diff --git a/Gemfile b/Gemfile
new file mode 100755
index 0000000..37f5eaa
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'github-pages', group: :jekyll_plugins
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..752d14e
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,218 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (4.2.9)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.11.1)
+    colorator (1.1.0)
+    ethon (0.10.1)
+      ffi (>= 1.3.0)
+    execjs (2.7.0)
+    faraday (0.13.1)
+      multipart-post (>= 1.2, < 3)
+    ffi (1.9.18)
+    forwardable-extended (2.6.0)
+    gemoji (3.0.0)
+    github-pages (162)
+      activesupport (= 4.2.9)
+      github-pages-health-check (= 1.3.5)
+      jekyll (= 3.5.2)
+      jekyll-avatar (= 0.5.0)
+      jekyll-coffeescript (= 1.0.2)
+      jekyll-default-layout (= 0.1.4)
+      jekyll-feed (= 0.9.2)
+      jekyll-gist (= 1.4.1)
+      jekyll-github-metadata (= 2.9.3)
+      jekyll-mentions (= 1.2.0)
+      jekyll-optional-front-matter (= 0.2.0)
+      jekyll-paginate (= 1.1.0)
+      jekyll-readme-index (= 0.1.0)
+      jekyll-redirect-from (= 0.12.1)
+      jekyll-relative-links (= 0.4.1)
+      jekyll-sass-converter (= 1.5.0)
+      jekyll-seo-tag (= 2.3.0)
+      jekyll-sitemap (= 1.1.1)
+      jekyll-swiss (= 0.4.0)
+      jekyll-theme-architect (= 0.1.0)
+      jekyll-theme-cayman (= 0.1.0)
+      jekyll-theme-dinky (= 0.1.0)
+      jekyll-theme-hacker (= 0.1.0)
+      jekyll-theme-leap-day (= 0.1.0)
+      jekyll-theme-merlot (= 0.1.0)
+      jekyll-theme-midnight (= 0.1.0)
+      jekyll-theme-minimal (= 0.1.0)
+      jekyll-theme-modernist (= 0.1.0)
+      jekyll-theme-primer (= 0.5.2)
+      jekyll-theme-slate (= 0.1.0)
+      jekyll-theme-tactile (= 0.1.0)
+      jekyll-theme-time-machine (= 0.1.0)
+      jekyll-titles-from-headings (= 0.4.0)
+      jemoji (= 0.8.1)
+      kramdown (= 1.13.2)
+      liquid (= 4.0.0)
+      listen (= 3.0.6)
+      mercenary (~> 0.3)
+      minima (= 2.1.1)
+      rouge (= 1.11.1)
+      terminal-table (~> 1.4)
+    github-pages-health-check (1.3.5)
+      addressable (~> 2.3)
+      net-dns (~> 0.8)
+      octokit (~> 4.0)
+      public_suffix (~> 2.0)
+      typhoeus (~> 0.7)
+    html-pipeline (2.7.1)
+      activesupport (>= 2)
+      nokogiri (>= 1.4)
+    i18n (0.8.6)
+    jekyll (3.5.2)
+      addressable (~> 2.4)
+      colorator (~> 1.0)
+      jekyll-sass-converter (~> 1.0)
+      jekyll-watch (~> 1.1)
+      kramdown (~> 1.3)
+      liquid (~> 4.0)
+      mercenary (~> 0.3.3)
+      pathutil (~> 0.9)
+      rouge (~> 1.7)
+      safe_yaml (~> 1.0)
+    jekyll-avatar (0.5.0)
+      jekyll (~> 3.0)
+    jekyll-coffeescript (1.0.2)
+      coffee-script (~> 2.2)
+      coffee-script-source (~> 1.11.1)
+    jekyll-default-layout (0.1.4)
+      jekyll (~> 3.0)
+    jekyll-feed (0.9.2)
+      jekyll (~> 3.3)
+    jekyll-gist (1.4.1)
+      octokit (~> 4.2)
+    jekyll-github-metadata (2.9.3)
+      jekyll (~> 3.1)
+      octokit (~> 4.0, != 4.4.0)
+    jekyll-mentions (1.2.0)
+      activesupport (~> 4.0)
+      html-pipeline (~> 2.3)
+      jekyll (~> 3.0)
+    jekyll-optional-front-matter (0.2.0)
+      jekyll (~> 3.0)
+    jekyll-paginate (1.1.0)
+    jekyll-readme-index (0.1.0)
+      jekyll (~> 3.0)
+    jekyll-redirect-from (0.12.1)
+      jekyll (~> 3.3)
+    jekyll-relative-links (0.4.1)
+      jekyll (~> 3.3)
+    jekyll-sass-converter (1.5.0)
+      sass (~> 3.4)
+    jekyll-seo-tag (2.3.0)
+      jekyll (~> 3.3)
+    jekyll-sitemap (1.1.1)
+      jekyll (~> 3.3)
+    jekyll-swiss (0.4.0)
+    jekyll-theme-architect (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-cayman (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-dinky (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-hacker (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-leap-day (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-merlot (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-midnight (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-minimal (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-modernist (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-primer (0.5.2)
+      jekyll (~> 3.5)
+      jekyll-github-metadata (~> 2.9)
+      jekyll-seo-tag (~> 2.2)
+    jekyll-theme-slate (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-tactile (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-time-machine (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-titles-from-headings (0.4.0)
+      jekyll (~> 3.3)
+    jekyll-watch (1.5.0)
+      listen (~> 3.0, < 3.1)
+    jemoji (0.8.1)
+      activesupport (~> 4.0, >= 4.2.9)
+      gemoji (~> 3.0)
+      html-pipeline (~> 2.2)
+      jekyll (>= 3.0)
+    kramdown (1.13.2)
+    liquid (4.0.0)
+    listen (3.0.6)
+      rb-fsevent (>= 0.9.3)
+      rb-inotify (>= 0.9.7)
+    mercenary (0.3.6)
+    mini_portile2 (2.3.0)
+    minima (2.1.1)
+      jekyll (~> 3.3)
+    minitest (5.10.3)
+    multipart-post (2.0.0)
+    net-dns (0.8.0)
+    nokogiri (1.8.1)
+      mini_portile2 (~> 2.3.0)
+    octokit (4.7.0)
+      sawyer (~> 0.8.0, >= 0.5.3)
+    pathutil (0.14.0)
+      forwardable-extended (~> 2.6)
+    public_suffix (2.0.5)
+    rb-fsevent (0.10.2)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
+    rouge (1.11.1)
+    safe_yaml (1.0.4)
+    sass (3.5.1)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    sawyer (0.8.1)
+      addressable (>= 2.3.5, < 2.6)
+      faraday (~> 0.8, < 1.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    thread_safe (0.3.6)
+    typhoeus (0.8.0)
+      ethon (>= 0.8.0)
+    tzinfo (1.2.3)
+      thread_safe (~> 0.1)
+    unicode-display_width (1.3.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  github-pages
+
+BUNDLED WITH
+   1.15.4
diff --git a/jekyll-index.html b/jekyll-index.html
deleted file mode 100644
index e1cc2cf..0000000
--- a/jekyll-index.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-  <title>Your awesome title</title>
-  <meta name="description" content="Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search resu...">
-
-  <link rel="stylesheet" href="/assets/main.css">
-  <link rel="canonical" href="http://localhost:4000/">
-  <link rel="alternate" type="application/rss+xml" title="Your awesome title" href="/feed.xml">
-  
-  
-</head>
-
-
-  <body>
-
-    <header class="site-header" role="banner">
-
-  <div class="wrapper">
-    
-    
-    <a class="site-title" href="/">Your awesome title</a>
-  
-    
-      <nav class="site-nav">
-        <input type="checkbox" id="nav-trigger" class="nav-trigger" />
-        <label for="nav-trigger">
-          <span class="menu-icon">
-            <svg viewBox="0 0 18 15" width="18px" height="15px">
-              <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
-              <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
-              <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
-            </svg>
-          </span>
-        </label>
-
-        <div class="trigger">
-          
-            
-            
-          
-            
-            
-            <a class="page-link" href="/about/">About</a>
-            
-          
-            
-            
-          
-            
-            
-          
-            
-            
-          
-        </div>
-      </nav>
-    
-  </div>
-</header>
-
-
-    <main class="page-content" aria-label="Content">
-      <div class="wrapper">
-        <div class="home">
-
-  <h1 class="page-heading">Posts</h1>
-  
-  
-
-
-  <ul class="post-list">
-    
-      <li>
-        
-        <span class="post-meta">Oct 3, 2017</span>
-
-        <h2>
-          <a class="post-link" href="/jekyll/update/2017/10/03/welcome-to-jekyll.html">Welcome to Jekyll!</a>
-        </h2>
-      </li>
-    
-  </ul>
-
-  <p class="rss-subscribe">subscribe <a href="/feed.xml">via RSS</a></p>
-
-</div>
-
-      </div>
-    </main>
-
-    <footer class="site-footer">
-
-  <div class="wrapper">
-
-    <h2 class="footer-heading">Your awesome title</h2>
-
-    <div class="footer-col-wrapper">
-      <div class="footer-col footer-col-1">
-        <ul class="contact-list">
-          <li>
-            
-              Your awesome title
-            
-            </li>
-            
-            <li><a href="mailto:your-email@example.com">your-email@example.com</a></li>
-            
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-2">
-        <ul class="social-media-list">
-          
-          <li>
-            <a href="https://github.com/jekyll"><span class="icon icon--github"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
-</span><span class="username">jekyll</span></a>
-
-          </li>
-          
-
-          
-          <li>
-            <a href="https://twitter.com/jekyllrb"><span class="icon icon--twitter"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
-</span><span class="username">jekyllrb</span></a>
-
-          </li>
-          
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-3">
-        <p>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
-</p>
-      </div>
-    </div>
-
-  </div>
-
-</footer>
-
-
-  </body>
-
-</html>
diff --git a/jekyll-source/.gitignore b/jekyll-source/.gitignore
new file mode 100644
index 0000000..67cb5ca
--- /dev/null
+++ b/jekyll-source/.gitignore
@@ -0,0 +1,6 @@
+_site/
+.sass-cache/
+.jekyll-metadata
+_pdf
+.DS_Store
+.idea
diff --git a/jekyll-source/.gitlab-ci.yml b/jekyll-source/.gitlab-ci.yml
new file mode 100644
index 0000000..7167efd
--- /dev/null
+++ b/jekyll-source/.gitlab-ci.yml
@@ -0,0 +1,26 @@
+image: ruby:2.3
+
+variables:
+  JEKYLL_ENV: production
+
+test:
+  stage: test
+  script:
+  - sh ./var/build.sh
+  - bundle exec jekyll build -d test
+  artifacts:
+    paths:
+    - test
+  except:
+  - master
+
+pages:
+  stage: deploy
+  script:
+  - sh ./var/build.sh
+  - bundle exec jekyll build -d public
+  artifacts:
+    paths:
+    - public
+  only:
+  - master
diff --git a/jekyll-source/.vscode/settings.json b/jekyll-source/.vscode/settings.json
new file mode 100644
index 0000000..5af001d
--- /dev/null
+++ b/jekyll-source/.vscode/settings.json
@@ -0,0 +1,6 @@
+// Place your settings in this file to overwrite default and user settings.
+{
+  "files.associations": {
+    "*.html": "liquid"
+  }
+}
diff --git a/jekyll-source/404.md b/jekyll-source/404.md
new file mode 100644
index 0000000..a7b58c0
--- /dev/null
+++ b/jekyll-source/404.md
@@ -0,0 +1,6 @@
+---
+title: "Page Not Found"
+search: exclude
+---  
+
+Sorry, but the page you were trying to view does not exist. Try searching for it or looking at the URL to see if it looks correct.
diff --git a/jekyll-source/Dockerfile b/jekyll-source/Dockerfile
new file mode 100644
index 0000000..0998d0e
--- /dev/null
+++ b/jekyll-source/Dockerfile
@@ -0,0 +1,25 @@
+FROM ruby:2.1
+MAINTAINER mrafayaleem@gmail.com
+
+RUN apt-get clean \
+  && mv /var/lib/apt/lists /var/lib/apt/lists.broke \
+  && mkdir -p /var/lib/apt/lists/partial
+
+RUN apt-get update
+
+RUN apt-get install -y \
+    node \
+    python-pygments \
+  && apt-get clean \
+  && rm -rf /var/lib/apt/lists/
+
+WORKDIR /tmp
+ADD Gemfile /tmp/
+ADD Gemfile.lock /tmp/
+RUN bundle install
+
+VOLUME /src
+EXPOSE 4000
+
+WORKDIR /src
+ENTRYPOINT ["jekyll", "serve", "-H", "0.0.0.0"]
\ No newline at end of file
diff --git a/jekyll-source/Gemfile b/jekyll-source/Gemfile
new file mode 100644
index 0000000..d2e1a45
--- /dev/null
+++ b/jekyll-source/Gemfile
@@ -0,0 +1,4 @@
+source "https://rubygems.org"
+
+gem 'github-pages', group: :jekyll_plugins
+gem 'wdm', '>= 0.1.0' if Gem.win_platform?
diff --git a/jekyll-source/Gemfile.lock b/jekyll-source/Gemfile.lock
new file mode 100644
index 0000000..e9ce72d
--- /dev/null
+++ b/jekyll-source/Gemfile.lock
@@ -0,0 +1,220 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (4.2.9)
+      i18n (~> 0.7)
+      minitest (~> 5.1)
+      thread_safe (~> 0.3, >= 0.3.4)
+      tzinfo (~> 1.1)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.11.1)
+    colorator (1.1.0)
+    concurrent-ruby (1.0.5)
+    ethon (0.11.0)
+      ffi (>= 1.3.0)
+    execjs (2.7.0)
+    faraday (0.13.1)
+      multipart-post (>= 1.2, < 3)
+    ffi (1.9.18)
+    forwardable-extended (2.6.0)
+    gemoji (3.0.0)
+    github-pages (167)
+      activesupport (= 4.2.9)
+      github-pages-health-check (= 1.3.5)
+      jekyll (= 3.6.2)
+      jekyll-avatar (= 0.5.0)
+      jekyll-coffeescript (= 1.0.2)
+      jekyll-default-layout (= 0.1.4)
+      jekyll-feed (= 0.9.2)
+      jekyll-gist (= 1.4.1)
+      jekyll-github-metadata (= 2.9.3)
+      jekyll-mentions (= 1.2.0)
+      jekyll-optional-front-matter (= 0.2.0)
+      jekyll-paginate (= 1.1.0)
+      jekyll-readme-index (= 0.1.0)
+      jekyll-redirect-from (= 0.12.1)
+      jekyll-relative-links (= 0.5.1)
+      jekyll-sass-converter (= 1.5.0)
+      jekyll-seo-tag (= 2.3.0)
+      jekyll-sitemap (= 1.1.1)
+      jekyll-swiss (= 0.4.0)
+      jekyll-theme-architect (= 0.1.0)
+      jekyll-theme-cayman (= 0.1.0)
+      jekyll-theme-dinky (= 0.1.0)
+      jekyll-theme-hacker (= 0.1.0)
+      jekyll-theme-leap-day (= 0.1.0)
+      jekyll-theme-merlot (= 0.1.0)
+      jekyll-theme-midnight (= 0.1.0)
+      jekyll-theme-minimal (= 0.1.0)
+      jekyll-theme-modernist (= 0.1.0)
+      jekyll-theme-primer (= 0.5.2)
+      jekyll-theme-slate (= 0.1.0)
+      jekyll-theme-tactile (= 0.1.0)
+      jekyll-theme-time-machine (= 0.1.0)
+      jekyll-titles-from-headings (= 0.4.0)
+      jemoji (= 0.8.1)
+      kramdown (= 1.14.0)
+      liquid (= 4.0.0)
+      listen (= 3.0.6)
+      mercenary (~> 0.3)
+      minima (= 2.1.1)
+      rouge (= 2.2.1)
+      terminal-table (~> 1.4)
+    github-pages-health-check (1.3.5)
+      addressable (~> 2.3)
+      net-dns (~> 0.8)
+      octokit (~> 4.0)
+      public_suffix (~> 2.0)
+      typhoeus (~> 0.7)
+    html-pipeline (2.7.1)
+      activesupport (>= 2)
+      nokogiri (>= 1.4)
+    i18n (0.9.0)
+      concurrent-ruby (~> 1.0)
+    jekyll (3.6.2)
+      addressable (~> 2.4)
+      colorator (~> 1.0)
+      jekyll-sass-converter (~> 1.0)
+      jekyll-watch (~> 1.1)
+      kramdown (~> 1.14)
+      liquid (~> 4.0)
+      mercenary (~> 0.3.3)
+      pathutil (~> 0.9)
+      rouge (>= 1.7, < 3)
+      safe_yaml (~> 1.0)
+    jekyll-avatar (0.5.0)
+      jekyll (~> 3.0)
+    jekyll-coffeescript (1.0.2)
+      coffee-script (~> 2.2)
+      coffee-script-source (~> 1.11.1)
+    jekyll-default-layout (0.1.4)
+      jekyll (~> 3.0)
+    jekyll-feed (0.9.2)
+      jekyll (~> 3.3)
+    jekyll-gist (1.4.1)
+      octokit (~> 4.2)
+    jekyll-github-metadata (2.9.3)
+      jekyll (~> 3.1)
+      octokit (~> 4.0, != 4.4.0)
+    jekyll-mentions (1.2.0)
+      activesupport (~> 4.0)
+      html-pipeline (~> 2.3)
+      jekyll (~> 3.0)
+    jekyll-optional-front-matter (0.2.0)
+      jekyll (~> 3.0)
+    jekyll-paginate (1.1.0)
+    jekyll-readme-index (0.1.0)
+      jekyll (~> 3.0)
+    jekyll-redirect-from (0.12.1)
+      jekyll (~> 3.3)
+    jekyll-relative-links (0.5.1)
+      jekyll (~> 3.3)
+    jekyll-sass-converter (1.5.0)
+      sass (~> 3.4)
+    jekyll-seo-tag (2.3.0)
+      jekyll (~> 3.3)
+    jekyll-sitemap (1.1.1)
+      jekyll (~> 3.3)
+    jekyll-swiss (0.4.0)
+    jekyll-theme-architect (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-cayman (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-dinky (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-hacker (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-leap-day (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-merlot (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-midnight (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-minimal (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-modernist (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-primer (0.5.2)
+      jekyll (~> 3.5)
+      jekyll-github-metadata (~> 2.9)
+      jekyll-seo-tag (~> 2.2)
+    jekyll-theme-slate (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-tactile (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-theme-time-machine (0.1.0)
+      jekyll (~> 3.5)
+      jekyll-seo-tag (~> 2.0)
+    jekyll-titles-from-headings (0.4.0)
+      jekyll (~> 3.3)
+    jekyll-watch (1.5.0)
+      listen (~> 3.0, < 3.1)
+    jemoji (0.8.1)
+      activesupport (~> 4.0, >= 4.2.9)
+      gemoji (~> 3.0)
+      html-pipeline (~> 2.2)
+      jekyll (>= 3.0)
+    kramdown (1.14.0)
+    liquid (4.0.0)
+    listen (3.0.6)
+      rb-fsevent (>= 0.9.3)
+      rb-inotify (>= 0.9.7)
+    mercenary (0.3.6)
+    mini_portile2 (2.3.0)
+    minima (2.1.1)
+      jekyll (~> 3.3)
+    minitest (5.10.3)
+    multipart-post (2.0.0)
+    net-dns (0.8.0)
+    nokogiri (1.8.1)
+      mini_portile2 (~> 2.3.0)
+    octokit (4.7.0)
+      sawyer (~> 0.8.0, >= 0.5.3)
+    pathutil (0.16.0)
+      forwardable-extended (~> 2.6)
+    public_suffix (2.0.5)
+    rb-fsevent (0.10.2)
+    rb-inotify (0.9.10)
+      ffi (>= 0.5.0, < 2)
+    rouge (2.2.1)
+    safe_yaml (1.0.4)
+    sass (3.5.3)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    sawyer (0.8.1)
+      addressable (>= 2.3.5, < 2.6)
+      faraday (~> 0.8, < 1.0)
+    terminal-table (1.8.0)
+      unicode-display_width (~> 1.1, >= 1.1.1)
+    thread_safe (0.3.6)
+    typhoeus (0.8.0)
+      ethon (>= 0.8.0)
+    tzinfo (1.2.4)
+      thread_safe (~> 0.1)
+    unicode-display_width (1.3.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  github-pages
+
+BUNDLED WITH
+   1.15.1
diff --git a/jekyll-source/_config.yml b/jekyll-source/_config.yml
new file mode 100644
index 0000000..ee1a7c1
--- /dev/null
+++ b/jekyll-source/_config.yml
@@ -0,0 +1,119 @@
+repository: tomjoht/documentation-theme-jekyll
+
+output: web
+# this property is useful for conditional filtering of content that is separate from the PDF.
+
+topnav_title: Gerrit Code Review
+# this appears on the top navigation bar next to the home button
+
+site_title: Gerrit Code Review
+# this appears in the html browser tab for the site title (seen mostly by search engines, not users)
+
+company_name: Gerrit
+# this appears in the footer
+
+#github_editme_path: tomjoht/documentation-theme-jekyll/blob/gh-pages/
+# if you're using Github, provide the basepath to the branch you've created for reviews, following the sample here. if not, leave this value blank.
+
+# gitlab_editme_path: tomjoht/documentation-theme-jekyll/blob/gh-pages/
+# if you're using GitLab, provide the basepath to the branch you've created for reviews, following the sample here. if not, leave this value blank.
+
+disqus_shortname:
+# if you're using disqus for comments, add the shortname here. if not, leave this value blank.
+
+google_analytics: 
+# if you have google-analytics ID, put it in. if not, edit this value to blank.
+
+host: 127.0.0.1
+# the preview server used. Leave as is.
+
+port: 4000
+# the port where the preview is rendered. You can leave this as is unless you have other Jekyll builds using this same port that might cause conflicts. in that case, use another port such as 4006.
+
+exclude:
+  - .idea/
+  - .gitignore
+# these are the files and directories that jekyll will exclude from the build
+
+feedback_subject_line: Gerrit Code Review Feedback
+
+feedback_email: repo-discuss@googlegroups.com
+# used as a contact email for the Feedback link in the top navigation bar
+
+# feedback_disable: true
+# if you uncomment the previous line, the Feedback link gets removed
+
+# feedback_text: "Need help?"
+# if you uncomment the previous line, it changes the Feedback text
+
+# feedback_link: "http://helpy.io/"
+# if you uncomment the previous line, it changes where the feedback link points to
+
+highlighter: rouge
+# library used for syntax highlighting
+
+markdown: kramdown
+kramdown:
+ input: GFM
+ auto_ids: true
+ hard_wrap: false
+ syntax_highlighter: rouge
+
+# filter used to process markdown. note that kramdown differs from github-flavored markdown in some subtle ways
+
+collections:
+  tooltips:
+    output: false
+# collections are declared here. this renders the content in _tooltips and processes it, but doesn't output it as actual files in the output unless you change output to true
+
+defaults:
+  -
+    scope:
+      path: ""
+      type: "pages"
+    values:
+      layout: "page"
+      comments: false
+      search: true
+      sidebar: gerritdoc_sidebar
+      topnav: topnav
+  -
+    scope:
+      path: ""
+      type: "tooltips"
+    values:
+      layout: "page"
+      comments: false
+      search: true
+      tooltip: true
+
+  -
+    scope:
+      path: ""
+      type: "posts"
+    values:
+      layout: "post"
+      comments: false
+      search: true
+      sidebar: home_sidebar
+      topnav: topnav
+
+# these are defaults used for the frontmatter for these file types
+
+sidebars:
+- home_sidebar
+- mydoc_sidebar
+- product1_sidebar
+- product2_sidebar
+- other
+- gerritdoc_sidebar
+- cmd_sidebar
+- errors_sidebar
+- restapi_sidebar
+
+description: "The definitive source for all things related to Gerrit Code
+Review."
+# the description is used in the feed.xml file
+
+# needed for sitemap.xml file only
+url: http://www.gerritcodereview.com
diff --git a/jekyll-source/_data/alerts.yml b/jekyll-source/_data/alerts.yml
new file mode 100644
index 0000000..157e162
--- /dev/null
+++ b/jekyll-source/_data/alerts.yml
@@ -0,0 +1,15 @@
+tip: '<div class="alert alert-success" role="alert"><i class="fa fa-check-square-o"></i> <b>Tip: </b>'
+note: '<div class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note: </b>'
+important: '<div class="alert alert-warning" role="alert"><i class="fa fa-warning"></i> <b>Important: </b>'
+warning: '<div class="alert alert-danger" role="alert"><i class="fa fa-exclamation-circle"></i> <b>Warning: </b>'
+end: '</div>'
+
+callout_danger: '<div class="bs-callout bs-callout-danger">'
+callout_default: '<div class="bs-callout bs-callout-default">'
+callout_primary: '<div class="bs-callout bs-callout-primary">'
+callout_success: '<div class="bs-callout bs-callout-success">'
+callout_info: '<div class="bs-callout bs-callout-info">'
+callout_warning: '<div class="bs-callout bs-callout-warning">'
+
+hr_faded: '<hr class="faded"/>'
+hr_shaded: '<hr class="shaded"/>'
\ No newline at end of file
diff --git a/jekyll-source/_data/definitions.yml b/jekyll-source/_data/definitions.yml
new file mode 100644
index 0000000..0da85d3
--- /dev/null
+++ b/jekyll-source/_data/definitions.yml
@@ -0,0 +1,9 @@
+elephant: "This is a sample definition."
+
+baseball: "Baseball is considered America's pasttime sport, though that may be more of a historical term than a current one. There's a lot more excitement about football than baseball. A baseball game is somewhat of a snooze to watch, for the most part."
+
+basketball: "Basketball is a sport involving two teams of five players each competing to put a ball through a small circular rim 10 feet above the ground. Basketball requires players to be in top physical condition, since they spend most of the game running back and forth along a 94-foot-long floor."
+
+football: "No doubt the most fun sport to watch, football also manages to accrue the most injuries with the players. From concussions to blown knees, football players have short sport lives."
+
+soccer: "If there's one sport that dominates the world landscape, it's soccer. However, US soccer fans are few and far between. Apart from the popularity of soccer during the World Cup, most people don't even know the name of the professional soccer organization in their area."
\ No newline at end of file
diff --git a/jekyll-source/_data/glossary.yml b/jekyll-source/_data/glossary.yml
new file mode 100644
index 0000000..e953fe7
--- /dev/null
+++ b/jekyll-source/_data/glossary.yml
@@ -0,0 +1,11 @@
+jekyll_platform: "Jekyll is a static site generator that builds sites using most modern web technologies."
+
+fractious: "Like a little mischevious child, full of annoying and constant trouble."
+
+gratuitous: "Something that is unwarranted and uncouth, like the social equivalent of a flagrant foul."
+
+haughty: "Proud and flaunting it. Holding your head high up like a snooty, too-good-for-everything rich person."
+
+impertinent: "Someone acting rude and insensitive to others."
+
+intrepid: "Brave and courageous especially in a difficult, dangerous situation."
\ No newline at end of file
diff --git a/jekyll-source/_data/samplelist.yml b/jekyll-source/_data/samplelist.yml
new file mode 100644
index 0000000..453e928
--- /dev/null
+++ b/jekyll-source/_data/samplelist.yml
@@ -0,0 +1,107 @@
+entries:
+- title: Sidebar
+  folders:
+  - title: Food
+
+    folderitems:
+    - title: Bananas
+      url: bananas.html
+
+      subfolder:
+      - title: Apples
+
+        subfolderitems:
+        - title:  Fuji apples
+          url: fuji_apples.html
+
+
+        - title: Gala apples
+          url: gala_apples.html
+
+name:
+  husband: Tom
+  wife: Shannon
+
+bikes:
+  - title: mountain bikes
+  - title: road bikes
+  - title: hybrid bikes
+
+
+salesteams:
+  - title: Regions
+    subfolderitems:
+      - location: US
+      - location: Spain
+      - location: France
+
+toc:
+  - title: Group 1
+    subfolderitems:
+      - page: Thing 1
+      - page: Thing 2
+      - page: Thing 3
+  - title: Group 2
+    subfolderitems:
+      - page: Piece 1
+      - page: Piece 2
+      - page: Piece 3
+  - title: Group 3
+    subfolderitems:
+      - page: Widget 1
+      - page: Widget 2
+      - page: Widget 3
+
+something: &hello Greetings earthling!
+myref: *hello
+
+about:
+ - zero
+ - one
+ - two
+ - three 
+
+numbercolors:
+ - zero:
+   properties: red
+ - one:
+   properties: yellow
+ - two: 
+   properties: green
+ - three:
+   properties: blue
+
+mypages:
+- section1: Section 1
+  audience: developers
+  product: acme
+  url: facebook.com
+- section2: Section 2
+  audience: writers
+  product: acme
+  url: google.com
+- section3: Section 3
+  audience: developers
+  product: acme
+  url: amazon.com
+- section4: Section 4
+  audience: writers
+  product: gizmo
+  url: apple.com
+- section5: Section 5
+  audience: writers
+  product: acme
+  url: microsoft.com
+
+feedback: > 
+  This is my feedback to you.
+  Even if I include linebreaks here,
+  all of the linebreaks will be removed when the value is inserted.
+    
+block: |
+    This pipe does something a little different. 
+    It preserves the breaks.
+    This is really helpful for code samples, 
+    since you can format the code samples with
+       the appropriate
+       white spacing.
\ No newline at end of file
diff --git a/jekyll-source/_data/sidebars/cmd_sidebar.yml b/jekyll-source/_data/sidebars/cmd_sidebar.yml
new file mode 100644
index 0000000..5922851
--- /dev/null
+++ b/jekyll-source/_data/sidebars/cmd_sidebar.yml
@@ -0,0 +1,176 @@
+entries:
+- title: Sidebar
+  product: Gerrit Documentation
+  version: 2.15(ish)
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: "Command-line Reference"
+    output: web
+    folderitems:
+
+    - title: Overview
+      url: /cmd-index.html
+      output: web
+    - title: gerrit-cherry-pick
+      url: /cmd-cherry-pick.html
+      output: web
+    - title: commit-msg Hook
+      url: /cmd-hook-commit-msg.html
+      output: web
+    - title: gerrit apropos
+      url: /cmd-apropos.html
+      output: web
+    - title: gerrit ban-commit
+      utl: /cmd-ban-commit.html
+      output: web
+    - title: gerrit create-branch
+      url: /cmd-create-branch.html
+      output: web
+    - title: gerrit ls-groups
+      url: /cmd-ls-groups.html
+      output: web
+    - title: gerrit ls-members
+      url: /cmd-ls-members.html
+      output: web
+    - title: gerrit ls-projects
+      url: /cmd-ls-projects.html
+      output: web
+    - title: gerrit query
+      url: /cmd-query.html
+      output: web
+    - title: gerrit rename-group
+      url: /cmd-rename-group.html
+      output: web
+    - title: gerrit review
+      url: /cmd-review.html
+      output: web
+    - title: gerrit set-head
+      url: /cmd-set-head.html
+      output: web
+    - title: gerrit set-project
+      url: /cmd-set-project.html
+      output: web
+    - title: gerrit set-reviewers
+      url: /cmd-set-reviewers.html
+      output: web
+    - title: gerrit stream-events
+      url: /cmd-stream-events.html
+      output: web
+    - title: gerrit version
+      url: /cmd-version.html
+      output: web
+    - title: git receive-pack
+      url: /cmd-receive-pack.html
+      output: web
+    - title: gerrit close-connection
+      url: /cmd-close-connection.html
+      output: web
+    - title: gerrit create-account
+      url: /cmd-create-account.html
+      output: web
+    - title: gerrit create-group
+      url: /cmd-create-group.html
+      output: web
+    - title: gerrit create-project
+      url: /cmd-create-project.html
+      output: web
+    - title: gerrit flush-caches
+      url: /cmd-flush-caches.html
+      output: web
+    - title: gerrit gc
+      url: /cmd-gc.html
+      output: web
+    - title: gerrit gsql
+      url: /cmd-gsql.html
+      output: web
+    - title: gerrit index activate
+      url: /cmd-index-activate.html
+      output: web
+    - title: gerrit index start
+      url: /cmd-index-start.html
+      output: web
+    - title: gerrit index changes
+      url: /cmd-index-changes.html
+      output: web
+    - title: gerrit index project
+      url: /cmd-index-project.html
+      output: web
+    - title: gerrit logging ls-level
+      url: /cmd-logging-ls-level.html
+      output: web
+    - title: gerrit logging set-level
+      url: /cmd-logging-set-level.html
+      output: web
+    - title: gerrit ls-user-refs
+      url: /cmd-ls-user-refs.html
+      output: web
+    - title: gerrit plugin add
+      url: /cmd-plugin-install.html
+      output: web
+    - title: gerrit plugin enable
+      url: /cmd-plugin-enable.html
+      output: web
+    - title: gerrit plugin install
+      url: /cmd-plugin-install.html
+      output: web
+    - title: gerrit plugin ls
+      url: /cmd-plugin-ls.html
+      output: web
+    - title: gerrit plugin reload
+      url: /cmd-plugin-reload.html
+      output: web
+    - title: gerrit plugin remove
+      url: /cmd-plugin-remove.html
+      output: web
+    - title: gerrit plugin rm
+      url: /cmd-pluging-rm.html
+      output: web
+    - title: gerrit set-account
+      url: /cmd-set-account.html
+      output: web
+    - title: gerrit set-members
+      url: /cmd-set-members.html
+      output: web
+    - title: gerrit set-project-parent
+      url: /cmd-set-project-parent.html
+      output: web
+    - title: gerrit show-caches
+      url: /cmd-show-caches.html
+      output: web
+    - title: gerrit show-connections
+      url: /cmd-show-connections.html
+      output: web
+    - title: gerrit show-queue
+      url: /cmd-show-queue.html
+      output: web
+    - title: gerrit test-submit rule
+      url: /cmd-test-submit-rule.html
+      output: web
+    - title: gerrit test-submit type
+      url: /cmd-test-submit-type.thml
+      output: web
+    - title: kill
+      url: /cmd-kill.html
+      output: web
+    - title: ps
+      url: /cmd-show-queue.html
+      output: web
+    - title: suexec
+      url: /cmd-suexec.html
+      output: web
+
+
diff --git a/jekyll-source/_data/sidebars/errors_sidebar.yml b/jekyll-source/_data/sidebars/errors_sidebar.yml
new file mode 100644
index 0000000..3924f40
--- /dev/null
+++ b/jekyll-source/_data/sidebars/errors_sidebar.yml
@@ -0,0 +1,115 @@
+entries:
+- title: Sidebar
+  product: Gerrit Documentation
+  version: 2.15(ish)
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: "Error Messages"
+    output: web
+    folderitems:
+
+    - title: Error Messages
+      url: /error-messages.html
+      output: web
+    - title: branch not found
+      url: /error-branch-not-found.html
+      output: web
+    - title: change closed
+      url: /error-change-closed.html
+      output: web
+    - title: change does not belong to project
+      url: /error-change-does-not-belong-to-project.html
+      output: web
+    - title: change not found
+      url: /error-change-not-found.html
+      output: web
+    - title: commit already exists
+      url: /error-commit-already-exists.html
+      output: web
+    - title: contains banned commit
+      url: /error-contains-banned-commit.html
+      output: web
+    - title: has duplicates
+      url: /error-has-duplicates.html
+      output: web
+    - title: invalid author
+      url: /error-invalid-author.html
+      output: web
+    - title: invalid Change-Id line format in commit footer
+      url: /error-invalid-changid-line.html
+      output: web
+    - title: invalid committer
+      url: /error-invalid-committer.html
+      output: web
+    - title: missing Change-Id in commit message footer
+      url: /error-missing-changeid.html
+      output: web
+    - title: missing subject Change-Id must be in commit message footer
+      url: /error-missing-subject.html
+      output: web
+    - title: multiple Change-Id lines in commit message footer
+      url: /error-multiple-changeid-lines.html
+      output: web
+    - title: no common ancestry
+      url: /error-no-common-ancestry.html
+      output: web
+    - title: no new changes
+      url: /error-no-new-changes.html
+      output: web
+    - title: non-fast forward
+      url: /error-non-fast-forward.html
+      output: web
+    - title: not a Gerrit administrator
+      url: /error-not-a-gerrit-administrator.html
+      output: web
+    - title: not permitted to create
+      url: /error-not-permitted-to-create.html
+      output: web
+    - title: not signed-off-by
+      url: /error-not-signed-off-by.html
+      output: web
+    - title: not valid ref
+      url: /error-not-valid-ref.html
+      output: web
+    - title: one or more ref names block change upload
+      url: /error-change-upload-blocked.html
+      output: web
+    - title: permission denied
+      url: /error-permission-denied.html
+      output: web
+    - title: prohibited by Gerrit
+      url: /error-prohibited-by-gerrit.html
+      output: web
+    - title: project not found
+      url: /error-project-not-found.html
+      output: web
+    - title: same change-id in multiple changes
+      url: /error-same-change-id-in-multiple-changes.html
+      output: web
+    - title: too many commits
+      url: /error-too-many-commits.html
+      output: web
+    - title: upload denied for project
+      url: /error-upload-denied.html
+      output: web
+    - title: you are not allowed to upload merges
+      url: /error-not-allowed-upload-merges.html
+      output: web
+    - title: push fails due to commit message
+      url: /error-push-fails-due-to-commit-message.html
+      output: web
+
diff --git a/jekyll-source/_data/sidebars/gerritdoc_sidebar.yml b/jekyll-source/_data/sidebars/gerritdoc_sidebar.yml
new file mode 100644
index 0000000..2a64824
--- /dev/null
+++ b/jekyll-source/_data/sidebars/gerritdoc_sidebar.yml
@@ -0,0 +1,315 @@
+entries:
+- title: Sidebar
+  product: Gerrit Documentation
+  version: 2.15(ish)
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: "Quickstarts"
+    output: web
+    folderitems:
+
+    - title: Quickstart for Installing Gerrit on Linux
+      url: /linux-quickstart.html
+      output: web
+
+  - title: "About Gerrit"
+    output: web
+    folderitems:
+
+    - title: Product Overview
+      url: /intro-quick.html
+      output: web
+
+    - title: How Gerrit Works
+      url: /intro-how-gerrit-works.html
+      output: web
+
+    - title: Basic Gerrit Walkthrough
+      url: /intro-gerrit-walkthrough.html
+      output: web
+
+  - title: "Tutorials"
+    output: web
+    folderitems:
+
+    - title: All Tutorials
+      url: /tutorial-index.html
+      output: web
+
+    - title: Reviewing Changes
+      url: /user-review-ui.html
+      output: web
+
+    - title: Searching Changes
+      url: /user-search.html
+      output: web
+
+    - title: Manipulating Changes in Browser
+      url: /user-inline-edit.html
+      output: web
+
+    - title: Subscribing to Email Notifications
+      url: /user-notify.html
+      output: web
+
+    - title: Uploading Changes
+      url: /user-upload.html
+      output: web
+
+    - title: Change-Id Lines
+      url: /user-changeid.html
+      output: web
+
+    - title: Signed-off-by Lines
+      url: /user-signedoffby.html
+      output: web
+
+    - title: Change Cleanup
+      url: /user-change-cleanup.html
+      output: web
+
+  - title: "Project Management"
+    output: web
+    folderitems:
+
+    - title: Project Configuration
+      url: /project-configuration.html
+      output: web
+
+    - title: Review Labels
+      url: /config-labels.html
+      output: web
+
+    - title: Project Configuration File Format
+      url: /config-project-config.html
+      output: web
+
+    - title: Access Controls
+      url: /access-control.html
+      output: web
+
+    - title: Submodules
+      url: /user-submodules.html
+      output: web
+
+    - title: Repo
+      external_url: https://source.android.com/source/using-repo.html
+      output: web
+
+    - title: Prolog Cookbook
+      url: /prolog-cookbook.html
+      output: web
+
+    - title: Prolog Facts for Gerrit Changes
+      url: /prolog-change-facts.html
+      output: web
+
+    - title: Project deletion
+      url: /intro-project-owner.html#project-deletion
+      output: web
+
+  - title: "Customization and Integration"
+    output: web
+    folderitems:
+
+    - title: Dashboards
+      url: /user-dashboards.html
+      output: web
+
+    - title: Gitweb Integration
+      url: /config-gitweb.html
+      output: web
+
+    - title: Themes
+      url: /config-themes.html
+      output: web
+
+    - title: Single Sign-On Systems
+      url: /config-sso.html
+      output: web
+
+    - title: Hooks
+      url: /config-hooks.html
+      output: web
+
+    - title: Mail Templates
+      url: /config-mail.html
+      output: web
+
+    - title: Contributor Agreements
+      url: /config-cla.html
+      output: web
+
+    - title: Robot Comments
+      url: /config-robot-comments.html
+      output: web
+
+  - title: "Server Administration"
+    output: web
+    folderitems:
+
+    - title: Installation Guide
+      url: /install.html
+      output: web
+
+    - title: System Settings
+      url: /config-gerrit.html
+      output: web
+
+    - title: Command Line Tools
+      url: /cmd-index.html
+      output: web
+
+    - title: Replication
+      url: /config-plugins.html#replication
+      output: web
+
+    - title: Plugins
+      url: /config-plugins.html
+      output: web
+
+    - title: Metrics
+      url: /metrics.html
+      output: web
+
+    - title: Reverse Proxy
+      url: /config-reverseproxy.html
+      output: web
+
+    - title: Automatic Site Initialization on Startup
+      url: /config-auto-site-initialization.html
+      output: web
+
+    - title: Server Side Administrative Tools
+      url: /pgm-index.html
+      output: web
+
+    - title: NoteDb
+      url: /note-db.html
+      output: web
+
+    - title: Accounts
+      url: /config-accounts.html
+      output: web
+
+  - title: "Developer"
+    output: web
+    folderitems:
+
+    - title: Developer Setup
+      url: /dev-readme.html
+      output: web
+
+    - title: Building with Bazel
+      url: /dev-bazel.html
+      output: web
+
+    - title: Eclipse Setup
+      url: /dev-eclipse.html
+      output: web
+
+    - title: IntelliJ Setup
+      url: /dev-intellij.html
+      output: web
+
+    - title: Contributing to Gerrit
+      url: /dev-contributing.html
+      output: web
+
+    - title: Developing Plugins
+      url: /dev-plugins.html
+      output: web
+
+    - title: Building Gerrit plugins
+      url: /dev-build-plugins.html
+      output: web
+
+    - title: JavaScript Plugin API
+      url: /js-api.html
+      output: web
+
+    - title: Validation Interfaces
+      url: /config-validation.html
+      output: web
+
+    - title: Starring Changes
+      url: /dev-stars.html
+      output: web
+
+    - title: System Design
+      url: /dev-design.html
+      output: web
+
+    - title: i18n Support
+      url: /i18n-readme.html
+      output: web
+
+  - title: "Reference"
+    output: web
+    folderitems:
+
+    - title: Command-line Reference
+      url: /cmd-index.html
+      output: web
+
+    - title: REST API Reference
+      url: /rest-api.html
+      output: web
+
+    - title: Error Messages
+      url: /error-messages.html
+      output: web
+
+  - title: "Maintainer"
+    output: web
+    folderitems:
+
+    - title: Making a Gerrit Release
+      url: /dev-release.html
+      output: web
+
+    - title: Making a Release of a Gerrit Subproject
+      url: /dev-release-subproject.html
+      output: web
+
+    - title: Making a Release of JGit
+      url: /dev-release-jgit.html
+      output: web
+
+  - title: "Concepts"
+    output: web
+    folderitems:
+
+    - title: Review Labels
+      url: /config-labels.html
+      output: web
+
+    - title: Access Controls
+      url: /access-control.html
+      output: web
+
+    - title: Changes
+      url: /concept-changes.html
+      output: web
+
+    - title: The refs/for Namespace
+      url: /concept-refs-for-namespace.html
+      output: web
+
+    - title: Patch Sets
+      url: /concept-patch-sets.html
+      output: web
diff --git a/jekyll-source/_data/sidebars/home_sidebar.yml b/jekyll-source/_data/sidebars/home_sidebar.yml
new file mode 100644
index 0000000..fbf43d5
--- /dev/null
+++ b/jekyll-source/_data/sidebars/home_sidebar.yml
@@ -0,0 +1,22 @@
+# This is your sidebar TOC. The sidebar code loops through sections here and provides the appropriate formatting.
+
+entries:
+- title: Sidebar
+  levels: one
+  folders:
+
+  - title: Products
+    output: web
+    folderitems:
+    - title: News
+      url: /news.html
+      output: web
+    - title: Theme instructions
+      url: /mydoc_introduction.html
+      output: web
+    - title: Product 1
+      url: /p1_landing_page.html
+      output: web
+    - title: Product 2
+      url: /p2_landing_page.html
+      output: web
diff --git a/jekyll-source/_data/sidebars/mydoc_sidebar.yml b/jekyll-source/_data/sidebars/mydoc_sidebar.yml
new file mode 100644
index 0000000..1c54e28
--- /dev/null
+++ b/jekyll-source/_data/sidebars/mydoc_sidebar.yml
@@ -0,0 +1,299 @@
+# This is your sidebar TOC. The sidebar code loops through sections here and provides the appropriate formatting.
+
+entries:
+- title: sidebar
+  product: Jekyll Doc Theme
+  version: 6.0
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: Overview
+    output: web, pdf
+    folderitems:
+
+    - title: Get started
+      url: /index.html
+      output: web, pdf
+      type: homepage
+
+    - title: Introduction
+      url: /mydoc_introduction.html
+      output: web, pdf
+
+    - title: Supported features
+      url: /mydoc_supported_features.html
+      output: web, pdf
+
+    - title: About the theme author
+      url: /mydoc_about.html
+      output: web, pdf
+
+    - title: Support
+      url: /mydoc_support.html
+      output: web, pdf
+
+  - title: Release Notes
+    output: web, pdf
+    folderitems:
+
+    - title: 6.0 Release notes
+      url: /mydoc_release_notes_60.html
+      output: web, pdf
+
+    - title: 5.0 Release notes
+      url: /mydoc_release_notes_50.html
+      output: web, pdf
+
+  - title: Installation
+    output: web, pdf
+    folderitems:
+
+    - title: About Ruby, Gems, Bundler, etc.
+      url: /mydoc_about_ruby_gems_etc.html
+      output: web, pdf
+
+    - title: Install Jekyll on Mac
+      url: /mydoc_install_jekyll_on_mac.html
+      output: web, pdf
+
+    - title: Install Jekyll on Windows
+      url: /mydoc_install_jekyll_on_windows.html
+      output: web, pdf
+
+  - title: Authoring
+    output: web, pdf
+
+    folderitems:
+    - title: Pages
+      url: /mydoc_pages.html
+      output: web, pdf
+
+    - title: Posts
+      url: /mydoc_posts.html
+      output: web, pdf
+
+    - title: Lists
+      url: /mydoc_lists.html
+      output: web, pdf
+
+    - title: Conditional logic
+      url: /mydoc_conditional_logic.html
+      output: web, pdf
+
+    - title: Content reuse
+      url: /mydoc_content_reuse.html
+      output: web, pdf
+
+    - title: Collections
+      url: /mydoc_collections.html
+      output: web, pdf
+
+    - title: WebStorm editor tips
+      url: /mydoc_webstorm_text_editor.html
+      output: web, pdf
+
+    - title: Atom editor tips
+      url: /mydoc_atom_text_editor.html
+      output: web, pdf
+
+  - title: Navigation
+    output: web, pdf
+
+    folderitems:
+    - title: Sidebar navigation
+      url: /mydoc_sidebar_navigation.html
+      output: web, pdf
+
+    - title: YAML tutorial in the context of Jekyll
+      url: /mydoc_yaml_tutorial.html
+      output: web, pdf
+
+    - title: Tags
+      url: /mydoc_tags.html
+      output: web, pdf
+
+    - title: Series
+      url: /mydoc_series.html
+      output: web, pdf
+
+  - title: Formatting
+    output: web, pdf
+
+    folderitems:
+    - title: Tooltips
+      url: /mydoc_adding_tooltips.html
+      output: web, pdf
+
+    - title: Alerts
+      url: /mydoc_alerts.html
+      output: web, pdf
+
+    - title: Icons
+      url: /mydoc_icons.html
+      output: web, pdf
+
+    - title: Images
+      url: /mydoc_images.html
+      output: web, pdf
+
+    - title: Code samples
+      url: /mydoc_code_samples.html
+      output: web, pdf
+
+    - title: Labels
+      url: /mydoc_labels.html
+      output: web, pdf
+
+    - title: Links
+      url: /mydoc_hyperlinks.html
+      output: web, pdf
+
+    - title: Navtabs
+      url: /mydoc_navtabs.html
+      output: web, pdf
+
+    - title: Tables
+      url: /mydoc_tables.html
+      output: web, pdf
+
+    - title: Syntax highlighting
+      url: /mydoc_syntax_highlighting.html
+      output: web, pdf
+
+    - title: Workflow maps
+      url: /mydoc_workflow_maps.html
+      output: web, pdf
+
+  - title: Handling reviews
+    output: web, pdf
+
+    folderitems:
+    - title: Commenting on files
+      url: /mydoc_commenting_on_files.html
+      output: web, pdf
+
+#    - title: Git collaboration
+#      url: /mydoc_git_collaboration
+#      output: web, pdf
+
+  - title: Publishing
+    output: web, pdf
+
+    folderitems:
+    - title: Build arguments
+      url: /mydoc_build_arguments.html
+      output: web, pdf
+
+    - title: Themes
+      url: /mydoc_themes.html
+      output: web, pdf
+
+    - title: Generating PDFs
+      url: /mydoc_generating_pdfs.html
+      output: web, pdf
+
+    - title: Help APIs and UI tooltips
+      url: /mydoc_help_api.html
+      output: web, pdf
+
+    - title: Search configuration
+      url: /mydoc_search_configuration.html
+      output: web, pdf
+
+    - title: iTerm profiles
+      url: /mydoc_iterm_profiles.html
+      output: web, pdf
+
+    - title: Pushing builds to server
+      url: /mydoc_push_build_to_server.html
+      output: web, pdf
+
+    - title: Getting around the password prompts in SCP
+      url: /mydoc_no_password_prompts_scp.html
+      output: web, pdf
+
+    - title: Publishing on Github Pages
+      url: /mydoc_publishing_github_pages.html
+      output: web, pdf
+
+  - title: Special layouts
+    output: web, pdf
+
+    folderitems:
+    - title: Knowledge-base layout
+      url: /mydoc_kb_layout.html
+      output: web, pdf
+
+    - title: Glossary layout
+      url: /mydoc_glossary.html
+      output: web, pdf
+
+    - title: FAQ layout
+      url: /mydoc_faq_layout.html
+      output: web, pdf
+
+    - title: Shuffle layout
+      url: /mydoc_shuffle.html
+      output: web, pdf
+
+  - title: Troubleshooting
+    output: web, pdf
+
+    folderitems:
+
+    - title: Troubleshooting
+      url: /mydoc_troubleshooting.html
+      output: web, pdf
+
+  - title: Tag archives
+    output: web
+    folderitems:
+
+    - title: Tag archives overview
+      url: /mydoc_tag_archives_overview.html
+      output: web
+
+      subfolders:
+      - title: Tag archive pages
+        output: web
+        subfolderitems:
+
+        - title: Formatting pages
+          url: /tag_formatting.html
+          output: web
+
+        - title: Navigation pages
+          url: /tag_navigation.html
+          output: web
+
+        - title: Content types pages
+          url: /tag_content_types.html
+          output: web
+
+        - title: Publishing pages
+          url: /tag_publishing.html
+          output: web
+
+        - title: Special layout pages
+          url: /tag_special_layouts.html
+          output: web
+
+        - title: Collaboration pages
+          url: /tag_collaboration.html
+          output: web
+
+        - title: Troubleshooting pages
+          url: /tag_troubleshooting.html
+          output: web
diff --git a/jekyll-source/_data/sidebars/other.yml b/jekyll-source/_data/sidebars/other.yml
new file mode 100644
index 0000000..4be86f0
--- /dev/null
+++ b/jekyll-source/_data/sidebars/other.yml
@@ -0,0 +1,18 @@
+
+# Follow the pattern here for the URLs -- no slash at the beginning, and include the .html. The link here is rendered exactly as is in the Markdown references.
+
+entries:
+- title: other
+  folders:
+
+  - title: Other Links
+    folderitems:
+
+    - title: Automated links bookmark
+      url: /mydoc_hyperlinks.html#automatedlinks
+
+    - title: Bookmark links
+      url: /mydoc_hyperlinks.html#bookmarklinks
+
+    - title: Some link bookmark
+      url: /mydoc_pages.html#someIdTag
diff --git a/jekyll-source/_data/sidebars/product1_sidebar.yml b/jekyll-source/_data/sidebars/product1_sidebar.yml
new file mode 100644
index 0000000..4a04389
--- /dev/null
+++ b/jekyll-source/_data/sidebars/product1_sidebar.yml
@@ -0,0 +1,60 @@
+# This is your sidebar TOC. The sidebar code loops through sections here and provides the appropriate formatting.
+
+
+entries:
+- title: Sidebar
+  product: Product1
+  version: 1.0
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: Getting Started
+    output: web, pdf
+    folderitems:
+    - title: Product 1 home
+      url: /p1_landing_page.html
+      output: web
+
+    - title: Sample 1
+      url: /p1_sample1.html
+      output: web, pdf
+
+    - title: Sample 2
+      url: /p1_sample2.html
+      output: web, pdf
+
+    - title: Sample 3
+      url: /p1_sample3.html
+      output: web, pdf
+
+  - title: Another heading
+    output: web, pdf
+
+    folderitems:
+    - title: Sample 4
+      url: /p1_sample4.html
+      output: web, pdf
+
+    - title: Sample 5
+      url: /p1_sample5.html
+      output: web, pdf
+
+    - title: Sample 6
+      url: /p1_sample6.html
+      output: web, pdf
+
+    - title: Sample 7
+      url: /p1_sample7.html
+      output: web, pdf
diff --git a/jekyll-source/_data/sidebars/product2_sidebar.yml b/jekyll-source/_data/sidebars/product2_sidebar.yml
new file mode 100644
index 0000000..ca80dbb
--- /dev/null
+++ b/jekyll-source/_data/sidebars/product2_sidebar.yml
@@ -0,0 +1,92 @@
+# This is your sidebar TOC. The sidebar code loops through sections here and provides the appropriate formatting.
+
+entries:
+- title: Product2
+  product: Product2
+  version: 1.0
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: Introduction
+    output: web, pdf
+    folderitems:
+
+    - title: Overview
+      url: /p2_landing_page.html
+      output: web
+
+  - title: Simple Workflow
+    output: web, pdf
+    folderitems:
+
+    - title: Sample 1
+      url: /p2_sample1.html
+      output: web, pdf
+
+    - title: Sample 2
+      url: /p2_sample2.html
+      output: web, pdf
+
+    - title: Sample 3
+      url: /p2_sample3.html
+      output: web, pdf
+
+    - title: Sample 4
+      url: /p2_sample4.html
+      output: web, pdf
+
+    - title: Sample 5
+      url: /p2_sample5.html
+      output: web, pdf
+
+  - title: Complex Workflow
+    output: web, pdf
+    folderitems:
+
+    - title: Sample 6
+      url: /p2_sample6.html
+      output: web, pdf
+
+    - title: Sample 7
+      url: /p2_sample7.html
+      output: web, pdf
+
+    - title: Sample 8
+      url: /p2_sample8.html
+      output: web, pdf
+
+    - title: Sample 9
+      url: /p2_sample9.html
+      output: web, pdf
+
+    - title: Sample 10
+      url: /p2_sample10.html
+      output: web, pdf
+
+    - title: Sample 11
+      url: /p2_sample11.html
+      output: web, pdf
+
+    - title: Sample 12
+      url: /p2_sample12.html
+      output: web, pdf
+
+    - title: Sample 13
+      url: /p2_sample13.html
+      output: web, pdf
+
+    - title: Sample 14
+      url: /p2_sample14.html
+      output: web, pdf
diff --git a/jekyll-source/_data/sidebars/restapi_sidebar.yml b/jekyll-source/_data/sidebars/restapi_sidebar.yml
new file mode 100644
index 0000000..1e75805
--- /dev/null
+++ b/jekyll-source/_data/sidebars/restapi_sidebar.yml
@@ -0,0 +1,51 @@
+entries:
+- title: Sidebar
+  product: Gerrit Documentation
+  version: 2.15(ish)
+  folders:
+
+  - title:
+    output: pdf
+    type: frontmatter
+    folderitems:
+    - title:
+      url: /titlepage.html
+      output: pdf
+      type: frontmatter
+
+    - title:
+      url: /tocpage.html
+      output: pdf
+      type: frontmatter
+
+  - title: "REST API Reference"
+    output: web
+    folderitems:
+
+    - title: Overview
+      url: /rest-api.html
+      output: web
+    - title: access
+      url: /rest-api-access.html
+      output: web
+    - title: accounts
+      url: /rest-api-accounts.html
+      output: web
+    - title: changes
+      url: /rest-api-changes.html
+      output: web
+    - title: config
+      url: /rest-api-config.html
+      output: web
+    - title: groups
+      url: /rest-api-groups.html
+      output: web
+    - title: plugins
+      url: /rest-api-plugins.html
+      output: web
+    - title: projects
+      url: /rest-api-projects.html
+      output: web
+    - title: documentation
+      url: /rest-api-documentation.html
+      output: web
diff --git a/jekyll-source/_data/strings.yml b/jekyll-source/_data/strings.yml
new file mode 100644
index 0000000..d7c1392
--- /dev/null
+++ b/jekyll-source/_data/strings.yml
@@ -0,0 +1,5 @@
+
+
+# placed here for translation purposes
+search_placeholder_text: search...
+search_no_results_text: No results found.
diff --git a/jekyll-source/_data/tags.yml b/jekyll-source/_data/tags.yml
new file mode 100644
index 0000000..79d2545
--- /dev/null
+++ b/jekyll-source/_data/tags.yml
@@ -0,0 +1,15 @@
+# Note:
+# If you are using the createtag script, don't leave an blank line at the end of this file.
+# In other words, the last line must be the last tag in the allowed-tags list.
+allowed-tags:
+  - getting_started
+  - content_types
+  - navigation
+  - formatting
+  - publishing
+  - single_sourcing
+  - special_layouts
+  - collaboration
+  - news
+  - troubleshooting
+  - mobile
diff --git a/jekyll-source/_data/terms.yml b/jekyll-source/_data/terms.yml
new file mode 100644
index 0000000..1e91448
--- /dev/null
+++ b/jekyll-source/_data/terms.yml
@@ -0,0 +1 @@
+apple: "apple - the fruit of a disiduous tree."
\ No newline at end of file
diff --git a/jekyll-source/_data/topnav.yml b/jekyll-source/_data/topnav.yml
new file mode 100644
index 0000000..664cfde
--- /dev/null
+++ b/jekyll-source/_data/topnav.yml
@@ -0,0 +1,29 @@
+## Topnav single links
+## if you want to list an external url, use external_url instead of url. the theme will apply a different link base.
+topnav:
+- title: Topnav
+  items:
+    - title: About
+      external_url: https://www.gerritcodereview.com/about.md
+#Topnav dropdowns
+topnav_dropdowns:
+- title: Topnav dropdowns
+  folders:
+    - title: Code
+      folderitems:
+        - title: Source
+          external_url: https://gerrit.googlesource.com/gerrit/
+        - title: Releases
+          external_url: https://www.gerritcodereview.com/releases/README.md
+        - title: Builds
+          external_url: https://gerrit-ci.gerritforge.com/
+        - title: Reviews
+          external_url: https://gerrit-review.googlesource.com/q/status:open+project:gerrit
+    - title: Docs
+      folderitems:
+        - title: Beta
+          url: /doc-index.html
+        - title: Latest
+          external_url: https://gerrit-documentation.storage.googleapis.com/Documentation/2.14.5.1/index.html
+        - title: Wiki
+          external_url: https://gerrit.googlesource.com/homepage/+/md-pages/docs/
diff --git a/jekyll-source/_includes/archive.html b/jekyll-source/_includes/archive.html
new file mode 100644
index 0000000..275850c
--- /dev/null
+++ b/jekyll-source/_includes/archive.html
@@ -0,0 +1,15 @@
+---
+layout: default
+type: archive
+---
+
+<div class="post-header">
+  <h1 class="post-title-main">{{ page.title }}</h1>
+</div>
+<div class="post-content">
+
+{{ content }}
+</div>
+
+ 
+
diff --git a/jekyll-source/_includes/callout.html b/jekyll-source/_includes/callout.html
new file mode 100644
index 0000000..d492b18
--- /dev/null
+++ b/jekyll-source/_includes/callout.html
@@ -0,0 +1 @@
+<div markdown="span" class="bs-callout bs-callout-{{include.type}}">{{include.content}}</div>
diff --git a/jekyll-source/_includes/custom/getting_started_series.html b/jekyll-source/_includes/custom/getting_started_series.html
new file mode 100644
index 0000000..5b573a9
--- /dev/null
+++ b/jekyll-source/_includes/custom/getting_started_series.html
@@ -0,0 +1,19 @@
+<div class="seriesContext">
+    <div class="btn-group">
+        <button type="button" data-toggle="dropdown" class="btn btn-primary dropdown-toggle">Getting Started <span class="caret"></span></button>
+        <ol class="dropdown-menu">
+            {% assign pages = site.pages | sort:"weight"  %}
+            {% for p in pages %}
+            {% if p.series == "Getting Started" %}
+            {% if p.url == page.url %}
+            <li class="active"> → {{p.title}}</li>
+            {% else %}
+            <li>
+                <a href="{{p.url | remove: "/"}}">{{p.title}}</a>
+            </li>
+            {% endif %}
+            {% endif %}
+            {% endfor %}
+        </ol>
+    </div>
+</div>
\ No newline at end of file
diff --git a/jekyll-source/_includes/custom/getting_started_series_next.html b/jekyll-source/_includes/custom/getting_started_series_next.html
new file mode 100644
index 0000000..c464214
--- /dev/null
+++ b/jekyll-source/_includes/custom/getting_started_series_next.html
@@ -0,0 +1,10 @@
+<p>{% assign series_pages = site.tags.series_acme %}
+    {% for p in pages %}
+    {% if p.series == "Getting Started" %}
+    {% assign nextTopic = page.weight | plus: "1"  %}
+    {% if p.weight == nextTopic  %}
+    <a href="{{p.url | remove: "/"}}"><button type="button" class="btn btn-primary">Next: {{p.title}}</button></a>
+    {% endif %}
+    {% endif %}
+    {% endfor %}
+</p>
\ No newline at end of file
diff --git a/jekyll-source/_includes/custom/series_acme.html b/jekyll-source/_includes/custom/series_acme.html
new file mode 100644
index 0000000..b9ebf44
--- /dev/null
+++ b/jekyll-source/_includes/custom/series_acme.html
@@ -0,0 +1,19 @@
+<div class="seriesContext">
+    <div class="btn-group">
+        <button type="button" data-toggle="dropdown" class="btn btn-primary dropdown-toggle">Series Demo <span class="caret"></span></button>
+        <ol class="dropdown-menu">
+            {% assign pages = site.pages | sort:"weight"  %}
+            {% for p in pages %}
+            {% if p.series == "ACME series" %}
+            {% if p.url == page.url %}
+            <li class="active"> → {{p.weight}}. {{p.title}}</li>
+            {% else %}
+            <li>
+                <a href="{{p.url | remove: "/"}}">{{p.weight}}. {{p.title}}</a>
+            </li>
+            {% endif %}
+            {% endif %}
+            {% endfor %}
+        </ol>
+    </div>
+</div>
\ No newline at end of file
diff --git a/jekyll-source/_includes/custom/series_acme_next.html b/jekyll-source/_includes/custom/series_acme_next.html
new file mode 100644
index 0000000..9c9a11a
--- /dev/null
+++ b/jekyll-source/_includes/custom/series_acme_next.html
@@ -0,0 +1,30 @@
+<div class="seriesContext">
+    <a>
+        {% assign pages = site.pages | sort:"weight"  %}
+        {% for pg in pages %}
+        {% if pg.series == "ACME series" %}
+        {% if pg.weight > page.weight %}
+        <a href="{{pg.url | remove: '/'}}"><button type="button" class="btn btn-primary">Next: {{pg.title}}</button></a>
+        {% break %}
+        {% endif %}
+        {% endif %}
+        {% endfor %}
+    </a>
+    &nbsp;
+    <div class="btn-group">
+        <button type="button" data-toggle="dropdown" class="btn btn-primary dropdown-toggle">Jump to: <span class="caret"></span></button>
+        <ol class="dropdown-menu">
+            {% for pg in pages %}
+            {% if pg.series == "ACME series" %}
+            {% if pg.url == page.url %}
+            <li class="active"> → {{pg.weight}}. {{pg.title}}</li>
+            {% else %}
+            <li>
+                <a href="{{pg.url | remove: '/'}}">{{pg.title}}</a>
+            </li>
+            {% endif %}
+            {% endif %}
+            {% endfor %}
+        </ol>
+    </div>
+</div>
\ No newline at end of file
diff --git a/jekyll-source/_includes/custom/usermap.html b/jekyll-source/_includes/custom/usermap.html
new file mode 100644
index 0000000..f90b5c2
--- /dev/null
+++ b/jekyll-source/_includes/custom/usermap.html
@@ -0,0 +1,14 @@
+
+<div id="userMap">
+<div class="content"><a href="p2_sample1.html"><div class="box box1">Connect to ADB</div></a></div>
+<div class="arrow">→</div>
+<div class="content"><a href="p2_sample2.html"><div class="box box2">Download and Build the Starter Kit</div></a></div>
+<div class="arrow">→</div>
+<div class="content"><a href="p2_sample3.html"><div class="box box3">Take a Tour</div></a></div>
+<div class="arrow">→</div>
+<div class="content"><a href="p2_sample4.html"><div class="box box4">Load Your Widgets</div></a></div>
+<div class="arrow">→</div>
+<div class="content"><a href="p2_sample5.html"><div class="box box5">Query for Something</div></a></div>
+<div class="clearfix"></div>
+
+</div>
diff --git a/jekyll-source/_includes/custom/usermapcomplex.html b/jekyll-source/_includes/custom/usermapcomplex.html
new file mode 100644
index 0000000..c75a652
--- /dev/null
+++ b/jekyll-source/_includes/custom/usermapcomplex.html
@@ -0,0 +1,91 @@
+<div id="userMap">
+
+    <!-- Button trigger modal -->
+<button type="button" class="btn btn-default btn-lg modalButton1" data-toggle="modal" data-target="#myModal1">Get Started</button>
+
+    <!-- Modal -->
+    <div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
+      <div class="modal-dialog" role="document">
+        <div class="modal-content">
+          <div class="modal-header">
+            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+            <h4 class="modal-title" id="myModalLabel">Get Started</h4>
+          </div>
+          <div class="modal-body">
+<p>This is just dummy text ... Your first steps should be to get started. You will need to do the following:</p>
+
+    <ul>
+        <li><a href="p2_sample6.html">Sample 6</a></li>
+        <li><a href="p2_sample7.html">Sample 7</a></li>
+        <li><a href="p2_sample8.html">Sample 8</a></li>
+    </ul>
+    <p>If you run into any of these setup issues, you must solve them before you can continue on.</p>
+
+          </div>
+          <div class="modal-footer">
+            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+          </div>
+        </div>
+      </div>
+    </div>
+            <span class="complexArrow">→</span>
+
+            <!-- Button trigger modal -->
+            <button type="button" class="btn btn-default btn-lg modalButton2" data-toggle="modal" data-target="#myModal2">Build your widgets</button>
+            <!-- Modal -->
+            <div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
+              <div class="modal-dialog" role="document">
+                <div class="modal-content">
+                  <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title" id="myModalLabel">Build your widgets</h4>
+                  </div>
+                  <div class="modal-body">
+                    <p>In this step, you will build the widgets for your system. The widgets form the various components that blah blah blah this is dummy text power the nuclear capabilities of your energy transformer into deep space using wormhole technology and warp drive speeds.</p>
+
+                    <p>In order to configure your widgets, you will need to follow these topics:</p>
+                    <ul>
+                        <li><a href="p2_sample9.html">Sample 9</a></li>
+                        <li><a href="p2_sample10.html">Sample 10</a></li>
+                        <li><a href="p2_sample11.html">Sample 11</a></li>
+                    </ul>
+                  </div>
+                  <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+                  </div>
+                </div>
+              </div>
+            </div>
+
+            <span class="complexArrow">→</span>
+
+            <!-- Button trigger modal -->
+<button type="button" class="btn btn-default btn-lg modalButton3" data-toggle="modal" data-target="#myModal3">Publish your app</button>
+            <!-- Modal -->
+            <div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
+              <div class="modal-dialog" role="document">
+                <div class="modal-content">
+                  <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title" id="myModalLabel">Publish your app</h4>
+                  </div>
+                  <div class="modal-body">
+                    <p>After you've configured all the necessary components to build your space transformer, you need to publish your app. Of course this content is also just dummy text. Pay no particular attention to the content but rather the format and placement of the map.</p>
+                    <p>To publish your app, see the following:
+                        <ul>
+                            <li><a href="p2_sample12.html">Sample 12</a></li>
+                            <li><a href="p2_sample13.html">Sample 13</a></li>
+                            <li><a href="p2_sample14.html">Sample 14</a></li>
+                        </ul>
+                  </div>
+                  <div class="modal-footer">
+                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+                  </div>
+                </div>
+              </div>
+            </div>
+
+
+<div class="clearfix"></div>
+
+</div>
diff --git a/jekyll-source/_includes/disqus.html b/jekyll-source/_includes/disqus.html
new file mode 100644
index 0000000..2481e4a
--- /dev/null
+++ b/jekyll-source/_includes/disqus.html
@@ -0,0 +1,25 @@
+{% if site.disqus_shortname %}
+
+<div id="disqus_thread"></div>
+<script>
+    /**
+     *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
+     *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables
+     */
+
+    var disqus_config = function () {
+        this.page.url = "{{site.url}}/{{page.permalink}}";  // Replace PAGE_URL with your page's canonical URL variable
+        this.page.identifier = "{{page.permalink}}"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
+    };
+
+    (function() {  // REQUIRED CONFIGURATION VARIABLE: EDIT THE SHORTNAME BELOW
+        var d = document, s = d.createElement('script');
+
+        s.src = 'https://{{site.disqus_shortname}}.disqus.com/embed.js';  // IMPORTANT: Replace EXAMPLE with your forum shortname!
+
+        s.setAttribute('data-timestamp', +new Date());
+        (d.head || d.body).appendChild(s);
+    })();
+</script>
+<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
+{% endif %}
diff --git a/jekyll-source/_includes/feedback.html b/jekyll-source/_includes/feedback.html
new file mode 100644
index 0000000..6031797
--- /dev/null
+++ b/jekyll-source/_includes/feedback.html
@@ -0,0 +1,13 @@
+<li>
+{% if site.feedback_text %}
+  {% assign feedback_text = site.feedback_text %}
+{% else %}
+  {% assign feedback_text = "Feedback" %}
+{% endif %}
+
+{% if site.feedback_link %}
+  <a class="email" title="Submit feedback" href="{{site.feedback_link}}">{{feedback_text}}</a>
+{% else %}
+  <a class="email" title="Submit feedback" href="#" onclick="javascript:window.location='mailto:{{site.feedback_email}}?subject={{site.feedback_subject_line}} feedback&body=I have some feedback about the {{page.title}} page: ' + window.location.href;"><i class="fa fa-envelope-o"></i> {{feedback_text}}</a>
+{% endif %}
+</li>
diff --git a/jekyll-source/_includes/footer.html b/jekyll-source/_includes/footer.html
new file mode 100755
index 0000000..1682c96
--- /dev/null
+++ b/jekyll-source/_includes/footer.html
@@ -0,0 +1,9 @@
+<footer>
+            <div class="row">
+                <div class="col-lg-12 footer">
+               &copy;{{ site.time | date: "%Y"  }} {{site.company_name}}. All rights reserved. <br />
+{% if page.last_updated %}<span>Page last updated:</span> {{page.last_updated}}<br/>{% endif %} Site last generated: {{ site.time | date: "%b %-d, %Y"  }} <br />
+<p><img src="{{ "images/company_logo.png" }}" alt="Company logo"/></p>
+                </div>
+            </div>
+</footer>
diff --git a/jekyll-source/_includes/google_analytics.html b/jekyll-source/_includes/google_analytics.html
new file mode 100644
index 0000000..56b2ee8
--- /dev/null
+++ b/jekyll-source/_includes/google_analytics.html
@@ -0,0 +1,6 @@
+<!-- the google_analytics_id gets auto inserted from the config file -->
+
+{% if site.google_analytics %}
+
+<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create','{{site.google_analytics}}','auto');ga('require','displayfeatures');ga('send','pageview');</script>
+{% endif %}
\ No newline at end of file
diff --git a/jekyll-source/_includes/head.html b/jekyll-source/_includes/head.html
new file mode 100644
index 0000000..a363237
--- /dev/null
+++ b/jekyll-source/_includes/head.html
@@ -0,0 +1,41 @@
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="{% if page.summary %}{{ page.summary | strip_html | strip_newlines | truncate: 160 }}{% endif %}">
+<meta name="keywords" content="{{page.tags}}{% if page.tags %}, {% endif %} {{page.keywords}}">
+<title>{{ page.title }} | {{ site.site_title }}</title>
+<link rel="stylesheet" href="{{ "css/syntax.css" }}">
+
+<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
+<!--<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">-->
+<link rel="stylesheet" href="css/modern-business.css">
+<!-- Latest compiled and minified CSS -->
+<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
+<link rel="stylesheet" href="css/customstyles.css">
+<link rel="stylesheet" href="css/boxshadowproperties.css">
+<!-- most color styles are extracted out to here -->
+<link rel="stylesheet" href="css/theme-blue.css">
+
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
+
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
+<script src="{{ "js/jquery.navgoco.min.js" }}"></script>
+
+
+<!-- Latest compiled and minified JavaScript -->
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+<!-- Anchor.js -->
+<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js"></script>
+<script src="{{ "js/toc.js" }}"></script>
+<script src="{{ "js/customscripts.js" }}"></script>
+
+<link rel="shortcut icon" href="{{ "images/favicon.ico"  }}">
+
+<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+<!--[if lt IE 9]>
+<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+<![endif]-->
+
+<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.url }}">
diff --git a/jekyll-source/_includes/head_print.html b/jekyll-source/_includes/head_print.html
new file mode 100644
index 0000000..12b861e
--- /dev/null
+++ b/jekyll-source/_includes/head_print.html
@@ -0,0 +1,28 @@
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="description" content="{% if page.summary %}{{ page.summary | strip_html | strip_newlines | truncate: 160 }}{% endif %}">
+<meta name="keywords" content="{{page.tags}}{% if page.tags %}, {% endif %} {{page.keywords}}">
+<title>{% if page.homepage == true %} {{site.homepage_title}} {% elsif page.title %}{{ page.title }}{% endif %}  | {{ site.site_title }}</title>
+
+
+<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/font-awesome.min.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/modern-business.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/customstyles.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/theme-blue.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend: site.baseurl | prepend: site.url }}">
+<link rel="stylesheet" href="{{ "/css/printstyles.css" | prepend: site.baseurl }}">
+
+<script>
+    Prince.addScriptFunc("datestamp", function() {
+        return "PDF last generated: {{ site.time | date: '%B %d, %Y' }}";
+    });
+</script>
+
+<script>
+    Prince.addScriptFunc("guideName", function() {
+        return "{{site.print_title}} User Guide";
+    });
+</script>
diff --git a/jekyll-source/_includes/image.html b/jekyll-source/_includes/image.html
new file mode 100644
index 0000000..7b3b0fa
--- /dev/null
+++ b/jekyll-source/_includes/image.html
@@ -0,0 +1 @@
+<figure>{% if {{include.url}} %}<a class="no_icon" target="_blank" href="{{include.url}}">{% endif %}<img class="docimage" src="images/{{include.file}}" alt="{{include.alt}}" {% if {{include.max-width}} %}style="max-width: {{include.max-width}}px"{% endif %} />{% if {{include.url}} %}</a>{% endif %}{% if {{include.caption}} %}<figcaption>{{include.caption}}</figcaption>{% endif %}</figure>
diff --git a/jekyll-source/_includes/important.html b/jekyll-source/_includes/important.html
new file mode 100644
index 0000000..af8824b
--- /dev/null
+++ b/jekyll-source/_includes/important.html
@@ -0,0 +1 @@
+<div markdown="span" class="alert alert-warning" role="alert"><i class="fa fa-warning"></i> <b>Important:</b> {{include.content}}</div>
\ No newline at end of file
diff --git a/jekyll-source/_includes/initialize_shuffle.html b/jekyll-source/_includes/initialize_shuffle.html
new file mode 100644
index 0000000..9a0f048
--- /dev/null
+++ b/jekyll-source/_includes/initialize_shuffle.html
@@ -0,0 +1,130 @@
+<script type="text/javascript">
+$(document).ready(function() {
+    $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+});
+
+</script>
+<!-- shuffle -->
+<script>
+var shuffleme = (function( $ ) {
+  'use strict';
+
+  var $grid = $('#grid'),
+      $filterOptions = $('.filter-options'),
+      $sizer = $grid.find('.shuffle_sizer'),
+
+  init = function() {
+
+    // None of these need to be executed synchronously
+    setTimeout(function() {
+      listen();
+      setupFilters();
+    }, 100);
+
+    // instantiate the plugin
+    $grid.shuffle({
+      itemSelector: '[class*="col-"]',
+      sizer: $sizer    
+    });
+  },
+
+  // Set up button clicks
+  setupFilters = function() {
+    var $btns = $filterOptions.children();
+    $btns.on('click', function() {
+      var $this = $(this),
+          isActive = $this.hasClass( 'active' ),
+          group = isActive ? 'all' : $this.data('group');
+
+      // Hide current label, show current label in title
+      if ( !isActive ) {
+        $('.filter-options .active').removeClass('active');
+      }
+
+      $this.toggleClass('active');
+
+      // Filter elements
+      $grid.shuffle( 'shuffle', group );
+    });
+
+    $btns = null;
+  },
+
+  // Re layout shuffle when images load. This is only needed
+  // below 768 pixels because the .picture-item height is auto and therefore
+  // the height of the picture-item is dependent on the image
+  // I recommend using imagesloaded to determine when an image is loaded
+  // but that doesn't support IE7
+  listen = function() {
+    var debouncedLayout = $.throttle( 300, function() {
+      $grid.shuffle('update');
+    });
+
+    // Get all images inside shuffle
+    $grid.find('img').each(function() {
+      var proxyImage;
+
+      // Image already loaded
+      if ( this.complete && this.naturalWidth !== undefined ) {
+        return;
+      }
+
+      // If none of the checks above matched, simulate loading on detached element.
+      proxyImage = new Image();
+      $( proxyImage ).on('load', function() {
+        $(this).off('load');
+        debouncedLayout();
+      });
+
+      proxyImage.src = this.src;
+    });
+
+    // Because this method doesn't seem to be perfect.
+    setTimeout(function() {
+      debouncedLayout();
+    }, 500);
+  };      
+
+  return {
+    init: init
+  };
+}( jQuery ));
+
+
+
+$(document).ready(function() {
+  shuffleme.init();
+});
+
+    </script>
+
+    <!-- new attempt-->
+
+    <script>
+    $(document).ready(function() {
+     
+    /* initialize shuffle plugin */
+    var $grid = $('#grid');
+         
+    $grid.shuffle({
+        itemSelector: '.item' // the selector for the items in the grid
+    });
+ 
+});</script>
+
+<script>
+$('#filter a').click(function (e) {
+    e.preventDefault();
+         
+    // set active class
+    $('#filter a').removeClass('active');
+    $(this).addClass('active');
+         
+    // get group name from clicked item
+    var groupName = $(this).attr('data-group');
+         
+    // reshuffle grid
+    $grid.shuffle('shuffle', groupName );
+});</script>
+
+
diff --git a/jekyll-source/_includes/inline_image.html b/jekyll-source/_includes/inline_image.html
new file mode 100644
index 0000000..1e7fd18
--- /dev/null
+++ b/jekyll-source/_includes/inline_image.html
@@ -0,0 +1 @@
+<img class="inline" src="images/{{include.file}}" alt="{{include.alt}}" />
diff --git a/jekyll-source/_includes/links.html b/jekyll-source/_includes/links.html
new file mode 100644
index 0000000..4f99e94
--- /dev/null
+++ b/jekyll-source/_includes/links.html
@@ -0,0 +1,44 @@
+{% comment %}Get links from each sidebar, as listed in the _config.yml file under sidebars{% endcomment %}
+
+{% for sidebar in site.sidebars %}
+{% for entry in site.data.sidebars[sidebar].entries %}
+{% for folder in entry.folders %}
+{% for folderitem in folder.folderitems %}
+{% if folderitem.url contains "html#" %}
+[{{folderitem.url | remove: "/" }}]: {{folderitem.url | remove: "/"}}
+{% else %}
+[{{folderitem.url | remove: "/"  | remove: ".html"}}]: {{folderitem.url | remove: "/"}}
+{% endif %}
+{% for subfolders in folderitem.subfolders %}
+{% for subfolderitem in subfolders.subfolderitems %}
+[{{subfolderitem.url | remove: "/"  | remove: ".html"}}]: {{subfolderitem.url | remove: "/"}}
+{% endfor %}
+{% endfor %}
+{% endfor %}
+{% endfor %}
+{% endfor %}
+{% endfor %}
+
+
+{% comment %} Get links from topnav {% endcomment %}
+
+{% for entry in site.data.topnav.topnav %}
+{% for item in entry.items %}
+{% if item.external_url == null %}
+[{{item.url | remove: "/" | remove: ".html"}}]: {{item.url | remove: "/"}}
+{% endif %}
+{% endfor %}
+{% endfor %}
+
+{% comment %}Get links from topnav dropdowns {% endcomment %}
+
+{% for entry in site.data.topnav.topnav_dropdowns %}
+{% for folder in entry.folders %}
+{% for folderitem in folder.folderitems %}
+{% if folderitem.external_url == null %}
+[{{folderitem.url | remove: "/"  | remove: ".html"}}]: {{folderitem.url | remove: "/"}}
+{% endif %}
+{% endfor %}
+{% endfor %}
+{% endfor %}
+
diff --git a/jekyll-source/_includes/note.html b/jekyll-source/_includes/note.html
new file mode 100644
index 0000000..2c1cfe9
--- /dev/null
+++ b/jekyll-source/_includes/note.html
@@ -0,0 +1 @@
+<div markdown="span" class="alert alert-info" role="alert"><i class="fa fa-info-circle"></i> <b>Note:</b> {{include.content}}</div>
diff --git a/jekyll-source/_includes/sidebar.html b/jekyll-source/_includes/sidebar.html
new file mode 100644
index 0000000..47a6490
--- /dev/null
+++ b/jekyll-source/_includes/sidebar.html
@@ -0,0 +1,58 @@
+{% assign sidebar = site.data.sidebars[page.sidebar].entries %}
+
+<ul id="mysidebar" class="nav">
+  <li class="sidebarTitle">{{sidebar[0].product}} {{sidebar[0].version}}</li>
+  {% for entry in sidebar %}
+  {% for folder in entry.folders %}
+  {% if folder.output contains "web" %}
+  <li>
+      <a href="#">{{ folder.title }}</a>
+      <ul>
+          {% for folderitem in folder.folderitems %}
+          {% if folderitem.output contains "web" %}
+          {% if folderitem.external_url %}
+          <li><a href="{{folderitem.external_url}}" target="_blank">{{folderitem.title}}</a></li>
+          {% elsif page.url == folderitem.url %}
+          <li class="active"><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+          {% elsif folderitem.type == "empty" %}
+          <li><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+
+          {% else %}
+          <li><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+          {% endif %}
+          {% for subfolders in folderitem.subfolders %}
+          {% if subfolders.output contains "web" %}
+          <li class="subfolders">
+              <a href="#">{{ subfolders.title }}</a>
+              <ul>
+                  {% for subfolderitem in subfolders.subfolderitems %}
+                  {% if subfolderitem.output contains "web" %}
+                  {% if subfolderitem.external_url %}
+                  <li><a href="{{subfolderitem.external_url}}" target="_blank">{{subfolderitem.title}}</a></li>
+                  {% elsif page.url == subfolderitem.url %}
+                  <li class="active"><a href="{{subfolderitem.url | remove: "/"}}">{{subfolderitem.title}}</a></li>
+                  {% else %}
+                  <li><a href="{{subfolderitem.url | remove: "/"}}">{{subfolderitem.title}}</a></li>
+                  {% endif %}
+                  {% endif %}
+                  {% endfor %}
+              </ul>
+          </li>
+          {% endif %}
+          {% endfor %}
+          {% endif %}
+          {% endfor %}
+      </ul>
+   </li>
+     {% endif %}
+      {% endfor %}
+      {% endfor %}
+      <!-- if you aren't using the accordion, uncomment this block:
+         <p class="external">
+             <a href="#" id="collapseAll">Collapse All</a> | <a href="#" id="expandAll">Expand All</a>
+         </p>
+         -->
+</ul>
+
+<!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.-->
+<script>$("li.active").parents('li').toggleClass("active");</script>
diff --git a/jekyll-source/_includes/taglogic.html b/jekyll-source/_includes/taglogic.html
new file mode 100644
index 0000000..c2f76b0
--- /dev/null
+++ b/jekyll-source/_includes/taglogic.html
@@ -0,0 +1,32 @@
+<p>The following pages and posts are tagged with <button type="button" style="cursor: default" class="btn btn-default navbar-btn">{{page.tagName}}</button></p>
+<table><thead><tr><th>Title</th><th>Type</th><th>Excerpt</th></tr></thead>
+    <tbody>
+    {% assign thisTag = page.tagName %}
+  {% for page in site.pages %}
+    {% for tag in page.tags %}
+        {% if tag == thisTag %}
+
+        <tr><td><a href="{{ page.url | remove: "/" }}">{{page.title}}</a></td>
+            <td><span class="label label-default">Page</span></td>
+          <td>{% if page.summary %} {{ page.summary | strip_html | strip_newlines | truncate: 160 }} {% else %} {{ page.content | truncatewords: 50 | strip_html }} {% endif %}</td>
+        </tr>
+        {% endif %}
+     {% endfor %}
+   {% endfor %}
+
+        {% assign thisTag = page.tagName %}
+        {% for post in site.posts %}
+        {% for tag in post.tags %}
+        {% if tag == thisTag %}
+
+        <tr><td><a href="{{ post.url | remove: "/" }}">{{post.title}}</a></td>
+            <td><span class="label label-primary">Post</span></td>
+            <td>{% if post.summary %} {{ post.summary | strip_html | strip_newlines | truncate: 160 }} {% else %} {{ post.content | truncatewords: 50 | strip_html }} {% endif %}</td>
+        </tr>
+        {% endif %}
+        {% endfor %}
+        {% endfor %}
+
+   </tbody>
+</table>
+
diff --git a/jekyll-source/_includes/tip.html b/jekyll-source/_includes/tip.html
new file mode 100644
index 0000000..faf48af
--- /dev/null
+++ b/jekyll-source/_includes/tip.html
@@ -0,0 +1 @@
+<div markdown="span" class="alert alert-success" role="alert"><i class="fa fa-check-square-o"></i> <b>Tip:</b> {{include.content}}</div>
\ No newline at end of file
diff --git a/jekyll-source/_includes/toc.html b/jekyll-source/_includes/toc.html
new file mode 100644
index 0000000..067141a
--- /dev/null
+++ b/jekyll-source/_includes/toc.html
@@ -0,0 +1,21 @@
+
+<!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. -->
+<script>
+$( document ).ready(function() {
+  // Handler for .ready() called.
+
+$('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3,h4' });
+
+/* this offset helps account for the space taken up by the floating toolbar. */
+$('#toc').on('click', 'a', function() {
+  var target = $(this.getAttribute('href'))
+    , scroll_target = target.offset().top
+
+  $(window).scrollTop(scroll_target - 10);
+  return false
+})
+  
+});
+</script>
+
+<div id="toc"></div>
diff --git a/jekyll-source/_includes/topnav.html b/jekyll-source/_includes/topnav.html
new file mode 100644
index 0000000..781170b
--- /dev/null
+++ b/jekyll-source/_includes/topnav.html
@@ -0,0 +1,83 @@
+<!-- Navigation -->
+<nav class="navbar navbar-inverse navbar-static-top">
+    <div class="container topnavlinks">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="fa fa-home fa-lg navbar-brand" href="index.html">&nbsp;<span class="projectTitle"> {{site.topnav_title}}</span></a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <!-- toggle sidebar button -->
+                {% unless page.hide_navtoggle %}
+                <li id="navtoggle"><a id="tg-sb-link" href="#"><i id="tg-sb-icon" class="fa fa-toggle-on"></i> Nav</a></li>
+                {% endunless %}
+                <!-- entries without drop-downs appear here -->
+
+{% assign topnav = site.data[page.topnav] %}
+{% assign topnav_dropdowns = site.data[page.topnav].topnav_dropdowns %}
+
+                {% for entry in topnav.topnav %}
+                {% for item in entry.items %}
+                {% if item.external_url %}
+                <li><a href="{{item.external_url}}" target="_blank">{{item.title}}</a></li>
+                {% elsif page.url contains item.url %}
+                <li class="active"><a href="{{item.url | remove: "/"}}">{{item.title}}</a></li>
+                {% else %}
+                <li><a href="{{item.url | remove: "/"}}">{{item.title}}</a></li>
+                {% endif %}
+                {% endfor %}
+                {% endfor %}
+                <!-- entries with drop-downs appear here -->
+                <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.-->
+                {% for entry in topnav_dropdowns %}
+                {% for folder in entry.folders %}
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ folder.title }}<b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                        {% for folderitem in folder.folderitems %}
+                        {% if folderitem.external_url %}
+                        <li><a href="{{folderitem.external_url}}" target="_blank">{{folderitem.title}}</a></li>
+                        {% elsif page.url contains folderitem.url %}
+                        <li class="dropdownActive"><a href="{{folderitem.url |  remove: "/"}}">{{folderitem.title}}</a></li>
+                        {% else %}
+                        <li><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+                        {% endif %}
+                        {% endfor %}
+                    </ul>
+                </li>
+                {% endfor %}
+                {% endfor %}
+                {% if site.feedback_disable == null or site.feedback_disable == false %}
+			{% include feedback.html %}
+		{% endif %}
+                <!--comment out this block if you want to hide search-->
+                <li>
+                    <!--start search-->
+                    <div id="search-demo-container">
+                        <input type="text" id="search-input" placeholder="{{site.data.strings.search_placeholder_text}}">
+                        <ul id="results-container"></ul>
+                    </div>
+                    <script src="{{ "js/jekyll-search.js"}}" type="text/javascript"></script>
+                    <script type="text/javascript">
+                            SimpleJekyllSearch.init({
+                                searchInput: document.getElementById('search-input'),
+                                resultsContainer: document.getElementById('results-container'),
+                                dataSource: '{{ "search.json" }}',
+                                searchResultTemplate: '<li><a href="{url}" title="{{page.title | escape }}">{title}</a></li>',
+                    noResultsText: '{{site.data.strings.search_no_results_text}}',
+                            limit: 10,
+                            fuzzy: true,
+                    })
+                    </script>
+                    <!--end search-->
+                </li>
+            </ul>
+        </div>
+        </div>
+        <!-- /.container -->
+</nav>
diff --git a/jekyll-source/_includes/warning.html b/jekyll-source/_includes/warning.html
new file mode 100644
index 0000000..e08268c
--- /dev/null
+++ b/jekyll-source/_includes/warning.html
@@ -0,0 +1 @@
+<div markdown="span" class="alert alert-danger" role="alert"><i class="fa fa-exclamation-circle"></i> <b>Warning:</b> {{include.content}}</div>
\ No newline at end of file
diff --git a/jekyll-source/_layouts/default.html b/jekyll-source/_layouts/default.html
new file mode 100644
index 0000000..44f9c8b
--- /dev/null
+++ b/jekyll-source/_layouts/default.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<html>
+<head>
+    {% include head.html %}
+    <script>
+        $(document).ready(function() {
+            // Initialize navgoco with default options
+            $("#mysidebar").navgoco({
+                caretHtml: '',
+                accordion: true,
+                openClass: 'active', // open
+                save: false, // leave false or nav highlighting doesn't work right
+                cookie: {
+                    name: 'navgoco',
+                    expires: false,
+                    path: '/'
+                },
+                slide: {
+                    duration: 400,
+                    easing: 'swing'
+                }
+            });
+
+            $("#collapseAll").click(function(e) {
+                e.preventDefault();
+                $("#mysidebar").navgoco('toggle', false);
+            });
+
+            $("#expandAll").click(function(e) {
+                e.preventDefault();
+                $("#mysidebar").navgoco('toggle', true);
+            });
+
+        });
+
+    </script>
+    <script>
+        $(function () {
+            $('[data-toggle="tooltip"]').tooltip()
+        })
+    </script>
+    <script>
+        $(document).ready(function() {
+            $("#tg-sb-link").click(function() {
+                $("#tg-sb-sidebar").toggle();
+                $("#tg-sb-content").toggleClass('col-md-9');
+                $("#tg-sb-content").toggleClass('col-md-12');
+                $("#tg-sb-icon").toggleClass('fa-toggle-on');
+                $("#tg-sb-icon").toggleClass('fa-toggle-off');
+            });
+        });
+    </script>
+    {% if page.datatable == true %}
+    <!-- Include the standard DataTables bits -->
+    <link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.13/css/jquery.dataTables.css">
+    <script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.13/js/jquery.dataTables.js"></script>
+    <!-- First, this walks through the tables that occur between ...-begin
+         and ...-end and add the "datatable" class to them.
+         Then it invokes DataTable's standard initializer
+         Credit here: http://www.beardedhacker.com/blog/2015/08/28/add-class-attribute-to-markdown-table/
+      -->
+    <script>
+      $(document).ready(function(){
+          $('div.datatable-begin').nextUntil('div.datatable-end', 'table').addClass('display');
+          $('table.display').DataTable( {
+              paging: true,
+              stateSave: true,
+              searching: true
+          });
+       });
+    </script>
+    {% endif %}
+
+</head>
+<body>
+{% include topnav.html %}
+<!-- Page Content -->
+<div class="container">
+  <div id="main">
+    <!-- Content Row -->
+    <div class="row">
+        {% assign content_col_size = "col-md-12" %}
+        {% unless page.hide_navtoggle %}
+            <!-- Sidebar Column -->
+            <div class="col-md-3" id="tg-sb-sidebar">
+                {% include sidebar.html %}
+            </div>
+            {% assign content_col_size = "col-md-9" %}
+        {% endunless %}
+
+        <!-- Content Column -->
+        <div class="{{content_col_size}}" id="tg-sb-content">
+            {{content}}
+        </div>
+    <!-- /.row -->
+</div>
+<!-- /.container -->
+</div>
+<!-- /#main -->
+    </div>
+
+</body>
+{% if site.google_analytics %}
+{% include google_analytics.html %}
+{% endif %}
+</html>
diff --git a/jekyll-source/_layouts/default_print.html b/jekyll-source/_layouts/default_print.html
new file mode 100644
index 0000000..4bf619b
--- /dev/null
+++ b/jekyll-source/_layouts/default_print.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<html>
+<head>
+    {% include head_print.html %}
+
+
+</head>
+
+<body class="{% if page.type == "title"%}title{% elsif page.type == "frontmatter" %}frontmatter{% elsif page.type == "first_page" %}first_page{% endif %} print">
+
+<!-- Page Content -->
+<div class="container">
+    <!-- Content Column -->
+    <div class="col-md-9">
+
+        {{content}}
+    </div>
+
+</div>    <!-- /.container -->
+
+</body>
+
+</html>
+
diff --git a/jekyll-source/_layouts/none.html b/jekyll-source/_layouts/none.html
new file mode 100644
index 0000000..60887a9
--- /dev/null
+++ b/jekyll-source/_layouts/none.html
@@ -0,0 +1,3 @@
+---
+---
+{{content}}
\ No newline at end of file
diff --git a/jekyll-source/_layouts/page.html b/jekyll-source/_layouts/page.html
new file mode 100644
index 0000000..9f91c36
--- /dev/null
+++ b/jekyll-source/_layouts/page.html
@@ -0,0 +1,75 @@
+---
+layout: default
+---
+
+<div class="post-header">
+   <h1 class="post-title-main">{{ page.title }}</h1>
+</div>
+
+{% if page.simple_map == true %}
+
+<script>
+    $(document).ready ( function(){
+        $('.box{{page.box_number}}').addClass('active');
+    });
+</script>
+
+{% include custom/{{page.map_name}}.html %}
+
+{% elsif page.complex_map == true %}
+
+<script>
+    $(document).ready ( function(){
+        $('.modalButton{{page.box_number}}').addClass('active');
+    });
+</script>
+
+{% include custom/{{page.map_name}}.html %}
+
+{% endif %}
+
+<div class="post-content">
+
+   {% if page.summary %}
+    <div class="summary">{{page.summary}}</div>
+   {% endif %}
+
+    {% unless page.toc == false %}
+    {% include toc.html %}
+    {% endunless %}
+
+
+    {% if site.github_editme_path %}
+
+    <a target="_blank" href="https://github.com/{{site.github_editme_path}}{% unless page.url contains "index.html" %}pages/{% endunless %}{{page.folder}}{{page.url | remove: ".html" | append: ".md"}}" class="btn btn-default githubEditButton" role="button"><i class="fa fa-github fa-lg"></i> Edit me</a>
+
+    {% endif %}
+
+
+    {% if site.gitlab_editme_path %}
+
+    <a target="_blank" href="https://github.com/{{site.gitlab_editme_path}}{% unless page.url contains "index.html" %}pages/{% endunless %}{{page.folder}}{{page.url | remove: ".html" | append: ".md"}}" class="btn btn-default githubEditButton" role="button"><i class="fa fa-gitlab fa-lg"></i> Edit me</a>
+
+    {% endif %}
+
+  {{content}}
+
+    <div class="tags">
+        {% if page.tags != null %}
+        <b>Tags: </b>
+        {% assign projectTags = site.data.tags.allowed-tags %}
+        {% for tag in page.tags %}
+        {% if projectTags contains tag %}
+        <a href="{{ "tag_" | append: tag | append: ".html" }}" class="btn btn-default navbar-btn cursorNorm" role="button">{{page.tagName}}{{tag}}</a>
+        {% endif %}
+        {% endfor %}
+        {% endif %}
+    </div>
+
+{% include disqus.html %}
+
+</div>
+
+{{site.data.alerts.hr_shaded}}
+
+{% include footer.html %}
diff --git a/jekyll-source/_layouts/page_print.html b/jekyll-source/_layouts/page_print.html
new file mode 100644
index 0000000..9e04604
--- /dev/null
+++ b/jekyll-source/_layouts/page_print.html
@@ -0,0 +1,15 @@
+---
+layout: default_print
+comments: true
+---
+<div class="post-header">
+    <h1 class="post-title-main" id="{{page.permalink | replace: '/', '' }}">{{ page.title }}</h1>
+</div>
+
+<div class="post-content">
+
+    {% if page.summary %}
+    <div class="summary">{{page.summary}}</div>
+    {% endif %}
+    {{ content }}
+</div>
diff --git a/jekyll-source/_layouts/post.html b/jekyll-source/_layouts/post.html
new file mode 100644
index 0000000..0e01ce6
--- /dev/null
+++ b/jekyll-source/_layouts/post.html
@@ -0,0 +1,39 @@
+---
+layout: default
+---
+<article class="post" itemscope itemtype="http://schema.org/BlogPosting">
+
+    <header class="post-header">
+        <h1 class="post-title" itemprop="name headline">{{ page.title }}</h1>
+        <p class="post-meta"><time datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">{{ page.date | date: "%b %-d, %Y" }}</time> {% if page.author %}<span itemprop="author" itemscope itemtype="http://schema.org/Person"><span itemprop="name">/ {{ page.author }}</span></span>{% endif %}{% if page.tags != null %}/
+            {% assign projectTags = site.data.tags.allowed-tags %}
+            {% for tag in page.tags %}
+            {% if projectTags contains tag %}
+            <a href="{{ "tag_" | append: tag | append: ".html"}}">{{tag}}</a>{% unless forloop.last %}, {% endunless%}
+            {% endif %}
+            {% endfor %}
+            {% endif %}
+
+        </p>
+
+
+    </header>
+
+    <div class="post-content" itemprop="articleBody">
+
+        {% if page.summary %}
+        <div class="summary">{{page.summary}}</div>
+        {% endif %}
+
+        {{ content }}
+    </div>
+
+
+
+</article>
+
+{% include disqus.html %}
+
+{{site.data.alerts.hr_shaded}}
+
+{% include footer.html %}
diff --git a/jekyll-source/_posts/2015-04-12-test-post-last-year.md b/jekyll-source/_posts/2015-04-12-test-post-last-year.md
new file mode 100644
index 0000000..62beba8
--- /dev/null
+++ b/jekyll-source/_posts/2015-04-12-test-post-last-year.md
@@ -0,0 +1,10 @@
+---
+title:  "Test post from last year"
+categories: jekyll update
+permalink: test-post-from-last-year.html
+tags: [news]
+---
+
+This is just a test post from the previous year.
+
+{% include links.html %}
diff --git a/jekyll-source/_posts/2016-02-24-first-post.md b/jekyll-source/_posts/2016-02-24-first-post.md
new file mode 100644
index 0000000..e29cc3b
--- /dev/null
+++ b/jekyll-source/_posts/2016-02-24-first-post.md
@@ -0,0 +1,19 @@
+---
+title:  "Welcome to Jekyll!"
+categories: jekyll update
+permalink: myupdate.html
+tags: [news]
+---
+
+
+Theme updates:
+
+- Permalinks
+- Kramdown
+- URL specified in config file
+- removed PDF output
+- removed some of the alternative layouts
+- added blog feature
+- sidebars configurable per page
+
+{% include links.html %}
diff --git a/jekyll-source/_posts/2016-02-26-sample-post-jekyll.md b/jekyll-source/_posts/2016-02-26-sample-post-jekyll.md
new file mode 100644
index 0000000..3ee58f5
--- /dev/null
+++ b/jekyll-source/_posts/2016-02-26-sample-post-jekyll.md
@@ -0,0 +1,17 @@
+---
+title:  "Sample post"
+published: true
+permalink: samplepost.html
+summary: "This is some summary frontmatter for my sample post."
+tags: [news, getting_started]
+---
+
+Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries
+
+## Heading
+
+but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
+
+Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries
+
+{% include links.html %}
diff --git a/jekyll-source/_tooltips/baseball.html b/jekyll-source/_tooltips/baseball.html
new file mode 100644
index 0000000..c229636
--- /dev/null
+++ b/jekyll-source/_tooltips/baseball.html
@@ -0,0 +1,6 @@
+---
+doc_id: baseball
+product: mydoc
+---
+
+{{site.data.definitions.baseball}}
diff --git a/jekyll-source/_tooltips/basketball.html b/jekyll-source/_tooltips/basketball.html
new file mode 100644
index 0000000..c029485
--- /dev/null
+++ b/jekyll-source/_tooltips/basketball.html
@@ -0,0 +1,6 @@
+---
+doc_id: basketball
+product: mydoc
+---
+
+{{site.data.definitions.basketball}}
diff --git a/jekyll-source/_tooltips/football.html b/jekyll-source/_tooltips/football.html
new file mode 100644
index 0000000..52ae352
--- /dev/null
+++ b/jekyll-source/_tooltips/football.html
@@ -0,0 +1,6 @@
+---
+doc_id: football
+product: mydoc
+---
+
+{{site.data.definitions.football}}
\ No newline at end of file
diff --git a/jekyll-source/_tooltips/soccer.html b/jekyll-source/_tooltips/soccer.html
new file mode 100644
index 0000000..19fd5bd
--- /dev/null
+++ b/jekyll-source/_tooltips/soccer.html
@@ -0,0 +1,6 @@
+---
+doc_id: soccer
+product: mydoc
+---
+
+{{site.data.definitions.soccer}}
\ No newline at end of file
diff --git a/jekyll-source/createtag b/jekyll-source/createtag
new file mode 100644
index 0000000..4766b6e
--- /dev/null
+++ b/jekyll-source/createtag
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# Using a 'cat' here document, create a file for jekyll
+# website containing what's required for tag pages.
+
+# Pass in tag name(s)
+#   ./createtag linux bsd
+
+CMDLINEPARAM=1     #  Takes at least one param.
+TAGDIR="pages/tags"
+
+if [ $# -ge $CMDLINEPARAM ]
+then
+  tags=$@
+else
+  echo "Atleast ${CMDLINEPARAM} tag name is required."
+  exit 1
+fi
+
+if [ -d "${TAGDIR}" ]; then
+
+  echo "Creating tag(s) for ${tags}"
+
+  for tag in ${tags}; do
+    echo "Title for $tag:"
+    read title
+  # Cannot indent here string.
+cat <<EOF >"${TAGDIR}/tag_${tag}.md"
+---
+title: "${title}"
+tagName: ${tag}
+search: exclude
+permalink: tag_${tag}.html
+sidebar: mydoc_sidebar
+hide_sidebar: true
+folder: tags
+---
+
+{% include taglogic.html %}
+
+{% include links.html %}
+EOF
+
+echo "  - ${tag}" >> _data/tags.yml
+
+  done
+
+else
+  echo "Directory ${TAGDIR} doesn't exist or you are not in the top-level directory."
+  echo "Please run again from the root directory of your project."
+  exit 1
+fi
+
+exit
diff --git a/jekyll-source/css/bootstrap.min.css b/jekyll-source/css/bootstrap.min.css
new file mode 100755
index 0000000..46556c4
--- /dev/null
+++ b/jekyll-source/css/bootstrap.min.css
@@ -0,0 +1,7529 @@
+/*!
+ * Bootstrap v3.3.2 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+html {
+    font-family: sans-serif;
+    -webkit-text-size-adjust: 100%;
+    -ms-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[title] {
+    border-bottom: 1px dotted
+}
+
+b,
+strong {
+    font-weight: 700
+}
+
+dfn {
+    font-style: italic
+}
+
+h1 {
+    margin: .67em 0;
+    font-size: 2em
+}
+
+mark {
+    color: #000;
+    background: #ff0
+}
+
+small {
+    font-size: 80%
+}
+
+sub,
+sup {
+    position: relative;
+    font-size: 75%;
+    line-height: 0;
+    vertical-align: baseline
+}
+
+sup {
+    top: -.5em
+}
+
+sub {
+    bottom: -.25em
+}
+
+img {
+    border: 0
+}
+
+svg:not(:root) {
+    overflow: hidden
+}
+
+figure {
+    margin: 1em 40px
+}
+
+hr {
+    height: 0;
+    -webkit-box-sizing: content-box;
+    -moz-box-sizing: content-box;
+    box-sizing: content-box
+}
+
+pre {
+    overflow: auto
+}
+
+code,
+kbd,
+pre,
+samp {
+    font-family: monospace, monospace;
+    font-size: 1em
+}
+
+button,
+input,
+optgroup,
+select,
+textarea {
+    margin: 0;
+    font: inherit;
+    color: inherit
+}
+
+button {
+    overflow: visible
+}
+
+button,
+select {
+    text-transform: none
+}
+
+button,
+html input[type=button],
+input[type=reset],
+input[type=submit] {
+    -webkit-appearance: button;
+    cursor: pointer
+}
+
+button[disabled],
+html input[disabled] {
+    cursor: default
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+    padding: 0;
+    border: 0
+}
+
+input {
+    line-height: normal
+}
+
+input[type=checkbox],
+input[type=radio] {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    padding: 0
+}
+
+input[type=number]::-webkit-inner-spin-button,
+input[type=number]::-webkit-outer-spin-button {
+    height: auto
+}
+
+input[type=search] {
+    -webkit-box-sizing: content-box;
+    -moz-box-sizing: content-box;
+    box-sizing: content-box;
+    -webkit-appearance: textfield
+}
+
+input[type=search]::-webkit-search-cancel-button,
+input[type=search]::-webkit-search-decoration {
+    -webkit-appearance: none
+}
+
+fieldset {
+    padding: .35em .625em .75em;
+    margin: 0 2px;
+    border: 1px solid silver
+}
+
+legend {
+    padding: 0;
+    border: 0
+}
+
+textarea {
+    overflow: auto
+}
+
+optgroup {
+    font-weight: 700
+}
+
+table {
+    border-spacing: 0;
+    border-collapse: collapse
+}
+
+td,
+th {
+    padding: 0
+}
+
+
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+
+@media print {
+    *,
+    :after,
+    :before {
+        /*color:#000!important;*/
+        /*background:0 0!important*/
+        ;
+    }
+    a,
+    a:visited {
+        text-decoration: underline
+    }
+    a[href]:after {
+        content: " (" attr(href) ")"
+    }
+    abbr[title]:after {
+        content: " (" attr(title) ")"
+    }
+    a[href^="javascript:"]:after,
+    a[href^="#"]:after {
+        content: ""
+    }
+    blockquote,
+    pre {
+        border: 1px solid #999;
+        page-break-inside: avoid
+    }
+    thead {
+        display: table-header-group
+    }
+    img,
+    tr {
+        page-break-inside: avoid
+    }
+    img {
+        max-width: 100%!important
+    }
+    h2,
+    h3,
+    p {
+        orphans: 3;
+        widows: 3
+    }
+    h2,
+    h3 {
+        page-break-after: avoid
+    }
+    select {
+        background: #fff!important
+    }
+    .navbar {
+        display: none
+    }
+    .btn>.caret,
+    .dropup>.btn>.caret {
+        border-top-color: #000!important
+    }
+    .label {
+        border: 1px solid #000
+    }
+    .table {
+        border-collapse: collapse!important
+    }
+    .table td,
+    .table th {
+        background-color: #fff!important
+    }
+    .table-bordered td,
+    .table-bordered th {
+        border: 1px solid #ddd!important
+    }
+}
+
+@font-face {
+    font-family: 'Glyphicons Halflings';
+    src: url(../fonts/glyphicons-halflings-regular.eot);
+    src: url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'), url(../fonts/glyphicons-halflings-regular.woff) format('woff'), url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')
+}
+
+.glyphicon {
+    position: relative;
+    top: 1px;
+    display: inline-block;
+    font-family: 'Glyphicons Halflings';
+    font-style: normal;
+    font-weight: 400;
+    line-height: 1;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale
+}
+
+.glyphicon-asterisk:before {
+    content: "\2a"
+}
+
+.glyphicon-plus:before {
+    content: "\2b"
+}
+
+.glyphicon-eur:before,
+.glyphicon-euro:before {
+    content: "\20ac"
+}
+
+.glyphicon-minus:before {
+    content: "\2212"
+}
+
+.glyphicon-cloud:before {
+    content: "\2601"
+}
+
+.glyphicon-envelope:before {
+    content: "\2709"
+}
+
+.glyphicon-pencil:before {
+    content: "\270f"
+}
+
+.glyphicon-glass:before {
+    content: "\e001"
+}
+
+.glyphicon-music:before {
+    content: "\e002"
+}
+
+.glyphicon-search:before {
+    content: "\e003"
+}
+
+.glyphicon-heart:before {
+    content: "\e005"
+}
+
+.glyphicon-star:before {
+    content: "\e006"
+}
+
+.glyphicon-star-empty:before {
+    content: "\e007"
+}
+
+.glyphicon-user:before {
+    content: "\e008"
+}
+
+.glyphicon-film:before {
+    content: "\e009"
+}
+
+.glyphicon-th-large:before {
+    content: "\e010"
+}
+
+.glyphicon-th:before {
+    content: "\e011"
+}
+
+.glyphicon-th-list:before {
+    content: "\e012"
+}
+
+.glyphicon-ok:before {
+    content: "\e013"
+}
+
+.glyphicon-remove:before {
+    content: "\e014"
+}
+
+.glyphicon-zoom-in:before {
+    content: "\e015"
+}
+
+.glyphicon-zoom-out:before {
+    content: "\e016"
+}
+
+.glyphicon-off:before {
+    content: "\e017"
+}
+
+.glyphicon-signal:before {
+    content: "\e018"
+}
+
+.glyphicon-cog:before {
+    content: "\e019"
+}
+
+.glyphicon-trash:before {
+    content: "\e020"
+}
+
+.glyphicon-home:before {
+    content: "\e021"
+}
+
+.glyphicon-file:before {
+    content: "\e022"
+}
+
+.glyphicon-time:before {
+    content: "\e023"
+}
+
+.glyphicon-road:before {
+    content: "\e024"
+}
+
+.glyphicon-download-alt:before {
+    content: "\e025"
+}
+
+.glyphicon-download:before {
+    content: "\e026"
+}
+
+.glyphicon-upload:before {
+    content: "\e027"
+}
+
+.glyphicon-inbox:before {
+    content: "\e028"
+}
+
+.glyphicon-play-circle:before {
+    content: "\e029"
+}
+
+.glyphicon-repeat:before {
+    content: "\e030"
+}
+
+.glyphicon-refresh:before {
+    content: "\e031"
+}
+
+.glyphicon-list-alt:before {
+    content: "\e032"
+}
+
+.glyphicon-lock:before {
+    content: "\e033"
+}
+
+.glyphicon-flag:before {
+    content: "\e034"
+}
+
+.glyphicon-headphones:before {
+    content: "\e035"
+}
+
+.glyphicon-volume-off:before {
+    content: "\e036"
+}
+
+.glyphicon-volume-down:before {
+    content: "\e037"
+}
+
+.glyphicon-volume-up:before {
+    content: "\e038"
+}
+
+.glyphicon-qrcode:before {
+    content: "\e039"
+}
+
+.glyphicon-barcode:before {
+    content: "\e040"
+}
+
+.glyphicon-tag:before {
+    content: "\e041"
+}
+
+.glyphicon-tags:before {
+    content: "\e042"
+}
+
+.glyphicon-book:before {
+    content: "\e043"
+}
+
+.glyphicon-bookmark:before {
+    content: "\e044"
+}
+
+.glyphicon-print:before {
+    content: "\e045"
+}
+
+.glyphicon-camera:before {
+    content: "\e046"
+}
+
+.glyphicon-font:before {
+    content: "\e047"
+}
+
+.glyphicon-bold:before {
+    content: "\e048"
+}
+
+.glyphicon-italic:before {
+    content: "\e049"
+}
+
+.glyphicon-text-height:before {
+    content: "\e050"
+}
+
+.glyphicon-text-width:before {
+    content: "\e051"
+}
+
+.glyphicon-align-left:before {
+    content: "\e052"
+}
+
+.glyphicon-align-center:before {
+    content: "\e053"
+}
+
+.glyphicon-align-right:before {
+    content: "\e054"
+}
+
+.glyphicon-align-justify:before {
+    content: "\e055"
+}
+
+.glyphicon-list:before {
+    content: "\e056"
+}
+
+.glyphicon-indent-left:before {
+    content: "\e057"
+}
+
+.glyphicon-indent-right:before {
+    content: "\e058"
+}
+
+.glyphicon-facetime-video:before {
+    content: "\e059"
+}
+
+.glyphicon-picture:before {
+    content: "\e060"
+}
+
+.glyphicon-map-marker:before {
+    content: "\e062"
+}
+
+.glyphicon-adjust:before {
+    content: "\e063"
+}
+
+.glyphicon-tint:before {
+    content: "\e064"
+}
+
+.glyphicon-edit:before {
+    content: "\e065"
+}
+
+.glyphicon-share:before {
+    content: "\e066"
+}
+
+.glyphicon-check:before {
+    content: "\e067"
+}
+
+.glyphicon-move:before {
+    content: "\e068"
+}
+
+.glyphicon-step-backward:before {
+    content: "\e069"
+}
+
+.glyphicon-fast-backward:before {
+    content: "\e070"
+}
+
+.glyphicon-backward:before {
+    content: "\e071"
+}
+
+.glyphicon-play:before {
+    content: "\e072"
+}
+
+.glyphicon-pause:before {
+    content: "\e073"
+}
+
+.glyphicon-stop:before {
+    content: "\e074"
+}
+
+.glyphicon-forward:before {
+    content: "\e075"
+}
+
+.glyphicon-fast-forward:before {
+    content: "\e076"
+}
+
+.glyphicon-step-forward:before {
+    content: "\e077"
+}
+
+.glyphicon-eject:before {
+    content: "\e078"
+}
+
+.glyphicon-chevron-left:before {
+    content: "\e079"
+}
+
+.glyphicon-chevron-right:before {
+    content: "\e080"
+}
+
+.glyphicon-plus-sign:before {
+    content: "\e081"
+}
+
+.glyphicon-minus-sign:before {
+    content: "\e082"
+}
+
+.glyphicon-remove-sign:before {
+    content: "\e083"
+}
+
+.glyphicon-ok-sign:before {
+    content: "\e084"
+}
+
+.glyphicon-question-sign:before {
+    content: "\e085"
+}
+
+.glyphicon-info-sign:before {
+    content: "\e086"
+}
+
+.glyphicon-screenshot:before {
+    content: "\e087"
+}
+
+.glyphicon-remove-circle:before {
+    content: "\e088"
+}
+
+.glyphicon-ok-circle:before {
+    content: "\e089"
+}
+
+.glyphicon-ban-circle:before {
+    content: "\e090"
+}
+
+.glyphicon-arrow-left:before {
+    content: "\e091"
+}
+
+.glyphicon-arrow-right:before {
+    content: "\e092"
+}
+
+.glyphicon-arrow-up:before {
+    content: "\e093"
+}
+
+.glyphicon-arrow-down:before {
+    content: "\e094"
+}
+
+.glyphicon-share-alt:before {
+    content: "\e095"
+}
+
+.glyphicon-resize-full:before {
+    content: "\e096"
+}
+
+.glyphicon-resize-small:before {
+    content: "\e097"
+}
+
+.glyphicon-exclamation-sign:before {
+    content: "\e101"
+}
+
+.glyphicon-gift:before {
+    content: "\e102"
+}
+
+.glyphicon-leaf:before {
+    content: "\e103"
+}
+
+.glyphicon-fire:before {
+    content: "\e104"
+}
+
+.glyphicon-eye-open:before {
+    content: "\e105"
+}
+
+.glyphicon-eye-close:before {
+    content: "\e106"
+}
+
+.glyphicon-warning-sign:before {
+    content: "\e107"
+}
+
+.glyphicon-plane:before {
+    content: "\e108"
+}
+
+.glyphicon-calendar:before {
+    content: "\e109"
+}
+
+.glyphicon-random:before {
+    content: "\e110"
+}
+
+.glyphicon-comment:before {
+    content: "\e111"
+}
+
+.glyphicon-magnet:before {
+    content: "\e112"
+}
+
+.glyphicon-chevron-up:before {
+    content: "\e113"
+}
+
+.glyphicon-chevron-down:before {
+    content: "\e114"
+}
+
+.glyphicon-retweet:before {
+    content: "\e115"
+}
+
+.glyphicon-shopping-cart:before {
+    content: "\e116"
+}
+
+.glyphicon-folder-close:before {
+    content: "\e117"
+}
+
+.glyphicon-folder-open:before {
+    content: "\e118"
+}
+
+.glyphicon-resize-vertical:before {
+    content: "\e119"
+}
+
+.glyphicon-resize-horizontal:before {
+    content: "\e120"
+}
+
+.glyphicon-hdd:before {
+    content: "\e121"
+}
+
+.glyphicon-bullhorn:before {
+    content: "\e122"
+}
+
+.glyphicon-bell:before {
+    content: "\e123"
+}
+
+.glyphicon-certificate:before {
+    content: "\e124"
+}
+
+.glyphicon-thumbs-up:before {
+    content: "\e125"
+}
+
+.glyphicon-thumbs-down:before {
+    content: "\e126"
+}
+
+.glyphicon-hand-right:before {
+    content: "\e127"
+}
+
+.glyphicon-hand-left:before {
+    content: "\e128"
+}
+
+.glyphicon-hand-up:before {
+    content: "\e129"
+}
+
+.glyphicon-hand-down:before {
+    content: "\e130"
+}
+
+.glyphicon-circle-arrow-right:before {
+    content: "\e131"
+}
+
+.glyphicon-circle-arrow-left:before {
+    content: "\e132"
+}
+
+.glyphicon-circle-arrow-up:before {
+    content: "\e133"
+}
+
+.glyphicon-circle-arrow-down:before {
+    content: "\e134"
+}
+
+.glyphicon-globe:before {
+    content: "\e135"
+}
+
+.glyphicon-wrench:before {
+    content: "\e136"
+}
+
+.glyphicon-tasks:before {
+    content: "\e137"
+}
+
+.glyphicon-filter:before {
+    content: "\e138"
+}
+
+.glyphicon-briefcase:before {
+    content: "\e139"
+}
+
+.glyphicon-fullscreen:before {
+    content: "\e140"
+}
+
+.glyphicon-dashboard:before {
+    content: "\e141"
+}
+
+.glyphicon-paperclip:before {
+    content: "\e142"
+}
+
+.glyphicon-heart-empty:before {
+    content: "\e143"
+}
+
+.glyphicon-link:before {
+    content: "\e144"
+}
+
+.glyphicon-phone:before {
+    content: "\e145"
+}
+
+.glyphicon-pushpin:before {
+    content: "\e146"
+}
+
+.glyphicon-usd:before {
+    content: "\e148"
+}
+
+.glyphicon-gbp:before {
+    content: "\e149"
+}
+
+.glyphicon-sort:before {
+    content: "\e150"
+}
+
+.glyphicon-sort-by-alphabet:before {
+    content: "\e151"
+}
+
+.glyphicon-sort-by-alphabet-alt:before {
+    content: "\e152"
+}
+
+.glyphicon-sort-by-order:before {
+    content: "\e153"
+}
+
+.glyphicon-sort-by-order-alt:before {
+    content: "\e154"
+}
+
+.glyphicon-sort-by-attributes:before {
+    content: "\e155"
+}
+
+.glyphicon-sort-by-attributes-alt:before {
+    content: "\e156"
+}
+
+.glyphicon-unchecked:before {
+    content: "\e157"
+}
+
+.glyphicon-expand:before {
+    content: "\e158"
+}
+
+.glyphicon-collapse-down:before {
+    content: "\e159"
+}
+
+.glyphicon-collapse-up:before {
+    content: "\e160"
+}
+
+.glyphicon-log-in:before {
+    content: "\e161"
+}
+
+.glyphicon-flash:before {
+    content: "\e162"
+}
+
+.glyphicon-log-out:before {
+    content: "\e163"
+}
+
+.glyphicon-new-window:before {
+    content: "\e164"
+}
+
+.glyphicon-record:before {
+    content: "\e165"
+}
+
+.glyphicon-save:before {
+    content: "\e166"
+}
+
+.glyphicon-open:before {
+    content: "\e167"
+}
+
+.glyphicon-saved:before {
+    content: "\e168"
+}
+
+.glyphicon-import:before {
+    content: "\e169"
+}
+
+.glyphicon-export:before {
+    content: "\e170"
+}
+
+.glyphicon-send:before {
+    content: "\e171"
+}
+
+.glyphicon-floppy-disk:before {
+    content: "\e172"
+}
+
+.glyphicon-floppy-saved:before {
+    content: "\e173"
+}
+
+.glyphicon-floppy-remove:before {
+    content: "\e174"
+}
+
+.glyphicon-floppy-save:before {
+    content: "\e175"
+}
+
+.glyphicon-floppy-open:before {
+    content: "\e176"
+}
+
+.glyphicon-credit-card:before {
+    content: "\e177"
+}
+
+.glyphicon-transfer:before {
+    content: "\e178"
+}
+
+.glyphicon-cutlery:before {
+    content: "\e179"
+}
+
+.glyphicon-header:before {
+    content: "\e180"
+}
+
+.glyphicon-compressed:before {
+    content: "\e181"
+}
+
+.glyphicon-earphone:before {
+    content: "\e182"
+}
+
+.glyphicon-phone-alt:before {
+    content: "\e183"
+}
+
+.glyphicon-tower:before {
+    content: "\e184"
+}
+
+.glyphicon-stats:before {
+    content: "\e185"
+}
+
+.glyphicon-sd-video:before {
+    content: "\e186"
+}
+
+.glyphicon-hd-video:before {
+    content: "\e187"
+}
+
+.glyphicon-subtitles:before {
+    content: "\e188"
+}
+
+.glyphicon-sound-stereo:before {
+    content: "\e189"
+}
+
+.glyphicon-sound-dolby:before {
+    content: "\e190"
+}
+
+.glyphicon-sound-5-1:before {
+    content: "\e191"
+}
+
+.glyphicon-sound-6-1:before {
+    content: "\e192"
+}
+
+.glyphicon-sound-7-1:before {
+    content: "\e193"
+}
+
+.glyphicon-copyright-mark:before {
+    content: "\e194"
+}
+
+.glyphicon-registration-mark:before {
+    content: "\e195"
+}
+
+.glyphicon-cloud-download:before {
+    content: "\e197"
+}
+
+.glyphicon-cloud-upload:before {
+    content: "\e198"
+}
+
+.glyphicon-tree-conifer:before {
+    content: "\e199"
+}
+
+.glyphicon-tree-deciduous:before {
+    content: "\e200"
+}
+
+.glyphicon-cd:before {
+    content: "\e201"
+}
+
+.glyphicon-save-file:before {
+    content: "\e202"
+}
+
+.glyphicon-open-file:before {
+    content: "\e203"
+}
+
+.glyphicon-level-up:before {
+    content: "\e204"
+}
+
+.glyphicon-copy:before {
+    content: "\e205"
+}
+
+.glyphicon-paste:before {
+    content: "\e206"
+}
+
+.glyphicon-alert:before {
+    content: "\e209"
+}
+
+.glyphicon-equalizer:before {
+    content: "\e210"
+}
+
+.glyphicon-king:before {
+    content: "\e211"
+}
+
+.glyphicon-queen:before {
+    content: "\e212"
+}
+
+.glyphicon-pawn:before {
+    content: "\e213"
+}
+
+.glyphicon-bishop:before {
+    content: "\e214"
+}
+
+.glyphicon-knight:before {
+    content: "\e215"
+}
+
+.glyphicon-baby-formula:before {
+    content: "\e216"
+}
+
+.glyphicon-tent:before {
+    content: "\26fa"
+}
+
+.glyphicon-blackboard:before {
+    content: "\e218"
+}
+
+.glyphicon-bed:before {
+    content: "\e219"
+}
+
+.glyphicon-apple:before {
+    content: "\f8ff"
+}
+
+.glyphicon-erase:before {
+    content: "\e221"
+}
+
+.glyphicon-hourglass:before {
+    content: "\231b"
+}
+
+.glyphicon-lamp:before {
+    content: "\e223"
+}
+
+.glyphicon-duplicate:before {
+    content: "\e224"
+}
+
+.glyphicon-piggy-bank:before {
+    content: "\e225"
+}
+
+.glyphicon-scissors:before {
+    content: "\e226"
+}
+
+.glyphicon-bitcoin:before {
+    content: "\e227"
+}
+
+.glyphicon-yen:before {
+    content: "\00a5"
+}
+
+.glyphicon-ruble:before {
+    content: "\20bd"
+}
+
+.glyphicon-scale:before {
+    content: "\e230"
+}
+
+.glyphicon-ice-lolly:before {
+    content: "\e231"
+}
+
+.glyphicon-ice-lolly-tasted:before {
+    content: "\e232"
+}
+
+.glyphicon-education:before {
+    content: "\e233"
+}
+
+.glyphicon-option-horizontal:before {
+    content: "\e234"
+}
+
+.glyphicon-option-vertical:before {
+    content: "\e235"
+}
+
+.glyphicon-menu-hamburger:before {
+    content: "\e236"
+}
+
+.glyphicon-modal-window:before {
+    content: "\e237"
+}
+
+.glyphicon-oil:before {
+    content: "\e238"
+}
+
+.glyphicon-grain:before {
+    content: "\e239"
+}
+
+.glyphicon-sunglasses:before {
+    content: "\e240"
+}
+
+.glyphicon-text-size:before {
+    content: "\e241"
+}
+
+.glyphicon-text-color:before {
+    content: "\e242"
+}
+
+.glyphicon-text-background:before {
+    content: "\e243"
+}
+
+.glyphicon-object-align-top:before {
+    content: "\e244"
+}
+
+.glyphicon-object-align-bottom:before {
+    content: "\e245"
+}
+
+.glyphicon-object-align-horizontal:before {
+    content: "\e246"
+}
+
+.glyphicon-object-align-left:before {
+    content: "\e247"
+}
+
+.glyphicon-object-align-vertical:before {
+    content: "\e248"
+}
+
+.glyphicon-object-align-right:before {
+    content: "\e249"
+}
+
+.glyphicon-triangle-right:before {
+    content: "\e250"
+}
+
+.glyphicon-triangle-left:before {
+    content: "\e251"
+}
+
+.glyphicon-triangle-bottom:before {
+    content: "\e252"
+}
+
+.glyphicon-triangle-top:before {
+    content: "\e253"
+}
+
+.glyphicon-console:before {
+    content: "\e254"
+}
+
+.glyphicon-superscript:before {
+    content: "\e255"
+}
+
+.glyphicon-subscript:before {
+    content: "\e256"
+}
+
+.glyphicon-menu-left:before {
+    content: "\e257"
+}
+
+.glyphicon-menu-right:before {
+    content: "\e258"
+}
+
+.glyphicon-menu-down:before {
+    content: "\e259"
+}
+
+.glyphicon-menu-up:before {
+    content: "\e260"
+}
+
+* {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+:after,
+:before {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+html {
+    font-size: 10px;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
+}
+
+body {
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-size: 14px;
+    line-height: 1.42857143;
+    color: #333;
+    background-color: #fff
+}
+
+button,
+input,
+select,
+textarea {
+    font-family: inherit;
+    font-size: inherit;
+    line-height: inherit
+}
+
+a {
+    color: #337ab7;
+    text-decoration: none
+}
+
+a:focus,
+a:hover {
+    color: #23527c;
+    text-decoration: underline
+}
+
+a:focus {
+    outline: thin dotted;
+    outline: 5px auto -webkit-focus-ring-color;
+    outline-offset: -2px
+}
+
+figure {
+    margin: 0
+}
+
+img {
+    vertical-align: middle
+}
+
+.carousel-inner>.item>a>img,
+.carousel-inner>.item>img,
+.img-responsive,
+.thumbnail a>img,
+.thumbnail>img {
+    display: block;
+    max-width: 100%;
+    height: auto
+}
+
+.img-rounded {
+    border-radius: 6px
+}
+
+.img-thumbnail {
+    display: inline-block;
+    max-width: 100%;
+    height: auto;
+    padding: 4px;
+    line-height: 1.42857143;
+    background-color: #fff;
+    border: 1px solid #ddd;
+    border-radius: 4px;
+    -webkit-transition: all .2s ease-in-out;
+    -o-transition: all .2s ease-in-out;
+    transition: all .2s ease-in-out
+}
+
+.img-circle {
+    border-radius: 50%
+}
+
+hr {
+    margin-top: 20px;
+    margin-bottom: 20px;
+    border: 0;
+    border-top: 1px solid #eee
+}
+
+.sr-only {
+    position: absolute;
+    width: 1px;
+    height: 1px;
+    padding: 0;
+    margin: -1px;
+    overflow: hidden;
+    clip: rect(0, 0, 0, 0);
+    border: 0
+}
+
+.sr-only-focusable:active,
+.sr-only-focusable:focus {
+    position: static;
+    width: auto;
+    height: auto;
+    margin: 0;
+    overflow: visible;
+    clip: auto
+}
+
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+    font-family: inherit;
+    font-weight: 500;
+    line-height: 1.1;
+    color: inherit
+}
+
+.h1 .small,
+.h1 small,
+.h2 .small,
+.h2 small,
+.h3 .small,
+.h3 small,
+.h4 .small,
+.h4 small,
+.h5 .small,
+.h5 small,
+.h6 .small,
+.h6 small,
+h1 .small,
+h1 small,
+h2 .small,
+h2 small,
+h3 .small,
+h3 small,
+h4 .small,
+h4 small,
+h5 .small,
+h5 small,
+h6 .small,
+h6 small {
+    font-weight: 400;
+    line-height: 1;
+    color: #777
+}
+
+.h1,
+.h2,
+.h3,
+h1,
+h2,
+h3 {
+    margin-top: 20px;
+    margin-bottom: 10px
+}
+
+.h1 .small,
+.h1 small,
+.h2 .small,
+.h2 small,
+.h3 .small,
+.h3 small,
+h1 .small,
+h1 small,
+h2 .small,
+h2 small,
+h3 .small,
+h3 small {
+    font-size: 65%
+}
+
+.h4,
+.h5,
+.h6,
+h4,
+h5,
+h6 {
+    margin-top: 10px;
+    margin-bottom: 10px
+}
+
+.h4 .small,
+.h4 small,
+.h5 .small,
+.h5 small,
+.h6 .small,
+.h6 small,
+h4 .small,
+h4 small,
+h5 .small,
+h5 small,
+h6 .small,
+h6 small {
+    font-size: 75%
+}
+
+.h1,
+h1 {
+    font-size: 36px
+}
+
+.h2,
+h2 {
+    font-size: 30px
+}
+
+.h3,
+h3 {
+    font-size: 24px
+}
+
+.h4,
+h4 {
+    font-size: 18px
+}
+
+.h5,
+h5 {
+    font-size: 14px
+}
+
+.h6,
+h6 {
+    font-size: 12px
+}
+
+p {
+    margin: 0 0 10px
+}
+
+.lead {
+    margin-bottom: 20px;
+    font-size: 16px;
+    font-weight: 300;
+    line-height: 1.4
+}
+
+@media (min-width:768px) {
+    .lead {
+        font-size: 21px
+    }
+}
+
+.small,
+small {
+    font-size: 85%
+}
+
+.mark,
+mark {
+    padding: .2em;
+    background-color: #fcf8e3
+}
+
+.text-left {
+    text-align: left
+}
+
+.text-right {
+    text-align: right
+}
+
+.text-center {
+    text-align: center
+}
+
+.text-justify {
+    text-align: justify
+}
+
+.text-nowrap {
+    white-space: nowrap
+}
+
+.text-lowercase {
+    text-transform: lowercase
+}
+
+.text-uppercase {
+    text-transform: uppercase
+}
+
+.text-capitalize {
+    text-transform: capitalize
+}
+
+.text-muted {
+    color: #777
+}
+
+.text-primary {
+    color: #337ab7
+}
+
+a.text-primary:hover {
+    color: #286090
+}
+
+.text-success {
+    color: #3c763d
+}
+
+a.text-success:hover {
+    color: #2b542c
+}
+
+.text-info {
+    color: #31708f
+}
+
+a.text-info:hover {
+    color: #245269
+}
+
+.text-warning {
+    color: #8a6d3b
+}
+
+a.text-warning:hover {
+    color: #66512c
+}
+
+.text-danger {
+    color: #a94442
+}
+
+a.text-danger:hover {
+    color: #843534
+}
+
+.bg-primary {
+    color: #fff;
+    background-color: #337ab7
+}
+
+a.bg-primary:hover {
+    background-color: #286090
+}
+
+.bg-success {
+    background-color: #dff0d8
+}
+
+a.bg-success:hover {
+    background-color: #c1e2b3
+}
+
+.bg-info {
+    background-color: #d9edf7
+}
+
+a.bg-info:hover {
+    background-color: #afd9ee
+}
+
+.bg-warning {
+    background-color: #fcf8e3
+}
+
+a.bg-warning:hover {
+    background-color: #f7ecb5
+}
+
+.bg-danger {
+    background-color: #f2dede
+}
+
+a.bg-danger:hover {
+    background-color: #e4b9b9
+}
+
+.page-header {
+    padding-bottom: 9px;
+    margin: 40px 0 20px;
+    border-bottom: 1px solid #eee
+}
+
+ol,
+ul {
+    margin-top: 0;
+    margin-bottom: 10px
+}
+
+ol ol,
+ol ul,
+ul ol,
+ul ul {
+    margin-bottom: 0
+}
+
+.list-unstyled {
+    padding-left: 0;
+    list-style: none
+}
+
+.list-inline {
+    padding-left: 0;
+    margin-left: -5px;
+    list-style: none
+}
+
+.list-inline>li {
+    display: inline-block;
+    padding-right: 5px;
+    padding-left: 5px
+}
+
+dl {
+    margin-top: 0;
+    margin-bottom: 20px
+}
+
+dd,
+dt {
+    line-height: 1.42857143
+}
+
+dt {
+    font-weight: 700
+}
+
+dd {
+    margin-left: 0
+}
+
+@media (min-width:768px) {
+    .dl-horizontal dt {
+        float: left;
+        width: 160px;
+        overflow: hidden;
+        clear: left;
+        text-align: right;
+        text-overflow: ellipsis;
+        white-space: nowrap
+    }
+    .dl-horizontal dd {
+        margin-left: 180px
+    }
+}
+
+abbr[data-original-title],
+abbr[title] {
+    cursor: help;
+    border-bottom: 1px dotted #777
+}
+
+.initialism {
+    font-size: 90%;
+    text-transform: uppercase
+}
+
+blockquote {
+    padding: 10px 20px;
+    margin: 0 0 20px;
+    font-size: 17.5px;
+    border-left: 5px solid #eee
+}
+
+blockquote ol:last-child,
+blockquote p:last-child,
+blockquote ul:last-child {
+    margin-bottom: 0
+}
+
+blockquote .small,
+blockquote footer,
+blockquote small {
+    display: block;
+    font-size: 80%;
+    line-height: 1.42857143;
+    color: #777
+}
+
+blockquote .small:before,
+blockquote footer:before,
+blockquote small:before {
+    content: '\2014 \00A0'
+}
+
+.blockquote-reverse,
+blockquote.pull-right {
+    padding-right: 15px;
+    padding-left: 0;
+    text-align: right;
+    border-right: 5px solid #eee;
+    border-left: 0
+}
+
+.blockquote-reverse .small:before,
+.blockquote-reverse footer:before,
+.blockquote-reverse small:before,
+blockquote.pull-right .small:before,
+blockquote.pull-right footer:before,
+blockquote.pull-right small:before {
+    content: ''
+}
+
+.blockquote-reverse .small:after,
+.blockquote-reverse footer:after,
+.blockquote-reverse small:after,
+blockquote.pull-right .small:after,
+blockquote.pull-right footer:after,
+blockquote.pull-right small:after {
+    content: '\00A0 \2014'
+}
+
+address {
+    margin-bottom: 20px;
+    font-style: normal;
+    line-height: 1.42857143
+}
+
+code,
+kbd,
+pre,
+samp {
+    font-family: Menlo, Monaco, Consolas, "Courier New", monospace
+}
+
+code {
+    padding: 2px 4px;
+    font-size: 90%;
+    color: #c7254e;
+    background-color: #f9f2f4;
+    border-radius: 4px
+}
+
+kbd {
+    padding: 2px 4px;
+    font-size: 90%;
+    color: #fff;
+    background-color: #333;
+    border-radius: 3px;
+}
+
+kbd kbd {
+    padding: 0;
+    font-size: 100%;
+    font-weight: 700;
+}
+
+pre {
+    display: block;
+    padding: 9.5px;
+    margin: 0 0 10px;
+    font-size: 13px;
+    line-height: 1.42857143;
+    color: #333;
+    word-break: break-all;
+    word-wrap: break-word;
+    background-color: #f5f5f5;
+    border: 1px solid #ccc;
+    border-radius: 4px
+}
+
+pre code {
+    padding: 0;
+    font-size: inherit;
+    color: inherit;
+    white-space: pre-wrap;
+    background-color: transparent;
+    border-radius: 0
+}
+
+.pre-scrollable {
+    max-height: 340px;
+    overflow-y: scroll
+}
+
+.container {
+    padding-right: 15px;
+    padding-left: 15px;
+    margin-right: auto;
+    margin-left: auto
+}
+
+@media (min-width:768px) {
+    .container {
+        width: 750px
+    }
+}
+
+@media (min-width:992px) {
+    .container {
+        width: 970px
+    }
+}
+
+@media (min-width:1200px) {
+    .container {
+        width: 1170px
+    }
+}
+
+.container-fluid {
+    padding-right: 15px;
+    padding-left: 15px;
+    margin-right: auto;
+    margin-left: auto
+}
+
+.row {
+    margin-right: -15px;
+    margin-left: -15px
+}
+
+.col-lg-1,
+.col-lg-10,
+.col-lg-11,
+.col-lg-12,
+.col-lg-2,
+.col-lg-3,
+.col-lg-4,
+.col-lg-5,
+.col-lg-6,
+.col-lg-7,
+.col-lg-8,
+.col-lg-9,
+.col-md-1,
+.col-md-10,
+.col-md-11,
+.col-md-12,
+.col-md-2,
+.col-md-3,
+.col-md-4,
+.col-md-5,
+.col-md-6,
+.col-md-7,
+.col-md-8,
+.col-md-9,
+.col-sm-1,
+.col-sm-10,
+.col-sm-11,
+.col-sm-12,
+.col-sm-2,
+.col-sm-3,
+.col-sm-4,
+.col-sm-5,
+.col-sm-6,
+.col-sm-7,
+.col-sm-8,
+.col-sm-9,
+.col-xs-1,
+.col-xs-10,
+.col-xs-11,
+.col-xs-12,
+.col-xs-2,
+.col-xs-3,
+.col-xs-4,
+.col-xs-5,
+.col-xs-6,
+.col-xs-7,
+.col-xs-8,
+.col-xs-9 {
+    position: relative;
+    min-height: 1px;
+    padding-right: 15px;
+    padding-left: 15px
+}
+
+.col-xs-1,
+.col-xs-10,
+.col-xs-11,
+.col-xs-12,
+.col-xs-2,
+.col-xs-3,
+.col-xs-4,
+.col-xs-5,
+.col-xs-6,
+.col-xs-7,
+.col-xs-8,
+.col-xs-9 {
+    float: left
+}
+
+.col-xs-12 {
+    width: 100%
+}
+
+.col-xs-11 {
+    width: 91.66666667%
+}
+
+.col-xs-10 {
+    width: 83.33333333%
+}
+
+.col-xs-9 {
+    width: 75%
+}
+
+.col-xs-8 {
+    width: 66.66666667%
+}
+
+.col-xs-7 {
+    width: 58.33333333%
+}
+
+.col-xs-6 {
+    width: 50%
+}
+
+.col-xs-5 {
+    width: 41.66666667%
+}
+
+.col-xs-4 {
+    width: 33.33333333%
+}
+
+.col-xs-3 {
+    width: 25%
+}
+
+.col-xs-2 {
+    width: 16.66666667%
+}
+
+.col-xs-1 {
+    width: 8.33333333%
+}
+
+.col-xs-pull-12 {
+    right: 100%
+}
+
+.col-xs-pull-11 {
+    right: 91.66666667%
+}
+
+.col-xs-pull-10 {
+    right: 83.33333333%
+}
+
+.col-xs-pull-9 {
+    right: 75%
+}
+
+.col-xs-pull-8 {
+    right: 66.66666667%
+}
+
+.col-xs-pull-7 {
+    right: 58.33333333%
+}
+
+.col-xs-pull-6 {
+    right: 50%
+}
+
+.col-xs-pull-5 {
+    right: 41.66666667%
+}
+
+.col-xs-pull-4 {
+    right: 33.33333333%
+}
+
+.col-xs-pull-3 {
+    right: 25%
+}
+
+.col-xs-pull-2 {
+    right: 16.66666667%
+}
+
+.col-xs-pull-1 {
+    right: 8.33333333%
+}
+
+.col-xs-pull-0 {
+    right: auto
+}
+
+.col-xs-push-12 {
+    left: 100%
+}
+
+.col-xs-push-11 {
+    left: 91.66666667%
+}
+
+.col-xs-push-10 {
+    left: 83.33333333%
+}
+
+.col-xs-push-9 {
+    left: 75%
+}
+
+.col-xs-push-8 {
+    left: 66.66666667%
+}
+
+.col-xs-push-7 {
+    left: 58.33333333%
+}
+
+.col-xs-push-6 {
+    left: 50%
+}
+
+.col-xs-push-5 {
+    left: 41.66666667%
+}
+
+.col-xs-push-4 {
+    left: 33.33333333%
+}
+
+.col-xs-push-3 {
+    left: 25%
+}
+
+.col-xs-push-2 {
+    left: 16.66666667%
+}
+
+.col-xs-push-1 {
+    left: 8.33333333%
+}
+
+.col-xs-push-0 {
+    left: auto
+}
+
+.col-xs-offset-12 {
+    margin-left: 100%
+}
+
+.col-xs-offset-11 {
+    margin-left: 91.66666667%
+}
+
+.col-xs-offset-10 {
+    margin-left: 83.33333333%
+}
+
+.col-xs-offset-9 {
+    margin-left: 75%
+}
+
+.col-xs-offset-8 {
+    margin-left: 66.66666667%
+}
+
+.col-xs-offset-7 {
+    margin-left: 58.33333333%
+}
+
+.col-xs-offset-6 {
+    margin-left: 50%
+}
+
+.col-xs-offset-5 {
+    margin-left: 41.66666667%
+}
+
+.col-xs-offset-4 {
+    margin-left: 33.33333333%
+}
+
+.col-xs-offset-3 {
+    margin-left: 25%
+}
+
+.col-xs-offset-2 {
+    margin-left: 16.66666667%
+}
+
+.col-xs-offset-1 {
+    margin-left: 8.33333333%
+}
+
+.col-xs-offset-0 {
+    margin-left: 0
+}
+
+@media (min-width:768px) {
+    .col-sm-1,
+    .col-sm-10,
+    .col-sm-11,
+    .col-sm-12,
+    .col-sm-2,
+    .col-sm-3,
+    .col-sm-4,
+    .col-sm-5,
+    .col-sm-6,
+    .col-sm-7,
+    .col-sm-8,
+    .col-sm-9 {
+        float: left
+    }
+    .col-sm-12 {
+        width: 100%
+    }
+    .col-sm-11 {
+        width: 91.66666667%
+    }
+    .col-sm-10 {
+        width: 83.33333333%
+    }
+    .col-sm-9 {
+        width: 75%
+    }
+    .col-sm-8 {
+        width: 66.66666667%
+    }
+    .col-sm-7 {
+        width: 58.33333333%
+    }
+    .col-sm-6 {
+        width: 50%
+    }
+    .col-sm-5 {
+        width: 41.66666667%
+    }
+    .col-sm-4 {
+        width: 33.33333333%
+    }
+    .col-sm-3 {
+        width: 25%
+    }
+    .col-sm-2 {
+        width: 16.66666667%
+    }
+    .col-sm-1 {
+        width: 8.33333333%
+    }
+    .col-sm-pull-12 {
+        right: 100%
+    }
+    .col-sm-pull-11 {
+        right: 91.66666667%
+    }
+    .col-sm-pull-10 {
+        right: 83.33333333%
+    }
+    .col-sm-pull-9 {
+        right: 75%
+    }
+    .col-sm-pull-8 {
+        right: 66.66666667%
+    }
+    .col-sm-pull-7 {
+        right: 58.33333333%
+    }
+    .col-sm-pull-6 {
+        right: 50%
+    }
+    .col-sm-pull-5 {
+        right: 41.66666667%
+    }
+    .col-sm-pull-4 {
+        right: 33.33333333%
+    }
+    .col-sm-pull-3 {
+        right: 25%
+    }
+    .col-sm-pull-2 {
+        right: 16.66666667%
+    }
+    .col-sm-pull-1 {
+        right: 8.33333333%
+    }
+    .col-sm-pull-0 {
+        right: auto
+    }
+    .col-sm-push-12 {
+        left: 100%
+    }
+    .col-sm-push-11 {
+        left: 91.66666667%
+    }
+    .col-sm-push-10 {
+        left: 83.33333333%
+    }
+    .col-sm-push-9 {
+        left: 75%
+    }
+    .col-sm-push-8 {
+        left: 66.66666667%
+    }
+    .col-sm-push-7 {
+        left: 58.33333333%
+    }
+    .col-sm-push-6 {
+        left: 50%
+    }
+    .col-sm-push-5 {
+        left: 41.66666667%
+    }
+    .col-sm-push-4 {
+        left: 33.33333333%
+    }
+    .col-sm-push-3 {
+        left: 25%
+    }
+    .col-sm-push-2 {
+        left: 16.66666667%
+    }
+    .col-sm-push-1 {
+        left: 8.33333333%
+    }
+    .col-sm-push-0 {
+        left: auto
+    }
+    .col-sm-offset-12 {
+        margin-left: 100%
+    }
+    .col-sm-offset-11 {
+        margin-left: 91.66666667%
+    }
+    .col-sm-offset-10 {
+        margin-left: 83.33333333%
+    }
+    .col-sm-offset-9 {
+        margin-left: 75%
+    }
+    .col-sm-offset-8 {
+        margin-left: 66.66666667%
+    }
+    .col-sm-offset-7 {
+        margin-left: 58.33333333%
+    }
+    .col-sm-offset-6 {
+        margin-left: 50%
+    }
+    .col-sm-offset-5 {
+        margin-left: 41.66666667%
+    }
+    .col-sm-offset-4 {
+        margin-left: 33.33333333%
+    }
+    .col-sm-offset-3 {
+        margin-left: 25%
+    }
+    .col-sm-offset-2 {
+        margin-left: 16.66666667%
+    }
+    .col-sm-offset-1 {
+        margin-left: 8.33333333%
+    }
+    .col-sm-offset-0 {
+        margin-left: 0
+    }
+}
+
+@media (min-width:992px) {
+    .col-md-1,
+    .col-md-10,
+    .col-md-11,
+    .col-md-12,
+    .col-md-2,
+    .col-md-3,
+    .col-md-4,
+    .col-md-5,
+    .col-md-6,
+    .col-md-7,
+    .col-md-8,
+    .col-md-9 {
+        float: left
+    }
+    .col-md-12 {
+        width: 100%
+    }
+    .col-md-11 {
+        width: 91.66666667%
+    }
+    .col-md-10 {
+        width: 83.33333333%
+    }
+    .col-md-9 {
+        width: 75%
+    }
+    .col-md-8 {
+        width: 66.66666667%
+    }
+    .col-md-7 {
+        width: 58.33333333%
+    }
+    .col-md-6 {
+        width: 50%
+    }
+    .col-md-5 {
+        width: 41.66666667%
+    }
+    .col-md-4 {
+        width: 33.33333333%
+    }
+    .col-md-3 {
+        width: 25%
+    }
+    .col-md-2 {
+        width: 16.66666667%
+    }
+    .col-md-1 {
+        width: 8.33333333%
+    }
+    .col-md-pull-12 {
+        right: 100%
+    }
+    .col-md-pull-11 {
+        right: 91.66666667%
+    }
+    .col-md-pull-10 {
+        right: 83.33333333%
+    }
+    .col-md-pull-9 {
+        right: 75%
+    }
+    .col-md-pull-8 {
+        right: 66.66666667%
+    }
+    .col-md-pull-7 {
+        right: 58.33333333%
+    }
+    .col-md-pull-6 {
+        right: 50%
+    }
+    .col-md-pull-5 {
+        right: 41.66666667%
+    }
+    .col-md-pull-4 {
+        right: 33.33333333%
+    }
+    .col-md-pull-3 {
+        right: 25%
+    }
+    .col-md-pull-2 {
+        right: 16.66666667%
+    }
+    .col-md-pull-1 {
+        right: 8.33333333%
+    }
+    .col-md-pull-0 {
+        right: auto
+    }
+    .col-md-push-12 {
+        left: 100%
+    }
+    .col-md-push-11 {
+        left: 91.66666667%
+    }
+    .col-md-push-10 {
+        left: 83.33333333%
+    }
+    .col-md-push-9 {
+        left: 75%
+    }
+    .col-md-push-8 {
+        left: 66.66666667%
+    }
+    .col-md-push-7 {
+        left: 58.33333333%
+    }
+    .col-md-push-6 {
+        left: 50%
+    }
+    .col-md-push-5 {
+        left: 41.66666667%
+    }
+    .col-md-push-4 {
+        left: 33.33333333%
+    }
+    .col-md-push-3 {
+        left: 25%
+    }
+    .col-md-push-2 {
+        left: 16.66666667%
+    }
+    .col-md-push-1 {
+        left: 8.33333333%
+    }
+    .col-md-push-0 {
+        left: auto
+    }
+    .col-md-offset-12 {
+        margin-left: 100%
+    }
+    .col-md-offset-11 {
+        margin-left: 91.66666667%
+    }
+    .col-md-offset-10 {
+        margin-left: 83.33333333%
+    }
+    .col-md-offset-9 {
+        margin-left: 75%
+    }
+    .col-md-offset-8 {
+        margin-left: 66.66666667%
+    }
+    .col-md-offset-7 {
+        margin-left: 58.33333333%
+    }
+    .col-md-offset-6 {
+        margin-left: 50%
+    }
+    .col-md-offset-5 {
+        margin-left: 41.66666667%
+    }
+    .col-md-offset-4 {
+        margin-left: 33.33333333%
+    }
+    .col-md-offset-3 {
+        margin-left: 25%
+    }
+    .col-md-offset-2 {
+        margin-left: 16.66666667%
+    }
+    .col-md-offset-1 {
+        margin-left: 8.33333333%
+    }
+    .col-md-offset-0 {
+        margin-left: 0
+    }
+}
+
+@media (min-width:1200px) {
+    .col-lg-1,
+    .col-lg-10,
+    .col-lg-11,
+    .col-lg-12,
+    .col-lg-2,
+    .col-lg-3,
+    .col-lg-4,
+    .col-lg-5,
+    .col-lg-6,
+    .col-lg-7,
+    .col-lg-8,
+    .col-lg-9 {
+        float: left
+    }
+    .col-lg-12 {
+        width: 100%
+    }
+    .col-lg-11 {
+        width: 91.66666667%
+    }
+    .col-lg-10 {
+        width: 83.33333333%
+    }
+    .col-lg-9 {
+        width: 75%
+    }
+    .col-lg-8 {
+        width: 66.66666667%
+    }
+    .col-lg-7 {
+        width: 58.33333333%
+    }
+    .col-lg-6 {
+        width: 50%
+    }
+    .col-lg-5 {
+        width: 41.66666667%
+    }
+    .col-lg-4 {
+        width: 33.33333333%
+    }
+    .col-lg-3 {
+        width: 25%
+    }
+    .col-lg-2 {
+        width: 16.66666667%
+    }
+    .col-lg-1 {
+        width: 8.33333333%
+    }
+    .col-lg-pull-12 {
+        right: 100%
+    }
+    .col-lg-pull-11 {
+        right: 91.66666667%
+    }
+    .col-lg-pull-10 {
+        right: 83.33333333%
+    }
+    .col-lg-pull-9 {
+        right: 75%
+    }
+    .col-lg-pull-8 {
+        right: 66.66666667%
+    }
+    .col-lg-pull-7 {
+        right: 58.33333333%
+    }
+    .col-lg-pull-6 {
+        right: 50%
+    }
+    .col-lg-pull-5 {
+        right: 41.66666667%
+    }
+    .col-lg-pull-4 {
+        right: 33.33333333%
+    }
+    .col-lg-pull-3 {
+        right: 25%
+    }
+    .col-lg-pull-2 {
+        right: 16.66666667%
+    }
+    .col-lg-pull-1 {
+        right: 8.33333333%
+    }
+    .col-lg-pull-0 {
+        right: auto
+    }
+    .col-lg-push-12 {
+        left: 100%
+    }
+    .col-lg-push-11 {
+        left: 91.66666667%
+    }
+    .col-lg-push-10 {
+        left: 83.33333333%
+    }
+    .col-lg-push-9 {
+        left: 75%
+    }
+    .col-lg-push-8 {
+        left: 66.66666667%
+    }
+    .col-lg-push-7 {
+        left: 58.33333333%
+    }
+    .col-lg-push-6 {
+        left: 50%
+    }
+    .col-lg-push-5 {
+        left: 41.66666667%
+    }
+    .col-lg-push-4 {
+        left: 33.33333333%
+    }
+    .col-lg-push-3 {
+        left: 25%
+    }
+    .col-lg-push-2 {
+        left: 16.66666667%
+    }
+    .col-lg-push-1 {
+        left: 8.33333333%
+    }
+    .col-lg-push-0 {
+        left: auto
+    }
+    .col-lg-offset-12 {
+        margin-left: 100%
+    }
+    .col-lg-offset-11 {
+        margin-left: 91.66666667%
+    }
+    .col-lg-offset-10 {
+        margin-left: 83.33333333%
+    }
+    .col-lg-offset-9 {
+        margin-left: 75%
+    }
+    .col-lg-offset-8 {
+        margin-left: 66.66666667%
+    }
+    .col-lg-offset-7 {
+        margin-left: 58.33333333%
+    }
+    .col-lg-offset-6 {
+        margin-left: 50%
+    }
+    .col-lg-offset-5 {
+        margin-left: 41.66666667%
+    }
+    .col-lg-offset-4 {
+        margin-left: 33.33333333%
+    }
+    .col-lg-offset-3 {
+        margin-left: 25%
+    }
+    .col-lg-offset-2 {
+        margin-left: 16.66666667%
+    }
+    .col-lg-offset-1 {
+        margin-left: 8.33333333%
+    }
+    .col-lg-offset-0 {
+        margin-left: 0
+    }
+}
+
+table {
+    background-color: transparent
+}
+
+caption {
+    padding-top: 8px;
+    padding-bottom: 8px;
+    color: #777;
+    text-align: left
+}
+
+th {
+    text-align: left
+}
+
+.table {
+    width: 100%;
+    max-width: 100%;
+    margin-bottom: 20px
+}
+
+.table>tbody>tr>td,
+.table>tbody>tr>th,
+.table>tfoot>tr>td,
+.table>tfoot>tr>th,
+.table>thead>tr>td,
+.table>thead>tr>th {
+    padding: 8px;
+    line-height: 1.42857143;
+    vertical-align: top;
+    border-top: 1px solid #ddd
+}
+
+.table>thead>tr>th {
+    vertical-align: bottom;
+    border-bottom: 2px solid #ddd
+}
+
+.table>caption+thead>tr:first-child>td,
+.table>caption+thead>tr:first-child>th,
+.table>colgroup+thead>tr:first-child>td,
+.table>colgroup+thead>tr:first-child>th,
+.table>thead:first-child>tr:first-child>td,
+.table>thead:first-child>tr:first-child>th {
+    border-top: 0
+}
+
+.table>tbody+tbody {
+    border-top: 2px solid #ddd
+}
+
+.table .table {
+    background-color: #fff
+}
+
+.table-condensed>tbody>tr>td,
+.table-condensed>tbody>tr>th,
+.table-condensed>tfoot>tr>td,
+.table-condensed>tfoot>tr>th,
+.table-condensed>thead>tr>td,
+.table-condensed>thead>tr>th {
+    padding: 5px
+}
+
+.table-bordered {
+    border: 1px solid #ddd
+}
+
+.table-bordered>tbody>tr>td,
+.table-bordered>tbody>tr>th,
+.table-bordered>tfoot>tr>td,
+.table-bordered>tfoot>tr>th,
+.table-bordered>thead>tr>td,
+.table-bordered>thead>tr>th {
+    border: 1px solid #ddd
+}
+
+.table-bordered>thead>tr>td,
+.table-bordered>thead>tr>th {
+    border-bottom-width: 2px
+}
+
+.table-striped>tbody>tr:nth-of-type(odd) {
+    background-color: #f9f9f9
+}
+
+.table-hover>tbody>tr:hover {
+    background-color: #f5f5f5
+}
+
+table col[class*=col-] {
+    position: static;
+    display: table-column;
+    float: none
+}
+
+table td[class*=col-],
+table th[class*=col-] {
+    position: static;
+    display: table-cell;
+    float: none
+}
+
+.table>tbody>tr.active>td,
+.table>tbody>tr.active>th,
+.table>tbody>tr>td.active,
+.table>tbody>tr>th.active,
+.table>tfoot>tr.active>td,
+.table>tfoot>tr.active>th,
+.table>tfoot>tr>td.active,
+.table>tfoot>tr>th.active,
+.table>thead>tr.active>td,
+.table>thead>tr.active>th,
+.table>thead>tr>td.active,
+.table>thead>tr>th.active {
+    background-color: #f5f5f5
+}
+
+.table-hover>tbody>tr.active:hover>td,
+.table-hover>tbody>tr.active:hover>th,
+.table-hover>tbody>tr:hover>.active,
+.table-hover>tbody>tr>td.active:hover,
+.table-hover>tbody>tr>th.active:hover {
+    background-color: #e8e8e8
+}
+
+.table>tbody>tr.success>td,
+.table>tbody>tr.success>th,
+.table>tbody>tr>td.success,
+.table>tbody>tr>th.success,
+.table>tfoot>tr.success>td,
+.table>tfoot>tr.success>th,
+.table>tfoot>tr>td.success,
+.table>tfoot>tr>th.success,
+.table>thead>tr.success>td,
+.table>thead>tr.success>th,
+.table>thead>tr>td.success,
+.table>thead>tr>th.success {
+    background-color: #dff0d8
+}
+
+.table-hover>tbody>tr.success:hover>td,
+.table-hover>tbody>tr.success:hover>th,
+.table-hover>tbody>tr:hover>.success,
+.table-hover>tbody>tr>td.success:hover,
+.table-hover>tbody>tr>th.success:hover {
+    background-color: #d0e9c6
+}
+
+.table>tbody>tr.info>td,
+.table>tbody>tr.info>th,
+.table>tbody>tr>td.info,
+.table>tbody>tr>th.info,
+.table>tfoot>tr.info>td,
+.table>tfoot>tr.info>th,
+.table>tfoot>tr>td.info,
+.table>tfoot>tr>th.info,
+.table>thead>tr.info>td,
+.table>thead>tr.info>th,
+.table>thead>tr>td.info,
+.table>thead>tr>th.info {
+    background-color: #d9edf7
+}
+
+.table-hover>tbody>tr.info:hover>td,
+.table-hover>tbody>tr.info:hover>th,
+.table-hover>tbody>tr:hover>.info,
+.table-hover>tbody>tr>td.info:hover,
+.table-hover>tbody>tr>th.info:hover {
+    background-color: #c4e3f3
+}
+
+.table>tbody>tr.warning>td,
+.table>tbody>tr.warning>th,
+.table>tbody>tr>td.warning,
+.table>tbody>tr>th.warning,
+.table>tfoot>tr.warning>td,
+.table>tfoot>tr.warning>th,
+.table>tfoot>tr>td.warning,
+.table>tfoot>tr>th.warning,
+.table>thead>tr.warning>td,
+.table>thead>tr.warning>th,
+.table>thead>tr>td.warning,
+.table>thead>tr>th.warning {
+    background-color: #fcf8e3
+}
+
+.table-hover>tbody>tr.warning:hover>td,
+.table-hover>tbody>tr.warning:hover>th,
+.table-hover>tbody>tr:hover>.warning,
+.table-hover>tbody>tr>td.warning:hover,
+.table-hover>tbody>tr>th.warning:hover {
+    background-color: #faf2cc
+}
+
+.table>tbody>tr.danger>td,
+.table>tbody>tr.danger>th,
+.table>tbody>tr>td.danger,
+.table>tbody>tr>th.danger,
+.table>tfoot>tr.danger>td,
+.table>tfoot>tr.danger>th,
+.table>tfoot>tr>td.danger,
+.table>tfoot>tr>th.danger,
+.table>thead>tr.danger>td,
+.table>thead>tr.danger>th,
+.table>thead>tr>td.danger,
+.table>thead>tr>th.danger {
+    background-color: #f2dede
+}
+
+.table-hover>tbody>tr.danger:hover>td,
+.table-hover>tbody>tr.danger:hover>th,
+.table-hover>tbody>tr:hover>.danger,
+.table-hover>tbody>tr>td.danger:hover,
+.table-hover>tbody>tr>th.danger:hover {
+    background-color: #ebcccc
+}
+
+.table-responsive {
+    min-height: .01%;
+    overflow-x: auto
+}
+
+@media screen and (max-width:767px) {
+    .table-responsive {
+        width: 100%;
+        margin-bottom: 15px;
+        overflow-y: hidden;
+        -ms-overflow-style: -ms-autohiding-scrollbar;
+        border: 1px solid #ddd
+    }
+    .table-responsive>.table {
+        margin-bottom: 0
+    }
+    .table-responsive>.table>tbody>tr>td,
+    .table-responsive>.table>tbody>tr>th,
+    .table-responsive>.table>tfoot>tr>td,
+    .table-responsive>.table>tfoot>tr>th,
+    .table-responsive>.table>thead>tr>td,
+    .table-responsive>.table>thead>tr>th {
+        white-space: nowrap
+    }
+    .table-responsive>.table-bordered {
+        border: 0
+    }
+    .table-responsive>.table-bordered>tbody>tr>td:first-child,
+    .table-responsive>.table-bordered>tbody>tr>th:first-child,
+    .table-responsive>.table-bordered>tfoot>tr>td:first-child,
+    .table-responsive>.table-bordered>tfoot>tr>th:first-child,
+    .table-responsive>.table-bordered>thead>tr>td:first-child,
+    .table-responsive>.table-bordered>thead>tr>th:first-child {
+        border-left: 0
+    }
+    .table-responsive>.table-bordered>tbody>tr>td:last-child,
+    .table-responsive>.table-bordered>tbody>tr>th:last-child,
+    .table-responsive>.table-bordered>tfoot>tr>td:last-child,
+    .table-responsive>.table-bordered>tfoot>tr>th:last-child,
+    .table-responsive>.table-bordered>thead>tr>td:last-child,
+    .table-responsive>.table-bordered>thead>tr>th:last-child {
+        border-right: 0
+    }
+    .table-responsive>.table-bordered>tbody>tr:last-child>td,
+    .table-responsive>.table-bordered>tbody>tr:last-child>th,
+    .table-responsive>.table-bordered>tfoot>tr:last-child>td,
+    .table-responsive>.table-bordered>tfoot>tr:last-child>th {
+        border-bottom: 0
+    }
+}
+
+fieldset {
+    min-width: 0;
+    padding: 0;
+    margin: 0;
+    border: 0
+}
+
+legend {
+    display: block;
+    width: 100%;
+    padding: 0;
+    margin-bottom: 20px;
+    font-size: 21px;
+    line-height: inherit;
+    color: #333;
+    border: 0;
+    border-bottom: 1px solid #e5e5e5
+}
+
+label {
+    display: inline-block;
+    max-width: 100%;
+    margin-bottom: 5px;
+    font-weight: 700
+}
+
+input[type=search] {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+input[type=checkbox],
+input[type=radio] {
+    margin: 4px 0 0;
+    margin-top: 1px \9;
+    line-height: normal
+}
+
+input[type=file] {
+    display: block
+}
+
+input[type=range] {
+    display: block;
+    width: 100%
+}
+
+select[multiple],
+select[size] {
+    height: auto
+}
+
+input[type=file]:focus,
+input[type=checkbox]:focus,
+input[type=radio]:focus {
+    outline: thin dotted;
+    outline: 5px auto -webkit-focus-ring-color;
+    outline-offset: -2px
+}
+
+output {
+    display: block;
+    padding-top: 7px;
+    font-size: 14px;
+    line-height: 1.42857143;
+    color: #555
+}
+
+.form-control {
+    display: block;
+    width: 100%;
+    height: 34px;
+    padding: 6px 12px;
+    font-size: 14px;
+    line-height: 1.42857143;
+    color: #555;
+    background-color: #fff;
+    background-image: none;
+    border: 1px solid #ccc;
+    border-radius: 4px;
+}
+
+.form-control:focus {
+    border-color: #66afe9;
+    outline: 0;
+}
+
+.form-control::-moz-placeholder {
+    color: #999;
+    opacity: 1
+}
+
+.form-control:-ms-input-placeholder {
+    color: #999
+}
+
+.form-control::-webkit-input-placeholder {
+    color: #999
+}
+
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+    cursor: not-allowed;
+    background-color: #eee;
+    opacity: 1
+}
+
+textarea.form-control {
+    height: auto
+}
+
+input[type=search] {
+    -webkit-appearance: none
+}
+
+@media screen and (-webkit-min-device-pixel-ratio:0) {
+    input[type=date],
+    input[type=time],
+    input[type=datetime-local],
+    input[type=month] {
+        line-height: 34px
+    }
+    .input-group-sm input[type=date],
+    .input-group-sm input[type=time],
+    .input-group-sm input[type=datetime-local],
+    .input-group-sm input[type=month],
+    input[type=date].input-sm,
+    input[type=time].input-sm,
+    input[type=datetime-local].input-sm,
+    input[type=month].input-sm {
+        line-height: 30px
+    }
+    .input-group-lg input[type=date],
+    .input-group-lg input[type=time],
+    .input-group-lg input[type=datetime-local],
+    .input-group-lg input[type=month],
+    input[type=date].input-lg,
+    input[type=time].input-lg,
+    input[type=datetime-local].input-lg,
+    input[type=month].input-lg {
+        line-height: 46px
+    }
+}
+
+.form-group {
+    margin-bottom: 15px
+}
+
+.checkbox,
+.radio {
+    position: relative;
+    display: block;
+    margin-top: 10px;
+    margin-bottom: 10px
+}
+
+.checkbox label,
+.radio label {
+    min-height: 20px;
+    padding-left: 20px;
+    margin-bottom: 0;
+    font-weight: 400;
+    cursor: pointer
+}
+
+.checkbox input[type=checkbox],
+.checkbox-inline input[type=checkbox],
+.radio input[type=radio],
+.radio-inline input[type=radio] {
+    position: absolute;
+    margin-top: 4px \9;
+    margin-left: -20px
+}
+
+.checkbox+.checkbox,
+.radio+.radio {
+    margin-top: -5px
+}
+
+.checkbox-inline,
+.radio-inline {
+    display: inline-block;
+    padding-left: 20px;
+    margin-bottom: 0;
+    font-weight: 400;
+    vertical-align: middle;
+    cursor: pointer
+}
+
+.checkbox-inline+.checkbox-inline,
+.radio-inline+.radio-inline {
+    margin-top: 0;
+    margin-left: 10px
+}
+
+fieldset[disabled] input[type=checkbox],
+fieldset[disabled] input[type=radio],
+input[type=checkbox].disabled,
+input[type=checkbox][disabled],
+input[type=radio].disabled,
+input[type=radio][disabled] {
+    cursor: not-allowed
+}
+
+.checkbox-inline.disabled,
+.radio-inline.disabled,
+fieldset[disabled] .checkbox-inline,
+fieldset[disabled] .radio-inline {
+    cursor: not-allowed
+}
+
+.checkbox.disabled label,
+.radio.disabled label,
+fieldset[disabled] .checkbox label,
+fieldset[disabled] .radio label {
+    cursor: not-allowed
+}
+
+.form-control-static {
+    padding-top: 7px;
+    padding-bottom: 7px;
+    margin-bottom: 0
+}
+
+.form-control-static.input-lg,
+.form-control-static.input-sm {
+    padding-right: 0;
+    padding-left: 0
+}
+
+.input-sm {
+    height: 30px;
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+select.input-sm {
+    height: 30px;
+    line-height: 30px
+}
+
+select[multiple].input-sm,
+textarea.input-sm {
+    height: auto
+}
+
+.form-group-sm .form-control {
+    height: 30px;
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+select.form-group-sm .form-control {
+    height: 30px;
+    line-height: 30px
+}
+
+select[multiple].form-group-sm .form-control,
+textarea.form-group-sm .form-control {
+    height: auto
+}
+
+.form-group-sm .form-control-static {
+    height: 30px;
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5
+}
+
+.input-lg {
+    height: 46px;
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.3333333;
+    border-radius: 6px
+}
+
+select.input-lg {
+    height: 46px;
+    line-height: 46px
+}
+
+select[multiple].input-lg,
+textarea.input-lg {
+    height: auto
+}
+
+.form-group-lg .form-control {
+    height: 46px;
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.3333333;
+    border-radius: 6px
+}
+
+select.form-group-lg .form-control {
+    height: 46px;
+    line-height: 46px
+}
+
+select[multiple].form-group-lg .form-control,
+textarea.form-group-lg .form-control {
+    height: auto
+}
+
+.form-group-lg .form-control-static {
+    height: 46px;
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.3333333
+}
+
+.has-feedback {
+    position: relative
+}
+
+.has-feedback .form-control {
+    padding-right: 42.5px
+}
+
+.form-control-feedback {
+    position: absolute;
+    top: 0;
+    right: 0;
+    z-index: 2;
+    display: block;
+    width: 34px;
+    height: 34px;
+    line-height: 34px;
+    text-align: center;
+}
+
+.input-lg+.form-control-feedback {
+    width: 46px;
+    height: 46px;
+    line-height: 46px
+}
+
+.input-sm+.form-control-feedback {
+    width: 30px;
+    height: 30px;
+    line-height: 30px
+}
+
+.has-success .checkbox,
+.has-success .checkbox-inline,
+.has-success .control-label,
+.has-success .help-block,
+.has-success .radio,
+.has-success .radio-inline,
+.has-success.checkbox label,
+.has-success.checkbox-inline label,
+.has-success.radio label,
+.has-success.radio-inline label {
+    color: #3c763d
+}
+
+.has-success .form-control {
+    border-color: #3c763d;
+}
+
+.has-success .form-control:focus {
+    border-color: #2b542c;
+}
+
+.has-success .input-group-addon {
+    color: #3c763d;
+    background-color: #dff0d8;
+    border-color: #3c763d
+}
+
+.has-success .form-control-feedback {
+    color: #3c763d
+}
+
+.has-warning .checkbox,
+.has-warning .checkbox-inline,
+.has-warning .control-label,
+.has-warning .help-block,
+.has-warning .radio,
+.has-warning .radio-inline,
+.has-warning.checkbox label,
+.has-warning.checkbox-inline label,
+.has-warning.radio label,
+.has-warning.radio-inline label {
+    color: #8a6d3b
+}
+
+.has-warning .form-control {
+    border-color: #8a6d3b;
+}
+
+.has-warning .form-control:focus {
+    border-color: #66512c;
+}
+
+.has-warning .input-group-addon {
+    color: #8a6d3b;
+    background-color: #fcf8e3;
+    border-color: #8a6d3b
+}
+
+.has-warning .form-control-feedback {
+    color: #8a6d3b
+}
+
+.has-error .checkbox,
+.has-error .checkbox-inline,
+.has-error .control-label,
+.has-error .help-block,
+.has-error .radio,
+.has-error .radio-inline,
+.has-error.checkbox label,
+.has-error.checkbox-inline label,
+.has-error.radio label,
+.has-error.radio-inline label {
+    color: #a94442
+}
+
+.has-error .form-control {
+    border-color: #a94442;
+}
+
+.has-error .form-control:focus {
+    border-color: #843534;
+}
+
+.has-error .input-group-addon {
+    color: #a94442;
+    background-color: #f2dede;
+    border-color: #a94442
+}
+
+.has-error .form-control-feedback {
+    color: #a94442
+}
+
+.has-feedback label~.form-control-feedback {
+    top: 25px
+}
+
+.has-feedback label.sr-only~.form-control-feedback {
+    top: 0
+}
+
+.help-block {
+    display: block;
+    margin-top: 5px;
+    margin-bottom: 10px;
+    color: #737373
+}
+
+@media (min-width:768px) {
+    .form-inline .form-group {
+        display: inline-block;
+        margin-bottom: 0;
+        vertical-align: middle
+    }
+    .form-inline .form-control {
+        display: inline-block;
+        width: auto;
+        vertical-align: middle
+    }
+    .form-inline .form-control-static {
+        display: inline-block
+    }
+    .form-inline .input-group {
+        display: inline-table;
+        vertical-align: middle
+    }
+    .form-inline .input-group .form-control,
+    .form-inline .input-group .input-group-addon,
+    .form-inline .input-group .input-group-btn {
+        width: auto
+    }
+    .form-inline .input-group>.form-control {
+        width: 100%
+    }
+    .form-inline .control-label {
+        margin-bottom: 0;
+        vertical-align: middle
+    }
+    .form-inline .checkbox,
+    .form-inline .radio {
+        display: inline-block;
+        margin-top: 0;
+        margin-bottom: 0;
+        vertical-align: middle
+    }
+    .form-inline .checkbox label,
+    .form-inline .radio label {
+        padding-left: 0
+    }
+    .form-inline .checkbox input[type=checkbox],
+    .form-inline .radio input[type=radio] {
+        position: relative;
+        margin-left: 0
+    }
+    .form-inline .has-feedback .form-control-feedback {
+        top: 0
+    }
+}
+
+.form-horizontal .checkbox,
+.form-horizontal .checkbox-inline,
+.form-horizontal .radio,
+.form-horizontal .radio-inline {
+    padding-top: 7px;
+    margin-top: 0;
+    margin-bottom: 0
+}
+
+.form-horizontal .checkbox,
+.form-horizontal .radio {
+    min-height: 27px
+}
+
+.form-horizontal .form-group {
+    margin-right: -15px;
+    margin-left: -15px
+}
+
+@media (min-width:768px) {
+    .form-horizontal .control-label {
+        padding-top: 7px;
+        margin-bottom: 0;
+        text-align: right
+    }
+}
+
+.form-horizontal .has-feedback .form-control-feedback {
+    right: 15px
+}
+
+@media (min-width:768px) {
+    .form-horizontal .form-group-lg .control-label {
+        padding-top: 14.33px
+    }
+}
+
+@media (min-width:768px) {
+    .form-horizontal .form-group-sm .control-label {
+        padding-top: 6px
+    }
+}
+
+.btn {
+    display: inline-block;
+    padding: 6px 12px;
+    margin-bottom: 0;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 1.42857143;
+    text-align: center;
+    white-space: nowrap;
+    vertical-align: middle;
+    -ms-touch-action: manipulation;
+    touch-action: manipulation;
+    cursor: pointer;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    background-image: none;
+    border: 1px solid transparent;
+    border-radius: 4px
+}
+
+.btn.active.focus,
+.btn.active:focus,
+.btn.focus,
+.btn:active.focus,
+.btn:active:focus,
+.btn:focus {
+    outline: thin dotted;
+    outline: 5px auto -webkit-focus-ring-color;
+    outline-offset: -2px
+}
+
+.btn.focus,
+.btn:focus,
+.btn:hover {
+    color: #333;
+    text-decoration: none
+}
+
+.btn.active,
+.btn:active {
+    background-image: none;
+    outline: 0;
+}
+
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+    cursor: not-allowed;
+    filter: alpha(opacity=65);
+    opacity: .65
+}
+
+.btn-default {
+    color: #333;
+    background-color: #fff;
+    border-color: #ccc
+}
+
+.btn-default.active,
+.btn-default.focus,
+.btn-default:active,
+.btn-default:focus,
+.btn-default:hover,
+.open>.dropdown-toggle.btn-default {
+    color: #333;
+    background-color: #e6e6e6;
+    border-color: #adadad
+}
+
+.btn-default.active,
+.btn-default:active,
+.open>.dropdown-toggle.btn-default {
+    background-image: none
+}
+
+.btn-default.disabled,
+.btn-default.disabled.active,
+.btn-default.disabled.focus,
+.btn-default.disabled:active,
+.btn-default.disabled:focus,
+.btn-default.disabled:hover,
+.btn-default[disabled],
+.btn-default[disabled].active,
+.btn-default[disabled].focus,
+.btn-default[disabled]:active,
+.btn-default[disabled]:focus,
+.btn-default[disabled]:hover,
+fieldset[disabled] .btn-default,
+fieldset[disabled] .btn-default.active,
+fieldset[disabled] .btn-default.focus,
+fieldset[disabled] .btn-default:active,
+fieldset[disabled] .btn-default:focus,
+fieldset[disabled] .btn-default:hover {
+    background-color: #fff;
+    border-color: #ccc
+}
+
+.btn-default .badge {
+    color: #fff;
+    background-color: #333
+}
+
+.btn-primary {
+    color: #fff;
+    background-color: #337ab7;
+    border-color: #2e6da4
+}
+
+.btn-primary.active,
+.btn-primary.focus,
+.btn-primary:active,
+.btn-primary:focus,
+.btn-primary:hover,
+.open>.dropdown-toggle.btn-primary {
+    color: #fff;
+    background-color: #286090;
+    border-color: #204d74
+}
+
+.btn-primary.active,
+.btn-primary:active,
+.open>.dropdown-toggle.btn-primary {
+    background-image: none
+}
+
+.btn-primary.disabled,
+.btn-primary.disabled.active,
+.btn-primary.disabled.focus,
+.btn-primary.disabled:active,
+.btn-primary.disabled:focus,
+.btn-primary.disabled:hover,
+.btn-primary[disabled],
+.btn-primary[disabled].active,
+.btn-primary[disabled].focus,
+.btn-primary[disabled]:active,
+.btn-primary[disabled]:focus,
+.btn-primary[disabled]:hover,
+fieldset[disabled] .btn-primary,
+fieldset[disabled] .btn-primary.active,
+fieldset[disabled] .btn-primary.focus,
+fieldset[disabled] .btn-primary:active,
+fieldset[disabled] .btn-primary:focus,
+fieldset[disabled] .btn-primary:hover {
+    background-color: #337ab7;
+    border-color: #2e6da4
+}
+
+.btn-primary .badge {
+    color: #337ab7;
+    background-color: #fff
+}
+
+.btn-success {
+    color: #fff;
+    background-color: #5cb85c;
+    border-color: #4cae4c
+}
+
+.btn-success.active,
+.btn-success.focus,
+.btn-success:active,
+.btn-success:focus,
+.btn-success:hover,
+.open>.dropdown-toggle.btn-success {
+    color: #fff;
+    background-color: #449d44;
+    border-color: #398439
+}
+
+.btn-success.active,
+.btn-success:active,
+.open>.dropdown-toggle.btn-success {
+    background-image: none
+}
+
+.btn-success.disabled,
+.btn-success.disabled.active,
+.btn-success.disabled.focus,
+.btn-success.disabled:active,
+.btn-success.disabled:focus,
+.btn-success.disabled:hover,
+.btn-success[disabled],
+.btn-success[disabled].active,
+.btn-success[disabled].focus,
+.btn-success[disabled]:active,
+.btn-success[disabled]:focus,
+.btn-success[disabled]:hover,
+fieldset[disabled] .btn-success,
+fieldset[disabled] .btn-success.active,
+fieldset[disabled] .btn-success.focus,
+fieldset[disabled] .btn-success:active,
+fieldset[disabled] .btn-success:focus,
+fieldset[disabled] .btn-success:hover {
+    background-color: #5cb85c;
+    border-color: #4cae4c
+}
+
+.btn-success .badge {
+    color: #5cb85c;
+    background-color: #fff
+}
+
+.btn-info {
+    color: #fff;
+    background-color: #5bc0de;
+    border-color: #46b8da
+}
+
+.btn-info.active,
+.btn-info.focus,
+.btn-info:active,
+.btn-info:focus,
+.btn-info:hover,
+.open>.dropdown-toggle.btn-info {
+    color: #fff;
+    background-color: #31b0d5;
+    border-color: #269abc
+}
+
+.btn-info.active,
+.btn-info:active,
+.open>.dropdown-toggle.btn-info {
+    background-image: none
+}
+
+.btn-info.disabled,
+.btn-info.disabled.active,
+.btn-info.disabled.focus,
+.btn-info.disabled:active,
+.btn-info.disabled:focus,
+.btn-info.disabled:hover,
+.btn-info[disabled],
+.btn-info[disabled].active,
+.btn-info[disabled].focus,
+.btn-info[disabled]:active,
+.btn-info[disabled]:focus,
+.btn-info[disabled]:hover,
+fieldset[disabled] .btn-info,
+fieldset[disabled] .btn-info.active,
+fieldset[disabled] .btn-info.focus,
+fieldset[disabled] .btn-info:active,
+fieldset[disabled] .btn-info:focus,
+fieldset[disabled] .btn-info:hover {
+    background-color: #5bc0de;
+    border-color: #46b8da
+}
+
+.btn-info .badge {
+    color: #5bc0de;
+    background-color: #fff
+}
+
+.btn-warning {
+    color: #fff;
+    background-color: #f0ad4e;
+    border-color: #eea236
+}
+
+.btn-warning.active,
+.btn-warning.focus,
+.btn-warning:active,
+.btn-warning:focus,
+.btn-warning:hover,
+.open>.dropdown-toggle.btn-warning {
+    color: #fff;
+    background-color: #ec971f;
+    border-color: #d58512
+}
+
+.btn-warning.active,
+.btn-warning:active,
+.open>.dropdown-toggle.btn-warning {
+    background-image: none
+}
+
+.btn-warning.disabled,
+.btn-warning.disabled.active,
+.btn-warning.disabled.focus,
+.btn-warning.disabled:active,
+.btn-warning.disabled:focus,
+.btn-warning.disabled:hover,
+.btn-warning[disabled],
+.btn-warning[disabled].active,
+.btn-warning[disabled].focus,
+.btn-warning[disabled]:active,
+.btn-warning[disabled]:focus,
+.btn-warning[disabled]:hover,
+fieldset[disabled] .btn-warning,
+fieldset[disabled] .btn-warning.active,
+fieldset[disabled] .btn-warning.focus,
+fieldset[disabled] .btn-warning:active,
+fieldset[disabled] .btn-warning:focus,
+fieldset[disabled] .btn-warning:hover {
+    background-color: #f0ad4e;
+    border-color: #eea236
+}
+
+.btn-warning .badge {
+    color: #f0ad4e;
+    background-color: #fff
+}
+
+.btn-danger {
+    color: #fff;
+    background-color: #d9534f;
+    border-color: #d43f3a
+}
+
+.btn-danger.active,
+.btn-danger.focus,
+.btn-danger:active,
+.btn-danger:focus,
+.btn-danger:hover,
+.open>.dropdown-toggle.btn-danger {
+    color: #fff;
+    background-color: #c9302c;
+    border-color: #ac2925
+}
+
+.btn-danger.active,
+.btn-danger:active,
+.open>.dropdown-toggle.btn-danger {
+    background-image: none
+}
+
+.btn-danger.disabled,
+.btn-danger.disabled.active,
+.btn-danger.disabled.focus,
+.btn-danger.disabled:active,
+.btn-danger.disabled:focus,
+.btn-danger.disabled:hover,
+.btn-danger[disabled],
+.btn-danger[disabled].active,
+.btn-danger[disabled].focus,
+.btn-danger[disabled]:active,
+.btn-danger[disabled]:focus,
+.btn-danger[disabled]:hover,
+fieldset[disabled] .btn-danger,
+fieldset[disabled] .btn-danger.active,
+fieldset[disabled] .btn-danger.focus,
+fieldset[disabled] .btn-danger:active,
+fieldset[disabled] .btn-danger:focus,
+fieldset[disabled] .btn-danger:hover {
+    background-color: #d9534f;
+    border-color: #d43f3a
+}
+
+.btn-danger .badge {
+    color: #d9534f;
+    background-color: #fff
+}
+
+.btn-link {
+    font-weight: 400;
+    color: #337ab7;
+    border-radius: 0
+}
+
+.btn-link,
+.btn-link.active,
+.btn-link:active,
+.btn-link[disabled],
+fieldset[disabled] .btn-link {
+    background-color: transparent;
+}
+
+.btn-link,
+.btn-link:active,
+.btn-link:focus,
+.btn-link:hover {
+    border-color: transparent
+}
+
+.btn-link:focus,
+.btn-link:hover {
+    color: #23527c;
+    text-decoration: underline;
+    background-color: transparent
+}
+
+.btn-link[disabled]:focus,
+.btn-link[disabled]:hover,
+fieldset[disabled] .btn-link:focus,
+fieldset[disabled] .btn-link:hover {
+    color: #777;
+    text-decoration: none
+}
+
+.btn-group-lg>.btn,
+.btn-lg {
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.3333333;
+    border-radius: 6px
+}
+
+.btn-group-sm>.btn,
+.btn-sm {
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+.btn-group-xs>.btn,
+.btn-xs {
+    padding: 1px 5px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+.btn-block {
+    display: block;
+    width: 100%
+}
+
+.btn-block+.btn-block {
+    margin-top: 5px
+}
+
+input[type=button].btn-block,
+input[type=reset].btn-block,
+input[type=submit].btn-block {
+    width: 100%
+}
+
+.fade {
+    opacity: 0;
+    -webkit-transition: opacity .15s linear;
+    -o-transition: opacity .15s linear;
+    transition: opacity .15s linear
+}
+
+.fade.in {
+    opacity: 1
+}
+
+.collapse {
+    display: none;
+    visibility: hidden
+}
+
+.collapse.in {
+    display: block;
+    visibility: visible
+}
+
+tr.collapse.in {
+    display: table-row
+}
+
+tbody.collapse.in {
+    display: table-row-group
+}
+
+.collapsing {
+    position: relative;
+    height: 0;
+    overflow: hidden;
+    -webkit-transition-timing-function: ease;
+    -o-transition-timing-function: ease;
+    transition-timing-function: ease;
+    -webkit-transition-duration: .35s;
+    -o-transition-duration: .35s;
+    transition-duration: .35s;
+    -webkit-transition-property: height, visibility;
+    -o-transition-property: height, visibility;
+    transition-property: height, visibility
+}
+
+.caret {
+    display: inline-block;
+    width: 0;
+    height: 0;
+    margin-left: 2px;
+    vertical-align: middle;
+    border-top: 4px solid;
+    border-right: 4px solid transparent;
+    border-left: 4px solid transparent
+}
+
+.dropdown,
+.dropup {
+    position: relative
+}
+
+.dropdown-toggle:focus {
+    outline: 0
+}
+
+.dropdown-menu {
+    position: absolute;
+    top: 100%;
+    left: 0;
+    z-index: 1000;
+    display: none;
+    float: left;
+    min-width: 160px;
+    padding: 5px 0;
+    margin: 2px 0 0;
+    font-size: 14px;
+    text-align: left;
+    list-style: none;
+    background-color: #fff;
+    -webkit-background-clip: padding-box;
+    background-clip: padding-box;
+    border: 1px solid #ccc;
+    border: 1px solid rgba(0, 0, 0, .15);
+    border-radius: 4px;
+}
+
+.dropdown-menu.pull-right {
+    right: 0;
+    left: auto
+}
+
+.dropdown-menu .divider {
+    height: 1px;
+    margin: 9px 0;
+    overflow: hidden;
+    background-color: #e5e5e5
+}
+
+.dropdown-menu>li>a {
+    display: block;
+    padding: 3px 20px;
+    clear: both;
+    font-weight: 400;
+    line-height: 1.42857143;
+    color: #333;
+    white-space: nowrap
+}
+
+.dropdown-menu>li>a:focus,
+.dropdown-menu>li>a:hover {
+    color: #262626;
+    text-decoration: none;
+    background-color: #f5f5f5
+}
+
+.dropdown-menu>.active>a,
+.dropdown-menu>.active>a:focus,
+.dropdown-menu>.active>a:hover {
+    color: #fff;
+    text-decoration: none;
+    background-color: #337ab7;
+    outline: 0
+}
+
+.dropdown-menu>.disabled>a,
+.dropdown-menu>.disabled>a:focus,
+.dropdown-menu>.disabled>a:hover {
+    color: #777
+}
+
+.dropdown-menu>.disabled>a:focus,
+.dropdown-menu>.disabled>a:hover {
+    text-decoration: none;
+    cursor: not-allowed;
+    background-color: transparent;
+    background-image: none;
+    filter: progid: DXImageTransform.Microsoft.gradient(enabled=false)
+}
+
+.open>.dropdown-menu {
+    display: block
+}
+
+.open>a {
+    outline: 0
+}
+
+.dropdown-menu-right {
+    right: 0;
+    left: auto
+}
+
+.dropdown-menu-left {
+    right: auto;
+    left: 0
+}
+
+.dropdown-header {
+    display: block;
+    padding: 3px 20px;
+    font-size: 12px;
+    line-height: 1.42857143;
+    color: #777;
+    white-space: nowrap
+}
+
+.dropdown-backdrop {
+    position: fixed;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 990
+}
+
+.pull-right>.dropdown-menu {
+    right: 0;
+    left: auto
+}
+
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+    content: "";
+    border-top: 0;
+    border-bottom: 4px solid
+}
+
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+    top: auto;
+    bottom: 100%;
+    margin-bottom: 2px
+}
+
+@media (min-width:768px) {
+    .navbar-right .dropdown-menu {
+        right: 0;
+        left: auto
+    }
+    .navbar-right .dropdown-menu-left {
+        right: auto;
+        left: 0
+    }
+}
+
+.btn-group,
+.btn-group-vertical {
+    position: relative;
+    display: inline-block;
+    vertical-align: middle
+}
+
+.btn-group-vertical>.btn,
+.btn-group>.btn {
+    position: relative;
+    float: left
+}
+
+.btn-group-vertical>.btn.active,
+.btn-group-vertical>.btn:active,
+.btn-group-vertical>.btn:focus,
+.btn-group-vertical>.btn:hover,
+.btn-group>.btn.active,
+.btn-group>.btn:active,
+.btn-group>.btn:focus,
+.btn-group>.btn:hover {
+    z-index: 2
+}
+
+.btn-group .btn+.btn,
+.btn-group .btn+.btn-group,
+.btn-group .btn-group+.btn,
+.btn-group .btn-group+.btn-group {
+    margin-left: -1px
+}
+
+.btn-toolbar {
+    margin-left: -5px
+}
+
+.btn-toolbar .btn-group,
+.btn-toolbar .input-group {
+    float: left
+}
+
+.btn-toolbar>.btn,
+.btn-toolbar>.btn-group,
+.btn-toolbar>.input-group {
+    margin-left: 5px
+}
+
+.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
+    border-radius: 0
+}
+
+.btn-group>.btn:first-child {
+    margin-left: 0
+}
+
+.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0
+}
+
+.btn-group>.btn:last-child:not(:first-child),
+.btn-group>.dropdown-toggle:not(:first-child) {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.btn-group>.btn-group {
+    float: left
+}
+
+.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn {
+    border-radius: 0
+}
+
+.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,
+.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0
+}
+
+.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+    outline: 0
+}
+
+.btn-group>.btn+.dropdown-toggle {
+    padding-right: 8px;
+    padding-left: 8px
+}
+
+.btn-group>.btn-lg+.dropdown-toggle {
+    padding-right: 12px;
+    padding-left: 12px
+}
+
+.btn-group.open .dropdown-toggle {
+}
+
+.btn-group.open .dropdown-toggle.btn-link {
+}
+
+.btn .caret {
+    margin-left: 0
+}
+
+.btn-lg .caret {
+    border-width: 5px 5px 0;
+    border-bottom-width: 0
+}
+
+.dropup .btn-lg .caret {
+    border-width: 0 5px 5px
+}
+
+.btn-group-vertical>.btn,
+.btn-group-vertical>.btn-group,
+.btn-group-vertical>.btn-group>.btn {
+    display: block;
+    float: none;
+    width: 100%;
+    max-width: 100%
+}
+
+.btn-group-vertical>.btn-group>.btn {
+    float: none
+}
+
+.btn-group-vertical>.btn+.btn,
+.btn-group-vertical>.btn+.btn-group,
+.btn-group-vertical>.btn-group+.btn,
+.btn-group-vertical>.btn-group+.btn-group {
+    margin-top: -1px;
+    margin-left: 0
+}
+
+.btn-group-vertical>.btn:not(:first-child):not(:last-child) {
+    border-radius: 0
+}
+
+.btn-group-vertical>.btn:first-child:not(:last-child) {
+    border-top-right-radius: 4px;
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.btn-group-vertical>.btn:last-child:not(:first-child) {
+    border-top-left-radius: 0;
+    border-top-right-radius: 0;
+    border-bottom-left-radius: 4px
+}
+
+.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn {
+    border-radius: 0
+}
+
+.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,
+.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle {
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child {
+    border-top-left-radius: 0;
+    border-top-right-radius: 0
+}
+
+.btn-group-justified {
+    display: table;
+    width: 100%;
+    table-layout: fixed;
+    border-collapse: separate
+}
+
+.btn-group-justified>.btn,
+.btn-group-justified>.btn-group {
+    display: table-cell;
+    float: none;
+    width: 1%
+}
+
+.btn-group-justified>.btn-group .btn {
+    width: 100%
+}
+
+.btn-group-justified>.btn-group .dropdown-menu {
+    left: auto
+}
+
+[data-toggle=buttons]>.btn input[type=checkbox],
+[data-toggle=buttons]>.btn input[type=radio],
+[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],
+[data-toggle=buttons]>.btn-group>.btn input[type=radio] {
+    position: absolute;
+    clip: rect(0, 0, 0, 0);
+}
+
+.input-group {
+    position: relative;
+    display: table;
+    border-collapse: separate
+}
+
+.input-group[class*=col-] {
+    float: none;
+    padding-right: 0;
+    padding-left: 0
+}
+
+.input-group .form-control {
+    position: relative;
+    z-index: 2;
+    float: left;
+    width: 100%;
+    margin-bottom: 0
+}
+
+.input-group-lg>.form-control,
+.input-group-lg>.input-group-addon,
+.input-group-lg>.input-group-btn>.btn {
+    height: 46px;
+    padding: 10px 16px;
+    font-size: 18px;
+    line-height: 1.3333333;
+    border-radius: 6px
+}
+
+select.input-group-lg>.form-control,
+select.input-group-lg>.input-group-addon,
+select.input-group-lg>.input-group-btn>.btn {
+    height: 46px;
+    line-height: 46px
+}
+
+select[multiple].input-group-lg>.form-control,
+select[multiple].input-group-lg>.input-group-addon,
+select[multiple].input-group-lg>.input-group-btn>.btn,
+textarea.input-group-lg>.form-control,
+textarea.input-group-lg>.input-group-addon,
+textarea.input-group-lg>.input-group-btn>.btn {
+    height: auto
+}
+
+.input-group-sm>.form-control,
+.input-group-sm>.input-group-addon,
+.input-group-sm>.input-group-btn>.btn {
+    height: 30px;
+    padding: 5px 10px;
+    font-size: 12px;
+    line-height: 1.5;
+    border-radius: 3px
+}
+
+select.input-group-sm>.form-control,
+select.input-group-sm>.input-group-addon,
+select.input-group-sm>.input-group-btn>.btn {
+    height: 30px;
+    line-height: 30px
+}
+
+select[multiple].input-group-sm>.form-control,
+select[multiple].input-group-sm>.input-group-addon,
+select[multiple].input-group-sm>.input-group-btn>.btn,
+textarea.input-group-sm>.form-control,
+textarea.input-group-sm>.input-group-addon,
+textarea.input-group-sm>.input-group-btn>.btn {
+    height: auto
+}
+
+.input-group .form-control,
+.input-group-addon,
+.input-group-btn {
+    display: table-cell
+}
+
+.input-group .form-control:not(:first-child):not(:last-child),
+.input-group-addon:not(:first-child):not(:last-child),
+.input-group-btn:not(:first-child):not(:last-child) {
+    border-radius: 0
+}
+
+.input-group-addon,
+.input-group-btn {
+    width: 1%;
+    white-space: nowrap;
+    vertical-align: middle
+}
+
+.input-group-addon {
+    padding: 6px 12px;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 1;
+    color: #555;
+    text-align: center;
+    background-color: #eee;
+    border: 1px solid #ccc;
+    border-radius: 4px
+}
+
+.input-group-addon.input-sm {
+    padding: 5px 10px;
+    font-size: 12px;
+    border-radius: 3px
+}
+
+.input-group-addon.input-lg {
+    padding: 10px 16px;
+    font-size: 18px;
+    border-radius: 6px
+}
+
+.input-group-addon input[type=checkbox],
+.input-group-addon input[type=radio] {
+    margin-top: 0
+}
+
+.input-group .form-control:first-child,
+.input-group-addon:first-child,
+.input-group-btn:first-child>.btn,
+.input-group-btn:first-child>.btn-group>.btn,
+.input-group-btn:first-child>.dropdown-toggle,
+.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,
+.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0
+}
+
+.input-group-addon:first-child {
+    border-right: 0
+}
+
+.input-group .form-control:last-child,
+.input-group-addon:last-child,
+.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,
+.input-group-btn:first-child>.btn:not(:first-child),
+.input-group-btn:last-child>.btn,
+.input-group-btn:last-child>.btn-group>.btn,
+.input-group-btn:last-child>.dropdown-toggle {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.input-group-addon:last-child {
+    border-left: 0
+}
+
+.input-group-btn {
+    position: relative;
+    font-size: 0;
+    white-space: nowrap
+}
+
+.input-group-btn>.btn {
+    position: relative
+}
+
+.input-group-btn>.btn+.btn {
+    margin-left: -1px
+}
+
+.input-group-btn>.btn:active,
+.input-group-btn>.btn:focus,
+.input-group-btn>.btn:hover {
+    z-index: 2
+}
+
+.input-group-btn:first-child>.btn,
+.input-group-btn:first-child>.btn-group {
+    margin-right: -1px
+}
+
+.input-group-btn:last-child>.btn,
+.input-group-btn:last-child>.btn-group {
+    margin-left: -1px
+}
+
+.nav {
+    padding-left: 0;
+    margin-bottom: 0;
+    list-style: none
+}
+
+.nav>li {
+    position: relative;
+    display: block
+}
+
+.nav>li>a {
+    position: relative;
+    display: block;
+    padding: 10px 15px
+}
+
+.nav>li>a:focus,
+.nav>li>a:hover {
+    text-decoration: none;
+    background-color: #eee
+}
+
+.nav>li.disabled>a {
+    color: #777
+}
+
+.nav>li.disabled>a:focus,
+.nav>li.disabled>a:hover {
+    color: #777;
+    text-decoration: none;
+    cursor: not-allowed;
+    background-color: transparent
+}
+
+.nav .open>a,
+.nav .open>a:focus,
+.nav .open>a:hover {
+    background-color: #eee;
+    border-color: #337ab7
+}
+
+.nav .nav-divider {
+    height: 1px;
+    margin: 9px 0;
+    overflow: hidden;
+    background-color: #e5e5e5
+}
+
+.nav>li>a>img {
+    max-width: none
+}
+
+.nav-tabs {
+    border-bottom: 1px solid #ddd
+}
+
+.nav-tabs>li {
+    float: left;
+    margin-bottom: -1px
+}
+
+.nav-tabs>li>a {
+    margin-right: 2px;
+    line-height: 1.42857143;
+    border: 1px solid transparent;
+    border-radius: 4px 4px 0 0
+}
+
+.nav-tabs>li>a:hover {
+    border-color: #eee #eee #ddd
+}
+
+.nav-tabs>li.active>a,
+.nav-tabs>li.active>a:focus,
+.nav-tabs>li.active>a:hover {
+    color: #555;
+    cursor: default;
+    background-color: #fff;
+    border: 1px solid #ddd;
+    border-bottom-color: transparent
+}
+
+.nav-tabs.nav-justified {
+    width: 100%;
+    border-bottom: 0
+}
+
+.nav-tabs.nav-justified>li {
+    float: none
+}
+
+.nav-tabs.nav-justified>li>a {
+    margin-bottom: 5px;
+    text-align: center
+}
+
+.nav-tabs.nav-justified>.dropdown .dropdown-menu {
+    top: auto;
+    left: auto
+}
+
+@media (min-width:768px) {
+    .nav-tabs.nav-justified>li {
+        display: table-cell;
+        width: 1%
+    }
+    .nav-tabs.nav-justified>li>a {
+        margin-bottom: 0
+    }
+}
+
+.nav-tabs.nav-justified>li>a {
+    margin-right: 0;
+    border-radius: 4px
+}
+
+.nav-tabs.nav-justified>.active>a,
+.nav-tabs.nav-justified>.active>a:focus,
+.nav-tabs.nav-justified>.active>a:hover {
+    border: 1px solid #ddd
+}
+
+@media (min-width:768px) {
+    .nav-tabs.nav-justified>li>a {
+        border-bottom: 1px solid #ddd;
+        border-radius: 4px 4px 0 0
+    }
+    .nav-tabs.nav-justified>.active>a,
+    .nav-tabs.nav-justified>.active>a:focus,
+    .nav-tabs.nav-justified>.active>a:hover {
+        border-bottom-color: #fff
+    }
+}
+
+.nav-pills>li {
+    float: left
+}
+
+.nav-pills>li>a {
+    border-radius: 4px
+}
+
+.nav-pills>li+li {
+    margin-left: 2px
+}
+
+.nav-pills>li.active>a,
+.nav-pills>li.active>a:focus,
+.nav-pills>li.active>a:hover {
+    color: #fff;
+    background-color: #337ab7
+}
+
+.nav-stacked>li {
+    float: none
+}
+
+.nav-stacked>li+li {
+    margin-top: 2px;
+    margin-left: 0
+}
+
+.nav-justified {
+    width: 100%
+}
+
+.nav-justified>li {
+    float: none
+}
+
+.nav-justified>li>a {
+    margin-bottom: 5px;
+    text-align: center
+}
+
+.nav-justified>.dropdown .dropdown-menu {
+    top: auto;
+    left: auto
+}
+
+@media (min-width:768px) {
+    .nav-justified>li {
+        display: table-cell;
+        width: 1%
+    }
+    .nav-justified>li>a {
+        margin-bottom: 0
+    }
+}
+
+.nav-tabs-justified {
+    border-bottom: 0
+}
+
+.nav-tabs-justified>li>a {
+    margin-right: 0;
+    border-radius: 4px
+}
+
+.nav-tabs-justified>.active>a,
+.nav-tabs-justified>.active>a:focus,
+.nav-tabs-justified>.active>a:hover {
+    border: 1px solid #ddd
+}
+
+@media (min-width:768px) {
+    .nav-tabs-justified>li>a {
+        border-bottom: 1px solid #ddd;
+        border-radius: 4px 4px 0 0
+    }
+    .nav-tabs-justified>.active>a,
+    .nav-tabs-justified>.active>a:focus,
+    .nav-tabs-justified>.active>a:hover {
+        border-bottom-color: #fff
+    }
+}
+
+.tab-content>.tab-pane {
+    display: none;
+    visibility: hidden
+}
+
+.tab-content>.active {
+    display: block;
+    visibility: visible
+}
+
+.nav-tabs .dropdown-menu {
+    margin-top: -1px;
+    border-top-left-radius: 0;
+    border-top-right-radius: 0
+}
+
+.navbar {
+    position: relative;
+    min-height: 50px;
+    margin-bottom: 20px;
+    border: 1px solid transparent
+}
+
+@media (min-width:768px) {
+    .navbar {
+        border-radius: 4px
+    }
+}
+
+@media (min-width:768px) {
+    .navbar-header {
+        float: left
+    }
+}
+
+.navbar-collapse {
+    padding-right: 15px;
+    padding-left: 15px;
+    overflow-x: visible;
+    -webkit-overflow-scrolling: touch;
+    border-top: 1px solid transparent;
+}
+
+.navbar-collapse.in {
+    overflow-y: auto
+}
+
+@media (min-width:768px) {
+    .navbar-collapse {
+        width: auto;
+        border-top: 0;
+    }
+    .navbar-collapse.collapse {
+        display: block!important;
+        height: auto!important;
+        padding-bottom: 0;
+        overflow: visible!important;
+        visibility: visible!important
+    }
+    .navbar-collapse.in {
+        overflow-y: visible
+    }
+    .navbar-fixed-bottom .navbar-collapse,
+    .navbar-fixed-top .navbar-collapse,
+    .navbar-static-top .navbar-collapse {
+        padding-right: 0;
+        padding-left: 0
+    }
+}
+
+.navbar-fixed-bottom .navbar-collapse,
+.navbar-fixed-top .navbar-collapse {
+    max-height: 340px
+}
+
+@media (max-device-width:480px) and (orientation:landscape) {
+    .navbar-fixed-bottom .navbar-collapse,
+    .navbar-fixed-top .navbar-collapse {
+        max-height: 200px
+    }
+}
+
+.container-fluid>.navbar-collapse,
+.container-fluid>.navbar-header,
+.container>.navbar-collapse,
+.container>.navbar-header {
+    margin-right: -15px;
+    margin-left: -15px
+}
+
+@media (min-width:768px) {
+    .container-fluid>.navbar-collapse,
+    .container-fluid>.navbar-header,
+    .container>.navbar-collapse,
+    .container>.navbar-header {
+        margin-right: 0;
+        margin-left: 0
+    }
+}
+
+.navbar-static-top {
+    z-index: 1000;
+    border-width: 0 0 1px
+}
+
+@media (min-width:768px) {
+    .navbar-static-top {
+        border-radius: 0
+    }
+}
+
+.navbar-fixed-bottom,
+.navbar-fixed-top {
+    position: fixed;
+    right: 0;
+    left: 0;
+    z-index: 1030
+}
+
+@media (min-width:768px) {
+    .navbar-fixed-bottom,
+    .navbar-fixed-top {
+        border-radius: 0
+    }
+}
+
+.navbar-fixed-top {
+    top: 0;
+    border-width: 0 0 1px
+}
+
+.navbar-fixed-bottom {
+    bottom: 0;
+    margin-bottom: 0;
+    border-width: 1px 0 0
+}
+
+.navbar-brand {
+    float: left;
+    height: 50px;
+    padding: 15px 15px;
+    font-size: 18px;
+    line-height: 20px
+}
+
+.navbar-brand:focus,
+.navbar-brand:hover {
+    text-decoration: none
+}
+
+.navbar-brand>img {
+    display: block
+}
+
+@media (min-width:768px) {
+    .navbar>.container .navbar-brand,
+    .navbar>.container-fluid .navbar-brand {
+        margin-left: -15px
+    }
+}
+
+.navbar-toggle {
+    position: relative;
+    float: right;
+    padding: 9px 10px;
+    margin-top: 8px;
+    margin-right: 15px;
+    margin-bottom: 8px;
+    background-color: transparent;
+    background-image: none;
+    border: 1px solid transparent;
+    border-radius: 4px
+}
+
+.navbar-toggle:focus {
+    outline: 0
+}
+
+.navbar-toggle .icon-bar {
+    display: block;
+    width: 22px;
+    height: 2px;
+    border-radius: 1px
+}
+
+.navbar-toggle .icon-bar+.icon-bar {
+    margin-top: 4px
+}
+
+@media (min-width:768px) {
+    .navbar-toggle {
+        display: none
+    }
+}
+
+.navbar-nav {
+    margin: 7.5px -15px
+}
+
+.navbar-nav>li>a {
+    padding-top: 10px;
+    padding-bottom: 10px;
+    line-height: 20px
+}
+
+@media (max-width:767px) {
+    .navbar-nav .open .dropdown-menu {
+        position: static;
+        float: none;
+        width: auto;
+        margin-top: 0;
+        background-color: transparent;
+        border: 0;
+    }
+    .navbar-nav .open .dropdown-menu .dropdown-header,
+    .navbar-nav .open .dropdown-menu>li>a {
+        padding: 5px 15px 5px 25px
+    }
+    .navbar-nav .open .dropdown-menu>li>a {
+        line-height: 20px
+    }
+    .navbar-nav .open .dropdown-menu>li>a:focus,
+    .navbar-nav .open .dropdown-menu>li>a:hover {
+        background-image: none
+    }
+}
+
+@media (min-width:768px) {
+    .navbar-nav {
+        float: left;
+        margin: 0
+    }
+    .navbar-nav>li {
+        float: left
+    }
+    .navbar-nav>li>a {
+        padding-top: 15px;
+        padding-bottom: 15px
+    }
+}
+
+.navbar-form {
+    padding: 10px 15px;
+    margin-top: 8px;
+    margin-right: -15px;
+    margin-bottom: 8px;
+    margin-left: -15px;
+    border-top: 1px solid transparent;
+    border-bottom: 1px solid transparent;
+}
+
+@media (min-width:768px) {
+    .navbar-form .form-group {
+        display: inline-block;
+        margin-bottom: 0;
+        vertical-align: middle
+    }
+    .navbar-form .form-control {
+        display: inline-block;
+        width: auto;
+        vertical-align: middle
+    }
+    .navbar-form .form-control-static {
+        display: inline-block
+    }
+    .navbar-form .input-group {
+        display: inline-table;
+        vertical-align: middle
+    }
+    .navbar-form .input-group .form-control,
+    .navbar-form .input-group .input-group-addon,
+    .navbar-form .input-group .input-group-btn {
+        width: auto
+    }
+    .navbar-form .input-group>.form-control {
+        width: 100%
+    }
+    .navbar-form .control-label {
+        margin-bottom: 0;
+        vertical-align: middle
+    }
+    .navbar-form .checkbox,
+    .navbar-form .radio {
+        display: inline-block;
+        margin-top: 0;
+        margin-bottom: 0;
+        vertical-align: middle
+    }
+    .navbar-form .checkbox label,
+    .navbar-form .radio label {
+        padding-left: 0
+    }
+    .navbar-form .checkbox input[type=checkbox],
+    .navbar-form .radio input[type=radio] {
+        position: relative;
+        margin-left: 0
+    }
+    .navbar-form .has-feedback .form-control-feedback {
+        top: 0
+    }
+}
+
+@media (max-width:767px) {
+    .navbar-form .form-group {
+        margin-bottom: 5px
+    }
+    .navbar-form .form-group:last-child {
+        margin-bottom: 0
+    }
+}
+
+@media (min-width:768px) {
+    .navbar-form {
+        width: auto;
+        padding-top: 0;
+        padding-bottom: 0;
+        margin-right: 0;
+        margin-left: 0;
+        border: 0;
+    }
+}
+
+.navbar-nav>li>.dropdown-menu {
+    margin-top: 0;
+    border-top-left-radius: 0;
+    border-top-right-radius: 0
+}
+
+.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu {
+    margin-bottom: 0;
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px;
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0
+}
+
+.navbar-btn {
+    margin-top: 8px;
+    margin-bottom: 8px
+}
+
+.navbar-btn.btn-sm {
+    margin-top: 10px;
+    margin-bottom: 10px
+}
+
+.navbar-btn.btn-xs {
+    margin-top: 14px;
+    margin-bottom: 14px
+}
+
+.navbar-text {
+    margin-top: 15px;
+    margin-bottom: 15px
+}
+
+@media (min-width:768px) {
+    .navbar-text {
+        float: left;
+        margin-right: 15px;
+        margin-left: 15px
+    }
+}
+
+@media (min-width:768px) {
+    .navbar-left {
+        float: left!important
+    }
+    .navbar-right {
+        float: right!important;
+        margin-right: -15px
+    }
+    .navbar-right~.navbar-right {
+        margin-right: 0
+    }
+}
+
+.navbar-default {
+    background-color: #f8f8f8;
+    border-color: #e7e7e7
+}
+
+.navbar-default .navbar-brand {
+    color: #777
+}
+
+.navbar-default .navbar-brand:focus,
+.navbar-default .navbar-brand:hover {
+    color: #5e5e5e;
+    background-color: transparent
+}
+
+.navbar-default .navbar-text {
+    color: #777
+}
+
+.navbar-default .navbar-nav>li>a {
+    color: #777
+}
+
+.navbar-default .navbar-nav>li>a:focus,
+.navbar-default .navbar-nav>li>a:hover {
+    color: #333;
+    background-color: transparent
+}
+
+.navbar-default .navbar-nav>.active>a,
+.navbar-default .navbar-nav>.active>a:focus,
+.navbar-default .navbar-nav>.active>a:hover {
+    color: #555;
+    background-color: #e7e7e7
+}
+
+.navbar-default .navbar-nav>.disabled>a,
+.navbar-default .navbar-nav>.disabled>a:focus,
+.navbar-default .navbar-nav>.disabled>a:hover {
+    color: #ccc;
+    background-color: transparent
+}
+
+.navbar-default .navbar-toggle {
+    border-color: #ddd
+}
+
+.navbar-default .navbar-toggle:focus,
+.navbar-default .navbar-toggle:hover {
+    background-color: #ddd
+}
+
+.navbar-default .navbar-toggle .icon-bar {
+    background-color: #888
+}
+
+.navbar-default .navbar-collapse,
+.navbar-default .navbar-form {
+    border-color: #e7e7e7
+}
+
+.navbar-default .navbar-nav>.open>a,
+.navbar-default .navbar-nav>.open>a:focus,
+.navbar-default .navbar-nav>.open>a:hover {
+    color: #555;
+    background-color: #e7e7e7
+}
+
+@media (max-width:767px) {
+    .navbar-default .navbar-nav .open .dropdown-menu>li>a {
+        color: #777
+    }
+    .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,
+    .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover {
+        color: #333;
+        background-color: transparent
+    }
+    .navbar-default .navbar-nav .open .dropdown-menu>.active>a,
+    .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,
+    .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover {
+        color: #555;
+        background-color: #e7e7e7
+    }
+    .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,
+    .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,
+    .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover {
+        color: #ccc;
+        background-color: transparent
+    }
+}
+
+.navbar-default .navbar-link {
+    color: #777
+}
+
+.navbar-default .navbar-link:hover {
+    color: #333
+}
+
+.navbar-default .btn-link {
+    color: #777
+}
+
+.navbar-default .btn-link:focus,
+.navbar-default .btn-link:hover {
+    color: #333
+}
+
+.navbar-default .btn-link[disabled]:focus,
+.navbar-default .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-default .btn-link:focus,
+fieldset[disabled] .navbar-default .btn-link:hover {
+    color: #ccc
+}
+
+.navbar-inverse {
+    background-color: #222;
+    border-color: #080808
+}
+
+.navbar-inverse .navbar-brand {
+    color: #9d9d9d
+}
+
+.navbar-inverse .navbar-brand:focus,
+.navbar-inverse .navbar-brand:hover {
+    color: #fff;
+    background-color: transparent
+}
+
+.navbar-inverse .navbar-text {
+    color: #9d9d9d
+}
+
+.navbar-inverse .navbar-nav>li>a {
+    color: #9d9d9d
+}
+
+.navbar-inverse .navbar-nav>li>a:focus,
+.navbar-inverse .navbar-nav>li>a:hover {
+    color: #fff;
+    background-color: transparent
+}
+
+.navbar-inverse .navbar-nav>.active>a,
+.navbar-inverse .navbar-nav>.active>a:focus,
+.navbar-inverse .navbar-nav>.active>a:hover {
+    color: #fff;
+    background-color: #080808
+}
+
+.navbar-inverse .navbar-nav>.disabled>a,
+.navbar-inverse .navbar-nav>.disabled>a:focus,
+.navbar-inverse .navbar-nav>.disabled>a:hover {
+    color: #444;
+    background-color: transparent
+}
+
+.navbar-inverse .navbar-toggle {
+    border-color: #333
+}
+
+.navbar-inverse .navbar-toggle:focus,
+.navbar-inverse .navbar-toggle:hover {
+    background-color: #333
+}
+
+.navbar-inverse .navbar-toggle .icon-bar {
+    background-color: #fff
+}
+
+.navbar-inverse .navbar-collapse,
+.navbar-inverse .navbar-form {
+    border-color: #101010
+}
+
+.navbar-inverse .navbar-nav>.open>a,
+.navbar-inverse .navbar-nav>.open>a:focus,
+.navbar-inverse .navbar-nav>.open>a:hover {
+    color: #fff;
+    background-color: #080808
+}
+
+@media (max-width:767px) {
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header {
+        border-color: #080808
+    }
+    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
+        background-color: #080808
+    }
+    .navbar-inverse .navbar-nav .open .dropdown-menu>li>a {
+        color: #9d9d9d
+    }
+    .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,
+    .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover {
+        color: #fff;
+        background-color: transparent
+    }
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover {
+        color: #fff;
+        background-color: #080808
+    }
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,
+    .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover {
+        color: #444;
+        background-color: transparent
+    }
+}
+
+.navbar-inverse .navbar-link {
+    color: #9d9d9d
+}
+
+.navbar-inverse .navbar-link:hover {
+    color: #fff
+}
+
+.navbar-inverse .btn-link {
+    color: #9d9d9d
+}
+
+.navbar-inverse .btn-link:focus,
+.navbar-inverse .btn-link:hover {
+    color: #fff
+}
+
+.navbar-inverse .btn-link[disabled]:focus,
+.navbar-inverse .btn-link[disabled]:hover,
+fieldset[disabled] .navbar-inverse .btn-link:focus,
+fieldset[disabled] .navbar-inverse .btn-link:hover {
+    color: #444
+}
+
+.breadcrumb {
+    padding: 8px 15px;
+    margin-bottom: 20px;
+    list-style: none;
+    background-color: #f5f5f5;
+    border-radius: 4px
+}
+
+.breadcrumb>li {
+    display: inline-block
+}
+
+.breadcrumb>li+li:before {
+    padding: 0 5px;
+    color: #ccc;
+    content: "/\00a0"
+}
+
+.breadcrumb>.active {
+    color: #777
+}
+
+.pagination {
+    display: inline-block;
+    padding-left: 0;
+    margin: 20px 0;
+    border-radius: 4px
+}
+
+.pagination>li {
+    display: inline
+}
+
+.pagination>li>a,
+.pagination>li>span {
+    position: relative;
+    float: left;
+    padding: 6px 12px;
+    margin-left: -1px;
+    line-height: 1.42857143;
+    color: #337ab7;
+    text-decoration: none;
+    background-color: #fff;
+    border: 1px solid #ddd
+}
+
+.pagination>li:first-child>a,
+.pagination>li:first-child>span {
+    margin-left: 0;
+    border-top-left-radius: 4px;
+    border-bottom-left-radius: 4px
+}
+
+.pagination>li:last-child>a,
+.pagination>li:last-child>span {
+    border-top-right-radius: 4px;
+    border-bottom-right-radius: 4px
+}
+
+.pagination>li>a:focus,
+.pagination>li>a:hover,
+.pagination>li>span:focus,
+.pagination>li>span:hover {
+    color: #23527c;
+    background-color: #eee;
+    border-color: #ddd
+}
+
+.pagination>.active>a,
+.pagination>.active>a:focus,
+.pagination>.active>a:hover,
+.pagination>.active>span,
+.pagination>.active>span:focus,
+.pagination>.active>span:hover {
+    z-index: 2;
+    color: #fff;
+    cursor: default;
+    background-color: #337ab7;
+    border-color: #337ab7
+}
+
+.pagination>.disabled>a,
+.pagination>.disabled>a:focus,
+.pagination>.disabled>a:hover,
+.pagination>.disabled>span,
+.pagination>.disabled>span:focus,
+.pagination>.disabled>span:hover {
+    color: #777;
+    cursor: not-allowed;
+    background-color: #fff;
+    border-color: #ddd
+}
+
+.pagination-lg>li>a,
+.pagination-lg>li>span {
+    padding: 10px 16px;
+    font-size: 18px
+}
+
+.pagination-lg>li:first-child>a,
+.pagination-lg>li:first-child>span {
+    border-top-left-radius: 6px;
+    border-bottom-left-radius: 6px
+}
+
+.pagination-lg>li:last-child>a,
+.pagination-lg>li:last-child>span {
+    border-top-right-radius: 6px;
+    border-bottom-right-radius: 6px
+}
+
+.pagination-sm>li>a,
+.pagination-sm>li>span {
+    padding: 5px 10px;
+    font-size: 12px
+}
+
+.pagination-sm>li:first-child>a,
+.pagination-sm>li:first-child>span {
+    border-top-left-radius: 3px;
+    border-bottom-left-radius: 3px
+}
+
+.pagination-sm>li:last-child>a,
+.pagination-sm>li:last-child>span {
+    border-top-right-radius: 3px;
+    border-bottom-right-radius: 3px
+}
+
+.pager {
+    padding-left: 0;
+    margin: 20px 0;
+    text-align: center;
+    list-style: none
+}
+
+.pager li {
+    display: inline
+}
+
+.pager li>a,
+.pager li>span {
+    display: inline-block;
+    padding: 5px 14px;
+    background-color: #fff;
+    border: 1px solid #ddd;
+    border-radius: 15px
+}
+
+.pager li>a:focus,
+.pager li>a:hover {
+    text-decoration: none;
+    background-color: #eee
+}
+
+.pager .next>a,
+.pager .next>span {
+    float: right
+}
+
+.pager .previous>a,
+.pager .previous>span {
+    float: left
+}
+
+.pager .disabled>a,
+.pager .disabled>a:focus,
+.pager .disabled>a:hover,
+.pager .disabled>span {
+    color: #777;
+    cursor: not-allowed;
+    background-color: #fff
+}
+
+.label {
+    display: inline;
+    padding: .2em .6em .3em;
+    font-size: 75%;
+    font-weight: 700;
+    line-height: 1;
+    color: #fff;
+    text-align: center;
+    white-space: nowrap;
+    vertical-align: baseline;
+    border-radius: .25em
+}
+
+a.label:focus,
+a.label:hover {
+    color: #fff;
+    text-decoration: none;
+    cursor: pointer
+}
+
+.label:empty {
+    display: none
+}
+
+.btn .label {
+    position: relative;
+    top: -1px
+}
+
+.label-default {
+    background-color: #777
+}
+
+.label-default[href]:focus,
+.label-default[href]:hover {
+    background-color: #5e5e5e
+}
+
+.label-primary {
+    background-color: #337ab7
+}
+
+.label-primary[href]:focus,
+.label-primary[href]:hover {
+    background-color: #286090
+}
+
+.label-success {
+    background-color: #5cb85c
+}
+
+.label-success[href]:focus,
+.label-success[href]:hover {
+    background-color: #449d44
+}
+
+.label-info {
+    background-color: #5bc0de
+}
+
+.label-info[href]:focus,
+.label-info[href]:hover {
+    background-color: #31b0d5
+}
+
+.label-warning {
+    background-color: #f0ad4e
+}
+
+.label-warning[href]:focus,
+.label-warning[href]:hover {
+    background-color: #ec971f
+}
+
+.label-danger {
+    background-color: #d9534f
+}
+
+.label-danger[href]:focus,
+.label-danger[href]:hover {
+    background-color: #c9302c
+}
+
+.badge {
+    display: inline-block;
+    min-width: 10px;
+    padding: 3px 7px;
+    font-size: 12px;
+    font-weight: 700;
+    line-height: 1;
+    color: #fff;
+    text-align: center;
+    white-space: nowrap;
+    vertical-align: baseline;
+    background-color: #777;
+    border-radius: 10px
+}
+
+.badge:empty {
+    display: none
+}
+
+.btn .badge {
+    position: relative;
+    top: -1px
+}
+
+.btn-xs .badge {
+    top: 0;
+    padding: 1px 5px
+}
+
+a.badge:focus,
+a.badge:hover {
+    color: #fff;
+    text-decoration: none;
+    cursor: pointer
+}
+
+.list-group-item.active>.badge,
+.nav-pills>.active>a>.badge {
+    color: #337ab7;
+    background-color: #fff
+}
+
+.list-group-item>.badge {
+    float: right
+}
+
+.list-group-item>.badge+.badge {
+    margin-right: 5px
+}
+
+.nav-pills>li>a>.badge {
+    margin-left: 3px
+}
+
+.jumbotron {
+    padding: 30px 15px;
+    margin-bottom: 30px;
+    color: inherit;
+    background-color: #eee
+}
+
+.jumbotron .h1,
+.jumbotron h1 {
+    color: inherit
+}
+
+.jumbotron p {
+    margin-bottom: 15px;
+    font-size: 21px;
+    font-weight: 200
+}
+
+.jumbotron>hr {
+    border-top-color: #d5d5d5
+}
+
+.container .jumbotron,
+.container-fluid .jumbotron {
+    border-radius: 6px
+}
+
+.jumbotron .container {
+    max-width: 100%
+}
+
+@media screen and (min-width:768px) {
+    .jumbotron {
+        padding: 48px 0
+    }
+    .container .jumbotron,
+    .container-fluid .jumbotron {
+        padding-right: 60px;
+        padding-left: 60px
+    }
+    .jumbotron .h1,
+    .jumbotron h1 {
+        font-size: 63px
+    }
+}
+
+.thumbnail {
+    display: block;
+    padding: 4px;
+    margin-bottom: 20px;
+    line-height: 1.42857143;
+    background-color: #fff;
+    border: 1px solid #ddd;
+    border-radius: 4px;
+    -webkit-transition: border .2s ease-in-out;
+    -o-transition: border .2s ease-in-out;
+    transition: border .2s ease-in-out
+}
+
+.thumbnail a>img,
+.thumbnail>img {
+    margin-right: auto;
+    margin-left: auto
+}
+
+a.thumbnail.active,
+a.thumbnail:focus,
+a.thumbnail:hover {
+    border-color: #337ab7
+}
+
+.thumbnail .caption {
+    padding: 9px;
+    color: #333
+}
+
+.alert {
+    padding: 15px;
+    margin-bottom: 20px;
+    border: 1px solid transparent;
+    border-radius: 4px
+}
+
+.alert h4 {
+    margin-top: 0;
+    color: inherit
+}
+
+.alert .alert-link {
+    font-weight: 700
+}
+
+.alert>p,
+.alert>ul {
+    margin-bottom: 0
+}
+
+.alert>p+p {
+    margin-top: 5px
+}
+
+.alert-dismissable,
+.alert-dismissible {
+    padding-right: 35px
+}
+
+.alert-dismissable .close,
+.alert-dismissible .close {
+    position: relative;
+    top: -2px;
+    right: -21px;
+    color: inherit
+}
+
+.alert-success {
+    color: #3c763d;
+    background-color: #dff0d8;
+    border-color: #d6e9c6
+}
+
+.alert-success hr {
+    border-top-color: #c9e2b3
+}
+
+.alert-success .alert-link {
+    color: #2b542c
+}
+
+.alert-info {
+    color: #31708f;
+    background-color: #d9edf7;
+    border-color: #bce8f1
+}
+
+.alert-info hr {
+    border-top-color: #a6e1ec
+}
+
+.alert-info .alert-link {
+    color: #245269
+}
+
+.alert-warning {
+    color: #8a6d3b;
+    background-color: #fcf8e3;
+    border-color: #faebcc
+}
+
+.alert-warning hr {
+    border-top-color: #f7e1b5
+}
+
+.alert-warning .alert-link {
+    color: #66512c
+}
+
+.alert-danger {
+    color: #a94442;
+    background-color: #f2dede;
+    border-color: #ebccd1
+}
+
+.alert-danger hr {
+    border-top-color: #e4b9c0
+}
+
+.alert-danger .alert-link {
+    color: #843534
+}
+
+@-webkit-keyframes progress-bar-stripes {
+    from {
+        background-position: 40px 0
+    }
+    to {
+        background-position: 0 0
+    }
+}
+
+@-o-keyframes progress-bar-stripes {
+    from {
+        background-position: 40px 0
+    }
+    to {
+        background-position: 0 0
+    }
+}
+
+@keyframes progress-bar-stripes {
+    from {
+        background-position: 40px 0
+    }
+    to {
+        background-position: 0 0
+    }
+}
+
+.progress {
+    height: 20px;
+    margin-bottom: 20px;
+    overflow: hidden;
+    background-color: #f5f5f5;
+    border-radius: 4px;
+}
+
+.progress-bar {
+    float: left;
+    width: 0;
+    height: 100%;
+    font-size: 12px;
+    line-height: 20px;
+    color: #fff;
+    text-align: center;
+    background-color: #337ab7;
+    -webkit-transition: width .6s ease;
+    -o-transition: width .6s ease;
+    transition: width .6s ease
+}
+
+.progress-bar-striped,
+.progress-striped .progress-bar {
+    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    -webkit-background-size: 40px 40px;
+    background-size: 40px 40px
+}
+
+.progress-bar.active,
+.progress.active .progress-bar {
+    -webkit-animation: progress-bar-stripes 2s linear infinite;
+    -o-animation: progress-bar-stripes 2s linear infinite;
+    animation: progress-bar-stripes 2s linear infinite
+}
+
+.progress-bar-success {
+    background-color: #5cb85c
+}
+
+.progress-striped .progress-bar-success {
+    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)
+}
+
+.progress-bar-info {
+    background-color: #5bc0de
+}
+
+.progress-striped .progress-bar-info {
+    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)
+}
+
+.progress-bar-warning {
+    background-color: #f0ad4e
+}
+
+.progress-striped .progress-bar-warning {
+    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)
+}
+
+.progress-bar-danger {
+    background-color: #d9534f
+}
+
+.progress-striped .progress-bar-danger {
+    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
+    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent)
+}
+
+.media {
+    margin-top: 15px
+}
+
+.media:first-child {
+    margin-top: 0
+}
+
+.media,
+.media-body {
+    overflow: hidden;
+    zoom: 1
+}
+
+.media-body {
+    width: 10000px
+}
+
+.media-object {
+    display: block
+}
+
+.media-right,
+.media>.pull-right {
+    padding-left: 10px
+}
+
+.media-left,
+.media>.pull-left {
+    padding-right: 10px
+}
+
+.media-body,
+.media-left,
+.media-right {
+    display: table-cell;
+    vertical-align: top
+}
+
+.media-middle {
+    vertical-align: middle
+}
+
+.media-bottom {
+    vertical-align: bottom
+}
+
+.media-heading {
+    margin-top: 0;
+    margin-bottom: 5px
+}
+
+.media-list {
+    padding-left: 0;
+    list-style: none
+}
+
+.list-group {
+    padding-left: 0;
+    margin-bottom: 20px
+}
+
+.list-group-item {
+    position: relative;
+    display: block;
+    padding: 10px 15px;
+    margin-bottom: -1px;
+    background-color: #fff;
+    border: 1px solid #ddd
+}
+
+.list-group-item:first-child {
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px
+}
+
+.list-group-item:last-child {
+    margin-bottom: 0;
+    border-bottom-right-radius: 4px;
+    border-bottom-left-radius: 4px
+}
+
+a.list-group-item {
+    color: #555
+}
+
+a.list-group-item .list-group-item-heading {
+    color: #333
+}
+
+a.list-group-item:focus,
+a.list-group-item:hover {
+    color: #555;
+    text-decoration: none;
+    background-color: #f5f5f5
+}
+
+.list-group-item.disabled,
+.list-group-item.disabled:focus,
+.list-group-item.disabled:hover {
+    color: #777;
+    cursor: not-allowed;
+    background-color: #eee
+}
+
+.list-group-item.disabled .list-group-item-heading,
+.list-group-item.disabled:focus .list-group-item-heading,
+.list-group-item.disabled:hover .list-group-item-heading {
+    color: inherit
+}
+
+.list-group-item.disabled .list-group-item-text,
+.list-group-item.disabled:focus .list-group-item-text,
+.list-group-item.disabled:hover .list-group-item-text {
+    color: #777
+}
+
+.list-group-item.active,
+.list-group-item.active:focus,
+.list-group-item.active:hover {
+    z-index: 2;
+    color: #fff;
+    background-color: #337ab7;
+    border-color: #337ab7
+}
+
+.list-group-item.active .list-group-item-heading,
+.list-group-item.active .list-group-item-heading>.small,
+.list-group-item.active .list-group-item-heading>small,
+.list-group-item.active:focus .list-group-item-heading,
+.list-group-item.active:focus .list-group-item-heading>.small,
+.list-group-item.active:focus .list-group-item-heading>small,
+.list-group-item.active:hover .list-group-item-heading,
+.list-group-item.active:hover .list-group-item-heading>.small,
+.list-group-item.active:hover .list-group-item-heading>small {
+    color: inherit
+}
+
+.list-group-item.active .list-group-item-text,
+.list-group-item.active:focus .list-group-item-text,
+.list-group-item.active:hover .list-group-item-text {
+    color: #c7ddef
+}
+
+.list-group-item-success {
+    color: #3c763d;
+    background-color: #dff0d8
+}
+
+a.list-group-item-success {
+    color: #3c763d
+}
+
+a.list-group-item-success .list-group-item-heading {
+    color: inherit
+}
+
+a.list-group-item-success:focus,
+a.list-group-item-success:hover {
+    color: #3c763d;
+    background-color: #d0e9c6
+}
+
+a.list-group-item-success.active,
+a.list-group-item-success.active:focus,
+a.list-group-item-success.active:hover {
+    color: #fff;
+    background-color: #3c763d;
+    border-color: #3c763d
+}
+
+.list-group-item-info {
+    color: #31708f;
+    background-color: #d9edf7
+}
+
+a.list-group-item-info {
+    color: #31708f
+}
+
+a.list-group-item-info .list-group-item-heading {
+    color: inherit
+}
+
+a.list-group-item-info:focus,
+a.list-group-item-info:hover {
+    color: #31708f;
+    background-color: #c4e3f3
+}
+
+a.list-group-item-info.active,
+a.list-group-item-info.active:focus,
+a.list-group-item-info.active:hover {
+    color: #fff;
+    background-color: #31708f;
+    border-color: #31708f
+}
+
+.list-group-item-warning {
+    color: #8a6d3b;
+    background-color: #fcf8e3
+}
+
+a.list-group-item-warning {
+    color: #8a6d3b
+}
+
+a.list-group-item-warning .list-group-item-heading {
+    color: inherit
+}
+
+a.list-group-item-warning:focus,
+a.list-group-item-warning:hover {
+    color: #8a6d3b;
+    background-color: #faf2cc
+}
+
+a.list-group-item-warning.active,
+a.list-group-item-warning.active:focus,
+a.list-group-item-warning.active:hover {
+    color: #fff;
+    background-color: #8a6d3b;
+    border-color: #8a6d3b
+}
+
+.list-group-item-danger {
+    color: #a94442;
+    background-color: #f2dede
+}
+
+a.list-group-item-danger {
+    color: #a94442
+}
+
+a.list-group-item-danger .list-group-item-heading {
+    color: inherit
+}
+
+a.list-group-item-danger:focus,
+a.list-group-item-danger:hover {
+    color: #a94442;
+    background-color: #ebcccc
+}
+
+a.list-group-item-danger.active,
+a.list-group-item-danger.active:focus,
+a.list-group-item-danger.active:hover {
+    color: #fff;
+    background-color: #a94442;
+    border-color: #a94442
+}
+
+.list-group-item-heading {
+    margin-top: 0;
+    margin-bottom: 5px
+}
+
+.list-group-item-text {
+    margin-bottom: 0;
+    line-height: 1.3
+}
+
+.panel {
+    margin-bottom: 20px;
+    background-color: #fff;
+    border: 1px solid transparent;
+    border-radius: 4px;
+}
+
+.panel-body {
+    padding: 15px
+}
+
+.panel-heading {
+    padding: 10px 15px;
+    border-bottom: 1px solid transparent;
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px
+}
+
+.panel-heading>.dropdown .dropdown-toggle {
+    color: inherit
+}
+
+.panel-title {
+    margin-top: 0;
+    margin-bottom: 0;
+    font-size: 16px;
+    color: inherit
+}
+
+.panel-title>.small,
+.panel-title>.small>a,
+.panel-title>a,
+.panel-title>small,
+.panel-title>small>a {
+    color: inherit
+}
+
+.panel-footer {
+    padding: 10px 15px;
+    background-color: #f5f5f5;
+    border-top: 1px solid #ddd;
+    border-bottom-right-radius: 3px;
+    border-bottom-left-radius: 3px
+}
+
+.panel>.list-group,
+.panel>.panel-collapse>.list-group {
+    margin-bottom: 0
+}
+
+.panel>.list-group .list-group-item,
+.panel>.panel-collapse>.list-group .list-group-item {
+    border-width: 1px 0;
+    border-radius: 0
+}
+
+.panel>.list-group:first-child .list-group-item:first-child,
+.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child {
+    border-top: 0;
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px
+}
+
+.panel>.list-group:last-child .list-group-item:last-child,
+.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child {
+    border-bottom: 0;
+    border-bottom-right-radius: 3px;
+    border-bottom-left-radius: 3px
+}
+
+.panel-heading+.list-group .list-group-item:first-child {
+    border-top-width: 0
+}
+
+.list-group+.panel-footer {
+    border-top-width: 0
+}
+
+.panel>.panel-collapse>.table,
+.panel>.table,
+.panel>.table-responsive>.table {
+    margin-bottom: 0
+}
+
+.panel>.panel-collapse>.table caption,
+.panel>.table caption,
+.panel>.table-responsive>.table caption {
+    padding-right: 15px;
+    padding-left: 15px
+}
+
+.panel>.table-responsive:first-child>.table:first-child,
+.panel>.table:first-child {
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px
+}
+
+.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,
+.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,
+.panel>.table:first-child>tbody:first-child>tr:first-child,
+.panel>.table:first-child>thead:first-child>tr:first-child {
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px
+}
+
+.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,
+.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,
+.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,
+.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,
+.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,
+.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,
+.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,
+.panel>.table:first-child>thead:first-child>tr:first-child th:first-child {
+    border-top-left-radius: 3px
+}
+
+.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,
+.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,
+.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,
+.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,
+.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,
+.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,
+.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,
+.panel>.table:first-child>thead:first-child>tr:first-child th:last-child {
+    border-top-right-radius: 3px
+}
+
+.panel>.table-responsive:last-child>.table:last-child,
+.panel>.table:last-child {
+    border-bottom-right-radius: 3px;
+    border-bottom-left-radius: 3px
+}
+
+.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,
+.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,
+.panel>.table:last-child>tbody:last-child>tr:last-child,
+.panel>.table:last-child>tfoot:last-child>tr:last-child {
+    border-bottom-right-radius: 3px;
+    border-bottom-left-radius: 3px
+}
+
+.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,
+.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,
+.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,
+.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,
+.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,
+.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,
+.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,
+.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child {
+    border-bottom-left-radius: 3px
+}
+
+.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,
+.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,
+.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,
+.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,
+.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,
+.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,
+.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,
+.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child {
+    border-bottom-right-radius: 3px
+}
+
+.panel>.panel-body+.table,
+.panel>.panel-body+.table-responsive,
+.panel>.table+.panel-body,
+.panel>.table-responsive+.panel-body {
+    border-top: 1px solid #ddd
+}
+
+.panel>.table>tbody:first-child>tr:first-child td,
+.panel>.table>tbody:first-child>tr:first-child th {
+    border-top: 0
+}
+
+.panel>.table-bordered,
+.panel>.table-responsive>.table-bordered {
+    border: 0
+}
+
+.panel>.table-bordered>tbody>tr>td:first-child,
+.panel>.table-bordered>tbody>tr>th:first-child,
+.panel>.table-bordered>tfoot>tr>td:first-child,
+.panel>.table-bordered>tfoot>tr>th:first-child,
+.panel>.table-bordered>thead>tr>td:first-child,
+.panel>.table-bordered>thead>tr>th:first-child,
+.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,
+.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,
+.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,
+.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,
+.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,
+.panel>.table-responsive>.table-bordered>thead>tr>th:first-child {
+    border-left: 0
+}
+
+.panel>.table-bordered>tbody>tr>td:last-child,
+.panel>.table-bordered>tbody>tr>th:last-child,
+.panel>.table-bordered>tfoot>tr>td:last-child,
+.panel>.table-bordered>tfoot>tr>th:last-child,
+.panel>.table-bordered>thead>tr>td:last-child,
+.panel>.table-bordered>thead>tr>th:last-child,
+.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,
+.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,
+.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,
+.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,
+.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,
+.panel>.table-responsive>.table-bordered>thead>tr>th:last-child {
+    border-right: 0
+}
+
+.panel>.table-bordered>tbody>tr:first-child>td,
+.panel>.table-bordered>tbody>tr:first-child>th,
+.panel>.table-bordered>thead>tr:first-child>td,
+.panel>.table-bordered>thead>tr:first-child>th,
+.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,
+.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,
+.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,
+.panel>.table-responsive>.table-bordered>thead>tr:first-child>th {
+    border-bottom: 0
+}
+
+.panel>.table-bordered>tbody>tr:last-child>td,
+.panel>.table-bordered>tbody>tr:last-child>th,
+.panel>.table-bordered>tfoot>tr:last-child>td,
+.panel>.table-bordered>tfoot>tr:last-child>th,
+.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,
+.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,
+.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,
+.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th {
+    border-bottom: 0
+}
+
+.panel>.table-responsive {
+    margin-bottom: 0;
+    border: 0
+}
+
+.panel-group {
+    margin-bottom: 20px
+}
+
+.panel-group .panel {
+    margin-bottom: 0;
+    border-radius: 4px
+}
+
+.panel-group .panel+.panel {
+    margin-top: 5px
+}
+
+.panel-group .panel-heading {
+    border-bottom: 0
+}
+
+.panel-group .panel-heading+.panel-collapse>.list-group,
+.panel-group .panel-heading+.panel-collapse>.panel-body {
+    border-top: 1px solid #ddd
+}
+
+.panel-group .panel-footer {
+    border-top: 0
+}
+
+.panel-group .panel-footer+.panel-collapse .panel-body {
+    border-bottom: 1px solid #ddd
+}
+
+.panel-default {
+    border-color: #ddd
+}
+
+.panel-default>.panel-heading {
+    color: #333;
+    background-color: #f5f5f5;
+    border-color: #ddd
+}
+
+.panel-default>.panel-heading+.panel-collapse>.panel-body {
+    border-top-color: #ddd
+}
+
+.panel-default>.panel-heading .badge {
+    color: #f5f5f5;
+    background-color: #333
+}
+
+.panel-default>.panel-footer+.panel-collapse>.panel-body {
+    border-bottom-color: #ddd
+}
+
+.panel-primary {
+    border-color: #337ab7
+}
+
+.panel-primary>.panel-heading {
+    color: #fff;
+    background-color: #337ab7;
+    border-color: #337ab7
+}
+
+.panel-primary>.panel-heading+.panel-collapse>.panel-body {
+    border-top-color: #337ab7
+}
+
+.panel-primary>.panel-heading .badge {
+    color: #337ab7;
+    background-color: #fff
+}
+
+.panel-primary>.panel-footer+.panel-collapse>.panel-body {
+    border-bottom-color: #337ab7
+}
+
+.panel-success {
+    border-color: #d6e9c6
+}
+
+.panel-success>.panel-heading {
+    color: #3c763d;
+    background-color: #dff0d8;
+    border-color: #d6e9c6
+}
+
+.panel-success>.panel-heading+.panel-collapse>.panel-body {
+    border-top-color: #d6e9c6
+}
+
+.panel-success>.panel-heading .badge {
+    color: #dff0d8;
+    background-color: #3c763d
+}
+
+.panel-success>.panel-footer+.panel-collapse>.panel-body {
+    border-bottom-color: #d6e9c6
+}
+
+.panel-info {
+    border-color: #bce8f1
+}
+
+.panel-info>.panel-heading {
+    color: #31708f;
+    background-color: #d9edf7;
+    border-color: #bce8f1
+}
+
+.panel-info>.panel-heading+.panel-collapse>.panel-body {
+    border-top-color: #bce8f1
+}
+
+.panel-info>.panel-heading .badge {
+    color: #d9edf7;
+    background-color: #31708f
+}
+
+.panel-info>.panel-footer+.panel-collapse>.panel-body {
+    border-bottom-color: #bce8f1
+}
+
+.panel-warning {
+    border-color: #faebcc
+}
+
+.panel-warning>.panel-heading {
+    color: #8a6d3b;
+    background-color: #fcf8e3;
+    border-color: #faebcc
+}
+
+.panel-warning>.panel-heading+.panel-collapse>.panel-body {
+    border-top-color: #faebcc
+}
+
+.panel-warning>.panel-heading .badge {
+    color: #fcf8e3;
+    background-color: #8a6d3b
+}
+
+.panel-warning>.panel-footer+.panel-collapse>.panel-body {
+    border-bottom-color: #faebcc
+}
+
+.panel-danger {
+    border-color: #ebccd1
+}
+
+.panel-danger>.panel-heading {
+    color: #a94442;
+    background-color: #f2dede;
+    border-color: #ebccd1
+}
+
+.panel-danger>.panel-heading+.panel-collapse>.panel-body {
+    border-top-color: #ebccd1
+}
+
+.panel-danger>.panel-heading .badge {
+    color: #f2dede;
+    background-color: #a94442
+}
+
+.panel-danger>.panel-footer+.panel-collapse>.panel-body {
+    border-bottom-color: #ebccd1
+}
+
+.embed-responsive {
+    position: relative;
+    display: block;
+    height: 0;
+    padding: 0;
+    overflow: hidden
+}
+
+.embed-responsive .embed-responsive-item,
+.embed-responsive embed,
+.embed-responsive iframe,
+.embed-responsive object,
+.embed-responsive video {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    border: 0
+}
+
+.embed-responsive.embed-responsive-16by9 {
+    padding-bottom: 56.25%
+}
+
+.embed-responsive.embed-responsive-4by3 {
+    padding-bottom: 75%
+}
+
+.well {
+    min-height: 20px;
+    padding: 19px;
+    margin-bottom: 20px;
+    background-color: #f5f5f5;
+    border: 1px solid #e3e3e3;
+    border-radius: 4px;
+}
+
+.well blockquote {
+    border-color: #ddd;
+    border-color: rgba(0, 0, 0, .15)
+}
+
+.well-lg {
+    padding: 24px;
+    border-radius: 6px
+}
+
+.well-sm {
+    padding: 9px;
+    border-radius: 3px
+}
+
+.close {
+    float: right;
+    font-size: 21px;
+    font-weight: 700;
+    line-height: 1;
+    color: #000;
+    filter: alpha(opacity=20);
+    opacity: .2
+}
+
+.close:focus,
+.close:hover {
+    color: #000;
+    text-decoration: none;
+    cursor: pointer;
+    filter: alpha(opacity=50);
+    opacity: .5
+}
+
+button.close {
+    -webkit-appearance: none;
+    padding: 0;
+    cursor: pointer;
+    background: 0 0;
+    border: 0
+}
+
+.modal-open {
+    overflow: hidden
+}
+
+.modal {
+    position: fixed;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 1040;
+    display: none;
+    overflow: hidden;
+    -webkit-overflow-scrolling: touch;
+    outline: 0
+}
+
+.modal.fade .modal-dialog {
+    -webkit-transition: -webkit-transform .3s ease-out;
+    -o-transition: -o-transform .3s ease-out;
+    transition: transform .3s ease-out;
+    -webkit-transform: translate(0, -25%);
+    -ms-transform: translate(0, -25%);
+    -o-transform: translate(0, -25%);
+    transform: translate(0, -25%)
+}
+
+.modal.in .modal-dialog {
+    -webkit-transform: translate(0, 0);
+    -ms-transform: translate(0, 0);
+    -o-transform: translate(0, 0);
+    transform: translate(0, 0)
+}
+
+.modal-open .modal {
+    overflow-x: hidden;
+    overflow-y: auto
+}
+
+.modal-dialog {
+    position: relative;
+    width: auto;
+    margin: 10px
+}
+
+.modal-content {
+    position: relative;
+    background-color: #fff;
+    -webkit-background-clip: padding-box;
+    background-clip: padding-box;
+    border: 1px solid #999;
+    border: 1px solid rgba(0, 0, 0, .2);
+    border-radius: 6px;
+    outline: 0;
+}
+
+.modal-backdrop {
+    position: absolute;
+    top: 0;
+    right: 0;
+    left: 0;
+    background-color: #000
+}
+
+.modal-backdrop.fade {
+    filter: alpha(opacity=0);
+    opacity: 0
+}
+
+.modal-backdrop.in {
+    filter: alpha(opacity=50);
+    opacity: .5
+}
+
+.modal-header {
+    min-height: 16.43px;
+    padding: 15px;
+    border-bottom: 1px solid #e5e5e5
+}
+
+.modal-header .close {
+    margin-top: -2px
+}
+
+.modal-title {
+    margin: 0;
+    line-height: 1.42857143
+}
+
+.modal-body {
+    position: relative;
+    padding: 15px
+}
+
+.modal-footer {
+    padding: 15px;
+    text-align: right;
+    border-top: 1px solid #e5e5e5
+}
+
+.modal-footer .btn+.btn {
+    margin-bottom: 0;
+    margin-left: 5px
+}
+
+.modal-footer .btn-group .btn+.btn {
+    margin-left: -1px
+}
+
+.modal-footer .btn-block+.btn-block {
+    margin-left: 0
+}
+
+.modal-scrollbar-measure {
+    position: absolute;
+    top: -9999px;
+    width: 50px;
+    height: 50px;
+    overflow: scroll
+}
+
+@media (min-width:768px) {
+    .modal-dialog {
+        width: 600px;
+        margin: 30px auto
+    }
+    .modal-content {
+    }
+    .modal-sm {
+        width: 300px
+    }
+}
+
+@media (min-width:992px) {
+    .modal-lg {
+        width: 900px
+    }
+}
+
+.tooltip {
+    position: absolute;
+    z-index: 1070;
+    display: block;
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-size: 12px;
+    font-weight: 400;
+    line-height: 1.4;
+    visibility: visible;
+    filter: alpha(opacity=0);
+    opacity: 0
+}
+
+.tooltip.in {
+    filter: alpha(opacity=90);
+    opacity: .9
+}
+
+.tooltip.top {
+    padding: 5px 0;
+    margin-top: -3px
+}
+
+.tooltip.right {
+    padding: 0 5px;
+    margin-left: 3px
+}
+
+.tooltip.bottom {
+    padding: 5px 0;
+    margin-top: 3px
+}
+
+.tooltip.left {
+    padding: 0 5px;
+    margin-left: -3px
+}
+
+.tooltip-inner {
+    max-width: 200px;
+    padding: 3px 8px;
+    color: #fff;
+    text-align: center;
+    text-decoration: none;
+    background-color: #000;
+    border-radius: 4px
+}
+
+.tooltip-arrow {
+    position: absolute;
+    width: 0;
+    height: 0;
+    border-color: transparent;
+    border-style: solid
+}
+
+.tooltip.top .tooltip-arrow {
+    bottom: 0;
+    left: 50%;
+    margin-left: -5px;
+    border-width: 5px 5px 0;
+    border-top-color: #000
+}
+
+.tooltip.top-left .tooltip-arrow {
+    right: 5px;
+    bottom: 0;
+    margin-bottom: -5px;
+    border-width: 5px 5px 0;
+    border-top-color: #000
+}
+
+.tooltip.top-right .tooltip-arrow {
+    bottom: 0;
+    left: 5px;
+    margin-bottom: -5px;
+    border-width: 5px 5px 0;
+    border-top-color: #000
+}
+
+.tooltip.right .tooltip-arrow {
+    top: 50%;
+    left: 0;
+    margin-top: -5px;
+    border-width: 5px 5px 5px 0;
+    border-right-color: #000
+}
+
+.tooltip.left .tooltip-arrow {
+    top: 50%;
+    right: 0;
+    margin-top: -5px;
+    border-width: 5px 0 5px 5px;
+    border-left-color: #000
+}
+
+.tooltip.bottom .tooltip-arrow {
+    top: 0;
+    left: 50%;
+    margin-left: -5px;
+    border-width: 0 5px 5px;
+    border-bottom-color: #000
+}
+
+.tooltip.bottom-left .tooltip-arrow {
+    top: 0;
+    right: 5px;
+    margin-top: -5px;
+    border-width: 0 5px 5px;
+    border-bottom-color: #000
+}
+
+.tooltip.bottom-right .tooltip-arrow {
+    top: 0;
+    left: 5px;
+    margin-top: -5px;
+    border-width: 0 5px 5px;
+    border-bottom-color: #000
+}
+
+.popover {
+    position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 1060;
+    display: none;
+    max-width: 276px;
+    padding: 1px;
+    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 1.42857143;
+    text-align: left;
+    white-space: normal;
+    background-color: #fff;
+    -webkit-background-clip: padding-box;
+    background-clip: padding-box;
+    border: 1px solid #ccc;
+    border: 1px solid rgba(0, 0, 0, .2);
+    border-radius: 6px;
+}
+
+.popover.top {
+    margin-top: -10px
+}
+
+.popover.right {
+    margin-left: 10px
+}
+
+.popover.bottom {
+    margin-top: 10px
+}
+
+.popover.left {
+    margin-left: -10px
+}
+
+.popover-title {
+    padding: 8px 14px;
+    margin: 0;
+    font-size: 14px;
+    background-color: #f7f7f7;
+    border-bottom: 1px solid #ebebeb;
+    border-radius: 5px 5px 0 0
+}
+
+.popover-content {
+    padding: 9px 14px
+}
+
+.popover>.arrow,
+.popover>.arrow:after {
+    position: absolute;
+    display: block;
+    width: 0;
+    height: 0;
+    border-color: transparent;
+    border-style: solid
+}
+
+.popover>.arrow {
+    border-width: 11px
+}
+
+.popover>.arrow:after {
+    content: "";
+    border-width: 10px
+}
+
+.popover.top>.arrow {
+    bottom: -11px;
+    left: 50%;
+    margin-left: -11px;
+    border-top-color: #999;
+    border-top-color: rgba(0, 0, 0, .25);
+    border-bottom-width: 0
+}
+
+.popover.top>.arrow:after {
+    bottom: 1px;
+    margin-left: -10px;
+    content: " ";
+    border-top-color: #fff;
+    border-bottom-width: 0
+}
+
+.popover.right>.arrow {
+    top: 50%;
+    left: -11px;
+    margin-top: -11px;
+    border-right-color: #999;
+    border-right-color: rgba(0, 0, 0, .25);
+    border-left-width: 0
+}
+
+.popover.right>.arrow:after {
+    bottom: -10px;
+    left: 1px;
+    content: " ";
+    border-right-color: #fff;
+    border-left-width: 0
+}
+
+.popover.bottom>.arrow {
+    top: -11px;
+    left: 50%;
+    margin-left: -11px;
+    border-top-width: 0;
+    border-bottom-color: #999;
+    border-bottom-color: rgba(0, 0, 0, .25)
+}
+
+.popover.bottom>.arrow:after {
+    top: 1px;
+    margin-left: -10px;
+    content: " ";
+    border-top-width: 0;
+    border-bottom-color: #fff
+}
+
+.popover.left>.arrow {
+    top: 50%;
+    right: -11px;
+    margin-top: -11px;
+    border-right-width: 0;
+    border-left-color: #999;
+    border-left-color: rgba(0, 0, 0, .25)
+}
+
+.popover.left>.arrow:after {
+    right: 1px;
+    bottom: -10px;
+    content: " ";
+    border-right-width: 0;
+    border-left-color: #fff
+}
+
+
+@media screen and (min-width:768px) {
+    .carousel-control .glyphicon-chevron-left,
+    .carousel-control .glyphicon-chevron-right,
+    .carousel-control .icon-next,
+    .carousel-control .icon-prev {
+        width: 30px;
+        height: 30px;
+        margin-top: -15px;
+        font-size: 30px
+    }
+    .carousel-control .glyphicon-chevron-left,
+    .carousel-control .icon-prev {
+        margin-left: -15px
+    }
+    .carousel-control .glyphicon-chevron-right,
+    .carousel-control .icon-next {
+        margin-right: -15px
+    }
+    .carousel-caption {
+        right: 20%;
+        left: 20%;
+        padding-bottom: 30px
+    }
+    .carousel-indicators {
+        bottom: 20px
+    }
+}
+
+.btn-group-vertical>.btn-group:after,
+.btn-group-vertical>.btn-group:before,
+.btn-toolbar:after,
+.btn-toolbar:before,
+.clearfix:after,
+.clearfix:before,
+.container-fluid:after,
+.container-fluid:before,
+.container:after,
+.container:before,
+.dl-horizontal dd:after,
+.dl-horizontal dd:before,
+.form-horizontal .form-group:after,
+.form-horizontal .form-group:before,
+.modal-footer:after,
+.modal-footer:before,
+.nav:after,
+.nav:before,
+.navbar-collapse:after,
+.navbar-collapse:before,
+.navbar-header:after,
+.navbar-header:before,
+.navbar:after,
+.navbar:before,
+.pager:after,
+.pager:before,
+.panel-body:after,
+.panel-body:before,
+.row:after,
+.row:before {
+    display: table;
+    content: " "
+}
+
+.btn-group-vertical>.btn-group:after,
+.btn-toolbar:after,
+.clearfix:after,
+.container-fluid:after,
+.container:after,
+.dl-horizontal dd:after,
+.form-horizontal .form-group:after,
+.modal-footer:after,
+.nav:after,
+.navbar-collapse:after,
+.navbar-header:after,
+.navbar:after,
+.pager:after,
+.panel-body:after,
+.row:after {
+    clear: both
+}
+
+.center-block {
+    display: block;
+    margin-right: auto;
+    margin-left: auto
+}
+
+.pull-right {
+    float: right!important
+}
+
+.pull-left {
+    float: left!important
+}
+
+.hide {
+    display: none!important
+}
+
+.show {
+    display: block!important
+}
+
+.invisible {
+    visibility: hidden
+}
+
+.text-hide {
+    font: 0/0 a;
+    color: transparent;
+    background-color: transparent;
+    border: 0
+}
+
+.hidden {
+    display: none!important;
+    visibility: hidden!important
+}
+
+.affix {
+    position: fixed
+}
+
+@-ms-viewport {
+    width: device-width
+}
+
+.visible-lg,
+.visible-md,
+.visible-sm,
+.visible-xs {
+    display: none!important
+}
+
+.visible-lg-block,
+.visible-lg-inline,
+.visible-lg-inline-block,
+.visible-md-block,
+.visible-md-inline,
+.visible-md-inline-block,
+.visible-sm-block,
+.visible-sm-inline,
+.visible-sm-inline-block,
+.visible-xs-block,
+.visible-xs-inline,
+.visible-xs-inline-block {
+    display: none!important
+}
+
+@media (max-width:767px) {
+    .visible-xs {
+        display: block!important
+    }
+    table.visible-xs {
+        display: table
+    }
+    tr.visible-xs {
+        display: table-row!important
+    }
+    td.visible-xs,
+    th.visible-xs {
+        display: table-cell!important
+    }
+}
+
+@media (max-width:767px) {
+    .visible-xs-block {
+        display: block!important
+    }
+}
+
+@media (max-width:767px) {
+    .visible-xs-inline {
+        display: inline!important
+    }
+}
+
+@media (max-width:767px) {
+    .visible-xs-inline-block {
+        display: inline-block!important
+    }
+}
+
+@media (min-width:768px) and (max-width:991px) {
+    .visible-sm {
+        display: block!important
+    }
+    table.visible-sm {
+        display: table
+    }
+    tr.visible-sm {
+        display: table-row!important
+    }
+    td.visible-sm,
+    th.visible-sm {
+        display: table-cell!important
+    }
+}
+
+@media (min-width:768px) and (max-width:991px) {
+    .visible-sm-block {
+        display: block!important
+    }
+}
+
+@media (min-width:768px) and (max-width:991px) {
+    .visible-sm-inline {
+        display: inline!important
+    }
+}
+
+@media (min-width:768px) and (max-width:991px) {
+    .visible-sm-inline-block {
+        display: inline-block!important
+    }
+}
+
+@media (min-width:992px) and (max-width:1199px) {
+    .visible-md {
+        display: block!important
+    }
+    table.visible-md {
+        display: table
+    }
+    tr.visible-md {
+        display: table-row!important
+    }
+    td.visible-md,
+    th.visible-md {
+        display: table-cell!important
+    }
+}
+
+@media (min-width:992px) and (max-width:1199px) {
+    .visible-md-block {
+        display: block!important
+    }
+}
+
+@media (min-width:992px) and (max-width:1199px) {
+    .visible-md-inline {
+        display: inline!important
+    }
+}
+
+@media (min-width:992px) and (max-width:1199px) {
+    .visible-md-inline-block {
+        display: inline-block!important
+    }
+}
+
+@media (min-width:1200px) {
+    .visible-lg {
+        display: block!important
+    }
+    table.visible-lg {
+        display: table
+    }
+    tr.visible-lg {
+        display: table-row!important
+    }
+    td.visible-lg,
+    th.visible-lg {
+        display: table-cell!important
+    }
+}
+
+@media (min-width:1200px) {
+    .visible-lg-block {
+        display: block!important
+    }
+}
+
+@media (min-width:1200px) {
+    .visible-lg-inline {
+        display: inline!important
+    }
+}
+
+@media (min-width:1200px) {
+    .visible-lg-inline-block {
+        display: inline-block!important
+    }
+}
+
+@media (max-width:767px) {
+    .hidden-xs {
+        display: none!important
+    }
+}
+
+@media (min-width:768px) and (max-width:991px) {
+    .hidden-sm {
+        display: none!important
+    }
+}
+
+@media (min-width:992px) and (max-width:1199px) {
+    .hidden-md {
+        display: none!important
+    }
+}
+
+@media (min-width:1200px) {
+    .hidden-lg {
+        display: none!important
+    }
+}
+
+.visible-print {
+    display: none!important
+}
+
+@media print {
+    .visible-print {
+        display: block!important
+    }
+    table.visible-print {
+        display: table
+    }
+    tr.visible-print {
+        display: table-row!important
+    }
+    td.visible-print,
+    th.visible-print {
+        display: table-cell!important
+    }
+}
+
+.visible-print-block {
+    display: none!important
+}
+
+@media print {
+    .visible-print-block {
+        display: block!important
+    }
+}
+
+.visible-print-inline {
+    display: none!important
+}
+
+@media print {
+    .visible-print-inline {
+        display: inline!important
+    }
+}
+
+.visible-print-inline-block {
+    display: none!important
+}
+
+@media print {
+    .visible-print-inline-block {
+        display: inline-block!important
+    }
+}
+
+@media print {
+    .hidden-print {
+        display: none!important
+    }
+}
diff --git a/jekyll-source/css/boxshadowproperties.css b/jekyll-source/css/boxshadowproperties.css
new file mode 100644
index 0000000..0f2e1e6
--- /dev/null
+++ b/jekyll-source/css/boxshadowproperties.css
@@ -0,0 +1,24 @@
+/* box-shadow fonts return errors with prince, so extracting here to put in web output only */
+
+#search-demo-container ul#results-container {
+    box-shadow: 2px 3px 2px #dedede;
+}
+
+
+hr.shaded {
+    box-shadow: inset 0 6px 6px -6px rgba(0,0,0,0.5);
+}
+
+.videoThumbs img {
+    box-shadow: 2px 2px 1px #f0f0f0;
+}
+
+.box {
+    box-shadow: 2px 2px 4px #dedede;
+}
+
+@media (max-width: 1200px) {
+    .navbar-collapse {
+        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
+    }
+}
diff --git a/jekyll-source/css/customstyles.css b/jekyll-source/css/customstyles.css
new file mode 100644
index 0000000..908a224
--- /dev/null
+++ b/jekyll-source/css/customstyles.css
@@ -0,0 +1,1200 @@
+body {
+    font-size:15px;
+}
+
+.bs-callout {
+    padding: 20px;
+    margin: 20px 0;
+    border: 1px solid #eee;
+    border-left-width: 5px;
+    border-radius: 3px;
+}
+.bs-callout h4 {
+    margin-top: 0;
+    margin-bottom: 5px;
+}
+.bs-callout p:last-child {
+    margin-bottom: 0;
+}
+.bs-callout code {
+    border-radius: 3px;
+}
+.bs-callout+.bs-callout {
+    margin-top: -5px;
+}
+.bs-callout-default {
+    border-left-color: #777;
+}
+.bs-callout-default h4 {
+    color: #777;
+}
+.bs-callout-primary {
+    border-left-color: #428bca;
+}
+.bs-callout-primary h4 {
+    color: #428bca;
+}
+.bs-callout-success {
+    border-left-color: #5cb85c;
+}
+.bs-callout-success h4 {
+    color: #5cb85c;
+}
+.bs-callout-danger {
+    border-left-color: #d9534f;
+}
+.bs-callout-danger h4 {
+    color: #d9534f;
+}
+.bs-callout-warning {
+    border-left-color: #f0ad4e;
+}
+.bs-callout-warning h4 {
+    color: #f0ad4e;
+}
+.bs-callout-info {
+    border-left-color: #5bc0de;
+}
+.bs-callout-info h4 {
+    color: #5bc0de;
+}
+
+
+.gi-2x{font-size: 2em;}
+.gi-3x{font-size: 3em;}
+.gi-4x{font-size: 4em;}
+.gi-5x{font-size: 5em;}
+
+
+
+
+
+.breadcrumb > .active {color: #777 !important;}
+
+/* make room for the nav bar */
+h1[id],
+h2[id],
+h3[id],
+h4[id],
+h5[id],
+h6[id],
+dt[id]{
+padding-top: 60px;
+margin-top: -40px
+}
+
+.post-content img {
+    margin: 12px 0px 3px 0px;
+    width: auto;
+    height: auto;
+    max-width: 100%;
+    max-height: 100%;
+}
+
+.post-content ol li, .post-content ul li {
+    margin: 10px 0px;
+}
+
+.pageSummary {
+    font-size:13px;
+    display:block;
+    margin-bottom:15px;
+    padding-left:20px;
+}
+
+.post-summary {
+    margin-bottom:12px;
+}
+
+.bs-example{
+    margin: 20px;
+}
+
+.breadcrumb li {
+    color: gray;
+}
+
+table {
+    background-color: transparent;
+}
+caption {
+    padding-top: 8px;
+    padding-bottom: 8px;
+    color: #777;
+    text-align: left;
+}
+th {
+    text-align: left;
+}
+table {
+    max-width: 90%;
+    margin-bottom: 20px;
+    border: 1px solid #dedede;
+}
+
+table > thead > tr > th,
+table > tbody > tr > th,
+table > tfoot > tr > th,
+table > thead > tr > td,
+table > tbody > tr > td,
+table > tfoot > tr > td {
+    padding: 8px;
+    line-height: 1.42857143;
+    vertical-align: top;
+    border-top: 1px solid #ddd;
+}
+table > thead > tr > th {
+    vertical-align: bottom;
+    border-bottom: 2px solid #ddd;
+    text-transform: none;
+    background-color: #777;
+    color: white;
+    text-align: left;
+}
+table > caption + thead > tr:first-child > th,
+table > colgroup + thead > tr:first-child > th,
+table > thead:first-child > tr:first-child > th,
+table > caption + thead > tr:first-child > td,
+table > colgroup + thead > tr:first-child > td,
+table > thead:first-child > tr:first-child > td {
+    border-top: 0;
+}
+
+table > tbody > tr:nth-of-type(odd) {
+    background-color: #f9f9f9;
+}
+
+table col[class*="col-"] {
+    position: static;
+    display: table-column;
+    float: none;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+    position: static;
+    display: table-cell;
+    float: none;
+}
+
+table tr td {
+    hyphens: auto;
+}
+
+
+p.external a {
+    text-align:right;
+    font-size:12px;
+    color: #0088cc;
+    display:inline;
+}
+
+#definition-box-container div a.active {
+    font-weight: bold;
+}
+p.post-meta {font-size: 80%; color: #777;}
+
+.entry-date{font-size:14px;font-size:0.875rem;line-height:1.71429;margin-bottom:0;text-transform:uppercase;}
+
+/* search area */
+#search-demo-container ul#results-container {
+    list-style: none;
+    font-size: 12px;
+    background-color: white;
+    position: absolute;
+    top: 40px; /* if you change anything about the nav, you'll prob. need to reset the top and left values here.*/
+    left: 20px;
+    z-index: -1;
+    width:223px;
+    border-left: 1px solid #dedede;
+}
+
+
+ul#results-container a {
+    background-color: transparent;
+}
+
+ul#results-container a:hover {
+    color: black;
+}
+
+
+#search-demo-container a:hover {
+    color: black;
+}
+#search-input {
+    padding: .5em;
+    margin-left:20px;
+    width:20em;
+    font-size: 0.8em;
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+    margin-top:10px;
+}
+/* end search */
+
+.filter-options {
+    margin-bottom: 20px;
+}
+.filter-options button {
+    margin: 3px;
+}
+
+div#toc ul li {
+    margin: 8px 0px 8px 22px;
+    font-size: 90%;
+    list-style: square;
+}
+div#toc ul {
+    background-color: whitesmoke;
+    padding: 5px;
+    border-radius: 5px;
+    max-width: 300px;
+    color: gray;
+}
+
+div#toc ul li ul {
+    padding-left:8px;
+
+}
+
+div#toc ul li ul li::before {
+    content: "–  ";
+}
+
+div#toc >ul::before {
+    content: "Table of Contents";
+    font-weight: 500;
+    color: #555;
+    text-align:center;
+    margin-left:auto;
+    margin-right:auto;
+    width:70px;
+    padding-top:20px;
+    padding-bottom:20px;
+    padding-left:10px;
+}
+
+li.dropdownActive a {
+    font-weight: bold;
+}
+
+
+.post-content a.fa-rss {
+    color: orange;
+}
+
+
+.navbar-inverse .navbar-nav > li > a {
+    background-color: transparent;
+    margin-top:10px;
+}
+
+.post-content .rssfeedLink {
+    color: #248EC2;
+}
+
+footer {
+    font-size: smaller;
+}
+
+/* FAQ page */
+#accordion .panel-heading {
+    font-size: 12px;
+}
+
+a.accordion-toggle, a.accordion-collapsed {
+    font-size: 14px;
+    text-decoration: none;
+}
+
+/* navgoco sidebar styles (customized) */
+.nav, .nav ul, .nav li {
+    list-style: none;
+}
+
+.nav ul {
+    padding: 0;
+    /*margin: 0 0 0 18px;*/
+    margin:0px;
+}
+
+.nav {
+    /* padding: 4px;*/
+    padding:0px;
+    margin: 0px;
+}
+
+.nav > li {
+    margin: 1px 0;
+}
+
+.nav > li li {
+    margin: 2px 0;
+}
+
+.nav a {
+    color: #333;
+    display: block;
+    outline: none;
+    /*-webkit-border-radius: 4px;
+    -moz-border-radius: 4px;
+    border-radius: 4px;*/
+    text-decoration: none;
+}
+
+.nav li > a > span {
+    float: right;
+    font-size: 19px;
+    font-weight: bolder;
+}
+
+
+.nav li > a > span:after {
+    content: '\25be';
+}
+.nav li.active > a > span:after {
+    content: '\25b4';
+}
+
+.nav a:hover, .nav li.active > a {
+    background-color: #8D8D8D;
+    color: #f5f5f5;
+}
+
+.nav > li.active > a  {
+background-color: #347DBE;
+}
+
+.nav li a {
+    font-size: 12px;
+    line-height: 18px;
+    padding: 2px 10px;
+    background-color: #f1f1f1;
+}
+
+.nav > li > a {
+    font-size: 14px;
+    line-height: 20px;
+    padding: 4px 10px;
+}
+
+ul#mysidebar {
+    border-radius:0px;
+}
+
+.nav ul li ul li a {
+    padding-left:40px;
+}
+
+.nav li.thirdlevel > a {
+    color: #248EC2;
+    font-weight:bold;
+    padding-left:20px;
+    background-color: whitesmoke !important;
+}
+
+
+.nav ul li a {
+    background-color: #FAFAFA;
+}
+
+.nav li a {
+    padding-right:10px;
+}
+
+.nav li a:hover {
+    background-color: #8D8D8D;
+}
+
+.nav ul li a {
+    border-top:1px solid whitesmoke;
+    padding-left:10px;
+}
+/* end sidebar */
+
+.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
+    border-radius:5px;
+}
+
+.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:focus, .navbar-inverse .navbar-nav>.open>a:hover {
+    border-radius: 5px;
+}
+
+span.projectTitle {
+    font-family: Helvetica;
+    font-weight: bold;
+}
+
+.footer {
+    text-align: right;
+}
+
+.footerMeta {
+    background-color: whitesmoke;
+    padding: 10px;
+    max-width: 250px;
+    border-radius: 5px;
+    margin-top: 50px;
+    font-style:italic;
+    font-size:12px;
+}
+
+img.screenshotSmall {
+    max-width: 300px;
+}
+
+
+dl dt p {
+    margin-left:20px;
+}
+
+
+dl dd {
+    margin-top:10px;
+    margin-bottom:10px;
+}
+
+dl.dl-horizontal dd {
+    padding-top: 20px;
+}
+
+figcaption {
+
+    padding-bottom:12px;
+    padding-top:6px;
+    max-width: 90%;
+    margin-bottom:20px;
+    font-style: italic;
+    color: gray;
+
+}
+
+.testing {
+    color: orange;
+}
+
+.preference {
+    color: red;
+}
+
+
+table.dataTable thead {
+    background-color: #444;
+}
+table td {
+    hyphens: auto;
+}
+
+section table tr.success {
+    background-color: #dff0d8 !important;
+}
+
+table tr.info {
+    background-color: #d9edf7 !important;
+}
+
+section table tr.warning, table tr.testing, table tr.testing > td.sorting_1  {
+    background-color: #fcf8e3 !important;
+}
+section table tr.danger, table tr.preference, table tr.preference > td.sorting_1  {
+    background-color: #f2dede !important;
+}
+
+.orange {
+    color: orange;
+}
+
+table.profile thead tr th {
+    background-color: #248ec2;
+}
+
+table.request thead tr th {
+    background-color: #ED1951;
+}
+
+.audienceLabel {
+    margin: 10px;
+    float: right;
+    border:1px solid #dedede;
+    padding:7px;
+}
+
+.prefaceAudienceLabel {
+    color: gray;
+    text-align: center;
+    margin:5px;
+}
+span.myLabel {
+    padding-left:10px;
+    padding-right:10px;
+}
+
+button.cursorNorm {
+    cursor: default;
+}
+
+a.dropdown-toggle, .navbar-inverse .navbar-nav > li > a  {
+    margin-left: 10px;
+}
+
+hr.faded {
+    border: 0;
+    height: 1px;
+    background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
+    background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
+    background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
+    background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
+}
+
+hr.shaded {
+    height: 12px;
+    border: 0;
+    margin-top: 70px;
+    background: white;
+    width: 100%;
+    margin-bottom: 10px;
+}
+
+.fa-6x{font-size:900%;}
+.fa-7x{font-size:1100%;}
+.fa-8x{font-size:1300%;}
+.fa-9x{font-size:1500%;}
+.fa-10x{font-size:1700%;}
+
+i.border {
+    padding: 10px 20px;
+    background-color: whitesmoke;
+}
+
+a[data-toggle] {
+    color: #248EC2;
+}
+
+.summary {
+    font-size:120%;
+    color: #808080;
+    margin:20px 0px 20px 0px;
+    border-left: 5px solid #ED1951;
+    padding-left: 10px;
+
+}
+
+.summary:before {
+    content: "Summary: ";
+    font-weight: bold;
+}
+
+
+a.fa.fa-envelope-o.mailto {
+    font-weight: 600;
+}
+
+h3 {color: #ED1951; font-weight:normal; font-size:130%;}
+h4 {color: #808080; font-weight:normal; font-size:120%; font-style:italic;}
+
+.alert, .callout {
+    overflow: hidden;
+}
+
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+    background-color: #248ec2;
+    color: white;
+}
+
+ol li ol li {list-style-type: lower-alpha;}
+ol li ul li {list-style-type: disc;}
+
+li img {clear:both; }
+
+div#toc ul li ul li {
+    list-style-type: none;
+    margin: 5px 0px 0px 0px;
+}
+
+.tab-content {
+    padding: 15px;
+    background-color: #FAFAFA;
+}
+
+span.tagTitle {font-weight: 500;}
+
+li.activeSeries {
+    font-weight: bold;
+}
+
+.seriesContext .dropdown-menu li.active {
+    font-weight: bold;
+    margin-left: 43px;
+    font-size:18px;
+}
+
+.alert-warning {
+    color: #444;
+}
+
+div.alert code, h2 code {
+    background-color: transparent !important;
+}
+/* without this, the links in these notes aren't visible.*/
+.alert a {
+    text-decoration: underline;
+}
+
+div.tags {padding: 10px 5px;}
+
+.tabLabel {
+    font-weight: normal;
+}
+
+hr {
+    background: #999;
+    margin: 30px 0px;
+    width: 90%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+button.cursorNorm {
+    cursor: pointer;
+}
+
+h2  {
+    font-size:24px;
+    line-height:29px;
+}
+span.otherProgrammingLanguages {
+    font-style: normal;
+}
+
+a[data-toggle="tooltip"] {
+    color: #649345;
+    font-style: italic;
+    cursor: default;
+}
+
+.seriesNext, .seriesContext {
+    margin-top: 15px;
+    margin-bottom: 15px;
+}
+
+.seriescontext ol li {
+    list-style-type: upper-roman;
+}
+
+ol.series li {
+    list-style-type: decimal;
+    margin-left: 40px;
+    padding-left: 0px;
+}
+
+.siteTagline {
+    font-size: 200%;
+    font-weight: bold;
+    color: silver;
+    font-family: monospace;
+    text-align: center;
+    line-height: 10px;
+    margin: 20px 0px;
+    display: block;
+}
+
+.versionTagline {
+    text-align: center;
+    margin-bottom: 20px;
+    font-family: courier;
+    color: silver;
+    color: #444;
+    display:block;
+}
+
+/* not sure if using this ...*/
+.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
+    border-color: #248ec2 !important;
+}
+
+#mysidebar .nav ul {
+    background-color: #FAFAFA;
+}
+.nav ul.series li {
+    list-style: decimal;
+    font-size:12px;
+}
+
+.nav ul.series li a:hover {
+    background-color: gray;
+}
+.nav ul.series {
+    padding-left: 30px;
+}
+
+.nav ul.series {
+    background-color: #FAFAFA;
+}
+
+/*
+a.dropdown-toggle.otherProgLangs {
+    color: #f7e68f !important;
+}
+*/
+
+span.muted {color: #666;}
+
+table code {background-color: transparent;}
+
+.highlight .err {
+    color: #a61717;
+    background-color: transparent !important;
+}
+
+table p {
+    margin-top: 12px;
+    margin-bottom: 12px;
+}
+
+pre, table code {
+    white-space: pre-wrap;       /* css-3 */
+    white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
+    white-space: -pre-wrap;      /* Opera 4-6 */
+    white-space: -o-pre-wrap;    /* Opera 7 */
+    word-wrap: break-word;       /* Internet Explorer 5.5+ */
+}
+
+pre {
+    margin: 25px 0px;
+}
+
+#json-box-container pre {
+    margin: 0px;
+}
+
+.video-js {
+    margin: 30px 0px;
+}
+
+video {
+    display: block;
+    margin: 30px 0px;
+    border: 1px solid #c0c0c0;
+}
+
+
+p.required, p.dataType {display: block; color: #c0c0c0; font-size: 80%; margin-left:4px;}
+
+dd {margin-left:20px;}
+
+.post-content img.inline {
+    margin:0px;
+    margin-bottom:6px;
+}
+.panel-heading {
+    font-weight: bold;
+}
+
+.note code, .alert code, .warning code, div#toc code, h2 code, h3 code, h4 code {
+    color: inherit;
+    padding: 0px;
+}
+
+.alert {
+    margin-bottom:10px;
+    margin-top:10px;
+}
+
+a.accordion-toggle {
+    font-style: normal;
+}
+
+span.red {
+    color: red;
+    font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
+}
+
+h3.codeExplanation {
+    font-size:18px;
+    font-style:normal;
+    color: black;
+    line-height: 24px;
+}
+
+span.soft {
+    color: #c0c0c0;
+}
+
+.githubEditButton {
+    margin-bottom:7px;
+}
+
+.endpoint {
+    padding: 15px;
+    background-color: #f0f0f0;
+    font-family: courier;
+    font-size: 110%;
+    margin: 20px 0px;
+    color: #444;
+}
+
+.parameter {
+    font-family: courier;
+    color: red !important;
+}
+
+.formBoundary {
+    border: 1px solid gray;
+    padding: 15px;
+    margin: 15px 0px;
+    background-color: whitesmoke;
+}
+
+@media (max-width: 767px) {
+    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
+        color: #444;
+    }
+}
+
+@media (max-width: 990px) {
+    #mysidebar {
+        position: relative;
+    }
+}
+
+@media (min-width: 1000px) {
+
+    ul#mysidebar {
+        width: 225px;
+    }
+}
+
+@media (max-width: 900px) {
+
+    ul#mysidebar {
+        max-width: 100%;
+    }
+}
+
+.col-md-9 img {
+    max-width: 100%;
+    max-height: 100%;
+}
+
+
+.post-content img {
+    margin: 12px 0px 3px 0px;
+    width: auto;
+    height: auto;
+    max-width: 100%;
+    max-height: 100%;
+}
+.col-md-9 img {
+    max-width: 100%;
+    max-height: 100%;
+}
+
+
+.post-content img {
+    margin: 12px 0px 3px 0px;
+    width: auto;
+    height: auto;
+    max-width: 100%;
+    max-height: 100%;
+}
+
+.videoThumbs img {
+    float: left;
+    margin:15px 15px 15px 0px;
+    border: 1px solid #dedede;
+}
+
+
+@media only screen and (min-width: 900px), only screen and (min-device-width: 900px) {
+    .col-md-9 img {
+        max-width: 700px;
+        max-height: 700px;
+    }
+}
+
+*:hover > .anchorjs-link {
+    transition: color .25s linear;
+    text-decoration: none;
+}
+
+.kbCaption {
+    color: white;
+    background-color: #444;
+    padding:10px;
+}
+
+/* this part adds an icon after external links, using FontAwesome*/
+a[href^="http://"]:after, a[href^="https://"]:after {
+    content: "\f08e";
+    font-family: FontAwesome;
+    font-weight: normal;
+    font-style: normal;
+    display: inline-block;
+    text-decoration: none;
+    padding-left: 3px;
+}
+
+/* Strip the outbound icon when this class is present */
+a[href].noCrossRef::after,
+a.no_icon:after
+ {
+    content:"" !important;
+    padding-left: 0;
+}
+
+.btn-default {
+    margin-bottom: 10px;
+}
+
+/* algolia search */
+
+.search {
+    text-align: left;
+}
+.search input {
+    font-size: 20px;
+    width: 300px;
+}
+.results {
+    margin: auto;
+    text-align: left;
+}
+.results ul {
+    list-style-type: none;
+    padding: 0;
+}
+
+/* algolia */
+
+div.results {
+    position: absolute;
+    background-color: white;
+    width: 100%;
+}
+
+.post-meta {
+    font-size: 14px;
+    color: #828282;
+}
+
+.post-link {
+    font-size: 22px;
+}
+
+.post-list p {
+    margin: 10px 0px;
+}
+
+time {
+    margin-right: 10px;
+}
+
+p.post-meta time {
+    margin-right: 0px;
+}
+
+span.label.label-default {
+    background-color: gray;
+}
+
+span.label.label-primary {
+    background-color: #f0ad4e;
+}
+.col-lg-12 .nav li a {background-color: white}
+
+
+.nav li.active > a.subfoldersTitle {
+    background-color: whitesmoke;
+    font-weight: bold;
+    color: black;
+    }
+
+a code {
+    color: #248EC2;
+}
+
+code + a > code {
+    margin-left: -7px;
+}
+
+table th code {
+    color: white;
+}
+
+ol li ul li ol li {
+    list-style: decimal;
+}
+
+ol li ul li ol li ul li{
+    list-style: disc;
+}
+
+.post-content table th {
+    vertical-align: top;
+}
+
+table thead th code.highlighter-rouge {
+    background-color: transparent;
+}
+
+
+.box {
+    padding: 10px;
+    border: 1px solid #888;
+    width: 100px;
+    height: 80px;
+    background-color: #f5f5f5;
+    font-family: Arial;
+    font-size: 12px;
+    hyphens: auto;
+    float: left;
+    font-size: 12px;
+}
+
+.box:hover {
+    background-color: #f0f0f0;
+}
+
+#userMap {
+    overflow-x: auto;
+    overflow-y: auto;
+    padding: 20px;
+    min-width: 770px;
+}
+
+#userMap .active {
+    background-color: #d6f5d6;
+    border:1px solid #555;
+    font-weight: bold;
+}
+
+h2.userMapTitle {
+    font-family: Arial;
+}
+
+#userMap a:hover {
+    text-decoration: none;
+  }
+
+div.arrow {
+    max-width: 50px;
+    margin-left: 15px;
+    margin-right: 15px;
+    font-size: 20px;
+}
+
+div.content {
+    max-width: 110px
+}
+
+#userMap div.arrow, #userMap div.content {
+    float: left;
+}
+
+.clearfix {
+    clear: both;
+}
+
+
+#userMap div.arrow {
+    position: relative;
+    top: 30px;
+}
+
+.box1 {
+    margin-left:0px;
+}
+
+button.btn.btn-default.btn-lg.modalButton1 {
+    margin-left: -20px;
+}
+
+div.box.box1 {
+    margin-left: -20px;
+}
+
+#userMap .btn-lg {
+    width: 100px;
+    height: 80px;
+
+}
+
+#userMap .complexArrow {
+    font-size: 22px;
+    margin: 0px 10px;
+}
+
+
+#userMap .btn-lg .active {
+    background-color: #d6f5d6;
+}
+
+#userMap .btn-lg  {
+        white-space: pre-wrap;       /* css-3 */
+        white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
+        white-space: -pre-wrap;      /* Opera 4-6 */
+        white-space: -o-pre-wrap;    /* Opera 7 */
+        word-wrap: break-word;       /* Internet Explorer 5.5+ */
+        font-size: 14px;
+    }
+
+/*
+ * Let's target IE to respect aspect ratios and sizes for img tags containing SVG files
+ *
+ * [1] IE9
+ * [2] IE10+
+ */
+/* 1 */
+.ie9 img[src$=".svg"] {
+    width: 100%;
+}
+/* 2 */
+@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
+    img[src$=".svg"] {
+        width: 100%;
+    }
+}
+
+h4.panel-title {
+    padding-top: 0px;
+    margin-top: 0px;
+}
+
+/*set navbar breakpoint so that it converts to hamburger earlier */
+
+@media (max-width: 1200px) {
+    .navbar-header {
+        float: none;
+    }
+    .navbar-left,.navbar-right {
+        float: none !important;
+    }
+    .navbar-toggle {
+        display: block;
+    }
+    .navbar-collapse {
+        border-top: 1px solid transparent;
+    }
+    .navbar-fixed-top {
+        top: 0;
+        border-width: 0 0 1px;
+    }
+    .navbar-collapse.collapse {
+        display: none!important;
+    }
+    .navbar-nav {
+        float: none!important;
+        margin-top: 7.5px;
+    }
+    .navbar-nav>li {
+        float: none;
+    }
+    .navbar-nav>li>a {
+        padding-top: 10px;
+        padding-bottom: 10px;
+    }
+    .collapse.in{
+        display:block !important;
+    }
+}
diff --git a/jekyll-source/css/font-awesome.min.css b/jekyll-source/css/font-awesome.min.css
new file mode 100644
index 0000000..0e0645d
--- /dev/null
+++ b/jekyll-source/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:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}
diff --git a/jekyll-source/css/fonts/FontAwesome.otf b/jekyll-source/css/fonts/FontAwesome.otf
new file mode 100644
index 0000000..401ec0f
--- /dev/null
+++ b/jekyll-source/css/fonts/FontAwesome.otf
Binary files differ
diff --git a/jekyll-source/css/fonts/fontawesome-webfont.eot b/jekyll-source/css/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
--- /dev/null
+++ b/jekyll-source/css/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/jekyll-source/css/fonts/fontawesome-webfont.svg b/jekyll-source/css/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/jekyll-source/css/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="&#xa8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="glass" unicode="&#xf000;" 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="&#xf001;" 
+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="&#xf002;" 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="&#xf003;" 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="&#xf004;" 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="&#xf005;" 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="&#xf006;" 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="&#xf007;" 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="&#xf008;" 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="&#xf009;" 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="&#xf00a;" 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="&#xf00b;" 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="&#xf00c;" 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="&#xf00d;" 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="&#xf00e;" 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="&#xf010;" 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="&#xf011;" 
+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="&#xf012;" 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="&#xf013;" 
+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="&#xf014;" 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="&#xf015;" 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="&#xf016;" 
+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="&#xf017;" 
+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="&#xf018;" 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="&#xf019;" 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="&#xf01a;" 
+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="&#xf01b;" 
+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="&#xf01c;" 
+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="&#xf01d;" 
+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="&#xf01e;" 
+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="&#xf021;" 
+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="&#xf022;" 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="&#xf023;" 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="&#xf024;" 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="&#xf025;" 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="&#xf026;" 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="&#xf027;" 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="&#xf028;" 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="&#xf029;" 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="&#xf02a;" 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="&#xf02b;" 
+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="&#xf02c;" 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="&#xf02d;" 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="&#xf02e;" 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="&#xf02f;" 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="&#xf030;" 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="&#xf031;" 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="&#xf032;" 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="&#xf033;" 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="&#xf034;" 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="&#xf035;" 
+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="&#xf036;" 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="&#xf037;" 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="&#xf038;" 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="&#xf039;" 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="&#xf03a;" 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="&#xf03b;" 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="&#xf03c;" 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="&#xf03d;" 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="&#xf03e;" 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="&#xf040;" 
+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="&#xf041;" 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="&#xf042;" 
+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="&#xf043;" 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="&#xf044;" 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="&#xf045;" 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="&#xf046;" 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="&#xf047;" 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="&#xf048;" 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="&#xf049;" 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="&#xf04a;" 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="&#xf04b;" 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="&#xf04c;" 
+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="&#xf04d;" 
+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="&#xf04e;" 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="&#xf050;" 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="&#xf051;" 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="&#xf052;" 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="&#xf053;" 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="&#xf054;" 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="&#xf055;" 
+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="&#xf056;" 
+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="&#xf057;" 
+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="&#xf058;" 
+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="&#xf059;" 
+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="&#xf05a;" 
+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="&#xf05b;" 
+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="&#xf05c;" 
+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="&#xf05d;" 
+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="&#xf05e;" 
+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="&#xf060;" 
+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="&#xf061;" 
+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="&#xf062;" 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="&#xf063;" 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="&#xf064;" 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="&#xf065;" 
+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="&#xf066;" 
+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="&#xf067;" 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="&#xf068;" 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="&#xf069;" 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="&#xf06a;" 
+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="&#xf06b;" 
+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="&#xf06c;" 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="&#xf06d;" 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="&#xf06e;" 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="&#xf070;" 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="&#xf071;" 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="&#xf072;" 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="&#xf073;" 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="&#xf074;" 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="&#xf075;" 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="&#xf076;" 
+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="&#xf077;" 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="&#xf078;" 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="&#xf079;" 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="&#xf07a;" 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="&#xf07b;" 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="&#xf07c;" 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="&#xf07d;" 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="&#xf07e;" 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="&#xf080;" 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="&#xf081;" 
+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="&#xf082;" 
+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="&#xf083;" 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="&#xf084;" 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="&#xf085;" 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="&#xf086;" 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="&#xf087;" 
+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="&#xf088;" 
+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="&#xf089;" 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="&#xf08a;" 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="&#xf08b;" 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="&#xf08c;" 
+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="&#xf08d;" 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="&#xf08e;" 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="&#xf090;" 
+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="&#xf091;" 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="&#xf092;" 
+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="&#xf093;" 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="&#xf094;" 
+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="&#xf095;" 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="&#xf096;" 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="&#xf097;" 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="&#xf098;" 
+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="&#xf099;" 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="&#xf09a;" 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="&#xf09b;" 
+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="&#xf09c;" 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="&#xf09d;" 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="&#xf09e;" 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="&#xf0a0;" 
+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="&#xf0a1;" 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="&#xf0a2;" 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="&#xf0a3;" 
+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="&#xf0a4;" 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="&#xf0a5;" 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="&#xf0a6;" 
+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="&#xf0a7;" 
+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="&#xf0a8;" 
+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="&#xf0a9;" 
+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="&#xf0aa;" 
+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="&#xf0ab;" 
+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="&#xf0ac;" 
+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="&#xf0ad;" 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="&#xf0ae;" 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="&#xf0b0;" 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="&#xf0b1;" 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="&#xf0b2;" 
+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="&#xf0c0;" 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" />
+    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+    <glyph glyph-name="save" unicode="&#xf0c7;" 
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
+d="M1536 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="reorder" unicode="&#xf0c9;" 
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+    <glyph glyph-name="underline" unicode="&#xf0cd;" 
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 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="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+    <glyph glyph-name="undo" unicode="&#xf0e2;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
+d="M384 384q0 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.5zM576 832q0 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.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 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.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 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.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-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 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-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 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -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 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" 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 16zM1728 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.5
+t50 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.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
+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
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
+d="M384 224v-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 480v-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
+M640 480v-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 736v-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
+M1152 224v-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.5zM896 480v-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
+M640 736v-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 992v-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
+M1152 480v-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.5zM896 736v-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
+M640 992v-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 1248v-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
+M1152 736v-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.5zM896 992v-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
+M640 1248v-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.5zM1152 992v-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
+M896 1248v-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.5zM1152 1248v-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
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
+d="M384 224v-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 480v-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
+M640 480v-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 736v-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
+M1152 224v-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.5zM896 480v-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
+M640 736v-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.5zM1152 480v-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
+M896 736v-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.5zM1152 736v-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
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
+d="M640 128q0 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.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 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="f0fe" unicode="&#xf0fe;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 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="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
+d="M464 128q0 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.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 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 -103
+t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -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.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -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.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="circle" unicode="&#xf111;" 
+d="M1536 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="reply" unicode="&#xf112;" horiz-adv-x="1792" 
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="smile" unicode="&#xf118;" 
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -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.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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="frown" unicode="&#xf119;" 
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -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.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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="meh" unicode="&#xf11a;" 
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -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.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 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.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
+q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
+q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
+q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" 
+d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" 
+d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
+l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" 
+d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
+q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" 
+d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
+l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" 
+d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" 
+d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" 
+d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
+q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
+q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" 
+d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
+q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
+l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
+t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" 
+d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
+t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" 
+d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
+q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" 
+d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+    <glyph glyph-name="superscript" unicode="&#xf12b;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
+t-65.5 -51.5t-30.5 -63h232v80h126z" />
+    <glyph glyph-name="subscript" unicode="&#xf12c;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
+h232v80h126z" />
+    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" 
+d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" 
+d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
+t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
+q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
+q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" 
+d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
+t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" 
+d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
+q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
+t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" 
+d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
+t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" 
+d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -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 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" 
+d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
+q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
+q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" 
+d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
+q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" 
+d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" 
+d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 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="chevron_sign_right" unicode="&#xf138;" 
+d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 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="chevron_sign_up" unicode="&#xf139;" 
+d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 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="chevron_sign_down" unicode="&#xf13a;" 
+d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 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="html5" unicode="&#xf13b;" horiz-adv-x="1408" 
+d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" 
+d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" 
+d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
+q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
+t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" 
+d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
+v-320h736z" />
+    <glyph glyph-name="bullseye" unicode="&#xf140;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 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.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
+t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" 
+d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" 
+d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="_303" unicode="&#xf143;" 
+d="M512 256q0 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.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
+q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 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="play_sign" unicode="&#xf144;" 
+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 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
+q16 -8 32 -8q17 0 32 9z" />
+    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" 
+d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
+t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 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.5
+t84.5 -203.5z" />
+    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
+t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" 
+d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" 
+d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+    <glyph glyph-name="check_sign" unicode="&#xf14a;" 
+d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
+t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="edit_sign" unicode="&#xf14b;" 
+d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
+v-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="_312" unicode="&#xf14c;" 
+d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
+q-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="share_sign" unicode="&#xf14d;" 
+d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
+t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 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="compass" unicode="&#xf14e;" 
+d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 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 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="collapse" unicode="&#xf150;" 
+d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
+v-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="collapse_top" unicode="&#xf151;" 
+d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.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="_317" unicode="&#xf152;" 
+d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
+t-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="eur" unicode="&#xf153;" horiz-adv-x="1024" 
+d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
+t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
+l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" 
+d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
+q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" 
+d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
+t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
+t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
+t53 -63.5t31.5 -76.5t13 -94z" />
+    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" 
+d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
+q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" 
+d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
+l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" 
+d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
+q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
+    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" 
+d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
+t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
+q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" 
+d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
+l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
+t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
+    <glyph glyph-name="file" unicode="&#xf15b;" 
+d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
+    <glyph glyph-name="file_text" unicode="&#xf15c;" 
+d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
+    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" 
+d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
+v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
+l230 -662h70z" />
+    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" 
+d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
+v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
+v119h121z" />
+    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" 
+d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
+q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" 
+d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
+q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_order" unicode="&#xf162;" 
+d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
+zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
+t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
+    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" 
+d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
+t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
+q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
+    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" 
+d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
+q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
+t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
+    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" 
+d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
+t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
+t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
+    <glyph glyph-name="youtube_sign" unicode="&#xf166;" 
+d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
+q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
+q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
+q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
+q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
+h-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="youtube" unicode="&#xf167;" 
+d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
+q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
+q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
+q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
+q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
+    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" 
+d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
+q25 45 64 45h241q22 0 31 -15z" />
+    <glyph glyph-name="xing_sign" unicode="&#xf169;" 
+d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
+l409 723q8 16 0 28zM1536 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="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" 
+d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
+l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
+q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
+    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" 
+d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
+    <glyph glyph-name="stackexchange" unicode="&#xf16c;" 
+d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
+    <glyph glyph-name="instagram" unicode="&#xf16d;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
+q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
+t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
+q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
+    <glyph glyph-name="flickr" unicode="&#xf16e;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-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.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
+t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
+    <glyph glyph-name="adn" unicode="&#xf170;" 
+d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 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="f171" unicode="&#xf171;" horiz-adv-x="1408" 
+d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
+t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
+t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
+t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
+    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" 
+d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
+t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
+M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
+v-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="tumblr" unicode="&#xf173;" horiz-adv-x="1024" 
+d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
+q78 2 134 29z" />
+    <glyph glyph-name="tumblr_sign" unicode="&#xf174;" 
+d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
+M1536 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="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" 
+d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
+    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" 
+d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
+    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" 
+d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" 
+d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
+    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" 
+d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
+q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
+    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" 
+d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
+    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" 
+d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
+t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
+h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
+    <glyph glyph-name="linux" unicode="&#xf17c;" 
+d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
+M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
+q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
+q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
+t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
+q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
+q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
+q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
+q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
+t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
+t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
+q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
+t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
+q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
+t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
+t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
+    <glyph glyph-name="dribble" unicode="&#xf17d;" 
+d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
+t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
+q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
+t25 -4.5zM1536 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="skype" unicode="&#xf17e;" 
+d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
+t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
+q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
+q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
+    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" 
+d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
+M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
+l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
+    <glyph glyph-name="trello" unicode="&#xf181;" 
+d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
+q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" 
+d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
+q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" 
+d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
+M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="gittip" unicode="&#xf184;" 
+d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 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="sun" unicode="&#xf185;" horiz-adv-x="1792" 
+d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
+l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
+q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
+    <glyph glyph-name="_366" unicode="&#xf186;" 
+d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
+t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
+    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" 
+d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
+q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" 
+d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
+q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
+t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
+    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" 
+d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
+t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
+q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
+q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
+q39 5 64 -2.5t31 -16.5z" />
+    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" 
+d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
+q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
+q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
+q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
+M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
+    <glyph glyph-name="renren" unicode="&#xf18b;" 
+d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
+q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" 
+d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
+t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
+t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
+t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" 
+d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
+" />
+    <glyph glyph-name="_374" unicode="&#xf18e;" 
+d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-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.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" 
+d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-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.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_376" unicode="&#xf191;" 
+d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
+M1536 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="dot_circle_alt" unicode="&#xf192;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
+t-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="_378" unicode="&#xf193;" horiz-adv-x="1664" 
+d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
+q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+    <glyph glyph-name="vimeo_square" unicode="&#xf194;" 
+d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
+q157 0 383 294q220 283 226 444zM1536 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="_380" unicode="&#xf195;" horiz-adv-x="1152" 
+d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
+q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
+q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 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.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" 
+d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
+t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
+q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
+    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" 
+d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
+q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
+t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
+    <glyph glyph-name="_384" unicode="&#xf199;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-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.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
+q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
+t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
+    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" 
+d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
+t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
+t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
+t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
+t273 -182.5t331.5 -68z" />
+    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" 
+d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
+    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" 
+d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
+q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
+    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" 
+d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
+q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
+    <glyph glyph-name="_389" unicode="&#xf19e;" 
+d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
+q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
+    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" 
+d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
+t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
+    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" 
+d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
+t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
+q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
+t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_392" unicode="&#xf1a2;" 
+d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
+q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
+q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_393" unicode="&#xf1a3;" 
+d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
+v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 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 103
+t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" 
+d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
+v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
+    <glyph glyph-name="_395" unicode="&#xf1a5;" 
+d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 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.5
+t84.5 -203.5z" />
+    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" 
+d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
+v-369h123z" />
+    <glyph glyph-name="_397" unicode="&#xf1a7;" 
+d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
+v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" 
+d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
+q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
+q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
+q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
+t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
+q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
+t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
+t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
+    <glyph glyph-name="_399" unicode="&#xf1a9;" 
+d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
+q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
+q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
+t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
+q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
+    <glyph glyph-name="_400" unicode="&#xf1aa;" 
+d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
+M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
+t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
+q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
+t135.5 51q85 0 145 -60.5t60 -145.5z" />
+    <glyph glyph-name="f1ab" unicode="&#xf1ab;" 
+d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
+q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
+q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
+M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
+q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
+q20 0 20 -21v-418z" />
+    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" 
+d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
+l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
+t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
+q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
+q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
+    <glyph glyph-name="_403" unicode="&#xf1ad;" 
+d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
+t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
+t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
+t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
+    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" 
+d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
+q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" 
+d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
+q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
+q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
+t100.5 134t141.5 55.5z" />
+    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" 
+d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
+    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" 
+d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
+" />
+    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" 
+d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
+t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
+v-400l434 -186q36 -16 57 -48t21 -70z" />
+    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" 
+d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
+q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
+q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
+    <glyph glyph-name="_410" unicode="&#xf1b5;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-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.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
+t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
+t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
+    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" 
+d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
+q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
+q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
+    <glyph glyph-name="_412" unicode="&#xf1b7;" 
+d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
+q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
+q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
+" />
+    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" 
+d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
+l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
+t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
+q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
+    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" 
+d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
+q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
+l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" 
+d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
+t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
+M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
+    <glyph glyph-name="_416" unicode="&#xf1bb;" 
+d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
+q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
+    <glyph glyph-name="_417" unicode="&#xf1bc;" 
+d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
+q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
+q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 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="_418" unicode="&#xf1bd;" horiz-adv-x="1024" 
+d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
+    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" 
+d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
+q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
+q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
+l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
+q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
+q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
+q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
+    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" 
+d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
+t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
+t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
+    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" 
+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
+M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
+q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
+q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
+    <glyph glyph-name="_422" unicode="&#xf1c2;" 
+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
+M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
+t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
+    <glyph glyph-name="_423" unicode="&#xf1c3;" 
+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
+M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
+h-290v-107h68l189 -272l-194 -283h-68z" />
+    <glyph glyph-name="_424" unicode="&#xf1c4;" 
+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
+M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
+    <glyph glyph-name="_425" unicode="&#xf1c5;" 
+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
+M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
+    <glyph glyph-name="_426" unicode="&#xf1c6;" 
+d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 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 1400
+v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
+q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
+    <glyph glyph-name="_427" unicode="&#xf1c7;" 
+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
+M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
+q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
+    <glyph glyph-name="_428" unicode="&#xf1c8;" 
+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
+M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
+    <glyph glyph-name="_429" unicode="&#xf1c9;" 
+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
+M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
+l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
+    <glyph glyph-name="_430" unicode="&#xf1ca;" 
+d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
+q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
+    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" 
+d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
+q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
+    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" 
+d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
+q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
+t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
+    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
+q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
+t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
+    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" 
+d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
+t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
+    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" 
+d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
+t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
+t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
+q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
+    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" 
+d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
+l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
+q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
+q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
+t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" 
+d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
+q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
+q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
+q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 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="_438" unicode="&#xf1d3;" horiz-adv-x="1792" 
+d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
+q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
+q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
+v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
+    <glyph glyph-name="_439" unicode="&#xf1d4;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 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="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" 
+d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
+t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
+t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
+    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" 
+d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
+q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
+t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
+t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
+    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" 
+d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
+q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
+q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
+q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
+    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
+    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
+l863 639l-478 -797z" />
+    <glyph glyph-name="_445" unicode="&#xf1da;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
+t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_446" unicode="&#xf1db;" 
+d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 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="_447" unicode="&#xf1dc;" horiz-adv-x="1792" 
+d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
+t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
+t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
+q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
+q0 -26 -12 -48t-36 -22z" />
+    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" 
+d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
+q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
+    <glyph glyph-name="_449" unicode="&#xf1de;" 
+d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
+q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
+    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" 
+d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
+t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
+    <glyph glyph-name="_451" unicode="&#xf1e1;" 
+d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
+t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 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="_452" unicode="&#xf1e2;" horiz-adv-x="1792" 
+d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
+t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
+q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
+t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" 
+d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
+l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
+    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" 
+d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
+t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
+    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" 
+d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
+M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" 
+d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
+l401 400q38 37 91 37t90 -37z" />
+    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" 
+d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
+t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
+M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
+t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
+    <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792" 
+d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
+    <glyph glyph-name="_459" unicode="&#xf1e9;" 
+d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
+q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
+t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
+q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
+    <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048" 
+d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
+t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
+    <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048" 
+d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
+q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
+M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
+    <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792" 
+d="M384 0q0 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.5zM768 0q0 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.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 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.5zM768 384q0 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.5
+t37.5 90.5zM384 768q0 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.5zM1152 384q0 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.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 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.5z
+M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 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.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
+h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_463" unicode="&#xf1ed;" 
+d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
+q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
+q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
+    <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792" 
+d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
+q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
+    <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304" 
+d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
+q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
+q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304" 
+d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
+q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
+M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
+h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
+q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
+q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
+q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
+q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
+q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
+h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
+t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304" 
+d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
+q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
+v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
+q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
+t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
+    <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304" 
+d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
+M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
+l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
+v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
+q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
+q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
+t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
+h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
+t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
+    <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304" 
+d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
+t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
+q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
+t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
+l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
+q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304" 
+d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
+q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
+q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
+q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
+q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048" 
+d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
+l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 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 -39q124 -18 219 -82.5t148 -157.5
+l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048" 
+d="M1040 -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 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
+q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
+q-19 32 -19 66q50 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 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408" 
+d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 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-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
+q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_474" unicode="&#xf1f9;" 
+d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
+t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
+t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 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="_475" unicode="&#xf1fa;" 
+d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
+q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
+t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
+t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
+    <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792" 
+d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
+t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
+    <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792" 
+d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
+t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
+    <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792" 
+d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
+t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
+t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
+h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
+q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
+    <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
+    <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792" 
+d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792" 
+d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
+q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
+t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
+q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
+    <glyph glyph-name="_483" unicode="&#xf203;" 
+d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
+q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
+q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.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="_484" unicode="&#xf204;" horiz-adv-x="2048" 
+d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-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.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
+t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
+t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
+    <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048" 
+d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
+t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-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.5z" />
+    <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304" 
+d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
+q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
+q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
+q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="_487" unicode="&#xf207;" 
+d="M384 320q0 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.5zM1408 320q0 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.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
+h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
+    <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" 
+d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
+q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
+q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" 
+d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
+t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
+t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
+q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
+q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
+t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" 
+d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
+q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
+t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
+t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+    <glyph glyph-name="_491" unicode="&#xf20b;" 
+d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
+t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_492" unicode="&#xf20c;" 
+d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
+q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
+q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+    <glyph glyph-name="_493" unicode="&#xf20d;" 
+d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" 
+d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
+q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
+q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
+h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
+l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
+l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
+zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
+    <glyph glyph-name="f210" unicode="&#xf210;" 
+d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+    <glyph glyph-name="_496" unicode="&#xf211;" 
+d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
+q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" 
+d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
+q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
+q209 0 374 -102q172 107 374 102z" />
+    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" 
+d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
+q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
+q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
+    <glyph glyph-name="_499" unicode="&#xf214;" 
+d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
+l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
+v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
+M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
+v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
+h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
+t-43 -34t-16.5 -53.5z" />
+    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" 
+d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
+q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" 
+d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
+t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
+t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
+q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
+    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" 
+d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -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.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -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.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" 
+d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
+l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" 
+d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
+q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
+v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
+    <glyph glyph-name="_506" unicode="&#xf21b;" 
+d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
+t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
+q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
+t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
+    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" 
+d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
+t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
+l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
+t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
+    <glyph glyph-name="_508" unicode="&#xf21d;" 
+d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
+q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
+q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
+t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" 
+d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
+q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 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 -124
+t127 -344z" />
+    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
+q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+    <glyph glyph-name="_511" unicode="&#xf222;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
+q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 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="_512" unicode="&#xf223;" horiz-adv-x="1280" 
+d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
+t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_513" unicode="&#xf224;" 
+d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" 
+d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
+t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
+t131.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="_515" unicode="&#xf226;" horiz-adv-x="1792" 
+d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
+t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
+q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
+q0 -226 -154 -391q103 -57 218 -57z" />
+    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" 
+d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
+q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
+t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
+q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
+    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" 
+d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
+t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
+t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
+t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
+    <glyph glyph-name="_518" unicode="&#xf229;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
+t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" 
+d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
+t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
+t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" 
+d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
+t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
+t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
+t131.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="_522" unicode="&#xf22d;" horiz-adv-x="1280" 
+d="M1024 576q0 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.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
+t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_525" unicode="&#xf230;" 
+d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 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-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" 
+d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
+l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
+q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
+    <glyph glyph-name="_527" unicode="&#xf232;" 
+d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
+t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
+l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
+    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" 
+d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
+q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
+t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
+    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
+q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
+t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
+    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" 
+d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
+q-26 0 -45 -19t-19 -45v-384h1152z" />
+    <glyph glyph-name="_532" unicode="&#xf237;" 
+d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+    <glyph glyph-name="_533" unicode="&#xf238;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
+t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+    <glyph glyph-name="_534" unicode="&#xf239;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
+t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" 
+d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
+q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+    <glyph glyph-name="_536" unicode="&#xf23b;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" 
+d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
+q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
+q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
+q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
+q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
+q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
+q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
+t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
+q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
+q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
+M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
+t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
+q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
+l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
+t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
+q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
+q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
+    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" 
+d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
+t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
+t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
+    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" 
+d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
+t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
+t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 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 103zM544 928v-96
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
+q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
+    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" 
+d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
+v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" 
+d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" 
+d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" 
+d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" 
+d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
+v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" 
+d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" 
+d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" 
+d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
+h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" 
+d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
+v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
+    <glyph glyph-name="_549" unicode="&#xf249;" 
+d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+    <glyph glyph-name="_550" unicode="&#xf24a;" 
+d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" 
+d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
+t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
+t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
+t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" 
+d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
+t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
+M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" 
+d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
+zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" 
+d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
+t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
+t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
+    <glyph glyph-name="_555" unicode="&#xf250;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
+t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_556" unicode="&#xf251;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
+    <glyph glyph-name="_557" unicode="&#xf252;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+    <glyph glyph-name="_558" unicode="&#xf253;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
+h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_559" unicode="&#xf254;" 
+d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
+t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
+h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
+    <glyph glyph-name="_560" unicode="&#xf255;" 
+d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
+q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
+t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
+q72 69 174 69z" />
+    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" 
+d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
+t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
+h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
+    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" 
+d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
+q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
+t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
+t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
+q0 -42 -23 -78t-61 -53l-310 -141h91z" />
+    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" 
+d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
+q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
+q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
+    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" 
+d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
+t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
+q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
+l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
+    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" 
+d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
+q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
+v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
+v-384h32z" />
+    <glyph glyph-name="_566" unicode="&#xf25b;" 
+d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
+v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
+q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
+q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
+q0 -53 37.5 -90.5t90.5 -37.5h668z" />
+    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" 
+d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
+t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
+q13 0 22 -8.5t10 -20.5z" />
+    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" 
+d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
+t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
+q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" 
+d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
+q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
+t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
+q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
+    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" 
+d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" 
+d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" 
+d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
+t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
+t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
+t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
+t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
+q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
+    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" 
+d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
+t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
+q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
+    <glyph glyph-name="_574" unicode="&#xf264;" 
+d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
+q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
+zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 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="_575" unicode="&#xf265;" horiz-adv-x="1720" 
+d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
+l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" 
+d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
+q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
+l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
+    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" 
+d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
+q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
+t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
+t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
+t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
+t191 -286t71 -348z" />
+    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" 
+d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
+q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
+    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" 
+d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
+q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
+q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
+    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" 
+d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
+q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
+" />
+    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" 
+d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
+q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
+M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
+    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" 
+d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
+v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" 
+d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
+h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
+q-68 175 -180 287z" />
+    <glyph glyph-name="_584" unicode="&#xf26e;" 
+d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
+q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
+q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
+q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
+q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
+t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
+    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" 
+d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
+M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
+q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
+t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
+q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
+    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" 
+d="M1536 1280q52 0 90 -38t38 -90v-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 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
+h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
+v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
+    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" 
+d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
+t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 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 47h64q66 0 113 -47
+t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" 
+d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
+M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -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 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" 
+d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
+t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" 
+d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" 
+d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
+q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" 
+d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
+q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" 
+d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
+v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" 
+d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
+q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" 
+d="M640 640q0 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.5zM1024 640q0 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.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
+t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" 
+d="M640 640q0 -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.5zM1024 640q0 -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.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
+t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
+t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
+    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" 
+d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" 
+d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
+q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+    <glyph glyph-name="f27e" unicode="&#xf27e;" 
+d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+    <glyph glyph-name="uniF280" unicode="&#xf280;" 
+d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
+h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
+l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
+    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" 
+d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
+l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
+t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
+q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
+    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" 
+d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
+q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
+    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" 
+d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" 
+d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
+t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
+t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
+    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" 
+d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" 
+d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
+q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
+q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
+q16 0 16 -16z" />
+    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" 
+d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
+q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
+t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
+    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" 
+d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
+t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" 
+d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
+q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
+q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
+q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
+    <glyph glyph-name="_610" unicode="&#xf28a;" 
+d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
+t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
+q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
+t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
+    <glyph glyph-name="_611" unicode="&#xf28b;" 
+d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
+t-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="_612" unicode="&#xf28c;" 
+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 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+    <glyph glyph-name="_613" unicode="&#xf28d;" 
+d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 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.5
+t103 -385.5z" />
+    <glyph glyph-name="_614" unicode="&#xf28e;" 
+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 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" 
+d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" 
+d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
+t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
+q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
+h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
+    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" 
+d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
+q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
+q15 0 25 -12q9 -12 6 -28z" />
+    <glyph glyph-name="_618" unicode="&#xf293;" 
+d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
+t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" 
+d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+    <glyph glyph-name="_620" unicode="&#xf295;" 
+d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -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.5
+t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" 
+d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" 
+d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
+q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
+    <glyph glyph-name="_623" unicode="&#xf298;" 
+d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
+t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" 
+d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
+q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
+q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
+    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" 
+d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
+q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 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.5z
+M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-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.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
+t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_626" unicode="&#xf29b;" 
+d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
+l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
+M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
+    <glyph glyph-name="_627" unicode="&#xf29c;" 
+d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
+t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
+t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
+t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" 
+d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
+q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
+q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
+q3 -1 7 1t7 4l3 2q11 9 11 17z" />
+    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" 
+d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
+t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
+t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
+h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
+t9.5 -70.5z" />
+    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" 
+d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
+q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
+l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
+t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
+q-18 -19 -45 -19z" />
+    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" 
+d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
+t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
+t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
+t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
+t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" 
+d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
+M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
+t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
+t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
+q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
+    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" 
+d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
+q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
+q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
+q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
+q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
+q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
+    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" 
+d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
+t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
+t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
+l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
+    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" 
+d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
+q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
+q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
+t-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="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" 
+d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
+l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
+q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
+q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
+    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" 
+d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
+t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
+l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
+q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
+l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
+    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" 
+d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
+q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
+q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
+q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
+    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" 
+d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
+q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
+M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
+    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" 
+d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
+M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
+q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 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.5
+t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" 
+d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
+q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
+t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 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="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" 
+d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
+q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
+t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
+    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" 
+d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
+q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
+t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 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.5h960
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" 
+d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
+q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
+q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
+    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" 
+d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
+q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
+l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
+M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
+    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" 
+d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
+t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
+    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" 
+d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
+t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
+q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
+q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
+t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
+q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
+q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
+t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
+    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" 
+d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
+h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 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="uniF2B4" unicode="&#xf2b4;" 
+d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
+q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" 
+d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
+l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
+q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
+M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
+q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" 
+d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
+t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
+q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
+    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" 
+d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
+l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
+h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
+q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
+    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" 
+d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
+l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
+q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
+q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
+    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" 
+d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
+q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
+q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" 
+d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
+t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
+q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
+q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
+    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" 
+d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
+M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
+q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
+h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" 
+d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
+q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
+q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
+t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
+t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" 
+d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
+t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
+t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 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.5z" />
+    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" 
+d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
+t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
+q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
+    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" 
+d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
+t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
+q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" 
+d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
+t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
+v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
+q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" 
+d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
+M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
+h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" 
+d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
+q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
+t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
+    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" 
+d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
+t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
+t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
+t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
+q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
+t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
+q2 -42 2 -64z" />
+    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" 
+d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
+M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
+    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" 
+d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
+t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
+t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
+t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
+    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" 
+d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
+q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
+t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
+t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
+    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" 
+d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
+t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
+q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
+q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
+t72.5 -263.5z" />
+    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" 
+d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" 
+d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" 
+d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" 
+d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
+l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" 
+d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" 
+d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" 
+d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
+t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
+t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
+q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
+q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
+q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
+t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" 
+d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
+q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
+t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
+    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" 
+d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
+t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
+h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
+v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" 
+d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
+q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
+q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
+q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
+q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
+t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
+    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" 
+d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
+q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
+t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
+t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
+t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
+    <glyph glyph-name="uniF2DB" unicode="&#xf2db;" 
+d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
+q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
+t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
+q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
+h48q16 0 16 -16z" />
+    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" 
+d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
+t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
+q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
+l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
+q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
+    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" 
+d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
+q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
+    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" 
+d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
+t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
+t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" 
+d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
+t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
+q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
+q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
+t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
+q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
+M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
+q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
+q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
+    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" 
+ />
+  </font>
+</defs></svg>
diff --git a/jekyll-source/css/fonts/fontawesome-webfont.ttf b/jekyll-source/css/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000..35acda2
--- /dev/null
+++ b/jekyll-source/css/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/jekyll-source/css/fonts/fontawesome-webfont.woff b/jekyll-source/css/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000..400014a
--- /dev/null
+++ b/jekyll-source/css/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/jekyll-source/css/fonts/fontawesome-webfont.woff2 b/jekyll-source/css/fonts/fontawesome-webfont.woff2
new file mode 100644
index 0000000..4d13fc6
--- /dev/null
+++ b/jekyll-source/css/fonts/fontawesome-webfont.woff2
Binary files differ
diff --git a/jekyll-source/css/modern-business.css b/jekyll-source/css/modern-business.css
new file mode 100755
index 0000000..b0323c5
--- /dev/null
+++ b/jekyll-source/css/modern-business.css
@@ -0,0 +1,89 @@
+/*!
+ * Start Bootstrap - Modern Business HTML Template (http://startbootstrap.com)
+ * Code licensed under the Apache License v2.0.
+ * For details, see http://www.apache.org/licenses/LICENSE-2.0.
+ */
+
+/* Global Styles */
+
+html,
+body {
+    height: 100%;
+}
+
+.img-portfolio {
+    margin-bottom: 30px;
+}
+
+.img-hover:hover {
+    opacity: 0.8;
+}
+
+/* Home Page Carousel */
+
+header.carousel {
+    height: 50%;
+}
+
+header.carousel .item,
+header.carousel .item.active,
+header.carousel .carousel-inner {
+    height: 100%;
+}
+
+header.carousel .fill {
+    width: 100%;
+    height: 100%;
+    background-position: center;
+    background-size: cover;
+}
+
+/* 404 Page Styles */
+
+.error-404 {
+    font-size: 100px;
+}
+
+/* Pricing Page Styles */
+
+.price {
+    display: block;
+    font-size: 50px;
+    line-height: 50px;
+}
+
+.price sup {
+    top: -20px;
+    left: 2px;
+    font-size: 20px;
+}
+
+.period {
+    display: block;
+    font-style: italic;
+}
+
+/* Footer Styles */
+
+footer {
+    margin: 50px 0;
+}
+
+/* Responsive Styles */
+
+@media(max-width:991px) {
+    .client-img,
+    .img-related {
+        margin-bottom: 30px;
+    }
+}
+
+@media(max-width:767px) {
+    .img-portfolio {
+        margin-bottom: 15px;
+    }
+
+    header.carousel .carousel {
+        height: 70%;
+    }
+}
diff --git a/jekyll-source/css/printstyles.css b/jekyll-source/css/printstyles.css
new file mode 100644
index 0000000..64d0f63
--- /dev/null
+++ b/jekyll-source/css/printstyles.css
@@ -0,0 +1,159 @@
+
+/*body.print .container {max-width: 650px;}*/
+
+body {
+    font-size:14px;
+}
+.nav ul li a {border-top:0px; background-color:transparent; color: #808080; }
+#navig a[href] {color: #595959 !important;}
+table .table {max-width:650px;}
+
+#navig li.sectionHead {font-weight: bold; font-size: 18px; color: #595959 !important; }
+#navig li {font-weight: normal; }
+
+#navig a[href]::after { content: leader(".") target-counter(attr(href), page); }
+
+a[href]::after {
+    content: " (page " target-counter(attr(href), page) ")"
+}
+
+a[href^="http:"]::after, a[href^="https:"]::after {
+    content: "";
+}
+
+a[href] {
+    color: blue !important;
+}
+a[href*="mailto"]::after, a[data-toggle="tooltip"]::after, a[href].noCrossRef::after {
+    content: "";
+}
+
+
+@page {
+    margin: 60pt 90pt 60pt 90pt;
+    font-family: sans-serif;
+    font-style:none;
+    color: gray;
+
+}
+
+.printTitle {
+    line-height:30pt;
+    font-size:27pt;
+    font-weight: bold;
+    letter-spacing: -.5px;
+    margin-bottom:25px;
+}
+
+.printSubtitle {
+    font-size: 19pt;
+    color: #cccccc !important;
+    font-family: "Grotesque MT Light";
+    line-height: 22pt;
+    letter-spacing: -.5px;
+    margin-bottom:20px;
+}
+.printTitleArea hr {
+    color: #999999 !important;
+    height: 2px;
+    width: 100%;
+}
+
+.printTitleImage {
+    max-width:300px;
+    margin-bottom:200px;
+}
+
+
+.printTitleImage {
+    max-width: 250px;
+}
+
+#navig {
+    /*page-break-before: always;*/
+}
+
+.copyrightBoilerplate {
+    page-break-before:always;
+    font-size:14px;
+}
+
+.lastGeneratedDate {
+    font-style: italic;
+    font-size:14px;
+    color: gray;
+}
+
+.alert a {
+    text-decoration: none !important;
+}
+
+
+body.title { page: title }
+
+@page title {
+    @top-left {
+        content: " ";
+    }
+    @top-right {
+        content: " "
+    }
+    @bottom-right {
+        content: " ";
+    }
+    @bottom-left {
+        content: " ";
+    }
+}
+
+body.frontmatter { page: frontmatter }
+body.frontmatter {counter-reset: page 1}
+
+
+@page frontmatter {
+    @top-left {
+        content: prince-script(guideName);
+    }
+    @top-right {
+        content: prince-script(datestamp);
+    }
+    @bottom-right {
+        content: counter(page, lower-roman);
+    }
+    @bottom-left {
+        content: "youremail@domain.com";   }
+}
+
+body.first_page {counter-reset: page 1}
+
+h1 { string-set: doctitle content() }
+
+@page {
+    @top-left {
+        content: string(doctitle);
+        font-size: 11px;
+        font-style: italic;
+    }
+    @top-right {
+        content: prince-script(datestamp);
+        font-size: 11px;
+    }
+
+    @bottom-right {
+        content: "Page " counter(page);
+        font-size: 11px;
+    }
+    @bottom-left {
+        content: prince-script(guideName);
+        font-size: 11px;
+    }
+}
+.alert {
+    background-color: #fafafa !important;
+    border-color: #dedede !important;
+    color: black;
+}
+
+pre {
+    background-color: #fafafa;
+}
diff --git a/jekyll-source/css/syntax.css b/jekyll-source/css/syntax.css
new file mode 100644
index 0000000..1e651cf
--- /dev/null
+++ b/jekyll-source/css/syntax.css
@@ -0,0 +1,60 @@
+.highlight  { background: #ffffff; }
+.highlight .c { color: #999988; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { font-weight: bold } /* Keyword */
+.highlight .o { font-weight: bold } /* Operator */
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { font-weight: bold } /* Keyword.Constant */
+.highlight .kd { font-weight: bold } /* Keyword.Declaration */
+.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #d14 } /* Literal.String */
+.highlight .na { color: #008080 } /* Name.Attribute */
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
+.highlight .no { color: #008080 } /* Name.Constant */
+.highlight .ni { color: #800080 } /* Name.Entity */
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
+.highlight .nn { color: #555555 } /* Name.Namespace */
+.highlight .nt { color: #000080 } /* Name.Tag */
+.highlight .nv { color: #008080 } /* Name.Variable */
+.highlight .ow { font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sb { color: #d14 } /* Literal.String.Backtick */
+.highlight .sc { color: #d14 } /* Literal.String.Char */
+.highlight .sd { color: #d14 } /* Literal.String.Doc */
+.highlight .s2 { color: #d14 } /* Literal.String.Double */
+.highlight .se { color: #d14 } /* Literal.String.Escape */
+.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
+.highlight .si { color: #d14 } /* Literal.String.Interpol */
+.highlight .sx { color: #d14 } /* Literal.String.Other */
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
+.highlight .s1 { color: #d14 } /* Literal.String.Single */
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/jekyll-source/css/theme-blue.css b/jekyll-source/css/theme-blue.css
new file mode 100644
index 0000000..db84521
--- /dev/null
+++ b/jekyll-source/css/theme-blue.css
@@ -0,0 +1,121 @@
+.summary {
+    color: #808080;
+    border-left: 5px solid #ED1951;
+    font-size:16px;
+}
+
+
+h3 {color: #ED1951; }
+h4 {color: #808080; }
+
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+    background-color: #248ec2;
+    color: white;
+}
+
+.nav > li.active > a {
+    background-color: #347DBE;
+}
+
+.nav > li > a:hover {
+    background-color: #248ec2;
+}
+
+div.navbar-collapse .dropdown-menu > li > a:hover {
+    background-color: #347DBE;
+}
+
+.nav li.thirdlevel > a {
+    background-color: #FAFAFA !important;
+    color: #248EC2;
+    font-weight: bold;
+}
+
+a[data-toggle="tooltip"] {
+    color: #649345;
+    font-style: italic;
+    cursor: default;
+}
+
+.navbar-inverse {
+    background-color: #347DBE;
+    border-color: #015CAE;
+}
+.navbar-inverse .navbar-nav>li>a, .navbar-inverse .navbar-brand {
+    color: white;
+}
+
+.navbar-inverse .navbar-nav>li>a:hover, a.fa.fa-home.fa-lg.navbar-brand:hover {
+     color: #f0f0f0;
+}
+
+a.navbar-brand:hover {
+  color: #f0f0f0;
+}
+
+.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+    color: #015CAE;
+}
+
+.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+    background-color: #015CAE;
+    color: #ffffff;
+}
+
+.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
+    border-color: #248ec2 !important;
+}
+
+.btn-primary {
+    color: #ffffff;
+    background-color: #347DBE;
+    border-color: #347DBE;
+}
+
+.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
+    background-color: #347DBE;
+}
+
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+    background-color: #248ec2;
+    border-color: #347DBE;
+}
+
+.printTitle {
+    color: #015CAE !important;
+}
+
+body.print h1 {color: #015CAE !important; font-size:28px !important;}
+body.print h2 {color: #595959 !important; font-size:20px !important;}
+body.print h3 {color: #E50E51 !important; font-size:14px !important;}
+body.print h4 {color: #679DCE !important; font-size:14px; font-style: italic !important;}
+
+.anchorjs-link:hover {
+    color: #216f9b;
+}
+
+div.sidebarTitle {
+    color: #015CAE;
+}
+
+li.sidebarTitle {
+  margin-top:20px;
+    font-weight:normal;
+    font-size:130%;
+    color: #ED1951;
+    margin-bottom:10px;
+    margin-left: 5px;
+
+}
+
+.navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
+    background-color: #015CAE;
+}
+
+.navbar-inverse .navbar-toggle {
+    border-color: #015CAE;
+}
diff --git a/jekyll-source/css/theme-green.css b/jekyll-source/css/theme-green.css
new file mode 100644
index 0000000..4991586
--- /dev/null
+++ b/jekyll-source/css/theme-green.css
@@ -0,0 +1,110 @@
+.summary {
+    color: #808080;
+    border-left: 5px solid #E50E51;
+    font-size:16px;
+}
+
+
+h3 {color: #E50E51; }
+h4 {color: #808080; }
+
+.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+    background-color: #248ec2;
+    color: white;
+}
+
+.nav > li.active > a {
+    background-color: #72ac4a;
+}
+
+.nav > li > a:hover {
+    background-color: #72ac4a;
+}
+
+div.navbar-collapse .dropdown-menu > li > a:hover {
+    background-color: #72ac4a;
+}
+
+.navbar-inverse .navbar-nav>li>a, .navbar-inverse .navbar-brand {
+    color: white;
+}
+
+.navbar-inverse .navbar-nav>li>a:hover, a.fa.fa-home.fa-lg.navbar-brand:hover {
+     color: #f0f0f0;
+}
+
+.nav li.thirdlevel > a {
+    background-color: #FAFAFA !important;
+    color: #72ac4a;
+    font-weight: bold;
+}
+
+a[data-toggle="tooltip"] {
+    color: #649345;
+    font-style: italic;
+    cursor: default;
+}
+
+.navbar-inverse {
+    background-color: #72ac4a;
+    border-color: #5b893c;
+}
+
+.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+    color: #5b893c;
+}
+
+.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
+    background-color: #5b893c;
+    color: #ffffff;
+}
+
+/* not sure if using this ...*/
+.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
+    border-color: #72ac4a !important;
+}
+
+.btn-primary {
+    color: #ffffff;
+    background-color: #5b893c;
+    border-color: #5b893c;
+}
+
+.btn-primary:hover,
+.btn-primary:focus,
+.btn-primary:active,
+.btn-primary.active,
+.open .dropdown-toggle.btn-primary {
+    background-color: #72ac4a;
+    border-color: #5b893c;
+}
+
+.printTitle {
+    color: #5b893c !important;
+}
+
+body.print h1 {color: #5b893c !important; font-size:28px;}
+body.print h2 {color: #595959 !important; font-size:24px;}
+body.print h3 {color: #E50E51 !important; font-size:14px;}
+body.print h4 {color: #679DCE !important; font-size:14px; font-style: italic;}
+
+.anchorjs-link:hover {
+    color: #4f7233;
+}
+
+div.sidebarTitle {
+    color: #E50E51;
+}
+
+li.sidebarTitle {
+    margin-top:20px;
+    font-weight:normal;
+    font-size:130%;
+    color: #ED1951;
+    margin-bottom:10px;
+    margin-left: 5px;
+}
+
+.navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
+    background-color: #E50E51;
+}
diff --git a/jekyll-source/docker-compose.yml b/jekyll-source/docker-compose.yml
new file mode 100644
index 0000000..f372ae6
--- /dev/null
+++ b/jekyll-source/docker-compose.yml
@@ -0,0 +1,11 @@
+version: '2'
+services:
+  server:
+    build:
+      context: .
+      dockerfile: Dockerfile
+    image: result/latest
+    ports:
+      - "4000:4000"
+    volumes:
+      - ".:/src"
\ No newline at end of file
diff --git a/jekyll-source/feed.xml b/jekyll-source/feed.xml
new file mode 100644
index 0000000..d8d6ac9
--- /dev/null
+++ b/jekyll-source/feed.xml
@@ -0,0 +1,32 @@
+---
+search: exclude
+layout: none
+---
+
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+    <channel>
+        <title>{{ site.title | xml_escape }}</title>
+        <description>{{ site.description | xml_escape }}</description>
+        <link>{{ site.url }}/</link>
+        <atom:link href="{{ "/feed.xml" | prepend: site.url }}" rel="self" type="application/rss+xml"/>
+        <pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
+        <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
+        <generator>Jekyll v{{ jekyll.version }}</generator>
+        {% for post in site.posts limit:10 %}
+        <item>
+            <title>{{ post.title | xml_escape }}</title>
+            <description>{{ post.content | xml_escape }}</description>
+            <pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
+            <link>{{ post.url | prepend: site.url }}</link>
+            <guid isPermaLink="true">{{ post.url | prepend: site.url }}</guid>
+            {% for tag in post.tags %}
+            <category>{{ tag | xml_escape }}</category>
+            {% endfor %}
+            {% for tag in page.tags %}
+            <category>{{ cat | xml_escape }}</category>
+            {% endfor %}
+        </item>
+        {% endfor %}
+    </channel>
+</rss>
diff --git a/jekyll-source/fonts/FontAwesome.otf b/jekyll-source/fonts/FontAwesome.otf
new file mode 100644
index 0000000..81c9ad9
--- /dev/null
+++ b/jekyll-source/fonts/FontAwesome.otf
Binary files differ
diff --git a/jekyll-source/fonts/fontawesome-webfont.eot b/jekyll-source/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..84677bc
--- /dev/null
+++ b/jekyll-source/fonts/fontawesome-webfont.eot
Binary files differ
diff --git a/jekyll-source/fonts/fontawesome-webfont.svg b/jekyll-source/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..d907b25
--- /dev/null
+++ b/jekyll-source/fonts/fontawesome-webfont.svg
@@ -0,0 +1,520 @@
+<?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 xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="fontawesomeregular" horiz-adv-x="1536" >
+<font-face units-per-em="1792" ascent="1536" descent="-256" />
+<missing-glyph horiz-adv-x="448" />
+<glyph unicode=" "  horiz-adv-x="448" />
+<glyph unicode="&#x09;" horiz-adv-x="448" />
+<glyph unicode="&#xa0;" horiz-adv-x="448" />
+<glyph unicode="&#xa8;" horiz-adv-x="1792" />
+<glyph unicode="&#xa9;" horiz-adv-x="1792" />
+<glyph unicode="&#xae;" horiz-adv-x="1792" />
+<glyph unicode="&#xb4;" horiz-adv-x="1792" />
+<glyph unicode="&#xc6;" horiz-adv-x="1792" />
+<glyph unicode="&#xd8;" horiz-adv-x="1792" />
+<glyph unicode="&#x2000;" horiz-adv-x="768" />
+<glyph unicode="&#x2001;" horiz-adv-x="1537" />
+<glyph unicode="&#x2002;" horiz-adv-x="768" />
+<glyph unicode="&#x2003;" horiz-adv-x="1537" />
+<glyph unicode="&#x2004;" horiz-adv-x="512" />
+<glyph unicode="&#x2005;" horiz-adv-x="384" />
+<glyph unicode="&#x2006;" horiz-adv-x="256" />
+<glyph unicode="&#x2007;" horiz-adv-x="256" />
+<glyph unicode="&#x2008;" horiz-adv-x="192" />
+<glyph unicode="&#x2009;" horiz-adv-x="307" />
+<glyph unicode="&#x200a;" horiz-adv-x="85" />
+<glyph unicode="&#x202f;" horiz-adv-x="307" />
+<glyph unicode="&#x205f;" horiz-adv-x="384" />
+<glyph unicode="&#x2122;" horiz-adv-x="1792" />
+<glyph unicode="&#x221e;" horiz-adv-x="1792" />
+<glyph unicode="&#x2260;" horiz-adv-x="1792" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#xf000;" 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 unicode="&#xf001;" 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 unicode="&#xf002;" 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 unicode="&#xf003;" 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 unicode="&#xf004;" 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 unicode="&#xf005;" 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 unicode="&#xf006;" 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 unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -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.5z" />
+<glyph unicode="&#xf008;" 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 unicode="&#xf009;" 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 unicode="&#xf00a;" 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 unicode="&#xf00b;" 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 unicode="&#xf00c;" 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 unicode="&#xf00d;" 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 unicode="&#xf00e;" 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 unicode="&#xf010;" 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 unicode="&#xf011;" 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 unicode="&#xf012;" 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 unicode="&#xf013;" 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 unicode="&#xf014;" 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 unicode="&#xf015;" 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 unicode="&#xf016;" 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 unicode="&#xf017;" 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 unicode="&#xf018;" 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 unicode="&#xf019;" 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 unicode="&#xf01a;" 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 unicode="&#xf01b;" 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 unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -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 unicode="&#xf01d;" 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 unicode="&#xf01e;" 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 12q14 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 unicode="&#xf021;" 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 unicode="&#xf022;" 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 unicode="&#xf023;" 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 unicode="&#xf024;" 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 unicode="&#xf025;" 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 unicode="&#xf026;" 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 unicode="&#xf027;" 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 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+<glyph unicode="&#xf028;" 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 35.5 t12 57t-12 57t-29 35.5t-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 unicode="&#xf029;" 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 unicode="&#xf02a;" 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 unicode="&#xf02b;" 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 unicode="&#xf02c;" 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 unicode="&#xf02d;" 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 unicode="&#xf02e;" 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 unicode="&#xf02f;" 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 unicode="&#xf030;" 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 unicode="&#xf031;" 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 -4 -0.5 -13t-0.5 -13q-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 unicode="&#xf032;" 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.5 -0.5t67.5 -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 unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.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 unicode="&#xf034;" 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 unicode="&#xf035;" 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 unicode="&#xf036;" 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 unicode="&#xf037;" 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 unicode="&#xf038;" 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 unicode="&#xf039;" 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 unicode="&#xf03a;" 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 unicode="&#xf03b;" 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 unicode="&#xf03c;" 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 unicode="&#xf03d;" 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 unicode="&#xf03e;" 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 unicode="&#xf040;" 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 unicode="&#xf041;" 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 unicode="&#xf042;" 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 unicode="&#xf043;" 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 unicode="&#xf044;" 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 unicode="&#xf045;" 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 unicode="&#xf046;" 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 unicode="&#xf047;" 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 unicode="&#xf048;" 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 11 13 19z" />
+<glyph unicode="&#xf049;" 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 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
+<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
+<glyph unicode="&#xf04b;" 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 unicode="&#xf04c;" 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 unicode="&#xf04d;" 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 unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
+<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
+<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
+<glyph unicode="&#xf052;" 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 unicode="&#xf053;" 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 unicode="&#xf054;" 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 unicode="&#xf055;" 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 unicode="&#xf056;" 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 unicode="&#xf057;" 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 unicode="&#xf058;" 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 unicode="&#xf059;" 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 unicode="&#xf05a;" 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 unicode="&#xf05b;" 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 unicode="&#xf05c;" 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 unicode="&#xf05d;" 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 unicode="&#xf05e;" 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 unicode="&#xf060;" 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 unicode="&#xf061;" 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 unicode="&#xf062;" 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 unicode="&#xf063;" 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 unicode="&#xf064;" 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 unicode="&#xf065;" 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 unicode="&#xf066;" 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 unicode="&#xf067;" 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 unicode="&#xf068;" 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 unicode="&#xf069;" 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 unicode="&#xf06a;" 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 unicode="&#xf06b;" 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 unicode="&#xf06c;" 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-30 0 -51 11t-31 24t-27 42q-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 unicode="&#xf06d;" 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 unicode="&#xf06e;" 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 unicode="&#xf070;" 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-105 -188 -315 -566t-316 -567l-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 unicode="&#xf071;" 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 unicode="&#xf072;" 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 unicode="&#xf073;" 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 unicode="&#xf074;" 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 unicode="&#xf075;" 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 unicode="&#xf076;" 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 unicode="&#xf077;" 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 unicode="&#xf078;" 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 unicode="&#xf079;" 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 -11 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 unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -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.5zM1536 0q0 -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.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf07b;" 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 unicode="&#xf07c;" 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 unicode="&#xf07d;" 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 unicode="&#xf07e;" 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 unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+<glyph unicode="&#xf081;" 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 unicode="&#xf082;" d="M1536 160q0 -119 -84.5 -203.5t-203.5 -84.5h-192v608h203l30 224h-233v143q0 54 28 83t96 29l132 1v207q-96 9 -180 9q-136 0 -218 -80.5t-82 -225.5v-166h-224v-224h224v-608h-544q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5v-960z" />
+<glyph unicode="&#xf083;" 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 unicode="&#xf084;" 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 unicode="&#xf085;" 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 -10 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 -9 -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 unicode="&#xf086;" 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 unicode="&#xf087;" 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 unicode="&#xf088;" 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 32 18 69t-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 -74 49 -163z" />
+<glyph unicode="&#xf089;" 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 unicode="&#xf08a;" 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 unicode="&#xf08b;" 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 unicode="&#xf08c;" 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 unicode="&#xf08d;" 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 unicode="&#xf08e;" 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 unicode="&#xf090;" 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 unicode="&#xf091;" 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 unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-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.5t-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 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-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 unicode="&#xf093;" 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 unicode="&#xf094;" 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 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
+<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 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 -174 q2 -1 19 -11.5t24 -14t20.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 unicode="&#xf096;" 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 unicode="&#xf097;" 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 unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 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.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.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 unicode="&#xf099;" 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 unicode="&#xf09a;" 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 unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -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.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf09c;" 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 unicode="&#xf09d;" 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 unicode="&#xf09e;" 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 unicode="&#xf0a0;" 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 unicode="&#xf0a1;" 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 unicode="&#xf0a2;" 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 unicode="&#xf0a3;" 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 unicode="&#xf0a4;" 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 unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-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-576 q-50 0 -89 -38.5t-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 -45 t45 -19t45 19t19 45zM1792 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 128 q0 122 81.5 189t206.5 67q38 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 unicode="&#xf0a6;" 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 unicode="&#xf0a7;" 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 unicode="&#xf0a8;" 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 unicode="&#xf0a9;" 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 unicode="&#xf0aa;" 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 unicode="&#xf0ab;" 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 unicode="&#xf0ac;" 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 10.5t-9.5 10.5q-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-5 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 -10t17 -20q5 -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 -2q7 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 unicode="&#xf0ad;" 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 unicode="&#xf0ae;" 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 unicode="&#xf0b0;" 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 unicode="&#xf0b1;" 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 unicode="&#xf0b2;" 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 unicode="&#xf0c0;" 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" />
+<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
+<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
+<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+<glyph unicode="&#xf0c8;" d="M1536 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 unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
+<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+<glyph unicode="&#xf0d4;" d="M829 318q0 -76 -58.5 -112.5t-139.5 -36.5q-41 0 -80.5 9.5t-75.5 28.5t-58 53t-22 78q0 46 25 80t65.5 51.5t82 25t84.5 7.5q20 0 31 -2q2 -1 23 -16.5t26 -19t23 -18t24.5 -22t19 -22.5t17 -26t9 -26.5t4.5 -31.5zM755 863q0 -60 -33 -99.5t-92 -39.5q-53 0 -93 42.5 t-57.5 96.5t-17.5 106q0 61 32 104t92 43q53 0 93.5 -45t58 -101t17.5 -107zM861 1120l88 64h-265q-85 0 -161 -32t-127.5 -98t-51.5 -153q0 -93 64.5 -154.5t158.5 -61.5q22 0 43 3q-13 -29 -13 -54q0 -44 40 -94q-175 -12 -257 -63q-47 -29 -75.5 -73t-28.5 -95 q0 -43 18.5 -77.5t48.5 -56.5t69 -37t77.5 -21t76.5 -6q60 0 120.5 15.5t113.5 46t86 82.5t33 117q0 49 -20 89.5t-49 66.5t-58 47.5t-49 44t-20 44.5t15.5 42.5t37.5 39.5t44 42t37.5 59.5t15.5 82.5q0 60 -22.5 99.5t-72.5 90.5h83zM1152 672h128v64h-128v128h-64v-128 h-128v-64h128v-160h64v160zM1536 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 unicode="&#xf0d5;" horiz-adv-x="1664" d="M735 740q0 -36 32 -70.5t77.5 -68t90.5 -73.5t77 -104t32 -142q0 -90 -48 -173q-72 -122 -211 -179.5t-298 -57.5q-132 0 -246.5 41.5t-171.5 137.5q-37 60 -37 131q0 81 44.5 150t118.5 115q131 82 404 100q-32 42 -47.5 74t-15.5 73q0 36 21 85q-46 -4 -68 -4 q-148 0 -249.5 96.5t-101.5 244.5q0 82 36 159t99 131q77 66 182.5 98t217.5 32h418l-138 -88h-131q74 -63 112 -133t38 -160q0 -72 -24.5 -129.5t-59 -93t-69.5 -65t-59.5 -61.5t-24.5 -66zM589 836q38 0 78 16.5t66 43.5q53 57 53 159q0 58 -17 125t-48.5 129.5 t-84.5 103.5t-117 41q-42 0 -82.5 -19.5t-65.5 -52.5q-47 -59 -47 -160q0 -46 10 -97.5t31.5 -103t52 -92.5t75 -67t96.5 -26zM591 -37q58 0 111.5 13t99 39t73 73t27.5 109q0 25 -7 49t-14.5 42t-27 41.5t-29.5 35t-38.5 34.5t-36.5 29t-41.5 30t-36.5 26q-16 2 -48 2 q-53 0 -105 -7t-107.5 -25t-97 -46t-68.5 -74.5t-27 -105.5q0 -70 35 -123.5t91.5 -83t119 -44t127.5 -14.5zM1401 839h213v-108h-213v-219h-105v219h-212v108h212v217h105v-217z" />
+<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 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.5zM576 832q0 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.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 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.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 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.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-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 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-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 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -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 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
+<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
+<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
+<glyph unicode="&#xf0f3;" 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 16zM1728 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.5 t50 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.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0f6;" 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 M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-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 480v-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 M640 480v-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 736v-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 M1152 224v-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.5zM896 480v-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 M640 736v-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 992v-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 M1152 480v-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.5zM896 736v-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 M640 992v-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 1248v-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 M1152 736v-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.5zM896 992v-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 M640 1248v-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.5zM1152 992v-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 M896 1248v-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.5zM1152 1248v-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 M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-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 480v-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 M640 480v-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 736v-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 M1152 224v-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.5zM896 480v-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 M640 736v-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.5zM1152 480v-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 M896 736v-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.5zM1152 736v-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 M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 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.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
+<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 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 unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 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 unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 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.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 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 -103 t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -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.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -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.5z" />
+<glyph unicode="&#xf111;" d="M1536 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 unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
+<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
+<glyph unicode="&#xf116;" horiz-adv-x="1792" />
+<glyph unicode="&#xf117;" horiz-adv-x="1792" />
+<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -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.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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 unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -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.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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 unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -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.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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 unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 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.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
+<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
+<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
+<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -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 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 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 unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 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 unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 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 unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 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 unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
+<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 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.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 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 unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+<glyph unicode="&#xf143;" d="M512 256q0 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.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-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 unicode="&#xf144;" 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 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
+<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 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.5 t84.5 -203.5z" />
+<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-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 unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-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 unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 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 unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 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 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-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 unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.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 unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-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 unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
+<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
+<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
+<glyph unicode="&#xf15b;" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
+<glyph unicode="&#xf15c;" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
+<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
+<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
+<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
+<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
+<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
+<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
+<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-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 unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
+<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
+<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 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 unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
+<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
+<glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
+<glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
+<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-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.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
+<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 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 unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
+<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-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 unicode="&#xf173;" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />
+<glyph unicode="&#xf174;" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 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 unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
+<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
+<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
+<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
+<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
+<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
+<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
+<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 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 unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
+<glyph unicode="&#xf180;" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
+<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 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 unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
+<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
+<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
+<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
+<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
+<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
+<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
+<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-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.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-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.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 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 unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-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 unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+<glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 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 unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 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.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
+<glyph unicode="&#xf198;" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
+<glyph unicode="&#xf199;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-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.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
+<glyph unicode="&#xf19a;" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />
+<glyph unicode="&#xf19b;" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
+<glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
+<glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
+<glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
+<glyph unicode="&#xf1a0;" horiz-adv-x="1280" d="M981 197q0 25 -7 49t-14.5 42t-27 41.5t-29.5 35t-38.5 34.5t-36.5 29t-41.5 30t-36.5 26q-16 2 -49 2q-53 0 -104.5 -7t-107 -25t-97 -46t-68.5 -74.5t-27 -105.5q0 -56 23.5 -102t61 -75.5t87 -50t100 -29t101.5 -8.5q58 0 111.5 13t99 39t73 73t27.5 109zM864 1055 q0 59 -17 125.5t-48 129t-84 103.5t-117 41q-42 0 -82.5 -19.5t-66.5 -52.5q-46 -59 -46 -160q0 -46 10 -97.5t31.5 -103t52 -92.5t75 -67t96.5 -26q37 0 77.5 16.5t65.5 43.5q53 56 53 159zM752 1536h417l-137 -88h-132q75 -63 113 -133t38 -160q0 -72 -24.5 -129.5 t-59.5 -93t-69.5 -65t-59 -61.5t-24.5 -66q0 -36 32 -70.5t77 -68t90.5 -73.5t77.5 -104t32 -142q0 -91 -49 -173q-71 -122 -209.5 -179.5t-298.5 -57.5q-132 0 -246.5 41.5t-172.5 137.5q-36 59 -36 131q0 81 44.5 150t118.5 115q131 82 404 100q-32 41 -47.5 73.5 t-15.5 73.5q0 40 21 85q-46 -4 -68 -4q-148 0 -249.5 96.5t-101.5 244.5q0 82 36 159t99 131q76 66 182 98t218 32z" />
+<glyph unicode="&#xf1a1;" horiz-adv-x="1984" d="M831 572q0 -56 -40.5 -96t-96.5 -40q-57 0 -98 40t-41 96q0 57 41.5 98t97.5 41t96.5 -41t40.5 -98zM1292 711q56 0 96.5 -41t40.5 -98q0 -56 -40.5 -96t-96.5 -40q-57 0 -98 40t-41 96q0 57 41.5 98t97.5 41zM1984 722q0 -62 -31 -114t-83 -82q5 -33 5 -61 q0 -121 -68.5 -230.5t-197.5 -193.5q-125 -82 -285.5 -125.5t-335.5 -43.5q-176 0 -336.5 43.5t-284.5 125.5q-129 84 -197.5 193t-68.5 231q0 29 5 66q-48 31 -77 81.5t-29 109.5q0 94 66 160t160 66q83 0 148 -55q248 158 592 164l134 423q4 14 17.5 21.5t28.5 4.5 l347 -82q22 50 68.5 81t102.5 31q77 0 131.5 -54.5t54.5 -131.5t-54.5 -132t-131.5 -55q-76 0 -130.5 54t-55.5 131l-315 74l-116 -366q327 -14 560 -166q64 58 151 58q94 0 160 -66t66 -160zM1664 1459q-45 0 -77 -32t-32 -77t32 -77t77 -32t77 32t32 77t-32 77t-77 32z M77 722q0 -67 51 -111q49 131 180 235q-36 25 -82 25q-62 0 -105.5 -43.5t-43.5 -105.5zM1567 105q112 73 171.5 166t59.5 194t-59.5 193.5t-171.5 165.5q-116 75 -265.5 115.5t-313.5 40.5t-313.5 -40.5t-265.5 -115.5q-112 -73 -171.5 -165.5t-59.5 -193.5t59.5 -194 t171.5 -166q116 -75 265.5 -115.5t313.5 -40.5t313.5 40.5t265.5 115.5zM1850 605q57 46 57 117q0 62 -43.5 105.5t-105.5 43.5q-49 0 -86 -28q131 -105 178 -238zM1258 237q11 11 27 11t27 -11t11 -27.5t-11 -27.5q-99 -99 -319 -99h-2q-220 0 -319 99q-11 11 -11 27.5 t11 27.5t27 11t27 -11q77 -77 265 -77h2q188 0 265 77z" />
+<glyph unicode="&#xf1a2;" d="M950 393q7 7 17.5 7t17.5 -7t7 -18t-7 -18q-65 -64 -208 -64h-1h-1q-143 0 -207 64q-8 7 -8 18t8 18q7 7 17.5 7t17.5 -7q49 -51 172 -51h1h1q122 0 173 51zM671 613q0 -37 -26 -64t-63 -27t-63 27t-26 64t26 63t63 26t63 -26t26 -63zM1214 1049q-29 0 -50 21t-21 50 q0 30 21 51t50 21q30 0 51 -21t21 -51q0 -29 -21 -50t-51 -21zM1216 1408q132 0 226 -94t94 -227v-894q0 -133 -94 -227t-226 -94h-896q-132 0 -226 94t-94 227v894q0 133 94 227t226 94h896zM1321 596q35 14 57 45.5t22 70.5q0 51 -36 87.5t-87 36.5q-60 0 -98 -48 q-151 107 -375 115l83 265l206 -49q1 -50 36.5 -85t84.5 -35q50 0 86 35.5t36 85.5t-36 86t-86 36q-36 0 -66 -20.5t-45 -53.5l-227 54q-9 2 -17.5 -2.5t-11.5 -14.5l-95 -302q-224 -4 -381 -113q-36 43 -93 43q-51 0 -87 -36.5t-36 -87.5q0 -37 19.5 -67.5t52.5 -45.5 q-7 -25 -7 -54q0 -98 74 -181.5t201.5 -132t278.5 -48.5q150 0 277.5 48.5t201.5 132t74 181.5q0 27 -6 54zM971 702q37 0 63 -26t26 -63t-26 -64t-63 -27t-63 27t-26 64t26 63t63 26z" />
+<glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 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 103 t385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
+<glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 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.5 t84.5 -203.5z" />
+<glyph unicode="&#xf1a6;" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />
+<glyph unicode="&#xf1a7;" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf1a8;" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
+<glyph unicode="&#xf1a9;" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
+<glyph unicode="&#xf1aa;" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />
+<glyph unicode="&#xf1ab;" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />
+<glyph unicode="&#xf1ac;" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
+<glyph unicode="&#xf1ad;" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
+<glyph unicode="&#xf1ae;" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+<glyph unicode="&#xf1b0;" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />
+<glyph unicode="&#xf1b1;" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
+<glyph unicode="&#xf1b2;" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />
+<glyph unicode="&#xf1b3;" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />
+<glyph unicode="&#xf1b4;" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
+<glyph unicode="&#xf1b5;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-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.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
+<glyph unicode="&#xf1b6;" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
+<glyph unicode="&#xf1b7;" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />
+<glyph unicode="&#xf1b8;" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
+<glyph unicode="&#xf1b9;" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
+<glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
+<glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
+<glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 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 unicode="&#xf1bd;" d="M1397 1408q58 0 98.5 -40.5t40.5 -98.5v-1258q0 -58 -40.5 -98.5t-98.5 -40.5h-1258q-58 0 -98.5 40.5t-40.5 98.5v1258q0 58 40.5 98.5t98.5 40.5h1258zM1465 11v1258q0 28 -20 48t-48 20h-1258q-28 0 -48 -20t-20 -48v-1258q0 -28 20 -48t48 -20h1258q28 0 48 20t20 48 zM694 749l188 -387l533 145v-496q0 -7 -5.5 -12.5t-12.5 -5.5h-1258q-7 0 -12.5 5.5t-5.5 12.5v141l711 195l-212 439q4 1 12 2.5t12 1.5q170 32 303.5 21.5t221 -46t143.5 -94.5q27 -28 -25 -42q-64 -16 -256 -62l-97 198q-111 7 -240 -16zM1397 1287q7 0 12.5 -5.5 t5.5 -12.5v-428q-85 30 -188 52q-294 64 -645 12l-18 -3l-65 134h-233l85 -190q-132 -51 -230 -137v560q0 7 5.5 12.5t12.5 5.5h1258zM286 387q-14 -3 -26 4.5t-14 21.5q-24 203 166 305l129 -270z" />
+<glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
+<glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
+<glyph unicode="&#xf1c1;" 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 M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
+<glyph unicode="&#xf1c2;" 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 M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />
+<glyph unicode="&#xf1c3;" 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 M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />
+<glyph unicode="&#xf1c4;" 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 M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
+<glyph unicode="&#xf1c5;" 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 M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
+<glyph unicode="&#xf1c6;" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 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 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
+<glyph unicode="&#xf1c7;" 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 M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
+<glyph unicode="&#xf1c8;" 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 M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
+<glyph unicode="&#xf1c9;" 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 M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
+<glyph unicode="&#xf1ca;" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
+<glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
+<glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />
+<glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
+<glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348q0 222 101 414.5t276.5 317t390.5 155.5v-260q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 q0 230 -145.5 406t-366.5 221v260q215 -31 390.5 -155.5t276.5 -317t101 -414.5z" />
+<glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
+<glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+<glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 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 unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
+<glyph unicode="&#xf1d4;" d="M825 547l343 588h-150q-21 -39 -63.5 -118.5t-68 -128.5t-59.5 -118.5t-60 -128.5h-3q-21 48 -44.5 97t-52 105.5t-46.5 92t-54 104.5t-49 95h-150l323 -589v-435h134v436zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+<glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
+<glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
+<glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
+<glyph unicode="&#xf1d8;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
+<glyph unicode="&#xf1d9;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />
+<glyph unicode="&#xf1da;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf1db;" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 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 unicode="&#xf1dc;" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />
+<glyph unicode="&#xf1dd;" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
+<glyph unicode="&#xf1de;" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
+<glyph unicode="&#xf1e0;" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
+<glyph unicode="&#xf1e1;" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 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 unicode="&#xf1e2;" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+<glyph unicode="&#xf1e3;" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
+<glyph unicode="&#xf1e4;" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
+<glyph unicode="&#xf1e5;" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf1e6;" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />
+<glyph unicode="&#xf1e7;" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
+<glyph unicode="&#xf1e8;" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
+<glyph unicode="&#xf1e9;" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
+<glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
+<glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
+<glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 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.5zM768 0q0 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.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 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.5zM768 384q0 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.5 t37.5 90.5zM384 768q0 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.5zM1152 384q0 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.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 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.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 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.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf1ed;" horiz-adv-x="1792" d="M1112 1090q0 159 -237 159h-70q-32 0 -59.5 -21.5t-34.5 -52.5l-63 -276q-2 -5 -2 -16q0 -24 17 -39.5t41 -15.5h53q69 0 128.5 13t112.5 41t83.5 81.5t30.5 126.5zM1716 938q0 -265 -220 -428q-219 -161 -612 -161h-61q-32 0 -59 -21.5t-34 -52.5l-73 -316 q-8 -36 -40.5 -61.5t-69.5 -25.5h-213q-31 0 -53 20t-22 51q0 10 13 65h151q34 0 64 23.5t38 56.5l73 316q8 33 37.5 57t63.5 24h61q390 0 607 160t217 421q0 129 -51 207q183 -92 183 -335zM1533 1123q0 -264 -221 -428q-218 -161 -612 -161h-60q-32 0 -59.5 -22t-34.5 -53 l-73 -315q-8 -36 -40 -61.5t-69 -25.5h-214q-31 0 -52.5 19.5t-21.5 51.5q0 8 2 20l300 1301q8 36 40.5 61.5t69.5 25.5h444q68 0 125 -4t120.5 -15t113.5 -30t96.5 -50.5t77.5 -74t49.5 -103.5t18.5 -136z" />
+<glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M602 949q19 -61 31 -123.5t17 -141.5t-14 -159t-62 -145q-21 81 -67 157t-95.5 127t-99 90.5t-78.5 57.5t-33 19q-62 34 -81.5 100t14.5 128t101 81.5t129 -14.5q138 -83 238 -177zM927 1236q11 -25 20.5 -46t36.5 -100.5t42.5 -150.5t25.5 -179.5t0 -205.5t-47.5 -209.5 t-105.5 -208.5q-51 -72 -138 -72q-54 0 -98 31q-57 40 -69 109t28 127q60 85 81 195t13 199.5t-32 180.5t-39 128t-22 52q-31 63 -8.5 129.5t85.5 97.5q34 17 75 17q47 0 88.5 -25t63.5 -69zM1248 567q-17 -160 -72 -311q-17 131 -63 246q25 174 -5 361q-27 178 -94 342 q114 -90 212 -211q9 -37 15 -80q26 -179 7 -347zM1520 1440q9 -17 23.5 -49.5t43.5 -117.5t50.5 -178t34 -227.5t5 -269t-47 -300t-112.5 -323.5q-22 -48 -66 -75.5t-95 -27.5q-39 0 -74 16q-67 31 -92.5 100t4.5 136q58 126 90 257.5t37.5 239.5t-3.5 213.5t-26.5 180.5 t-38.5 138.5t-32.5 90t-15.5 32.5q-34 65 -11.5 135.5t87.5 104.5q37 20 81 20q49 0 91.5 -25.5t66.5 -70.5z" />
+<glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
+<glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
+<glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M322 689h-15q-19 0 -19 18q0 28 19 85q5 15 15 19.5t28 4.5q77 0 77 -49q0 -41 -30.5 -59.5t-74.5 -18.5zM664 528q-47 0 -47 29q0 62 123 62l3 -3q-5 -88 -79 -88zM1438 687h-15q-19 0 -19 19q0 28 19 85q5 15 14.5 19t28.5 4q77 0 77 -49q0 -41 -30.5 -59.5 t-74.5 -18.5zM1780 527q-47 0 -47 30q0 62 123 62l3 -3q-5 -89 -79 -89zM373 894h-128q-8 0 -14.5 -4t-8.5 -7.5t-7 -12.5q-3 -7 -45 -190t-42 -192q0 -7 5.5 -12.5t13.5 -5.5h62q25 0 32.5 34.5l15 69t32.5 34.5q47 0 87.5 7.5t80.5 24.5t63.5 52.5t23.5 84.5 q0 36 -14.5 61t-41 36.5t-53.5 15.5t-62 4zM719 798q-38 0 -74 -6q-2 0 -8.5 -1t-9 -1.5l-7.5 -1.5t-7.5 -2t-6.5 -3t-6.5 -4t-5 -5t-4.5 -7t-4 -9q-9 -29 -9 -39t9 -10q5 0 21.5 5t19.5 6q30 8 58 8q74 0 74 -36q0 -11 -10 -14q-8 -2 -18 -3t-21.5 -1.5t-17.5 -1.5 q-38 -4 -64.5 -10t-56.5 -19.5t-45.5 -39t-15.5 -62.5q0 -38 26 -59.5t64 -21.5q24 0 45.5 6.5t33 13t38.5 23.5q-3 -7 -3 -15t5.5 -13.5t12.5 -5.5h56q1 1 7 3.5t7.5 3.5t5 3.5t5 5.5t2.5 8l45 194q4 13 4 30q0 81 -145 81zM1247 793h-74q-22 0 -39 -23q-5 -7 -29.5 -51 t-46.5 -81.5t-26 -38.5l-5 4q0 77 -27 166q-1 5 -3.5 8.5t-6 6.5t-6.5 5t-8.5 3t-8.5 1.5t-9.5 1t-9 0.5h-10h-8.5q-38 0 -38 -21l1 -5q5 -53 25 -151t25 -143q2 -16 2 -24q0 -19 -30.5 -61.5t-30.5 -58.5q0 -13 40 -13q61 0 76 25l245 415q10 20 10 26q0 9 -8 9zM1489 892 h-129q-18 0 -29 -23q-6 -13 -46.5 -191.5t-40.5 -190.5q0 -20 43 -20h7.5h9h9t9.5 1t8.5 2t8.5 3t6.5 4.5t5.5 6t3 8.5l21 91q2 10 10.5 17t19.5 7q47 0 87.5 7t80.5 24.5t63.5 52.5t23.5 84q0 36 -14.5 61t-41 36.5t-53.5 15.5t-62 4zM1835 798q-26 0 -74 -6 q-38 -6 -48 -16q-7 -8 -11 -19q-8 -24 -8 -39q0 -10 8 -10q1 0 41 12q30 8 58 8q74 0 74 -36q0 -12 -10 -14q-4 -1 -57 -7q-38 -4 -64.5 -10t-56.5 -19.5t-45.5 -39t-15.5 -62.5t26 -58.5t64 -21.5q24 0 45 6t34 13t38 24q-3 -15 -3 -16q0 -5 2 -8.5t6.5 -5.5t8 -3.5 t10.5 -2t9.5 -0.5h9.5h8q42 0 48 25l45 194q3 15 3 31q0 81 -145 81zM2157 889h-55q-25 0 -33 -40q-10 -44 -36.5 -167t-42.5 -190v-5q0 -16 16 -18h1h57q10 0 18.5 6.5t10.5 16.5l83 374h-1l1 5q0 7 -5.5 12.5t-13.5 5.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048 q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+<glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 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 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />
+<glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -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 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 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 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
+<glyph unicode="&#xf1f8;" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 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-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf1f9;" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 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 unicode="&#xf1fa;" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
+<glyph unicode="&#xf1fb;" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
+<glyph unicode="&#xf1fc;" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
+<glyph unicode="&#xf1fd;" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
+<glyph unicode="&#xf1fe;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
+<glyph unicode="&#xf200;" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
+<glyph unicode="&#xf201;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />
+<glyph unicode="&#xf202;" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
+<glyph unicode="&#xf203;" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.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 unicode="&#xf204;" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-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.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
+<glyph unicode="&#xf205;" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-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.5z" />
+<glyph unicode="&#xf206;" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
+<glyph unicode="&#xf207;" d="M384 320q0 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.5zM1408 320q0 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.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
+<glyph unicode="&#xf208;" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+<glyph unicode="&#xf209;" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+<glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+<glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+<glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+<glyph unicode="&#xf20d;" horiz-adv-x="1792" />
+<glyph unicode="&#xf20e;" horiz-adv-x="1792" />
+<glyph unicode="&#xf500;" horiz-adv-x="1792" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/jekyll-source/fonts/fontawesome-webfont.ttf b/jekyll-source/fonts/fontawesome-webfont.ttf
new file mode 100644
index 0000000..96a3639
--- /dev/null
+++ b/jekyll-source/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/jekyll-source/fonts/fontawesome-webfont.woff b/jekyll-source/fonts/fontawesome-webfont.woff
new file mode 100644
index 0000000..628b6a5
--- /dev/null
+++ b/jekyll-source/fonts/fontawesome-webfont.woff
Binary files differ
diff --git a/jekyll-source/fonts/glyphicons-halflings-regular.eot b/jekyll-source/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000..b93a495
--- /dev/null
+++ b/jekyll-source/fonts/glyphicons-halflings-regular.eot
Binary files differ
diff --git a/jekyll-source/fonts/glyphicons-halflings-regular.svg b/jekyll-source/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000..94fb549
--- /dev/null
+++ b/jekyll-source/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,288 @@
+<?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 xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
+<font-face units-per-em="1200" ascent="960" descent="-240" />
+<missing-glyph horiz-adv-x="500" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="400" />
+<glyph unicode=" " />
+<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
+<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xa0;" />
+<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
+<glyph unicode="&#x2000;" horiz-adv-x="650" />
+<glyph unicode="&#x2001;" horiz-adv-x="1300" />
+<glyph unicode="&#x2002;" horiz-adv-x="650" />
+<glyph unicode="&#x2003;" horiz-adv-x="1300" />
+<glyph unicode="&#x2004;" horiz-adv-x="433" />
+<glyph unicode="&#x2005;" horiz-adv-x="325" />
+<glyph unicode="&#x2006;" horiz-adv-x="216" />
+<glyph unicode="&#x2007;" horiz-adv-x="216" />
+<glyph unicode="&#x2008;" horiz-adv-x="162" />
+<glyph unicode="&#x2009;" horiz-adv-x="260" />
+<glyph unicode="&#x200a;" horiz-adv-x="72" />
+<glyph unicode="&#x202f;" horiz-adv-x="260" />
+<glyph unicode="&#x205f;" horiz-adv-x="325" />
+<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
+<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
+<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
+<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
+<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
+<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
+<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
+<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
+<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
+<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
+<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
+<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
+<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
+<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
+<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
+<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
+<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
+<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
+<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
+<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
+<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
+<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
+<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
+<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
+<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
+<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
+<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
+<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
+<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
+<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
+<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
+<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
+<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
+<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
+<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
+<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
+<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
+<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
+<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
+<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
+<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
+<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
+<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
+<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
+<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
+<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
+<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
+<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
+<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
+<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
+<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
+<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
+<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
+<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
+<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
+<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
+<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
+<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
+<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
+<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
+<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
+<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
+<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
+<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
+<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
+<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
+<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
+<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
+<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
+<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
+<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
+<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
+<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
+<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
+<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
+<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
+<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
+<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
+<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
+<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
+<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
+<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
+<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
+<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
+<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
+<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
+<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
+<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
+<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
+<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
+<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
+<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
+<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
+<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
+<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
+<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
+<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
+<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
+<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
+<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
+<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
+<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
+<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
+<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
+<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
+<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
+<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
+<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
+<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
+<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
+<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
+<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
+<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
+<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
+<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
+<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
+<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
+<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
+<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
+<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
+<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
+<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
+<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
+<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
+<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
+<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
+<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
+<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
+<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
+<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
+<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
+<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
+<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
+<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
+<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
+<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
+<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
+<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
+<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
+<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
+<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
+<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
+<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
+<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
+<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
+<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
+<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
+<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
+<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
+<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
+<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
+<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
+<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
+<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
+<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
+<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
+<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
+<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
+<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
+<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
+<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
+<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
+<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
+<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
+<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
+<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
+<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
+<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
+<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
+<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
+<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
+<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/jekyll-source/fonts/glyphicons-halflings-regular.ttf b/jekyll-source/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000..1413fc6
--- /dev/null
+++ b/jekyll-source/fonts/glyphicons-halflings-regular.ttf
Binary files differ
diff --git a/jekyll-source/fonts/glyphicons-halflings-regular.woff b/jekyll-source/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000..9e61285
--- /dev/null
+++ b/jekyll-source/fonts/glyphicons-halflings-regular.woff
Binary files differ
diff --git a/jekyll-source/fonts/glyphicons-halflings-regular.woff2 b/jekyll-source/fonts/glyphicons-halflings-regular.woff2
new file mode 100644
index 0000000..64539b5
--- /dev/null
+++ b/jekyll-source/fonts/glyphicons-halflings-regular.woff2
Binary files differ
diff --git a/jekyll-source/images/access.png b/jekyll-source/images/access.png
new file mode 100644
index 0000000..cd93b2d
--- /dev/null
+++ b/jekyll-source/images/access.png
Binary files differ
diff --git a/jekyll-source/images/androidsdkmanagericon.png b/jekyll-source/images/androidsdkmanagericon.png
new file mode 100644
index 0000000..65014a2
--- /dev/null
+++ b/jekyll-source/images/androidsdkmanagericon.png
Binary files differ
diff --git a/jekyll-source/images/authorizegithubscreen2.png b/jekyll-source/images/authorizegithubscreen2.png
new file mode 100644
index 0000000..2f6b6ca
--- /dev/null
+++ b/jekyll-source/images/authorizegithubscreen2.png
Binary files differ
diff --git a/jekyll-source/images/authorizeongithub.png b/jekyll-source/images/authorizeongithub.png
new file mode 100644
index 0000000..9380f80
--- /dev/null
+++ b/jekyll-source/images/authorizeongithub.png
Binary files differ
diff --git a/jekyll-source/images/branches.png b/jekyll-source/images/branches.png
new file mode 100644
index 0000000..e6778ac
--- /dev/null
+++ b/jekyll-source/images/branches.png
Binary files differ
diff --git a/jekyll-source/images/company_logo.png b/jekyll-source/images/company_logo.png
new file mode 100755
index 0000000..cfe2101
--- /dev/null
+++ b/jekyll-source/images/company_logo.png
Binary files differ
diff --git a/jekyll-source/images/company_logo.png.old b/jekyll-source/images/company_logo.png.old
new file mode 100644
index 0000000..f2d9e7e
--- /dev/null
+++ b/jekyll-source/images/company_logo.png.old
Binary files differ
diff --git a/jekyll-source/images/company_logo_big.png b/jekyll-source/images/company_logo_big.png
new file mode 100644
index 0000000..2a4b9e8
--- /dev/null
+++ b/jekyll-source/images/company_logo_big.png
Binary files differ
diff --git a/jekyll-source/images/diffy100.png b/jekyll-source/images/diffy100.png
new file mode 100644
index 0000000..6129963
--- /dev/null
+++ b/jekyll-source/images/diffy100.png
Binary files differ
diff --git a/jekyll-source/images/diffy200.png b/jekyll-source/images/diffy200.png
new file mode 100644
index 0000000..7d709dd
--- /dev/null
+++ b/jekyll-source/images/diffy200.png
Binary files differ
diff --git a/jekyll-source/images/diffy45.png b/jekyll-source/images/diffy45.png
new file mode 100644
index 0000000..cfe2101
--- /dev/null
+++ b/jekyll-source/images/diffy45.png
Binary files differ
diff --git a/jekyll-source/images/favicon.ico b/jekyll-source/images/favicon.ico
new file mode 100644
index 0000000..0d505be
--- /dev/null
+++ b/jekyll-source/images/favicon.ico
Binary files differ
diff --git a/jekyll-source/images/helpapi-01.png b/jekyll-source/images/helpapi-01.png
new file mode 100644
index 0000000..51308a1
--- /dev/null
+++ b/jekyll-source/images/helpapi-01.png
Binary files differ
diff --git a/jekyll-source/images/helpapi.svg b/jekyll-source/images/helpapi.svg
new file mode 100644
index 0000000..0ddc922
--- /dev/null
+++ b/jekyll-source/images/helpapi.svg
@@ -0,0 +1,1661 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+    viewBox="0 0 1200 900" enable-background="new 0 0 1200 900" xml:space="preserve">
+<g id="Layer_1">
+   <rect fill="#9CCFEF" stroke="#000000" stroke-miterlimit="10" width="1200" height="900"/>
+</g>
+<g id="Layer_2">
+   <line fill="none" stroke="#5E5E5D" stroke-width="3" stroke-miterlimit="10" x1="470.4" y1="254.4" x2="197.8" y2="493.7"/>
+   <line fill="none" stroke="#5E5E5D" stroke-width="3" stroke-miterlimit="10" x1="740.8" y1="344.8" x2="890.8" y2="596.4"/>
+   <line fill="none" stroke="#5E5E5D" stroke-width="3" stroke-miterlimit="10" x1="801.2" y1="269.8" x2="1028.5" y2="426.2"/>
+   <g>
+      <g>
+         <path fill="#F2F2F2" d="M329.4,609.5c0,5.5-4.5,10-10,10H116c-5.5,0-10-4.5-10-10V503.7c0-5.5,4.5-10,10-10h203.4
+            c5.5,0,10,4.5,10,10V609.5z"/>
+         <path fill="none" stroke="#464747" stroke-width="22" stroke-miterlimit="10" d="M329.4,609.5c0,5.5-4.5,10-10,10H116
+            c-5.5,0-10-4.5-10-10V503.7c0-5.5,4.5-10,10-10h203.4c5.5,0,10,4.5,10,10V609.5z"/>
+      </g>
+      <rect x="124.7" y="523.8" fill="none" width="193.6" height="73.9"/>
+      <text transform="matrix(1 0 0 1 124.7476 533.7126)"><tspan x="0" y="0" font-family="'MyriadPro-Regular'" font-size="14">sample help text sample help </tspan><tspan x="0" y="16.8" font-family="'MyriadPro-Regular'" font-size="14">text sample help text sample </tspan><tspan x="0" y="33.6" font-family="'MyriadPro-Regular'" font-size="14">help text sample help text </tspan><tspan x="0" y="50.4" font-family="'MyriadPro-Regular'" font-size="14">sample help text sample help </tspan></text>
+   </g>
+   <radialGradient id="SVGID_1_" cx="329.75" cy="558.375" r="6.875" gradientUnits="userSpaceOnUse">
+      <stop  offset="0" style="stop-color:#7A7A7A"/>
+      <stop  offset="0.1457" style="stop-color:#767676"/>
+      <stop  offset="0.3151" style="stop-color:#676767"/>
+      <stop  offset="0.4963" style="stop-color:#505050"/>
+      <stop  offset="0.6857" style="stop-color:#303030"/>
+      <stop  offset="0.8799" style="stop-color:#060606"/>
+      <stop  offset="0.9053" style="stop-color:#000000"/>
+   </radialGradient>
+   <circle fill="url(#SVGID_1_)" cx="329.8" cy="558.4" r="6.9"/>
+   <g>
+      <g>
+         <path fill="#050505" d="M590.2,815.3c-14.1-4.7-17.6-35.3-17.6-35.3c-0.6-5.5-4.4-9.9-8.4-10s-7.2,0-7.2-0.1c0,0-1,0-2.2,0
+            c-1.2,0-3.2,0-4.5,0c-1.2,0-2.3,0-2.3,0s-3.1,0-7,0.1c-3.8,0-7.5,4.5-8.1,10c0,0-3.4,30.6-17.4,35.3s-35.2,8.1-35.2,8.1
+            c-5.4,0.9-5.4,1.6,0.1,1.6H538c5.5,0,12,0,14.5,0s9,0,14.5,0h58.5c5.5,0,5.6-0.7,0.1-1.6C625.6,823.4,604.2,820,590.2,815.3z"/>
+      </g>
+      <g>
+         <path fill="#F2F2F2" d="M663,765.3c0,5.5-4.5,10-10,10H449.5c-5.5,0-10-4.5-10-10V622.1c0-5.5,4.5-10,10-10H653
+            c5.5,0,10,4.5,10,10V765.3z"/>
+         <path fill="none" stroke="#464747" stroke-width="5" stroke-miterlimit="10" d="M663,765.3c0,5.5-4.5,10-10,10H449.5
+            c-5.5,0-10-4.5-10-10V622.1c0-5.5,4.5-10,10-10H653c5.5,0,10,4.5,10,10V765.3z"/>
+      </g>
+   </g>
+   <rect x="461.5" y="630.6" fill="#CDF9F8" stroke="#565656" stroke-miterlimit="10" width="180.9" height="128"/>
+   <rect x="470.4" y="636.3" fill="none" width="172" height="121.2"/>
+   <text transform="matrix(1 0 0 1 470.4375 647.7349)"><tspan x="0" y="0" font-family="'ArialMT'" font-size="16">Getting Started </tspan><tspan x="0" y="19.2" font-family="'MyriadPro-Regular'" font-size="16">text sample help text </tspan><tspan x="0" y="38.4" font-family="'MyriadPro-Regular'" font-size="16">sample help text sample </tspan><tspan x="0" y="57.6" font-family="'MyriadPro-Regular'" font-size="16">help text sample help </tspan><tspan x="0" y="76.8" font-family="'MyriadPro-Regular'" font-size="16">text sample help text </tspan><tspan x="0" y="96" font-family="'MyriadPro-Regular'" font-size="16">sample help text sample </tspan></text>
+   <g>
+      <g>
+         <g>
+            <path fill="#050505" d="M976.4,778.4c-16.3-4.1-20.3-30.1-20.3-30.1c-0.8-5.4-5.3-9.9-9.9-9.9c-4.6,0-8.4,0-8.4-0.1
+               c0,0-1.2,0-2.6,0c-1.4,0-3.8,0-5.2,0c-1.5,0-2.6,0-2.6,0s-3.7,0-8.1,0.1c-4.5,0-8.8,4.5-9.5,9.9c0,0-3.7,26-20.1,30.1
+               c-16.3,4.1-42.5,7.4-42.5,7.4c-5.5,0.7-5.4,1.2,0.1,1.2h70.2c5.5,0,12.4,0,15.2,0c2.9,0,9.7,0,15.2,0h71.2
+               c5.5,0,5.5-0.5,0.1-1.2C1019.1,785.8,992.7,782.6,976.4,778.4z"/>
+         </g>
+         <g>
+            <path fill="#F2F2F2" d="M1061,733c0,5.5-4.5,10-10,10H811.2c-5.5,0-10-4.5-10-10V608.6c0-5.5,4.5-10,10-10H1051
+               c5.5,0,10,4.5,10,10V733z"/>
+            <path fill="none" stroke="#464747" stroke-width="5" stroke-miterlimit="10" d="M1061,733c0,5.5-4.5,10-10,10H811.2
+               c-5.5,0-10-4.5-10-10V608.6c0-5.5,4.5-10,10-10H1051c5.5,0,10,4.5,10,10V733z"/>
+         </g>
+      </g>
+      <rect x="811" y="606.8" fill="#F4E8C6" stroke="#565656" stroke-miterlimit="10" width="239.4" height="128"/>
+      <rect x="820.4" y="615.6" fill="none" width="220.6" height="110.5"/>
+      <text transform="matrix(1 0 0 1 820.4385 628.4581)"><tspan x="0" y="0" font-family="'ArialMT'" font-size="18">Learning Course</tspan><tspan x="0" y="21.6" font-family="'MyriadPro-Regular'" font-size="18">sample help text sample help </tspan><tspan x="0" y="43.2" font-family="'MyriadPro-Regular'" font-size="18">text sample help text sample </tspan><tspan x="0" y="64.8" font-family="'MyriadPro-Regular'" font-size="18">help text sample help text </tspan><tspan x="0" y="86.4" font-family="'MyriadPro-Regular'" font-size="18">sample help text sample help </tspan></text>
+   </g>
+   <g>
+      <path fill="#1E1E1E" d="M1080.8,544.5h-52.3c-4,0-7.2-3.2-7.2-7.2V433.4c0-4,3.2-7.2,7.2-7.2h52.3c4,0,7.2,3.2,7.2,7.2v103.8
+         C1088.1,541.2,1084.8,544.5,1080.8,544.5z"/>
+      <path fill="none" stroke="#565656" stroke-miterlimit="10" d="M1080.8,544.5h-52.3c-4,0-7.2-3.2-7.2-7.2V433.4
+         c0-4,3.2-7.2,7.2-7.2h52.3c4,0,7.2,3.2,7.2,7.2v103.8C1088.1,541.2,1084.8,544.5,1080.8,544.5z"/>
+   </g>
+   <path fill="#EAEAE8" stroke="#565656" stroke-miterlimit="10" d="M1081.5,525.8H1028c-0.8,0-1.5-0.7-1.5-1.5v-82.1
+      c0-0.8,0.7-1.5,1.5-1.5h53.5c0.8,0,1.5,0.7,1.5,1.5v82.1C1083,525.1,1082.3,525.8,1081.5,525.8z"/>
+   <radialGradient id="SVGID_2_" cx="1054.7556" cy="534.3206" r="5.6067" gradientUnits="userSpaceOnUse">
+      <stop  offset="0" style="stop-color:#000000"/>
+      <stop  offset="0.2375" style="stop-color:#030303"/>
+      <stop  offset="0.4133" style="stop-color:#0C0C0C"/>
+      <stop  offset="0.569" style="stop-color:#1C1C1C"/>
+      <stop  offset="0.7133" style="stop-color:#333333"/>
+      <stop  offset="0.8496" style="stop-color:#505050"/>
+      <stop  offset="0.9782" style="stop-color:#747474"/>
+      <stop  offset="1" style="stop-color:#7A7A7A"/>
+   </radialGradient>
+   <path fill="url(#SVGID_2_)" stroke="#565656" stroke-miterlimit="10" d="M1054.8,539.9L1054.8,539.9c-3.1,0-5.6-2.5-5.6-5.6l0,0
+      c0-3.1,2.5-5.6,5.6-5.6l0,0c3.1,0,5.6,2.5,5.6,5.6l0,0C1060.4,537.4,1057.8,539.9,1054.8,539.9z"/>
+   <rect x="1030.9" y="444" fill="none" width="52.3" height="76.1"/>
+   <text transform="matrix(1 0 0 1 1030.9103 449.4799)"><tspan x="0" y="0" font-family="'MyriadPro-Regular'" font-size="7.6892">sample help </tspan><tspan x="0" y="9.2" font-family="'MyriadPro-Regular'" font-size="7.6892">text sample </tspan><tspan x="0" y="18.5" font-family="'MyriadPro-Regular'" font-size="7.6892">help text </tspan><tspan x="0" y="27.7" font-family="'MyriadPro-Regular'" font-size="7.6892">sample help </tspan><tspan x="0" y="36.9" font-family="'MyriadPro-Regular'" font-size="7.6892">text sample </tspan><tspan x="0" y="46.1" font-family="'MyriadPro-Regular'" font-size="7.6892">help text </tspan><tspan x="0" y="55.4" font-family="'MyriadPro-Regular'" font-size="7.6892">sample help </tspan><tspan x="0" y="64.6" font-family="'MyriadPro-Regular'" font-size="7.6892">text sample </tspan></text>
+   <g>
+
+         <image overflow="visible" opacity="0.75" width="518" height="361" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgYAAAFpCAYAAADndeCyAAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAASs5JREFUeNrsnQl328gOZkFK8pK8
+7vn/P3M6i21tnJfzxGkYBlCg9uXec3gky07iiJLq8isUSgQAAAAAAAAAwNLxFADwXnUYeMoB+LAB
+gNt6Px7r/Tuc+OcBADEAgAPed92RHt93gJ/6OMIAgBgAwBHeZ13jsS752W6Pf2+YMKgPhfuHigQA
+IAYAD/u+qgzyXfJYN1EcpqQF3v3oNnrsEIEAAMQA4O7fS1MGee+2cr8iIa2B2ROAyv0pty2JAADE
+AOAhZCAa8LvgMe9nusafq8pBSwrs/eyQxteZbCAJAIgBwF2/bzIZqBz9xO/3iSBU3tN2gLaD99YM
+8NuGJLS+PyTJA5IAgBgA3F06kMlA79w/1m2UIlTI0oHtkW8jeWhJAoIAgBgA3Ew6kKUCegDXh31s
+lvxs5fF95aAqBfZoPb4p/HxVEkgRABADgJsRgikyMCve2vvZY5kg7CsG2cDvDfr2sU3xtiIJUwoY
+AQAxALgaIYgGbD3o/znm6n7rmCIPUXIQvbe92oJIDKqD/r5HJglbBAEAMQC4FSHQg7IdsGdGBubm
+/tx5vCIJmSjo30scOYgSg3FgtXUAmQC0ZGCtbvWxMfc9SdjskSQgCACIAcBFhCCqD5g5qcA48C/M
+/YXz+Nz5s54UzAIp6CWvNWiJweBIwbaRCmwDEbBCsApuPWnYRxKiJAEAEAOAsyQEWSpgZWChjifz
+9cKRg0qCYNODTAyi93ZrKsGKQSsliBKCVeHwZGFjZCEqdPQkAUEAQAwAjvK6nyoEkQg8Obfe/YWT
+IFRTAy8xiPoatBIDkbzw0JOCLC1YBVKwbNy2RCGrSUAQABADgKOnBFOEwCYCduD/czybr+0x/ryd
+VsikIKsvONWqhEqdgU0M9ACvBaB1eKJQkYRqoSIAIAYAk1ICPciOA69XMxCJwLO5/5xIgicGkRT0
+E5KCY/QxaCUH24YcWDHQg/6HeuwjeWzZkIQoRSA9AEAMAI6SErQSgoWRgefgeAke98QgKkDM6gim
+NDjy/u/RPglTGhx59QdR4aGVgw9HCuyxdO5HkpAlCCJ5syQAQAyA1/angdOuMojqB7xk4EXdvjhf
+V6QgSwqi6YKWEBy6V0JLELIeB15ysHIEIRKD9+DWSsNygiCQHgAgBvAgr41h4u/dmjaoCIEe/F+V
+BLw6cuCJwaIhBYfIQJf8n6tikAlCVRJa0worIwcfjhxEh5YFO90QTTHo31tIDwAQAzjd+T/n62U4
+wv/L60fQmjJ4dlKBUQRelRC8OslBlBR4yxOjpYfV/RD2kYKKHIjUN1faBulBtHzRSw48GXjbHe/q
+9j1JEawgkB4AIAZw4HnujvT4KYWg9Xi1lmAcmCtC8No4Mimw9QS2lqDSqKgqBPuck2ijopYgVBoj
+VWoPvCmFNyMG3qFThPHvqE4vSEMQzvF5iJQAYgBXdV67xmPZ1Wd3otfRsMfgFf25KCnQqw3mDSEY
+B/xvSgC+TZCCqMCw2qDIG/yj22OKgUgcvbdEoSoI4+DtFSV6icHv4PbdSMKHko5KejB1gD7V6xtZ
+AMQAznoeu4IAtLYUniIOx76aGgoDVvRcWCmYmZTA1hDYdOCbkoFvRgyi6QO9FLElBJXlhlOf92OI
+wdRzMGW5ozfFYNODdycx+G0OLQjj8WEEwU4vtKYWjpGu7Zt6TU3IABADKJ+71kCSxdFd8f6xrlb3
+uXKN7u8jBS0h+ObIgScF2bRBVQjs81xNa4793q0MWt6KBpHakkfbTtlOL4zpQSYHvxxR+O2kB3oF
+g1eYOEUMuiM/r60pjSnyAHAS5jwFdycDrUE+e2zf+e19P0BbUtCKsPWf8ZYj2noCvWogk4FvTlLw
+qoQiKy7MdkGcuqKgO9LrpDLAVPogdM7zbc9RL7V9GNa7526tZO1DvvaHsMnMs8SrPTwpW6nzsJGv
+KxZkYrLWOi9TExf7WJe8tpEEQAygJANTB3mvUj97rJ94dXvoVZUnBNuCHEiQFlgpGAebcdD/vrv/
+XcnAd4nrCVopwdT6gerz2J3gtVQ9J97vOgTyYM+NXc0wXrnPlSSslCis5GtXySeJO0q26jlm6u/v
+G6nBPrUdreevKroi7ToIT8gAEIMHFYIpMtCLv24/uu2LP7tP+9195CBbKpdtw6ufD7sc0SYFnhR8
+D5ICr5Ygu0Kttiu+xIqPY6YO2e/vXQH35lbXH8yNGNh+EtneE61dK5e723H6QqcXEoilSK32o/pa
+luT1XJVfUgRADBCC8IolEgE72FePTg5rwXvMxGBKgx3bAldMWjAODk8STx94acE38VcdeE2KbEqg
+nyuR00y/XKMwDM7rdnAkwQrCdvf8bcRvNuW1pV40pMB+/bG71csZ9Wup9f6qpmVZ6rWVetMor2eE
+PSL5AkAMHkQIWjLgHd4mPFHb3eh+RRBOKQatvv3eXLEVA1tsaGsKrBB8C1KCaLVBZfvjYxezXftr
+1xts9eClB7dRDnojCDPn6n/ROOaJJCzk81LGTAwqU2mZIFUF11u9UXmte/URTDEAYvCAQlARgZkZ
+FGeFo0/uV7b5PbTWIOvbn/Xo3zof7p4Y6PnpyuoDLQU2rrZtjHup73DYPejrOWo+pQfQXp3LPnid
+zgNR8LbD9pakjs2QbGowOO8377VekQOvpqAiA96W1hvx96XYyuc6ia15ThEEQAweRAgyEbAfnjP5
+2mnPfj1FGKLq+t78vlMHQe+KxxarRT35PTEY5Gvhoa0veBG/T0FWYDhXUtCqIxA5fZ+HW5eEzpED
++3rfJq/zliB4tQlvu3O6VKnBRr7WGFTqbyIhjgQ321vCHuvgdiPxdtNdI0FADgAxuFEhyDb6yT4g
+ow9K/WFp70+RhCmtew9lSje9zUQxsFMJL9LuYDhltQFCMO11b4Vg/HqmBrvKe6BSkzCe97HHge5t
+MDi/S1Z/03rdZ9NhG8k3nfKaP9nHPFnYytclmNQeAGJwJ0Jgr0xmzodhJABRlGq/p29nDUHopd7C
+95ABsTWVMEUMJBGDJ/G3TI5qCRbOc5EVFiIEh6UIduXCoK6Go0E7e0/YVte68dF6ghhENTbR+Y5S
+L5sURK2iV8GxFr+j49o8T3a1BVMLcPCbFC4rBN6H3qwRmdr7T8H3o/7984mJQTbfOuU11drAp9Ve
+N6oxEPF7GOiBwh5PEq84qFwt8h46PC1qXXXbQdV2TNTdEr19FXS7ZG8qobKap5KUZXLrdX6MdqDU
+7aLt/ZUjCWuJp9lE2HYaEIOrFQJ7ZZJFpV4q8CS19d12aVdrnfeU+oKpqxKqa60rqxKy4sPB+YCf
+ST73nO1vwLTB5QXBG2T14Gp3a/S2btbbNdsNluwUlH3tTF2Rk0lN1hJ6HQjBR3BrD2/baa/9M3IA
+iMGVPK/Rbn+eEOj2vfNABp7la1e4Z9mvAUxVCKY07TmmGFSXLEaRsG1yNJevDYqyngQ9QnBRQYhS
+pE0jPfiQeGtmvVxxmJAYVJIy+ztvg8Sjsh213ZLa/p8+HFHwBOEYO0sCYgBHTgm8ZVAzZ+CaN65u
+bfz9UpADLRZRfUFWZFhtcHTIaylanZBFskOQFkiQGmRFmi0hYNrg+tID/VpYm/RglVxd28hd/xvR
+lF5XeE1I8hrO9onYOImBJwWjCLw5iciHSUSqO0siB4AYXDAliKYMWunAcyADL44YPIvfP76SFNjo
+tLJM61x7JWTpQdQ2NoqFK3UUU5vZwGXTAz3Ytubr7ZX0kCQG1fdARQwiOfCKD5dJ8vGWHFoWPhrp
+AXIAJViVcPqUIKof0AP3c5IMeIeXGmQpQTR1MCUdOGWs3ipAax0SnIOoI+SUwjKk4LLvrcE5B9Hm
+X3b6aGEG4aguRaS+R8g+nQ+9Ilr9e1mZsXJgt6C2y2qzKTD9XOpVCyxnBMTgDCmB9wEzvmGz6QJv
+imAUgNeGHNhtaJ8KQhAVFLb2Qzj1XHsmByK1zWUyOag2rSEluM73WKtBUrSU0WsMNATv4UPaIU+R
+Azut4NUbaDF4daTA67fRqo3x3mfIASAGJ04JvDoCTwjGN3ckAq8NMcj2pq8UF05JBs7Z5re1jFGk
+FoV2ybk5VwoCp0sP9F4LQ5AcbJQYRPPsUdI35X1wqBxsi3JQ2b+jUg+hWykjB4AYnCgliOLMWUMI
+PBmwHflexW/G4101LKQ2ZTDlavncOwMOjQ/Z7LHoHInUttNFCG5LDiy9kx5sd++J1lbd1ddIl/xO
+VTmopAdWDrL3fSYFGdvG+w4QAzhQCuy0gW2u8yRfawasCES9+6MOfV5TnrnkrYx7mT5F0BVSk1OK
+QZYkTD1nghDczXvQm1rQV7+9xK2Co7+3KsZd8TU8JJKgi2ltq+TxWMrXpcpR741ZQwy858BuJIUg
+AGJw4ODSBylB1K/dCoHeyMfeZilBNm0wZbpg6gdfd8bn2X6wdkcQg6kf8HB76UHnpAK91Kvwq9JY
+FYNKemB7HeiCSbt0OVtpVJlC8H4fvVsjcgCIwRFSgqgS2vZqb235+y1ICrJpg2gb4NZ2wKcYKA8Z
+YIc9/t7uSOcU7i89sFe/U5bmVVOkbo/X89CQhK38u5HUfCcHlf4b2XLb1kqe8d+1zyNygBjARCmI
+qp+9aQNPCL4nYuClBHa1gdegaJ9K+674fz93SrCvRCACvE+HRHaHA14n3Z6vtSH5Pawg9CY9GAso
+Z9JeYeSlBK0VPdH0ClIAiEHxysFbcWBrCWxhoZ4a+K6k4HtRCmz7XhsbZlMGlXTgFgdNBng4VBAu
+/Xq1UyCeIIxy4PXfaO3lIY4MRB1DvZ8RUgNADPKUQOTrGvgoJdBTAJEQWDF4daTgyZGCrHXv1K2A
+GVzhkcR+OPDPH5OhIAx6KeZWpu34GElBdSMyphQAMWhIQaWrmi0utFMG3ydIgS4y0tMG+uikvesf
+BXYA1/n6967qu4YgVA8vfbArHjaSb0TGlAIgBgUpiAoMvVqCSAj+Y5IDb+VBtDY5Ky46d/MhADht
+suEVULZkIEsJNo3DEwSmFAAxKEqBnTrwUgIrAv9JkgJv6iBbl1wRAmQA4PY/g6K9IbzPqkwM7DbP
+tkfCOhCETphSQAx4CkpSoKcObD8Cmw78pyAFtsDQE4LWskOEAOBxBCHaHMmKgScF3s6TnhgMzr+L
+HCAGSIF8nTqYy+e+BK9BSvCfQAxsPUGlrSlCAMBnUys9sEmBnUbwWizbbZmtIIx/v216dMnPG6QE
+MbgqKVg4UjBe/espg78mSkFUS5AtPUQIAB5bDjozeGdpgW2tvDRiYAVh46QG/QUG5SH5rEYaEIOz
+vfEqUvAin/sOaAn4y4iBlQJdT6BbmlY6lyEEAHxG2T0gtmrQHnupeEsT1yYpGDdl0oKwCsTAphHn
+EoJq+/Oh8bmIMCAGe6cFInFNga0nsNMGfzlS8B/5uhzRmzrwuhZGFccIAQBy4MX6vRoEFyY1iLZw
+1odNDXStgZj7+7Qun5oMRN8bAiEYjiAYgBh8esF47Y1njhTYlOAv59BpgZ06eJa8wHDKFq8AgByI
+EYPZ7nvjRY1NC16VDLzvDpscrOVzXUHXEINjfj4NjfvZvhdDIAT2ZxAFxKAkBXYKQa8+0NMHNiX4
+W93q+gJv5UFr3/RemDYAgMPkYFByMF71r+XfuqilEQMvMdASMH5G2amFUycG0T4Srfut264hCkgC
+iUG6GZLXtGgUg7+NFOi0wEsKvA6GrVamCAEAHCIH811i8KRSgxeVGnxriEG3e2yWiMGhrdYrW1Pr
++5VNoLI/J0nygSQ8uBhU0oInRwr+UlLwdyAFNinw9jnIUgKEAAD2lYPOkQNbPO3VGejCw/HvmxlZ
+2DYk4FhbrnsDu23ZvG1IQuv72a6SSMIDikHnpAXZCoRX+bwU8S9HDHSx4VhkGElBtAwRKQCAQ+TA
+fq71jc81nRaMRYd6eeJc/OmF6PP0ULJ0YHvk20gekIQHFIOss6FudWyl4LuRAjuFoDsa6k6GUT0B
+UgAAp/p8GxOD7KJnrDdYmcF//HvmShq8vgYix007q1LgbfyUPb4p/Py+kvAQgvBIicE+dQV/OXLw
+lxKHaPqgd5KCY5s2ACAFtsfBoC56NuqiRy9djKTgSX1/4yQG3vbuxxaDbOCPto7eOPdbtxVJeFhB
+mD/AG8eTg+oUQtbAyCs0zJICUgIAOPVnnU1EF/LvCgWvy+FYVzAKxNL5GU8GDvlc82oLIjGoDvr7
+HvtIwt1PM8wf5I1SWZoYNTGyrY6jJYnV/gQAAOdIDfRn3bMzIIoSiD+fY15B4uB8jnrJQUUQvCtw
+20xpaIhARQay3STt/hCZJESi0MnX5ZB3JQiPkBjYohz7ZvH2QJgqBXb6ACkAgEteDI19DcY0wF59
+i/rMWuw+0z7kcxfEwfksbYnBFKLagm0gB5tADtaJEKyCW08YNtKecqikCDcvCPMHeINMnULwjlEa
+vN0RZ0gBAFxBaiBqwNe1Bt7gplchPDtpQUsMTjmVYMWglRJECcGqcKzN/9tLFLYFSbCCcNNyML/T
+N4m9jdKCF5MWeHLwXUmBrSmwOyMiBQBw6c8+LQfjZ54dxHRaoIsTx8HQW41Q+YybOpUgkhceelKQ
+pQWrQAqWjdsoVcimHLxphrtID+45MYimEPQ2yl7b4+/S3jbZFhoiBQBwTamBbno0d352/Fx8cqTA
+619QFYMpVFYlVOoM7NW+HuC1AGSH/tlVIglr8+935ncWJz24OUGY3+Gbw5ODbC+Eb/K16DDraDhK
+gV76iBQAwDV+BvbOwKQ/E+1cu9cGOastOEUfg1ZysG3IgRUDPfB/SLwNtScL3tTDOkgRuuD5u7np
+hfkdviG8uoKs4FBLQSspiNocIwUAcC2pgd2Wefys14/3Sgz0IGtj8UgGpkwhREIggRhU+hnY9CAq
+PLRy8GGk4MMIwkciDJ4kbILn0ArCTaUH95gYZO1BvVUIVgp0R0OmDwDg1j8PeydFGHdP1MWJOg73
+xMCTgmPvldAShKzHgZccrBxBiMQgO6ws6L93pmSkc9KD7a2lB/M7egN4L/yZGtDHlQQvTlrQkoKF
+fG1e1CMFAHDFqYFND+yFkxaDqMq+tS38McUgE4SqJLSmFVaBHNjjPbhvZWEZCIL+neTW0oN7m0qI
+0gIrBTYxiKSgkhYgBQBwrXKgvx7MxdPgpARD4cLrGFJQkQOR+uZK2yA9iJYvLhNBeFe39vgw9z1B
+6OVzYeLm1tKD+Z28CbzoTKcF2fJETwpssaGXFBzzzQEAcK7kwA64M4k3EIo+4475uddaxthKErLG
+SFntwaooB2/O7bMjCB/yb/3ZKAjj9EIrPbgqObinqYQpW49GUtAqNoyaewAAXHty4AmD7DkonVIM
+xPndhkAaji0I3pSCFoK33Rgx3n/afU+vWFsmctDJ5+6TIlc4tTC/gxd+Ky2wUqATg2+OFLxMkALk
+AABu4TNykHglwTWKgX18aEjDlOWOraWNSyMGr0YM/hy/1UXkmxozFruftXvn9PJ5mWMmCBeXg3uZ
+SqimBS+JFLw6UuDtlniKNwYAwKUF4Rou8PSAn+1g6K1oEKktefTaKXsrGLQcjIKgpeC3fK5Fe0oE
+YWnGqk3y+19cDuZ38EL30gKv6PClkRTYPRDm4jcwQggA4B4+N4cT/J2HpgTR39cF0uDF8ONA20t9
+muHJJAhL+Xcb6hclBy+OFDw7UjAPLi711IKuPbiq5OAephJsWqD3Ibe9C+xUQqvdMasQAOARJOGa
+/+0h+XNdIAs2PRDxt3Yel2yOCcKTEoWVEoRnJQjPzvGUCMJMvk4teOOJXSFysbqD+R28oK0Y6JUI
+UX2BlgR9YseTGZ1ApAAA4DokYmh83xZYdk6asN193usUYb0bB0ZBWJqBvyoG80QM9NiyVuISCcJZ
+5eDeEoOo/fGLkQOdFNhVCK0dEwEA4DqFoboKwxOErRo/RkHQF5mjILzL55oCr75gIV+nFfTY8qHG
+LVt3sFW/10Xk4B5qDKKiw/FkZlJQ3QOBKQQAgNuSBa+ts00ORAnC1qQIeqOpuTO2LAqCMBd/erp3
+xOBq6g7mN37io9UI3vbK3vEsrEIAAHg0SfBEoTOS0Jur/LlzLBrH3Fx4RoIQJdMXkYNbrjGwh7dM
+0S5VjFYg2FUIvTCFAABwr5KQpQiDfN5PYhwTNo4kLIqSkCUHUT3bxeTg1qcSbFrg9S94NgmB3Qeh
+UleAHAAA3LckSCIIepyxSUKUJswDIcikwO5iubmEHMxv+ITqJ8+eHJsWaDkYH7cmx14IAACPKQkV
+QehMgjBzLkrnjijMGkcfSEErOSAxcGQg63Zoi0LskhJPCliFAACAIESCoMccL62eBZIwa6QGXWHs
+GRw5OJkg3MNUQrRUMZOCaC8E0gIAAAQhW/a4la9TDFGKoC9aZzJtOiESgK18LqY8uhzcevFhVF9g
+ux7a5hNRq0pqCgAAINtbojcJQtSBtw8koQ+kQBIpsHtD2N/vqHIwv8ETVZlKsGtKn+VrlWg2v4Mc
+AACAJwi2D4IdjzxJqCQFdtwZkmNMDoTE4Gu040lBJAdRI6PWUhEAAEAQsvRACslBn6QFVSGItqI+
+qiDcevGh14DCKz7M2lOyeyIAABySHnTJEdUReOONlYCxA6LeRtrbWlr/Lg8jBl1BDuzmSd6tlYLo
+5CAHAAAwNT2IxMC7P0UKIjE4Sb3BrdUYRLUFVgw8KYjaHjONAAAAh6YHWhAkSRCkIQZb59iYr09a
+b3APUwleD4NFQwpa+2IDAABMTQ/0FbsnAVlaEAnBRonBRvyphaOmBrdYfBilBd6qhGgji0wKkAMA
+ANhXDsbUINq4SQIpGBwhWBs5yJIDb0OouxWDyjLFmdR2uco6TgEAABwyTnmCIIkY2PoBKwFrRxC2
+gRyIHGlK4RaLD7OtlveRAiEpAACAE6YHWeMimxRslQx4hxYFO61gpzL2EoR7mUrI5CDa7pIligAA
+cA45kN3Y40mBrS+IpGBlxCBKDg6uN7iXVQlTpaAPLA5BAACAc8iBBImBJwQrJQY6OdiY5OAoUwrz
+G3hyq1IwDwShVVuADAAAwLnkoFeD9kL8osONIwWeINi6g16OMKVwq8sVW5snzSXeD9sTAuQAAADO
+IQe9Sg+G3Rj1JF9XI2gRWJpbTxDsKoVu39TgFlcl6L2wZ05qEAmC7U8tQg8DAAC4jBwMSg6i6YRI
+DJaBGEQNkCalBre2KsG2QfZSgywtYJkiAABcU3IwVQyWjhh4NQfdvqnBrRYf9klikBUcUlsAAADX
+IAfjOKSnFLI6gz8y8LE7lk56oP+cTQwmrVCYX/mT6ElBZcmi7oToyUH07wAAAJxaDkSNY6Lk4I8Y
+LCSuM9CHFgSbHOhCxI3c4VRCq7mR1xa5tUSR1AAAAK5lXBvHpzE12Bo5WJrEwCYHdmphpv6eyX0N
+brmPQSQIngy0hABBAACAc6YGnREDb0ohmkrwBEGnC+OUwl6pwa22RO6NFLTu232wkQEAALgGORjH
+ol5d6esNAZ+D1OBdHVoQFvK1v8Gk1OBWGhxFiUHniEJ00LcAAACudZyzycFmJwbj9MAoBqMMfAvE
+YEwNZio12MqdTiV4T2LXEAEvJUAQAADgmlIDPT7pKYVRDv4M9C+7gf9VJQavTnIwpgZrMxaW+xr0
+NyQCnhRE6YGVAgoNAQDg2sc328DPTim87GRgvB3vv+y+/ySf+/nstWlgf6NPZOWQRloAAABwbeOa
+txfQk5KDZyUFmRxEfXya9Df2xEWPdTJ9ygBJAACAaxnbqnLwotKDl0JiMJOJq/H6O3pSqwM+yQEA
+AFzrODZVDp7NoeVgr86//Z08kdHXCAAAANzSuBaJwbg5oJ1WeDFSYMVg8nRCf8dPLgAAwL2kBl4x
+4nMgBXo64a5rDCxD8vUge+xBDQAAcIWpQa8GepscPDly4G0LEBXo32ViMOz5PQAAgFtJDVpy4CUG
+3l5BkknBrYlBVQCQAQAAuAdB0HIwk6/FiAsjA3YaoZUY3LwYVGRhKIoDUw0AAHDtUiCS7yg8D6TA
+JgZeJ+C7E4OhOPiTIAAAwC1LQuckB3NzeHIwSxIDT0TuJjFopQZMMQAAwK0nB96+QJ4gzAMpsDUG
+aXLQ3/gTJjJtaSJyAAAAtyQFnhzMHDFYJIIQJQY3vSqhHIEAAAA8QHJg6w1miRT0kk8n3IQYRJsg
+eZJQWpcJAABww3LgTSnMJJ9GsF0PS3LQX+kTYAf4aI7FWhBbLQMAwL2mBdHyRS81iOTg5lYldA07
+sqY0c+5nHZ4QBQAAuEU58C6SIznwphG8sdFN2vsr/M9Hm0jMpFaFqZ8skgMAALh1IbBSEI2PNjmw
+xYel1KC/sicgkwJvrWa0acSsYEnIAgAA3JIkRHUGLSlopemfmF9pRNIFQmA3jIh2lvIEAREAAIBb
+loNO8q2ZvekEb8mi/juHaxIDayu9xHtQ272nX3fHizm8vagnLdMAAAC4MiEYgovoWeHI6gxc5hf8
+j4rElZY2KdBC8E0d33e3r44cZKnBvg2SAAAALpkWiHxdgtiShIoU/H8BmV/oPyhSqycYB3ktBX9k
+4D+747uSAy0IWg4oRAQAgHuUhGh1QqW+QB/DJRODlhTYrSTt1MEoBX+pY5QEKwbZdAJJAQAA3IIE
+DIEUZEWILUFImZ/5P+hJgV2G+ORIwTeVDmgx+FvJwXclBs/ydYcppAAAAG5ZEryxNOrzU+1hcDEx
+aC218KYOoukDmxhoMfimxEDXGURdnxAEAAC4RTnI0oO9hOCcYtCSAt2XwCsy9KTgP0YI9FRCJAXU
+GQAAwK0KQWtKoZN67540PZ+f4T8TSUFWT+AJgZYBr/jw1aQFC2mv3wQAALjF1EAk3lCwmyAHZxWD
+KVIwTh14KcFfJiX4Lp+nDl4DKYhWJCAEAABwr7IgjTGvayUS8xP/kt78h5aCsWmRXXXQqiXwUoKx
+4NAWHbIiAQAAoMgpxKCyJNFKQZQS/O2kBd+TlEBPHzCFAAAA98Zg7g/qsSE4vD8/BH/nSRMDb0mi
+3vPAkwIrBH8HScGLfF19sAhSgh4hAACAO5GBSAC2iRhEknCWxKC1wYOuKfCk4G912CmEb0YKvH0R
+vO0lRZhCAACA+xWErbq1RyYIw6nFwMb12WZILw0pGA+9+sCTgso2y4IUAADAnUiBJwORFESCcJbE
+IOtqqDsaain45kjB/zFpgV198CztTZKae00DAADccEIwGBnYBMdW3W6lOK1w7MQgamAUSUE0hfB3
+MSkY/w2mDgAA4FFkwUsEMjnIUoPhFGJQ2TrZisEUKbAbI0VFhkwdAADAvcpAVHBoRWC9Oypy4ArC
+oWIQ1RX0Mq3YMFqBoFcfLIKkgKkDAAC4ZykQ8acQxmNthGDtCMJZphJaTYy8VsfeDok6JfBqCp6D
+pAApAACAR5UDnRBoGVgFUqATgy8pwbHEQKTd7thrYvSX+B0Np0pB7wgKAADAPcmAGCnw6go8KYjk
+4GSJQRfIgVdX4LU7bknBSyIFFBkCAMCjyEGrrsCKwEoJgq0zGCqpQX+EtKC1NDHaLTFLClqFhkgB
+AAA8miDYtMDKwMpJDSrFh8OhYhDtmlhpZBRtnfwqn6cPxiWJSAEAADyiCNj7Xt+CSAwyOWg2OZoq
+BpkU2A2SbFrw3QiC3TZZ1xREzYuQAgAAeLSkwHY4jKRg6cjB5FUJ+yYG0TSCV3D4zRGC7+p7tqbA
+2/cAKQAAgEdNDawUeGLQkoLyqoQpYpAVHOoOh2PfghcnLfhuxMBrXjQXVh8AAABERYfZFII3jZAl
+BgcXH2Y7J0b7IXwLhMDufbAgKQAAAGTgy62tL/DSgmWSGpTrC6aIQRfIga4tsGmBrS/QolAtNKR5
+EQAAPLIcREWHnhQsJZ9KKO2wOHUqobofwqsRAX3oNsdjUjBHCgAAAD7JQWslgicFS/k8nRClBUcr
+PsyKDq0YvCZS8OQkBTOkAAAASArCxGDdSAusFLQSg72LD7tCYvAUJAb6NkoKRjlg7wMAAEAO/ker
+mdEyEYOV+F0PT1JjUJ1G8A4tBU/yeadE26sAKQAAgEcUApGvmyVpObBS8LE7bH1BVnh4UI1BtERx
+lIOFIwYvjhCMUvBspCDbKREAAODR5MCTAi8t0EKQTSWUlylOSQyihkZRYvBiBEFLQdbVkCkEAAAg
+Lfg8jWCl4MMc70YQ7FTCpKWKLTFopQVaCqKpBJsU6I2RrBQIUgAAAA8qBV5aMB46JVg6UjAeB/Uv
+2Ccx6KW9YZJODZ4dKfDaHXtyAAAA8EhyMARpgS02fHcOmxhkqxEOLj70Nk2KphEyOfDaHfdCu2MA
+ACAtEMm7G3pS8BYkBll9gffvHiUx0FLgTSXYtEBLQVRwCAAA8IhS4KUFm0QK3tQRJQaeGDSFoCUG
+Xu8C29TISwzs8ZQkBeyDAAAAjy4Hrb0QIimwguBJwdFrDLJphJmTFkRSQFoAAADwNS2QRArGIkNP
+Cn4bKfhwxGAjE1shV8RAJN9NcZHIgScFfSIFCAIAADySFGRpwdKIwSgDf45f6v6bfG1w1OpfsFdi
+0CVSEE0leIdNCmYNOQAAAHh0KVhNkIIxTRhFItofoZwWZIlB53ztrUhYOHKwkGlTCMgBAAAgBV+L
+Dd+MGPw2YvCWpAWT9keoiIGY1ED3HJgnicH4tf6ZXvKiQwAAAKTALzYckwJ9aCn4UGlBtBqhnBa0
+xKBVfDhXqYBNCaJmRqxEAACAR5UCMWJgVyB8NITAm0qI2iDvlRZMSQxsnYFNDeaBEFBXAAAASMH/
+GAfsjfgrED7k8/TBHxH4aW61FOhphINWImRi0BWkQCcGkSBEmyQJSQEAADx4UhAVG45SYFOClhQc
+vBKhkhi0BGHmCIKXEnhpAVIAAACPIAX666iBUTR98FMdvyaIwV4rESpi0JICKwfe0ZpCQBAAAOCe
+pcBLCXSvgo9ADH46h1dbsJYjrUSoikHUzyBKDry0wEoBMgAAAI8iCHa3xHELZTt94AnBj93hTSPY
+gsNICo42ldAl9229QXR0SAEAADxoWhBtoZxNH1gh+OGkBSedQqgkBuIkBi05sMlC15ANAACAR5EC
+2+q4IgVRWnD0KYSWGET1AF0iCvq+kBQAAMCDSoHXq0A3L/KSgn+MGPwIpECLwVGnEKYkBlU56IKf
+8b4GAAC4NzmwQhDtfxBJwT/qvk0LWjsoyjGkoCIG2UqCbPBn6gAAAB4pLRD5Oo2gWx1rKfg9UQq8
+jZK8ngXDMf5DhyQG0WOSPAYAAHDvaYGdQrDFhramQE8j6IJDnRRYKbDTCEejulyxmipUZQBhAACA
+e00LvHbHegrhl5MS/CN+z4LWJklHqSvYJzHoCkIAAADwyGlBVHBo+xX8cI6LLE08RAymgigAAMAj
+pgWtaYRseeKvCVJw1LqCc4gBAADAIwmCtxphrA3I9kKw+yBE/QoO3k750mIw8FoBAIAHkoIpiYE9
+vOkDXVdwkn4Fh4rB0HgMEQAAgEeVg0qNwbtKBH7L5wLD6o6JJ5eClhic8h9HJAAA4NaTAnESA9vY
+SMvBKAjvSgZsSuBNH2zPJQVTEgMrCtl973sAAACPkhxsJO586B16t8SLSsFUMbC/ULUqEjkAAIB7
+lwGdGnj9DGyCsDLH2gjFIGecPpgiBkPjicienNafAQAAuFdh0N0JbYKgj405tkYwzk5fFIJommCQ
+uF8zIgAAAI+aHnhjZevIpuTPNp72xf+sHCAFyAEAANw7XUMYpDFeZhfWZx1Hpy5XjH75aDMHpAAA
+AB5JDqJdh72vr5I+kYDIdLL4Y5skCcgCAADcqwjYo1e32eHJw9WJQSYIW6nNl0QFiAAAAPcuCuOg
+PwuOTBAuLgeVVQnRtEFLCs7S0xkAAOACAhAlB30gBvPdMVO3s2tMDqbUGERyYJdZbBMpQBAAAOAe
+JcHKgScFf46FkYRZkhxclRhEPQq2jhRsjRRUBAFJAACAe5UCnRjMG4eWA69W4ezpQV8UgpYUVFID
+phUAAOAe5cATA50WLJzDisEsSAzOnh7sW2PgScG6IAikBQAAcE9pgf5ar0RoTSMs1PezQsSzs8+q
+BLvftG7ruE4EgcQAAADuWRKi4kMtBVFi4BUhXkQOpiQGttjQ9nteGUGoSAGSAAAA9yIF2XLFKTUG
+F2Xf4sNMDlYmOchqDgAAAO5FEPQxk88FiLNACLy+Bl5icDZhaE0lRFJgZWApX/eTttMKdEIEAIB7
+TQv0Y72Sg1kgBVnh4dUVH0ZbLXtpgd1XemkkwcoBqQEAADxCauB1N6x0Qbz4fgpTVyVYKdBC8OGI
+ga47YJUCAAA8QnoQ1Rt493uTMly8+2F12+VoNYKVgo9AEGzNAakBAADcc2KQNT1q7ZUgcsHphH1r
+DDZOWvCuxEALQpQckBoAAMA9pQWeJPTS3nEx6nh4ESqrEkS+NjeyacGHkoN3RxJIDQAA4NFEIZOD
+avvjq+t8KOI3N/KmEv7IwJs63uXztIJODTakBgAAcGcy0DlS4H3/KvZEiJgXpMBLDMbUYGnEQB9/
+5ODlv8fzf48n+dzpycYng3pShmt5cgAAAA5IDCQRgNayxIuNg/OGFHRBahDVGIxpwe+dFIxiYOVg
+XKaxlStYswkAAHBCOfAe95KFm0gMrCjoJYsbRwx0UvCWiIHdNGKrEgQhNQAAgBsSgKEgAVME4KKi
+UBEDPZ0wXuHrJYt6OkHLgJaCSAxm8nk6gSkFAAAgabjixMCbThhMYjDfScFiN/i/7UTgtxEEKwYz
+JQa9Y11IAQAAwBUmBllqoKcT/hzjVMKTkxY8KTkY96G26zhFmFIAAIDH5eKr86pTCVFqsN4N8CuV
+Gnhi8GzEINs8gikFAAC4p4F8mPhnhktKwnyP/7xXa6CLEBdKAmxaEE0n2HaQdpUCcgAAALcmDEPj
+a/v4VfTymTKVkC1dXKvUYG7k4ClIDCIx0N2hkAMAALjlFMGTg0HaDf4uJgnzPf+z293tRg3iK/l3
+j+mFOp6C+1oOou0mkQMAALilhKCSCkSCcFOJgU4NvG6Ia/l3+eFYhGhTAy8x8FIDXXzodYJCDgAA
+4BYkwYrANhGD4VqSg30SAz2lMNYa6G6I40CvBWDhJAVWCrxtJ2X3feQAAABuNUHQUrCPHFy1GHjx
+yCgFdkrh3UjBPPjaikGr3gA5AACAa5OALC3QUuAdLTk4qyjM93wCokLEtRrkZ2rg96RgJvnKBAty
+AAAAtyYI28JxVcnB/AhPgC1E1PUGMyMGdgohKjyMBAE5AACAa5aCSAg2wf1WcnAzYuAVItophaUj
+CDNHDKLlinrwRw4AAOCaEwIRv67AyoE9PCm4KIcmBt6UwtjXoFNi0DsikElBa5DvkQIAALhSWYiE
+YNx8MJKDbFrhJsTAGtNWDdZaDHpHEHpHCvoJYjDKgZUTBAEAAC4hA0OQGGgp8ARBTy1kMnA2QZgf
+4cnwphS0HFhBsBsneb0LvD2so94GpAcAAHBJKZBECKwMrJ3kIEoMLsKxEgOvt4FNDjpHBFqFh5Eg
+6AMZAACAa5GDbAph3D4gkoObX5WQRRxbdb9LBn+vyND7mb7xNbsxAgDApWQgSwwyKYiSA7mkHMxP
+9ETpeoOxI2Lryj9KE6KCxfEYkAEAALiwHAxJUrByjtZUwsWYH/kJ8uoNxEiBiD9lYOsPZpIvddw4
+ciAIAgAAnFkOpkrBStpTCRebUjhFYtAlYiBJSmCFwNtnwduyeStfpxBIEAAA4BxJQSQHVgyW6vDk
+4C4TAwnMRndGjATBk4JRBJ7l6w6NV/UkAgDAQ8vBtigFlemEu1iVUBGEVnLQGyF42gnBi/xvM6YX
+9aRaw7LGRlIAAADnGNu8gsMsKVgmY5l3oXvTqxK8J65z/oPjRktSkIL33fHhPJFX10ISAAAeSg4q
+tQVWCD7En06IagwuIgenTgy0HOjUwNumeaGetA/nCVzLlfaVBgCAh08LtkFa8BGMaSt5gFUJU+Sg
+U2Y1E79ys7XO8+JNIAAAgMRA4imED+fwLng3ckU1c/2ZDUvUE5m1jdw4CcHVxCwAAPCwaUGr6DCT
+Am9qvLVU8e4Sg0gQBvNERPtSX9Ue1QAAgCAU0gIrA+/Sri+4muLD/oxPZPYES+EJabVSBgAAOEda
+4O2H4EnBu3wupLeJQTSNcNEL4P5CT250v3NEINtoqUMOAADgjEmBNxVulyZ6UvAeiMFVFR5eQgwk
+uNLPOiF6X0fpAQAAwCkvaO0SRVts+G6ON/GnEq5yGuHSYlCRgrHHQR8c0d4LAAAAx5KCqG+B7Vnw
+YYTgTeKePNkeCQ+bGEhBCOwRpQYAAACnkoOs4NBLCt4aYrC61rTgEmLQFaQgE4K+KAfIAgAAHCMt
+EKkvTRxl4LeRg0rh4cWF4NKJQbTTop0+mDmy4MkBMgAAAMeWApsWbCZIwW+TGIz1Bdk0wlXIwTUU
+H1anEiIhQAoAAODUUlBJCrzEIFuNcJX9eS4hBtXVCNlBTwMAADiHFNgOvd6yxFEG/hy/1P2phYcP
+KwYifh+CviAHLFUEAIBTS4GIv0GSXppohcBKga4v8KTAE4KHrjGQJDXo9kgJkAQAADiWFIxX8tFW
+ylFSYMVA1xfczC7B5xKDriAGkSR0JlEgMQAAgGNLgQRJga0r0MsRrRSMh64v0E2Nsp0UH34qQQpX
+/rQ+BgCAc0lBq4GRbV40SsDP3WETg2rR4dVtDNhf6cnyCgqrRYbIAwAAHCoFoxjo1QfvJiH4aY5R
+DOxqBFtweFWbJt2KGFSlAQAA4JhSEC1LtFMHkRS00oKrloJrFgNv3iXanhkAAOBYUqBbHWspGMVA
+y8CPRlpwE8sTLyUGQ/DYkDw2BFKwz78FAACQbYqkpcArNPxlhOCHuq/rCyq1BVc9XvVXcqIGibtN
+XV27SAAAuGkpkIYU2OWIv4wQ/DBy8LOYFmzlBlLv+ZUanLW5liwAAABUpWArX7sa6ukDu/ogkoIf
+st9KhKu+yJ1f8CR5KcHWsTjv6yhhoDARAAAqF59aCmxHw3H1wU9HCv7ZHWNaoKcQ3uWGpxAuKQZD
+IAjefM82kQISAwAAmDrWZNMHevWBTQr+CaRgbGiU7aB4E1MIl04M7MnLZGBTkAT9d5EaAAAgBV5a
+sC0mBVYK/q8jBT+NFOieBTc5hXApMRgH7lZSsHGOrcRdo5hKAAAATwb2lYKfJiXw0oLKtspbubHi
++fmFT14257MxccymmBoAAMDjCoGIX8C+SaTAW5I4SsA/QVqQrULYGiG4GSm4lBhU2lBaOVgnkuCl
+BqQHAACPmRKIfC1mt+PJ0kkKxmLDqNDQFhvquoKbbGR0DWKgB+so3tkGQmDlYBsYmSAFAAAPnxJE
++x6MScFHIAW22HC8/ekkBXb6YC3xBkk3JQfXUnw4JCdwVZCDP0ePFAAAPKQQiOR7Huhuht70wa8g
+LYhaHo8rGMYxyrtgvdmmfNfQxyDa5tLKgZWEbEMKphMAAO5bCrL2xlE9wUdDCqwc2NUHdvpgJTe0
+a+ItJAbZibRSsAzSA+9kIAUAAPefElSnDpYTpUDf2q6Gdy8FlxIDr9bA2+pyZU7q0kkObHzTO38/
+ggAAcD9CYMeOIUkJdOMiu/eB3Tr5h3ytJfCWJFYaGN30Srlr6WPgFR1aKbCCoJODuTo5nTopSAEA
+wP0JgV2GuJWv09A6JWhJgT50SpD1KbhLKbhUYiBBWmDbU9oI6MOcHHuCZuI3OyI1AAC4HyGoFhja
+qQMtBb8cGfBSAt2jwK4+uEspuLQYeHIQzQt5xzKQg47UAADgLoVAJ8xb9flvCwzt1IFekvjLuY1S
+gg/Jp6/vTgouKQbeSY+mEvRJ1lIwHk//PRY7Kfjz53tSAwCAuxSCqFDdXki+GSn45aQF+uvxZ3VK
+4BUZ3uz+B9cuBq3iw418rS/QcjAeL/89ntWJmysx8FID5AAA4PpkoCoEOlW2KUE0dfA7EYLfhZQg
+W3lwl1JwycTAviD0yfe2wXwPjmeVGMx3qcFM/i1C1CKAFAAAXGc6IOIXFnpLEG0dmh0jfidJwS/5
+XEfwJn6B4Ur9e9tHkoJLi4HtaR2tP7UW+LZLC15UarDc/V/mu8RgPLYqQRBSAwCAq0sHJEgHssZ3
+S4lXHXhS8Fu+1hHYlMCrW4t29L1bKbikGFR7GXiFJG9GCnRioMVATycwpQAAcB0yIFKbMmgtYR8H
+dX3R+NuIgJ0y+B0IwdLIh7eTrzyCFFw6MdCCYKtNvc0uRiH4vROClhjopMBOKSAHAADnkYEsHagK
+gVdg+J5IQZQQeM2Kolb7DzN1cE1ioKVAHDFYm6joeXdSn5UYPKnD1hno1KDbfY0cAACcRgQ8Gaik
+Ay0h8NLjaPrASweyaYNWw6KHk4JrSAzsCyqbTnhTEvCs0oJICqwYCHIAAHBUERCJY/YpQrCWuCX+
+R0MK3hwZ0FMG0RLEaBniw00dXKMYePGSJwYLIwZaChZJYhBNKSAHAADHSwUyGYj6EGQJgScFb+JP
+IbzJ16JCKwTRioON+T0fMiW4JjGYWoT4ZoTgKZACO5WgmSEHAABHEwEpyIDXrXCKENikwDu0OFTa
+6EcrDh5aCq4lMaikBh+7AX1uEoKFemyu5KB3EoMOOQAAKAnBEEhBlgxMKSjMNsuz3W7fTQpgUwOb
+DkRCoIsLs5TgoaXgWsTAW5nQyb9dDPWL592IgL6dFRMD5AAAoC0EkQSIGVA9GagKwUoN4llK0Drs
+0kMrBGuTWoy/r5ASXHdi0JkXXadeUL0a8HUyYG+jFQkRY7Jg5UAQBAB4ICloJQGeBLRkwDas85Ye
+ekLw0RAAmwxkQmCnDaIVB0jBFYqB9+IcX2TjdMDSCIKWhKliMDiCQHoAAI8mBZUagagjoa0diBKC
+lbTrCDwp+EhkYCn+KgMtBF4744dfcXBrYhAVIo4nuJPPzYusCPSBFHTOv6OP2e7WTj2QHpz3iqUK
+5wLgeClBazmhHfy35grcykCWEKzMgB5JQSsVWAZCoH+HrI6AlODGEgN9orZqILBioIVgVpCCVjym
+5YD04PwyUHlzds7Pck4ADk8JtuZCLJoS8CTAqx+IVhpESYGXHCwDIYjSAW/KIFt+iBDckBhE3RC1
+HNjkwLZAtilBZZ5slAMhPTibEERVz5kQeK2tOScA+8lBJAQ2jq8eWUpgk4JIEJZFGfBWGWyDz/bK
+5wzcQGLQOWJgkwPb7rgrioG3OcZ291yMUtBKDxiM9hOCoXgbyYE3NcQ5AZj+Poy6D0Z1Aevg63Xw
+/aX4RYaRJNiagWVDBqwQRFMGCMGdiIF3ArdmIIhEoCIEnmEu1P2xkHEI0gMGo8OEIKt+9s59dJ6z
+c8J5AYjff9GWxlH0vwwG7OxYBnJQ/bu1cGzE389gK7UGRQjBnYiBfUHreoPN7gXjDRqRGLTmzJ7N
+C02vchgknqZAEKYJQTSlExl+F8hglhDZWgTOy3HkvAXP821IQbaTbbZSwF7dZ5KwTARhlfz5lgxU
+0wFSgjsWg6jewF5JSkMIst7cdh5tbLc8ysFWPq96qAjCI35IDsUPo0G+TuF45u+lBV49iXdOBqE2
+5Jgi0PpgpSj0Ns6td5G0Fn/nQtte2FsquCykB63vaxHwZCBKB7aFZAAhuPPEoEvEoJUyRJFZVDSj
+X5Rem+VZcMUaDUb3/CFZ2Xs9qu3YBLfW/D0hsKtQeidNoFDxeOfR+15XkASe5+s8t/o9qKUg2q3w
+zRGETAzW0q5DWCcysBV/ZUF1hQFC8ABi4J3oUQ42BTPOpMB7Qa9NemA3aBoThMERBO/DsBN/zvxe
+rihb0waVXdWiDU20eM2cYy5fl652zp8l2Wmfz0oxaPS8dcFjiNh1pQVbRwp0q/k/g/8vc/ze3Wo5
+8PYhiAZ974je99XagaEgtPAAYuCd+O2E2Myrus2qZ1+NHKyVIHhNlbJCyMH54GxV3l+jAEhxEGnt
+u+41QLFJjX7z274VY4KjZW2enBOSnZrYRUWh9nv29ZoVhJIeXJf4Dc5F0tIkBX8k4Od/jx+7Wy0I
+oxy09iNYO+/1TVEESAcQg8kv8q4gB1nBoZcWRIU0f+6/7I4nIwh6MOobgtCZ371LZOBUxV7DkT5c
+KjKQ9U6Pkhpv5zMtBloKvJ01vbbYfSIJ1WTnVoVhH7GrHp4UeIWh3nOLHJz/NRBdJHnb2Wsp+MeR
+A50YjJ+b0TLCQ0WgtdQQIUAMSnIwSG1eO+vIpStvvylReN4d3tSCjrPtANQHV1TVq6mu+OY/1UDS
+ippbUwZbae+5rsVM74Cmp2p0UjCegydzPhaJIIy3W/GLR72Ba4qwdRd4Hxxy5eidx23jNhIDr8mY
+/f6AHFz0MzNahaClQIvBP0oMRjn47YjB+PdEIhA1HZqyqoDpAsTgaMlBdOXa2gfcLsl5VcmBloMn
++VqYWLlSbUlCa0DqjvgcHjKITBUCL6Hxupzpqw5PDJ7M8Wy+zgRhNvGcTBG2KR9W3R7nZN9zOlUI
+ssMTg2jPEv1cb5GDi6YFkqQFtuBwFAMvNRjFYHzfeilfawVBSwRIBxCDk8pB1thoI7WtP/X63Rd1
+RHJgB6HWQNRqzrRvinDsdKBSUJjtvR49z9HyJ50YyO55mxsxeHaOpyRFaE399HsK2z7naDjROWt9
+oFYTNa9P/tYkc1YK7Dbour24JwdwvqQgSkztSoRf8nkqQR+/jBjYTYumTg1UZAAhQAyOKgdDQwxs
+ahBt7vHnDfNtd/u6O3TNwbP8G2nPk0GoWodQFYRji8HU/dgrqwxaKUG0r/rKJAZaDBZGDF7MrZWE
+RUPequckOx+nSnqmJjpTk57qShG7hMwrCNXFoAvxCxWtFCAIp08LrBxEjYz0ssSfwaHrC5bmfTql
+4VCleBAZQAyOLgf2w0caV0bevPdHIAfvJjV4lvo8tycJWYogye0hclBdntYaSLKEoPWcajF4k887
+qVUSg2dHDF4cQWjJmz03rVRHDjg3xxCDffabOFTqbDGZLQi1SY4VCHEEQYQphVNLQaXgUL8Hf8vX
+ZYrRaoTxfR1JQSQByABicDFD1slBF4jBZqIYeInBs3xerZDNcWdTDPsOSIcONlOq0rcFIdiIv6ta
+lBS8i99NzSYGusZgfG6fjRy8OHLgyZtODxZBstNNSBCyqYdDU57qSpDovrd7XqUOJOrtEa0UWSgB
+sz/nFSrax5CD00mBV1s1ntMPJy3IhEAXHHpTCPssKUQGEIOLpAci+dRCdJVk58FHq34Nrkyj5MBK
+QjbF0DUkwQ5AxxCD1lVlKyHYiL/V6tJIlq0psFKg04JMDOZKDJ6CxCCSg2epFShmwtY6L8cSuSkC
+J1Lbg8LrOOn1k4j612+cc6ITnBf1c9E+FzY1QA5OmxTYzzktBe9GCrxDpwS2mZEnBYgAYnAzcjAk
+yUE0reAVIj7v3iR20PEq458kX2sfTS94V6t9Qw4qA4539RlVpkfTBpuGTNlBpVLQ+Z586OhBqDNi
+4BUgvkg8teCdq6mrFzJB2HfFyRQpyApAh4nnsdXoy+vrYc+JTgtexJ8CkkSYkIPTSkGr2PA9SQs8
+KbDp0SZJChABxOCq3yhikoNOpnVE1APb8+7NZOevPSk4RA72mV449KqiUkfgdS30YucoLfAEweu3
+Pv7ddq+EWSIHTyYd8CQhqjuo9D6IJKFviMI+KU+W6myT8+Wdv6FwDlfB693raqd7S+j05tVcRXpi
+II3XLnJwmqRgHYjBb/nc7viXSQreA2H3potYVogY3EV60CrE8ubjonXz3hz2odMKFUE4phi01rFH
+1eqrhhh4A82H+I2N7NWIt4mSVwE/PtfvEhcmVpc1zqTdk6J1jloy5yU9UezakrdoZ8ptMe3xkp7o
+/Ix/VtS5GIXsw4iBFJ+DGXJwEimw53mZTB/YuoJKTUFlzwJADG5KDrwEoW9MLSx2b5CFGoAWjgws
+zGDjrVaI+vvPigNP66qrNYUgB0hBVmjoiYHXbtp+f12IKKM1854gRD0OnoPpBC81aCUH2RLUrHBx
+SmIwdatqTwQqdSGrhhisnEFf1xeM0wg2LeikvSQXOTiPFOgVCFoI9FJEr64gWpbYmkIAxOCm3kRe
+etBJXpQ437055s7gvph4eINPJTXoGx+u+8TTrVUH0ZVmtiyxekSbJ21NWmAHmfE5Wpnnb6FSnUWQ
+6Hj1IBUxsOdm1pCDyqZa+6Y6U0SgMoWwTlIe/VjUV+J5YloQ/d91G2X7PkUQau9l76LG1hRYKfDk
+wOtsmBUaIgWIwV2mB970Qm/eZDP1IToXf4e/eSAN82DgyZYwtlYrSOODNvv/e3PW0Xy0d7UZLW9b
+i78Pe7QN6ya4EsmWunW7n+13f3ZmRGHpyFhU+6Fv7TnyhC0ShJmTJETJwb5ioJ+XTSJv0WOtc7dM
+Ep+oRfUoBlnRYd8QA68JEulB7bUhkjdv86YPtAiM3Q1tweG7xMWG1BMgBg+VHnjTC1YQ9NXqzAwe
+cyfinicJQSQF1TqDSAwqUwlT+uRvGnLgDTTVvdczIfA659nivt6RBC0HVs6eJqQ5s0Zi0EoRukZq
+0DpXWV1BSwCyn2lJXbbb5cbE/3P5XH8wFKYRstfiTP6d1mttbsXUQZwUrMz0wVsgBD+CtMBukLR2
+UjyEADF4GEEYxN8qeas+6DdmAFg5A8U8EYeZ1FYkTGnVe4yphGpUnQnClL3Xvd3WWh88eqDYGmGy
+grAKxGwR3GZSkE0hzBpTC1Pi9CnnpyIHWXKgP/Aryc7GvEfGxMBbiRCtzsj+jwv5ureCMLVQEsZN
+Qwp0UvDDkYKfaorhXb5ujuR1NSQtQAweMkEYnCtzbzDqCoPGLHisKgSHFLJVrzqm7LAXScJW9tt7
+vVrIZHfmG5zzslHP6do83/Mk2fGkrVJXMCXpkYliIBMTnW3ynE9NfuyytG0gBnZzJS/dqYrPXN3X
+z+ejCkLWzyJaRRVJgRYCvZ2ylxbotuStJkaAGDyEIHQSLx2zg5H+0F83BvhqwVon7eVvciQxEGl3
+yZsiCttgauDQvdez82AThK26b9Od6hHVDbTO66EFo/sWiGYCNjX9yaZ5NDNn0PCkIBOD1k580dTC
+vQtCa0OzbK8XXVPwZpKCf4wUWDGIphAoOEQMkIMkPYhShC6IT70lbPs2yjmGFEyVg0oDnW3jQ36f
+ndayD55M3IYg2dHpQZ9c7VfTm6l9DY65KqEiaq3zU52SiK4UdTLjSYEkQlCVl0UiB/bfuBdBGArJ
+ildPUJGCH0YItBRU90FovTcBMXgYQYgGo0HiXvmZLFQG/0O2Yz70aqR1bAv39917fZjw+2fiFiU7
+m8IA3xI2789XJG+K0GWV563uhsPE220x4REjxr3kOyh2QULgzY3rwe7ZyMFW/N0vvffgrQpCa1+M
+rcT1BHbTN7tL4k8jBVoOvCmEViMjpAAxgGQwkuDDKNtYp7L5TqXf/j5b+g4TBiApDu5TJODY261m
+4lZJdvog4WkJW/bnvD8vsl9NiPccttKcLPGp7qcwFAeDYYIUiOTbPEdTF1v5twZkq+RgCATBey10
+V/6ZUhWCqGtltCTRKzb8If4SRTuF0Fo6DIgBTByMhsaA3h3w/X2loCIHIu191Cv3Rc6/93pL3Dqp
+TQFNkbqumPrYczlV4lpCNjWpqR7Z4N9NGDAqm5ZFS16fVWpg5aCXeBVRl7weLiELw8RkKFqF4tUT
+eG2OxymCH5IvTbSrELK04NjvWUAM7l4SqmmCSG1L3ooQdEf+/Vtx5pTvVSTkGpOdlrC1tliubr0c
+ncMpqU5r4D+m4HnPrf4/rhtSMCSJQasXxvPu1jafypaFRjVBU1+H3R6D/RThi87rVmp7t3hS4PUr
+0EIQ9StYid/y+FzvXUAMHjZNiGThUAk4JDGYKgtTEoDhCs+Fd072EbbqY1NTnqocVAb+Y0le9vuN
+qxU2DTHItny2nTJtgyW72ZW3pDRKbTxJOOXgv08yV90K3vYosIWGvxwx0H0K7AZJuu11tjQRKUAM
+4EJpwjDhA6s70e9Z+d6w5993b8I2RST2PW+teejW4D4l0ZkidvZ53B6QFmS7c46H3RFzXkgPWl1C
+93nfHfI+qhSURimB7k+QJQW/nHRANy96U0KhexVEm5chBIAYnFEUsg8mKXxgDWf6HU/xZ25Z2FoD
+/RQR6PZ4TocDvz6W3A2JHETTGa2Bz9vA6c8A+Lo7lvJ18ysrCHrJaWW56CH1OlMTgtaupnajK+95
+0SsP3uRrsaF3/JZ4G2U2SALE4AZkIftwGq7sd3xEYbtEynPsVOdY53coJAdTCulWwSD4oQRBb51t
+N78au1ZObUt9jNqdygqDSmGhlxKszPNgpeC3EoBMCGyRYVRTgBQAYnCD0gCXF7ZLpTzXluq05KC1
+Ft+7Mv6Qr5H5eGvlwG6KFe1BUtmddN/eINWCwlYdgSdKS0cK3tWgb8VAH1YI7NTBWvImVnwGwUFX
+NABwuffPcEX/d28Jpx6o7TbYL7sB/lUd39Txqm7H48WRA68wccr0wr5yUFnqmzWU0qsyVhJPHdiO
+hm+OHPw23x//jC4wXMnXnhEDUgCIAQCcWg5EvnaH1JtUaUEYB/gXNfB7QqDF4EUJwvh3tLbPPvZu
+pZ4YVDpVZrUEts7iQ131WzGwgvAun+sIoloCr3mRIAWAGADAOdMDTw60IOgB/sWRhFfz2EuQHNi6
+A28L7albYlfqfewVt7cZWVZ4qesJvKTg3Qz8b44M6CkD27DIkwJSAkAMAOCicmC3J58bQXgyCcKz
+kYAXRwpexJ9SqMrBIRtdiUzbwtzb6jqqKdBpgZUDe3yYhGBphGBtkgqmDgAxAICLy4GIv3HVLBEE
+KwnPgRBYMfAKEqfKwaFisJW8yDAqNIxWZLybW08GPCHw9p5g6gAQAwC4is8Ub2qhJQhekvDUkIJI
+DOaSTyn0RxIDLynYFtOCTA6WQTIwRQiynU0BEAMAuEh64G08NUsEQR9PTqJghWAfMYimE6LPRa/o
+sCoGtrbAdnu0crB0UgHbMtoKwUbiDbYQAkAMAODq5EDE37raLm/MJGERyIDuiphNJcxkWhFilBhM
+KTjM9ohYBZKwKsiAV1i4lfbGWACIAQBczWeMHnz7JEGIJGFuUoFFIAStGoPeSIrsKQZZv4LWjpJ2
+8yjvfiYDG+fft78fUgCIAQDclCBkNQh2qePMGfjngQy0pKCX6f0MsqmESAyy5CDbdnptZGIT/N3R
+dtwIASAGAHBznzmtGgRPEGZOojBLZGBm/o5TLlesJgebIEmIDisCrRoChAAQAwC4+fQgSxE6Z3Dv
+5eveCN79PkgKotUIU8VAJO946AmCV5y4NRKwKchAth03AGIAAHclCBLIQZcM+P0EGdg3LajKQSQI
+g+TTAttAMFrJAEIAiAEAPJwgdA1ZyG6zhkbH3ithKIhCNPBXkgGEABADAHjYz6Noq+SuIQxdIR3I
+koLKXglZcnDoIZL3IEAIADEAAFKERBKkKACVmoKumBZkciCNQT5LA4YknQBADACAz6iCMOx7e8jn
+4NAQhJY0tP4MQgCIAQDAHp9X3cT7rc+9qYnBVFmoJAHIACAGAABH/Pw6lghMTQ1a3xv2FA4AxAAA
+4ISfZ6f43BtO9LMAiAEAwJ18xiEAAAAAAAAAAABwJ/w/AQYAuGFQ+UyZzQYAAAAASUVORK5CYII=" transform="matrix(1 0 0 1 391 57)">
+      </image>
+      <g>
+
+            <image overflow="visible" opacity="0.75" width="490" height="335" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeoAAAFPCAYAAACCvI1nAAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAABB39JREFUeNrsvd2SJMW17+nL3SMi
+P7u6gGqQTIw0sr2xOWD7Shdzc8y2HuDc8grzGsBrnFfgdh6gt9nYmJ0LXW2DY8aWybYGHQko6Oqi
+KiszI8J9zX8t94iMrK6GBgGiu90h2yO/IiOzIvzn/+Xrw5jSSiuttNJKK6200korrbTSSivtuzcq
+P0Fppf2jrz0+6r7/no4uZy4/cWmlvRjNl5+gtNJ+CiDzN6JTnvrggw++18T5PX6P6Uk20/EWFYCX
+VlpR1KWVVq6np0IZEH7/gFb996O3P7x1/b07bp1//PDw3L/m/t8Orzx7+/eTT/jwaC/vfPxufu4D
+/Vc/9733+MkjLfAurbQC6tJKe+Gvn1tQHoF8F4zfTQAGeH+Pe3/9ZJ2e+1169uJP87uvx3dy/9Hd
+B3H62206gj+k+79864ofZrAnoH94J8SfAPgB3gXcpZVWQF1aaS8GmN8fzdXvTaB8APJbExgPIH5j
+9Wf0/2yuPv8Lmd/8xmzO/0a/wuObi5rMLw/73l58def1OT999XAEfzVmedryX7C5PPsFm//8T7N+
+/Vd4/j/MZ9e/5hHkGeKfAOK3AZ7gndV3AXdppRVQl1bacw3niWIewHz+8dkRlC9OByDXNIXx6bym
+BOCKdrNHtL6qyLxmzP7K0yuvoL/2+nxbXaG//y2H9djU3VqPqln1/OgR+nXP5ktjrtYdz3av8Py0
+0+cvti1PIf7ZdZsAfpGU+AHe5zwF95HiLtAurbQC6tJK+9ldG8zHcH4PcP5Q4AzFfPaQFMxZKYtK
+vvp8Tptlk9QxoLytK1pfeto1F7SvPC0B4rZyNL+51r7zjmY76W+oR79crUy/25JZGtPv7Tdem76J
+bDboZ3PeXF+jD1z1C95pH7juAm8XK+03AHnT9Tzbn/LVSc/ztuPlNqvwzZ7Xr29Z1PegvAXcZ+dJ
+cb/zLqD9gaxzfzCBdlnbLq20AurSSvsZqOdk1k7KeaqaRTFff/Znen2dwCxKWVTyeiZQduT311aB
+jNvmq62dKZQtNQDzDgSunaUe923f2tBaqnA/uD3J9mw2M33XUnQtPnv2lMPcGRtq9lXNu93OuDqy
+Cw13AT22o6+j7yO3uD8D0fe9wDvyDtBevjqP2y6BvG9WcbYPfLXrVX2r8ga4P7/a8uoNgBuKe6q2
+E7QnSruo7NJKK6AurbR/jHoezNoH5Sxwnqrm2e7Krme/GsF83W2tgNn1td3O9tb1lQJ5B/q64K3A
+uK06a6O3YDS1obcV+i4G3G8oYNvuttbUtQk9kbe9XpsR26bOR9kaY3060D56drLdtibO5tFF5j7u
+ubIudtiunY9gM0fbx7qrokA8uD7OQHIBePBdnO+aGHyr4F5V83gA91+gzNcxqe1kKh+gPSrtwTx+
+bBovwC6ttALq0kr7cQB9Wz2/9QuB85+gnFejcp7tlrbqruz+F56qfWMd4OzmtbXd3u4AZtt4yze9
+s3UHieytTVLZdlVveY+NiPs+AJ3WEgANGltHRD0H7UPEEwA2B8DZe6jmcOf1GZ1j0/eGHEAMGDvg
+PzCzJ6c9iB0ZwPYWfe+w1xCpcaHqvEjvqNQGtGNbRVr4AMkdZwB3rADubRsDoN01+yjm8u5yHR9v
+/z9+tV7Fz1+H0r7+9QTaE5Vd1rJLK62AurTSfjRA57Xn87OziXqu6bPrczso58vVlRU4R26dqGXX
+tDaa2iUwA9AmONGsglECbxl9ZTwkdtomBs9Z+mj1sR7bgmXcB7IV0ASkMjrsmCKlhWAmgfWQlwhw
+ZqcHblnUMp4WMAPUCuzIkfFu0DtiEhAYTJb7FWEbOyeTHutMH3Qbb8Oe8PEO90HwtldwW9OGsK+j
+qO4e4KbTKjR/A7SrTRyU9mb5IAqwJRTso4nKHteyC7BLK62AurTSfihAvwNA/3W9pk//3y+sqOe6
+vbbb3/xvFM+3rlpCNXcAtOlByJkT1dzvb3xtKidwZvTBsq8AYzbOhb6FFobkrRygLVSF/sV9w/I8
+A9RktZclar0vsCZrLAAO5DIZEkpLzxnWVhgrSlqYL18CbCbsBK9OPd6BJwFlAXWM3lDAFt6EnlJv
+AOtgggIaewjUhdDjvvN1T+g7PO4iYbtTaLfoFeLG474PYdtFe68O3WYfT+pt7Ofr2K6u4norjmjX
+UNm/5U/+BpUta9kF2KWVVkBdWml/P6ANAP1QAd188YW9mgPQ12vrt1f2cjW3fNE5prlbAtDgl+N5
+7VzLnhvvXMde4Gz73BP7GEzqQTYndudoPHALKWwdcO2ktwpuSgAP8phxSUCrNhajN24Q5KKVBdB4
+kjOkxy8CWEM8J1Ut6pnF2A1QizQ3cp+hkk3AbhKQDTS0gNrEgHva4/W9tSKrY5AZSJT7LvXOkfbU
+9qH31Ht8eYG2bxa9KG1rfXBUh3DTxr7Zxe4yqew3VmdxXMt+OrALrEsrrYC6tNKeXUELoD+7vq/m
+7epkaf1+BrnZukE9exc9GwDaRt+GtnK28iZ2lSXv+2gqwA73TWW4ryI5gBr3IbGBVg9keu2trCSj
+B6iNZQBc4A1AsxF5rNAW/AqwjbCWpAnRAGn5h/i40gaL0AbWjdi8jehpvGoAtNzUVg4lbRTY+Pze
+RAKso6x8y+o15hbo8bj0+IW6iN4yBDZ5bPfa44A7AXaIXV/bugsAdqhaBbeo7C3tVWlbusFnVEHW
+snezzZFZ/AjY75lpaFcBdmmlfYdWinKU9oJOQFOY1Qjot9+m84cP6a3f/pa+AqAvzhsA2tn1SbRx
+UzvaW7v1ez/nxkXnvYd6bjuq3Kz1HKmyxlVsYgUU1uyowgdUMYZawAwGVyS9sbieYgUig2cB7zFe
+fLxAX6jyCIiTA8xdAjQ0r0Ja3ccAaSPr09pH4bNR+zfpN+GkqvG0rEkrrqPRbVZDOT4U7wSs7QHW
+4pIGUAPCwYhyFjhDfuOYekC8xzF2+D49Pr/DZwHcrjOyfE1yn1pI785F7iKgDcHe4X2dDa7ThWzn
+unnf9H1je7uZh3YGJb7Gj7GxMbhX8NZLat48i2enc37n7Pfxo7dzvnFxOkvWACrALq20oqhLe2mb
+iE1zFGY1OIl9uv/Cvv4v/4Xq669sH3cuPgKLThZuAW61e/bezfw+7is3rz0FgLjta+OrCnyrnaEa
+zMONaoC3NtZUsg0U6ja4C2UdKwU3II6D8ExWUo15VdRQ09JzUtBOqAu0qukbxyxKWteohbaKZzEW
+C7dZFrBTiwprWZWOyVaALbw46hq1KmpKytri6JPCDqTQFiWdevw0PXFED6UN+IqiFjjjpWnb2Bbi
+G7C2LT6ijcbhft+Rl8Du2AL7Hb5vhz11bLkzbtZ1YdfXCu1tuGYfiKtg4zyIwhaT+P7BZfzkKnuJ
+F3N4aaUVUJf2Ep/LEzO3KugxzGpOy80Xtn5trYAWE/duG/xiPXOtC576bSVeYkbgbABnV1WR+9qG
+2EQFNNXgY0MxNuy8gjpiGyCUnKA1PhmgthXAK9te1DWLGdyQZ72fzN2grDqUgbjJ5C1wBhlFReN9
+avZOLmK6Jdv0xBWqelS1tJrATYK0GMFxqDgC4XmCdsAeFdS4D5Ur5nACpA0AzdqzgDmbv/FYi20F
+NHYg2Va0h97fK7ADt87aPSisALcAuGyzAhvv76C+HXcC7A2A3czv99ZugqxhuzffCp//+//kN5sH
+cQzr+vhjfv8401kBdmmlFVCX9vKo6OQo9tH5A6uAbtfWn17Z3qydrEG3nn2VFTQQW8V9B+VcV32/
+a1xlAeYKYI4NCajJNqAmoAwwBzMDlBTaCu8ofQI1CaiNrFez9ng8ARpwxrElUGc4D+vSAufsBW4V
+0Lo8LUraqNlbWHz3RUusNnDWqcnEBE7q+a3QzibwEdpGTOCAsnifCbAl1ksVNXUSeX0AtWnF9I03
+Aca0x/72HAFnABvv3UPC7630DGjjPc7bve247aG2j4Dd215M4rPe9d7MQz/fxvbLq5jWr/8fvjj9
+v+I7H5tD0pSirksrrYC6tBeV0Qlmo4rOZu7mzcFRbGmj3bp79xdud9P7ykW/C7sKWKsa31SimHsK
+jahnhTPAHAFmoG+mgGaeAVzaGwG0PAZAQ2nWAmk1fyclXeF1ALKAmsSpzAO94jTmE5hFUUPjRpNh
+raHQVkU1i+lbdKXAWVelabw2+RasaYSZvJR1CdskaAusWSK0RGUPyhqqOoHbqBe4rE/juydoGwE0
+QI0es4UuWgKsYyeKGTvZYy8tK6BVVeNGO+wKkOY9PmuHQ9Ntx2EfnQXQ3V7M49ZUrXG7jv2868K2
+xw/c71YA9/UWx9GEN1aP4/7Toq5LK62AurQX/9wVPTlR0acXf7C3zdwxLl29Db71UdedoYOrCMHn
+ja2jmrStgHeEMuA6S1C2M5aeJeE2nrcCb/RsGra2tgppFmeyelTSJKBWz2/sPoVhYTvFT2cFLffz
+dTeYvCnhSUQ0J2P2EHiskLb6v7aY/qEMa3WXEw/wJK/VyywB28T8atlWUMvCdoqnTsDGIxnWqrJ7
+UdaisPGZHfbfqsIGrIH6Fh8HMJsdDmSPve4wP9jJfXwu+rgTWAP+uwRvANvHvW1j2zVVy92um7nY
+mXrRXX+9DbMV9WoOD3UYvMMvTn+n6vqwdl1gXVppBdQv9d96Mv7xT3Vm/dDVlpKp+2kq2pi9O1Uz
+99xRf1UJpG01rypuAWcLOIeGetuwA4ijwNjOoglzY+3MCqBD2lZwEymswQ6APIq6rgGmBjCpEqip
+IgE0R12XpuQo5kYVncCcHMaMKumsoJVGYt621mQ+Z1A/47U5pOxkkwivNm8xfydgJ3N45rk6miXK
+mzCoazWDi8OZrlfjF9E1a5bamIA2YE1Q1Apqs8d75AZFzaKwd/gm2yi9MVt8DHq3DRG9tTsTwi5G
+u/cAdoTKtuKE5rjDHrrBHH5hrsI3qutiCi+ttLGV8KwXGcj8TSO8iNEPfrSJ2nucTJl0zGc6Psrv
+DPCJw5hRSEtMtKxFt/UX1oQHdt3s3O7a+6668ZWT89tXlZi3w6aJpqk5xpmYtY0NCmjwcg7OzYnt
+HI/PRT2Dq/OkqknKV6mixv3mAGmbIG0E0iZ5dgPWlB3G8Fpdg05KWvWwxEXbZNoWc7e6ig10pshZ
+JI+Q5rxU/U1/P86cT9pbvMiy0laVrfnLdEeye91hTCLdJGUt8KYUcy3gxmShZ05e4RKKhTeJgxnU
+tUlmcJPWqBXYoqgNbfEJCdTGbjFJmDkiwNtsrXU1PmYX2FbG4XdhifHi1jXB+T13Hdhddb6frSLt
+w4PQ1ld0dv4gvnNmIv6m8rc17+s34xLGVVppRVG/uFB+f4Twe2OXaikP7d1x6/zjh+nxf/07juTf
+Unf29u8nR/LhuDXUNc5ThEOpxCe+zTfgaXAYy5nFxNQtIVerNw4qerd97Otq5aF/q6gFIKm2NjSD
+iTsyz50oZefmJoYFdglI42YBatnGDdSb4zASoGV92qjZuxk9vNGTenRzMnPLTeKjWTKNZQ9uzmFX
+g5k79YcbJ6ex/M1Uaqupm+4yRdDt+czhd8tZUaIZgseTnk6wfuKWFXbKZIZj1HAuGlS2OpqZnsbQ
+LepkzVrUNYuTGYBtVFGLGVzM3AnUrLDW/ka2rUUf8JgnWZTe4ndWpe2hrnsSj/HQ4hfr2nCsrq8/
+exzFM1xN4e8axjn8Q5nCj61J/H1GyFKDu7QC6tKe+e/1NCgnIKfyjAcYS5nG32Prr5+sD4//zpiL
+P82f/Nu/k7rrP/9Zn/unbziQP+Z+9etfp6P56MnXnP4WY/cfDve1trHAPBdxOAZ4ovj7t+E9sv1W
+XLRmFjux+08vXe93Lr6ydLUP3rSmCmZfB3a16wFo6xpAeQaxqEAGS/HFeQ5SLcCqhQDaxNSDb4C0
+mUP66vq0OI7htUlJD5Bm9eiu1EmMUtISziZuVi9uQNnSwUGMU5Yxk9y4s7OY/ikpRVgNf9bboViU
+lfUdmDbETyxhZEmes4mwyaaHvOfRPJ62c1hX5Ol6dvIQJ/UQ7ye3FF+tCtukdWtOa9a6Rg1YK6it
+veEYt3j8Bh95Y9ne4Je4iSFs8UMkYFtSYIcY9o5C60zT4lftWsBaQrm8nYXGnYTjuOvvbAr/RosS
+f0dL0nv4bHrqpxR4l1ZAXdpdcFZgZYk8quR3VRX//l8PQJYSjULeNz4DdP/pn83V53/Rx6Vc46/0
+/W+azfzz8e+/vfjq1rnwxjMc2mdH9+anr44D1nL7OrY/NX+R7c1eH5faxn/843+Y1Ru/5gHiv3zr
+d/zQPFRFLukmxzmD1js2R9aA23HRwbUu2hM3q6OvPNRtT1UPFS0KuhdARzdz3AHKBgqZFiDoPFJc
+YI8LEwFqMrqtKnpQ00zi3a1r0iyOY4ZrvC+HXGnolWYbI12HTuvPoqI5K2i8x6YUoKNTWFLJzIOK
+Hv+uNJKU6SmX4jdbv289lJKh3NKNPOh3yv5mOaQrmcFlppDXr/XJMECbJV94uq+e4dlDPDmZAdi6
+Vm2sOpaJCRzv3hIBzgpqKGrmG9zfpG0A24StZwd4h10fwq4GtGX92kNdb7yEc1G/a21v42UYHM3e
+OfsifnT+rSlIB+/4p1uUnmJNGi1Jd7SDZegZrUKl+EhpBdQvN5xHxTwFM5TyWyOUkzqW0owC5AHG
+m3lN24uKdrNHdGYemF1zQfsrT6+8Ysz+2ut72uoK/f1j4N5cP/N5sV2sbg1Mj03drfWxZtXzo0fo
+1z3P9qd8br4ws13LAvSLbcvLs1+w+c//BMClApMo84+MVGGaqu+h3S4/OZq6oaItAE21qWzbN9b6
+RtehoaIphEV0PCdAGb/oAjxc4ostAJmlAhrwxo88l69sWGGu3t+6Do3DFocxAEC8usWXo9KEJRy9
+pv88Nm9bJUhW0QnSoyKeAPnoeqPbl+BBYT97Oyho81TzOCUVPQF4CsKmwUvc5qQpRjW2eLcFVk/x
+EdbidCYmcfUMz8q61bhqBTaUMiUTuGU1f9+YCagj8UZgLY85hTZel1Q4YN3vY+33wH8XAWwxhW9P
+qn53ucHLTsLoFf6uOa57bZ5iVbo1eZXlnLcm1qRhAvvsDefkb387Wob0vPy3AeQfTiaVpSZ3aQXU
+Ly2cB1O2mHsHE7YA63r1Z3r9cwD6N78xp+d/I4VyXdH60tOuceT3n9q28tTeeJpXjjrvaLZzZNYY
+abeWGr+FhMF9IKvf2/E8WCxVD5t+t/3Wc8PPRIhuzM1m8liD8X0jzwXe93Ou5rh/dWV2swVXfeBt
+F3iFBzeAeNMJwDu+2r0CeHe8BLwvRnhDfZv/UBv7P2WLgExAhrhops41FZRtsLoWXTW25sgzUdHW
+8zwA0qKiwVYAOi6NQJrQC5xZvjUD2DQf1PTo2W30Npq5B0CbIbuYLidHp5BODmHZg3tUzApbzg5h
+xyqavhnG9F0vy29ec52Ywc2Ruk4HlfX1wflMYT2BtplmOUvpR6UaVzKHq7rWuGtAG8qaoyjsLcT5
+lkVZA8gkgI7oDW8E2pgFbIzAG885xwA4bTGZ2pGoa64A65vOr2atmMIX0Nj9xZ9i8+b/EfafXh68
+wo+WSo7VslhcBqvSaFHCdXL1+fzImrS5qMn8cjLZnFiTplYh81dcCactq1Vocl5KlTBd2sn1uB9O
+lnMKtEsroH4J4axqIK8pq2KeexIwf7m7srtZTeumApS3CuV59SptvtraGcC8BX0bwLn3lmxobe0s
+9bgF3CrpW9wske9aipLGWXynBLS4b5rm2b/Bfm/6qs7fYGdsqFnuO4zK4srVhcgOtxY3j1vEg76P
+HHwdK+3b+CS8T/nqBFz4/LPRDL+eebpsr2y1bCz25monpu7kMIZv1iikrahoUc+ANMAsKhqkWVnd
+piX4g96KqRtKOiZHMjOEX0FJk8REcz0CeoiJvpVRjNJi6ZGDGB0rZnoqlKcwZv5xrj8ifhrEb8Gb
+B8XNB0N5jscew7s0LSmZrLDF2Uy9wwFsVoczyWgmoVxi/t5L2BbeJevRavLG66GmBdC0wfs2oq4p
+HoDNADaJs1kPWFf9vg5uL6bwVb3u9qHG6XsdDhnNtjxVtEeKeXqNYFJ3CigPFiU5d25bk9rNFSVD
+0v27f8PHj029FMvQhdm0ax6sQnJeztvDpHK97TO4kzVomFAkpf0xj+bxAuzSCqifY0BnJ6lxHfYO
+OIup9zQr5gqATmB+jRyk8Q2A7PvaNieOLIa1HQjsgre27kBibyOgDCJbvMgKpO0WvQDaQjrJU71s
+S0bJykTtE6GGf7+5dWoHlWalIqTUakDvfKouITUVBdjR+ij1HaMValcRnxPrDr3DKwDstr/GIFjH
+BO9LwLvB8yveLoIOau3NtVoFHL6nlKCMy9pJfu7kMOYa9nFm2cyjmLEBZWt5yQpmswSDVgnSYvaO
+uBHgndalB69uyTymzmIacpUBTSntp3pyJyjbUT0nE7fJwD6Cs5mm/aQfGcjfF+BHqJg8Ril/+JA6
+hSmFdaU0pSZ5ikt2swxsCeciSZJiUurRwQwuXuGkzmNGlbURODNtQKtr7GLDVnrexEgAttsYZ25s
+VtdqCg9+7xaxbR9TP5tPY65Tzevp0Q+KWdTy9BpZAspXuD6kvkqr587eilVJrEjL1SpZjG5Zkw5W
+oTmmFBu1GG3MtfF94Kpf8A4TyuWrc51Y1t2X3DfzeLXv+HS+jrqUMynxKUr7o4nKLoVISiugfm5a
+zkn9hHp+10hu6r/eWoeVgcdvoZybX0A1X1u3qO2m3UI3VpavoY+b1gqc2QQnULaQyrzfOgxIQmHA
+Gffb6BKVA/BorZPM1diO4g2F4VZgLTknbQhpum+TCHyWAPt+OIli0mPROc07LZAOTqtL4B+gOoDH
+hN5G3ZbHYh+g0qC1AW9L0h/DW1S3qPDhs8QikOpEBycFNCQ/d6zF3C0OYxJOFXQNGp+xFAWN7ZUZ
+II0eMNZ16cFpLMVIc4Pj1bzdo6lbs4pNAE0Z0EcKenT+ugPOPyMwPwu4j5ywpkqbB6CMt0FZj3nE
+SWpda4azw9o1BCtetycxrwisTXIuw+tlnXqDydI1ftlr7GWD8+4aP/C14XBD1m5iT1sH1vIu7EVd
+H3uFz0M328dBzaopWxXzV1DMNY3XCOCMx63rK9xaXDs4+bNFqQ09LhFSa5JcIumcfRLUNp93vcwr
+1SrEXDsf5Xyc4QE5OYNOLDvMGQHu86+4q+axrbdRoN2uXo3r7f+E0r5mVdmlLndpBdTPoXlb44AP
+6nmAs5i1pQTjBeC8zgOPFJEQJWkBZwwZTmBlRSkDWKy3KvdRs2GRA5+N0/vc4z54TfhXtjEoWQNI
+E9tUAAIaV7JfWN0EqB0YFcPhnHDu6d8qhHEzWjmEHjtyLIG5VtUYdi2gpiilkzGcQ3N7qLGAT9JB
+XmYGVm8ivSHQAkm9qt5HVd7oXYV9qbm8Jd/NqcXo6u3OAxeao1uzijk3w2cv8JUAaKMmblXRhlYC
+aFHWmDAso5i9Lc1B+xwjndeijTmoaGbPg6PYLUCP6pnTKvSRWft5gvN3gTbzVGXfAWyTUpJGUdgp
+Z3iCtXiGJ49wCd/CHhKsk1MZYA0444Zz9Dpt87WYwnGWAtZmi78t1HivcdctYF33Oy3wYakONai5
+aXs90OWglgHndI3scY2EfH3Urq06TFxloooTX07+mKxJOMe1r2ucQn2yJk2tRApptQZVOA2ZK5yE
+43kJYFcd5pUyycSk0hof4j717l4dwk0b+6td7KpN3M3WcbACvHP2dvzo3GSFfZTbvMC6tALqn5N5
++y71LGFGsp725W5pqxMxa89UOYevWzeFM2Pg6butr2uPbe/6fu8r9MEKXDAKBYDGJ0A70CuGzpsM
+bIG1ZsmyJP686giloLYQs1EUtUmqWngpXBLk6/a3fEHZrfI6AtZW1bQO7yKlYwI1sAc0s1Z1Shmx
+JBtWDEJq66inPgDxAmx5iA7wxsEM5nNhqQyuYhnALMNHrQtd1Rhk59ZBIQ8e3QwwW+lpJbBWUOe1
+arwmZR7jlNdbdopvCuBzLqaRq1ul3CNPBfSonn9uZu0f9szlic/4qLKfAmz1ENe1ayPmcMDapnVr
+zWaW0o6KKfwm6po1bfDODQucAWn8Qa9kW9S1rF2Lsk7hXJLlLO59hLKe1y1Q2FvTBlGy4qDYbW/U
+jD0s+QzWlnSdRF/LRNX4NGE1g1VJJq1BbDhyIhFjrhgpJWifWomsnreYdIqfBc7DoPFzOCcx6RTb
+UzpHe+3bFj2mk74mPb7txuG+D/beTbC2Ct3lOqa63I/j/sGD47rcRV2XVkD98wL0IQb4T1DPK6jn
+OdTz2opp+7Kdj05SjAFnzs0IZ4dBpweMnQIZDMZcXeBsyXiMIKknJyOVx6iCcQUgo4DXpm2tf4zH
+cyiREx4Dm7JyjUEqWs3DAbSiKZyZDkIxZct6Eti6iyPtJQIaj0UtGCFQBqvFzi2Pk4xzcQC09IAj
+vgIGduigGCDhLYn27zH26WsS0EW+cCrh6L2BptGSkBhdK2N9JZWuJD7aSpISWZceTNy5V7M33zJ3
+m4lXt3pzD85iZoyJfgLQt83b9ILC+VtV9lOBnROmSLIU2+fa15okRcplsniFS/gWwIu3JFO4wNqY
+a7xFHMquBNiA+xU+7jpmWOvadug1QYqU0Kxd3bW7LtDcBTWoyx9QfC6gmqNYlaCk+16uE0hb9Dgd
+cR2A1GoWsloYRYGNU10mqHqeixDG0zyxIolVSAwFMZU+Q2d1ucbY4RwWeS01vENwkcQW1IfY9fUM
+OpsxZQjU98H2deP6G7PD7DIBW5K5tKuruDnPTnGjObzkNi+tgPonbrfrIh8n6RjWnme7K6jnpapn
+NW3Pa1Ctce3+ys9EETgMOBS9xYDTRapk0MFQWMUaxOK+km3SYhCYukNaCqwBTx2YcABe0Ea6zJzi
+fmmo5BST9zKpBzPlMospc1bORAlOZlX9zA3jl1UNogO4juFq+iZRxKOSHmCdyiwyxjTxHgagbfYi
+xjbmCkA1pLOAG9RnHVETHaJWu2AnkxIMuLWoYnUg4yiJTBaipPEZUNJi/uZlCsGaxEmrw5iuSdc5
+PjrVijZpLVpycQ9x0OZlB/SzAntIniKTs6gZy8dUpLp+zZy8wtPadc5iRtvsCS4e4dkEDnXNdIWT
+Uc3hmGRey/Ng6A2mbjvn4x577TDD65OlpdIDEAdJEmOSTFx7kbHspXwpTndcJ6GSc0WuEZyF3spk
+VWAdxLIktb8lqVy0eeZB0yUd0vNZ3DW0ZqhkcBsnmlE+lEOPb9vjMukE1LgIO9nGHKGVPsS2lyIk
+qcyn68mch1l/f6zLLdnXxBx+fvZFvENdF1iXVkD94xkLp8UinsyiNcQAi3k7xs5FXozquWujGK1V
+OXtbeVHNAmNrvQfTNFwIGMnpK2MKH7JUCaRJt6UWcoZ1iApwKAGwHjBCr7DWtVfsRZbeUhFkBVPO
+Lq0rkdMklpxTWto7TpGYLQY0GVQ0J5bKX/UQTrWRZSTUReo0gONDpBgEIG0znBmqOnkP48AU1iO4
+MThinA2UA4eiQFRM9xiAwdeKQ9BSlEN2MUliArWzwCGpt7fCmXmRC2tIvm716tb0n2YScjWWncx5
+uZlumbhfYkB/G7DzGrYZ8ocnh/GY/s5jKtLB0SwV9GA1hWcnM9okWBvA2VxTModfsahqcTgTVR0l
+mQrtOPadqX0n6tZqJEFyihQrk0xQh8kszmw5N2qxuqRzxXqtahbzxFWtSqmSmeZYZ/VIUGuSLuVE
++QL6B+fkJonz0GoRE12LZ5lE4mDw9WVNqgvGtlK/G89pHe/AUo/bt7aOLfd4jZjtr3c9u0W3X/ie
+HkNhx3lwb94Lm/Ob4zKfxRRe2lNaqZ71gwE6O4m9beids3cB649tAwVtoKCDe8XW7da5dbR9qFy9
+A4CXlfN750U9Y1CqMBxUznYV97HC2FOx5FEEpL2kriSqwa1avJOttRiASE23VqCdikTgNRiQGJC2
+NilqVYxi8k6QFuUoIkGKR6SUl4I9Qa0Ae1yH1arIKevlkDL5SUhZzVo9It2ogToP3epnZdUPXNNT
+TgduWc+Mur6nkM4hPgxZRB2z6zFKpnVOKQohJnPMOvSoUsUJ2RtkkJXQqUrrR0smMQA5yho0UwI2
+S+gVpSQm1sxwFA1+l0bfYw6WBqlwJbHQlGKgZWjO6T7z0sWY9rOMlweD0Th54UNu8pTeReDHQ5aX
+NNmhITObxpyr9cZissXJmTGV9xSji0vpWIeUrOit/o0EsDjnw9aJNcQCfl3oyVOIeAqnB95WWVn+
+wQXhoYMxscU1EkyNj8nVzWw1TMzQA+Y492Py6E952FkcKURgmyF/W9R6JTYZhcS8RJr0RZdjpLKY
+kTUpspr7HLNQQJkV1NiLeLq3ThK3cNyDzOLZ1rZ7fG7dtKbtXX3Td3FB3azvyJ/f0MZchk/ffBzf
+/PQP5qG54vfN76MWIkkx7FRgXVpR1D+GmXtSLCKZuA9ZtFYk8b9z1+6jr9zMm7CrxEwHdADMpoqd
+FH4INUYpBTL0Xo2BrI4xV22SxzAQkXo7y2vjIaRIIYT9qNnbJnOf4ZTq0kxqI+e0l6KmmZKpNw8J
+lAZem/NOf1ehJQN31AGcB1jLErhWX6SU3cpq/eOopm+FtBU/MfScSytaicftB9O4Khip7qRJN+Jg
+h8bPQ+JaXqffxGgpSnESO+Tr5vlYnpLS75YSmGiebne4EU2qWx3M3Jk75fx+tmlqTpkyTaDCR7nD
+xStcXQ4pFfcQ9cniZBb3qeoWaWpRnHvi/a1OZmICj1Hy2/GNrG1LMhXssFW/Bpnw6UqLOINxUtMy
+ScX1gJNarwud0Mr5ka1NmDXKUpFUO8tLHWpJ0XKjaYJ6FF6XzmWtMKYlQuNgDUoTTEwixyIlLLHj
+OC7eY+awx+t3OOt3qWgJ7aQIiUA7xrCvvNt3e6jtRdPi2W7fbfrZSvIR5UIkkn3tb1f8+/cyrH+Y
+qmGlFVAXFS0qWmoiD2FWUnLx9X/5LxQ+/cTJGnSMS7ffPvbLDGhoyQpIBaDxLwANgtdRKzNRDZ3Q
+QC/WFGODsaLBXL6xVpV0A7RKeswDsNWMK+u0WU3n9WpZtRNYjw5SNpn6MNTkkKOcm5plTTapyaws
+aBgVRkg9y5nBkwE7/zCcCkPwWANZFQkdYm81d3QGsbG9msLVsUzWNGMvj8mgqOZy9WRLoM7TCTus
+v7OWmpTa0FDWUl/apGIaafsuU7euRTtdizZ5bV6/66j8ipn7+5rDx/DDVLVrdDYbJ2u5jOZoCtfi
+HmoKH0pkapy1iTcariXOZjFqgQ95PiVQsS0mqn0+hxSjaiVKpUYlzWslcI5SjtTq5GxwGBR/BLlG
+vE1WJZcmqWoYypO0wwRVvTXU71tMALLigu9gjTpApoxsuQQoJ1O3ANoOYGbaQZHvcOw7iPdt9KQl
+Pk1Ok5pSpfq9lvkErNnHTgqRLE98P1YN+7+fgHUBdWkF1N9HRR+SlUhN5P9uL07/q65D16+JF/cc
+9NlqsYh6x771E0B7U+nqVQUg9xEwjo11vlYPZq2XHBU6uNgBZduoeVce04GHG5PLLdKQ5pIE0moG
+FhCpyVsCUIbCEVJ+cVI8wqWqi6mIRBLSPKmPPDVlfldU86TU4hC6c1jnE9iy1j8eYm8ztDVZRoJ1
+MnmLih5AbYIOlFPbc7ICOLzGJ5M/QKwDsxUoN/hETWCiv4v+TkOt6NGqcEhcMg23KoD+YYA9LIAc
+qevBKzyv8wqsR0UKFSqQs1Kz2myHylt6k/SiRDdSmStBEGCj2Gv8ssz/9GwVi5HxUSdjek2kSW/O
+Mifmb7021KKSzoF0TdxlTTLjOTxYhdKijk42A6elG7X44KzUEDQxdWM7TzpwjJJGVZzldOLBGmLm
+LPqQYsNxPmshEuPsrttvW2vq1pllu2uvFNaSKrX+l3UYYT1OmwusC6hLe0ZGp4H8topu3vzCfnZ9
+X6s51au5nV1HwJl95eZe0lyaMKui6WpvbN3b0Fgo50CaHww3wDnH9WIMm2EISfcNAeJaJEI8lHP2
+rDz4MI3r0upkRmn9jVJNZAFYcpgx6hmTzHxTQCmoiXJBiVTpaYCUtd8PWDJIx5inMsS5FAXnmk0J
+1mJGVHFlE6gHaI+3g8Ie6yKzLhhmpyXdoVoFpBY054pWOVvFNHGJWB2S+f8QemWNGStdTby6i4r+
+cWA9TuLGcpq57nXI5nDJE96ntKMp9ajWtgaw8ZcH6FgrcUlFLqMZzjQeu8ugHCIDxSfbibMYTi9c
+C7bKFpS0PJQnswJqPVfEVwOUjJoYiO62JpmUB51TcbGDVYgnpT9TcRLNc443tzyJF5cEL6mCWKrF
+rZMNMd8Tp3AzdjcBg4ITmKu67vchVHupGhZuuBuV9aeX8cjBrJjAy6VVfoJnNHWPa9Giov9gpzWR
+xcy9u2a/ujd3pr2pdsFCP8+qKqe5pF7UcVQIYx6fEm4EM5dtDDAK5uT4lHJPpxzUWSFmMx7lQSiZ
+81gcylRFH248OOQkT2ZK5m1j8locH8y9wyBljopIHE9IjH2GU2PI8HlsnuPRHD4MdtkManTJOhV6
+SCbxcfDO64DisJPDuTQud6zkNOxYIG2TyVPjaySbmJg9vZq4D3HRKU/3sB55l6m7rEX/qFfMnaZw
+kyIBaJiUSXKUYd16TI6i6UcToBXerE5a2IuYmoP6PAxElb+vOk3yCOrBDD5cJ4dJ3SGZjUZeTSar
+Tzt+VmtQzGvuJhxZBSTHOacc53i9pk0dcpyLV7skduFcQUwSvETJvBbjBqethqbhiG5Mb3fk2t3T
+Yf2neIizLrB+mVvx+n5GU7eo6Ie5BrSoaAMVvVkad2pedbjS/EIyZrU9FHRTiXq2oW964xrby9qz
+mYlCdpLu0oR5BJwhXueypiqOUBCOMxNzBSeOs6S21bNbaiMnSGvs75ikY3CMmiTryJDO69AD1Dib
+9pKJL5m7Dyp6CEPK3OLBqepZh4TDa2lcuR/8v1O8FmWX4FRVkbJKGdasFeURSj45mqXHDr36nuUS
+jIOZPnnDikOcy8BWD/cUKz78JslEngJv9CAlXUUxdf9kl42h0TNcTrvIY1VNGpYd0mRpcOSj7DNh
+c3y7T8s6EvcOCCaYp6WR8TSTuRdnvwP1zUhwtmlNWrLNsaG7JrE6cc3Ty0S/ybmQHCPTYo6uV+vl
+MpT8jGPJT4E1ZRO+qmoyav7Gy2eybCWOjJD8jVy3EkJJJi9Libe7ZMaVRHvYuUSSOYd5CoaOqpZs
+uitebmf8x/1/mP/z7Iwx7ohIGDzBy7lVQF3a3aZuM5q6z84f2LYGpMMDu252bnftfVfdeL+3FYYU
+reZUieMXQBsilDIUs7VuBvLMQQ0AmufWWInvnUtWLTB1huteEnIk87fJZnAoZ1yWcr9Wb+6UoEPW
+2VQxEtlxHVrBHKP2Cc6cQTbWRs5r0MPgSFnkpGisAbY80Pq7iMxpiNYB2QcT4qhOeHhJTpLBWWXr
+2iVLQgkN5cqPDRWbcnQ2DxUjc8RKLjNJmhbVJKc5AXEKO1MVzUONaHsA/K2wq9J+/OvniTCulOzu
+AJwxXl3/Vpwgmjyz1Us7dmph0kxgEr+sqUpzthU1gufJGU8sS5SdDZNTJU8T2hAPVdAoK/J8qtIt
+c1DuYjr38pdIsB5iqtmM6+2U48TxDcTHpBl9J2S9PFl8BNZO8v9prjNHmlBejOlRnUw8TmQ81Vuu
+F+IUHnj1xn3z0fkJn5+Z+L55L5XLTJPqoqoLqEs7MnW/N5i6f2uvPwOg37i04ZevWHPZ+X5b+UWF
+wUBCq5yUR5bwqdD0URJxmJnkoOZe1fIcEFnElMZy6FO2rLQ+nUKJJFYUF7l4Miev7iHkyiQztzrF
+ZCcx5omjWFq3TYPcQaGYQTnfDj9iXZgmpqfL4+9CMX7K3bH20vhYMoPm9eZcSDGvYaejihnqmtVM
+9T8nx6ScAWtIzZoSs0jKCx18TYrcpmzmH1KAEt9t6i5x0T/5ZHc4HSbPWDN6b+V63hNfCkqJSeT8
+FwCKOpX17JAmcUnm6hmSUpW4IQyRNTxxnMCOmfiSbwNuUSdyNOQKGLz9abryYyYJXdI8QyPBppNK
+fGpIPhQ8TeqSwsM0851JDm32kKJWQsNS/Rtj0wJQr4/IgQn5o+3FGZ337RW7asGzxZLdX7/g04s1
+yxgkXuDv83tsDm5vpRVQv9yQHk3dHzykt/5biov2nxp3Zub25qb1QKyfOVcFs6+1JrI1TS/OYD3P
+vPOz0PcLcg6KmRaS4lJ6XFoLY6GmY5TEHPLcjHM4UXImS+FX2WksAdpQqovMqg4OcI6cPVeTWTeN
+c5ppbJKpJJv2xmArzmKS6SkmNJpaLr8nqvnJPabcpEORY5NrgEzLKA6pRUxOQ5r4re/h6SGNaSAm
+JnA+5OW2+fumJBs8jY0uKvoffl1Rto1ME6TEUdke/CaSw5/LKUirDMLks6B7EDu6TYo6OwnyUFCF
+OeUNGKIDEsjTZC6aMT3sndakw6Hy5KCHs2YyqRRlnXMDHNas5Tg7nVxAPbMZrF8ycRDHRjPkM9B0
+9foJTj02JExbZxERrZr52HQU4zxEc/klm9dOuXGA9af/HYLh7agm8GHOWloB9Us6/T9aj1ZT99vn
+tv13XOCvGXv2xsqxa31obyq7pao3AmgxcYcZhpQZwDzrbRAgz8l5KQSxgJpeYszQjFly4xhSFSdR
+0Zycx9SRTGbh2VM1q+hkxhvyUZN6dNuU7now6xo7LRxxSCfGOaXRBMgZ2Al7dqoenrLqxd9/QB7l
+08GyeFgDpKys4gTeo7tY0rvZCekYrRnseac0TkjSwrsxtxzkxhSgxdT987m8nrZuTXndWhPuDJOv
+HIaXQqNyFEDMlhczCdqWv25yMBQ42+xIyVlB61OcJ3DDtUFjetxb5vfjc21AIh1PKocppIhgNcVb
+SS2aJ9QmRV0kFZ1UflqO4YOS5pjOYa0LIgW5KMq/lfOhoz4446JtJaJriTn+Ll5s77M5/TWff/wF
+qQmcRxNAUdUF1C8rpNN69DuA9EfnD+xyYyT9p9u4rZttg++am8rvq7pzvSQjaWK0g4PYIloAWksq
+xgXlqk1GaiAbSWlpFprmkuhQalFNejZDOqloHksuUlp3s2Mu6qlZkLI3d1KNOWfjkL3RjGrBHmBM
+d0CYpvNyeprJ8hnQTPzkiHz4TZ8E+ZAMKj+fV88pV/MYj+BokOQjgX443vTdkvE814lOotwUU/fP
+1BSeYZ0maoP52qQ8NGniKADUVLcpMmDw/s9OiYMVfXCQTNgaC8wo6CldJ1k954Q2wwQ2HluUjqA9
+CtbjE+5wbiZrULIOyNUZtWRs8j5XczuLv4g4NmpSoew7omo+xRWOURDi/c5WinRpDvEoloPAITYu
+2P0iYKAJu7iMs52NLkBV/2LNH51+SOaDj4uqLqB+2SH94QHSZwsbTl5x88vOXz3eVq5pq9C72otH
+dl03oeV59HZOoV+w9QsjachoLKuoFZxwrWotZCPm72jnGIPmQ+y0IU1ikuI9JbuYOMGMcb/pAh9M
+e5S8uHPOZJOqR+dFXDPIDKJb6mCa3/+OvN38gyjoZ4f6CPQJwEfNmwftMXHKQHseTeeZ3scObzzI
+9gOg6UWuE/0CwZpvATKf44PEtqNDYQrny9aWyUrIIX/eCGsTbzlQZkAPKz9MU4sS352B7+jRyXk3
+nJda0XP0sZCdpXzgw2Q6Zz0bzfJpTkLZyj2UAZH8ACGKQxqTeI/3eGFnJd99F/og6cx6CrP+cdzY
+eXxt1sS/LOda6Keo6gLqAukMaWMu3eL8C3dT4feZr/38uqqtdXUbeBYszWwb5hbPSI5Qsm6BvSwp
+0kpM3VIDWWsia41kQDqylGCEkuZ5XovOkE65uikVH5hk0BqSc+jAY4c1PJMepBHOQ+rDqWImfhJS
+bH4e1/Nd4KTBp+1ueB9M5+PAOflaU0vBbUCX8etnD+v8px0sJBncY+lMHq0v6nuhsVLJ8pIgP1kC
+MeZWlr1jK4sdrg26bVH6ZlXKx+csTeYFw7HSUD6DtHL1tBBJ/jyiHGFxcKLUZAJBi9KkBD99ZO4x
+rnTEfW/Jd0Fy30uk1nLe83Xnvjy5F5Z/Laq6gLpAWj27/8dnX9jVG5f2zJwA0q2njivb7WpTc9OL
+RzbR3DpSJzEGpNm6pURSsNQ/NuiZVmOZRZI1aVXXc12PppTMhJNHaKXxlQB01EpXGlLksmOMzYog
+O78cVMERnO8C1M8Fyt8X3lk50+1B8i6BfjAXPJ/fvbTjdWsaJmVTCA5/1MHnbAgSuE1apklJlUM+
+AJpM2ujvnMBSjuXnw0dn34tsHbDRTFPy5qUpnUKkIh/JczymrHuWXB8Nd5jgd464jZFaY10LjLfe
+2K6rYmd6069oHjbnW/fa8k5VXVoB9csFaSmosXrjvkL6cfeoct5WjXP1tuOmts0MUJ45MXMzL6OF
+kja0MjGucLWscEWucPHhMfTj+jRuZFKMdCoSofHRNKT+1HUs9gdAqyfNAGmaOIqZQ5QV03MP5++q
+ur/59eUKfhH+5mPq0VvAPloGiUf1z1O9lskSCI0SnQ6+3BM4/73nyhMVtnhi5TmU+cwL2sMCeVpi
+T/OGlIlPq8hpXvtOzN1sqY1Me4nMwgv2jk3b29iSp7bfcueXvatiY7+8svaN1+oIVU2qqs27bEwx
+f78szRZIHyC9vpJEfo+qe3NAml1trW9qX0lc9IK6ABjzmm24h6vjBBffCVh7AjV9H1fkfVya98nY
+E+z7BBfoPbxnrRAXeMuatTqVZW9va/L6dFqbNkOubnOIB1aHmjQSDTm6aSQ03yrNV1ppz/8EbeLk
+NU1SQzQ6d7Ou+eptKCXO5hB2NSjrw3XyI10jR8fLlGtu5cp04tSmeQ3Sdc06MZfUpg1rauCcQyHq
+RH6Y0GsYp2M7C0QN+ppbW7tF7aXqHkS2q06utHSu+V06hFQYqDC6KOqXENLQzZ7n96qetzWHiIsG
+F1bsF0TVIlBcQfYCvHYlEMbkeI1pvCjqtZE1ajZLzIiX0MWaeUygzKkMY21iquKjCRnSxWuHjEl0
+WFdTU9kTZrtpTuqiIEt78YF9UK3fZQnkyKzNP93xPqGuZW0qUvIF1VjuZA5Qa5rNCVJYUqJ2bFJd
+bjJuJwVIIoe5lsp0bge67zi0VeW4a03v/H5mT+eGLv4019BRY95jU8zfBdQvK6T3+31jXdUEs5+T
+QNpZCbNaQe6uskpeA7xrzN0Ba1bVbKI4kKUwLHEaw8c0uK+m7qFIgBSRSBV86FYGrVuAvh3/W9hc
+2ssO7W9/7c/hOCfY1GvXTuDtU2EPSS2qxWc6XN9trp0+4wToOebyNxgJGszia6C+pijjRu3mTA7q
+2n5585V9Y3VCp5+sdQwr5u+Xp70spu8nvLufCumFA6ShiC0tnLXiLLZWkzeZe5HpBPs6AWZPxPxt
+yN7DfPqePm/kZkRh5+QmcZ6TmgiwU65uzdOdcxmbJ0zct8zbxbRdWmnP1RhzFDLG0/KyUNZjPnIt
+NiLV8dL4kDITYrzRUrdSZU9raltTBfLeUfQRijp8/ZVbNxU9Yf5+9knKxNEtO6jyj3Az09uknGxp
+RVF/O6QPaUGHEKzBu5tnj44hLWZraxTSkcXMTWvQdB0BZFJYR4DbrrG9wkW2UrM3pfCrVJ5S83Rr
+tSsyQ33oDGZJeZBm2sRPy6BVzNullfacWgGGInRmSCc+ZFpzlLKseRN5KMMpMK45CrQlt4JWzGui
+Jj+KNfcSvslVD1pbF9x2Vts5hqjR/P1xNn+nD6ajpICDwOdvOlQpZ/DBDw7R9/i9MYH75ADuCHM7
+fkFp3z7LeuFNaLchLXHSg3e3OI717GoO1SwpaYF0yEpaTN12DbiKA9k9oBbb6A2toKDF23tpdE06
+eXcroFMa0KGSjzvkHD6YucdCEfoXKMk5SivthUP2UIQm11rXalvWiLlb6m5Lve0Ntq/QX+Lqv8BL
+HxHZrzAQfBVMfOSMe8TUX4ZQfe1n4brf0bbt9nv32r32fvhf/avzefjo/JzHetW3mxQVOuBT/03m
+8ml7d9w6//hheu5fv+M3/bfUnb39+8kxfDhuvfPuu2w+GA8qWQJuH+9ROtcC75cP1AJAnLDvTspU
+Ssaxxfl/+pvqvg98UzcK6QhIm1vm7gmkrbkngGZV1eJAJp7cEobFCzbqOKZFNaCYq1xQwx1uQ7nF
+W1Wspk5ipZVW2gs0qg7hZuqGrjnBpQIYR6lhLQ5kvMOlv7FkrjC+fI3nL/AegNokUMf4CO99ZDg+
+9pW/jJ275oZuaL/bcRO7eK/rNufnEWNaPBNYDzAEjz/6cArjdxOAAd/f495fP1mn57LpXJT5E8f+
+Tuqu//xnfe6fbj39x9yvfv3rBNSPnvz6p7/dsvnD4f4v37rihwLzc4H5BOIfv8tPBTgVcL8koM7O
+Y/iODz94aKXAxnJzJmUqnbt5VFF3UjnXNhKCJebuGPvlYO62HO4NkMZ+TrCbe9aKE5l4e+ekJqnQ
+xtyI0xhrKT6NjzbJzO1S8uKUf/iJcoslxWVppb18qtqwVAITVb1Df4MhQkGNgeAxhggFNV78ldFb
+fIQx5yJG87WJeF24ualWy23j+nYffN+4L8L+wYP4y6sEQWm3YTyA+I2VQPefzdXnfyHzm9+Yzfnf
+6Fci6S9qMr88HPD24qtbY9IbT/lqnx3dm5++OsJ0uX0d25+av8j2Zq+Pr1//Ffr/MJ9dJ7ifXmx5
+BPi/DWr8wwm8C7hfFlDndWlxHpN60n+wbX3lpMDGfNZJmcpqt20bijyTOGmBNLtBSbs1Zrr3Rkhj
+W83ehtaUso+l/N0pHrLJt0nFKzOYupOKnq5FFzN3aaW9XKo6JUkdSmJKXu+W1fxNN8xxg/tfY2h4
+jNcA1KSgxju/MjE8ikQXTHxpIl1ZV29o3+5uuGvvV690jbkMFwDh+vUt//GPWfn+0zGMT+c1JQBX
+tJs9ovVVReY1Y/ZXnl55Bf211+fb6gr9/WP43lx/4zi1XaxuAfOxqbu1Ptasen70CP2659n+lM/N
+F2a2e4Xnpx0vty0PEBeAf3bdHsH7E8DbKLzPeQru9+XOAO6XENovJjQm69IShtW8eWL34dJtXO/d
+jiq/7xq7rJoQec7BLn2kJS4I9e62LA5j5kTM3TFySl4yQFqKbnCGtKYFHRKXUM7TnbKMHZu6TVmL
+Lq20l1ZVT8zfqbZ2hwf3GE+2GBSucf8Kr3os69SUIR2lt1DX0V6A85fMPUBdbUy7382bat/1GMjM
+PFzteoXfqIZff8OsLz3tmgvaV56WAHFbORLoSt95R7Od9DfUo1+uVqbfbUnSMfV7O45Ni6Vq4/Tc
+Hc3PJAJ1Y242k8cajJobeS7wvp9zNY+6Ar/D/aoPvO0C14ueBeZ9s4qzfeCrExx/K/B+HfD+NMN7
+y6K8B/O5gHswmQ8m/vfln5cM2i+e13delx5qSsvSs7k+t+vmFTfbPvJ719dxVtW2jzNHNA/BLNhF
+SVgiU8Tk3W3SerSYu9EfIB0lpzfNjRTXMDnsigbHMU41o7VSzi1Tdym3WFppL6u0zjnBx/SmufSm
+LoqlAjwcXSptK0tmGEcs+kieqPcUnDfOeEsRY5fBbRFac2P67SO7ms2juKWJInbrB2beEV37azvb
+zIjxDgswm25vw2yu9+u+tZJcvDILsss97fY3NJvPAOmWrMPcQf1hAe2rlkyzfWrwbt/iuX1nbFXn
+QW2H+zX385qlSrdAuoMKcoD3oo/cYruumuhtxVu/57k18doHXnXzuO0lKOZzxvgcZybw4y97Pj3d
+8sWfWl7We/6Xfwe43/iYIbjYPHyoZv53336bdSldoP2+QJsP9cReUGi/YKBOivV98555+PFDOnv7
+4OHN163vVrZqeldz56Gm+7lztGDN221XkeIab783pP/kaCRGeg3wHiANsIvjmMZBkpq7D45jqT7t
+rfXooqJLK+0lZvQEGUy52ldKjSphmkPaUUmCpDW1yUkNAIrRS9w1FLVn6cn7PpoKjA3hZsuz2lng
+Ngr0ZM/Ndg6kdxRiIBMCYKxerbSjvbXOWwkMjV1rnciIqrfRNlJ1Fx+0tR33GLykJlClEaTR9tTX
+3lQc8vB2V+tMVws6orFRki1WBnthx70kPOduC0gD2HHucUQSqNZE62I0e+Lamdhdx7hwOFpupRI3
+4N3F+cbEvW9jcIHNdh7r1vJi+SA+dn/B/i9jC2h/tf0Vn73dAtrrO6D9AaBtErTJ0IsGbHqhLosx
+Xvq9o3VpFx5VwdW1r6qGqziDUl4QS0pQANoCzMGc4K97grMu5eqWbclAxuL5LQU3Uk5eiXN8EtJq
+8k5OY6lAvCmQLq200nIZT2OSM1lyKIPGxWOQrGYHdG8gBq6Teds8tmQeRfH2NvxI16wjXUQyX4PU
+V5BUN8xhb6lqW9OFuqui7nkORX3dWb+ETghAMW4dYMx7bETc98H2ESNeDNgGtzGI9RzQ1wJ2a20g
+DlLHzxsbgqZ+YBvoaUqun369mMyE0TnWBBG4HxwrrBlkDnuGkI9RtrmPkWoLfRRiZT3uhxhxlwzI
+7PBkW0Va+BD3fZwB3BEKPGwBbsjzTfclFPc8dpfrON923L71alxve13flrXtI/P4sKZ9bBp/7oH9
+4ihqOWfGeOmH9D9WW/tmeGA3buvmj9d+53EmVLamrp/hlJ6bADXtpeKVAay1EtYa00mA2UholoZg
+aZ3p0bv7NqQph1+xzoo1vS8l81aBdGmllXZndk8eSmBySoailrjk1yJmbzyhS2l4WcUm1ta4OtjY
+2L2J7D0Fy84bjclOkIR8rioAGTDmLkIcG+t67Md6MXNDneO+y2pdCpoAjwZ4Zgoi3a18PPQ0RHwE
+d4WbopLjOHYF546/UQjjNmQym9DjzVKOW2uH4b7gGi2GaCvsLOiRAcY4/q6PDl8B3yvIiGmNDx2m
+B3hEFrLxPGYOkFUdz0O87gHuWTD7Lq7Mq6EPeNJ9Hc3pPNqv/1d8DGifCrTrq/gv2y1/ZpJ5/OG/
+PgS03+b3B5WtCVj4uTeL0wtzRWQvb/yh7FlOarJuoqe9rfaub2ah0YQm3tllH3iNM3kdDRS0NScm
+0n0ivs8mVb7SeGmj8dJDyUpZvHkqpMWqVSBdWmmlHY9Kh3hqc0h8IkU5Wjy3w5hxgxdcg3JXlugx
+th9j6LjA23CT2Gp7aThexeg24NkOUrgFivtc3MPEnsg1eDUATc7KWARyQt8aJ3UFXAI/pQkAJgO9
+3oe6lupjNkqaRKsjVlT7NMkwliBt0+g2AfbR1wJ5TToCIxTWWYd8U5HS0Ua5r/ZFBwQr/aWXnclx
+Y4YAUAf0kPV9uh9C34XgfN3LtsDbVdRj7MZzfWihuo1pg4A97LpIKx96qO2u2sX1FZR2tY672SaK
+M9pm+SCKypbQr48mKnt0QHtOgf1iAOWWl7eavDVeOlYztvVN3808IM2uX2KGuoqR71kxeUeBM93H
+r3AfP8UJCbiTI9maBg9vypDW1H7H5u50S4tOBdKllVba00CNQSHyHSFaeHwTDV/hlV8bAbWRUC1+
+DGo+xsjyNVO8ZnYSyiWe4q3ATkGoO5XKAQnEGIogkHuIbSuLxU56q+BO0SiqaSXHg7AYeMWbZcXa
+yg7AUiuSG0rbSPlspuMxjDgBW5l/9LgUHBWRrrXCIyv5xdYtjwPOUoxbvrNAG3Am+c9SH/V3gHqW
+uty4Dzbj6KjHgUFyo8fj2FnvsN11ffCeeujrHto/+ED9LkObBNy+w4yjDt1mH0/qbezn69iuruJa
+VPb1tarsT/52xRLu9TwD+wWAyiSxycOkpk/nWy+hWMvHvt75tqk061izCBxWlvt7bP09Q/E+ZpIC
+aICaJYjwROOlU1WslRlM3lFAzfXBu/sY0qaEX5VWWmnPAGqBFg9lLgXU1myNBjWZayNQ5vi1NaKs
+Na3o10C7PL4hSTnKvMfeenA1iPXZimcZi4HbChm9cQLq4AE+J7WwIZnF4O30uZRrXHOODyGkWsVP
+rM/JGIintaY2qbaOz8IFfB3Bu1CdUoUPVrd2rRIWFdJys5RUdOSAJ4IskUdV0YA0xx5zA4WywFnW
+7zGbwTaN29LL/Rj7nmdV52On0PY19e0O4G5sbwXc1gcHYIebNvbNLnaXG6jsdXxjdRbHteynA/tn
+D+vnfY16UhXL0Fu/XVNrFtafGzszl7714pLo6lhXtW3DzBKATepItsRfaClAtql85RInmWQbQ89S
+rnLI3Z0zjg2QvtPcXSBdWmmlfbukmFSUyhkLk1laawLECriowD1JRTwD2HpW+7QMLezJuiaK91ek
+aL3I82TCBgq9hnOZkNa2xX8L+8PLPD7O2VwUSAQGKaStKmnxOGeFNT5ED0ft3ym0dCjrwWlt1x7Q
+nOsHyctszr2mWV1EMnOelojlQBa/AWmrqhoPB2z3FGOQMp8CZxYgm5RWFcfYY3eYvNgOx9HjzR12
+3LmIx8T5zpnOBdNx4A4iq8OX6PqdOBu5Luy57yvufd+Ln1vY+j10exXcug5rG8PjL28gtTbqNX72
+tpjF1/zQPGT1FpfwLh3Ax6qFP1tg++f91DeTghtffbG14maBv5iLq5mjtq+qtqt5F2emcjOcLwsp
+Q6mQZl6JeVvgjL8TegnTkvCr5DiGE1Bqx1Za8Yayih5CsIrjWGmllfZdDJeUqlmpak33bMpgqP4u
+Wv5SKu9hXJJESp2SUyQqwIvhZW9EfUJNi5nZYiiynMpnYuTx4LVA2Mu2uG1HUdTETt4bk4JO2RJl
+1ZhyaV30pJCGBk9WyQTpaekvGomtG0L4aeErUdOc9KiqapH5SVULrIXrGuOla9Q4/gRr5kFNB+ys
+x1SjUytDhrK1VqwNHZjb4c0dWdvKc/jo1oSYeuauIt8yxQ4/QmcDgB3bPjrXzfum70Vlb+ahnVHv
+1jHUGxDbvYLdXVLz5lk8O53zO2cmQtyljGfqdDbEYv88gU3P9dk/OJAZyeV9cCDrQ1VL9rEgcc+2
+gcQOK42LNnSCk+0+x3iK95/idL2PfeBGJ2LyNlOTt65LU6ojTRon7RKk5XwtkC6ttNKeVU1QEpqy
+vgx4JfO3EYcyAJgl7/cWL9lgSNlIyi+8ZgP43gBqOxaTt6H2sNar4LQqGTiZuUlirQFofIqavrPn
+uBOBoevXMZu8oaBVIGdQK4nVBWxwtJExzeYELc8wAKtpPyrZeYC1uKapiqaox8tDnnPS757M3wJq
+AFtM3JagornH9+0AYjV1Y18ANI+AxpDbpvV5M26D/C1mGth2uEVAHHAXVd6L6oYid7OuC7u+Vmhv
+Qzu/38s6to3zII5nb6weR8mV/smVhHb9/M3hzzFkcDK9nypjDWlCH3954zGDUgeyjq/nbWcXlbdL
+yd9NHE5wJt3HSXSKk+QUJxlgLWvT9oQkbSjFNc7+hZi+FdJW0oOK2Zv9cIIfZxwrkC6ttNKeFdQa
+viSrv6IyFUi4BwCbPbal7KXk67xhLYFJN3jLTtalsd2K8pR131y4PoE6Ff6BQo4+mbUlpItzad1x
+mU7hPKY2VhWtzmdWAa12QTV1Z7M3D2Wk6RvpwAepNCim9PaU3VzX41N+c12n1vSpFoBWJzItThIw
+b5GY8h6P9XxIraq9KmqLyQlDQRuJOcdvwLQXJ7wogMbvor2lvWRNcdbug0IbjwHcss0KbMnMIj7x
+3Amw8UQvjmfWboK3s9CuXo2b85t4iMW+VTb0Z6Sun1fQ3Kmm69ZWbgEV3IeZOJCxd0vMsNbi4c3i
+OEYahnWKed4ro5rW5CaS55tSKJah2ZAeVGepKfNYzt1dIF1aaaV9T1ALuA4mYQUShhJJLyY1qncY
+1HYg3A4jzY4ypMVLXLzF1UlL3g3BKu7XGcKpUp+AWZ3IOI9XycN7MHcnWIvJW7y8bcqKRimVaSY/
+5TF1Gm/8DKhO5vy0m5TXXCzoOV+ymLxjYneyBgiwKavr9BsIrCVqTB3s0ro1JRO4JDjD10ywZoCa
+SHKctsnCwDJ52eMb7UmXBXiPb7YXgOOr7UVtO2/3tuO2h9qeAnvhl92N2YVZzpfez7ex/fIqSljX
+O2dfRAnpeudjM1HXPw9YP6ewOVbTYwYyqGn8fZr+hiU/3gJn6Yod3cumbfHyhoqOr+AEOs1hWRqO
+hT+0JDlZsHiHs2nQ15KrJ60fxVxTukC6tNJK++6SIiHssHYrsFL1yNwn5ZiVNXMyh5NsAy2yVm1S
+mBPlHGeU4p0tsCeR09lRbAwZ1SW67KCWzNusz2tylWzyprybFIY1rJkPY5qGYz/j+CaAjtkanxa2
+OX/f6cRkiCFP5vDkai7fX+B9gLbCWiwNUNgxJmWdfhtV1UbhrOp6L78RPgJgTj0e2+FA9gJxiU8X
+9S3bHtuBAOooicwj1HZs8et07HGrFp293oXdyvbWzcPuchOvV4/jm58+iE+o65+BKfz5BI7GTT+p
+ppd2W+9801hrFyaKyZulOOuJhF/hNMrm7vgK3q5mb5zv9/Q16kzGAuoZmWzyJjNJapLDsAqkSyut
+tO80wk6TnuhKbjZ/UzKBpxrVnZp3JWyLFNqdmruT41VIflvCVaZsqAZzpmbtDOfkxZ0tgLngh8l5
+xZNnmByMtSbzOYP6CRaM0H7KUBf58N1uq+wMak5Vw8aQLU4zgSGVarqlZYCQlwSgqGlYv+7pDjM4
+DrUlgTQDuGoKFzDbnU5yotnpcoFaI8QqESWhzK7rE7wdhz17t+/aBGw7q1pMi7q6t307d/1oDs/q
++hzqely7fs/8w03hz6HXdzqJPnr7Q3rr4rfUrGp6/OXSQk1bTNWcvdHs8pWxocE8dOacmUW2c8xB
+50ZgLNuGxbNbTNwz7E4VNHZZUQ7BUs/IdJrKtZEvDlMgXVpppX1nUWGGteUEMkoIVDdjNwAv5zAR
+xy6tkGE13jit9fKg5rIazuBNVbdoXHt2mo40L9OxxEqnWYKlsRBIUtKRc4TVCOns5W2S7Xo8Vv4W
+fZciU3NdwMH/WwtwJ3WtMdbJdT3ZFPTXUJO4SXHXySOccvYy9UyTdeu8jm+GsC1MYAx1JNAGpPHN
+9iwTmmz2Npo3XZS13WK/uyDLCGy3+Kidd2YbomkwjdlhCrCrvN1FX3lq5akK/7btgpe220uw0IUN
+v3zQm8tLmm+3Yq0Vz/D4vpEQ4A/0kPOE5yeHNT2PJ/5QeMOYD3Gi/2r09Ja1aVHTFdS01JcmZ06i
+OI6xPUX/Cn7kU0qK+v5QZ1piqI06kGnpypx9bKgtPVmXflFrd5dWWmk/9ig7FOc4WqtOZvBs/lUl
+aUKGVDg8nw3nZij2o3vTNecB2ApjZTRnX5rBp2Zy41Fu6M6sGeKk6Q4ePOtQx09syEHoUvpx+tQn
+bwl6yeFMvcN1PTuBO63hh+RoJlYFgppmdcATy0NUJzNZt5a63nmN2iRg43O32NtOksTINj5gi/mA
+OOpt8Z0BbdqRx2Mc95Hd3sd+70zdSqw25FrX9gd13biTsH9wOfEM/8eZwun5O+VZs5CZhw/tV9ut
+e/yl825dV347b7ipZzG0S1s5DceyJtyHmgaoAWlj9IZf934yhSuopfDGQguxkmnU5H2U2KSYvEsr
+rbS/d9QaoJWcylIOE0XnuGYtYMYwE5hHs3DM2ZQOVaB4Aurb/ei9nbKMmeTGTRMpn8OdB5wymScY
+zfSsUOBvustm9AgfA8jTzkfv8Fylm8cV/PR9R09xnbxYXbsOSWUD2pIYhXMSFI21zuvWsq6fQY09
+S0ibglo86DEjuWGp2o0ee9Re4G1i2Nmq2vI+7s3c7uw+tt6E1njuup76XWt7Gy+De7MOm/OnmsJ/
+Mlg/Z6bvoYylOpFR+5ah6qSy/ePKxfuVo/2uIu+q0McmwdfO8HeeY4IpcdGSlUzN3VJTGj9yjQlc
+rbHSkh6UWR0zqJi8SyuttB/YCphUNR8WOZMBVXMyJCGpyUKsSeu3CWBkBrNxQrfKYDqYv40aknWU
+SnlKzCGzGGvmswmM1VU8MzreVtLTozL8TBqOnw7qvBc6mPTTr5B4zTnu2kzCuVgxLRMXjfRSz3jx
+ctewLpMc6g4OZ8P6tShsNYcnJ7zkTCaQJgltk+XNGx3vpY+aZbLBh9V4T02Wam77CqP/NkpWcUu+
+i8Z1PTtrqtYtmGb9q3RxfoXDuwxPMYX/ZOvWzxOo0xztg/fM+dlDSSBGp9f4M+6N7WjvPP43tvY4
+CWtxCGOK8keZWckmKoU18LszyZq0ZP6xUM+Sv9tU6t2dEwQc1neGDDXTdZzSSiuttO+tMTKsJ7FP
+6mCt5mse4WtFUQ5pzCYmZRrWj5MSPijntDRHB0Wsy8KGpgvjo7Q9WsU7KOxn0MzfNjabaXh1TnLG
+Y1z2YHzPM4hhXVu/DOcjHZR1XhrgrLKTp7gqbJlh5CUChTVTl5zxxNmMmxy+BXFmxMEMwI4z/KQ3
+0htxFCYSq6neiBxgLSlbMf73rY+m8mSt8zG6GIL1TbBdv7fL6n5n7YZ24UFo3jwxpw/+YB5+cJVT
+kOaMZj/BuvVz50ymTmSfQE3XX9gLgPW1xat27m4c/mreO6riPtTkVDE3qTyl/uHmqrDZJDUtkDYM
+oJOm26NUZUaVdM7BOw3FKoNMaaWV9oNojSPlOpIzxyEnpWnpMOjcXgQel+EOapkTqg9QJJ58zJMw
+Poxn9E3h0t9mRXzC7DvNLnrrvTT4nQ1ZSlMhpQTlmJX3FNzZdpB+omxh4OxYJ4ldhrV8rmXtmpIz
+MKAtZnAVYY2IMhyGxKY3ODIINg27bViBTvK+Ch8Fdc2VtZqB0geO3trGed/b2DdSGtvu+Ybc3vb3
+2p72J5em/fcrOnv7PJ6fnUFdv63KOsF6yBP7soOaB7P3e+bi9EP8KL+iurU29K2LTe0cRR9b/OE8
+/gghNpgdzRKo7YysJjCZQDp5eWtuXA1noIO35Oj1yMXkXVpppf2QY1jOMTJY6o4XiWl0OmPzlEGf
+hmThfJDFNImLomMq8zGMb49n/L3U87OB/BbQ6fZ4OsLb5sitnDrlYC1nnkCbaahAppbPcR1bqnGx
+RuxomFudYtJJACym7jTWC7iNTeJMljzxOEetiFibCHFHXIERHnpNYO1slErZrWNL1teVeLdZMYVv
+IAeta8Nyc4bdPjApX7jAOhf3IP7RYP2cKepk9p7/+4peu39l3bq2cTt3fcu+qmxlHFf4i4LavlYT
+B8kfiBXYeFzTgspsCn+wCr+qN0VNl1ZaaT81rEeu8pGXdXavMqMp/In3Jt3GfBeYByjfAvLfA+Mf
+8vveAfBb8M55V9JkZFTbOiTndWxNRB6Tt7hGmSm0hWFBEqVornNRyirGND96leBs6/yYgluXRwFp
+3MALrpxxUrzEW8nsRpI0hl3wENT4PB/ZRtfbngPFx4GWs1e77UlllvXCfHQ+wPpDwPrdHxXWzwuo
+D7HTYvZeG1rMDO27xkapL+6sD5gR2UCVpVjHaCXUKjmUWdk2+b7OpqoE6BwvHaU2a1HTpZVW2k8J
+MDNR108qzTsHwFsrznRbKfM/EMh/L8CTZzwdf1kaSm3m5Cmch2l1+B2c7mKCK7koKZ+Tws5liSWn
+hjgLc5WhDTAbVdLYrd5PsO6llLG8xoP4HkLaWTYuQlPHnrQAincViQealGtyN49ocfmINqYJd8Pa
+/OBr1v45+aM+YfbuWmvrunVgcUqfFyNUcqjVxEGxIbbiTKbrFcl5wKjpQ/8g4uUdpQRcyodb1HRp
+pZX2D4UVjWFM3+C9Oik7+Y9Wyj/2b3EL2qN5nAbLf+41OZUkQNe1fQU2SVli5lQ+VPOfk89r0hnc
+NIJcShnj/ZVNr9HXkokucvQmWBGBUq/bitk11mx32xY7d3RTrc1Z99icm8tbyvrjH8XB7DkyfR/M
+3m/+7zW11ZV127nt58F5+T9KDLSXwuvq9S1mb9J1idiYg5JO9aW1ItYhi09R06WVVtrPSmE+RYa/
+lBOYW+Zxc6Syc1o1cwB2Ljqi0DZSlzslr/IcRS2LA7EWL0kq26YlUF0KTfBOEUBgNEvi88AWd6xU
+/YbwJu+c6QNe0LG5qe7fAeupg9kPh5HnAdRPmL0vtlf2nklm7xqKurfBU+gr4yrMjMy4FiEef1Ec
+CwZI5xlWXttw6Y+bFHWaqxU1XVpppZX284S24WmFr0FlPwlsSak65Ds/FC7B63LBkkGsWcAcypkB
+aa3pzd4aq1kpSbNTBmc82T6ypS6KRVzytFKITI3dmX03G2F9c7ZggfV5hrU5xFn/IDB5DkDN8qXJ
+yJf/nTGbPzW0biLdbPZ22UBRdztvK+8NbjHG5NnHVuBcaxUsY3IolhW1jVmV1pdWSB8D2hY1XVpp
+pZX280UBPamynwrsIZVqspzSkEedhjrd2TxOXgBOqsAPJUI5VU10JhjrrbVa8uT/Z+9tluO4knxP
+dz8nIjKRSJKQBJVujep2maxbZiNarcrs9rK5n9lqP29C8jXmFbidB2CbzeaOTdks2qSFuk1TNapb
+rSJKAslEIjM+zvFx9xORSPBDRYoUSEr+rw7lBxIJZECtX/z9M2fsxR7WsYLN0MtlwFYnpAisBend
+Y16sv5dvPYGTL4+zjhq9U37p11JcRu8Cp8sH/hxOv57j0el3GNsZxVktV05JTmgMKbGFvuV0yBGq
+0ieHY07anHRlS9W5rK7Uqy3tV2SY1r7t5ui6XC6X6+132dNQqhHKNuflAszj6s/insGKyGwQlg5B
+0aVMAAdi3BZyeyhfX7KOlEa6lgGuy9dvyPdeF05cl3e/lvVrmZcJ+DBmWvTYHwisZzFUTYJY13EZ
+54/6mEIXFutj+vS/LPGLe2AbHl9wzNvPwVGrxvz0ZoOzbY2hChj6Sq5y2lDVjYEaIEfQPDVZHtrg
+POakrZoPphneuPtjjntZL/ck+v8XuFwu1zsD7Gc7bNwNV8cR6dMe7mkv985pT85bt5HpFjJQB81M
+U9uurtC2rLfY6sRJ3GDFOtOUU+Z6Fng42/KGe6APrvM8RW7CdT765g/wxWdf573isp81qHHkNNy6
+D/Ad/BN8O/szXus3JCdJTmKgxF3MOUaiVGGMUc8j7w81IWvFGt00jDtbeZznXYLeAG9kc5nL5XK5
+Xjew93rZsOSsbdQqjk6cp3WhhZ4F0tMubzRgE5Zd39YFZENetRlM0S38toHkOUEQrwhD5iywDjkz
+nSAPNw75P//yCIb2AWyOj/l15avfCUf9xb174xKOP+Oyr3b56ZyGICwOQl2BNcWA2Ry1nGud+S1w
+pohljve4EUvzEDzN86b9gfXOapfL5fo5AHuaqb7nrnXs6rQNcVpdrK4ZJ9fMI7DHevKpE4ioNM5p
+k1a21SaspeBMCmnMSZOoWeeSBsYbnKvQ5eO4hdXRDT48uc5aXHYHXj1f/ZaD+ulCsvqQcBYPkMRR
+Q2S5KUl/hbVcCJl7zgpsxgqtkq8MN7FqP8ZdqGPcyYoe9na5XK6fE7DHYTLPctdT8fDksidwCzzG
+Ia6IZZn2uDY0F2xYIF2xIYY6C0zEFfKgEKpykmdIjkGea7sVh/cWPDugHP7ygI9Ol+KqLV/9SsNQ
+4lt+wm2O6hdWSPYlHs3lQ57Jhc3QUTdnCm3W3vNQeuOoOGu5qNFRclpubxV9Zbd0sNxEqfyji91Y
+PNYduJV2uVyun7W71ju2sUz/o1+s87hnTDPW034vzMV6Y/m6zkCbVnNmjYKzump5Th6Q5l+TzTVV
+m9ilvIBFzvMhw6PE8MHyteWr34HQ9zToZIOzGwFTOKC6apB09GdMOtyNWFy1umcdIUeEQRvay4Sa
+Mdxdeq9oV1RQhuNfDMX3sLfL5XL9rN21oTmPu8EnSDNc7P2c5qBhKV4ax5/xbgVnqVDLgo4k367b
+u5KwJ6F2Vucqke6Iym2iLuRtTAKk6/l0c8JwpCHwY7R8dekBfukQOL0r5/sf//GfYDurcV4FpNQR
+pl6QTBSs343tIA1xZ4G1hsKplOfDONjEchClCf6JpemM4FFvl8vl+vm6axzXa+4KycY+a8QyxUxH
+iJZWXh0zXdZkAs/l5QfyjQt5j0N5h0N5s6XcXwKkpXy9PIfxgCLPBdozIVKTgOo6cNyencRjaMNi
+/YA+XS5RW4x/bMvW2+yodxXfn/7vS1zVf8bjxYdwFs/sJDc5EGaiwS42tKiMAu4a1cEel8Z2LcNH
+msr09Xpo98fa7XR1uVwu188a1gCXQuHFbvOUty4p6hLlHnt2x00ghfG2AITLTuxkKzbZFoAIgvKQ
+UtA1mwnFYScKCc/b3FTLPIA8Eb7j5sF1Pjr98SHwtz70bRXf8Ind3zanOFv3mJs5JpvBnuRqSHvf
+iBj5MqCzTZ+xUXIMk5uGHaSnye6X/ogul8vl+hkDu/C3/Dd/L2+dtTVrH9Z731H2iQqgWeGchDkK
+agEzD+IDh0wwcEpDiGFgTgOkTcL6IEF3nrZNlTNd53h2kr8dQ+DiPnnPjL5QCDy+zWd0X+tFg/WK
+MF6fQUoZQz8QV5F40PXeJQfNuvR7mu1qIQ0uxWNgZfglKb3bu+GFZC6Xy/XLhDVewJqfhrWVnKF5
+6LGQjLWTOkMpA0+6osMgLbAWuPRC0l7A1Cu0icJAOAwssK5Dl86xzy0MebGeqsDv4cu6anq7z+eo
+3wN8LDfvvQfQbwi1czppS3qWf6qbThw4l/arbO3pOtBkl5Om0UAjT71xu9CHy+VyuX55sOa9EaQ2
+frRkq6d531xGj8qzJW8NPJNbzVlr79GBPL/QHLWAZiEsP4SMC3nugDjMxXrPcQhN4q6GAaqm4jjA
+MtQfLKlpH9BNddW3b0+/yAuB6B2o+i6tWQv4FbRnf8UmbrDv5qjl3Qmn6m2b9aY7zmia462nncfh
+JjiFu6fKv0sL2N1Uu1wu1y8U1peddUmJ0rjyWv+heyIEJKShbwt/g+WoYVBXLa/piaCXd+jk2R4p
+9ZFCz5z6gGHIvE1VOEgpdYkf5Nz97n/O7fI7PNVZ4F/ueqvfYUdts07u7j7Cev5Xuz9sg7lpHfIW
+knam6/qxLE5abq2ym6nQuIwJxYsC+zEnsTePDDw37XK5XO6sR2e9Vw2O03pMrQjXBU9oY6nNWQs8
+DrQiXNi+kLeQg8VRy5HxQB01ZJ7hkJrMoRaAV13kGJczSt98FZoH18VV30cNgb+oq6Z36Zx26xXC
+AiD2HaahwDqjZQ3kDFsSusxx5amSrzjpCyBfPiFOaZfL5XJYFxjwNP8bra6pzN9QWGvkWZc7Kaib
+C1jzgdweyO2CtIUL4UB4dIA5HXAIM2F9E4Fq+c6qaudxG1Osri/o27MT+svT7VrvNqhPvrx/wdMb
+N2BoCXPoMNJgbCYcAQ0jsMe2KyP3OISdAH/gqsVx7XK5XL9sWMMerHfzwHfrMmFclwll2ZPBWiAj
+h8Ba4GyOGsjAjYHm8njOgWdZ4J7bvo6HOR7ALOTv+zDbrmhy1XD7xUAU382zqhc0CShpllpzzllg
+HDBrkzSP2N71tPM4mH1X8L3f8O5yuVwu117r1pgjLfNCNUIbyqoOHRRqld/WnqU91ALrnllATdQK
+ew7k1W3OuZXnW8gst6GFGDsYuOraNGQ6SNX1Kq3mEVtx1af37uGdL/9+Bfg7E/renH73xKeoyrnN
+yVIJnBXWNEUyynoyz0G7XC6X62Vgbf4WS4MWcNkRoW2/uqsa1VlTJUSvheKNIGYG6qw5HyDkA8hy
+qzlqpJm8Thx3bjIMlqeOIUdeDiG2M6rPvqPTr+c49lX/XVcd39XzmYcBaRoQOp1jdc7K6rx/4h3W
+LpfL5XpBmc9j3GsJwnHoRihPcJlOhjgInBXInbyklefmDLQlzV9nuU+8RS0qQ24zc5dD6ObchARd
+aDZtWqxXNPVVw90vYVxa/W476qd+8RhLCj7tn1+5lslPnXRvvnK5XC7XC7rq/Urwqb13DIGXsdRW
+CS5fq1mLxUBgDDBj67POAms5OGmx2SwjNqxFaAEqddV9l2OY1/Som5MO8To9mpeiMoAfbBN+Zxz1
+/Oh97ob9Z3qLFIitlsuQZLe6KHRcImq1ZePGcP8Xz+VyuVwvCevSwVumWNoETM0ka0dRlK+pRazk
++VpIXmdxzoSwZUQtoJpZSJzzTMPjJF9PPdSBOPZVFXJuQ7VoiFZEf/vgT3kzf6ADUH5wrOg7Gvre
+2jnKITDmbJNCs55Zq6jPfNGrXorKEAuwx6Ul0xemijOXy+VyuZ7Qrr8axqJkmzmNmmBFXaVcYC1w
+qZGgFvJoJXijTlq+PtPdUfL1JiE1GLiS76oC5ZiF2Zm7UPV9+tVf51h3S/zi5B7Cl88Pf7/1oe/j
+z25dXF08fAixyUyp5iFHLqu8bb+JXfLYLLJxJYpim0vYWyEOz9//6Y7b5XK5XM9y1SOsS032OAwF
+yOaCw1hcViqba7SDDc4KadQDxVFbiBxryALqnuPQnscwVLRabui77ow0/H3y5THe+QEcvVOOul4s
+Oa8HGOY1B93GkUajHEZAC5xtGRnpHBSYTDTjDtKXYe2W2uVyuVw/CGsomOapx1oJo66acwTLVXMl
+jrFGpFpIJHAWUGduMumtuurBwt9aLd5xV9XCa6GYOOoZzeYf4o3DP+HJv8wBbt1+7q/x9jpqLVq/
+iNvDYvMrux9niYPYaJIjKaBR7mXKpM8gZtB1ZNYJpzFwjSPs1nCMZvvimgXBC81cLpfL9UMseoar
+vjxmNMo9GzMqL9J8dZPFSYtdbIiwJnXTDNUQNPQNcSCOWUAdh5qqfkWrv87x06+WqCudL+j3roB6
+p3tw9MlGgPoNNIcDt8OcQ515kLNBJcC9C4ErsnVwOtoqMlZXfeGsC7FtV9ml8IKj2uVyuVw/7KpL
+4TfsbF9ZrWyzwMG2bVklOGKFemi4mzTkXcLebH3XWCWM4sBjCHWkMG+pbSKW6u+vx5Gid62B+50C
+9e6y4g8Af5ab778HqOaZ+5TNVTPJPzFnDJjkikZ3hIqzFlfN6qbVXWuzltxCCY1jKQTYuWuXy+Vy
+uV7YVRcwTVsbrbead/PAuSpjRrnWueAkt+MyDyskgzxUlDiGoY0aDw7mqDd0NNf09s1xXPazw99v
+cY76cpX6Yt0yvVcxrCKERqzzPGboc4YR1jraTV00ECXhcirm2XLVGgLPWMLhPF2tYFkG7ilql8vl
+cr2Iq2Yjh6FDy6HKWuWxrzoIgqJARgvLxFVDJQSqYXTV8jp5Lojr5pjrGLgNgRqg+bX38axi/CjU
+ePNf5DtvPfvHv/Wh75uff76j9aw94u1MLknUUcuheWpKCmmDss5flWctuq2F3tqxlblEuy1nbW3V
+5WRfbq/2oSgul8vleiFml10Rlq+mKWfNBmvUfDVQWeAhsCYFtN6321RlYnHTQXdfhm3qaN1tqPqz
+5qn/jH/5gTz12wzqAs+7AL/+dMXLX33MJ/AAqiFxJzjOQ1RSC3yzbrqcHLTAerfYW2vCLQxu4MaL
+KvBdQbjj2eVyuVwvor2iMpgWOzHsZoHDdCBHHEPh4hTFYWeBdK6yOGpKIEcXMQayPPVwkaeG348/
+R/PUT8DpnRghet/++e8w277Hm15AbcVkW8tRy0dInLNBWvPUBdK23STJpxsBDtZuDReDToqr3qXt
+ndgul8vl+kErPeWop0VXO1jz6KrlNeqmo7xSw+ARDdoUM5Ldz7qBC0IQDxkoRWpiwEUd8ei0Rl3S
+sRsn+oTejVnf/wrw7dk/8Pyo5/rgkGOacSWfPWp+mrQtizJkK/w2d80KaeYS+mawwjJEC4dftGhN
+ndVPhsFdLpfL5Xq+td41/Y7tWmi5ahCriFQqwQXYaJu2uFJo630hUgxANi9cQc2wDtuhoq4KCL8u
+71wKyp72ju8AqO8+8bhMJxuqzJaQzj0Hdc1a+a2QZh6LyixnPbZoZZ62jPKYtPbKb5fL5XK9JKOB
+L6q/S7tWWYVpG7bka0EeCITlEDALh2x6mbxOfKU+XyCNmSjSHOtAOBdQb+oKPzr8E4IWlD2j8vsd
+ALX80v9y8ajul3IhAjbuW4vJUD63umosk0RLOxaWvHTZpWWzU8cWrbIGHHe7y7yIzOVyuVwvTmos
+jncvT22btcbwd4E1WH/1FApHc9E5pyhfFlwTDXJgGkgLyrrzM1w++h6nwSeXLwvedlCP+QDd1XlL
+bvVqY3P6HVqYYAG6n+Ty6WOYVlyOs7/Hcd8GaSh91AbmAucLQk8xcIe2y+Vyuf4+l+BiWzXu+qrL
+0g4qyzs4oE4ukwNGl40YC8QHDQIn6nMgddSzGHDbVDso237qd8NRl5Nx5y5Ycv0vyyWu5nNczmoL
+EwwtadEcZjkNjEk+c0LbcDl9GizhbYSLW8tF593SLC7NcP7vncvlcrle3lmzWek9r7hDtsDZCqcE
+yhks3K2PIacg6CbQhZk5URR+JeFYr+YTPgD47W+f5ODuXnz7Pn355RTSemVxdPoJNQ8eEKQP6dHh
+QIuH34Ucm8BbOQERLIwgZ0g3hVLWM8Qjl8d+rPJxdyPg+BnnwOVyuVyuHw1sKyxDK1mmsULZisuy
+2EfUWxBII+keKS3/xj6RPDdQ1UXs5SWH3UOMbcb172uAr59eGPUWOWqLVtus0zvyO96H+2SQ/s0D
+imc3aMjbcC0fhLyYh0oQnQgiDRx1JBtmLXnHgFoWr8n6MmGUxi0nuAdnn0TmcrlcrtcC6SkUXqw1
+TilsxN2hHGLhUMAMmXTKdZJD7CVGTVOHFoe4QXjvh3/S2+GoeQp13xUX/Rme3L+Px5+dUHP4Mbbf
+QFh/tA3NGcez+apqOFSQsJIPWWfdSgJQEwVrKteLFcCkFyyBdPkljvkCtmADwt641icmlLpcLpfL
+9YJ8trC3Wb9SCjX+D8rjjKN4DIkrnIvnNpAngZjiN3WEiyZDexYxQgdTL/VoLHe2mt74R9YPqS7a
+Qt23LdR9fPIhLdbH9PBvX8f1YojYUsVzUkgLlGOjByI1guKZoHgm7yEHzHRJN+qmksx1ZhBw64WI
+lccXWJcWaju4nFyXy+VyuV4J3DuisnHamovKEkerXi6F4sYfGh1yhDz0WIqiD+259Wm9I9Jdm072
+Vjhqi+vvXPT94/tWmq6hbji7QQcLCAO8H7YxxTTEKhNU1A1N6ttZqmCOqTogwAPxzvOM+UDebg45
+zQlDgwQGatRtJkBhLJcnLsC2E4duql0ul8v1k9Gbd264sFsbiDOWxR7yZK0B4eGF3u3NOGqeIA0l
+1H18jOqiu3oV2vRhWDY5Puxj1cN5Hdu+gZRmMfMciQ6gqQ9ipkUgXLAcGfgQGRdyXg7EZc/lVMzF
+Lc/kuQZskwlXOiwdys5Q/byI5ecXV727EvJNWi6Xy+V6LZB7knlldgeJX6SxYrrrXvjdrhrUF6Fu
+UEiDhbrn/7YRkD4K6dfvBdhANTys6gOs6hDqBupmFhuYC14P5GJkgZwPxUUfCmaXpAfwUi5PFNaH
+wt6Fvk5+jryeGy457MoiB6V5i8oQdbwcrnC5XC6X60czeTeTmkvnr9pBKqNQdgO29LYM+xjkfxQr
+1sFdAGf23OKo29H99u3b/KZAvavq/lxD3Xfv09Enf6DmN9cpNh+GY7gewnmuBLHV7DDU3KTZwDCX
+DyeApkU/8FLhzBmupZSvywe+nhmuM9M1edtr+jX5AYfyMxbyoxTsM3ncGKhZV4tZmJ/GhD+V32fM
+WTuvXS6Xy/WCYMZxcBaUSVrj6uSyN0IfYxmEaf8wN22dWlwWUnCZqKnfHurMOmizORzs8dEnG7m9
+NxFzpyvKUV/OR1uo+7MT6v5NgPkB0PFHh4FDF1N3XtEGq0F+/UDYpJxmAuqZfPc8mkuGA/nIC6Sw
+kLdcGJg19A3iphkE0uqqeSHfM7cCM4Bad4LaFpOygmxy1eMMlP3Vn56tdrlcLtfLEJvK2mTejemw
+vRKFePYCWwiFnNRhZ9L7us1RHg66sQMajjp19PtOafVcXQGoL+ejbwqkv7CqbqAU3gvrsAmzTYp9
+c17Ftqr7MDQkkBYXPSOFc4K5vMNBQjygDAsB7ELeTkCdD+X5BSEuWO9rnpr4QM7VgfxMOVArwc1R
+l92guicUi5OGKTc9Atrz0y6Xy+X6EbAe27TGXRJoWxrFB2YdjKmPdXeU7Z+wZVGUU9aFjyGHPHA/
+y1wFYOW0ZqyP/qD/eDop+xODeh/S9y4gfXxA6fp7Yf6oj6uHmyo0XZWGUEfEBuu6SR3Ps64WSekg
+YxT45gUBGqAVzsjipAXQ8t6LrEVk6rJRq77zgYa8DdIglyoIWu9ubVpyVaMD0kdXzWM/+uiqfZao
+y+VyuV4K0NOI6hF2ZRSm7ZcQTguYMduiKAYFdtI1jrqOWQyl7X0ULOWQEsP5GpplxdX3PV+21Re4
+/glz1M+GtBaNHZz8MYbz7y0fPceqJqqaxDjvCQ+GLh1izIdy3XGNKFwTD3xdXPMNebcb8qGPBNJH
+AtcbclwXxl5HzU8DLjUEDkgHAl0tJjNQ41hIZpCe8tLTthOv9na5XC7Xywj3ctMwbb2EaTu1Oejd
+FkdbtQzjYWuXEwa9rVJEddRb7lLmbZ941h7t3OLNzz9/yjn+RKC+DGmt7P7vY2W3Fo2dVzci9tcr
+2nQN1DwWjeFBCLigSIdaMMYCabnuuCEXHgJoOQTQSAJo0IOuy8+QQyFth3aMLyzkjbuQdy1GuVR8
+75z0CGscR5ShM9rlcrlcLwvsKQddGn3HzLTKViwblIHlQDuy3c9JmCYuWtw05Zwp5CigruYHfAIP
+YPmrj/mrT1cMd/ds+6ifIPT9NKS/aR/Q4Uc3SCH9sP++ClEsdAj1puempmYmUJ6FNBzIh1xkygst
+DoOcBb7adlXC3KWi2xZcimvOB4LYufyYuby2YeRGTlwNmWt5bYEzsI0SNTiX3PSFo54qvd1Nu1wu
+l+vF+QZlVfLI0KmKDKG46NJ/Ja6ZBcdyq/ssCQd52c5Vp0iJ0pA5VBofz13f8ix1/B/f/jvA7+bP
+/KmvGdTPh/RylSPPvo/X5lQN4yjQOtLMBpX06YCJF4zZKrjtQDqUz7ks99GqvBXkglwDtDB2Jj9v
+ZoBmO6odpFEdtMG5DDnBvSXfU8zbF3S4XC6X62U5vQdsa80q86i5QNrC3gZqJBrEPAqRBdZIcguD
+GOlkT4m3zg3n2CLX1TzDtTkfzuQ4+UzeRy317Us/9nWGvp/KSe9DWnxz5BHScq0xS8zznIcFZ1wM
+2h/NcA2ZNN98XUPd8nlLmBu1VxquZw11Ey7lZyx1uIn8MJ1GNpePq5cgOu+79ExbqBt2bhp3kMYL
+SPukE5fL5XK9FOGmNcmlkEwfY5kOagVjMOaiudwO8twgLxgIqBeGDRr6zgSDfF/CmlLdVznFOq8P
+Bz7ddDz1UN95BqFeF6h3w0z2C8emcPcE6bYdGoP01BMdSFz0sAwo8CUBNaEWh10vsGYBtdzP8hzA
+NflFBdICdM1F6/dar7QAGtHy0dovPUYIooa62fLSrMPa6KLC2yHtcrlcrh9np/cC3jx2C5Vw90Xh
+mAAZtEV6kKcFytALwwembI4agZIeeUg5hyFvh0fc9AMvjluGP4w/xqaS4U8A6h2kP7tU3T3lpCcn
+TaFqFNIC5IPc50NIOm2MloLQa5nxuoGZDMzX5flrOE4ckzOigNactVZ0H5iL5n0XjeaiR1AT7vLR
+OK4em9qwHNIul8vl+lGcHieS8XjfQt0lP81jyJuFaqyumXrBUC9eUW6hp0y9GNLeYN2nAutuyAex
+yau25+XmY/71pyt+VsX36wH1OLt7mjg29UkfQxvOqy6G/XD3COmQaYFBQC1O2sZ/ZjA4Z87X5dNe
+V3CDQRpsjjdMFd3qxEEnlV24aDZQc9Rp5+Pn2XPRe6FuLxxzuVwu14/RXth73EA9zvDGXCq9ddYY
+JyFPry7aDs5ym3eP5ZsGCmlIAQbu1VHXOVXzPNt2/B/w73Bf3/4ZFd+vAdQFfndu34aTL3UD1gkt
+1g8odY8F0hCx590OaYjVLFTVHATSWSGdYSnWV1xz1py09kRfk6sV64s2eHMWtw1WQKYuWoeYyOts
+LCjuXPTFaFA5j8920R7qdrlcLter2ulSMDYONYFdhbe2X4lRHIRBgzyjeysF0tyLd+zEOXfyHQXU
+yP0u/D2jlGKf6/5vPN90fHj2D3x8cov3Sb2vV6n63iseA/z0f12izu7WsaA6cQzmy0j9trRgaXV3
+HiwnbW1WI6StgIzI3HPOfE0rvcfZ3SUPzWztVxbiRqrGASZlZaXumLatngXQZSn31B8Nu6FuLpfL
+5XK9kpvmsWUaYdy0YcDOqEVkCBry1iKxXp7uFc7ykg7s0Mmg2MmrzFEHeZ2wXOAe07Dd5GExz6uj
+BR+dbvj06NmFZK/mqPeKx45O/0DNg+tUf7Ck/MEmrIZVNZxt6y4kgXRVWrCwOtCe6LKikpYTpPXW
+Qt1QKrpLLrq4aLRxoDATv1zLczpbLZa53fi0i4a9RRuei3a5XC7Xa3bTzBeOenTVWuUtLlp3bGjh
+mEAZoRN2tZDZgC1f7xiTOGroc8QhVjiQgHrKTy/WrbxkrCR7RiHZj3fUT+Slz759QPEbCLoFSxds
+6OxuolAPDI0OM9E+6YT5MAAdym+xtPA2lDy0QprEYculiYJaHDdMuehmWqqxKxRjCGx7pUcXnZ+Y
+MmZ5aHfRLpfL5frJ3HTZgKVV3mhV3v0Y3u5QoZyLmxYj2hKDUDh3WVx2JO77PAy5DynykFPb5qMP
+lvkU5vmPvwW+9a+3+N7FlcGrOuoxLw23wdZVjm1YvzmaUxO6iM2qShDqbeKZXGrMYRgOmHSphk4Y
+K/3SoHAmddWshWQGaeQS7jZIc5nVLaekDDLRfPTF9quLCWOXKrq9WMzlcrlcr9NMP9tNq5NGgzSX
+nDSM7pm5FR5thUxbvS94b5mwFd53gvU+ZBhiXRx1X82z9k8DfAG7/PRzKPayoN7bKw346VdL1OKx
+2fUFaYX3WSeQPqea+thAjjP5ZXSC2EJ+0YWOA5UftyTE0m6loW+kMoVsH9LjQg2wqm4BNJZxoOqm
+EZ4MdU+/k0Pa5XK5XK/ZTY8GF8fZ3jxOH1M3jZqXBtSVV+KmsSXArbxuK6/bGqxZYE3cYlKnHTqr
+CA9Nr5BOsctdvcka9j46/aQMOnlO2PvlQa2/5hjytrz0bx5YXlqLx+qY4mLAisLQ4Cw04qDnqAVh
+4qYha780LO1WB5cgLQu4+ZCRL0Naw91leMk0wMTGgIqXRt5B2nPRLpfL5foJIf20my7FY7poQ9w0
+Fzdt+WgBUptB3DQLrJm3mAusmXPLIbeQ+h6I+5hw2GCbAtTpaL7M68WHWRdx3Pxy1z/9yn3Ul0Le
+p0dz/PbsBg15G7abhxE6qAYorVip6+YUbbznoszutmpuHWxi08W08ps1FA54kZPmpyAdrGhsgnTe
+nzDmoW6Xy+Vy/UTaQZr3tmSJ1cSSl2abPIalqltD3HII5zbCqo2AaQMKa8xbkucpU5sgdjxwv4Wu
+VHw329wdvp+12vv45OQHw94vB+pdlfdFyBugDdszjnV1GBO0AunUCJxnOca5AlhD3gpkuQyxEHeB
+tdyybcXaH2JStl89BWlWRJNCGp8qGnO5XC6X63W7aXgi5D3O8hZ7jDrUhMdeaWu9AstJ8whnYZUO
+7N5wkMdZ3DXhNmHusM5dEjddDzQQ1ql/tMzLzWDTyMwA/0DY+yVAXcBYqrzv27INDXkfwRCaiqNg
+tkoc5HcIDYcww5QONDeNicuaSi6AZltfyaX9inAuENeZ3w1MhWNTqHsP0jby3M6WQ9rlcrlcPyWk
+cRzovR/y1ikdZUWl3BqkBUalBUtBbe5Z4Ix8rm5ani+u2kLf1JIWmQ1gYW8x3Klft3k7W+dvzzr+
+4uQW3/zyyx8Me78oqHeDTabpY1rlPTzYhgSLUIWDCAmrCqhWN022cAMF1HkhSF0ghbJfmrm4aOup
+Rg11j8NM4GJe9y4n7ZB2uVwu11VD+lkh77K2EmzZBvbCpE5z0vJibYA2KMv9DTJuhFrneXwOc95m
+Tu0AsYPA/VBvhjOOiY7nqRSRPX9b1pMKL+Sm8S4ef3aCH8eP6Mbxb2l4jAFhHYeDUFVp0DK2OWU4
+CCEcpJSWYvfVQV9DXU0J2iut93Ga263HmJfmcZiJ7ZKeeqUtJy0/lhzSLpfL5bpqSOM0ecw2YnEe
+J49p5bY4aFAnvZHnxUHjmXzPSr5lRUSP5WurQLhKGdYCsHVgOs8oBrqet7St+p5xOB669F39fv7m
+/z3l/3byv/D927cY7v4w3v6eoy5uGsos71JAdkLV9YbydaF0mEeoZlUUN41IjVxJzCkEa8kibbnS
+1iwdBypOWs7CImtOGrX9im1mt3zwqvRJWwvWpcIxh7TL5XK5rgrSthmLx8EmmpfWoSalyntgGw9q
+g010JOgWSmj7XG7PhePnwqu13Rd4i/feCMY2mp8eIHcB604XWp7xJlGep9PRTYv55TsXRWT8Co76
+STe9KG667mO1HWqgrlHoIoQDJoExwyFqn7Qt1WBx0qRrKq+BTiMTJy30PZBfZ1ywwY28eclLc9l+
+JSeIyiYxr+52uVwu19VBWhPSYhSz+WcsbVha4T0Wj3WCI63u3qIBGdbytTP52png6rG8z2NMaSU4
+W8k3nwmk1+I9z5GHbc9ioZE67mk4bl7eTf99Rz26aYDP4ZKb5i50MVtuWsxvLb9EwwPMIeeDnFFz
+0Arj0h+dweAsbyVOmwXQ0LBtwCrTxng3cYzp6T5ph7TL5XK5fnpI280O0lblXfLStCsc25Z8tLpp
+gXWGcwHyWUZYyzutM9I6QxI3DeKmk7jptgtQdwdx0Wult7rp4fA4v6yb/nugHiu97+HN4/v40WGN
+s+2Cct6EesuxCrOokMYhacX2jInEWdNcPp/mnw+09Qo5HwiCtbJbvlaqu+UHVvKhI4+FYwj7Y0Ed
+0i6Xy+W6ekgLerI8b+NBDdC6RxpQx4Lq7G6r7mYNaY9gFo6dydfWmFncNa+J+TyEcA4CaebQElad
+2NC+H9YD0TpNld5f/ec44OTvtGS9GKjHvml1039ZLnE1j1hdX+256W2F8hRiaEq1d5pzGVxSHDRp
+ZTfN5QplPuakzUnnceIYXqyrvJjd7ZB2uVwu1xuDNF9UeI8zvG00qABac9IKabldy3edMfKZFpOx
+AlvcNGjF95A2mGibcmqFiV2fzgedQhZplj46fJhvHj/I5qZv7+ZqvtAWKfohNw02hew+nn49x/rs
+O4rtjBiGUAWOCunAWGfKjRaSyS+rrlkHnRiw0QaZZHHTmsPGMrtb3bTlpLPmpbVfWrPROP7K4x5p
+h7TL5XK5fjpIw15O+jKk1U1j2YY1Fo6xOems4e61PLeW153Jm2i1t92qo+ZhONecNJC8XiCtBWRC
+ur7tcYiwSt3fVrn95sN8uW8aX3jV43OKyfaKyP7HRxTyaWiwCz1gVWNT9X1qAtJMriIOMEFpueKs
+O6Xl4Guoo0L1OdQRoXQwgruRX6vmEvoOQERW6b0rHptctcvlcrlcPx2kzRES7OekR0iPKytt4lhZ
+sCE01DasEdCw0hYsAfJjZHwsBnUVCFZMvM6Q1zSEDVe0hW7b9RR6LSC7HsJgBWT/9ZT/2//9W3HT
+t0Y3ffeFf/VnO2orIlOVIrL1osFH3ZzCvKa+yzFQHQXxVU7qprPlqIFppu7Z2q/0YCzhbs7jTmmu
+5KcFtH3SQDbU5Mm8tMvlcrlcrx3S8FSf9BOQHuBir/QE6Y08PhcgG6RBIT0dAmsNfYshPxvkNZzD
+eYB6A3PaasibQ+5nQxgoP7ooIJtmer+km1bFZ34k1e3bcHL/Pv5us8GHf/ufKCwz5dwGnjWB2vMq
+97EmQHHIsUZMjTjkhrPmog3QCm0BNMrXoGKDtC3YsCpv+QGEMG3D8ry0y+VyuX5CF82TBeVxXaWG
+u7m0YFl1N5eBJmV+9w7SQqoz4ZrmoleoThr4seDrsTprAfJZznGNAdeYu03OXRvbWUdx3p33/TCv
+VimkOrUfPsqnZ7/PN7/8/ZibfnnUxWfa6XGV5aenn+CqBlwuIp49Pgv5Rh1CnyNRFbM4ak7JBp2A
+jQLlGaLmokt/NFtOmkuo+2JdZcCSiZ5WVk7nziHtcrlcrtcP6XGQybhswyaOmZ9GGAFd9kpDCXe3
++5DGPIa7QR00PBZfqbBeWTEZ0BkSr3FIG6J606W+7ULuwrAeZoc4nLRNgsX1/MfVA771OfAdeLkC
+sn3Rszh9x+7shb0PVxTmLTEPIRHHPgukh1RTECBnA7MBGqwFCxtx0I2cmYviMRjd9Bj2nmDtIW+X
+y+VyvXZAAzyZjy690bpLGsqqSti1YImLHvPRcpyzDjOB4qTlG1aCqMd6yGseG6xJ3XQWiOe1sO5c
+aC9uOrV1XbU5cr/taJiqvI9O/88S8r7740Lezwe1qVR7n337J5xtV1S1DYWmpqHjGATUGAbNN1es
+oW3COiuYGbVYrFR3I+2NBsUwFo3RaKHRKuOnujF30y6Xy+V6rS56sp1jqJtxBDUnhhHSuk86s4W6
+tbIbbOIYrgVIZ4KnHaD14JwfY8orYD1wxaWH+jxoX3UI2w5SJ+Tb5aWbcD1plffp0VHWKm9bY/kK
+pvTJ0PduyMmnX32C3VJ+6xngtX5DOeVQBwppwBhCjAyp4pRrEM9PBOKsraK7VieNiBVO27BsPGgZ
+asITrEsL25Sb9n+5XC6Xy/WKkIYnQt1cdkkXYJd89NgjrbCWl3djXnqrqykF2hvWYSa2aIPPFNA5
+K5gLrOUNzE3nxGuqwlo8qM743taxa3kzdN3QDun6e0NYl7z0V//Xim/95+f7eekfDbvw1EeVn3zz
++Bjn2yN8fA3DUsz0pm2qptGisNgg8Rw5HQhzF/KL6m7ppdxfypnR7Vi2iAPLdqwyjQxHZy3fbFPI
+NPzt7Vgul8vleq2QBthvvRpLoTLvtmBdVHdjKRobt2DZcS54OpNvPRM7ORaN4UqYpS1Yj8U9rxTS
+nOQ1lNc5JXGveSs/ot08zj3OD/t1vx2aa79K677O38RTvvW/3cp3bk156buv5EifCH3zpfz00el3
+qENO4qwVN5xCOXLIGKKcgkoruolJAJ61qKxSKNt4UHXRDLHM8dZWrBHOuIt3e27a5XK5XK8R0nuh
+7jwWjYmrRNwLddvMbm53cIYywMR6o8U1E+IjgeIjQnokb/BIyPXI8tN8AWnOGvKGDQbatpi6FHJ/
+0Nfy/k1an5znE50+dnLCd14xL/18UNvb6UrLkp/ezGvsqoBh6AhTJIU0IUTKEAXMOmHMctUa6pZz
+MualxTnjNMd7gnRxzzidVvtZnpt2uVwu16tAGvcgvVfVjaOD1s1XmQd10Kyh7swtT1XdNmVM89FU
+isQ4PzY4Z34EBmt+JO/+2PLSAVdU0dk+pKNCepP7G9V7/Qk8kp93Pd0cIW3Tx14xL72v+Mxn/wXg
+Hzf/BA/DOcx7xJSX6osJ+kF+xyiO2kaAVrpgIwugS2U3mZO2+zp5TFdWIpbBJjbcBC0rvWvJcrlc
+LpfrlSB9UdldwGKjQC/lo4GwZ11TyaW6W/PKcluGmSCsxX6vyfLSuNKRoDptTGCtLVla9X0WIJ5B
+7s81Jx00nz1CGgXSsy0OJ9WjdPbtw/zPv2vzFwbp15OXfp6jHgedAHz61RJXf/0zLh9FXH+3oW3q
+qEsDYWjMVQegQPJIwGtgllMU1Unrc1Dy3gJnvJg+hriXjfawt8vlcrleUTyaaTYmjqDm4qgnSE8z
+u3MJdzOMTtoqt+GxvFpcNImDxofqosVfyi0/YsxWQBblddorTRTXAXGzD+lWIL1a0qCQ/k3z4ROQ
+htcG6SdBbfri3r3yI377W9g2pzirAtaBkHIg7ltrtWI9BM5yFWK3WIBdntdWLNbcNI/rK3EcE7pb
+vuFhb5fL5XK9mpsuLlCpwoXZeBHyniCNMFZ1kzhoLjO7EdQ566QxgTQLnPlhhiywpof6WPD1CHOw
+4SZcBc1fn3dDv815aDUn/VggjdV7/T6kT4++zpchja81bLwX+t57398DrL/+T6y7iFyfY5WIxDcT
+Z7nNOC3TsHGgpU9a78ttZrnosMpuXU1COM3xhlLn7QFvl8vlcr0ONw17btqGhHKe2rGsVxpxXK4h
+hzjkTemR5rV8x5lwfiogO5NvXpHN8mZ12WvIaQ0hrBOkTeBuk3Bo5xTaNtVdqLBfVvWgOemrgvRT
+jnp699Ovv8aP5XZRr3CIAZPiVxy13oj1JyAsoW0BNBmY9XEuFd66X5qhQJovRoVeGnLicrlcLter
+2eripmFsxRJKyQNdWTmIU9RK704MYxloktFy0jqoxACtvdFaKKZhb63wliMjyuOxcCyxTR2LONtA
+h9s8r1uuHvUH/cNhKhz759/N01VA+jKobcT3XdTWLICbsD6t5f4RLOAQUkeYB4U1yZ1MqG7Z4Awk
+ZyboYx0PyjbUhEoblg01AaO5h7pdLpfL9Xr4PMFwSkvvLLbGe0sRmcAatF9a27EYtqiV2ogKX2vH
+0gUbubRdlfGgnFec8lnWorKuO4fI5wI2Gw0aue9gA306eK8/P/7tMFV3P52Txp8saByf+5Vfy+XI
+31YYmznGSPKpe0FxJZxGsu1XKHAGu68d5QruaX43TZAeTyVeLiQDj4G7XC6X60fqgtOCHbWB5qot
+u1oc9bRsoxSSIbRCp41A2sLfAuW1LtQQ13mWGM44CbgJ11TROmG/yVxt4xBaoX3Xx9Rv4jDMttUQ
+1t+n9SLmq4b0ZUc9Snuodw9u3ABYLArRxUxzSvJ5so0usXNUctAGaZ7gjLA/yPsZTtrNtcvlcrle
+E7Kt83fsn9YcNVuyuvRQC6y1f1rwVJy1uGSh3rm89Fw85xoxry0krss1+n4DA20x0jY3Qxtg6NI5
+97NtHkJSSJ/YMJMvxj7pq4L0M0H9pIZ2gzbmBMxGo22rVFvNenbyGNwu8JYnLiq7LxEZYe95l8vl
+crleTTjGvXe91LuVWZm0j1orwFnz1RoOFlhbGNwO7YXeQM5bwrjBCBsUQGuYWyu7A+aO22xbsBbX
+43Djg0+G+nfLdPLl8W6YycWSDbyS+PBzQb05/e4JsFblCiYnhBDsO8lqx1hjD2i3o4PmMSc9xrxx
+F/J2uVwul+un8dY89VMrsK2wzFZa0iD3dQmHOWwE6rIOQBF4C8kFx3JA7qiJXQ657xIOE6RtC5Yu
+2Pg/Vnzr9q187/ImrCtL4tKPPi3iqnm/SMxB7HK5XK63Btq7kPiUw7YeawRxmyknhTdxGnLEYZAj
+ZhyqBIOtqjyep+5vq7wPaZvd/QYg/UqgRiI7EZfPjcvlcrlcV8Lj/Zbf0hFs5nFMHO9FeXfKWVdp
+aRiYA1JmOeKQMsshd3KKTV53A8//+P/xevFh/mq14uPPxgUbbwjSqudWfc+P3udu2H+mL+eCAnNK
+Nuck6yAYzVaDNZqzzTmxEac4Dl6dcgfTflD/d8vlcrlcr9U/j/jkUiolBpQuhm2VDqXMlIlsGJcQ
+q7jMrKAa7FtDVXMchGGp47jMfFq/L2/zBcC/HsNN+JzvvebZ3a/dUcdmzpSy/XJZo/4W8pfPrZlp
+7dDS+edANsKNS+03P+2xGfaed7lcLpfrR+piDyNerHkq7cHjZols0zPHqZlsTUtByBwFUbGMuiYb
+hy0MoyEGwtTLLWEfw1tpJ58C9fFnty6A+vAhwHptd4ecGUPQCxODMo4Je2uj5lJONv5v14L+7Io4
+57XL5XK5fqyF5h2pxzqpkddlKiaUFcsC6CxQ1qgxxqwrmKdDK6M5VeKnBc0cI4dAAms+H0IYWlpU
+EY+smPqmbZJ8K0G9018A6sWS42yu4XsOueJxDJmOJrN+NSzDVXWod7YquzJ5NcMEbRgbs3ZsRnZO
+u1wul+u1uuudvwYqo6wF1mipXQEz12K0a6ByCIQa+arcyuOAVc99NQzqtJOAuqZV29Bm/l/xo8Ma
+b8kbfPHZvTfusmn/897WZDnc018NFked3D+FNZxBqMVH67ZpEltNmoA3F61AFmhj0seCYAG3HrlA
+eoR1tvdGx7PL5XK5XiOfeZyGCVND87ix0TY5mpNGc9FcC68a4VEjtzP5tkZI1bDCmrFGwkpeWYXA
+MS/qkB93oepXtJpH/MtXS/tJd2y89pvDGD3r2uTok0/4z3K77sRRD4lDUkhbPTtz0rI5hbQxWLw2
+2yQYQEo2vq04anPYCmscI+GIexFxl8vlcrl+rHgvUT2CekxXj6FvVFhX8kwlEKpRD8AGUSCNAmsE
+ATbPxGI2pM46Q5WojrE9j2FeUVzOqD77jk6P5nhyfKw2dsLXG3HX8TKmR5D+AWDx6X9hevw/OK4P
+ODdDzkMQPHcZKxJQ09iPpuvE+OI+yZG1zkxnlNm6MR7z1MzjjhOv/Ha5XC7X63DVVh5VuLILe4tt
+1Bx1FAZFBbXQSJwzNAB5Ji8UQNOs3AcFdpMTNQG4ztxVQ2hiBWcxNDeGv51/R4v1io5Ol2zh77tf
+ArwtVd83P/+8/CJ//CPM2iPe9ok78c3CZoF0o31ZAmU5EAax0narjeNssC5fG0e3Kajz2GvO4zXQ
+eE3ioXCXy+VyvZqrLn76wlXbimWcwt9iRK14DCt5rmF106Bumkdgwyypq8bcaL66DnUVMMcMdUiP
+u1B3c1ovGjw9+tq2St6xn/lm0EWXPrbqLsBXn654+auPeXV94MX78zwLda5DzJzaLOcgJcgpyyMs
+gNYF3YN8cC0MN3dtgNbQ+OSqeT/qPfZUu1wul8v1iq7actW8F/ouK5ct/A3qqsUtcyko0zz1TF4s
+cIaZgHumoXAFdY5YZxhqEDs6dCywHkK12NBsu6Kzw0M8Ob5fwt97P/Uq9eyBJ/8K8B/v/Tt8cCPA
+ZvkhQ1pxTAeafxYIp0RMAxL2DLknpJ5tSbdtrNYRKYPtA+VdVfgEbBpbujz47XK5XK7X4qphVwTF
+l101Z+EbWVGZ0FvbsrTSu5EXWVFZIGpyzrPM1IivFIiXCvAQMOYmhdA2dDD7EMNfH2DdLfFNhr/p
+6auTu9ZLffjRP/B803HdJ06xzhwGc9NC3iGThrvzAAJpwbCCupe36m3/pzhrDYWD5a/BCsvGBi3m
+fefu4W+Xy+VyvbKrxqddtTlromJG2Xqn1VUzFVhrGDxr2Ftd9hj65l1RGUTmOqirfnS42oW/T748
+xjsAbyT8TU/GEewXgXtwdLrh06P3eWi2edg2AumQykFJB5mz7vlk6DPmHpE6Abcu6TZ3bc4adVsJ
+lEpwgzXzRUe1h79dLpfL9Tpc9RilLa1FO1ctPtGmjymsuax/rOWLtbxeXDVrvlogrQ5bHHVWWKca
+A1aBqhi60lddiauewt82/OT27TfyEZ8eeGK91EWLdcurtueD2OXcqaPuU84CYYrinsVF56QOuhNz
+3MmVSaegtucRdTD4wBOox/A3jyvIdpB2V+1yuVyu1+iqoSzoUHM9FZUpsKO568y1PC/AphpZ89Ms
+gBaXHXQYSrTJZTqtjCEGaq5T6De0nH2Mv/rrHD/9aolf3NsNP7nSFO6ToDZw3vzyc9aCsr+uNjzb
+dpyqeaaDmDpx1CFq0dgwaMgbAwmgQSgOOh3F7k/ALnlrEGctYGfrubaBKLCr/nZX7XK5XK7X66oL
+sHVg5kVfNU+uGrGEwFkcNGGds7hrHYYCuZ4cdZ/7KlEbBWEl/N2t9qq/x+EnV8yu54wQvQvHJyVP
+vZ0tc9+0ObVdjjUOSRw1p2i5aV28zZk7QmzlyqSV09PKNwuo85ivHgvLrAjNVmyZo740/MRdtcvl
+crle2VXDWFCGtszRJpWNhWU6+1ueiGIkrbdaga3V4OquFdjaax1Y27hCpBTFWsfAmzJStBJXfTSv
+bfa35qn3qr/fIKjl17hjd0qeWsPf18+WOW2ajBhT0OXaJJCOocuJOyRs5eQIoFEhLQcLtAXc6qxB
+nDWUwjI5WdrOZc6ax+Iyd9Uul8vlej2ueuyoNl899lbjlK+GIPdstGgZhIIVCZjJBqLAWGwGVkyW
+EWIijow5UBNpfhxxU1dl9vcbWtIRn3lZcpv5pty7f/8+/26z4Yd/GzhcqxNBm4aqGaDdDnJxIo46
+iHtWQKcWiLaccwE2QmfOWvPXpYetspVjaJXg1qZVdnzvwhV8sRHF5XK5XK4fb60vWrVYV1NbFXjJ
+VUOUO1E8o7hqqljngGvOmnOtsJZvqogwMscgT4Rt6gg6cdV/XdGKvse2W+KpLen4fJqzeSVOk555
+XaK6W8Lf355p+Hud+3WbiWJCHVVGdS8fscugRWRDJ4xtObECeisnZWu3BnDutDIctbgsg00sw3Eg
+ylOu2kPgLpfL5XolRo+Q3isqYy4hcDnK+kstLENdfcmVuWse27eQYrbQt8A8dRFjoFBHmlUB2yai
+5qnh9+PPueIlHfScC5Knw9/1JqdNl6uahpS7QXDbU6BWLljaPTjLkeWA8hg0BG7uuuSsBdY8hr8v
+ZoGzh8BdLpfL9erS2d8jw3Zh8BIAF2ct7rq0awXQfLUcuqdaYY06GMXus8Baq76DAD0HSpGob2lR
+647qGk+/nl+ME71C0fNCB9qmNVV/rxcf5mG+zAHqtME2xQoGIO5JHXPIBmok2Mh3yYF2yElRYKvL
+LgVmBdYDWnGZru7Q2jLMlwvLfL2Wy+VyuV7ZWpeearatUGW7FmsIHIlts5Y4a9R8tRaYQWS9lYMz
+xABk/dcKaqx62g4VdeKq4dflnU++vF+uAa6QVvS865LR31v4++iTDXeH72cdfqJ59j7hwAPLDXeU
+1VXnFpm38k2b6VBoK6zl5GyxFJr15dAxo7q4QzdwMV8OgYOHwF0ul8v1KoyG3ahqnP5Pc9VWbEZC
+7yAPyixwFmgL1EAPwkDB1mMWSGciSoHqQDgXUJeCsj+VwSdXXPkdn/9hEe4IRj+/dw9/vTrm7zbX
++eEjcdXLnOLQDtzUPQ9dzxBa+bhb8ccC5zyTi5ZzhjSDjDMhrjzmWtCrA9GrUnWn02L0yoZLU3op
+IrvYgcn2vBeXuVwul+tHkXoM1OK4/hKtfFlgzbvCshICZ5sHrq6a7L7mrwmC4BpoAKI6DbTJmarz
+DpfQ4mo9x0+7JV6+LPjpvTX9wNd2w0++sKKyzorKiOapm+HQp+1AUHUJus5C35jFUeMGc97I+TiX
+X/9ceHtu4XBSdw3yde7kqqWEwVkXd+Q8FZfhk/lqd9Yul8vlelnxJTddQuAIkzEsoOaSryYBNxm8
+R5eNsUB84ICcqM/FUc9iwG1T7QBtCzquUPT3Qgh3dO/lWFT20eFx7h+1mbBO9SAXHAH7GGdt4NwK
+arek4W7ic7k9Bz243HLWcDhrcZnmrUt/tY0ZtQUepbd6ylezXQY5rF0ul8v1Ss6agXGPqMg7ZAuc
+GSkrlLNVgmsYnCCngCS3cmBOFIXiSUDda44aPgD47W+f5Wd/csW/90Gtp1pYfR/u8/HRnEFc9ZLe
+E1fdDTGIM27bHqhpgbptzlAjxzpjruVE2AB01pA3caWN5DpvdWw4D2MTOpXQRLnusQ3Wcqo4M1lV
+vYfBXS6Xy/UagG0DUdRV58Id1rw1CKxtcplCWyAtBjuJ21ZI9YnkuYGqLoqrJDzsHmJsM65/XwN8
+vUvWvgWOetz2ecdWX57wZVd9nvq0GQLU3QBth0kdddzIRzcnLWdhLSdgLadlLedoraHwXZEZwFan
+l0GZXjZYGHxciWnFZcZod9Yul8vlejVIT0Zvr28Lx4fjIdTS2eAYMIOgjbPAWivJNBBO4qhbHKKg
+67039yniC33QS676a3HVH4urruz3B3HVmqvmqH1pqSIMlXzoWi4BKl3WzdpUrq5ax7RpMRnL2WDW
+KWXE5UrGeHzp55UgBXEZBefO2uVyuVwvyedSQVZGf09B73G2qDzOOIrHkLjCuXhuA3my+VwRUke4
+aDK0ZxEjdDD1Uo9W9kpsNb3Aa4qrvg2srvrm8XH+6NuHOdIsaV91n84Hko+Scmox0TYPaSPves5I
+a7HHa/nMZ4x8Jp/nTGBbHDaiuu4tss0GL8VluwUetsQjl8OdtcvlcrleHdw7olrM1irLhChZJ5dN
+vdalRGrEYtStmEOPMNNHh/bc+rTeYfmuTSe7GtELfsqxAvxLqwBvmw9z97dVjrBKbS+uOkIfsO44
+68xvLRgL5zwM55h5LYQ9A4W13mY5WEGtB2uh2WZXYMbWY63ATuUYYe1hcJfL5XL9NPS+ACGW4Lg2
+I3Eea9Dq+q34TeOLf6bSV31HQ+D/suLjkw/zETxKyERdwiF25z3XTSuoDSkOAQmilrsnLXlnCNpM
+zrn0rqEVkiFZQBt4F464CCPwpROJOvwt23B19j5rl8vlcr26nvB8XOZYI2nWNZeZKV0H0NAb/03p
+5T+VTisrhWXD4XGm/CjNhjBwyL2GwGFO2wD1hnM4HxjOCbKFvuW7V/LNewefoRaZlRYuKzCzcaM8
+TTCDMQyuVeClcN77rF0ul8v145h8MaramoosAk5lk+P4xTLSOtvLBp2UHSvdXAGauVUtjrodd27f
+vn1lDIov9eo9V/3FZ5CPPvwDhL/WKcIKz/o4XItzzG1PA2wDEQWmmnISy01DyBCsBN72cbBu5JDn
+QRP6es6sPcvyBIi4n6DnyVgLrKl8aX+CmT10Z+1yuVyuS2AuVcrj/xXKcMEMl8fZHDSb8zOSaKdW
+4jyOtUadJKrrturMa3nixqFYT+G1jtQ+/foeWEHZFdEnvvTHl09/Rz7IHdB91Ss+XnyY1/AoLQ8z
+9u0aE8QOdD4qVZiHgThoHEEPtjZy4TRZCTxS6aBO2js9RbSnud/jz+IRyqUuT88a2czW6SU8NmDj
+RQm+y+VyuVwXxCaecDIGYg3MvOONDdsSz5jUYQucbFJm1oeD7cBsOOrU0e87gDeUso4v/y12RYK2
+r/qzz/jo9CtufvOb3KYP07obMBwwzoJAOiVhsLhgCy5o2buG2QlLhpnMOOcsXwu6T0sxXmrkx8ms
+sAMw7MGbp9q8MWRfLDh4+5bL5XK5nu8v7R/mnm3FsnlrK1a2lctirnXcljyvsVvKqcAphzxwP8tc
+BWDltLYoHf1B/wFXGsqNP+q7diHwu/DFZ5/lo28+hOY312GTv8bZ8D7CHLDbJIoCbG2clpNArKhO
+GW2cKlpxmHll3XapsLZTZKjmKV/AY2jbUgljxJvL4m+7WLD9oqUg3IvMXC6Xy/UkoAU1cNGYhVNY
+W1ct64wyxZMmVllzsqiEylYVJe6SbRdzzCElruRRsxy4+r7ny7b6anATf/wZQNxVgcN9/vT3kDVf
+vbleQTj/HgMErOsDyMMgXroqDlojDJzkNoBmA5TImqjmKci9S+obiHmcdMI2r6yELyq+yFKPC7is
+ugw9b+1yuVyu0bCNuelp66UNrd6FudU/WuVTKVieWoLlSAkhJIYqRQ2B05A3yZLZPBuO+Bwe2I+4
++fnnfO+td9R7lyslX30r379/nzRfvRA4rx99j4tqCevTNTaLYE5azwLaqhId5i1nQDPX2a5rSrSb
+xukmxT6XKx8cN2ppiR5Yf5aim8dcdiihjGfkrR3WLpfL9QsH9i5tOkZlDeDKDFsEpXAWWKRst0Ip
+gbY+Zo33auy7gpz6zLNQ59DUvKoGvnH4Mf/b/M/8a91VdXskzlsOapjy1RoC//yzz/jkWD78yYfy
+fJMO+hoehjNs5Qw0Qfx1quRMtHLZovXfpedK26o1RZ3HEHdZnaXjVqfwxO6EZixD4PIuHF6cd7go
+EWe6fAnhYXCXy+X65YknNo11TKO/Vn7sQRomSCMMesiLElIY5GUD626ONAiiqtyJo4ZeTPb3D+Db
+2ccM86v/RPGV36FUXPPNkq+GmwLrLwTWJ/AIjqv34OHme4jywdpEGA4aSO0Ea3XWcs+ay8uJJCTN
+C3DJRY+5A/HdYBV5Gq6wdMPuKsmujXDa270P6ykM7rB2uVyuXxynSy2ycYXL8qzCkF2YW0uYcUCy
+VcuDPDcIp4dcaqCTOEtx15RyN+RZc5Bz3zMcvc/bDcDxyS0GuLDU7waon8hXf/HZPYP1f/+3DcJH
+AMtt2SvWzBtoz1sIodk5a5tZxqWAzKLb5WrHbm1PNZGuvMwIcFFgNkH64hrhEqx1E4pXgbtcLtcv
+UPv56fIEjxPHmC+is0mAI85Zu6+yFlEJrPNABm4YsrYsYUhMQ66D0Gp4xN1hzd1Z5qNPwHqo74x+
+8Kr0umaj7RZ33Pzyc/7i5IR/03yYz759mFdLGtqtnIDN475p+hZDvw0AG6K4xpTXgumVXNqsxCs/
+Fof9WM7qIzmjj8ptfiwMfiww12lmOhpmmmKmEfVWbntdG8rjBDOYKsZxN2jGJ5i5XC7XL8pOI1/k
+p3k8oLReiZsWSmhOWiAtLhqpTMKUW72fFdhBIT466hBzik1u+oEXxy3DH8YfY1PJro7Ur3GIKV6C
+9enR1/lpWOc+Yuow0DYgFlgTr2PAlVzBPAYIj+SEPZITKwfIgY/kLR/LOS+g1oUeBdQbGzeq+6yZ
+Bzvp+gewAa1T1ThcjBt1uVwu1y+D03vAxjFCCxahxSS3CSwfzQJpAbSOrJZbwnKrYXBmHIZeID2k
+rKHvaki8antebj7mX3+6Yq34fvKnvUOg/vuwxuq9/rHAuhVY5zy03dDr5qzzpFu2bB54WskpfUyB
+HpEAW345ddePGfEx6/A2hDO5PRf6buVklhWZOM0Fx6Q5CLQrJ+D9OSnuql0ul+tnrum/83zhqkcQ
+CKRhB2kYobzbK8EXwA4K7QxDiOqqQ6KDmFI1z0fzZf4P+He4r+9/9+o/2k+wFuT5sD6BR+mGwDrg
+QZdS3c4Jt0mcNWc+1zA4AZ3JuVklzqusIW/IKw19C3/P0NZlmqM+R6CNPNbQ9+Vd1jZGBaZiNL58
+deVyuVyun6+bfiLsXTKhY5U3Tv3SFvJWMOtuLHmpHVlNXxaWUOizQXpIpBVlVZ2XTZsXm44Pz/6B
+LwrJ3nlQPxvW//y7uZyk60lhfdA/HLh61LcwdBDDNgBuIPJ5orxmgXVkXCmcwW75jJjk1kLf54Rw
+Ln+ALUygLldHw/jHyGNL11SOP4a//d9hl8vl+tm76bHaG8Z2rDLYRN209UhPmxk7S5ta6hQE0lAg
+nbnP2pOlU7o6SjQXN73t87of+PT4v9jGSIB7wrXbVz6l4ydctIlPFZjdPH6QC6y1zxoE1qmPlLvc
+KLM1bw2byPFcw9uYeZ2R1gLrdYZ8Lr/pOSOeZ1s6xq3cb7mELQYLaZQ/Ri5p6meg2cPfLpfL9fN2
+06WiuIS7y3rknZNmq/JWUGMn93VfpRg9bIU1HZHcBnmcoA+MQ6po0Pz0op7nfrbMy83wRH76akn9
+E2/Efj6sz49/O6wF1t3fVkOkmcC6ajMPbR+GrdjijfxiG4QklzBZbmEDGQXQuRXeyoG2txrZTn7S
+Ga02KEWPiwKCcYKZ89nlcrl+SW56jKhehrQYO4NzCXe3ZvhYDoG0umoWR83EfcowIHRJnk7pvMvz
+rudvzzq+rz/iIup9pWChKziLe7D+cgfr9cl5tglmC4H1EAY5bT1B1VEnDjsGgTa1SNGKxvRE2hVP
+CVXoybZJMpqXJqCks9PL9JPyR8pXfx5dLpfL9Xa4acaxZ1r+VwrICjc64UZp7RWuEGp0Fg3Wmqem
+sTg5ZRyqejEEiGlotrk7fD/rDupjYZeR+g1M54hX82NwnAu+27i1m2DWwCPY0lrOH9GQ4gCJh5j7
+IRP1uU+DXEqUsvmcB/HIg05J18WYVm6PNr3MJs+gk9nlcrl+eW6aeeemxwVP2v2jUVZz0sg2b0ML
+j1sDM+QWkMQEZoG13GoaNZO4auw4DX19MOu3mzbND7rcV9fyjc3A78OKf/3553xHf9Cdqyc1XeHP
+Gp317TEMfsuS86frlvtH6xygTihXMFoSr43mdkSytivKAmTdGVqulKalHBd/K//X1eVyuX6hkL6c
+m6YyvzvpjGrEqQWLS16arQh5K9+yFagYrCdHLW/XAdV9t10Zi9L5/K0Ie181qKcTCnfsE98DTc4v
+VxueH73PzeHA1TxzqK30jilo63m/F92QiyTbkZWRy+wxHBmNZXSoBb6N4+T4drlcrp+3dpAulhqx
+LNzIbDuf0q5XmkvRmLxiKzDeyou1fHsjoNjoY/m+LQdx2QR9HaCPzcFAsE3xeJ66w1VWQ/kmw96q
+eOU/cVriIXfv37+Pxx/9Ax/ZsDG57NmcYwg1VIQ4tJp+rnQ1piahAyp/kQPoeks5sGCbbEGmLqu2
+Md9lQbWtBC9/QRyXdfi/1C6Xy/WzcdPjDsVdyBt1L4RauF3YG6ZWLLSctBYjy6FwRptuKeZP53hs
+BSUtDn2HselS3g41Hw7bqs2rb/7MNz5I/P6nwL++9ebC3m/AUV/WLTk++vZP9snbs4hDDELlSH0O
+JBdFIUQOlIco10lRTqbcysEo9+0CI5Y1lwpu1m3WgncLhhisn7ry8QUdLpfL9TOA9DQbYz/kbduZ
+UhlssoN0LzDQLiELdSug5VWbyVETBOsmopxbgtiJDez7hMO5uGmiKm1ny/zt2ZmlaeHuLu79Rlxf
+fFPn+ot79/Do9BPsloDrzYqqPlINDWVIIQxDFPTGlKEKFCr5G1Ty16jlHMkBtcC6EhBX+vvjHqzl
+j6AXHgJsu8aa5smhm2qXy+X6uUD6csh7tNU21ATKlEoBNGmHUMvagqU5aXPSttTpXIzfRkixSTlv
+MYStsKZNfer4PA31AQ1DrlP/aJY/+uAgt9/UfHo0DTl5c17v6h21nNs7d+/KJ/4c4PcA60WDy6bC
+OK9txOpAHOVqRpxzVRHkWpx1LdRt5O8jBzZEWMuJreWPoKCu5A8hFxscuITESb205a9xDJDs37hc
+LpfrZwHpsdOnhLo55xHUvVDACsfkP/tby0PbTA4+18mW4ufO5flzzrihgJssbjr13FFTdTlwv15v
+Ur9u83a2zlpE9tV/rqz4+U266TcDatNtODm+j6dfz/FoXmNsZ8QC6RnUIQ4C3qAATgLpKA4aG/kD
+lUOALX+ORtx1M7prddZR/nbRXLU46pKX5rHYDKeLAye1y+VyveOQxnEjosVMy7hozUzroKuBEacl
+GzoedGvLm7IVQBVIyy3ZqmTWWwt7V4TbGEMLA/b1QEMzvzFQnqePDo9LEdlnJ3znDRaRvSlQ28f9
+4rN7+OlXS/zosMbTzYrCQU1yMRSGwHEQN52HVOeANWJu5ATP5E9SDoCZ/IEa+WPVgGSOGhTSVNw0
+4xj63qsAdzPtcrlcPw9I21wrsqruceEGTgNNxvGgUFqwdB8EW4hbwIxrRFzL+6wz8ho4nGdI8rW0
+ZQ6tDsQUe9h3MxyI5ukpN33Fu6ffAlBfhL1Pj77Gb89OqO7mlB535qYD5ojippFiFQTGWVw0q5M2
+WOOM1V0D6GH5avnrWZ5a3TROgJ6qvad8AjuqXS6X6+cA6fHGFm6ArTSe8tLY2WhpgC2OxWJgC5wU
+0iCAhrW801qdNZM667jBhNsB2i5A3dVpMxCep/5Rm5/jpt9oldPVgto+agl7A9wEDXsv6og0q4gF
+1IOGvRkqudqpc84NZtYw96yEvlmctIa9R0ctblpuoznqDMHdtMvlcv38IF3QUSANFu4eN2KVwjGD
+NOuwEihOWv7zr4VjBmZBwFoYsibAM/n+NTHrBsbipmNoCasOtNp7UDddjW76/3mr3PRVg3oX9r4l
+t/th78x9GPpNDFpElodKTnRNGvoWBy1/m0adtLlpgzSoky7FZJabZjHf8jlKxbe7aZfL5foZOeli
+8fYhrS56dNI2GpQ7eZUuatrK43OFtIa5dTWyAPxM3uMsC6xZtzGKm85DEjdN25RTS5C6Pp0POhkz
+0ix99O3DfPP4OJubvr0jyBvvGbpaR21hb4C/fLXE1Txatfe621i1d13H0Oe+Agt9g8FaTm6DFGqF
+tbpo1pA3jk4aQQ+BtA0ie4abdka7XC7X/8/eu+1IclzZgrbN3D0i8lJZSbJKbLU43YfTIwwo9MOB
+Hg4wL+Lr+QB+D8nfmF/gB8zjoYCZAXoAPQnkwagbhDTkUVOVVGVlxdXdzfaetbeZe0RkJa8tFqtI
+NzLK4+oZ4eZua699WftlBmmRoRnWEZPWWum96pgjK7/C2zWjW93ba8eywk5WeM222jZZYtxofBpI
+sROANLhgBxTp255i5Zap+2LJ7ewha920NpAqX+aFKOx9jkAt7j3banx6QZdX/05Vu/Uh1l5FTlTg
+pKpDcAyQTtyIgFU7BnPmXI4FFk10UJIlY/10uJtNT5ne05jGNKbxUoP0M+7uUoIl1qypddYBS3ZC
+OWnMKXN2BaQ9LfG+pRCtfKAV0GKTKG4p+h3XVSvdpu/wBEmdZm6W1qcP+Q/ac/pjJz903fQPB9RD
+fPrjD+3XrxcNdXVFYdb5rUtBXBU4SsVgylQFTRCrHQVj1ubmLiDtRlUykxP1RqSJsub3xKanMY1p
+TOOlBml3kN19h7vbQFoTx6gImWiCGAlA2hi0X+K5fDOQlhV2s4qaRMZhE1yzdQu/U5e3BO7nKt3B
+NykOCWSDpvcBar0I4/krk/3Gude3DT0Jkc7oVVq2nWqPWXmWyoUK+cpxqjERAGWfAVoOQFqKy7sI
+nGBmfUZmBWjvSjhjQuppTGMa03gJQdoWcBWF5iG7W4q7ew/S1qpSY9KeNmBo6u5esYA5OwFI+6d4
+71PsaAlAXjFXawq0Ju62zF1btfPOVwvw6T4u6mUKqUntwxu+Xv2af/Xxr0ts+sWCkOcF1PlXv+vc
+L//3c1o2n9H56UNabVdatuZJvBdtuFGFoPrdgiPrHQG0Jet6F1ETspi0Jo4NbNrtQfpQhGySC53G
+NKYxjZcEpN0zimN7kB6yu0udtIK0cGtM2gN8zdVNKwD7Ep9+ymDRpGCNx9jlSpzHa7KmmLbeN9su
+9W0XuAtxHednFK/aWXKnF/zH5SN5+x2XG2+8IAlkh+O5JpOpvvdwfze7pnm9oSZ48hwMrIm9984H
+vYm32mgDaDFN75FFB+uYpS04xLpvHLu9p0TvaUxjGtN4OVi0G7pguVG72xTHyOXmGiZkoiVYmjTm
+Wo1Ha2b3IUjjuSWzLIEET0mZNLbO2DSviFnLszbYGdh0apumbrmSftf5aFneZ0/48vr/zC7vsfEG
+vXBU7zkB9cHvLvre7bKivgrUpeg9RwNpTSjLsWfJzFq3voiZUGlnqd/Zm63ls6K3DBHq8qcmt/c0
+pjGNabzwID1Kgrp9c40sYjIkjkXrKW0lWEPi2BCT3oM0PpQBmrElegpIWErilSaRKUgHrasOYde5
+1LnGjXHpWbhI7acP+frykjXL+0VLIPtBGPWhifIL3F55Re+duTn+S4DhxOoCZ58EXJpMJC5Y0Dnr
+dytoW/9pylNsGd5DJbrIxKSnMY1pTOOlAOgDV7fkeHRWGXOUci/p4uqmsZ+0ArTeNipgoiVXCsbK
+oLGDp+ryxnM3CtLscd8DqCt1eYe1q+oNBb9TJh1c7Lq4jNuLOg5x6UHY5ACkX8jA6fOJUR/89OtP
+PqFTQHW7WlKsTpQiUyW19igj5cYK1kzOe1KcZoC3GhMmwe5zdrf5S+iwb/iU5T2NaUxjGi8Hi96j
+QnF1i2V16+Mkh3XSzCUmLS0W+S2e24gmjpEmjrmVAjSAYs+kHYNJu1UItErMa5C/bQDAc/Dt9rrt
+w/l5v+6fxNPmXlqfVjku/e7b/N4LGpf+QRh1Hu84lQ7N49Kd6ox0PpsxMKbUvy3m49atsxi0mTnl
+ebEYtFivaRhj5I9sgUkydBrTmMY0XnQWreyZBq3u0dVNmUU714vFo6XF57Kr27pf5fpovG+p7m7v
+3Y0C9SFIazkWQHqZOKyF601ws62y6ZZSlwL3J32D/c/S+mrDVw8escal33uB49I/IFAP442jRxz7
+EWLDcNiY6au/LhWX9zSmMY1pTOPFBOkC0LKXAh2zurVF5ejqtoQxc3X7rDRmrm5n7m7V6fYAYllq
+ohh2eKMub3z2BjTvhjXbm8JTN4B05TZhRltOqa0UpLfc369f6a/cDZj6RfpVAWlTH3uB49KHo/ph
+/uynzhpgDfBb1cI2T9nvYdXQVrF128hhd5A1ZkRbplKsaUxjGtN48Vi0AfTAVkUsgDk8S0NMWpRd
+R7xaYtKibSo7N4iZONlqByyAwsoaa6iQCUCbAdrkAdD6mNPKkzd3t4maEEB6k9rZbNbStu3nO4pX
+9U1aff6E/8s/t/yRgfQ7h/XSLzyKPGeg/qBsNZ3s2q3diWsatuRukgAji83aApcWb63MREpOoBgk
+U8khywFqfd8I26Wh+MSwpzGNaUzjBwfo4uYeZUD3sWg8YJCxJKWxBhZ+gLQU3W4twaLSqlJB2q+x
++K9JeIWFf0msNdK09IStZncreOeY9AZszzK89yD9tG8B0stzHxWk3zAd708OQNq9FCD9/ID6QITk
+8s03xX3SudnZufSrBhDNmKForpDgsfFBJ5HF/NqkrhGl0Rqi5kPXCR+6VmznE0ZPYxrTmMYLAdC5
+2iqz6LJ+C7PqgiqLTlYnvWfRObvbQNq0uy0uTSr7SZxbVDoFZdGSKzBoVR9zK2DAKuhrAGmq6o3j
+fkeh382qRXcXSF9ffsLHIE0vjT/2ucWoD2H0M9weP9Z7K8zKzgXAcgBAi0qfKCArbHtSi0sL35U4
+JyqarwWpS1ZZcazQcGJMYxrTmMY0nitAu6NEscHNbYlihWgl8K6jWDRW9oP+0QbMawME0+kusWiS
+G+zzCQDhCZ6/IeexlRuA91Mtzaq0RMvL2vtqre5uTRzTmPSPDaSfH6M+pNS/c+60acW/Uku1ThJm
+DTOg2nlmEq9p+eUmCs4JE5qESmZgBm3WR86XLZUuKwOppskFPo1pTGMaPxiDlnxz+VUjWrjDIFSR
+1NUtRcjEZSET6yXt3RbvsFaVWNQ3oGVrAPNKVF3Mksm0I5azG3FY4/Fa6rChlHZd7Hc1hVazuzcl
+cWxZYtI/BpB+roxax6/eeWc8QPP2Unb9iXSJVeYEbJpZANZA36Q3UoDGpGqigU3uWF9nijUazpYc
++8jxj+wCn5j1NKYxjWl8b+BM7qsZtIxM2uLP5KwdpZb1dBqDFgVm8lYTPbJosk5XT8GOb7AfMGen
+zNmYdGbRzhi13rwv2d2e1066TaJ2u/C0S6lpA510Q3b3jwmknyOjLnz3fef+8Jul/PP2F/IkbOTs
+ZMHLtmNVpvGSEvUR7FljGABmkgiGjW3WeqWsVpOcnghEeZtPCCuqHjPCJ5yexjSmMY3vhT3nhXyf
+JEZFqeQWg9Z8YMvqxmcjVulUVMYsFg1q1nminWg8WrJ2Nz6zwWIO8NbEMZcbbYisOSiD1hpqD2CO
+G454n4qfeNlVAOiupY7Pmk7iTTzpXbxyMyvBytndtxPH6KVFh+dfnvVb5z5/q5PLRS/buJR5teC2
+Ja4q0GpfA5g5eu81htGTK5NL5SYmKxf3zFpPCEsy827I+p7c39OYxjSm8R8HZzd6tN3grcxUiMfY
+dHlHIUx7gBYtvaLs5qYDkMYCDUZNO1DvktlNpt2NHa/xmoE0632AtDbe8AlgTWEdvACk6633aRei
+qo1Jyxy7raT+fDvv08UrcdPcS+5qw1onfVyC9XKDtHPP0/VtB+t99+Ctt+2AnW47afooqW144QJY
+dEy+ougVjFknNQGopdNbAelhsouCDRlQ47wYIiJ79/dUXD2NaUxjGt8enA9c2zLUQMuhe1tfIC7r
+79iCciBVonFncq0vbBmAW5TFnHaxWnERLVFlMVfc3ADua7z3CRV3N5b1J/gbT0j8E1eFGydpKZFX
+3oNZM2/inLZUhd1uNev8/UW33dUx/PmxKY79GEH6+QI1jth7tv3AXV5v5frB30mcLThVPXOIKu+d
+mCniG/VaU0fkO3ZeJ70jyxC0xAO9AcBp7wpXN7gmmXliGmMnrpRtTWMa05jGNL41OBeGbGT5KP6c
+mbKzGmjN4KZMoshi0Lm8yjK5VawEDJn8Co9X+DvW4QprN4CXb9gBiB1dY1/XQoIbXcMUuFbQNoB2
+7oa9dsJKy+D8SjO7tU66difbyH1bh5Ouun/RnaYqhgSQPr0yWdCPiuLYjwmkdYTneUq4//bfHA4i
+/c//U+XS9oweb5/4+/N73iUJXd9Xla8rWEw1jnDjSRqcPw1siQaTiK0+phrHvnbax8NJVb6/ddWy
+PPAcPhlkUIZmHZMLfBrTmMY0jsF5HGPc2Q1ZPjI81q7CVhbrSqkVns010K70i3Y0drkSJVWjYIlm
+cGsjDdlgGd7gs2uQqRXeo800cGOthS59o/1T1em2G2lmt6w80TrFfoM/DGDG/kK1C55amXMnMuv5
+i1W6esrptfsXyb0p/On/VcmD0wGkB1nQ9380ZO15Zn3bQVOXxIfYfr7SOPU5p00Hw6lOVb2Iifso
+XszlLeJbHG3rnLIXaBc8h9fIJOYGN3gu5yJLMhtOqr0LnGhi1tOYxjQm1uwOMralqDzKnjnT0CRD
+vZul/pkyc87sGcyZvGVuW/Z2WZPBoHPjDGtBKXrTUipZatMMY9BE5tbGn3gCHnXtvH/sfHhsLBo3
+Vre35Fppq51WxTFKq6qZr3yo10HU1d3tdpQ6/KU+nfhea6Rj+yi1n97w9Se/Zu2C9cFxT+kf1br/
+fJtyDHHqK41Tf+Sut53E2RnzrmcYY6nibJ35MTaNE4GcJR1Qzg7Eze9wCmlSQgZrUteLSdGlnMgw
+CKHIBNbTmMY0foKgTHtQvsOlPcScD93aCs5CNKyjVnnjcllsqXemjqzlZHZv65psAL1PBFuJubi1
+H7TX2DMAWp7g80+wKj8RA2iAs8h1vvG1V1e3ArTPru6knwVIs0sr78M6tt3WVWHnwKbrVd9V4aJz
+C9drPFozu7f/vEi5/MrJe/q7MkiL+xHW/jznrG9y770r8s4HH9Dl9Zsye+OCP199Jq/dezVtrjep
+OVlESalPMJ9IEtizbzGZpZMKgNrxTt0q2M0M51qtN0xLwHNBm2GK2Y1iDTBHufChy9aUCT6NaUzj
+xwjM7kA+4rCEyhViaVwlZ2tbI6PxBX/Q0UqGEqtRttkN5bBestcyE6KYQVzj06JESWPTPSu5ApDj
+9VaYWyVYWIKNYGm82muGN/MgDbp1njZMstWaap8iyBftak87CalNUbrYYr8h9DH1/dyFSHVMy/Zx
+ev3sgWYs8R//8ZE8+JHGo18AoM7nkLm/f/MhDvRidH/Xs7MY08ZKs8z1zV4Va3ZUuS0nxoQSLDc/
+w9k0I229RQ4gTbXTODW5IDlG7e2UzEakNrbWpHDKXbYmsH4+i8ZXzf507Kcxje8PmA9BedCBouGq
+M2Au7QZLaVXup+AKvc5hw6wAOYI0lcxuLbNyBIZd2lFqApknc4PjLwOkXWvxafOA+h2DVJkXNPeT
+tnj1ANhaB02Jd3ofn9vhW4CUpTZ61waZdUE2vYSq707WkZ7Uact/TSE1yZ1ecPvpjVxf/prf/q2y
+6PfdBz9SV/cPDdTZ/f2eur/fksvrc+keLPlk+zAl9XwkFxM3va+itjprxbtdYr8L5DecAXrm7KbJ
+Za4W4RogHAysBe/2XhGZLJtMz1BVDPewEFn8BNbPYeH4+rK4wfKdgHsa0/g219jIg78MmG+xZcmf
+27PnAZjdUMrKeSvZ9T0wZ7H7JS5NuRRWBje4dbjKcWry4LWZRePPaO6QJZG5oZe0hinFtsqkd9g3
+QDpsE+6TMmcXsLZzW1XcsoQWS3dXaQetqut70Od55LjYxDRrQopnb3L78Ib/uHyE36Es+teZRbt3
+fzJhTfpB/iZOmfd0++GH/l+22/BGehhgc9Xbqp0t4mzeeXfiXTrDSXQO1nyBz1wAZC9BkS8xK/cB
+x/eZ5T5OknO8prcT3Ba4zZ2ybXE19p6zwsXA2kA7W16Ss8EnkPgPz+KxDXvgartt39LtOwfHfpqL
+aUzjawH6CJyHzGwjH4fAPMoo57g00R6YfQFmN4J0ZtClAVIGZmPRY220iUtZC8q9YEmOV4vJgeJP
+tTQk/AKYlR0za2hSCkgDlO0xHd23RGEANL5S56nudv2un4d536dNbHuK87MHsb/5EyuLXp8+ZCvn
+BYvW0t59VvfhmvPjH9UP8DeLnOj77qO33pU33vwdd8tXyfP/4Ka9jDFdRx9mHaeEiQw1e9d4H2rH
+DADOJVqYJQXi2klxe2t5lsPppq5vI9Sy71Sde2JmZi3l+YlZ/8cBet8Q/mDh2IP34ZEdSLQcOOHK
+mwebXybAfgE8Il9qyk8ekB8KpAeApluSnXqByUHC2NBRcFD0zJ+36yrXQkupiFHKItqFUKxZRm43
+KUfiJQbQkt3b4vPWtLo1JGmJvlaC1Wrmt96891o73YI8ZZBWYFbWHPEe3A/qHeXQppDain2bXOp8
+rDsJuz4G30tFMcUu1q5Nq7pKvcaiX7uLRb8jHwzG/U9MLLr6YU5C596TdzVTz7kPl/LX7SNp/cOk
+IYw+nPQuxKDdUJh9hfOtBmjXpO5umF84vSpgLr63VDgJgiaTkcLwANDjwnLQo5rMbgwleu32YF2c
+QNP45tb9qFZUFo7cLScv40KDL27PtgeAHkNmdp2RNdPJFvHeeJoA+/kD8xiueJadkBuMK9kb2dP8
+PKf5ybKdA0AP5VV7cLYX2I3JYPm+qofZdZg7DUruOki5BjpXxahgiXWzwn7jEYPOt16KyphW1gDX
+e0e+E3NzA6CNSVMumRXSuPSOhY1RK2gHdX1zYdkByzruJy9dxa7liro+Yn+99H1o+6YNsSdg9U2X
+ZqcPY1w0fPrFktdDLHr1a377HfxFkLqfQsLYiwfUmYlZk46P3npbLgurPtluUjhJcbuJfV83gTSE
+EQDWwVU4USpMVQXanMVOhBTEg3YiL8sHDUBwQAWGWE3IJYNDwtmALCXzbFp8vvHCcbshfDb6aZ85
+Okq40t5nlx9QNvpth2RLCt0+5gcGlJvm5PsxtJ6NcTq6m1LLoQfsmFVP18z3OUfjcRctYBEZKp8H
+TW0ZNCP2GtvqypbClg2ci0hJTgYjzuCsrYRVh5vxnB/iziWLeyx17WEXZHA29kydY84Z3TKUaAGA
+nW+dxab1ebBq5la8bxW0ffCtRHw2SRcN7AHQHgC9lZ7Dom9OdnG93iW/uB8rv0596Hjz4CT95fd/
+Eu14pRndI4vOZVc/SRb9AgD1wKqt/s19CFb94GrBzWLLax/Taazizm37ed1oFmFIXapwUuAWAgxC
+K8fC46xKZmlitqqTDFpk5TyX8YmyOpXMi4IIPouYTeDwFXMkzwD06FvLpRw0Zoya3cNlEd8f72IG
+2xyR+bt9NqekZOgP9w8AonjRJ4/H9wPQI0sb4pzuGcPqMHJUKhyPrgsa9Qmm6+VvOA5Bulxw7I4k
+PBVwx6zs0us5J4KBKcv+eXfQuEjjzxmgTRgKLFr7QktWFcNWZGx61OVksQzOTiWcVQ3Mp84DjFXs
+wjvrHd0mtg5YmVXjeVgErRfGFqgL9u2908/2IcbeWfx5F5sTH/36Oq36CiR7kdLSp/Xcs7m5z//K
+239eyPXVJ/L2b98pGd0/bRb9YgD1yKq1UUfJAF8v2f/8ldQtWLuu+J7YVyxB/eCpl0BBcC54A2tP
+wSRDxUItnrLXp6wfZS2hUcO2gEf20oYSy3YFMGgCh69xcx82hD/slmNW/Lgw8JBJKtkJni8ubxyb
+ijdDS+a8ldJZ8RyWBKt3L4TbAHuQL7S/WNjb+O80/gOekNudj3Ry+Egu8s6LNDtC8j9HOQZT+Oh7
+YdOHYiVDqdQYT859nhV4wYgp1zVbvwN2Y8cqXFZjcpiYgImVVeE12mdwi0QsgtpTocdl3A/CJpRV
+HzuwY41FA3QVkL3WR+MxtxanFumCq1o24aksTsVUdYn6XlLscVb0KTR9xS1QmmLTgljPAdncpJ4d
+B16k3XzNr5+d8OerSl5d/BN/9ImTIze3m1j0LV77Q3M20Wot+vA3H/oHVw+xUN+EB+4iyEmqt5vd
+LIRqloQXmLMT7/gMp965ZYP7cI+FL3Dy3RMWbN097Auv0Rnm9hS71kxwzQKfa9215Nprc5+7USO8
+gMcgljK6aJ37SYLDkettiEMPi4bVWGb3276+kg8Wg6QJKj5vjxd+BWbl0TC6MkC7XFJH5tizuaAM
+6d7K7Eqz0owhI0i4CbC/DUCP/owhpukGyciSeMR0EPOkvdvJFQu2+Ld1HnRaB+/H6A0Z0Hqqovib
+XXc0WFYZpHN8WePJuWWkio1IZsHFTR2Vtdp2jDEL3l+aFmmSmIGzKT4aixYD6YNM7lIPjTnuyfkM
+urkdZQZqkj0YpwzeVOlj38XkAMx9r42UxNd9E6VPdRclzHradqmfKXMHeyYA9LplXwD6dN3KkM39
+h39fyoO3DrpdOTcB9IvFqPe2ubo53rl6S371wPG//H5Ll/+pofWTmMIJ9Q0YM+EMScq8YNp5sOyE
+Myvo8waw4grQDoX+FielwRplW0KyS5ZHC9XAemDXufS6sLkxMXyIXw+e8h/xQjRmcot7JlHMlcxR
+VrlBb2BsIF0awpcuZrZAqNXPBtqjspErMJubpgw173r8cR8zVZHLynLYL7Z2E8PtEbBLIlqm9Ps5
+mQD7a1zcYxZwmVMqGcAyajoP3hGbeREZa1L1LeakktLohrJRi8eYAa+JS1RQf6qi+FusgnLbMC6y
+npSVwPI11lsrSZLcSlKB1QBWckOMAr5U3NqYCrzuM4POoJ3BmkqPhOLuFtsvZ5e3ubBV90vfg+eC
+mPubmXLWd9C/FbT5BgAaN+mjq2Z9YGB2n6I0FDnNIqVdolClRWxSnO24v5lzN+eRQTfdVv74p0fi
+ANBv/zsA+uPJzf2iA/XgQpNfWbnWW+6N2Zs8Cxduy5/QPGJNWFwSq65JTLqyYwEJuM+aRga48Lb0
+l/N7kMCTInLCeBXnmBtY3sACm5xcYclpekGE0f26j5/uM5L3br8fVwLNYY2mlOSiWwAtR5Z9jnW5
+Ur6Bt0Ws/bDQKV/wZYEgN5Z6jH68ohEXsIjorOG4i3ZB03Ov1twD/OUKzwfzdpT3ulHKYQBspmeM
+KOemOuzbRtbo4h4Ovy/ZwLlxexa4ULtXNfuMVeea2iONZH23HXVvVhNZFa4ZVD4ffp9LIgcjyrmp
+B/x/9Doc8gaGebA1Kw2gakBJ1gijxVKmjLfVkihN5jKWS9YHuldZzwzauC6ZjUFjClWkxJi0uLHc
+KoO/gjvAN7mk4Gys2qRBAwGglW1rcpkyZgXpuvcS8X1qIHQfKxdix7vkZyexWndp3VaJZJv6uuUH
+7tUUF1tebr28/poC9P8r7aeNXIFBPwvQ7zr33sSiX2TX9zMu8I/ecnT55u989/tlSD9/JYQ/P67p
+NNQzVzVblnmlwiaeTiT4U5zXZ4Dkc6wf55jjc8zyPZyU2TXu5AxnwKm6wXFSmxgKTvw5ZVWzA1EU
+KkyuqJvRLTY3UuoDF+zLChDHWaXudh30fpE4iI/tE1RMqF/MjSZFAEFyXMuZJd5jRc+LhLAKt+rn
+StcXy84PbgRnq4FXrXari8/PEQBbKnFHoYlQmPjXz8lPwfPxDeZxyCVwe5c2yyANOSYZZYGLIWSR
+a2vdYbgie5hyHgHsY65onL88l+TIFy/UPilwcoF/R6/igcubiviIjOVSGjNuy816PZdSqK2WRmlJ
+FOXugq0rTDu7tC32nEHacb5ugxjjdpkR5y1llh4UlCmYG5vBju01gDOYTqzxXGIXtWlSqn2kXQcw
+pugdgFld226XEsC5Xy+4wyp9eX2O7ZL/stzKG//bQ/75cikfWSOmD6x7onpQ3V60ZALolwio3WCd
+v4fv9OH7H/oHbz30pw9O/Prqj9Vpfb8CBNQhdDNJPHdVPXexN7AWBhiTOycDbFUpo3MA+RlOWIB1
+iVeLP4FluMAytcgNPdyMTCvc1ayNPZSX59i1zwx7n/xUIJlkf6zuAO0XFCTuFLM4LsshN6awjLHL
+wfVmWaa6aJDP2aEmyE+dqNuNTPBAdX7zNlv6fXbVURyA2nQV1F3KDte5wzWvAK35AqQCNioJ2xhg
+kzfwdjYfpt1+C7CLEWUHWp0lZtvRMB+SC+lf7Pn43oysMYy0zxa2GPSg3VyAWczY2tfNCp7TudWM
+TGPXNJwK2dU9eDlKD3j1hGTjVgy4ZT8/NMarp/7v32VOh/pnViPXXNXKiBWkhVoTESndqnCEN3jX
+Fkd9U8Aaz5saWKuSnpKZt7Fmr4liwsaklVErEFN5bDftVFiAG9Zc9AKAbiqAc4wBzxs4qxiJAJxd
+l7QAx2+6tD0NBtBx23Ff78Cef56Wu89kNz9nbZphLYw1/vzLpTXO0B9oimJ6ZwLolx2oXV5Y33+f
+3nnrLbp68ID2yWVteNJXdVj4eiahGcDaiyyE06l4r6z5LHE6JwVpdnmL54RFpUjBrN0JmcwoWYJZ
+doGX291sriQ42THag3ZxvR6C9hFIHB3V5wgWRHKXfOez0oNDuPfW4p5jlLaw64KRXdiEhbzEtQal
+orFLzqDtK6XtXQZuWyTYDf3BDf41/ky60NuCLxp6AEDLDEdtBgvf7us8qLejsOzKOqPlPIKDORmy
+xPfz4dyzLPtHA9p3gvMYq9iLzRwYWWNd7RjjLMzZkorGpKN+TEYaerrnfI7hmA0Jf2XO9DrBvKkx
+xdKU54xdO00bIfGlKc7Eqr8zm7ZJHcJGpbVkvrYwvdqUaA2Ta4MrQNtJrnGY19huMNsK2ltcuTvM
+Qquua9hfxo4VpAPAmgG6uGhicpwUmHE1Rg8w5pCfj31KodoDc9f5VNUH4GwJYW0K2PJ2wanuOMee
+z3mx7cXY88+2crZaiXZFPEwQ07bGJvl5eC1OAP2tR/WCLUxH8WpNLvvo6qG7cjfuQX3hnmwfuxZQ
+OwtBA2caZRM9u6zdhvdYNTyzJjiZdm1JqiCrF7RC/tySTfIiRQUsclcYZXmH7ldzhcserIdkKCr1
+pGPKawEF2Yut0OiFvMV4ngXxuwyVZ8D3jmv7rlP9GYWp40465A5k/Q9ESm4LKDgr8aDiFrWWdhmk
+FYS9s7pJ0Q45UprGZ7DeYSc74Rwrs3gYqzvVvgCGx/FjLO5ewXfGeuwFxhK7OWyCuc4FDp51RrPu
+aEQFHADuMN2P50TDFOTL3OTabNNxzyj9rOLZMBdOXnzvx0EUYpzTQ3A+rH0+nEcelKn4IFEM8ygl
+4S+DsuYT5D7vri9JSL0JXoAxmaRkFtcgyycoIJ2NpyyaUUzUXB0heWbt9Bnd5hNIfyestps35TAZ
+659LlypHxeVtnabWeH6lNxzmFUBZ729wqWnbSO1W1WrdM6ZEP9fjQolYEKMPKtFJuc90wJLZ+0RV
+BbBOQHS9z8DwWayA5T6GdOIBzKlLXDmGJZa4aThtHHezM+5fa3mhDvazv+f7dZTMnmFJLByA+r/K
+9eUH7ij+PJVZ/QgZ9fCdxnj1B/QrMOt/+f02nL1+32vZ1pP+cQ0brz69PK27rgfBTnOs3osY6URL
+uIKnU05yBiA/BVKcWaxa3ClOFnWRn2DhysyalFnLPLO74n4FkKjrFX+/0sRyYxVseuJDKVeOl/Lt
+EqKy1I561oOK0wF4j5flLfb9HS9tOsqOPFSYKn/4TsH+QaDf1ItMSEHhFDBqkoIFnIcEllLCUVrZ
+qWtNTDZwhwV9CxvJmsdn95vfqui+AbXFrNX1rWaUWI9RLcECWANsucHDGf7QHN9OAXouOhf6mMQ8
+HfhS1sZUAduDwYnFs/OcSMkpAEJ7lpwEmFn2QahikCktqc4FrMd5uPP43zaevi+woa9oXHKbNX+p
+B4RGCclj9uwGRapcP1vKccxIdfumCjaXFtcseQW5lzDAXGtvLYOMLJ+AtDudmAGlc4M/NjS90dus
+eKMsKdCqJ8hNrPrbrnJSUudp7/1wObvbNLTx3EaBGMdziS1utMRnnuL1p3jfEh9dGbNmXIMB16Jw
+SynAEIvAX3Vh6zUMthyaSGDNmKLUNzEJ4FsTCrHEGWPmLjKdgC232II1J3z0dNuBOS/AnAHOcwVn
+MOezV/l8O4DzVn7+y6V8+FvnJvb80wRqN8arC1hfXr/pP20f+QGsN3VXUb+sk6uaZh4a2I1z4QoL
+fzzB6WiA7QHYOHENoL3ofcF9f4LF6ARL9QmAwtzg+EvzQ/frkOh0UHNdleYfPi9GJYmmZIgfxK/H
+eOlB/JqOG1LQ18wB3c2ev3RZz4DsnnF6H7m6D4T8x0WBS4edEr8stdBWr6kJYZKTSQx0VeBg6DNb
+2tYpODPb1nkPW1usO062/n3nNQ5mQO2zCo0yNAoV/lxjx9oWfjGQHowmvQ/QwHyoAcUjYB/NCYwo
+PJ9LuixDfHDRjglNfpyPrII2xk2PQha3pGa/1niib3u5fBUQ32VsyTMfLBWHB5RrkGkdFOCMx469
+g8kNYhi2zZ6QcsvgrPOoKlIlbGE5BSZu0ZemDFrvqCeEhhfUIIKxxHOv84HrCX9NdQlylzoybYKZ
+OMszKG7wo37wU6z627i9pVRUWE20zZmyaBjAtMZ1tMJzBtA4ojc4qDf43I0BN7klDNY1drExo1l8
+ax4TTQhjiurOVnDmuGXdKihLAEp39QjMc8XzesapAHPTfyFxtgA4n38JOP8a4PxhBud3AM7va15R
+SQ7br3gTOP80gPpZsFZm/dFBzHpTA6Wr8yqudg0DrH1fzVzFFrdmAwA6yQsMn+IEPclAbXHqE+z3
+ZAAJZQqkCWaZ1dni49UVLtKUrPCSPOOG5JkcL81AXWKl4oswWhZM2WuX7gVU9jrWtw6/0FdNhBwx
+rdvBZ5LDNiMlWnnc3o4OxPv3C3tpDD8C9VALvQ8TaIzMEsYykyYP1myN4M3Kt2bw2PMGPy4DNtHO
+iyW09OLBqJmzK5X3QI2jVRMrUOcMfDv2ThbjXBTQzoAt8xzDznNSQLse46PFkLL4N1lB3iCmQgNg
+aFIU3W1EHRhQR+6OZzwg39UL8qzX4y5AvsP7cej0LnOY488FnN1oaGUWlhPBooxJYsqgbR5zBrAB
+85A5rNnC0nrrFSwt53aFWo8bAdMsVrWoTWHNizEzrxOMWqceKRUbIt3C2BU5sddkyC2YWPW39qwM
+pjOZgZQkG0sm40lqDIto7BkgbWz6BkfyBvef4IA+wcduSJm1Z7BqvxJl3QlzGxhzW3WJ+xhYjTWN
+L4MxGzjjFhpWtrzYAZirjrd9kjOA87qLctGcsyaEvQaAvl63cv6zX3wLcJ7Y808YqL8crDUbPHVP
+w+Kmr3ZVqvyM6oZ907Vx5pjnLlTzEPsFh2rhMwM4wfJ2grXoRAEc68nCmDW2ChTZnZeZHNZ6c7vm
+BSiXDkmuua7ckVCKxkk55IVN/KBjnWN3g1BHBu/BfPauMOs7U8++FqrlMB6d2c8+CnsAylIC56Xv
+rD0ywX61qnN7u6EERIqLlGJhVrkmWpvBs8vJLGDSusAPbm68P7Np8huAsWWd+hB0YWnVonc+9p6r
+qGKvpM5vTSbAcfLJGVAXFjbH61jo/Xw0lhSwPba8Z9iUk87M1ZrdsJb4V+8Zds5AziV2OX5toC05
+8SyXGLmsL743mo5LiY7Y9W0PyJfOy9fbVbeeutPzcRSuuMPQGsVIclawcwflcp6G9oTHrQnpIKdA
+53GotcU8Yr5yvLMAtWg8k91QY2vBEG8JYnp8PUCaTyxkpNUTQ1UFwJrUQ+UUrJ3mGsxG42li1d+N
+TdMQk6buiE0L2LQHexbGDQBN7hrz+QSH+AnOdgXuJVB+5WPcpqbZ+k46P2cAtSqTadlUnVLbGzjX
+MUlmzEnUnT1vkyx3URaXvVxvO1G1sPPlVj5//R+edWtP4DwB9XcG6/Ujn0IX+LWLMF9xRTNfp03b
+MFXav3qmN/E8x+lvYI0VbuGDLv5hwZxOsCItDKglMzmvgKBMT0FENC5nyUxNidVZJnJmDjk7PCtq
+ZRZHBRiE9i5xKycaGlGMyTdHgVAapRoPWR09u+QXARLnDpsnlCDlXs+8tMLTpLDBUpeSxU37+OWQ
+JJYZdSnRcFaeUcT4c4mHJ8s21UV+l0tAxGo3vfebQ9c3jidAugcQ1ACCaDWZsNxjlVj72bm6xpqP
+Z8SFgCMGoE4NJZhWxDPnsay4tHgGsM240udUOtZnb4cl/mFevGQ5WHFHgE2U631zw5YimiIjWHs3
+Mr0chC16dvn+gQfkOHTxzbwg38TrcUdIorRKP5L5PDC0rFRHg/x7UZJc8zz2Ds65ALcBWrqxXM7t
+8wrM4DKPiNuR1uEOQG2foUQlocBndtzosdfcDhy2M5zg5/g79/D4Hj5/ju9z5koVBWeJXkvGpIlV
+f6PY9HDFWrZLNsbikENghpRzG7wPbNri0gBmBWdSkL7Gh65xYJ9gDXuKo71kMOpA/RZnw6533M2t
+AYaPubZ5weezltd9lGXby3zXyWL7qlxfFmD+GYB5BWB+E5fy75zL5VSl3nkC5xdqVC/BmW26ntZp
+6/2PLRv86oGe3FfudP3ALVIFC3En21WSWX3OYeYAEdoCFagRQ3TcRmlmXYixU8bHLiq7UPa38+pi
+ImXUDLAAixNsXVAQKTFSUUCw0hRRgQ6tvYap6qW02lThBzmQv5TCKDRdyxktGsHBuz045NjpgV5e
+Rms64HT7HG0iOQaCMayq7b8yJyxNR4oOtwzMS4b+s0Jj/NKXxd1E+T1pXWWWEaQM0srCvAK0WBxz
+Vxh1dnuTJayotb9l4R1V1RZ73UkVWoqpw9HonW96zR7lWcWhjaqUoIRNs7QDDlQF+Km5guGTcJyx
+Dy/VDks7AFv/jrrUSZPLLA6qWzWcXHGF42jOgF0AeGrwGxpiyfFrzAneV+LXWhMvVtblSw22EUUz
+orKWuIzhioN49t4DcrAaCXm67QWRg9dvQ7Xc4fUQR4e1zgeJfTKWBmRzYZD5pH3+wKj3XFjXvsGC
+I8vYdmXu2LSaKfcMPlCt0ox8yy0o2fk2py7X3cKytAxwzdBnzb4QMzYxRzCKvO/NrZ6rtrTTXGWA
+bIargrJkcM6NHkKuHBg186cM8K9yeWet4tK/3fpCj3KhrvSB1v7PmsltcyW0xUc11LTVxDEQkK0L
+1Yb7tHU+7kI923KI7Qmddn1cx9o1qXIXabn8TKr+nPnB38vr2yj/9vm/urPXF5alrbbu7/VK+38e
+OW0p6S6d065VlhDmFKq1vaR+50k1bGLU39oW1Wzw98Gs36Krjx/QL//unGZvXPjPV1c5yWz9qGpn
+rppVpxW4cM27vqkb31AMs+jTzBNYtrrGfZj7FBdYjDKLZjEG580lqwAhBtQagwODtIzwDNjK4NT1
+yrrNpUNjrW8uG9pv96A9ZogfADU5R6N71fsvX9TMc8yj+7TUWuVFfVAzkn0rvHwbLvy8NUWxwqBz
+s/isWqQLvGj/WbKazRyTFquPtjhm0ti0ZndbfJq1IfzOB7dN7AGuCQzat0FgCcGS967uNH20qnNs
+DA+kms0ltjtqgjodmhD7bRV8U+HI1UGoiUnnJLNrUVer3yeZGaPmZFubDwA1lbKu3GTlVuyaivuV
+SyIgHSlqWTKgSE48y3aTKzFsn8MT2nhCzD/iiqT4V3pBvtzv/WVeD6PvYgU4ZR6LOjbnzN/MoPd9
+hocQhdvfBt3mvXt7ZNFalkNZ83lUscr5BZSBuihaFWZtbBpnR68iF1TVyb5s7ANrLgGOtw9h4Thl
+ASFHF/j69/Gd7+On4D4puz7HrzjFjxpyPDSjv7KKCTeGGjy9fOvM83F5F5nQIdP769g0jvljvPbY
+JXkCcwqM2j1ll1ZYy9bU+12c9W3acj8/o1j5eerOlny+LYx5iDO7D93AmHUMmdo6xmztiTlPQP23
+AmsVRcGJ5T76wNHl9e/89eWCLG796dPAfhvmDVcdeF59sahg79dJuqYG1WNd2CnNEsABS6HGoxWM
+DQi8L4AgJjNqYhyaCW7JTF6BgRo/MDhVNMvKZpVqhmegVlnFfcLZILEotwA7e1732ch71+pXLP+j
+C7Us+CVl+xCgqSQZjSzaHbTEK9KfyqS9FLELdVEXQX/LCC5xaYtnBmeuUV3kB2atMc6cLJaTVtQ7
+UYFJR22LB+IsKk+47VIzO49c97CRktTxTPpqRfM6EC9j0ERUWTQBpkONb1YrYDMAm44AO8+HGVFa
+a03lsfM2L1jb8JiMVef4qHo7MDekKnN5bgC2AGxR9lf5A5f4cQx7yBb3uTf5YYlXYYbkxkIvckci
+N1+3GO+9HoVE55wBOZT1PJBqHZqYjMl9B2VW1tJQQxSawVtcpAcdjywz3wwsGEtW467z5XcG1lzA
+mji7uyPuV9WOUm99gy3sEVzUVIIqf4GgHg+7BohO2Pmz3JWOAdJ0H98NQK03vlA3uGjsOidozkvy
+WTaWrEriUFrUTU1UDnJJBpd3uUYHARozpjQ27bT0iuSpAbW4a8zHNRaPx0Jsrm+f3A3Myqfe8xrz
+vqEq7OrQd22iuGx9fP3sCbcPH/Ifls+6sidgnoD6OZ7ymX0OcetBxez1s4badBOq7cIru+aLk9AA
+sJVlVaezKrUdwDo2XPsGK0mTSqx0AGxlbJLZ20zrqzNIU2OuwCzAYYAwMDhWUCBz55YaX5O6LHHS
+vVY10SCaYvVKRGOslEqt7x3x0FvxTcOOLC1R2JgUN+nYdrJkcpdSD7IEsbzIF0F+f8DEuDCxw9Z2
+GtPM0qDZdYqFwABZ6zN16wtA44eAQXPXRjE94OO4WNb8BV6L+wJ/6TUgxrKiut/6cDrz7Oahb7mq
+K65CmFWwDZpjwGYzpIjLvPjBeNrPESjoLGeP2zw1+zamVB/FrovcZSnl2uu6i0qUFtB27vC2V6E7
+SEJzx+LiJdHMD0LmGWZNM4YOhdOHWZShT7c7Amc1qjTHj4aGJyM450xu2mdyS25raGVzLrurKc9X
+qYumdsjQN7AeYtMUciwa81eph8RKtI5LeLD7FHAGaX8bOzahrrMRqwAMoHbpQhk19nOJn3eJ+/fx
+8+8bgDuV7FWNglwL7waRGifPJpb9lMF6iEvv8xCGazXlMki9Di0jf4PtSoEatxucAwbSODWusZQ8
+xvG/ZmEwavcU582yD2kdvGwjLrq0kf50fRU/fSOkNz59yNeXv+Zfjf2d371DdGkC5ilG/TxiPe5W
+3Ppjx5d/d05g12LseveK1GGmHVxSs01p1/dVVUukVPWVtnProsaeAThY2GqLd+6UOWudL6sWuAJF
+oAbL51jPK/k2AoHG7EZXqyY0aeza+wIGGRTkqJyLfBEA8bk7kRRG7fdZxnJkkJRsYbYIqm2oJBqV
+cis5sM5toffqSvMJv8cyus1VylkGVI6zgm2xL8IX+63G7xPYmfdtEt+pa1vZF3ksJkIdVnIw6BaM
+btYH2cVepQdjZ3GxOGNONx0/nM/4+t7fi3v8R7ducfhgHnnd5bL29TnDPOoSADvu2h6ArQ3sZ1VV
+wVjALXXchloarGIzHzyMKQXsAFDG1iuAq5fDAHxmc2PJZVTkR7lR9TMnReaSiyCHuWRLOZc3LfcK
+M5ENqVLWRWNHqJJfMLZ4HAyqQUBlSJJiGiU3j3MJ9l6PYlgZi8reDnFFg9tc2+Rzsl9+bmyW4bIy
+XE7401j06AnJte3a5Qh7BCP2xd2tIQruNGTBMK5IrCQL7JphVPmWOXtM8H06r2EOT72V8MxmEVcE
+jgDIXA+LtKlU4EcZtRoNFpt2bjRMYSh59TQ1NGgOZDnYunQ9y3rsjrUTHQ9Zee6n3gpzBGk6AGka
+5j23iZWs65318nXuGKBNVgLprNLCb7yKDEW3w9m703r45FIHM7nX629xHuJ29dc0e+N/BUjfAKQ/
+4V99/GvV1hb37rsTME9A/YNeAZZT/Z4yS7Ua3bvy0WVm1+7qyr3+2n8WjV3PL055vW75Xn+S0qKL
+HU73ynq5ArC1BAlkD0t2zUk1xJOxM68ATRUWITz2BjONVxBIRXzDFZCW0d1qjI1zIs7I3IrcZY5Z
+5xIuzf/ybEVLOUdbSk732MPxlresyETmgHbpjORNM3KspS363LkftFnpjhOXsqvS2u5goS8grVne
+wXWanG0MC8w6KFizx2KuoCwdrPUeO+0kReuyk8CgZzhu2CkAuoWl46P2nK0eLFJcbZnPer5fJ/ls
+dSGXf/irKOFqsGcNTXzx2hP+2V/wpxZz/3R7ge+4Da9dNnG3iVV0bcDyFEOQvtI2e0I17J02cWyC
+s3K5Jmd94/jDgMJiha2pZo1sOmcqY0uWT6CejqHmWoHHPB9i3g8xUCFxoShwZYatuXmYH5ESrhgS
+AVk8F2GbIy/IHZXVe6+HIZ0WxWUVuByrziEKsqK17O5mLpKtstfl1gYKpO7uktGtncpgaHGpscV0
+m4GF79Thi2pipLqwS3MUNsMTu8XcwdCykIbrQhW6PmG+a+r6HQ6qsmk9R9o2zUOjsgM4QTrfYgbm
+NRBAf0vsfRUaJds1jlJtFRDZo6THugB1dnVrYqUeT3N5ezvHS9mbEWn/k+1bPSaPHcal7ZI2w3oA
+6Xz9aahC9QrIksasHJJVGjRscFJuFbhhbm45UVvXmKrkuybA4IKRHDc7Dm80qT0HSK9+nUF66u88
+AfULFfcpklPvmSs8s2vn3kntp7/z7vJCwp8fyaI7ly8u/8rNzSLduw/AlgLYNfeV52qXqDZ2yVRz
+hUUpakZrbDhgIeJgJUVJXalek6ByfFoKCFAW3tBM2Mru08CoSwmXLfg8xkZzgo2yN+XWnMuDKFsd
+d0YmaJQZ1FVfivIglyxbrKNsggljfa01mVcVIs6Lfm48b91xXAFpA20s1nh3H6yJBhaLyncxaR11
+3+OTvba2076zlYJ16KKEWQ+rJW5hzA8ArcL82E/auEf8l7CVN84f8qv48b/XTNK3rsYFQhP/3G8W
+AO1zut4uWEvrcJ+/cKDMZ5gT3obd5kmKbh50TjR+nUDBh/kIBtDewAI/HOih7Nkbg8av11KiBtib
+u3J5qmG2NJahP8SsaZwnnZ/K5kql4S1MIQYulikuB526XOnWZfOX463HXpA7UgkOvB7FHWJZ+GQu
+kTJfCs7kVeBCGXUaFm03tBHV8ivxkYnH+nYNX2Dqi8vbd0mSZQYDtLtk3hBvgFzCFx2F0BloJ53n
+1AsMLDO6thSbxkVVdFaTUpP+NKey365o/kpDzDGAtXGFg5pwTKJPocK1kcxAZRhGoYQbrANdsz++
+lIVn9Dia7rofcjDyUfAlq+6nBNbk7gJpLgI1Q2gqaxeIGlsaavIG0rh+N9qEAx9Z40Ob4hI3USFM
+SBs1CRRGbd+EWK+apNfgp9un8l/wgZ+/4zKTnkB6AuoX0xVe2LVTd7jGrj9hBYjLvzsXMDqAwxLg
+UPkvGgB2B3BQ8VvATTyNYd5z3wepYj2rQi9WQhR87vYUTfubazy0WLf4pM0llDWDiYuBMxa32gev
+DLpiSZV3PowiHFq6giuQWazGNLdrNGqt5ddZhINKzJP5ePHyXnKllfI4qy8qekZGr1Wnm7HvpOU1
+h65Tdkl1fCMoYgRvSvg2vdVMa0s7bSxPuhwHSypjbQSv3gV1fnq9X4NFk0kZJdjrVUMRFDfV3S4m
+V6WFm40ArcL8s+1/FweA1kXio08+kWt87bddFuUfhno78KT76Cp7PC6vhzkBYF+f+y8ul2VO5kEZ
+QocjOudZ6ANgOu5wnJvWACFoYmBlHhCJqfEAZRNRKZ4OHAvcB2h7GuqrC6N2VSkpqqz8SNm1GKvO
+zT4sG7zkFZQabJ0i83yYFLoh7ugFGUIVhyHqIUQxej1ocHVTZtFD0hgVNTFfYtF72U/L6s4JRpwT
+x4a4dJB9boF6QADEsMN6k2tVwZKKO6fGlYYlKBtgOHdAojvsYwZji2Kc+Vitu+TbKnX3mnS28aZI
+VZ1fSzV7DfxtpQI+rF2G+aTSqnjVkQs4QepKNdeZFaxhsNLMG7vOJYtappXj0j7kHAyXGfWh4jrr
+NXAbrEsq5E/C3e2yy9ty/slK7ErnsiwXavK8AGkWBeMNPrY2tTFxG5xHG9ZySOYd9tBSFVpN3sSJ
+H9Nql6oHF2Yoq5Gs1582NDJ39wTSE1C/0Oy6xK4d2PXoDr8LsC+3AIeYap75ruriCdhc4D70QAJA
+bsWuCkBZu48lDsTCkpJqFo91D8+xmKvbSrS8BzUBQO/LtYKpcWkDCa9Iqgt/bgVIphnuFWW9N1Ll
+LVppa7a/9YtSTlDSt2iJlr7NK35oDw3LEMbyCdQNBtZK1dhqprMLnFPSBLIs52nsWlvccXDWX9a7
+rOddVVXUNniCY5H0l0aOWPuTn52MC/v5PRg1mx1Q81WN+ZuLewYL3p07MOiFAfTP33nHFglNXLHi
+D62/HIB6WDI+LnPy1pfNSTaiwBVSS+twCkOKT+e9a7mKmIdA+AqYnxjVNW5NOmrw0JrVqPKs8qS1
+uWM1Ng3mzJ6HXIIKR06NKMvUtwx9c4VraCJ7QGhINNM2RrkOO5dxmRvDEgBHL4jVb1n8IRtWZCJ1
+4o69HrnxiWb4smRGnT9soJwBmtSookTFA+K03p0UKrPbOzNqxvzZY03+045IvVMtGdWFTtzjG8Pw
+qiysEbmPjTQAaIrqBamo0n2lbdUmSlXyi1nq1y33myW7xTlb4Xzr3S/cqfti13oG0Z43KiyKnQuH
+Sprg0q5OvsLxdhszTi0MoR6lsd2lZteH4pEIZnH60mVOhtTJnxRY3w3ShzHpUX9dm6NYEtkWp4e6
+u3GMVbvbWliujVWbjnfaEgXrkKVJnDFQ33fbWLsTCzmpNyuz6XcKm56q4Sagfkli13qRGEB8BWBf
+njJ9sQQNu+gTt6pyqblSYJWzS/UOh127rRqug4I2jFmsVhVgDgDhLf4M4AaWh4APKmkJBs44pGUL
+sMaSBbg0Rm3qZd4otNfeF950IockJaa8irmcemYgndezZB5Tnxm1OQxTFsnwpkRh7lQYCboDfWvp
+gFUBDJRVAwAEL4Y6Ap7tORyciGet/2yPJ6mfARBi6nzC532K+GzALuOTx+zvhaQZ3N0m8uXikjdf
+POLzs60x6FcLgx4BekxcuSNpZahFxuqjIYqvnZPdvVRfgALyNoRZ4/u2DTKPwe/UcGpgUAG43Q4H
+uqmSGlaiP1iZcqgUwJPVugPYnbYCysl+CSBvQjXBB41Tgw8DWNT7UUrqcmY+fjrsHgtTwCLyVmft
+rcb6thfEFR2vYXWm214PJU/epFuxIzOqrIo6S3+q5FgB6MyqYWXhpNAewJysbzCrQVUMLc0xwJSA
+uKoAJBb6qvcxRuW/Utd9BYDGi1GFc3c7l6oZ7gOgPexLbbYweEH6myfczc9xnJ18+vkjOXv9H2ye
+PnNP3Wl6bO3Ed2cXjp+s/eL0ogN9x2k5A9tLFXAYRmjS46pljioyU5d4fy7HGkB6TKcYrsJSjD6A
+NR2q0/+IwPq4d/gz7u4RpCkbWlk5zu3YBGnEJENJtb3ZrfGcAvQaZv4aCwDAO2w0iQwXeVtL1fVd
+3y9O7kfa/DVtztwdbHpKGpuA+mWxal1ZKr4CHD47XdDrrzX8+WrtLxeOZtuLdNMtfV1jXXzah7A4
+6d2sNtCmTRVAYYISWNLV3tcGyNqbHYwm37c6VFZ3aVAuDf6kSk8h6XP4z5eMbzcuXRqtStavQsnw
+CNCH17961JOGncPA1Mb4p3E7ttWU8beS5pKLLvkan/aSy7S06TtHBQH8gQa4Zv3hsVT4DOgnlEBf
+YVmcWHu7btsyXTZptvTSL9dY2Ge2sF+7BV92Tl5dfAuAvtPj8U3n5MrPd0v2/tTXbo4DP/ep7aKf
+B/Bk9VZUZkBVbltJpQYUHjQU1NJQTwcQOagXBNwQzNrhscf7qdS7A3jYgAXPlT7X6s9ImgzlfZE9
+AeZ7PbAG1salTRRFow0+C7MeRSnIws8yej1MeIrz8q1x6ZByjbvuxOIZCRweVlRh1z4nAWr4AqiH
+5wHWvlKF5qSeEJxPWu8c1QPS95jPioxpe7zBpzqy61LcqZEFYyv1+NJgz8uWL5qW46Lh3D/4v8vn
+qwtpuq1s/xno8NtHzv1GQxVvu4/wG07XeBwWrl5sY5+2vvJ1pwcSp28Fg68yZ3jyVqeO32QNa6Q0
+rCkNUXye5JJ+N4ajD8B6LNsa22xn7H6Z5UYPk8bGvuG33N20bxvrKAvSOJPmdRucM2v8cLBo7Tet
+fabdCufGCqbaRhSkJe0oNTvPuw6o3c8XTXzqN+l0cc7rqwX/0T2Styc2PQH1y+8OvxscnHvHvbr4
+kNqH5/zp//3I/+wc7PF0Rl5ZNpaq9gzUrAVU9jtfnTXe9zOswDdhB9jrG/CtbVKhLSxbWLnB+kIV
+zF3aYwsGlBd8EO6anY9aqSpad8O26quPU+WvvWlTeWfRvTuGt2oX0GevGlLRfog6vkOul5Ya/FIx
+SAFagYGbirFsa8ds5tizmy2SRqSt5+wCzK1jntcJC/lZUmGStIVRX+N3z1qeaT53usdPPv3/5NXm
+jL94LcnZ6jMs7G/KH//xkajU4M/f/tYA/V0Am9zlZ3L/tTNeLnpyq7lf1ZiL0zNftSvzfISI+TDQ
+noEZg22HFABQQdMLgIUGwrBVzIjivqs0DOHq7OJm7TWuQQAr0SpCKOaA8PoMDjTrPsDNVc/GFFFM
+dlQhXMMUVrvk1V2SXd86N1Li1Dl87camGjpJ+kVyEhmAOqllVSegnz2nzFeG7O8K9/FIGTXMCBM7
+CdYrmjQjDJ+ZqYWVKlV+i0HzyKwUb7vrmM6qpEZWX9/w+fUC2zmMLObNWukZjKw//1Ve/eUCQP2W
+XF9+4N7GPLrf4hviVrQI8B0eOndzQw/cw9i6G21Q7XsYReaB4ISzPOTMeSt1o6FGPR9HzgBMPkux
+DjljA3kuDSgKfo2tT3wudjhg1y+T9OjYBWufNFbSF8SNJXgHMWmRAtKmEmcgjV2scWatgOcrvHep
+jTi0lhqn1hqMYA3DeltXzTZW3FZt09VV3e8iR9/UqfvLYzOeTQJ0YtMTUP+oAPvIJa6L1BXO87fB
+MD6U5g/ntAaju//an3j5lwV1K6w7u0f+ZP4LurlZ+tMGq7r2GlqA0HU7P59d0C62ID4apda06Qje
+6jQYSr2mo7moWTjUA6S1xZeKSvh+612orfCULbG3xkIfx4WpLtt++OIhAhBAZjQs6Sqt2xGfOpfq
+hrV2pudWalzl0dYHgLQ2uUvAAPD4JlSKDhqh5vnshNvuBkvsjMM2cQJIrzfa3u6CVRO468+5Xvdy
+/2cnslu9Kc01WBfY89nqv+aFfa8D/F0B+hvOyS0j6g9WG8+vgy5/3l75y0VDs22bdqevkIJ2OGnA
++5J/qlriceb9rPIK3IorIK1qwQS/aMDGQcoTMFMDFx2AWZ3kmo0PuujN+2GFRSCouO+MgwOHWaE7
+y4s6y603/3au4k/g2sPlo1VUIZfRqRXluXg9fO5eRpryALDuLUvNFvAkxukxM4FhSpihxVpVh68A
+MxGnRtIyZvOIsPr6XYNJW7I7CSm1lVoZKeGDCs5n8wXHsGM1ss5WC+maJd9/7X+YfKSy5zuMrL2W
+s+YQvP+OgrX71YO3+V9+/3/Q5X9qaHcDBu/XfjG7wBm11Yzu7H3AGaQ9S5PLxpBBM+fku7EtTNbH
+HePRdsQ41yCWKHV2k4+KrIOGQGl48qID9mCB7AHaDa5ukaEdaS6XpKKrbyV0jobuZdshDo37K+xh
+qT2ncX8Jk3CJ4wnQxuvsNjjxtn3wu9D2Hc7wXrW8/YzT+gbn1ulD1rnVazOXY01s+sc66Kf7u/f6
+UaofDnPUmIUCxNWDD+mXGSBodfYn+hlAew2mrSCxva7pfF6RushPm4pWAN5FHQgsmgJAe1Zl8FZ9
+6wiy3bSe2tR5xe0UWsJdms/nLvYdcehMfdEspr4rczErX7HNEFA35VuqvHYjFR7vdjsXGqyOaSYK
+yjM86GagPZFFNbbnAOM23kjCVtvbPdt39lZ7u5/tNYG1g44b2tt9vBfptw46369wwrNzYjKxOVNc
+58P92rnrTxak2eLDfNxranq8W4Jpz32HeQiqgLZQ70ftzYhS4N6AcTc9JqDyvYagKxhUmoKHrabi
+9SAoXr0hGhpWlVn1fuh932jWGWnivLdwv6agVQqRd143rGkK6vVQ0VKQedB8zritgmCwGZTMS75f
+6WPwY3V+4A1c47GCswSANDCyAZW1PsJVw5jMoz7C2hWpLx6Q/uacF9teul++yufbOPYQPuqENMzj
+s12Q3HDMc6VEluQF0IcUXgkhPa7p9KJ2aTmXejaH0XJCwmcs/syrhKhXeVF3QaoFrrKiplZG5051
+wMmdArROrI2sNVVRMSEtn3NDy9gsBFSU4Gjf0IMOOfcLBdgjQDt32AltyPQvioFcBGtyl7pRYCg3
+SHFZxGSjIO2VQRM9xSdVLvQGz9/AxH4K60dbWy5h0C9hOa5hvW9832kFfOuq697h4v00PEpvfPop
+X19e8gcffyz5+pwyvSeg/jEfgyEJRDXEMygZQByC9gASKlO6/MtnB8D9VwA3GMisJpXKVPBWwFhs
+VrZVAJ/vdLux7oAzPI67LZYxXMWtH4//yWnhZrv8XDVn+1Kb9YH7A2CsUaxqvpBWU43cytURDHiu
+utpJ831le3JmWwVllfGct70stb3d5asHwFyawn/j9nZ0EPt/Lg4QutuIAi+8Bdo2H4uKmj/81W8X
+Ohe/eMaIUjf5dg4jKoAYwnrawVpSQ6pTb27qDaMVrFUYPPkFeHC+z17r1xLwvAfMNC5pl9/i/dCW
+JqZXp0PlYqp8EkWuJOj9rnOxqkUBWNPILcAMUK59BXDe5S1wuQEwq7GVYGxVaQWCjW3UIr+GdzC2
+TjDpg6GV+wj/u83nzpLCDubyzh7C39TI2reS/dB96B+8lXu+n1xtqif94/rkrIblU83iVnBw3EkC
+WHttfynxHgOsQbbvMYCaxN8DobznmHIrTD3LxZ1Yb3FVNiMTqmkGJT839nYfpFqLGpy7o+XoDxXD
+PgLnuwHaHWm2K1B76xGuTDpLveZGKVJi0mTlV6Su7qc4Hkv86hvsFWDtb7DPpzi+S1iKKyG/Ym42
+1PfWdCPQSZdOfB/+/Dg13XkymdCP35f3MkhPbu8JqH96LHsE7UOQ+PgBvf0b5/58BBR/wmv/i1su
+AN5XAO/rhtzPcUWCee/mj+l8WdOgd/3KK9iuKttXVy+xvX/0BRTcDx8r6B5/xSeu6c/tudlZlMeP
+sS2a2stz7Tf7ijFl92dVAwMoP8BCvv0F3v+v7rDv7OGCrvt6hjkfsy55UebkLtB+2+X5UO+HzsXy
+Du/HbhbMTa7HfLFRQ+oVgPcjzSWgiJsC+C4CvDtP4N7W7SvhVndf7QV5dnyJ18O22dtR6bZRr8cl
+6301uIDBkpuYHHg/ML/KmEdD66CP8F+WW8vYvhucv2MPYQVBHN93tDNd0c4HwQvnM66o9XVyVePq
+NK+0BWmkEwn+1CU5d9qrGmBNnBk2yZ5VO2PVpgV+gudw0GQ+yPFa7TWVGHcBaxm1wfkZwM69LEbw
+3H/n5wDOxYH/ZQA9ChANmd2Wpa8171mm1+qkJTfc0F7uWna1wrtXeP4pfsFTBWndYs9LJ8mYNLGY
+65tCt8tNN0462oT+yt0k5y7S1YNH/PZv3+ZJgWwC6gm0D079ASR0DEAxMO4BLAbw1ldGAAf7dv/4
+j2599e/0Czy/LkA+gjEY+fGffr1sPz8GcTDi8QGA+BSL9me4e/rg78T98Y9OmdUAyPqWI1DG42fb
+25k18jJ10bkTtPV/c49/iRE1ALcd+yPwvj7ygHQwkpR9YxF0Q8cvEHLzfpyenbm7vCB3jUOvx3q1
+su0AxPr6AMbN4PkwQL4PQE5y5R65+aH3A3Or7uzbhtbXe0C+4zwC+IY2spfXb3ptIatNbtYB5syO
+6qrtZz7Us+SUWdMJbJlTFjkDrgKs0z2w7HPrqiV8D6+fYX+wKsmAGjACsHZzMbCmDNa5x3vOGrdb
+zrYXd9QMhQ7WqWdB+5mVjJ41QJ4B4aM3fImviA5fkIP2pccAfdhWlnLzG9q3rdQmNzvWFqNZXUz9
+YypmstKYNJGmVoBRjyBNSxzDVfKyrsG8OzBpF8IuuNjJ7JV+2Z7G1ee/5+0/L9KDqyuZXN4TUE/j
+GwF3ZtwDWIzg/fGHlMteCnDo+HV+dQDyo/GrvFn96U9Hr539QwZdq525NWzR1vG7/HgA5BxfPgDl
+H2d7u2/k/dA5+GU5/sq4BwNKwXswnm57QB64h05BXNt+tcsnX+sFeXbc5fXQVs5fuHl7WcD4tudj
+b2z927/9qzO2/LWG1vfiASk932/Hq7uwmL9agUvXu203q4Kl2i/62J9UYNbiwa4ZoAx2DYxVJn2u
+j3VLzgBbAzsnztMCsLbQBh+qF065VayBtZOD7mZukNode1rTwKNlWLPEHbWHvRO8v/nPliPgzhS6
+tH4vPeCLROzQopT27UnTvrlG6RFeQFpM0MTphQorT7T0SoFambT2ms4JZNhm4CZj0US8dlW9cTHu
+PEB6R6mzzlgXVZyFi9SOTTc+HlzeE0hPQD2Nbwrcx4BRAPyIfQ/jnfGeAbqO33zNX/tt3mQAHsYH
+x1h/wJINkA8X8ZcfmL+zEXXk/SgG1C8PjKfBcFp9/if6p38qHhAd38oL8s28HjoMjMGQz255PnRY
+It9tUH7uhlaJV2PHH76v8eorf7p+4NPPXwnhz5pcFswNDlCZN1U9V7Cum/qEo5yR4zMO/sxA2hWQ
+BrMWBuumDNakHUDUDW69xgc3uGqGS2HXVNj1QfvRIrtb4HPQWS/AfVczm8Mn7hBl3/uz5ZhsF0Ae
+35Hbn9FxD/GhW93o6rZWsq60IHX77G5j0mRqYxvsfI0fstLYtGZ141dZdnfwYckc8VoDsO431q1G
+JUNT3VbaEa1y/Xb31xhScxCXdodZ3hNQT0A9jW93HL/MjbZ/+v0RRP5j410s2PS1s/q8k8BeUCPq
+tgH1JR4QHSOIj0D+CY0ujy/xhNzl8RheuHzzzRGID8H4yz0fGZR/UEPrjnh1Ti77Y7Wp71fUSz1z
+u2ZbwNpc4UQnwnRqYO0UtOlM3d/AvjNzj6sLHMwa71s4A2tl1qQ9xmcG2GKAXeW2pCUrvLQgNYad
+5XeLbIq5wGlk0Xvw/jpHuJMvfVhi0HuFMSnMOdfFU2HQsu8bnmVeB83uDNLGpMntsCu9bZxKr4oK
+mshatBRL2XMBa1gfq0Rg0T6o2MkmaNkWmDTPANIeIL1VkK4B0o/T+vRKexfw2+++ze9NTTcmoJ7G
+93V85W8LmXcvRdOF+1VG1B1H5yiEUTZ7EP8KL8ihJ+S3+3d+pdfjFhh/qefjGJR/mHk9iFf/CmD9
+UUkue+DaMIB1AlirG1xSmoMCLyLAGoB2EoROFayBrKcZtOVMk8rIe4A5wNq7BSBmIa64wcXc4ANY
+5/7uuZFKVdqNloY2QyczZ6IqJcPLkPwWs6avXt7k+E7p+y5DMw0pEr1DN3HTobN2pemgicoQi7bW
+sbmXtLTa4coZk7bEMWusQVYvnTO9vWVyq4sbN00YC9p8o9oYi+bUGpM+KyB9AZD+8x6kNWFwiktP
+QD2NaUwekL+hF+QrvR4vvuejxKu/CqyX5gZvXGhcxXPhau4onqSUAdt7OgUBPQWonHrR+1IywPXm
+C6uWwQ0+s57Xsm/2oQzbALv0DHeUtfJzlzNVuc+KcTRoyVM2MLJy8MHaRnfwZxqk0kbA2yeKZc1T
+LoC9byE7xKMdaYOUEpNWtTHS5hotfmtrfaMJMEsZpNXljb+wZgVma7Th17k8yxlAM0WwaL/jFNum
+qVvXYp/VANL3ANIb1gzvKXlsWrCmMY1pfB9ekJff63GQXPbBs2C9Bkq/dl7F1a7heWh8X80UsL3I
+grV22tGJArOCNbD2ZABqQOCJsmoWgDk5ALwsAMEzEpoBG/XWeOdrFi69rofMcMnxa2tsY92vqUiX
+kqWcWYb3AbMeMr6HRH2WAaXlaC5yIrlplpTe70MMWpve5Paxorr51vnqQMTEdaK9xhxpc41WW1U6
+Sx5jEzUZgFrvGzjrY5GNSNh4F7fBNdvOh12gTZfApLmSfh5D3Lu7H/KvANIfXan40MdTvfS0KE1j
+GtOYxp0+Bdorl+3BWmPWqXsaFjd9tau0QSrVzcI3XRtnjnnugswrMOykzDq7uE/w/Akb0wabZjkB
+kJv7W29A3jl7Z2CNvzkzZk3eesFb69LMqitXWmrm3qLa3cyQy8DaeoTnImfTYr+zznoAac4tZEtq
+twF1xmYasrlV6jXlPu8GzsqgR5AubSo7/K2WLCZNOxgOW2FXWlb6TU4ky32lxWPrTPVoSynteu93
+s+B3/Y67cMKdtNzvOh893yRNHDN394MHxqQnkJ7GBNTTmMY0vhtYrx95Ld3i1y7CfMUVzXydNm3D
+VDXeh5nexPNcoqrj+7mxbEpZqUy8ptsbSJvMqDJrkTnAcyYDWGvPawFYE2dXOFHYy49KKOHpQ8A+
+qLm+Mxv8gEgPGd3aFsT01y2jm4ZmGgBotoYoBaAzm96DNKkWLOWYtHM7MkGTUopFtGWXts6Yc9pK
+CBsFZ6D+lgDQGouuOLSVS90aLPqsOe/b1MTKr1L3xZIPY9ITSE9DRzUdgmlMYxpfY89rd1V6Dwj2
+3vsfu4/eestdPVDWeeVO1w/cIlUSZzvZrpLM6nMOM+0R1iYvHPsYtFON9t3srHsUbgpWwqZ7bQ0q
+AIgLzzR3XtXLFKRN8D6za5Jacuy6Li7wUm+9lx8dE81yTlhuHztgdu7KdYDPmVFTAerMnkWGrQwZ
+3dYiFjemoT0lbtoZhzpYBp1YlrcMnbByljd+izDvYDpsvcN9EjwOO21TqYzbp9SmitoAkPchdNyE
+PuD40CbEpTtNr58Fdp3jP/7JyZA49sEE0tOYGPU0pjGNb7VeHCSYqajML//unFTBTPuHP3AXYbN+
+VLUzV82q0wrwWvOub2rnGwK7jj7NPIFlq2sc7BnQiq3HVsCm/TwApNlYtbHpGbC3AfpqV5p9rbWj
+iuiAVWv5lnXvcqUjqXU6y4h8h+s79z5jMz4GKdDS5533SWOSrId0iUeb2lg2NKwMS+PSpBne3rfq
++i4gvSMCSDNAG9tkW9rVnnaaZBYdd8qiYV70mjDW9as4X9yPmjS2u1nz6vMn/MbsIVud9DtqEBWl
+uQmkpzEB9TSmMY3vAtZWm27Na7KCmSq/Wdz606eB/Tbcu38SVo+XdX2xqMBJ6ySdATaDHVNMs+R5
+Boy1mysubwZAk8u11brNAJ2BGrS5ZtFMcK73rLr0EneSe78r+mon9tIUmuhZ97c1LeUM41aerd3N
+yOXyK6uRzkCNNxQhk73LWzO8YQx0pFsvLSn/DWGH72AZ37Agyn3fsqQWbLrFrru6rjSXu4dp0fdp
+E9ue4vxMm+vNi6v74ZjZrcJFJmbinJuyu6cxjMn1PY1pTOPbDCmdrKwG/L2PVX3vE018Inf10L3+
+2om0qRfaBF7MZ6CWfWpaSfNqHne19HXb9a7ynXehNdAmnglptjTPPNMsAaxBiQHoriGNU3tXU3KN
+qNwoWPWQBT7Eqi0bnLzXNu2ssepcm2UyKXKHqqjkwmuxvG5izT5jALcA4Tknju1j02IdsDh68lYr
+bbFp77KwCZvru1OAxqcA2ADoRG1St7aLHX5j6yL3npouegB0tY1NpFi7k7Sql6lvZ+n1s0eA+txT
+ep80NomZTGNi1NOYxjT+dphdksyOXeGH7Lq+AP7yNjTbVHUVV1XgyiWqwUZrV1ENmK25J7Dm1Ggs
+GnS4kYD7yZqY1caqTRMc73WpZueL6xtsmrEvX1zf3vK9vWSuXNi0ywVWh8NnB7dWYxHeXrzf2pqS
+cQ9gzQDpEA2sC5s2Vs2up+AB0GqFaFcs37G6wAHM5ELnEsiyqzpl0OD04M/Sc5C+iT52cwLYb5L3
+dTpk0dr9bJQEdZOrexoTUE9jGtP4vtaQwRVetNWz7OiVf/3sP5PGrue7U2/ucOpDurcI3TYDduWl
+2gG0K19XAEKAcGx0SwGgrEAOELfH6vIWgDQFgLSYxKjX+LT44vpWlNXu4ZSVynQLgmyM2t/6tsXt
+DWAXzkFsydRaDuRBNT7NCa+a+3uIUytA6/3Aeeu89C7pNt+XKH1KFDks+ma2i35dpW4RYr9u2fMi
+7eZrfv3zJ9zOHnLugHaQ1W1HcmLR05iAehrTmMb3Rq4zgx3YtcqujrHr9SN/eTqjz1wbmm7hDbBp
+Efg0hq7lqg5SxX5WBQA3cVcnADdw1MDbA5STqMtbKtDdKjhvSWSCLZA6RAVqhd3s8laKTFKAOhQK
+7UL5jikjtW4UqMki1OYvz0DNkrcG1JRAzwG6FBWwPawIlpS3GnUHOCemGLiLup35Wb9zXVIGvXbb
+hK+LG37KANBnD/jzVSdZwORtOWbRthRPID2NCainMY1pPCd27fY110fucAB2060A3mdeAbs+nYEJ
+d+HEzQNLH/qOK5nXIfTbKnmAcgR7boDfusXTHHsANfDZMTamaBKIySfxBtQJrDqzaeBsqJzX7R2D
+lYinaLFqBrb//+yd3W7bNhTHD0lRsiIbidEESbcCKQqsN73cA7Qv0efZ8jx5ifQBdplcdEXRAEE+
+mq1uILv6Inl2DmXHcZYM+yi2dTs/WKY+DFkXBn/8i7RoWOsYH5dCDtaezEuypmwM2nMZjHWKsjLl
+eTrEz/g2PrHKtXXnk5QkTm2JirunqdQq9TcTdDFrcHGb+/VZiSv/je5TdGzmyE9HEFELgvB3xms1
+f0j68nb4LWFzwv6pLrRdL3XSDMiIrTF5qkOgkAqpQXS0eJOCjSWSnJHcrcjFvK4MOZHWHUlaBa8N
+CZpvfiOFYe3n9tN3T1FN+bn/A7XhfmqD3DvtsaM8zqKmNgOJWlnyP5UdyboXtqMvNNwCoKX1FKQD
+hX5uT3iftNRySL3L6tBdjcL9gr45oltStPD7kVHfgiB87vb/fOJJxO+jsI+AhI2H417Y44cjPCly
+tbOZhvPpTI9zUFm17q+uypiyKVHzXWeTuFRDFp88ZrS3urUdWTnhl1Y+6I7MmnCE5j5qKr1TdIi/
+OYHgOPj2HrTzq+oWzQjSrk7iMHEemE3+t2iCpR0+dMGhDYYM7QIaHxIoopQ97XJNG1RhfF5nARPa
+tlXoZnlooQnjPA1h+HXYsA7PpwmmbYXvjt8jkKBfnJGgj/ZgX0Z0C5KoBUH4d9YxCLcTNvdhP9s6
+UKcjStlv+5Q9o5Q9qEs9GjxSVy1LuyJpZ7qjIG2c1ca12pGZdZbolFzd+FbblpxtaNGNSjqe4oOf
+H9bPwpF07bx+y+aX0sR3Z9MoSp72A2reJieHjL2MHS3eOJ5jJLS8nnQht1moP3h0lJyHNg8uG4ZB
+c4YuH4VJ1eLN9PzV0xK5D5qnOI0JerUfOrYT5CchiKgFQfiihH1Jwn76mm+Lv1XT4VBtX+SKpU0p
+VU0qEndmVWMTVUwTNaW0nVujWN4DLiutXFKprDYKCpJuo6/rtLWiL109F/egnz7r02x5UQmHY5/j
+DKaQOI/WrWE98Fikeag6jykts9bhejoKZe0wH3e4kPNFWeFwZ4rjyRNcjOLmc8Y+aF4RQQsiakEQ
+vmhhQz9KHO6RNikPdoapKvMTNb7M1IzEXU2sqgcf1Ki0CjY3oSk/qiJNYj3WzkoFGxsrX5Z/mq7U
+cdXacFWYHz9CWoziPhZyNnI4aMZ4Ce9hULeYVw9wMu7FPNqu8Hy6i+MnFcIPAL2cl+mZWiCwHCQm
+ghZE1IIg/Bfqn/ko8T5lxxQKh/v7sV7i/2O/oPJ0RdzHVH4D5cWJgsePYXZ5ph6xZEniK0Ke/Hxj
+e2deni8FPn6wFOgpQEEyPqHVYushwrt3MNp+hG/e/AjDHRLzpIqf5dvaB68AeGBYn5xFzoKIWhCE
+/1M9hEu/LZI2v67FfbSl4DnAQt7xg98CcB/3nWd9BjA9Pl45NtzdRTi8+yIWSZnhtAxRyn1ivinm
+eH0iZ0FELQiCJG24Je4YueN7f6t8wcvrtcujg+X+5/ec/dVytRcxs7/0+0sS8t5i65aYRc6CiFoQ
+BOGuegrv1OJi1961yP8c35GI1W/WkCJmQUQtCILwB+st/LWx/3JNqD7XGQVBEARBEARBEARBEIR/
+lF8EGABklz789jrEhQAAAABJRU5ErkJggg==" transform="matrix(1 0 0 1 405 70)">
+         </image>
+         <g>
+            <path fill="#F0F1F2" d="M872.2,193.7c0-33.9-36.1-61.5-80.6-61.5c-14.4,0-27.9,2.9-39.6,7.9c1.7-3.4,2.6-7.2,2.6-11.1
+               c0-16-15.2-28.9-34-28.9c-9.1,0-17.3,3-23.4,8C681,90,657.8,78.6,632.1,78.6c-23.7,0-45.3,9.7-61.3,25.5
+               c-10.6-3.9-22.2-6-34.4-6c-48,0-86.8,32.9-86.8,73.4c0,7.8,1.4,15.3,4.1,22.4c-24.5,12-40.3,31.1-40.3,52.7
+               c0,19.4,12.9,36.9,33.3,48.9c-6.4,6.6-10.1,14.5-10.1,23c0,23.3,28,42.2,62.6,42.2c20.3,0,38.4-6.5,49.8-16.6
+               c15.8,11.5,35.7,18.4,57.3,18.4c20.7,0,39.7-6.3,55.2-16.9c3.3,21.1,24.6,37.4,50.4,37.4c25.7,0,46.9-16.1,50.4-37
+               c49.6-6.5,87-35,87-69.3c0-11.6-4.3-22.6-12-32.3C858.4,233.3,872.2,214.7,872.2,193.7z"/>
+         </g>
+      </g>
+   </g>
+   <rect x="525.6" y="205.9" fill="none" width="234.4" height="96.9"/>
+   <text transform="matrix(1 0 0 1 525.5938 241.437)" font-family="'MyriadPro-Regular'" font-size="50">Help API</text>
+   <line fill="none" stroke="#5E5E5D" stroke-width="3" stroke-miterlimit="10" x1="585.2" y1="360.2" x2="554.8" y2="605.7"/>
+   <path id="SVGID_x5F_3_x5F_" fill="none" d="M271,410.2l134.7-113.7"/>
+   <text>   <textPath  xlink:href="#SVGID_x5F_3_x5F_" startOffset="18.213%">
+<tspan  font-family="'ArialMT'" font-size="18">pulling from API</tspan>   </textPath>
+</text>
+   <path id="SVGID_x5F_4_x5F_" fill="none" d="M554.1,542.3l23-175"/>
+   <text>   <textPath  xlink:href="#SVGID_x5F_4_x5F_" startOffset="0.22%">
+<tspan  font-family="'ArialMT'" font-size="18">pulling from API</tspan>   </textPath>
+</text>
+   <path id="SVGID_x5F_5_x5F_" fill="none" d="M870.3,307.5l144.5,101.4"/>
+   <text>   <textPath  xlink:href="#SVGID_x5F_5_x5F_" startOffset="0.22%">
+<tspan  font-family="'ArialMT'" font-size="18">pulling from API</tspan>   </textPath>
+</text>
+   <path id="SVGID_x5F_6_x5F_" fill="none" d="M781.2,394.3l88.7,152.6"/>
+   <text>   <textPath  xlink:href="#SVGID_x5F_6_x5F_" startOffset="0.22%">
+<tspan  font-family="'ArialMT'" font-size="18">pulling from API</tspan>   </textPath>
+</text>
+   <polygon points="263.5,398.9 270.5,405.9 277.6,412.9 268,415.5 258.4,418.1 261,408.5    "/>
+   <polygon points="556.4,557.7 550.2,565.5 543.9,573.2 540.4,563.9 536.8,554.6 546.6,556.2    "/>
+   <polygon points="864.2,506.2 864.1,516.2 864,526.1 855.4,521 846.9,515.9 855.5,511.1    "/>
+   <polygon points="979.7,389.2 985.5,381.1 991.2,373 995.3,382 999.5,391 989.6,390.1    "/>
+   <rect x="149.7" y="645.1" fill="none" width="136" height="33"/>
+   <text transform="matrix(1 0 0 1 149.7164 663.7129)" font-family="'ArialMT'" font-size="26">website #1</text>
+   <rect x="488.4" y="837.1" fill="none" width="136" height="33"/>
+   <text transform="matrix(1 0 0 1 488.429 855.7129)" font-family="'ArialMT'" font-size="26">website #2</text>
+   <rect x="982.4" y="556.7" fill="none" width="136" height="33"/>
+   <text transform="matrix(1 0 0 1 982.4254 575.2835)" font-family="'ArialMT'" font-size="26">website #4</text>
+   <rect x="868.7" y="804.1" fill="none" width="136" height="33"/>
+   <text transform="matrix(1 0 0 1 868.7164 822.7129)" font-family="'ArialMT'" font-size="26">website #3</text>
+</g>
+</svg>
diff --git a/jekyll-source/images/illustratoroptions.png b/jekyll-source/images/illustratoroptions.png
new file mode 100644
index 0000000..d043971
--- /dev/null
+++ b/jekyll-source/images/illustratoroptions.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-add-file-suggestion.png b/jekyll-source/images/inline-edit-add-file-suggestion.png
new file mode 100644
index 0000000..25a33f8
--- /dev/null
+++ b/jekyll-source/images/inline-edit-add-file-suggestion.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-confirm-unsaved-edits.png b/jekyll-source/images/inline-edit-confirm-unsaved-edits.png
new file mode 100644
index 0000000..87e4a32
--- /dev/null
+++ b/jekyll-source/images/inline-edit-confirm-unsaved-edits.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-create-change-project-screen-dialog.png b/jekyll-source/images/inline-edit-create-change-project-screen-dialog.png
new file mode 100644
index 0000000..ea5daa9
--- /dev/null
+++ b/jekyll-source/images/inline-edit-create-change-project-screen-dialog.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-create-change-project-screen.png b/jekyll-source/images/inline-edit-create-change-project-screen.png
new file mode 100644
index 0000000..e9c7033
--- /dev/null
+++ b/jekyll-source/images/inline-edit-create-change-project-screen.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-create-follow-up-change.png b/jekyll-source/images/inline-edit-create-follow-up-change.png
new file mode 100644
index 0000000..3e81eee
--- /dev/null
+++ b/jekyll-source/images/inline-edit-create-follow-up-change.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-edit-in-diff-screen-patch-list.png b/jekyll-source/images/inline-edit-edit-in-diff-screen-patch-list.png
new file mode 100644
index 0000000..bdbc59d
--- /dev/null
+++ b/jekyll-source/images/inline-edit-edit-in-diff-screen-patch-list.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-edit-in-patch-list.png b/jekyll-source/images/inline-edit-edit-in-patch-list.png
new file mode 100644
index 0000000..9a31e02
--- /dev/null
+++ b/jekyll-source/images/inline-edit-edit-in-patch-list.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-enter-edit-mode-from-diff.png b/jekyll-source/images/inline-edit-enter-edit-mode-from-diff.png
new file mode 100644
index 0000000..46dd0ff
--- /dev/null
+++ b/jekyll-source/images/inline-edit-enter-edit-mode-from-diff.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-enter-edit-mode-from-file-list.png b/jekyll-source/images/inline-edit-enter-edit-mode-from-file-list.png
new file mode 100644
index 0000000..b8c52c9
--- /dev/null
+++ b/jekyll-source/images/inline-edit-enter-edit-mode-from-file-list.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-file-list-in-edit-mode.png b/jekyll-source/images/inline-edit-file-list-in-edit-mode.png
new file mode 100644
index 0000000..8f35533
--- /dev/null
+++ b/jekyll-source/images/inline-edit-file-list-in-edit-mode.png
Binary files differ
diff --git a/jekyll-source/images/inline-edit-full-screen-editor.png b/jekyll-source/images/inline-edit-full-screen-editor.png
new file mode 100644
index 0000000..474fae5
--- /dev/null
+++ b/jekyll-source/images/inline-edit-full-screen-editor.png
Binary files differ
diff --git a/jekyll-source/images/intro-add-reviewer.png b/jekyll-source/images/intro-add-reviewer.png
new file mode 100644
index 0000000..546e186
--- /dev/null
+++ b/jekyll-source/images/intro-add-reviewer.png
Binary files differ
diff --git a/jekyll-source/images/intro-clone-project.png b/jekyll-source/images/intro-clone-project.png
new file mode 100644
index 0000000..d7dde98
--- /dev/null
+++ b/jekyll-source/images/intro-clone-project.png
Binary files differ
diff --git a/jekyll-source/images/intro-comment-display.png b/jekyll-source/images/intro-comment-display.png
new file mode 100644
index 0000000..b9b691d
--- /dev/null
+++ b/jekyll-source/images/intro-comment-display.png
Binary files differ
diff --git a/jekyll-source/images/intro-comment.png b/jekyll-source/images/intro-comment.png
new file mode 100644
index 0000000..5dcd07d
--- /dev/null
+++ b/jekyll-source/images/intro-comment.png
Binary files differ
diff --git a/jekyll-source/images/intro-gerrit-ui.png b/jekyll-source/images/intro-gerrit-ui.png
new file mode 100644
index 0000000..08d07f8
--- /dev/null
+++ b/jekyll-source/images/intro-gerrit-ui.png
Binary files differ
diff --git a/jekyll-source/images/intro-new-change.png b/jekyll-source/images/intro-new-change.png
new file mode 100644
index 0000000..cd95f2b
--- /dev/null
+++ b/jekyll-source/images/intro-new-change.png
Binary files differ
diff --git a/jekyll-source/images/intro-quick-central-gerrit.dia b/jekyll-source/images/intro-quick-central-gerrit.dia
new file mode 100644
index 0000000..8192ba9
--- /dev/null
+++ b/jekyll-source/images/intro-quick-central-gerrit.dia
Binary files differ
diff --git a/jekyll-source/images/intro-quick-central-gerrit.png b/jekyll-source/images/intro-quick-central-gerrit.png
new file mode 100644
index 0000000..8717176
--- /dev/null
+++ b/jekyll-source/images/intro-quick-central-gerrit.png
Binary files differ
diff --git a/jekyll-source/images/intro-quick-central-repo.dia b/jekyll-source/images/intro-quick-central-repo.dia
new file mode 100644
index 0000000..9916dbb
--- /dev/null
+++ b/jekyll-source/images/intro-quick-central-repo.dia
Binary files differ
diff --git a/jekyll-source/images/intro-quick-central-repo.png b/jekyll-source/images/intro-quick-central-repo.png
new file mode 100644
index 0000000..8400b5e
--- /dev/null
+++ b/jekyll-source/images/intro-quick-central-repo.png
Binary files differ
diff --git a/jekyll-source/images/intro-quick-hot-key-help.jpg b/jekyll-source/images/intro-quick-hot-key-help.jpg
new file mode 100644
index 0000000..41bcbe4
--- /dev/null
+++ b/jekyll-source/images/intro-quick-hot-key-help.jpg
Binary files differ
diff --git a/jekyll-source/images/intro-quick-new-review.jpg b/jekyll-source/images/intro-quick-new-review.jpg
new file mode 100644
index 0000000..99e6c55
--- /dev/null
+++ b/jekyll-source/images/intro-quick-new-review.jpg
Binary files differ
diff --git a/jekyll-source/images/intro-quick-review-2-patches.jpg b/jekyll-source/images/intro-quick-review-2-patches.jpg
new file mode 100644
index 0000000..29c99cc
--- /dev/null
+++ b/jekyll-source/images/intro-quick-review-2-patches.jpg
Binary files differ
diff --git a/jekyll-source/images/intro-quick-review-line-comment.jpg b/jekyll-source/images/intro-quick-review-line-comment.jpg
new file mode 100644
index 0000000..eeb144a
--- /dev/null
+++ b/jekyll-source/images/intro-quick-review-line-comment.jpg
Binary files differ
diff --git a/jekyll-source/images/intro-quick-reviewing-the-change.jpg b/jekyll-source/images/intro-quick-reviewing-the-change.jpg
new file mode 100644
index 0000000..bfded9e
--- /dev/null
+++ b/jekyll-source/images/intro-quick-reviewing-the-change.jpg
Binary files differ
diff --git a/jekyll-source/images/intro-quick-verifying.jpg b/jekyll-source/images/intro-quick-verifying.jpg
new file mode 100644
index 0000000..7679c0a
--- /dev/null
+++ b/jekyll-source/images/intro-quick-verifying.jpg
Binary files differ
diff --git a/jekyll-source/images/intro-review-change.png b/jekyll-source/images/intro-review-change.png
new file mode 100644
index 0000000..b805a17
--- /dev/null
+++ b/jekyll-source/images/intro-review-change.png
Binary files differ
diff --git a/jekyll-source/images/intro-select-project.png b/jekyll-source/images/intro-select-project.png
new file mode 100644
index 0000000..2dead02
--- /dev/null
+++ b/jekyll-source/images/intro-select-project.png
Binary files differ
diff --git a/jekyll-source/images/intro-submit.png b/jekyll-source/images/intro-submit.png
new file mode 100644
index 0000000..97ec5b6
--- /dev/null
+++ b/jekyll-source/images/intro-submit.png
Binary files differ
diff --git a/jekyll-source/images/itermexample.png b/jekyll-source/images/itermexample.png
new file mode 100644
index 0000000..e412af0
--- /dev/null
+++ b/jekyll-source/images/itermexample.png
Binary files differ
diff --git a/jekyll-source/images/jekyll.png b/jekyll-source/images/jekyll.png
new file mode 100644
index 0000000..ebaf27d
--- /dev/null
+++ b/jekyll-source/images/jekyll.png
Binary files differ
diff --git a/jekyll-source/images/killalljekyll.png b/jekyll-source/images/killalljekyll.png
new file mode 100644
index 0000000..aa8adaa
--- /dev/null
+++ b/jekyll-source/images/killalljekyll.png
Binary files differ
diff --git a/jekyll-source/images/liningup.png b/jekyll-source/images/liningup.png
new file mode 100644
index 0000000..ede4dc0
--- /dev/null
+++ b/jekyll-source/images/liningup.png
Binary files differ
diff --git a/jekyll-source/images/project-list.png b/jekyll-source/images/project-list.png
new file mode 100644
index 0000000..7853d27
--- /dev/null
+++ b/jekyll-source/images/project-list.png
Binary files differ
diff --git a/jekyll-source/images/sbs.png b/jekyll-source/images/sbs.png
new file mode 100644
index 0000000..7d97332
--- /dev/null
+++ b/jekyll-source/images/sbs.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-actions.png b/jekyll-source/images/user-review-ui-change-screen-change-info-actions.png
new file mode 100644
index 0000000..fd17d27
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-actions.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-cannot-merge.png b/jekyll-source/images/user-review-ui-change-screen-change-info-cannot-merge.png
new file mode 100644
index 0000000..69a28ec
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-cannot-merge.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-labels.png b/jekyll-source/images/user-review-ui-change-screen-change-info-labels.png
new file mode 100644
index 0000000..2655089
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-labels.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-last-update.png b/jekyll-source/images/user-review-ui-change-screen-change-info-last-update.png
new file mode 100644
index 0000000..93c296a
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-last-update.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-owner.png b/jekyll-source/images/user-review-ui-change-screen-change-info-owner.png
new file mode 100644
index 0000000..3d73ef7
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-owner.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-project-branch-topic.png b/jekyll-source/images/user-review-ui-change-screen-change-info-project-branch-topic.png
new file mode 100644
index 0000000..acba408
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-project-branch-topic.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-reviewers.png b/jekyll-source/images/user-review-ui-change-screen-change-info-reviewers.png
new file mode 100644
index 0000000..1f253ab
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-reviewers.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info-submit-strategy.png b/jekyll-source/images/user-review-ui-change-screen-change-info-submit-strategy.png
new file mode 100644
index 0000000..abc1239
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info-submit-strategy.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-info.png b/jekyll-source/images/user-review-ui-change-screen-change-info.png
new file mode 100644
index 0000000..e92b49d
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-info.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-change-update.png b/jekyll-source/images/user-review-ui-change-screen-change-update.png
new file mode 100644
index 0000000..227db40
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-change-update.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-cherry-picks.png b/jekyll-source/images/user-review-ui-change-screen-cherry-picks.png
new file mode 100644
index 0000000..552d639
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-cherry-picks.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-commit-info-merge-commit.png b/jekyll-source/images/user-review-ui-change-screen-commit-info-merge-commit.png
new file mode 100644
index 0000000..097637e
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-commit-info-merge-commit.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-commit-info.png b/jekyll-source/images/user-review-ui-change-screen-commit-info.png
new file mode 100644
index 0000000..fe0c1d1
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-commit-info.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-commit-message.png b/jekyll-source/images/user-review-ui-change-screen-commit-message.png
new file mode 100644
index 0000000..acc78aa
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-commit-message.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-conflicts-with.png b/jekyll-source/images/user-review-ui-change-screen-conflicts-with.png
new file mode 100644
index 0000000..d74c934
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-conflicts-with.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-download-commands-list.png b/jekyll-source/images/user-review-ui-change-screen-download-commands-list.png
new file mode 100644
index 0000000..b12e1f0
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-download-commands-list.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-download-commands.png b/jekyll-source/images/user-review-ui-change-screen-download-commands.png
new file mode 100644
index 0000000..6facd21
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-download-commands.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-comments.png b/jekyll-source/images/user-review-ui-change-screen-file-list-comments.png
new file mode 100644
index 0000000..9e8b6be
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-comments.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-header.png b/jekyll-source/images/user-review-ui-change-screen-file-list-header.png
new file mode 100644
index 0000000..c682d88
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-header.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-mark-as-reviewed.png b/jekyll-source/images/user-review-ui-change-screen-file-list-mark-as-reviewed.png
new file mode 100644
index 0000000..deb625d
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-mark-as-reviewed.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-modification-type.png b/jekyll-source/images/user-review-ui-change-screen-file-list-modification-type.png
new file mode 100644
index 0000000..d8057b3
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-modification-type.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-rename.png b/jekyll-source/images/user-review-ui-change-screen-file-list-rename.png
new file mode 100644
index 0000000..364e6c5
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-rename.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-repeating-paths.png b/jekyll-source/images/user-review-ui-change-screen-file-list-repeating-paths.png
new file mode 100644
index 0000000..f73d6bf
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-repeating-paths.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list-size.png b/jekyll-source/images/user-review-ui-change-screen-file-list-size.png
new file mode 100644
index 0000000..4148b17
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list-size.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-file-list.png b/jekyll-source/images/user-review-ui-change-screen-file-list.png
new file mode 100644
index 0000000..39c0e2b
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-file-list.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-history.png b/jekyll-source/images/user-review-ui-change-screen-history.png
new file mode 100644
index 0000000..3fe71d8
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-history.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-included-in-list.png b/jekyll-source/images/user-review-ui-change-screen-included-in-list.png
new file mode 100644
index 0000000..ad30fe2
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-included-in-list.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-included-in.png b/jekyll-source/images/user-review-ui-change-screen-included-in.png
new file mode 100644
index 0000000..c2a900c
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-included-in.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-inline-comments.png b/jekyll-source/images/user-review-ui-change-screen-inline-comments.png
new file mode 100644
index 0000000..a10f40a
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-inline-comments.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-keyboard-shortcuts.png b/jekyll-source/images/user-review-ui-change-screen-keyboard-shortcuts.png
new file mode 100644
index 0000000..734ab29
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-keyboard-shortcuts.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-not-current.png b/jekyll-source/images/user-review-ui-change-screen-not-current.png
new file mode 100644
index 0000000..9a87c67
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-not-current.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-patch-set-list.png b/jekyll-source/images/user-review-ui-change-screen-patch-set-list.png
new file mode 100644
index 0000000..ef03135
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-patch-set-list.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-patch-sets.png b/jekyll-source/images/user-review-ui-change-screen-patch-sets.png
new file mode 100644
index 0000000..45b4089
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-patch-sets.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-permalink.png b/jekyll-source/images/user-review-ui-change-screen-permalink.png
new file mode 100644
index 0000000..a1aede9
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-permalink.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-plugin-extensions.png b/jekyll-source/images/user-review-ui-change-screen-plugin-extensions.png
new file mode 100644
index 0000000..120b99c
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-plugin-extensions.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-quick-approve.png b/jekyll-source/images/user-review-ui-change-screen-quick-approve.png
new file mode 100644
index 0000000..638fc2f
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-quick-approve.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-related-changes-indicators.png b/jekyll-source/images/user-review-ui-change-screen-related-changes-indicators.png
new file mode 100644
index 0000000..d0a997e
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-related-changes-indicators.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-related-changes.png b/jekyll-source/images/user-review-ui-change-screen-related-changes.png
new file mode 100644
index 0000000..9d2d84c
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-related-changes.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-reply-to-comment.png b/jekyll-source/images/user-review-ui-change-screen-reply-to-comment.png
new file mode 100644
index 0000000..07bd8a2
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-reply-to-comment.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-reply.png b/jekyll-source/images/user-review-ui-change-screen-reply.png
new file mode 100644
index 0000000..20837ea
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-reply.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-replying.png b/jekyll-source/images/user-review-ui-change-screen-replying.png
new file mode 100644
index 0000000..0ae85ab
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-replying.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-same-topic.png b/jekyll-source/images/user-review-ui-change-screen-same-topic.png
new file mode 100644
index 0000000..18896ab
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-same-topic.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen-star.png b/jekyll-source/images/user-review-ui-change-screen-star.png
new file mode 100644
index 0000000..d438ca0
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen-star.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-change-screen.png b/jekyll-source/images/user-review-ui-change-screen.png
new file mode 100644
index 0000000..8952cac
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-change-screen.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-column.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-column.png
new file mode 100644
index 0000000..b599f6d
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-column.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-box.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-box.png
new file mode 100644
index 0000000..6de9e75
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-box.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-edit.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-edit.png
new file mode 100644
index 0000000..b349d0d
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-edit.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-reply.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-reply.png
new file mode 100644
index 0000000..011f986
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment-reply.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment.png
new file mode 100644
index 0000000..2ecc47e
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-comment.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-commented.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-commented.png
new file mode 100644
index 0000000..598d18d
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-commented.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-dark-theme.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-dark-theme.png
new file mode 100644
index 0000000..c041311
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-dark-theme.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png
new file mode 100644
index 0000000..ea14a21
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-file-level-comment.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-file-level-comment.png
new file mode 100644
index 0000000..8406ce8
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-file-level-comment.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-file-level-commented.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-file-level-commented.png
new file mode 100644
index 0000000..1fd2033
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-file-level-commented.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-inline-comments.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-inline-comments.png
new file mode 100644
index 0000000..36f1360
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-inline-comments.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-intraline-difference.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-intraline-difference.png
new file mode 100644
index 0000000..044f96f
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-intraline-difference.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-keyboard-shortcuts.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-keyboard-shortcuts.png
new file mode 100644
index 0000000..6f63f0e
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-keyboard-shortcuts.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-navigation.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-navigation.png
new file mode 100644
index 0000000..8146b76
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-navigation.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-no-differences.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-no-differences.png
new file mode 100644
index 0000000..5d721a6
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-no-differences.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-patch-sets.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-patch-sets.png
new file mode 100644
index 0000000..9bdd4a9
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-patch-sets.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-preferences-popup.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-preferences-popup.png
new file mode 100644
index 0000000..043c1ff
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-preferences-popup.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-preferences.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-preferences.png
new file mode 100644
index 0000000..7373b2f
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-preferences.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-project-and-file.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-project-and-file.png
new file mode 100644
index 0000000..836964b
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-project-and-file.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-red-bar.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-red-bar.png
new file mode 100644
index 0000000..f817d66
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-red-bar.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-rename.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-rename.png
new file mode 100644
index 0000000..b4d83ba
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-rename.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-replied-done.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-replied-done.png
new file mode 100644
index 0000000..918cdee
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-replied-done.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-reviewed.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-reviewed.png
new file mode 100644
index 0000000..c767452
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-reviewed.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-scrollbar.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-scrollbar.png
new file mode 100644
index 0000000..cbadd26
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-scrollbar.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-search.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-search.png
new file mode 100644
index 0000000..e69bb0d
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-search.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen-syntax-coloring.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-syntax-coloring.png
new file mode 100644
index 0000000..a4b019a
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen-syntax-coloring.png
Binary files differ
diff --git a/jekyll-source/images/user-review-ui-side-by-side-diff-screen.png b/jekyll-source/images/user-review-ui-side-by-side-diff-screen.png
new file mode 100644
index 0000000..d76ecef
--- /dev/null
+++ b/jekyll-source/images/user-review-ui-side-by-side-diff-screen.png
Binary files differ
diff --git a/jekyll-source/images/workflowarrow.png b/jekyll-source/images/workflowarrow.png
new file mode 100644
index 0000000..91a3e81
--- /dev/null
+++ b/jekyll-source/images/workflowarrow.png
Binary files differ
diff --git a/jekyll-source/index.md b/jekyll-source/index.md
new file mode 100644
index 0000000..13857c2
--- /dev/null
+++ b/jekyll-source/index.md
@@ -0,0 +1,232 @@
+---
+title: "Gerrit Code Review"
+sidebar: gerritdoc_sidebar
+permalink: index.html
+hide_sidebar: true
+hide_navtoggle: true
+toc: false
+---
+<div class="row">
+        <div class="col-md-3 col-sm-6">
+            <div class="panel panel-default text-center">
+                <div class="panel-heading">
+                    <span class="fa-stack fa-5x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-comments fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="panel-body">
+                    <h4>Discuss code</h4>
+                    <p>and boost your team's code fu by talking about
+                    specifics.</p>
+                    <a href="intro-gerrit-walkthrough.html" class="btn btn-primary">Learn More</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-3 col-sm-6">
+            <div class="panel panel-default text-center">
+                <div class="panel-heading">
+                    <span class="fa-stack fa-5x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-code-fork fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="panel-body">
+                    <h4>Serve Git</h4>
+                    <p>As an integrated experience within the larger code
+                    review flow.</p>
+                    <a href="user-dashboards.html" class="btn btn-primary">Learn More</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-3 col-sm-6">
+            <div class="panel panel-default text-center">
+                <div class="panel-heading">
+                    <span class="fa-stack fa-5x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lock fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="panel-body">
+                    <h4>Manage workflows</h4>
+                    <p>with deeply integrated and delagatable access controls.
+                    </p>
+                    <a href="project-configuration.html" class="btn btn-primary">Learn More</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-3 col-sm-6">
+            <div class="panel panel-default text-center">
+                <div class="panel-heading">
+                    <span class="fa-stack fa-5x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-download fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="panel-body">
+                    <h4>Download</h4>
+                    <p>Our latest release is:<br>
+                    <b><a href="https://www.gerritcodereview.com/releases/2.14.md">2.14.5.1</a></b>
+                    </p>
+                    <a href="https://gerrit-releases.storage.googleapis.com/gerrit-2.14.5.1.war" class="btn btn-primary">Download</a>
+                </div>
+            </div>
+        </div>
+    </div>
+
+## Discuss code
+Read old and new versions of files with syntax highlighting and colored
+differences. Discuss specific sections with others to make the right changes.
+
+<img src="images/sbs.png">
+
+## Manage and serve Git repositories
+
+Gerrit includes Git-enabled SSH and HTTPS servers compatible with all
+Git clients.  Simplify management by hosting many Git repositories
+together.
+
+<table>
+<tr>
+ <td>
+ <h4>Navigate projects</h4>
+ </td>
+ <td>
+ <h4>Control access</h4>
+ </td>
+ <td>
+ <h4>Update branches</h4>
+ </td>
+</tr>
+<tr>
+ <td>
+ <img src="images/project-list.png">
+ </td>
+ <td>
+ <img src="images/access.png">
+ </td>
+ <td>
+ <img src="images/branches.png">
+ </td>
+</tr>
+</table>
+
+Schedule [git gc] over all managed repositories and [replicate] to
+geographical mirrors for latency reduction and backup servers for hot
+spare redundancy.
+
+## Extensible through plugins
+
+Gerrit Code Review can be extended and further customized by installing
+[server-side plugins][plugins]. Source code for additional plugins
+can be found through the [project listing](https://gerrit.googlesource.com/plugins/).
+
+## Get in touch
+
+<table>
+<tr>
+<td>
+<h3>Mailing list</h3>
+</td>
+<td>
+<h3>Social media</h3>
+</td>
+<td>
+<h3>IRC</h3>
+</td>
+</tr>
+<tr>
+<td>
+<a href="https://groups.google.com/group/repo-discuss">Repo Discuss</a>
+</td>
+<td>
+<a href="https://plus.google.com/communities/111271594706618791655">Google+</a>
+<br>
+<a href="https://twitter.com/gerritreview">Twitter</a>
+</td>
+<td>
+<a href="https://freenode.net">freenode</a> #gerrit
+<br>
+<a href="https://echelog.com/logs/browse/gerrit/">Channel log</a>
+</td>
+</tr>
+</table>
+
+## Discuss code
+Read old and new versions of files with syntax highlighting and colored
+differences. Discuss specific sections with others to make the right changes.
+
+<img src="images/sbs.png">
+
+## Manage and serve Git repositories
+
+Gerrit includes Git-enabled SSH and HTTPS servers compatible with all
+Git clients.  Simplify management by hosting many Git repositories
+together.
+
+<table>
+<tr>
+ <td>
+ <h4>Navigate projects</h4>
+ </td>
+ <td>
+ <h4>Control access</h4>
+ </td>
+ <td>
+ <h4>Update branches</h4>
+ </td>
+</tr>
+<tr>
+ <td>
+ <img src="images/project-list.png">
+ </td>
+ <td>
+ <img src="images/access.png">
+ </td>
+ <td>
+ <img src="images/branches.png">
+ </td>
+</tr>
+</table>
+
+Schedule [git gc] over all managed repositories and [replicate] to
+geographical mirrors for latency reduction and backup servers for hot
+spare redundancy.
+
+## Extensible through plugins
+
+Gerrit Code Review can be extended and further customized by installing
+[server-side plugins][plugins]. Source code for additional plugins
+can be found through the [project listing](https://gerrit.googlesource.com/plugins/).
+
+## Get in touch
+
+<table>
+<tr>
+<td>
+<h3>Mailing list</h3>
+</td>
+<td>
+<h3>Social media</h3>
+</td>
+<td>
+<h3>IRC</h3>
+</td>
+</tr>
+<tr>
+<td>
+<a href="https://groups.google.com/group/repo-discuss">Repo Discuss</a>
+</td>
+<td>
+<a href="https://plus.google.com/communities/111271594706618791655">Google+</a>
+<br>
+<a href="https://twitter.com/gerritreview">Twitter</a>
+</td>
+<td>
+<a href="https://freenode.net">freenode</a> #gerrit
+<br>
+<a href="https://echelog.com/logs/browse/gerrit/">Channel log</a>
+</td>
+</tr>
+</table>
+
diff --git a/jekyll-source/js/customscripts.js b/jekyll-source/js/customscripts.js
new file mode 100644
index 0000000..27701a3
--- /dev/null
+++ b/jekyll-source/js/customscripts.js
@@ -0,0 +1,54 @@
+$('#mysidebar').height($(".nav").height());
+
+
+$( document ).ready(function() {
+
+    //this script says, if the height of the viewport is greater than 800px, then insert affix class, which makes the nav bar float in a fixed
+    // position as your scroll. if you have a lot of nav items, this height may not work for you.
+    var h = $(window).height();
+    //console.log (h);
+    if (h > 800) {
+        $( "#mysidebar" ).attr("class", "nav affix");
+    }
+    // activate tooltips. although this is a bootstrap js function, it must be activated this way in your theme.
+    $('[data-toggle="tooltip"]').tooltip({
+        placement : 'top'
+    });
+
+    /**
+     * AnchorJS
+     */
+    anchors.add('h2,h3,h4,h5');
+
+});
+
+// needed for nav tabs on pages. See Formatting > Nav tabs for more details.
+// script from http://stackoverflow.com/questions/10523433/how-do-i-keep-the-current-tab-active-with-twitter-bootstrap-after-a-page-reload
+$(function() {
+    var json, tabsState;
+    $('a[data-toggle="pill"], a[data-toggle="tab"]').on('shown.bs.tab', function(e) {
+        var href, json, parentId, tabsState;
+
+        tabsState = localStorage.getItem("tabs-state");
+        json = JSON.parse(tabsState || "{}");
+        parentId = $(e.target).parents("ul.nav.nav-pills, ul.nav.nav-tabs").attr("id");
+        href = $(e.target).attr('href');
+        json[parentId] = href;
+
+        return localStorage.setItem("tabs-state", JSON.stringify(json));
+    });
+
+    tabsState = localStorage.getItem("tabs-state");
+    json = JSON.parse(tabsState || "{}");
+
+    $.each(json, function(containerId, href) {
+        return $("#" + containerId + " a[href=" + href + "]").tab('show');
+    });
+
+    $("ul.nav.nav-pills, ul.nav.nav-tabs").each(function() {
+        var $this = $(this);
+        if (!json[$this.attr("id")]) {
+            return $this.find("a[data-toggle=tab]:first, a[data-toggle=pill]:first").tab("show");
+        }
+    });
+});
diff --git a/jekyll-source/js/jekyll-search.js b/jekyll-source/js/jekyll-search.js
new file mode 100644
index 0000000..d884a24
--- /dev/null
+++ b/jekyll-source/js/jekyll-search.js
@@ -0,0 +1 @@
+!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module){module.exports=function(){function receivedResponse(xhr){return 200==xhr.status&&4==xhr.readyState}function handleResponse(xhr,callback){xhr.onreadystatechange=function(){if(receivedResponse(xhr))try{callback(null,JSON.parse(xhr.responseText))}catch(err){callback(err,null)}}}var self=this;self.load=function(location,callback){var xhr=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");xhr.open("GET",location,!0),handleResponse(xhr,callback),xhr.send()}}},{}],2:[function(require,module){function FuzzySearchStrategy(){function createFuzzyRegExpFromString(string){return new RegExp(string.split("").join(".*?"),"gi")}var self=this;self.matches=function(string,crit){return"string"!=typeof string?!1:(string=string.trim(),!!string.match(createFuzzyRegExpFromString(crit)))}}module.exports=new FuzzySearchStrategy},{}],3:[function(require,module){function LiteralSearchStrategy(){function doMatch(string,crit){return string.toLowerCase().indexOf(crit.toLowerCase())>=0}var self=this;self.matches=function(string,crit){return"string"!=typeof string?!1:(string=string.trim(),doMatch(string,crit))}}module.exports=new LiteralSearchStrategy},{}],4:[function(require,module){module.exports=function(){function findMatches(store,crit,strategy){for(var data=store.get(),i=0;i<data.length&&matches.length<limit;i++)findMatchesInObject(data[i],crit,strategy);return matches}function findMatchesInObject(obj,crit,strategy){for(var key in obj)if(strategy.matches(obj[key],crit)){matches.push(obj);break}}function getSearchStrategy(){return fuzzy?fuzzySearchStrategy:literalSearchStrategy}var self=this,matches=[],fuzzy=!1,limit=10,fuzzySearchStrategy=require("./SearchStrategies/fuzzy"),literalSearchStrategy=require("./SearchStrategies/literal");self.setFuzzy=function(_fuzzy){fuzzy=!!_fuzzy},self.setLimit=function(_limit){limit=parseInt(_limit,10)||limit},self.search=function(data,crit){return crit?(matches.length=0,findMatches(data,crit,getSearchStrategy())):[]}}},{"./SearchStrategies/fuzzy":2,"./SearchStrategies/literal":3}],5:[function(require,module){module.exports=function(_store){function isObject(obj){return!!obj&&"[object Object]"==Object.prototype.toString.call(obj)}function isArray(obj){return!!obj&&"[object Array]"==Object.prototype.toString.call(obj)}function addObject(data){return store.push(data),data}function addArray(data){for(var added=[],i=0;i<data.length;i++)isObject(data[i])&&added.push(addObject(data[i]));return added}var self=this,store=[];isArray(_store)&&addArray(_store),self.clear=function(){return store.length=0,store},self.get=function(){return store},self.put=function(data){return isObject(data)?addObject(data):isArray(data)?addArray(data):void 0}}},{}],6:[function(require,module){module.exports=function(){var self=this,templatePattern=/\{(.*?)\}/g;self.setTemplatePattern=function(newTemplatePattern){templatePattern=newTemplatePattern},self.render=function(t,data){return t.replace(templatePattern,function(match,prop){return data[prop]||match})}}},{}],7:[function(require){!function(window){"use strict";function SimpleJekyllSearch(){function initWithJSON(){store.put(opt.dataSource),registerInput()}function initWithURL(url){jsonLoader.load(url,function(err,json){err?throwError("failed to get JSON ("+url+")"):(store.put(json),registerInput())})}function throwError(message){throw new Error("SimpleJekyllSearch --- "+message)}function validateOptions(_opt){for(var i=0;i<requiredOptions.length;i++){var req=requiredOptions[i];_opt[req]||throwError("You must specify a "+req)}}function assignOptions(_opt){for(var option in opt)opt[option]=_opt[option]||opt[option]}function isJSON(json){try{return json instanceof Object&&JSON.parse(JSON.stringify(json))}catch(e){return!1}}function emptyResultsContainer(){opt.resultsContainer.innerHTML=""}function appendToResultsContainer(text){opt.resultsContainer.innerHTML+=text}function registerInput(){opt.searchInput.addEventListener("keyup",function(e){return 0==e.target.value.length?void emptyResultsContainer():void render(searcher.search(store,e.target.value))})}function render(results){if(emptyResultsContainer(),0==results.length)return appendToResultsContainer(opt.noResultsText);for(var i=0;i<results.length;i++)appendToResultsContainer(templater.render(opt.searchResultTemplate,results[i]))}var self=this,requiredOptions=["searchInput","resultsContainer","dataSource"],opt={searchInput:null,resultsContainer:null,dataSource:[],searchResultTemplate:'<li><a href="{url}" title="{desc}">{title}</a></li>',noResultsText:"No results found",limit:10,fuzzy:!1};self.init=function(_opt){validateOptions(_opt),assignOptions(_opt),isJSON(opt.dataSource)?initWithJSON(opt.dataSource):initWithURL(opt.dataSource)}}var Searcher=require("./Searcher"),Templater=require("./Templater"),Store=require("./Store"),JSONLoader=require("./JSONLoader"),searcher=new Searcher,templater=new Templater,store=new Store,jsonLoader=new JSONLoader;window.SimpleJekyllSearch=new SimpleJekyllSearch}(window,document)},{"./JSONLoader":1,"./Searcher":4,"./Store":5,"./Templater":6}]},{},[7]);
diff --git a/jekyll-source/js/jquery.ba-throttle-debounce.min.js b/jekyll-source/js/jquery.ba-throttle-debounce.min.js
new file mode 100644
index 0000000..0720550
--- /dev/null
+++ b/jekyll-source/js/jquery.ba-throttle-debounce.min.js
@@ -0,0 +1,9 @@
+/*
+ * jQuery throttle / debounce - v1.1 - 3/7/2010
+ * http://benalman.com/projects/jquery-throttle-debounce-plugin/
+ * 
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);
\ No newline at end of file
diff --git a/jekyll-source/js/jquery.navgoco.min.js b/jekyll-source/js/jquery.navgoco.min.js
new file mode 100755
index 0000000..4ba4475
--- /dev/null
+++ b/jekyll-source/js/jquery.navgoco.min.js
@@ -0,0 +1,8 @@
+/*
+ * jQuery Navgoco Menus Plugin v0.2.1 (2014-04-11)
+ * https://github.com/tefra/navgoco
+ *
+ * Copyright (c) 2014 Chris T (@tefra)
+ * BSD - https://github.com/tefra/navgoco/blob/master/LICENSE-BSD
+ */
+!function(a){"use strict";var b=function(b,c,d){return this.el=b,this.$el=a(b),this.options=c,this.uuid=this.$el.attr("id")?this.$el.attr("id"):d,this.state={},this.init(),this};b.prototype={init:function(){var b=this;b._load(),b.$el.find("ul").each(function(c){var d=a(this);d.attr("data-index",c),b.options.save&&b.state.hasOwnProperty(c)?(d.parent().addClass(b.options.openClass),d.show()):d.parent().hasClass(b.options.openClass)?(d.show(),b.state[c]=1):d.hide()});var c=a("<span></span>").prepend(b.options.caretHtml),d=b.$el.find("li > a");b._trigger(c,!1),b._trigger(d,!0),b.$el.find("li:has(ul) > a").prepend(c)},_trigger:function(b,c){var d=this;b.on("click",function(b){b.stopPropagation();var e=c?a(this).next():a(this).parent().next(),f=!1;if(c){var g=a(this).attr("href");f=void 0===g||""===g||"#"===g}if(e=e.length>0?e:!1,d.options.onClickBefore.call(this,b,e),!c||e&&f)b.preventDefault(),d._toggle(e,e.is(":hidden")),d._save();else if(d.options.accordion){var h=d.state=d._parents(a(this));d.$el.find("ul").filter(":visible").each(function(){var b=a(this),c=b.attr("data-index");h.hasOwnProperty(c)||d._toggle(b,!1)}),d._save()}d.options.onClickAfter.call(this,b,e)})},_toggle:function(b,c){var d=this,e=b.attr("data-index"),f=b.parent();if(d.options.onToggleBefore.call(this,b,c),c){if(f.addClass(d.options.openClass),b.slideDown(d.options.slide),d.state[e]=1,d.options.accordion){var g=d.state=d._parents(b);g[e]=d.state[e]=1,d.$el.find("ul").filter(":visible").each(function(){var b=a(this),c=b.attr("data-index");g.hasOwnProperty(c)||d._toggle(b,!1)})}}else f.removeClass(d.options.openClass),b.slideUp(d.options.slide),d.state[e]=0;d.options.onToggleAfter.call(this,b,c)},_parents:function(b,c){var d={},e=b.parent(),f=e.parents("ul");return f.each(function(){var b=a(this),e=b.attr("data-index");return e?void(d[e]=c?b:1):!1}),d},_save:function(){if(this.options.save){var b={};for(var d in this.state)1===this.state[d]&&(b[d]=1);c[this.uuid]=this.state=b,a.cookie(this.options.cookie.name,JSON.stringify(c),this.options.cookie)}},_load:function(){if(this.options.save){if(null===c){var b=a.cookie(this.options.cookie.name);c=b?JSON.parse(b):{}}this.state=c.hasOwnProperty(this.uuid)?c[this.uuid]:{}}},toggle:function(b){var c=this,d=arguments.length;if(1>=d)c.$el.find("ul").each(function(){var d=a(this);c._toggle(d,b)});else{var e,f={},g=Array.prototype.slice.call(arguments,1);d--;for(var h=0;d>h;h++){e=g[h];var i=c.$el.find('ul[data-index="'+e+'"]').first();if(i&&(f[e]=i,b)){var j=c._parents(i,!0);for(var k in j)f.hasOwnProperty(k)||(f[k]=j[k])}}for(e in f)c._toggle(f[e],b)}c._save()},destroy:function(){a.removeData(this.$el),this.$el.find("li:has(ul) > a").unbind("click"),this.$el.find("li:has(ul) > a > span").unbind("click")}},a.fn.navgoco=function(c){if("string"==typeof c&&"_"!==c.charAt(0)&&"init"!==c)var d=!0,e=Array.prototype.slice.call(arguments,1);else c=a.extend({},a.fn.navgoco.defaults,c||{}),a.cookie||(c.save=!1);return this.each(function(f){var g=a(this),h=g.data("navgoco");h||(h=new b(this,d?a.fn.navgoco.defaults:c,f),g.data("navgoco",h)),d&&h[c].apply(h,e)})};var c=null;a.fn.navgoco.defaults={caretHtml:"",accordion:!1,openClass:"open",save:!0,cookie:{name:"navgoco",expires:!1,path:"/"},slide:{duration:400,easing:"swing"},onClickBefore:a.noop,onClickAfter:a.noop,onToggleBefore:a.noop,onToggleAfter:a.noop}}(jQuery);
\ No newline at end of file
diff --git a/jekyll-source/js/jquery.shuffle.min.js b/jekyll-source/js/jquery.shuffle.min.js
new file mode 100644
index 0000000..d103127
--- /dev/null
+++ b/jekyll-source/js/jquery.shuffle.min.js
@@ -0,0 +1,1588 @@
+/*!
+ * Shuffle.js by @Vestride
+ * Categorize, sort, and filter a responsive grid of items.
+ * Dependencies: jQuery 1.9+, Modernizr 2.6.2+
+ * @license MIT license
+ * @version 3.0.0
+ */
+
+/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
+ * Build: http://modernizr.com/download/#-csstransforms-csstransforms3d-csstransitions-cssclasses-prefixed-teststyles-testprop-testallprops-prefixes-domprefixes
+ */
+window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.csstransforms=function(){return!!F("transform")},q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},q.csstransitions=function(){return F("transition")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,e.prefixed=function(a,b,c){return b?F(a,b,c):F(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document);
+
+(function (factory) {
+  if (typeof define === 'function' && define.amd) {
+    define(['jquery', 'modernizr'], factory);
+  } else {
+    window.Shuffle = factory(window.jQuery, window.Modernizr);
+  }
+})(function($, Modernizr, undefined) {
+
+'use strict';
+
+
+// Validate Modernizr exists.
+// Shuffle requires `csstransitions`, `csstransforms`, `csstransforms3d`,
+// and `prefixed` to exist on the Modernizr object.
+if (typeof Modernizr !== 'object') {
+  throw new Error('Shuffle.js requires Modernizr.\n' +
+      'http://vestride.github.io/Shuffle/#dependencies');
+}
+
+
+/**
+ * Returns css prefixed properties like `-webkit-transition` or `box-sizing`
+ * from `transition` or `boxSizing`, respectively.
+ * @param {(string|boolean)} prop Property to be prefixed.
+ * @return {string} The prefixed css property.
+ */
+function dashify( prop ) {
+  if (!prop) {
+    return '';
+  }
+
+  // Replace upper case with dash-lowercase,
+  // then fix ms- prefixes because they're not capitalized.
+  return prop.replace(/([A-Z])/g, function( str, m1 ) {
+    return '-' + m1.toLowerCase();
+  }).replace(/^ms-/,'-ms-');
+}
+
+// Constant, prefixed variables.
+var TRANSITION = Modernizr.prefixed('transition');
+var TRANSITION_DELAY = Modernizr.prefixed('transitionDelay');
+var TRANSITION_DURATION = Modernizr.prefixed('transitionDuration');
+
+// Note(glen): Stock Android 4.1.x browser will fail here because it wrongly
+// says it supports non-prefixed transitions.
+// https://github.com/Modernizr/Modernizr/issues/897
+var TRANSITIONEND = {
+  'WebkitTransition' : 'webkitTransitionEnd',
+  'transition' : 'transitionend'
+}[ TRANSITION ];
+
+var TRANSFORM = Modernizr.prefixed('transform');
+var CSS_TRANSFORM = dashify(TRANSFORM);
+
+// Constants
+var CAN_TRANSITION_TRANSFORMS = Modernizr.csstransforms && Modernizr.csstransitions;
+var HAS_TRANSFORMS_3D = Modernizr.csstransforms3d;
+var SHUFFLE = 'shuffle';
+var COLUMN_THRESHOLD = 0.3;
+
+// Configurable. You can change these constants to fit your application.
+// The default scale and concealed scale, however, have to be different values.
+var ALL_ITEMS = 'all';
+var FILTER_ATTRIBUTE_KEY = 'groups';
+var DEFAULT_SCALE = 1;
+var CONCEALED_SCALE = 0.001;
+
+
+// Underscore's throttle function.
+function throttle(func, wait, options) {
+  var context, args, result;
+  var timeout = null;
+  var previous = 0;
+  options = options || {};
+  var later = function() {
+    previous = options.leading === false ? 0 : $.now();
+    timeout = null;
+    result = func.apply(context, args);
+    context = args = null;
+  };
+  return function() {
+    var now = $.now();
+    if (!previous && options.leading === false) {
+      previous = now;
+    }
+    var remaining = wait - (now - previous);
+    context = this;
+    args = arguments;
+    if (remaining <= 0 || remaining > wait) {
+      clearTimeout(timeout);
+      timeout = null;
+      previous = now;
+      result = func.apply(context, args);
+      context = args = null;
+    } else if (!timeout && options.trailing !== false) {
+      timeout = setTimeout(later, remaining);
+    }
+    return result;
+  };
+}
+
+function each(obj, iterator, context) {
+  for (var i = 0, length = obj.length; i < length; i++) {
+    if (iterator.call(context, obj[i], i, obj) === {}) {
+      return;
+    }
+  }
+}
+
+function defer(fn, context, wait) {
+  return setTimeout( $.proxy( fn, context ), wait );
+}
+
+function arrayMax( array ) {
+  return Math.max.apply( Math, array );
+}
+
+function arrayMin( array ) {
+  return Math.min.apply( Math, array );
+}
+
+
+/**
+ * Always returns a numeric value, given a value.
+ * @param {*} value Possibly numeric value.
+ * @return {number} `value` or zero if `value` isn't numeric.
+ * @private
+ */
+function getNumber(value) {
+  return $.isNumeric(value) ? value : 0;
+}
+
+
+/**
+ * Represents a coordinate pair.
+ * @param {number} [x=0] X.
+ * @param {number} [y=0] Y.
+ */
+var Point = function(x, y) {
+  this.x = getNumber( x );
+  this.y = getNumber( y );
+};
+
+
+/**
+ * Whether two points are equal.
+ * @param {Point} a Point A.
+ * @param {Point} b Point B.
+ * @return {boolean}
+ */
+Point.equals = function(a, b) {
+  return a.x === b.x && a.y === b.y;
+};
+
+
+// Used for unique instance variables
+var id = 0;
+var $window = $( window );
+
+
+/**
+ * Categorize, sort, and filter a responsive grid of items.
+ *
+ * @param {Element} element An element which is the parent container for the grid items.
+ * @param {Object} [options=Shuffle.options] Options object.
+ * @constructor
+ */
+var Shuffle = function( element, options ) {
+  options = options || {};
+  $.extend( this, Shuffle.options, options, Shuffle.settings );
+
+  this.$el = $(element);
+  this.element = element;
+  this.unique = 'shuffle_' + id++;
+
+  this._fire( Shuffle.EventType.LOADING );
+  this._init();
+
+  // Dispatch the done event asynchronously so that people can bind to it after
+  // Shuffle has been initialized.
+  defer(function() {
+    this.initialized = true;
+    this._fire( Shuffle.EventType.DONE );
+  }, this, 16);
+};
+
+
+/**
+ * Events the container element emits with the .shuffle namespace.
+ * For example, "done.shuffle".
+ * @enum {string}
+ */
+Shuffle.EventType = {
+  LOADING: 'loading',
+  DONE: 'done',
+  LAYOUT: 'layout',
+  REMOVED: 'removed'
+};
+
+
+/** @enum {string} */
+Shuffle.ClassName = {
+  BASE: SHUFFLE,
+  SHUFFLE_ITEM: 'shuffle-item',
+  FILTERED: 'filtered',
+  CONCEALED: 'concealed'
+};
+
+
+// Overrideable options
+Shuffle.options = {
+  group: ALL_ITEMS, // Initial filter group.
+  speed: 250, // Transition/animation speed (milliseconds).
+  easing: 'ease-out', // CSS easing function to use.
+  itemSelector: '', // e.g. '.picture-item'.
+  sizer: null, // Sizer element. Use an element to determine the size of columns and gutters.
+  gutterWidth: 0, // A static number or function that tells the plugin how wide the gutters between columns are (in pixels).
+  columnWidth: 0, // A static number or function that returns a number which tells the plugin how wide the columns are (in pixels).
+  delimeter: null, // If your group is not json, and is comma delimeted, you could set delimeter to ','.
+  buffer: 0, // Useful for percentage based heights when they might not always be exactly the same (in pixels).
+  initialSort: null, // Shuffle can be initialized with a sort object. It is the same object given to the sort method.
+  throttle: throttle, // By default, shuffle will throttle resize events. This can be changed or removed.
+  throttleTime: 300, // How often shuffle can be called on resize (in milliseconds).
+  sequentialFadeDelay: 150, // Delay between each item that fades in when adding items.
+  supported: CAN_TRANSITION_TRANSFORMS // Whether to use transforms or absolute positioning.
+};
+
+
+// Not overrideable
+Shuffle.settings = {
+  useSizer: false,
+  itemCss : { // default CSS for each item
+    position: 'absolute',
+    top: 0,
+    left: 0,
+    visibility: 'visible'
+  },
+  revealAppendedDelay: 300,
+  lastSort: {},
+  lastFilter: ALL_ITEMS,
+  enabled: true,
+  destroyed: false,
+  initialized: false,
+  _animations: [],
+  styleQueue: []
+};
+
+
+// Expose for testing.
+Shuffle.Point = Point;
+
+
+/**
+ * Static methods.
+ */
+
+/**
+ * If the browser has 3d transforms available, build a string with those,
+ * otherwise use 2d transforms.
+ * @param {Point} point X and Y positions.
+ * @param {number} scale Scale amount.
+ * @return {string} A normalized string which can be used with the transform style.
+ * @private
+ */
+Shuffle._getItemTransformString = function(point, scale) {
+  if ( HAS_TRANSFORMS_3D ) {
+    return 'translate3d(' + point.x + 'px, ' + point.y + 'px, 0) scale3d(' + scale + ', ' + scale + ', 1)';
+  } else {
+    return 'translate(' + point.x + 'px, ' + point.y + 'px) scale(' + scale + ')';
+  }
+};
+
+
+/**
+ * Retrieve the computed style for an element, parsed as a float. This should
+ * not be used for width or height values because jQuery mangles them and they
+ * are not precise enough.
+ * @param {Element} element Element to get style for.
+ * @param {string} style Style property.
+ * @return {number} The parsed computed value or zero if that fails because IE
+ *     will return 'auto' when the element doesn't have margins instead of
+ *     the computed style.
+ * @private
+ */
+Shuffle._getNumberStyle = function( element, style ) {
+  return Shuffle._getFloat( $( element ).css( style )  );
+};
+
+
+/**
+ * Parse a string as an integer.
+ * @param {string} value String integer.
+ * @return {number} The string as an integer or zero.
+ * @private
+ */
+Shuffle._getInt = function(value) {
+  return getNumber( parseInt( value, 10 ) );
+};
+
+/**
+ * Parse a string as an float.
+ * @param {string} value String float.
+ * @return {number} The string as an float or zero.
+ * @private
+ */
+Shuffle._getFloat = function(value) {
+  return getNumber( parseFloat( value ) );
+};
+
+
+/**
+ * Returns the outer width of an element, optionally including its margins.
+ * The `offsetWidth` property must be used because having a scale transform
+ * on the element affects the bounding box. Sadly, Firefox doesn't return an
+ * integer value for offsetWidth (yet).
+ * @param {Element} element The element.
+ * @param {boolean} [includeMargins] Whether to include margins. Default is false.
+ * @return {number} The width.
+ */
+Shuffle._getOuterWidth = function( element, includeMargins ) {
+  var width = element.offsetWidth;
+
+  // Use jQuery here because it uses getComputedStyle internally and is
+  // cross-browser. Using the style property of the element will only work
+  // if there are inline styles.
+  if ( includeMargins ) {
+    var marginLeft = Shuffle._getNumberStyle( element, 'marginLeft');
+    var marginRight = Shuffle._getNumberStyle( element, 'marginRight');
+    width += marginLeft + marginRight;
+  }
+
+  return width;
+};
+
+
+/**
+ * Returns the outer height of an element, optionally including its margins.
+ * @param {Element} element The element.
+ * @param {boolean} [includeMargins] Whether to include margins. Default is false.
+ * @return {number} The height.
+ */
+Shuffle._getOuterHeight = function( element, includeMargins ) {
+  var height = element.offsetHeight;
+
+  if ( includeMargins ) {
+    var marginTop = Shuffle._getNumberStyle( element, 'marginTop');
+    var marginBottom = Shuffle._getNumberStyle( element, 'marginBottom');
+    height += marginTop + marginBottom;
+  }
+
+  return height;
+};
+
+
+/**
+ * Change a property or execute a function which will not have a transition
+ * @param {Element} element DOM element that won't be transitioned
+ * @param {Function} callback A function which will be called while transition
+ *     is set to 0ms.
+ * @param {Object} [context] Optional context for the callback function.
+ * @private
+ */
+Shuffle._skipTransition = function( element, callback, context ) {
+  var duration = element.style[ TRANSITION_DURATION ];
+
+  // Set the duration to zero so it happens immediately
+  element.style[ TRANSITION_DURATION ] = '0ms'; // ms needed for firefox!
+
+  callback.call( context );
+
+  // Force reflow
+  var reflow = element.offsetWidth;
+  // Avoid jshint warnings: unused variables and expressions.
+  reflow = null;
+
+  // Put the duration back
+  element.style[ TRANSITION_DURATION ] = duration;
+};
+
+
+/**
+ * Instance methods.
+ */
+
+Shuffle.prototype._init = function() {
+  this.$items = this._getItems();
+
+  this.sizer = this._getElementOption( this.sizer );
+
+  if ( this.sizer ) {
+    this.useSizer = true;
+  }
+
+  // Add class and invalidate styles
+  this.$el.addClass( Shuffle.ClassName.BASE );
+
+  // Set initial css for each item
+  this._initItems();
+
+  // Bind resize events
+  // http://stackoverflow.com/questions/1852751/window-resize-event-firing-in-internet-explorer
+  $window.on('resize.' + SHUFFLE + '.' + this.unique, this._getResizeFunction());
+
+  // Get container css all in one request. Causes reflow
+  var containerCSS = this.$el.css(['position', 'overflow']);
+  var containerWidth = Shuffle._getOuterWidth( this.element );
+
+  // Add styles to the container if it doesn't have them.
+  this._validateStyles( containerCSS );
+
+  // We already got the container's width above, no need to cause another reflow getting it again...
+  // Calculate the number of columns there will be
+  this._setColumns( containerWidth );
+
+  // Kick off!
+  this.shuffle( this.group, this.initialSort );
+
+  // The shuffle items haven't had transitions set on them yet
+  // so the user doesn't see the first layout. Set them now that the first layout is done.
+  if ( this.supported ) {
+    defer(function() {
+      this._setTransitions();
+      this.element.style[ TRANSITION ] = 'height ' + this.speed + 'ms ' + this.easing;
+    }, this);
+  }
+};
+
+
+/**
+ * Returns a throttled and proxied function for the resize handler.
+ * @return {Function}
+ * @private
+ */
+Shuffle.prototype._getResizeFunction = function() {
+  var resizeFunction = $.proxy( this._onResize, this );
+  return this.throttle ?
+      this.throttle( resizeFunction, this.throttleTime ) :
+      resizeFunction;
+};
+
+
+/**
+ * Retrieve an element from an option.
+ * @param {string|jQuery|Element} option The option to check.
+ * @return {?Element} The plain element or null.
+ * @private
+ */
+Shuffle.prototype._getElementOption = function( option ) {
+  // If column width is a string, treat is as a selector and search for the
+  // sizer element within the outermost container
+  if ( typeof option === 'string' ) {
+    return this.$el.find( option )[0] || null;
+
+  // Check for an element
+  } else if ( option && option.nodeType && option.nodeType === 1 ) {
+    return option;
+
+  // Check for jQuery object
+  } else if ( option && option.jquery ) {
+    return option[0];
+  }
+
+  return null;
+};
+
+
+/**
+ * Ensures the shuffle container has the css styles it needs applied to it.
+ * @param {Object} styles Key value pairs for position and overflow.
+ * @private
+ */
+Shuffle.prototype._validateStyles = function(styles) {
+  // Position cannot be static.
+  if ( styles.position === 'static' ) {
+    this.element.style.position = 'relative';
+  }
+
+  // Overflow has to be hidden
+  if ( styles.overflow !== 'hidden' ) {
+    this.element.style.overflow = 'hidden';
+  }
+};
+
+
+/**
+ * Filter the elements by a category.
+ * @param {string} [category] Category to filter by. If it's given, the last
+ *     category will be used to filter the items.
+ * @param {ArrayLike} [$collection] Optionally filter a collection. Defaults to
+ *     all the items.
+ * @return {jQuery} Filtered items.
+ * @private
+ */
+Shuffle.prototype._filter = function( category, $collection ) {
+  category = category || this.lastFilter;
+  $collection = $collection || this.$items;
+
+  var set = this._getFilteredSets( category, $collection );
+
+  // Individually add/remove concealed/filtered classes
+  this._toggleFilterClasses( set.filtered, set.concealed );
+
+  // Save the last filter in case elements are appended.
+  this.lastFilter = category;
+
+  // This is saved mainly because providing a filter function (like searching)
+  // will overwrite the `lastFilter` property every time its called.
+  if ( typeof category === 'string' ) {
+    this.group = category;
+  }
+
+  return set.filtered;
+};
+
+
+/**
+ * Returns an object containing the filtered and concealed elements.
+ * @param {string|Function} category Category or function to filter by.
+ * @param {ArrayLike.<Element>} $items A collection of items to filter.
+ * @return {!{filtered: jQuery, concealed: jQuery}}
+ * @private
+ */
+Shuffle.prototype._getFilteredSets = function( category, $items ) {
+  var $filtered = $();
+  var $concealed = $();
+
+  // category === 'all', add filtered class to everything
+  if ( category === ALL_ITEMS ) {
+    $filtered = $items;
+
+  // Loop through each item and use provided function to determine
+  // whether to hide it or not.
+  } else {
+    each($items, function( el ) {
+      var $item = $(el);
+      if ( this._doesPassFilter( category, $item ) ) {
+        $filtered = $filtered.add( $item );
+      } else {
+        $concealed = $concealed.add( $item );
+      }
+    }, this);
+  }
+
+  return {
+    filtered: $filtered,
+    concealed: $concealed
+  };
+};
+
+
+/**
+ * Test an item to see if it passes a category.
+ * @param {string|Function} category Category or function to filter by.
+ * @param {jQuery} $item A single item, wrapped with jQuery.
+ * @return {boolean} Whether it passes the category/filter.
+ * @private
+ */
+Shuffle.prototype._doesPassFilter = function( category, $item ) {
+  if ( $.isFunction( category ) ) {
+    return category.call( $item[0], $item, this );
+
+  // Check each element's data-groups attribute against the given category.
+  } else {
+    var groups = $item.data( FILTER_ATTRIBUTE_KEY );
+    var keys = this.delimeter && !$.isArray( groups ) ?
+        groups.split( this.delimeter ) :
+        groups;
+    return $.inArray(category, keys) > -1;
+  }
+};
+
+
+/**
+ * Toggles the filtered and concealed class names.
+ * @param {jQuery} $filtered Filtered set.
+ * @param {jQuery} $concealed Concealed set.
+ * @private
+ */
+Shuffle.prototype._toggleFilterClasses = function( $filtered, $concealed ) {
+  $filtered
+    .removeClass( Shuffle.ClassName.CONCEALED )
+    .addClass( Shuffle.ClassName.FILTERED );
+  $concealed
+    .removeClass( Shuffle.ClassName.FILTERED )
+    .addClass( Shuffle.ClassName.CONCEALED );
+};
+
+
+/**
+ * Set the initial css for each item
+ * @param {jQuery} [$items] Optionally specifiy at set to initialize
+ */
+Shuffle.prototype._initItems = function( $items ) {
+  $items = $items || this.$items;
+  $items.addClass([
+    Shuffle.ClassName.SHUFFLE_ITEM,
+    Shuffle.ClassName.FILTERED
+  ].join(' '));
+  $items.css( this.itemCss ).data('point', new Point()).data('scale', DEFAULT_SCALE);
+};
+
+
+/**
+ * Updates the filtered item count.
+ * @private
+ */
+Shuffle.prototype._updateItemCount = function() {
+  this.visibleItems = this._getFilteredItems().length;
+};
+
+
+/**
+ * Sets css transform transition on a an element.
+ * @param {Element} element Element to set transition on.
+ * @private
+ */
+Shuffle.prototype._setTransition = function( element ) {
+  element.style[ TRANSITION ] = CSS_TRANSFORM + ' ' + this.speed + 'ms ' +
+    this.easing + ', opacity ' + this.speed + 'ms ' + this.easing;
+};
+
+
+/**
+ * Sets css transform transition on a group of elements.
+ * @param {ArrayLike.<Element>} $items Elements to set transitions on.
+ * @private
+ */
+Shuffle.prototype._setTransitions = function( $items ) {
+  $items = $items || this.$items;
+  each($items, function( el ) {
+    this._setTransition( el );
+  }, this);
+};
+
+
+/**
+ * Sets a transition delay on a collection of elements, making each delay
+ * greater than the last.
+ * @param {ArrayLike.<Element>} $collection Array to iterate over.
+ */
+Shuffle.prototype._setSequentialDelay = function( $collection ) {
+  if ( !this.supported ) {
+    return;
+  }
+
+  // $collection can be an array of dom elements or jquery object
+  each($collection, function( el, i ) {
+    // This works because the transition-property: transform, opacity;
+    el.style[ TRANSITION_DELAY ] = '0ms,' + ((i + 1) * this.sequentialFadeDelay) + 'ms';
+  }, this);
+};
+
+
+Shuffle.prototype._getItems = function() {
+  return this.$el.children( this.itemSelector );
+};
+
+
+Shuffle.prototype._getFilteredItems = function() {
+  return this.$items.filter('.' + Shuffle.ClassName.FILTERED);
+};
+
+
+Shuffle.prototype._getConcealedItems = function() {
+  return this.$items.filter('.' + Shuffle.ClassName.CONCEALED);
+};
+
+
+/**
+ * Returns the column size, based on column width and sizer options.
+ * @param {number} containerWidth Size of the parent container.
+ * @param {number} gutterSize Size of the gutters.
+ * @return {number}
+ * @private
+ */
+Shuffle.prototype._getColumnSize = function( containerWidth, gutterSize ) {
+  var size;
+
+  // If the columnWidth property is a function, then the grid is fluid
+  if ( $.isFunction( this.columnWidth ) ) {
+    size = this.columnWidth(containerWidth);
+
+  // columnWidth option isn't a function, are they using a sizing element?
+  } else if ( this.useSizer ) {
+    size = Shuffle._getOuterWidth(this.sizer);
+
+  // if not, how about the explicitly set option?
+  } else if ( this.columnWidth ) {
+    size = this.columnWidth;
+
+  // or use the size of the first item
+  } else if ( this.$items.length > 0 ) {
+    size = Shuffle._getOuterWidth(this.$items[0], true);
+
+  // if there's no items, use size of container
+  } else {
+    size = containerWidth;
+  }
+
+  // Don't let them set a column width of zero.
+  if ( size === 0 ) {
+    size = containerWidth;
+  }
+
+  return size + gutterSize;
+};
+
+
+/**
+ * Returns the gutter size, based on gutter width and sizer options.
+ * @param {number} containerWidth Size of the parent container.
+ * @return {number}
+ * @private
+ */
+Shuffle.prototype._getGutterSize = function( containerWidth ) {
+  var size;
+  if ( $.isFunction( this.gutterWidth ) ) {
+    size = this.gutterWidth(containerWidth);
+  } else if ( this.useSizer ) {
+    size = Shuffle._getNumberStyle(this.sizer, 'marginLeft');
+  } else {
+    size = this.gutterWidth;
+  }
+
+  return size;
+};
+
+
+/**
+ * Calculate the number of columns to be used. Gets css if using sizer element.
+ * @param {number} [theContainerWidth] Optionally specify a container width if it's already available.
+ */
+Shuffle.prototype._setColumns = function( theContainerWidth ) {
+  var containerWidth = theContainerWidth || Shuffle._getOuterWidth( this.element );
+  var gutter = this._getGutterSize( containerWidth );
+  var columnWidth = this._getColumnSize( containerWidth, gutter );
+  var calculatedColumns = (containerWidth + gutter) / columnWidth;
+
+  // Widths given from getComputedStyle are not precise enough...
+  if ( Math.abs(Math.round(calculatedColumns) - calculatedColumns) < COLUMN_THRESHOLD ) {
+    // e.g. calculatedColumns = 11.998876
+    calculatedColumns = Math.round( calculatedColumns );
+  }
+
+  this.cols = Math.max( Math.floor(calculatedColumns), 1 );
+  this.containerWidth = containerWidth;
+  this.colWidth = columnWidth;
+};
+
+/**
+ * Adjust the height of the grid
+ */
+Shuffle.prototype._setContainerSize = function() {
+  this.$el.css( 'height', this._getContainerSize() );
+};
+
+
+/**
+ * Based on the column heights, it returns the biggest one.
+ * @return {number}
+ * @private
+ */
+Shuffle.prototype._getContainerSize = function() {
+  return arrayMax( this.positions );
+};
+
+
+/**
+ * Fire events with .shuffle namespace
+ */
+Shuffle.prototype._fire = function( name, args ) {
+  this.$el.trigger( name + '.' + SHUFFLE, args && args.length ? args : [ this ] );
+};
+
+
+/**
+ * Zeros out the y columns array, which is used to determine item placement.
+ * @private
+ */
+Shuffle.prototype._resetCols = function() {
+  var i = this.cols;
+  this.positions = [];
+  while (i--) {
+    this.positions.push( 0 );
+  }
+};
+
+
+/**
+ * Loops through each item that should be shown and calculates the x, y position.
+ * @param {Array.<Element>} items Array of items that will be shown/layed out in order in their array.
+ *     Because jQuery collection are always ordered in DOM order, we can't pass a jq collection.
+ * @param {boolean} [isOnlyPosition=false] If true this will position the items with zero opacity.
+ */
+Shuffle.prototype._layout = function( items, isOnlyPosition ) {
+  each(items, function( item ) {
+    this._layoutItem( item, !!isOnlyPosition );
+  }, this);
+
+  // `_layout` always happens after `_shrink`, so it's safe to process the style
+  // queue here with styles from the shrink method.
+  this._processStyleQueue();
+
+  // Adjust the height of the container.
+  this._setContainerSize();
+};
+
+
+/**
+ * Calculates the position of the item and pushes it onto the style queue.
+ * @param {Element} item Element which is being positioned.
+ * @param {boolean} isOnlyPosition Whether to position the item, but with zero
+ *     opacity so that it can fade in later.
+ * @private
+ */
+Shuffle.prototype._layoutItem = function( item, isOnlyPosition ) {
+  var $item = $(item);
+  var itemData = $item.data();
+  var currPos = itemData.point;
+  var currScale = itemData.scale;
+  var itemSize = {
+    width: Shuffle._getOuterWidth( item, true ),
+    height: Shuffle._getOuterHeight( item, true )
+  };
+  var pos = this._getItemPosition( itemSize );
+
+  // If the item will not change its position, do not add it to the render
+  // queue. Transitions don't fire when setting a property to the same value.
+  if ( Point.equals(currPos, pos) && currScale === DEFAULT_SCALE ) {
+    return;
+  }
+
+  // Save data for shrink
+  itemData.point = pos;
+  itemData.scale = DEFAULT_SCALE;
+
+  this.styleQueue.push({
+    $item: $item,
+    point: pos,
+    scale: DEFAULT_SCALE,
+    opacity: isOnlyPosition ? 0 : 1,
+    skipTransition: isOnlyPosition,
+    callfront: function() {
+      if ( !isOnlyPosition ) {
+        $item.css( 'visibility', 'visible' );
+      }
+    },
+    callback: function() {
+      if ( isOnlyPosition ) {
+        $item.css( 'visibility', 'hidden' );
+      }
+    }
+  });
+};
+
+
+/**
+ * Determine the location of the next item, based on its size.
+ * @param {{width: number, height: number}} itemSize Object with width and height.
+ * @return {Point}
+ * @private
+ */
+Shuffle.prototype._getItemPosition = function( itemSize ) {
+  var columnSpan = this._getColumnSpan( itemSize.width, this.colWidth, this.cols );
+
+  var setY = this._getColumnSet( columnSpan, this.cols );
+
+  // Finds the index of the smallest number in the set.
+  var shortColumnIndex = this._getShortColumn( setY, this.buffer );
+
+  // Position the item
+  var point = new Point(
+    Math.round( this.colWidth * shortColumnIndex ),
+    Math.round( setY[shortColumnIndex] ));
+
+  // Update the columns array with the new values for each column.
+  // e.g. before the update the columns could be [250, 0, 0, 0] for an item
+  // which spans 2 columns. After it would be [250, itemHeight, itemHeight, 0].
+  var setHeight = setY[shortColumnIndex] + itemSize.height;
+  var setSpan = this.cols + 1 - setY.length;
+  for ( var i = 0; i < setSpan; i++ ) {
+    this.positions[ shortColumnIndex + i ] = setHeight;
+  }
+
+  return point;
+};
+
+
+/**
+ * Determine the number of columns an items spans.
+ * @param {number} itemWidth Width of the item.
+ * @param {number} columnWidth Width of the column (includes gutter).
+ * @param {number} columns Total number of columns
+ * @return {number}
+ * @private
+ */
+Shuffle.prototype._getColumnSpan = function( itemWidth, columnWidth, columns ) {
+  var columnSpan = itemWidth / columnWidth;
+
+  // If the difference between the rounded column span number and the
+  // calculated column span number is really small, round the number to
+  // make it fit.
+  if ( Math.abs(Math.round( columnSpan ) - columnSpan ) < COLUMN_THRESHOLD ) {
+    // e.g. columnSpan = 4.0089945390298745
+    columnSpan = Math.round( columnSpan );
+  }
+
+  // Ensure the column span is not more than the amount of columns in the whole layout.
+  return Math.min( Math.ceil( columnSpan ), columns );
+};
+
+
+/**
+ * Retrieves the column set to use for placement.
+ * @param {number} columnSpan The number of columns this current item spans.
+ * @param {number} columns The total columns in the grid.
+ * @return {Array.<number>} An array of numbers represeting the column set.
+ * @private
+ */
+Shuffle.prototype._getColumnSet = function( columnSpan, columns ) {
+  // The item spans only one column.
+  if ( columnSpan === 1 ) {
+    return this.positions;
+
+  // The item spans more than one column, figure out how many different
+  // places it could fit horizontally.
+  // The group count is the number of places within the positions this block
+  // could fit, ignoring the current positions of items.
+  // Imagine a 2 column brick as the second item in a 4 column grid with
+  // 10px height each. Find the places it would fit:
+  // [10, 0, 0, 0]
+  //  |   |  |
+  //  *   *  *
+  //
+  // Then take the places which fit and get the bigger of the two:
+  // max([10, 0]), max([0, 0]), max([0, 0]) = [10, 0, 0]
+  //
+  // Next, find the first smallest number (the short column).
+  // [10, 0, 0]
+  //      |
+  //      *
+  //
+  // And that's where it should be placed!
+  } else {
+    var groupCount = columns + 1 - columnSpan;
+    var groupY = [];
+
+    // For how many possible positions for this item there are.
+    for ( var i = 0; i < groupCount; i++ ) {
+      // Find the bigger value for each place it could fit.
+      groupY[i] = arrayMax( this.positions.slice( i, i + columnSpan ) );
+    }
+
+    return groupY;
+  }
+};
+
+
+/**
+ * Find index of short column, the first from the left where this item will go.
+ *
+ * @param {Array.<number>} positions The array to search for the smallest number.
+ * @param {number} buffer Optional buffer which is very useful when the height
+ *     is a percentage of the width.
+ * @return {number} Index of the short column.
+ * @private
+ */
+Shuffle.prototype._getShortColumn = function( positions, buffer ) {
+  var minPosition = arrayMin( positions );
+  for (var i = 0, len = positions.length; i < len; i++) {
+    if ( positions[i] >= minPosition - buffer && positions[i] <= minPosition + buffer ) {
+      return i;
+    }
+  }
+  return 0;
+};
+
+
+/**
+ * Hides the elements that don't match our filter.
+ * @param {jQuery} $collection jQuery collection to shrink.
+ * @private
+ */
+Shuffle.prototype._shrink = function( $collection ) {
+  var $concealed = $collection || this._getConcealedItems();
+
+  each($concealed, function( item ) {
+    var $item = $(item);
+    var itemData = $item.data();
+
+    // Continuing would add a transitionend event listener to the element, but
+    // that listener would not execute because the transform and opacity would
+    // stay the same.
+    if ( itemData.scale === CONCEALED_SCALE ) {
+      return;
+    }
+
+    itemData.scale = CONCEALED_SCALE;
+
+    this.styleQueue.push({
+      $item: $item,
+      point: itemData.point,
+      scale : CONCEALED_SCALE,
+      opacity: 0,
+      callback: function() {
+        $item.css( 'visibility', 'hidden' );
+      }
+    });
+  }, this);
+};
+
+
+/**
+ * Resize handler.
+ * @private
+ */
+Shuffle.prototype._onResize = function() {
+  // If shuffle is disabled, destroyed, don't do anything
+  if ( !this.enabled || this.destroyed || this.isTransitioning ) {
+    return;
+  }
+
+  // Will need to check height in the future if it's layed out horizontaly
+  var containerWidth = Shuffle._getOuterWidth( this.element );
+
+  // containerWidth hasn't changed, don't do anything
+  if ( containerWidth === this.containerWidth ) {
+    return;
+  }
+
+  this.update();
+};
+
+
+/**
+ * Returns styles for either jQuery animate or transition.
+ * @param {Object} opts Transition options.
+ * @return {!Object} Transforms for transitions, left/top for animate.
+ * @private
+ */
+Shuffle.prototype._getStylesForTransition = function( opts ) {
+  var styles = {
+    opacity: opts.opacity
+  };
+
+  if ( this.supported ) {
+    styles[ TRANSFORM ] = Shuffle._getItemTransformString( opts.point, opts.scale );
+  } else {
+    styles.left = opts.point.x;
+    styles.top = opts.point.y;
+  }
+
+  return styles;
+};
+
+
+/**
+ * Transitions an item in the grid
+ *
+ * @param {Object} opts options.
+ * @param {jQuery} opts.$item jQuery object representing the current item.
+ * @param {Point} opts.point A point object with the x and y coordinates.
+ * @param {number} opts.scale Amount to scale the item.
+ * @param {number} opts.opacity Opacity of the item.
+ * @param {Function} opts.callback Complete function for the animation.
+ * @param {Function} opts.callfront Function to call before transitioning.
+ * @private
+ */
+Shuffle.prototype._transition = function( opts ) {
+  var styles = this._getStylesForTransition( opts );
+  this._startItemAnimation( opts.$item, styles, opts.callfront || $.noop, opts.callback || $.noop );
+};
+
+
+Shuffle.prototype._startItemAnimation = function( $item, styles, callfront, callback ) {
+  // Transition end handler removes its listener.
+  function handleTransitionEnd( evt ) {
+    // Make sure this event handler has not bubbled up from a child.
+    if ( evt.target === evt.currentTarget ) {
+      $( evt.target ).off( TRANSITIONEND, handleTransitionEnd );
+      callback();
+    }
+  }
+
+  callfront();
+
+  // Transitions are not set until shuffle has loaded to avoid the initial transition.
+  if ( !this.initialized ) {
+    $item.css( styles );
+    callback();
+    return;
+  }
+
+  // Use CSS Transforms if we have them
+  if ( this.supported ) {
+    $item.css( styles );
+    $item.on( TRANSITIONEND, handleTransitionEnd );
+
+  // Use jQuery to animate left/top
+  } else {
+    // Save the deferred object which jQuery returns.
+    var anim = $item.stop( true ).animate( styles, this.speed, 'swing', callback );
+    // Push the animation to the list of pending animations.
+    this._animations.push( anim.promise() );
+  }
+};
+
+
+/**
+ * Execute the styles gathered in the style queue. This applies styles to elements,
+ * triggering transitions.
+ * @param {boolean} noLayout Whether to trigger a layout event.
+ * @private
+ */
+Shuffle.prototype._processStyleQueue = function( noLayout ) {
+  var $transitions = $();
+
+  // Iterate over the queue and keep track of ones that use transitions.
+  each(this.styleQueue, function( transitionObj ) {
+    if ( transitionObj.skipTransition ) {
+      this._styleImmediately( transitionObj );
+    } else {
+      $transitions = $transitions.add( transitionObj.$item );
+      this._transition( transitionObj );
+    }
+  }, this);
+
+
+  if ( $transitions.length > 0 && this.initialized ) {
+    // Set flag that shuffle is currently in motion.
+    this.isTransitioning = true;
+
+    if ( this.supported ) {
+      this._whenCollectionDone( $transitions, TRANSITIONEND, this._movementFinished );
+
+    // The _transition function appends a promise to the animations array.
+    // When they're all complete, do things.
+    } else {
+      this._whenAnimationsDone( this._movementFinished );
+    }
+
+  // A call to layout happened, but none of the newly filtered items will
+  // change position. Asynchronously fire the callback here.
+  } else if ( !noLayout ) {
+    defer( this._layoutEnd, this );
+  }
+
+  // Remove everything in the style queue
+  this.styleQueue.length = 0;
+};
+
+
+/**
+ * Apply styles without a transition.
+ * @param {Object} opts Transitions options object.
+ * @private
+ */
+Shuffle.prototype._styleImmediately = function( opts ) {
+  Shuffle._skipTransition(opts.$item[0], function() {
+    opts.$item.css( this._getStylesForTransition( opts ) );
+  }, this);
+};
+
+Shuffle.prototype._movementFinished = function() {
+  this.isTransitioning = false;
+  this._layoutEnd();
+};
+
+Shuffle.prototype._layoutEnd = function() {
+  this._fire( Shuffle.EventType.LAYOUT );
+};
+
+Shuffle.prototype._addItems = function( $newItems, addToEnd, isSequential ) {
+  // Add classes and set initial positions.
+  this._initItems( $newItems );
+
+  // Add transition to each item.
+  this._setTransitions( $newItems );
+
+  // Update the list of
+  this.$items = this._getItems();
+
+  // Shrink all items (without transitions).
+  this._shrink( $newItems );
+  each(this.styleQueue, function( transitionObj ) {
+    transitionObj.skipTransition = true;
+  });
+
+  // Apply shrink positions, but do not cause a layout event.
+  this._processStyleQueue( true );
+
+  if ( addToEnd ) {
+    this._addItemsToEnd( $newItems, isSequential );
+  } else {
+    this.shuffle( this.lastFilter );
+  }
+};
+
+
+Shuffle.prototype._addItemsToEnd = function( $newItems, isSequential ) {
+  // Get ones that passed the current filter
+  var $passed = this._filter( null, $newItems );
+  var passed = $passed.get();
+
+  // How many filtered elements?
+  this._updateItemCount();
+
+  this._layout( passed, true );
+
+  if ( isSequential && this.supported ) {
+    this._setSequentialDelay( passed );
+  }
+
+  this._revealAppended( passed );
+};
+
+
+/**
+ * Triggers appended elements to fade in.
+ * @param {ArrayLike.<Element>} $newFilteredItems Collection of elements.
+ * @private
+ */
+Shuffle.prototype._revealAppended = function( newFilteredItems ) {
+  defer(function() {
+    each(newFilteredItems, function( el ) {
+      var $item = $( el );
+      this._transition({
+        $item: $item,
+        opacity: 1,
+        point: $item.data('point'),
+        scale: DEFAULT_SCALE
+      });
+    }, this);
+
+    this._whenCollectionDone($(newFilteredItems), TRANSITIONEND, function() {
+      $(newFilteredItems).css( TRANSITION_DELAY, '0ms' );
+      this._movementFinished();
+    });
+  }, this, this.revealAppendedDelay);
+};
+
+
+/**
+ * Execute a function when an event has been triggered for every item in a collection.
+ * @param {jQuery} $collection Collection of elements.
+ * @param {string} eventName Event to listen for.
+ * @param {Function} callback Callback to execute when they're done.
+ * @private
+ */
+Shuffle.prototype._whenCollectionDone = function( $collection, eventName, callback ) {
+  var done = 0;
+  var items = $collection.length;
+  var self = this;
+
+  function handleEventName( evt ) {
+    if ( evt.target === evt.currentTarget ) {
+      $( evt.target ).off( eventName, handleEventName );
+      done++;
+
+      // Execute callback if all items have emitted the correct event.
+      if ( done === items ) {
+        callback.call( self );
+      }
+    }
+  }
+
+  // Bind the event to all items.
+  $collection.on( eventName, handleEventName );
+};
+
+
+/**
+ * Execute a callback after jQuery `animate` for a collection has finished.
+ * @param {Function} callback Callback to execute when they're done.
+ * @private
+ */
+Shuffle.prototype._whenAnimationsDone = function( callback ) {
+  $.when.apply( null, this._animations ).always( $.proxy( function() {
+    this._animations.length = 0;
+    callback.call( this );
+  }, this ));
+};
+
+
+/**
+ * Public Methods
+ */
+
+/**
+ * The magic. This is what makes the plugin 'shuffle'
+ * @param {string|Function} [category] Category to filter by. Can be a function
+ * @param {Object} [sortObj] A sort object which can sort the filtered set
+ */
+Shuffle.prototype.shuffle = function( category, sortObj ) {
+  if ( !this.enabled || this.isTransitioning ) {
+    return;
+  }
+
+  if ( !category ) {
+    category = ALL_ITEMS;
+  }
+
+  this._filter( category );
+
+  // How many filtered elements?
+  this._updateItemCount();
+
+  // Shrink each concealed item
+  this._shrink();
+
+  // Update transforms on .filtered elements so they will animate to their new positions
+  this.sort( sortObj );
+};
+
+
+/**
+ * Gets the .filtered elements, sorts them, and passes them to layout.
+ * @param {Object} opts the options object for the sorted plugin
+ */
+Shuffle.prototype.sort = function( opts ) {
+  if ( this.enabled && !this.isTransitioning ) {
+    this._resetCols();
+
+    var sortOptions = opts || this.lastSort;
+    var items = this._getFilteredItems().sorted( sortOptions );
+
+    this._layout( items );
+
+    this.lastSort = sortOptions;
+  }
+};
+
+
+/**
+ * Reposition everything.
+ * @param {boolean} isOnlyLayout If true, column and gutter widths won't be
+ *     recalculated.
+ */
+Shuffle.prototype.update = function( isOnlyLayout ) {
+  if ( this.enabled && !this.isTransitioning ) {
+
+    if ( !isOnlyLayout ) {
+      // Get updated colCount
+      this._setColumns();
+    }
+
+    // Layout items
+    this.sort();
+  }
+};
+
+
+/**
+ * Use this instead of `update()` if you don't need the columns and gutters updated
+ * Maybe an image inside `shuffle` loaded (and now has a height), which means calculations
+ * could be off.
+ */
+Shuffle.prototype.layout = function() {
+  this.update( true );
+};
+
+
+/**
+ * New items have been appended to shuffle. Fade them in sequentially
+ * @param {jQuery} $newItems jQuery collection of new items
+ * @param {boolean} [addToEnd=false] If true, new items will be added to the end / bottom
+ *     of the items. If not true, items will be mixed in with the current sort order.
+ * @param {boolean} [isSequential=true] If false, new items won't sequentially fade in
+ */
+Shuffle.prototype.appended = function( $newItems, addToEnd, isSequential ) {
+  this._addItems( $newItems, addToEnd === true, isSequential !== false );
+};
+
+
+/**
+ * Disables shuffle from updating dimensions and layout on resize
+ */
+Shuffle.prototype.disable = function() {
+  this.enabled = false;
+};
+
+
+/**
+ * Enables shuffle again
+ * @param {boolean} [isUpdateLayout=true] if undefined, shuffle will update columns and gutters
+ */
+Shuffle.prototype.enable = function( isUpdateLayout ) {
+  this.enabled = true;
+  if ( isUpdateLayout !== false ) {
+    this.update();
+  }
+};
+
+
+/**
+ * Remove 1 or more shuffle items
+ * @param {jQuery} $collection A jQuery object containing one or more element in shuffle
+ * @return {Shuffle} The shuffle object
+ */
+Shuffle.prototype.remove = function( $collection ) {
+
+  // If this isn't a jquery object, exit
+  if ( !$collection.length || !$collection.jquery ) {
+    return;
+  }
+
+  function handleRemoved() {
+    // Remove the collection in the callback
+    $collection.remove();
+
+    // Update things now that elements have been removed.
+    this.$items = this._getItems();
+    this._updateItemCount();
+
+    this._fire( Shuffle.EventType.REMOVED, [ $collection, this ] );
+
+    // Let it get garbage collected
+    $collection = null;
+  }
+
+  // Hide collection first.
+  this._toggleFilterClasses( $(), $collection );
+  this._shrink( $collection );
+
+  this.sort();
+
+  this.$el.one( Shuffle.EventType.LAYOUT + '.' + SHUFFLE, $.proxy( handleRemoved, this ) );
+};
+
+
+/**
+ * Destroys shuffle, removes events, styles, and classes
+ */
+Shuffle.prototype.destroy = function() {
+  // If there is more than one shuffle instance on the page,
+  // removing the resize handler from the window would remove them
+  // all. This is why a unique value is needed.
+  $window.off('.' + this.unique);
+
+  // Reset container styles
+  this.$el
+      .removeClass( SHUFFLE )
+      .removeAttr('style')
+      .removeData( SHUFFLE );
+
+  // Reset individual item styles
+  this.$items
+      .removeAttr('style')
+      .removeData('point')
+      .removeData('scale')
+      .removeClass([
+        Shuffle.ClassName.CONCEALED,
+        Shuffle.ClassName.FILTERED,
+        Shuffle.ClassName.SHUFFLE_ITEM
+      ].join(' '));
+
+  // Null DOM references
+  this.$items = null;
+  this.$el = null;
+  this.sizer = null;
+  this.element = null;
+
+  // Set a flag so if a debounced resize has been triggered,
+  // it can first check if it is actually destroyed and not doing anything
+  this.destroyed = true;
+};
+
+
+// Plugin definition
+$.fn.shuffle = function( opts ) {
+  var args = Array.prototype.slice.call( arguments, 1 );
+  return this.each(function() {
+    var $this = $( this );
+    var shuffle = $this.data( SHUFFLE );
+
+    // If we don't have a stored shuffle, make a new one and save it
+    if ( !shuffle ) {
+      shuffle = new Shuffle( this, opts );
+      $this.data( SHUFFLE, shuffle );
+    } else if ( typeof opts === 'string' && shuffle[ opts ] ) {
+      shuffle[ opts ].apply( shuffle, args );
+    }
+  });
+};
+
+
+// http://stackoverflow.com/a/962890/373422
+function randomize( array ) {
+  var tmp, current;
+  var top = array.length;
+
+  if ( !top ) {
+    return array;
+  }
+
+  while ( --top ) {
+    current = Math.floor( Math.random() * (top + 1) );
+    tmp = array[ current ];
+    array[ current ] = array[ top ];
+    array[ top ] = tmp;
+  }
+
+  return array;
+}
+
+
+// You can return `undefined` from the `by` function to revert to DOM order
+// This plugin does NOT return a jQuery object. It returns a plain array because
+// jQuery sorts everything in DOM order.
+$.fn.sorted = function(options) {
+  var opts = $.extend({}, $.fn.sorted.defaults, options);
+  var arr = this.get();
+  var revert = false;
+
+  if ( !arr.length ) {
+    return [];
+  }
+
+  if ( opts.randomize ) {
+    return randomize( arr );
+  }
+
+  // Sort the elements by the opts.by function.
+  // If we don't have opts.by, default to DOM order
+  if ( $.isFunction( opts.by ) ) {
+    arr.sort(function(a, b) {
+
+      // Exit early if we already know we want to revert
+      if ( revert ) {
+        return 0;
+      }
+
+      var valA = opts.by($(a));
+      var valB = opts.by($(b));
+
+      // If both values are undefined, use the DOM order
+      if ( valA === undefined && valB === undefined ) {
+        revert = true;
+        return 0;
+      }
+
+      if ( valA < valB || valA === 'sortFirst' || valB === 'sortLast' ) {
+        return -1;
+      }
+
+      if ( valA > valB || valA === 'sortLast' || valB === 'sortFirst' ) {
+        return 1;
+      }
+
+      return 0;
+    });
+  }
+
+  // Revert to the original array if necessary
+  if ( revert ) {
+    return this.get();
+  }
+
+  if ( opts.reverse ) {
+    arr.reverse();
+  }
+
+  return arr;
+};
+
+
+$.fn.sorted.defaults = {
+  reverse: false, // Use array.reverse() to reverse the results
+  by: null, // Sorting function
+  randomize: false // If true, this will skip the sorting and return a randomized order in the array
+};
+
+return Shuffle;
+
+});
\ No newline at end of file
diff --git a/jekyll-source/js/toc.js b/jekyll-source/js/toc.js
new file mode 100644
index 0000000..a54d172
--- /dev/null
+++ b/jekyll-source/js/toc.js
@@ -0,0 +1,82 @@
+// https://github.com/ghiculescu/jekyll-table-of-contents
+(function($){
+  $.fn.toc = function(options) {
+    var defaults = {
+      noBackToTopLinks: false,
+      title: '',
+      minimumHeaders: 3,
+      headers: 'h1, h2, h3, h4',
+      listType: 'ol', // values: [ol|ul]
+      showEffect: 'show', // values: [show|slideDown|fadeIn|none]
+      showSpeed: 'slow' // set to 0 to deactivate effect
+    },
+    settings = $.extend(defaults, options);
+
+    var headers = $(settings.headers).filter(function() {
+      // get all headers with an ID
+      var previousSiblingName = $(this).prev().attr( "name" );
+      if (!this.id && previousSiblingName) {
+        this.id = $(this).attr( "id", previousSiblingName.replace(/\./g, "-") );
+      }
+      return this.id;
+    }), output = $(this);
+    if (!headers.length || headers.length < settings.minimumHeaders || !output.length) {
+      return;
+    }
+
+    if (0 === settings.showSpeed) {
+      settings.showEffect = 'none';
+    }
+
+    var render = {
+      show: function() { output.hide().html(html).show(settings.showSpeed); },
+      slideDown: function() { output.hide().html(html).slideDown(settings.showSpeed); },
+      fadeIn: function() { output.hide().html(html).fadeIn(settings.showSpeed); },
+      none: function() { output.html(html); }
+    };
+
+    var get_level = function(ele) { return parseInt(ele.nodeName.replace("H", ""), 10); }
+    var highest_level = headers.map(function(_, ele) { return get_level(ele); }).get().sort()[0];
+    var return_to_top = '<i class="icon-arrow-up back-to-top"> </i>';
+
+    var level = get_level(headers[0]),
+      this_level,
+      html = settings.title + " <"+settings.listType+">";
+    headers.on('click', function() {
+      if (!settings.noBackToTopLinks) {
+        window.location.hash = this.id;
+      }
+    })
+    .addClass('clickable-header')
+    .each(function(_, header) {
+      this_level = get_level(header);
+      if (!settings.noBackToTopLinks && this_level === highest_level) {
+        $(header).addClass('top-level-header').after(return_to_top);
+      }
+      if (this_level === level) // same level as before; same indenting
+        html += "<li><a href='#" + header.id + "'>" + header.innerHTML + "</a>";
+      else if (this_level <= level){ // higher level than before; end parent ol
+        for(i = this_level; i < level; i++) {
+          html += "</li></"+settings.listType+">"
+        }
+        html += "<li><a href='#" + header.id + "'>" + header.innerHTML + "</a>";
+      }
+      else if (this_level > level) { // lower level than before; expand the previous to contain a ol
+        for(i = this_level; i > level; i--) {
+          html += "<"+settings.listType+"><li>"
+        }
+        html += "<a href='#" + header.id + "'>" + header.innerHTML + "</a>";
+      }
+      level = this_level; // update for the next one
+    });
+    html += "</"+settings.listType+">";
+    if (!settings.noBackToTopLinks) {
+      $(document).on('click', '.back-to-top', function() {
+        $(window).scrollTop(0);
+        window.location.hash = '';
+      });
+    }
+
+    render[settings.showEffect]();
+  };
+})(jQuery);
\ No newline at end of file
diff --git a/jekyll-source/licenses/LICENSE b/jekyll-source/licenses/LICENSE
new file mode 100644
index 0000000..e04b3d0
--- /dev/null
+++ b/jekyll-source/licenses/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 Tom Johnson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/jekyll-source/licenses/LICENSE-BSD-NAVGOCO.txt b/jekyll-source/licenses/LICENSE-BSD-NAVGOCO.txt
new file mode 100644
index 0000000..7fdefc3
--- /dev/null
+++ b/jekyll-source/licenses/LICENSE-BSD-NAVGOCO.txt
@@ -0,0 +1,27 @@
+/* This license pertains to the Navgoco jQuery component used for the sidebar. */
+
+Copyright (c) 2013, Christodoulos Tsoulloftas, http://www.komposta.net
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+   * Neither the name of the <Christodoulos Tsoulloftas> nor the names of its
+      contributors may be used to endorse or promote products derived from this
+      software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/jekyll-source/pages/gerrit/access-control.md b/jekyll-source/pages/gerrit/access-control.md
new file mode 100644
index 0000000..e7e2702
--- /dev/null
+++ b/jekyll-source/pages/gerrit/access-control.md
@@ -0,0 +1,1491 @@
+---
+title: " Gerrit Code Review - Access Controls"
+sidebar: gerritdoc_sidebar
+permalink: access-control.html
+---
+Access controls in Gerrit are group based. Every user account is a
+member of one or more groups, and access and privileges are granted to
+those groups. Access rights cannot be granted to individual users.
+
+## System Groups
+
+Gerrit comes with the following system groups:
+
+  - Anonymous Users
+
+  - Change Owner
+
+  - Project Owners
+
+  - Registered Users
+
+The system groups are assigned special access and membership management
+privileges.
+
+### Anonymous Users
+
+All users are automatically a member of this group. Users who are not
+signed in are a member of only this group, and no others.
+
+Any access rights assigned to this group are inherited by all users.
+
+Administrators and project owners can grant access rights to this group
+in order to permit anonymous users to view project changes, without
+requiring sign in first. Currently it is only worthwhile to grant `Read`
+access to this group as Gerrit requires an account identity for all
+other operations.
+
+### Project Owners
+
+Access rights assigned to this group are always evaluated within the
+context of a project to which the access rights apply. These rights
+therefore apply to all the users who are owners of this project.
+
+By assigning access rights to this group on a parent project Gerrit
+administrators can define a set of default access rights for [project
+owners](#category_owner). Child projects inherit these access rights
+where they are resolved to the users that own the child project. Having
+default access rights for [project owners](#category_owner) assigned on
+a parent project may avoid the need to initially configure access rights
+for newly created child projects.
+
+### Change Owner
+
+Access rights assigned to this group are always evaluated within the
+context of a change to which the access rights apply. These rights
+therefore apply to the user who is the owner of this change.
+
+It is typical to assign a label to this group, allowing the change owner
+to vote on his change, but not actually cause it to become approved or
+rejected.
+
+### Registered Users
+
+All signed-in users are automatically a member of this group (and also
+[*Anonymous Users*](#anonymous_users), see above).
+
+Any access rights assigned to this group are inherited by all users as
+soon as they sign-in to Gerrit. If OpenID authentication is being
+employed, moving from only *Anonymous Users* into this group is very
+easy. Caution should be taken when assigning any permissions to this
+group.
+
+It is typical to assign `Code-Review -1..+1` to this group, allowing
+signed-in users to vote on a change, but not actually cause it to become
+approved or rejected.
+
+Registered users are always permitted to make and publish comments on
+any change in any project they have `Read` access to.
+
+## Predefined Groups
+
+Predefined groups differs from system groups by the fact that they exist
+in the ACCOUNT\_GROUPS table (like normal groups) but predefined groups
+are created on Gerrit site initialization and unique UUIDs are assigned
+to those groups. These UUIDs are different on different Gerrit sites.
+
+Gerrit comes with two predefined groups:
+
+  - Administrators
+
+  - Non-Interactive Users
+
+### Administrators
+
+This is a predefined group, created on Gerrit site initialization, that
+has the capability [*Administrate
+Server*](access-control.html#capability_administrateServer) assigned.
+
+It is a normal Gerrit group without magic. This means if you remove the
+*Administrate Server* capability from it, its members are no longer
+Gerrit administrators, despite the group name. The group may also be
+renamed.
+
+### Non-Interactive Users
+
+This is the Gerrit "batch" identity. The capabilities [*Priority
+BATCH*](access-control.html#capability_priority) and [*Stream
+Events*](access-control.html#capability_streamEvents) are assigned to
+this predefined group on Gerrit site creation.
+
+The members of this group are not expected to perform interactive
+operations on the Gerrit web front-end.
+
+However, sometimes such a user may need a separate thread pool in order
+to prevent it from grabbing threads from the interactive users.
+
+These users live in a second thread pool, which separates operations
+made by the non-interactive users from the ones made by the interactive
+users. This ensures that the interactive users can keep working when
+resources are tight.
+
+## Account Groups
+
+Account groups contain a list of zero or more user account members,
+added individually by a group owner. Any user account listed as a group
+member is given any access rights granted to the group.
+
+Every group has one other group designated as its owner. Users who are
+members of the owner group can:
+
+  - Add users and other groups to this group
+
+  - Remove users and other groups from this group
+
+  - Change the name of this group
+
+  - Change the description of this group
+
+  - Change the owner of this group, to another group
+
+It is permissible for a group to own itself, allowing the group members
+to directly manage who their peers are.
+
+Newly created groups are automatically created as owning themselves,
+with the creating user as the only member. This permits the group
+creator to add additional members, and change the owner to another group
+if desired.
+
+It is somewhat common to create two groups at the same time, for example
+`Foo` and `Foo-admin`, where the latter group `Foo-admin` owns both
+itself and also group `Foo`. Users who are members of `Foo-admin` can
+thus control the membership of `Foo`, without actually having the access
+rights granted to `Foo`. This configuration can help prevent accidental
+submits when the members of `Foo` have submit rights on a project, and
+the members of `Foo-admin` typically do not need to have such rights.
+
+## LDAP Groups
+
+LDAP groups are Account Groups that are maintained inside of your LDAP
+instance. If you are using LDAP to manage your groups they will not
+appear in the Groups list. However you can use them just like regular
+Account Groups by prefixing your group with "ldap/" in the Access
+Control for a project. For example "ldap/foo-project" will add the LDAP
+"foo-project" group to the access list.
+
+## Project Access Control Lists
+
+A system wide access control list affecting all projects is stored in
+project "`All-Projects`". This inheritance can be configured through
+[gerrit set-project-parent](cmd-set-project-parent.html).
+
+Per-project access control lists are also supported.
+
+Users are permitted to use the maximum range granted to any of their
+groups on a label. For example, a user is a member of `Foo Leads`, and
+the following ACLs are granted on a project:
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Group</th>
+<th>Reference Name</th>
+<th>Label</th>
+<th>Range</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Anonymous Users</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-1..+1</p></td>
+</tr>
+<tr class="even">
+<td><p>Registered Users</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-1..+2</p></td>
+</tr>
+<tr class="odd">
+<td><p>Foo Leads</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..0</p></td>
+</tr>
+</tbody>
+</table>
+
+Then the effective range permitted to be used by the user is `-2..+2`,
+as the user is a member of all three groups (see above about the system
+groups) and the maximum range is chosen (so the lowest value granted to
+any group, and the highest value granted to any group).
+
+Reference-level access control is also possible.
+
+Permissions can be set on a single reference name to match one branch
+(e.g. `refs/heads/master`), or on a reference namespace (e.g.
+`+refs/heads/*+`) to match any branch starting with that prefix. So a
+permission with `+refs/heads/*+` will match all of `refs/heads/master`,
+`refs/heads/experimental`, `refs/heads/release/1.0` etc.
+
+Reference names can also be described with a regular expression by
+prefixing the reference name with `^`. For example
+`^refs/heads/[a-z]{1,8}` matches all lower case branch names between 1
+and 8 characters long. Within a regular expression `.` is a wildcard
+matching any character, but may be escaped as `\.`. The
+[dk.brics.automaton library](http://www.brics.dk/automaton/) is used for
+evaluation of regular expression access control rules. See the library
+documentation for details on this particular regular expression flavor.
+One quirk is that the shortest possible pattern expansion must be a
+valid ref name: thus `^refs/heads/.*/name` will fail because
+`refs/heads//name` is not a valid reference, but `^refs/heads/.+/name`
+will work.
+
+References can have the user name or the sharded account ID of the
+current user automatically included, creating dynamic access controls
+that change to match the currently logged in user. For example to
+provide a personal sandbox space to all developers,
+`+refs/heads/sandbox/${username}/*+` allows the user *joe* to use
+*refs/heads/sandbox/joe/foo*. The sharded account ID can be used to give
+users access to their user branch in the `All-Users` repository, for
+example `+refs/users/${shardeduserid}+` is resolved to
+*refs/users/23/1011123* if the account ID of the current user is
+`1011123`.
+
+When evaluating a reference-level access right, Gerrit will use the full
+set of access rights to determine if the user is allowed to perform a
+given action. For example, if a user is a member of `Foo Leads`, they
+are reviewing a change destined for the `refs/heads/qa` branch, and the
+following ACLs are granted on the project:
+
+<table>
+<colgroup>
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Group</th>
+<th>Reference Name</th>
+<th>Label</th>
+<th>Range</th>
+<th>Exclusive</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Registered Users</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-1..+1</p></td>
+<td></td>
+</tr>
+<tr class="even">
+<td><p>Foo Leads</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td></td>
+</tr>
+<tr class="odd">
+<td><p>QA Leads</p></td>
+<td><p>refs/heads/qa</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td></td>
+</tr>
+</tbody>
+</table>
+
+Then the effective range permitted to be used by the user is `-2..+2`,
+as the user’s membership of `Foo Leads` effectively grant them access to
+the entire reference space, thanks to the wildcard.
+
+Gerrit also supports exclusive reference-level access control.
+
+It is possible to configure Gerrit to grant an exclusive ref level
+access control so that only users of a specific group can perform an
+operation on a project/reference pair. This is done by ticking the
+exclusive flag when setting the permission for the `refs/heads/qa`
+branch.
+
+For example, if a user who is a member of `Foo Leads` tries to review a
+change destined for branch `refs/heads/qa` in a project, and the
+following ACLs are granted:
+
+<table>
+<colgroup>
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Group</th>
+<th>Reference Name</th>
+<th>Label</th>
+<th>Range</th>
+<th>Exclusive</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Registered Users</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-1..+1</p></td>
+<td></td>
+</tr>
+<tr class="even">
+<td><p>Foo Leads</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td></td>
+</tr>
+<tr class="odd">
+<td><p>QA Leads</p></td>
+<td><p>refs/heads/qa</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td><p>X</p></td>
+</tr>
+</tbody>
+</table>
+
+Then this user will not have `Code-Review` rights on that change, since
+there is an exclusive access right in place for the `refs/heads/qa`
+branch. This allows locking down access for a particular branch to a
+limited set of users, bypassing inherited rights and wildcards.
+
+In order to grant the ability to `Code-Review` to the members of `Foo
+Leads`, in `refs/heads/qa` then the following access rights would be
+needed:
+
+<table>
+<colgroup>
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Group</th>
+<th>Reference Name</th>
+<th>Category</th>
+<th>Range</th>
+<th>Exclusive</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Registered Users</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-1..+1</p></td>
+<td></td>
+</tr>
+<tr class="even">
+<td><p>Foo Leads</p></td>
+<td><p>refs/heads/*</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td></td>
+</tr>
+<tr class="odd">
+<td><p>QA Leads</p></td>
+<td><p>refs/heads/qa</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td><p>X</p></td>
+</tr>
+<tr class="even">
+<td><p>Foo Leads</p></td>
+<td><p>refs/heads/qa</p></td>
+<td><p>Code-Review</p></td>
+<td><p>-2..+2</p></td>
+<td></td>
+</tr>
+</tbody>
+</table>
+
+### OpenID Authentication
+
+If the Gerrit instance is configured to use OpenID authentication, an
+account’s effective group membership will be restricted to only the
+`Anonymous Users` and `Registered Users` groups, unless **all** of its
+OpenID identities match one or more of the patterns listed in the
+`auth.trustedOpenID` list from `gerrit.config`.
+
+### All Projects
+
+Any access right granted to a group within `All-Projects` is
+automatically inherited by every other project in the same Gerrit
+instance. These rights can be seen, but not modified, in any other
+project’s `Access` administration tab.
+
+Only members of the groups with the `Administrate Server` capability may
+edit the access control list for `All-Projects`. By default this
+capability is given to the group `Administrators`, but can be given to
+more groups.
+
+Ownership of this project cannot be delegated to another group. This
+restriction is by design. Granting ownership to another group gives
+nearly the same level of access as membership in `Administrators` does,
+as group members would be able to alter permissions for every managed
+project including global capabilities.
+
+### Per-Project
+
+The per-project ACL is evaluated before the global `All-Projects` ACL,
+permitting some limited override capability to project owners. This
+behavior is generally only useful on the `Read` category when granting
+*DENY* within a specific project to deny a group access.
+
+## Special and magic references
+
+The reference namespaces used in git are generally two, one for branches
+and one for tags:
+
+  - `refs/heads/*`
+
+  - `refs/tags/*`
+
+However, every reference under `refs/*` is really available, and in
+Gerrit this opportunity for giving other refs a special meaning is used.
+In Gerrit they are sometimes used as magic/virtual references that give
+the push to Gerrit a special meaning.
+
+### Special references
+
+The special references have content that’s either generated by Gerrit or
+contains important project configuration that Gerrit needs. When making
+changes to these references, Gerrit will take extra precautions to
+verify the contents compatibility at upload time.
+
+#### refs/changes/\*
+
+Under this namespace each uploaded patch set for every change gets a
+static reference in their git. The format is convenient but still
+intended to scale to hundreds of thousands of patch sets. To access a
+given patch set you will need the change number and patch set number.
+
+*refs/changes/*\<last two digits of change number\>/ \<change number\>/
+\<patch set number\>
+
+You can also find these static references linked on the page of each
+change.
+
+#### refs/meta/config
+
+This is where the Gerrit configuration of each project resides. This
+branch contains several files of importance: `project.config`, `groups`
+and `rules.pl`. Together they control access and behavior during the
+change review process.
+
+#### refs/meta/dashboards/\*
+
+There’s a dedicated page where you can read more about [User
+Dashboards](user-dashboards.html).
+
+#### refs/notes/review
+
+Autogenerated copy of review notes for all changes in the git. Each log
+entry on the refs/notes/review branch also references the patch set on
+which the review is made. This functionality is provided by the
+review-notes plugin.
+
+### Magic references
+
+These are references with added functionality to them compared to a
+regular git push operation.
+
+#### refs/for/\<branch ref\>
+
+Most prominent is the `refs/for/<branch ref>` reference which is the
+reference upon which we build the code review intercept before
+submitting a commit to the branch it’s uploaded to.
+
+Further documentation on how to push can be found on the [Upload
+changes](user-upload.html#push_create) page.
+
+## Access Categories
+
+Gerrit has several permission categories that can be granted to groups
+within projects, enabling functionality for that group’s members.
+
+### Abandon
+
+This category controls whether users are allowed to abandon changes to
+projects in Gerrit. It can give permission to abandon a specific change
+to a given ref.
+
+The uploader of a change, anyone granted the [`Owner`](#category_owner)
+permission at the ref or project level, and anyone granted the
+[`Administrate Server`](#capability_administrateServer) permission can
+also Abandon changes.
+
+This also grants the permission to restore a change if the user also has
+[push permission](#category_push) on the change’s destination ref.
+
+### Create Reference
+
+The create reference category controls whether it is possible to create
+new references, branches or tags. This implies that the reference must
+not already exist, it’s not a destructive permission in that you can’t
+overwrite or remove any previously existing references (and also discard
+any commits in the process).
+
+It’s probably most common to either permit the creation of a single
+branch in many gits (by granting permission on a parent project), or to
+grant this permission to a name pattern of branches.
+
+This permission is often given in conjunction with regular push branch
+permissions, allowing the holder of both to create new branches as well
+as bypass review for new commits on that branch.
+
+To push lightweight (non-annotated) tags, grant `Create Reference` for
+reference name `+refs/tags/*+`, as lightweight tags are implemented just
+like branches in Git. To push a lightweight tag on a new commit (commit
+not reachable from any branch/tag) grant `Push` permission on
+`+refs/tags/*+` too. The `Push` permission on `+refs/tags/*+` also
+allows fast-forwarding of lightweight tags.
+
+For example, to grant the possibility to create new branches under the
+namespace `foo`, you have to grant this permission on
+`+refs/heads/foo/*+` for the group that should have it. Finally, if you
+plan to grant each user a personal namespace in where they are free to
+create as many branches as they wish, you should grant the create
+reference permission so it’s possible to create new branches. This is
+done by using the special `${username}` keyword in the reference
+pattern, e.g. `+refs/heads/sandbox/${username}/*+`. If you do, it’s also
+recommended you grant the users the push force permission to be able to
+clean up stale branches.
+
+### Delete Reference
+
+The delete reference category controls whether it is possible to delete
+references, branches or tags. It doesn’t allow any other update of
+references.
+
+Deletion of references is also possible if `Push` with the force option
+is granted, however that includes the permission to fast-forward and
+force-update references to existing and new commits. Being able to push
+references for new commits is bad if bypassing of code review must be
+prevented.
+
+### Forge Author
+
+Normally Gerrit requires the author and the committer identity lines in
+a Git commit object (or tagger line in an annotated tag) to match one of
+the registered email addresses of the uploading user. This permission
+allows users to bypass parts of that validation, which may be necessary
+when mirroring changes from an upstream project.
+
+Permits the use of an unverified author line in commit objects. This can
+be useful when applying patches received by email from 3rd parties, when
+cherry-picking changes written by others across branches, or when
+amending someone else’s commit to fix up a minor problem before
+submitting.
+
+By default this is granted to `Registered Users` in all projects, but a
+site administrator may disable it if verified authorship is required.
+
+### Forge Committer
+
+Normally Gerrit requires the author and the committer identity lines in
+a Git commit object (or tagger line in an annotated tag) to match one of
+the registered email addresses of the uploading user. This permission
+allows users to bypass parts of that validation, which may be necessary
+when mirroring changes from an upstream project.
+
+Allows the use of an unverified committer line in commit objects, or an
+unverified tagger line in annotated tag objects. Typically this is only
+required when mirroring commits from an upstream project repository.
+
+### Forge Server
+
+Normally Gerrit requires the author and the committer identity lines in
+a Git commit object (or tagger line in an annotated tag) to match one of
+the registered email addresses of the uploading user. This permission
+allows users to bypass parts of that validation, which may be necessary
+when mirroring changes from an upstream project.
+
+Allows the use of the server’s own name and email on the committer line
+of a new commit object. This should only be necessary when force pushing
+a commit history which has been rewritten by *git filter-branch* and
+that contains merge commits previously created by this Gerrit Code
+Review server.
+
+### Owner
+
+The `Owner` category controls which groups can modify the project’s
+configuration. Users who are members of an owner group can:
+
+  - Change the project description
+
+  - Grant/revoke any access rights, including `Owner`
+
+To get SSH branch access project owners must grant an access right to a
+group they are a member of, just like for any other user.
+
+Ownership over a particular branch subspace may be delegated by entering
+a branch pattern. To delegate control over all branches that begin with
+`qa/` to the QA group, add `Owner` category for reference
+`+refs/heads/qa/*+`. Members of the QA group can further refine access,
+but only for references that begin with `refs/heads/qa/`. See [project
+owners](#project_owners) to find out more about this role.
+
+For the `All-Projects` root project any `Owner` access right on
+*refs/\** is ignored since this permission would allow users to edit the
+global capabilities, which is the same as being able to administrate the
+Gerrit server (e.g. the user could assign the `Administrate Server`
+capability to the own account).
+
+### Push
+
+This category controls how users are allowed to upload new commits to
+projects in Gerrit. It can either give permission to push directly into
+a branch, bypassing any code review process that would otherwise be
+used. Or it may give permission to upload new changes for code review,
+this depends on which namespace the permission is granted to.
+
+#### Direct Push
+
+Any existing branch can be fast-forwarded to a new commit. Creation of
+new branches is controlled by the [*Create
+Reference*](access-control.html#category_create) category. Deletion of
+existing branches is rejected. This is the safest mode as commits cannot
+be discarded.
+
+  - Force option
+    
+    Allows an existing branch to be deleted. Since a force push is
+    effectively a delete immediately followed by a create, but performed
+    atomically on the server and logged, this option also permits forced
+    push updates to branches. Enabling this option allows existing
+    commits to be discarded from a project history.
+
+The push category is primarily useful for projects that only want to
+take advantage of Gerrit’s access control features and do not need its
+code review functionality. Projects that need to require code reviews
+should not grant this category.
+
+#### Upload To Code Review
+
+The `Push` access right granted on the namespace
+`refs/for/refs/heads/BRANCH` permits the user to upload a non-merge
+commit to the project’s `refs/for/BRANCH` namespace, creating a new
+change for code review.
+
+A user must be able to clone or fetch the project in order to create a
+new commit on their local system, so in practice they must also have the
+`Read` access granted to upload a change.
+
+For an open source, public Gerrit installation, it is common to grant
+`Push` for `+refs/for/refs/heads/*+` to `Registered Users` in the
+`All-Projects` ACL. For more private installations, its common to grant
+`Push` for `+refs/for/refs/heads/*+` to all users of a project.
+
+  - Force option
+    
+    The force option has no function when granted to a branch in the
+    `+refs/for/refs/heads/*+` namespace.
+
+### Add Patch Set
+
+This category controls which users are allowed to upload new patch sets
+to existing changes. Irrespective of this permission, change owners are
+always allowed to upload new patch sets for their changes. This
+permission needs to be set on `refs/for/*`.
+
+By default, this permission is granted to `Registered Users` on
+`refs/for/*`, allowing all registered users to upload a new patch set to
+any change. Revoking this permission (by granting it to no groups and
+setting the "Exclusive" flag) will prevent users from uploading a patch
+set to a change they do not own.
+
+### Push Merge Commits
+
+The `Push Merge Commit` access right permits the user to upload merge
+commits. It’s an add-on to the [Push](#category_push) access right, and
+so it won’t be sufficient with only `Push Merge Commit` granted for a
+push to happen. Some projects wish to restrict merges to being created
+by Gerrit. By granting `Push` without `Push Merge Commit`, the only
+merges that enter the system will be those created by Gerrit.
+
+The reference name connected to a `Push Merge Commit` entry must always
+be prefixed with `refs/for/`, for example `refs/for/refs/heads/BRANCH`.
+This applies even for an entry that complements a `Push` entry for
+`refs/heads/BRANCH` that allows direct pushes of non-merge commits, and
+the intention of the `Push Merge Commit` entry is to allow direct pushes
+of merge commits.
+
+### Create Annotated Tag
+
+This category permits users to push an annotated tag object into the
+project’s repository. Typically this would be done with a command line
+such as:
+
+``` 
+  git push ssh://USER@HOST:PORT/PROJECT tag v1.0
+```
+
+Or:
+
+``` 
+  git push https://HOST/PROJECT tag v1.0
+```
+
+Tags must be annotated (created with `git tag -a`), should exist in the
+`refs/tags/` namespace, and should be new.
+
+This category is intended to be used to publish tags when a project
+reaches a stable release point worth remembering in history.
+
+It allows for a new annotated (unsigned) tag to be created. The tagger
+email address must be verified for the current user.
+
+To push tags created by users other than the current user (such as tags
+mirrored from an upstream project), `Forge Committer Identity` must be
+also granted in addition to `Create Annotated Tag`.
+
+To push lightweight (non annotated) tags, grant [`Create
+Reference`](#category_create) for reference name `+refs/tags/*+`, as
+lightweight tags are implemented just like branches in Git.
+
+To delete or overwrite an existing tag, grant `Push` with the force
+option enabled for reference name `+refs/tags/*+`, as deleting a tag
+requires the same permission as deleting a branch.
+
+To push an annotated tag on a new commit (commit not reachable from any
+branch/tag) grant `Push` permission on `+refs/tags/*+` too. The `Push`
+permission on `+refs/tags/*+` does **not** allow updating of annotated
+tags, not even fast-forwarding of annotated tags. Update of annotated
+tags is only allowed by granting `Push` with `force` option on
+`+refs/tags/*+`.
+
+### Create Signed Tag
+
+This category permits users to push a PGP signed tag object into the
+project’s repository. Typically this would be done with a command line
+such as:
+
+``` 
+  git push ssh://USER@HOST:PORT/PROJECT tag v1.0
+```
+
+Or:
+
+``` 
+  git push https://HOST/PROJECT tag v1.0
+```
+
+Tags must be signed (created with `git tag -s`), should exist in the
+`refs/tags/` namespace, and should be new.
+
+### Read
+
+The `Read` category controls visibility to the project’s changes,
+comments, code diffs, and Git access over SSH or HTTP. A user must have
+this access granted in order to see a project, its changes, or any of
+its data.
+
+This category has a special behavior, where the per-project ACL is
+evaluated before the global all projects ACL. If the per-project ACL has
+granted `Read` with *DENY*, and does not otherwise grant `Read` with
+*ALLOW*, then a `Read` in the all projects ACL is ignored. This behavior
+is useful to hide a handful of projects on an otherwise public server.
+
+For an open source, public Gerrit installation it is common to grant
+`Read` to `Anonymous Users` in the `All-Projects` ACL, enabling casual
+browsing of any project’s changes, as well as fetching any project’s
+repository over SSH or HTTP. New projects can be temporarily hidden from
+public view by granting `Read` with *DENY* to `Anonymous Users` and
+granting `Read` to the project owner’s group within the per-project ACL.
+
+For a private Gerrit installation using a trusted HTTP authentication
+source, granting `Read` to `Registered Users` may be more typical,
+enabling read access only to those users who have been able to
+authenticate through the HTTP access controls. This may be suitable in a
+corporate deployment if the HTTP access control is already restricted to
+the correct set of users.
+
+### Rebase
+
+This category permits users to rebase changes via the web UI by pushing
+the `Rebase Change` button.
+
+The change owner and submitters can always rebase changes in the web UI
+(even without having the `Rebase` access right assigned).
+
+Users without this access right who are able to upload new patch sets
+can still do the rebase locally and upload the rebased commit as a new
+patch set.
+
+### Remove Reviewer
+
+This category permits users to remove other users from the list of
+reviewers on a change.
+
+Change owners can always remove reviewers who have given a zero or
+positive score (even without having the `Remove Reviewer` access right
+assigned).
+
+Project owners and site administrators can always remove any reviewer
+(even without having the `Remove Reviewer` access right assigned).
+
+Users without this access right can only remove themselves from the
+reviewer list on a change.
+
+### Review Labels
+
+For every configured label `My-Name` in the project, there is a
+corresponding permission `label-My-Name` with a range corresponding to
+the defined values. There is also a corresponding `labelAs-My-Name`
+permission that enables editing another user’s label.
+
+Gerrit comes pre-configured with a default *Code-Review* label that can
+be granted to groups within projects, enabling functionality for that
+group’s members. [Custom labels](config-labels.html) may also be defined
+globally or on a per-project basis.
+
+### Submit
+
+This category permits users to submit changes.
+
+Submitting a change causes it to be merged into the destination branch
+as soon as possible, making it a permanent part of the project’s
+history.
+
+In order to submit, all labels (such as `Verified` and `Code-Review`,
+above) must enable submit, and also must not block it. See above for
+details on each label.
+
+To [immediately submit a change on push](user-upload.html#auto_merge)
+the caller needs to have the Submit permission on `refs/for/<ref>` (e.g.
+on `refs/for/refs/heads/master`).
+
+Submitting to the `refs/meta/config` branch is only allowed to project
+owners. Any explicit submit permissions for non-project-owners on this
+branch are ignored. By submitting to the `refs/meta/config` branch the
+configuration of the project is changed, which can include changes to
+the access rights of the project. Allowing this to be done by a
+non-project-owner would open a security hole enabling editing of access
+rights, and thus granting of powers beyond submitting to the
+configuration.
+
+### Submit (On Behalf Of)
+
+This category permits users who have also been granted the `Submit`
+permission to submit changes on behalf of another user, by using the
+`on_behalf_of` field in
+[SubmitInput](rest-api-changes.html#submit-input) when [submitting using
+the REST API](rest-api-changes.html#submit-change).
+
+Note that this permission is named `submitAs` in the `project.config`
+file.
+
+### View Private Changes
+
+This category permits users to view all private changes.
+
+The change owner and any explicitly added reviewers can always see
+private changes (even without having the `View Private Changes` access
+right assigned).
+
+### Delete Own Changes
+
+This category permits users to delete their own changes if they are not
+merged yet. This means only own changes that are open or abandoned can
+be deleted.
+
+### Edit Topic Name
+
+This category permits users to edit the topic name of a change that is
+uploaded for review.
+
+The change owner, branch owners, project owners, and site administrators
+can always edit the topic name (even without having the `Edit Topic
+Name` access right assigned).
+
+Whether the topic can be edited on closed changes can be controlled by
+the *Force Edit* flag. If this flag is not set the topic can only be
+edited on open changes.
+
+### Edit Hashtags
+
+This category permits users to add or remove hashtags on a change that
+is uploaded for review.
+
+The change owner, branch owners, project owners, and site administrators
+can always edit or remove hashtags (even without having the `Edit
+Hashtags` access right assigned).
+
+### Edit Assignee
+
+This category permits users to set who is assigned to a change that is
+uploaded for review.
+
+The change owner, ref owners, and the user currently assigned to a
+change can always change the assignee.
+
+## Examples of typical roles in a project
+
+Below follows a set of typical roles on a server and which access rights
+these roles typically should be granted. You may see them as general
+guidelines for a typical way to set up your project on a brand new
+Gerrit instance.
+
+### Contributor
+
+This is the typical user on a public server. They are able to read your
+project and upload new changes to it. They are able to give feedback on
+other changes as well, but are unable to block or approve any changes.
+
+Suggested access rights to grant:
+
+  - [`Read`](#category_read) [section\_title](#category_read) on
+    *refs/heads/\** and *refs/tags/\**
+
+  - [`Push`](#category_push) [section\_title](#category_push) to
+    *refs/for/refs/heads/\**
+
+  - [`Code-Review`](config-labels.html#label_Code-Review) with range
+    *-1* to *+1* for *refs/heads/\**
+
+If it’s desired to have the possibility to upload temporarily hidden
+changes there’s a specific permission for that. This enables someone to
+add specific reviewers for early feedback before making the change
+publicly visible.
+
+### Developer
+
+This is the typical core developer on a public server. They are able to
+read the project, upload changes to a branch. They are allowed to push
+merge commits to merge branches together. Also, they are allowed to
+forge author identity, thus handling commits belonging to others than
+themselves, effectively allowing them to transfer commits between
+different branches.
+
+They are furthermore able to code review and verify commits, and
+eventually submit them. If you have an automated CI system that builds
+all uploaded patch sets you might want to skip the verification rights
+for the developer and let the CI system do that exclusively.
+
+Suggested access rights to grant:
+
+  - [`Read`](#category_read) [section\_title](#category_read) on
+    *refs/heads/\** and *refs/tags/\**
+
+  - [`Push`](#category_push) [section\_title](#category_push) to
+    *refs/for/refs/heads/\**
+
+  - [`Push merge commit`](#category_push_merge)
+    [section\_title](#category_push_merge) to *refs/for/refs/heads/\**
+
+  - [`Forge Author Identity`](#category_forge_author)
+    [section\_title](#category_forge_author) to *refs/heads/\**
+
+  - [`Label: Code-Review`](config-labels.html#label_Code-Review) with
+    range *-2* to *+2* for *refs/heads/\**
+
+  - [`Label: Verified`](config-labels.html#label_Verified) with range
+    *-1* to *+1* for *refs/heads/\**
+
+  - [`Submit`](#category_submit) [section\_title](#category_submit) on
+    *refs/heads/\**
+
+If the project is small or the developers are seasoned it might make
+sense to give them the freedom to push commits directly to a branch.
+
+Optional access rights to grant:
+
+  - [`Push`](#category_push) to *refs/heads/\**
+
+  - [`Push merge commit`](#category_push_merge) to *refs/heads/\**
+
+### CI system
+
+A typical Continuous Integration system should be able to download new
+changes to build and then leave a verdict somehow.
+
+As an example, the popular [gerrit-trigger
+plugin](https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger) for
+Jenkins/Hudson can set labels at:
+
+  - The start of a build
+
+  - A successful build
+
+  - An unstable build (tests fails)
+
+  - A failed build
+
+Usually the range chosen for this verdict is the `Verified` label.
+Depending on the size of your project and discipline of involved
+developers you might want to limit access right to the +1 `Verified`
+label to the CI system only. That way it’s guaranteed that submitted
+commits always get built and pass tests successfully.
+
+If the build doesn’t complete successfully the CI system can set the
+`Verified` label to -1. However that means that a failed build will
+block submit of the change even if someone else sets `Verified` +1.
+Depending on the project and how much the CI system can be trusted for
+accurate results, a blocking label might not be feasible. A recommended
+alternative is to set the label `Code-review` to -1 instead, as it isn’t
+a blocking label but still shows a red label in the Gerrit UI.
+Optionally, to enable the possibility to deliver different results
+(build error vs unstable for instance), it’s also possible to set
+`Code-review` +1 as well.
+
+If pushing new changes is granted, it’s possible to automate cherry-pick
+of submitted changes for upload to other branches under certain
+conditions. This is probably not the first step of what a project wants
+to automate however, and so the push right can be found under the
+optional section.
+
+Suggested access rights to grant, that won’t block changes:
+
+  - [`Read`](#category_read) [section\_title](#category_read) on
+    *refs/heads/\** and *refs/tags/\**
+
+  - [`Label: Code-Review`](config-labels.html#label_Code-Review) with
+    range *-1* to *0* for *refs/heads/\**
+
+  - [`Label: Verified`](config-labels.html#label_Verified) with range
+    *0* to *+1* for *refs/heads/\**
+
+Optional access rights to grant:
+
+  - [`Label: Code-Review`](config-labels.html#label_Code-Review) with
+    range *-1* to *+1* for *refs/heads/\**
+
+  - [`Push`](#category_push) [section\_title](#category_push) to
+    *refs/for/refs/heads/\**
+
+### Integrator
+
+Integrators are like developers but with some additional rights granted
+due to their administrative role in a project. They can upload or push
+any commit with any committer email (not just their own) and they can
+also create new tags and branches.
+
+Suggested access rights to grant:
+
+  - [Developer rights](#examples_developer)
+
+  - [`Push`](#category_push) to *refs/heads/\**
+
+  - [`Push merge commit`](#category_push_merge) to *refs/heads/\**
+
+  - [`Forge Committer Identity`](#category_forge_committer) to
+    *refs/for/refs/heads/\**
+
+  - [`Create Reference`](#category_create) to *refs/heads/\**
+
+  - [`Create Annotated Tag`](#category_create_annotated) to
+    *refs/tags/\**
+
+### Project owner
+
+The project owner is almost like an integrator but with additional
+destructive power in the form of being able to delete branches.
+Optionally these users also have the power to configure access rights in
+gits assigned to them.
+
+> **Warning**
+> 
+> These users should be really knowledgeable about git, for instance
+> knowing why tags never should be removed from a server. This role is
+> granted potentially destructive access rights and cleaning up after
+> such a mishap could be time consuming\!
+
+Suggested access rights to grant:
+
+  - [Integrator rights](#examples_integrator)
+
+  - [`Push`](#category_push) with the force option to *refs/heads/\**
+    and *refs/tags/\**
+
+Optional access right to grant:
+
+  - [`Owner`](#category_owner) in the gits they mostly work with.
+
+### Administrator
+
+The administrator role is the most powerful role known in the Gerrit
+universe. This role may grant itself (or others) any access right. By
+default the [`Administrators` group](#administrators) is the group that
+has this role.
+
+Mandatory access rights:
+
+  - [The `Administrate Server`
+    capability](#capability_administrateServer)
+
+Suggested access rights to grant:
+
+  - [`Project owner rights`](#examples_project-owner)
+
+  - Any [`capabilities`](#global_capabilities) needed by the
+    administrator
+
+## Enforcing site wide access policies
+
+By granting the [`Owner`](#category_owner) access right on the
+`+refs/*+` to a group, Gerrit administrators can delegate the
+responsibility of maintaining access rights for that project to that
+group.
+
+In a corporate deployment it is often necessary to enforce some access
+policies. An example could be that no-one can update or delete a tag,
+not even the project owners. The *ALLOW* and *DENY* rules are not enough
+for this purpose as project owners can grant themselves any access right
+they wish and, thus, effectively override any inherited access rights
+from the "`All-Projects`" or some other common parent project.
+
+What is needed is a mechanism to block a permission in a parent project
+so that even project owners cannot allow a blocked permission in their
+child project. Still, project owners should retain the possibility to
+manage all non-blocked rules as they wish. This gives best of both
+worlds:
+
+  - Gerrit administrators can concentrate on enforcing site wide
+    policies and providing a meaningful set of default access
+    permissions
+
+  - Project owners can manage access rights of their projects without a
+    danger of violating a site wide policy
+
+### *BLOCK* access rule
+
+The *BLOCK* rule blocks a permission globally. An inherited *BLOCK* rule
+cannot be overridden in the inheriting project. Any *ALLOW* rule from an
+inheriting project, which conflicts with an inherited *BLOCK* rule will
+not be honored. Searching for *BLOCK* rules, in the chain of parent
+projects, ignores the Exclusive flag, unless the rule with the Exclusive
+flag is defined on the same project as the *BLOCK* rule. This means
+within the same project a *BLOCK* rule can be overruled by *ALLOW* rules
+on the same access section and *ALLOW* rules with Exclusive flag on
+access section for more specific refs.
+
+A *BLOCK* rule that blocks the *push* permission blocks any type of
+push, force or not. A blocking force push rule blocks only force pushes,
+but allows non-forced pushes if an *ALLOW* rule would have permitted it.
+
+It is also possible to block label ranges. To block a group *X* from
+voting *-2* and *+2*, but keep their existing voting permissions for the
+*-1..+1* range intact we would define:
+
+``` 
+  [access "refs/heads/*"]
+    label-Code-Review = block -2..+2 group X
+```
+
+The interpretation of the *min..max* range in case of a blocking rule
+is: block every vote from *-INFINITE..min* and *max..INFINITE*. For the
+example above it means that the range *-1..+1* is not affected by this
+block.
+
+### *BLOCK* and *ALLOW* rules in the same access section
+
+When an access section of a project contains a *BLOCK* and an *ALLOW*
+rule for the same permission then this *ALLOW* rule overrides the
+*BLOCK* rule:
+
+``` 
+  [access "refs/heads/*"]
+    push = block group X
+    push = group Y
+```
+
+In this case a user which is a member of the group *Y* will still be
+allowed to push to *refs/heads/\** even if it is a member of the group
+*X*.
+
+> **Note**
+> 
+> An *ALLOW* rule overrides a *BLOCK* rule only when both of them are
+> inside the same access section of the same project. An *ALLOW* rule in
+> a different access section of the same project or in any access
+> section in an inheriting project cannot override a *BLOCK* rule.
+
+### Examples
+
+The following examples show some possible use cases for the *BLOCK*
+rules.
+
+#### Make sure no one can update or delete a tag
+
+This requirement is quite common in a corporate deployment where
+reproducibility of a build must be guaranteed. To achieve that we block
+*push* permission for the [*Anonymous Users*](#anonymous_users) in
+"`All-Projects`":
+
+``` 
+  [access "refs/tags/*"]
+    push = block group Anonymous Users
+```
+
+By blocking the [*Anonymous Users*](#anonymous_users) we effectively
+block everyone as everyone is a member of that group. Note that the
+permission to create a tag is still necessary. Assuming that only
+[project owners](#category_owner) are allowed to create tags, we would
+extend the example above:
+
+``` 
+  [access "refs/tags/*"]
+    push = block group Anonymous Users
+    create = group Project Owners
+    pushTag = group Project Owners
+```
+
+#### Let only a dedicated group vote in a special category
+
+Assume there is a more restrictive process for submitting changes in
+stable release branches which is manifested as a new voting category
+*Release-Process*. Assume we want to make sure that only a *Release
+Engineers* group can vote in this category and that even project owners
+cannot approve this category. We have to block everyone except the
+*Release Engineers* to vote in this category and, of course, allow
+*Release Engineers* to vote in that category. In the "`All-Projects`" we
+define the following rules:
+
+``` 
+  [access "refs/heads/stable*"]
+    label-Release-Process = block -1..+1 group Anonymous Users
+    label-Release-Process = -1..+1 group Release Engineers
+```
+
+## Global Capabilities
+
+The global capabilities control actions that the administrators of the
+server can perform which usually affect the entire server in some way.
+The administrators may delegate these capabilities to trusted groups of
+users.
+
+Delegation of capabilities allows groups to be granted a subset of
+administrative capabilities without being given complete administrative
+control of the server. This makes it possible to keep fewer users in the
+administrators group, even while spreading much of the server
+administration burden out to more users.
+
+Global capabilities are assigned to groups in the access rights settings
+of the root project ("`All-Projects`").
+
+Below you find a list of capabilities available:
+
+### Access Database
+
+Allow users to access the database using the `gsql` command, and view
+code review metadata refs in repositories.
+
+### Administrate Server
+
+This is in effect the owner and administrator role of the Gerrit
+instance. Any members of a group granted this capability will be able to
+grant any access right to any group. They will also have all
+capabilities granted to them automatically.
+
+In most installations only those users who have direct filesystem and
+database access should be granted this capability.
+
+This capability does not imply any other access rights. Users that have
+this capability do not automatically get code review approval or submit
+rights in projects. This is a feature designed to permit administrative
+users to otherwise access Gerrit as any other normal user would, without
+needing two different accounts.
+
+### Batch Changes Limit
+
+Allow site administrators to configure the batch changes limit for users
+to override the system config
+[*receive.maxBatchChanges*](config-gerrit.html#receive.maxBatchChanges).
+
+Administrators can add a global block to `All-Projects` with group(s)
+that should have different limits.
+
+When applying a batch changes limit to a user the largest value granted
+by any of their groups is used. 0 means no limit.
+
+### Create Account
+
+Allow [account creation over the ssh prompt](cmd-create-account.html).
+This capability allows the granted group members to create
+non-interactive service accounts. These service accounts are generally
+used for automation and made to be members of the [*Non-Interactive
+users*](access-control.html#non-interactive_users) group.
+
+### Create Group
+
+Allow group creation. Groups are used to grant users access to different
+actions in projects. This capability allows the granted group members to
+either [create new groups via ssh](cmd-create-group.html) or via the web
+UI.
+
+### Create Project
+
+Allow project creation. This capability allows the granted group to
+either [create new git projects via ssh](cmd-create-project.html) or via
+the web UI.
+
+### Email Reviewers
+
+Allow or deny sending email to change reviewers and watchers. This can
+be used to deny build bots from emailing reviewers and people who watch
+the change. Instead, only the authors of the change and those who
+starred it will be emailed. The allow rules are evaluated before deny
+rules, however the default is to allow emailing, if no explicit rule is
+matched.
+
+### Flush Caches
+
+Allow the flushing of Gerrit’s caches. This capability allows the
+granted group to [flush some or all Gerrit caches via
+ssh](cmd-flush-caches.html).
+
+> **Note**
+> 
+> This capability doesn’t imply permissions to the show-caches command.
+> For that you need the [view caches
+> capability](#capability_viewCaches).
+
+### Kill Task
+
+Allow the operation of the [kill command over ssh](cmd-kill.html). The
+kill command ends tasks that currently occupy the Gerrit server, usually
+a replication task or a user initiated task such as an upload-pack or
+receive-pack.
+
+### Maintain Server
+
+Allow basic, constrained server maintenance tasks, such as flushing
+caches and reindexing changes. Does not grant arbitrary database access,
+read/write, or ACL management permissions, as might the [administrate
+server capability](#capability_administrateServer).
+
+Implies the following capabilities:
+
+  - [Flush Caches](#capability_flushCaches)
+
+  - [Kill Task](#capability_kill)
+
+  - [Run Garbage Collection](#capability_runGC)
+
+  - [View Caches](#capability_viewCaches)
+
+  - [View Queue](#capability_viewQueue)
+
+### Modify Account
+
+Allow to [modify accounts over the ssh prompt](cmd-set-account.html).
+This capability allows the granted group members to modify any user
+account setting.
+
+### Priority
+
+This capability allows users to use [the thread pool
+reserved](config-gerrit.html#sshd.batchThreads) for [*Non-Interactive
+Users*](access-control.html#non-interactive_users). It’s a binary value
+in that granted users either have access to the thread pool, or they
+don’t.
+
+There are three modes for this capability and they’re listed by rising
+priority:
+
+  - No capability configured.  
+    The user isn’t a member of a group with any priority capability
+    granted. By default the user is then in the *INTERACTIVE* thread
+    pool.
+
+  - *BATCH*  
+    If there’s a thread pool configured for *Non-Interactive Users* and
+    a user is granted the priority capability with the *BATCH* mode
+    selected, the user ends up in the separate batch user thread pool.
+    This is true unless the user is also granted the below *INTERACTIVE*
+    option.
+
+  - *INTERACTIVE*  
+    If a user is granted the priority capability with the *INTERACTIVE*
+    option, regardless if they also have the *BATCH* option or not, they
+    are in the *INTERACTIVE* thread pool.
+
+### Query Limit
+
+Allow site administrators to configure the query limit for users to be
+above the default hard-coded value of 500. Administrators can add a
+global block to `All-Projects` with group(s) that should have different
+limits.
+
+When applying a query limit to a user the largest value granted by any
+of their groups is used.
+
+This limit applies not only to the [`gerrit query`](cmd-query.html)
+command, but also to the web UI results pagination size.
+
+### Run As
+
+Allow users to impersonate any other user with the `X-Gerrit-RunAs` HTTP
+header on REST API calls, or the [suexec](cmd-suexec.html) SSH command.
+
+When impersonating an administrator the Administrate Server capability
+is not honored. This security feature tries to prevent a role with Run
+As capability from modifying the access controls in All-Projects,
+however modification may still be possible if the impersonated user has
+permission to push or submit changes on `refs/meta/config`. Run As also
+blocks using most capabilities including Create User, Run Garbage
+Collection, etc., unless the capability is also explicitly granted to a
+group the administrator is a member of.
+
+Administrators do not automatically inherit this capability; it must be
+explicitly granted.
+
+### Run Garbage Collection
+
+Allow users to run the Git garbage collection for the repositories of
+all projects.
+
+### Stream Events
+
+Allow performing streaming of Gerrit events. This capability allows the
+granted group to [stream Gerrit events via ssh](cmd-stream-events.html).
+
+### View All Accounts
+
+Allow viewing all accounts for purposes of auto-completion, regardless
+of [accounts.visibility](config-gerrit.html#accounts.visibility)
+setting.
+
+### View Caches
+
+Allow querying for status of Gerrit’s internal caches. This capability
+allows the granted group to [look at some or all Gerrit caches via
+ssh](cmd-show-caches.html).
+
+### View Connections
+
+Allow querying for status of Gerrit’s current client connections. This
+capability allows the granted group to [look at Gerrit’s current
+connections via ssh](cmd-show-connections.html).
+
+### View Plugins
+
+Allow viewing the list of installed plugins.
+
+### View Queue
+
+Allow querying for status of Gerrit’s internal task queue. This
+capability allows the granted group to [look at the Gerrit task queue
+via ssh](cmd-show-queue.html).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-apropos.md b/jekyll-source/pages/gerrit/cmd-apropos.md
new file mode 100644
index 0000000..0d2513f
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-apropos.md
@@ -0,0 +1,68 @@
+---
+title: " gerrit apropos"
+sidebar: gerritdoc_sidebar
+permalink: cmd-apropos.html
+---
+## NAME
+
+gerrit apropos - Search Gerrit documentation index
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit apropos
+>       <query>
+
+## DESCRIPTION
+
+Queries the documentation index and returns results with the title and
+URL from the matched documents.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+> **Note**
+> 
+> This feature is only available if documentation index was built.
+
+## EXAMPLES
+
+    $ ssh -p 29418 review.example.com gerrit apropos capabilities
+    
+        Gerrit Code Review - /config/ REST API:
+        http://localhost:8080/Documentation/rest-api-config.html
+    
+        Gerrit Code Review - /accounts/ REST API:
+        http://localhost:8080/Documentation/rest-api-accounts.html
+    
+        Gerrit Code Review - Project Configuration File Format:
+        http://localhost:8080/Documentation/config-project-config.html
+    
+        Gerrit Code Review - Access Controls:
+        http://localhost:8080/Documentation/access-control.html
+    
+        Gerrit Code Review - Plugin Development:
+        http://localhost:8080/Documentation/dev-plugins.html
+    
+        Gerrit Code Review - REST API:
+        http://localhost:8080/Documentation/rest-api.html
+    
+        Gerrit Code Review - /access/ REST API:
+        http://localhost:8080/Documentation/rest-api-access.html
+
+## SEE ALSO
+
+  - [Access Controls](access-control.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-ban-commit.md b/jekyll-source/pages/gerrit/cmd-ban-commit.md
new file mode 100644
index 0000000..dde57d7
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-ban-commit.md
@@ -0,0 +1,66 @@
+---
+title: " gerrit ban-commit"
+sidebar: gerritdoc_sidebar
+permalink: cmd-ban-commit.html
+---
+## NAME
+
+gerrit ban-commit - Bans a commit from a project’s repository.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit ban-commit
+>       [--reason <REASON>]
+>       <PROJECT>
+>       <COMMIT> …
+
+## DESCRIPTION
+
+Marks a commit as banned for the specified repository. If a commit is
+banned Gerrit rejects every push that includes this commit with
+[contains banned commit …](error-contains-banned-commit.html).
+
+> **Note**
+> 
+> This command just marks the commit as banned, but it does not remove
+> the commit from the history of any central branch. This needs to be
+> done manually.
+
+## ACCESS
+
+Caller must be owner of the project or be a member of the privileged
+*Administrators* group.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<PROJECT\>  
+    Required; name of the project for which the commit should be banned.
+
+  - \<COMMIT\>  
+    Required; commit(s) that should be banned.
+
+  - \--reason  
+    Reason for banning the commit.
+
+## EXAMPLES
+
+Ban commit `421919d015c062fd28901fe144a78a555d0b5984` from project
+`myproject`:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ban-commit myproject \
+        421919d015c062fd28901fe144a78a555d0b5984
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-cherry-pick.md b/jekyll-source/pages/gerrit/cmd-cherry-pick.md
new file mode 100644
index 0000000..fa37a08
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-cherry-pick.md
@@ -0,0 +1,53 @@
+---
+title: " gerrit-cherry-pick"
+sidebar: gerritdoc_sidebar
+permalink: cmd-cherry-pick.html
+---
+## NAME
+
+gerrit-cherry-pick - Download and cherry pick one or more changes
+
+## SYNOPSIS
+
+> 
+> 
+>     gerrit-cherry-pick <remote> <changeid>…
+>     gerrit-cherry-pick --continue | --skip | --abort
+>     gerrit-cherry-pick --close <remote>
+
+## DESCRIPTION
+
+Downloads the listed changes specified on the command line and proceeds
+to cherry-pick them (rewriting commit SHA-1s as it goes) onto the
+current branch.
+
+If a merge failure prevents this from being completely automatic, you
+will be asked to resolve the conflict and restart the command with the
+`--continue` option.
+
+Change ids may be specified as either the change id (e.g. 1234) or as
+change id slash patch set number (e.g. 1234/8). If the patch set number
+is not supplied, `/1` is assumed.
+
+The `--close` command line option is now deprecated, as closing existing
+changes post cherry-pick is better handled simply by ensuring [Change-Id
+lines](user-changeid.html) are present in each commit message.
+
+## OBTAINING
+
+To obtain the *gerrit-cherry-pick* script use scp, curl or wget to copy
+it to your local
+system:
+
+``` 
+  $ scp -p -P 29418 john.doe@review.example.com:bin/gerrit-cherry-pick ~/bin/
+
+  $ curl -Lo ~/bin/gerrit-cherry-pick http://review.example.com/tools/bin/gerrit-cherry-pick
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-close-connection.md b/jekyll-source/pages/gerrit/cmd-close-connection.md
new file mode 100644
index 0000000..5af05d5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-close-connection.md
@@ -0,0 +1,44 @@
+---
+title: " gerrit close-connection"
+sidebar: gerritdoc_sidebar
+permalink: cmd-close-connection.html
+---
+## NAME
+
+gerrit close-connection - Close the specified SSH connection
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit close-connection <SESSION_ID>
+>        [--wait]
+
+## DESCRIPTION
+
+Close an SSH connection.
+
+The connection closing is done asynchronously by default. Use `--wait`
+option to wait for connection to close.
+
+An error message will be displayed if no connection with the specified
+session ID is found.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group.
+
+## SCRIPTING
+
+Intended for interactive use only.
+
+## OPTIONS
+
+`--wait` : Wait for connection to close before exiting.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-create-account.md b/jekyll-source/pages/gerrit/cmd-create-account.md
new file mode 100644
index 0000000..bea2e22
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-create-account.md
@@ -0,0 +1,89 @@
+---
+title: " gerrit create-account"
+sidebar: gerritdoc_sidebar
+permalink: cmd-create-account.html
+---
+## NAME
+
+gerrit create-account - Create a new user account.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit create-account
+>       [--group <GROUP>]
+>       [--full-name <FULLNAME>]
+>       [--email <EMAIL>]
+>       [--ssh-key - | <KEY>]
+>       [--http-password <PASSWORD>]
+>       <USERNAME>
+
+## DESCRIPTION
+
+Creates a new internal-only user account.
+
+If the account is created without an email address, it may only be used
+for batch/role access, such as from an automated build system or event
+monitoring over [gerrit stream-events](cmd-stream-events.html).
+
+Note, however, that in this case the account is not implicitly added to
+the *Non-Interactive Users* group. The account must be explicitly added
+to the group with the `--group` option.
+
+If LDAP authentication is being used, the user account is created
+without checking the LDAP directory. Consequently users can be created
+in Gerrit that do not exist in the underlying LDAP directory.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *Create Account* global
+capability](access-control.html#capability_createAccount).
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<USERNAME\>  
+    Required; SSH username of the user account.
+
+  - \--ssh-key  
+    Content of the public SSH key to load into the account’s keyring. If
+    `-` the key is read from stdin, rather than from the command line.
+
+  - \--group  
+    Name of the group to put the user into. Multiple --group options may
+    be specified to add the user to multiple groups.
+
+  - \--full-name  
+    Display name of the user account.
+    
+    Names containing spaces should be quoted in single quotes ('). This
+    most likely requires double quoting the value, for example
+    `--full-name "'A description string'"`.
+
+  - \--email  
+    Preferred email address for the user account.
+
+  - \--http-password  
+    HTTP password for the user account.
+
+## EXAMPLES
+
+Create a new batch/role access user account called `watcher` in the
+*Non-Interactive Users*
+group.
+
+``` 
+        $ cat ~/.ssh/id_watcher.pub | ssh -p 29418 review.example.com gerrit create-account --group "'Non-Interactive Users'" --ssh-key - watcher
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-create-branch.md b/jekyll-source/pages/gerrit/cmd-create-branch.md
new file mode 100644
index 0000000..d47151e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-create-branch.md
@@ -0,0 +1,62 @@
+---
+title: " gerrit create-branch"
+sidebar: gerritdoc_sidebar
+permalink: cmd-create-branch.html
+---
+## NAME
+
+gerrit create-branch - Create a new branch
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit create-branch
+>       <PROJECT>
+>       <NAME>
+>       <REVISION>
+
+## DESCRIPTION
+
+Creates a new branch for a project.
+
+## ACCESS
+
+Caller should have [Create
+Reference](access-control.html#category_create) permission on the
+project.
+
+Administrators do not automatically have permission to create branches.
+It must be granted via the Create Reference permission.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<PROJECT\>  
+    Required; name of the project.
+
+  - \<NAME\>  
+    Required; name of the branch to be created.
+
+  - \<REVISION\>  
+    Required; base revision of the new branch.
+
+## EXAMPLES
+
+Create a new branch called *newbranch* from the *master* branch of the
+project
+*myproject*.
+
+``` 
+    $ ssh -p 29418 review.example.com gerrit create-branch myproject newbranch master
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-create-group.md b/jekyll-source/pages/gerrit/cmd-create-group.md
new file mode 100644
index 0000000..2af74d4
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-create-group.md
@@ -0,0 +1,103 @@
+---
+title: " gerrit create-group"
+sidebar: gerritdoc_sidebar
+permalink: cmd-create-group.html
+---
+## NAME
+
+gerrit create-group - Create a new account group.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit create-group
+>       [--owner <GROUP> | -o <GROUP>]
+>       [--description <DESC> | -d <DESC>]
+>       [--member <USERNAME>]
+>       [--group <GROUP>]
+>       [--visible-to-all]
+>       <GROUP>
+
+## DESCRIPTION
+
+Creates a new account group. The group creating user (the user that
+fired the create-group command) is not automatically added to the
+created group. In case the creating user wants to be a member of the
+group he/she must list itself in the --member option. This is slightly
+different from Gerrit’s Web UI where the creating user automatically
+becomes a member of the newly created group.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *Create Group* global
+capability](access-control.html#capability_createGroup).
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<GROUP\>  
+    Required; name of the new group.
+
+  - \--owner, -o  
+    Name of the owning group. If not specified the group will be
+    self-owning.
+
+  - \--description, -d  
+    Description of group.
+    
+    Description values containing spaces should be quoted in single
+    quotes ('). This most likely requires double quoting the value, for
+    example `--description "'A description string'"`.
+
+  - \--member  
+    User name to become initial member of the group. Multiple --member
+    options may be specified to add more initial members.
+    
+    Trying to add a user that doesn’t have an account in Gerrit fails,
+    unless LDAP is used for authentication. If LDAP is used for
+    authentication and the user is not found, Gerrit tries to
+    authenticate the user against the LDAP backend. If the
+    authentication is successful a user account is automatically
+    created, so that the user can be added to the group.
+
+  - \--group  
+    Group name to include in the group. Multiple --group options may be
+    specified to include more initial groups.
+
+  - \--visible-to-all  
+    If specified, the group members will be visible to all users.
+
+## EXAMPLES
+
+Create a new account group called `gerritdev` with two initial members
+`developer1` and `developer2`. The group should be owned by
+itself:
+
+``` 
+        $ ssh -p 29418 user@review.example.com gerrit create-group --member developer1 --member developer2 gerritdev
+```
+
+Create a new account group called `Foo` owned by the `Foo-admin` group.
+Put `developer1` as the initial member and include group
+description:
+
+``` 
+        $ ssh -p 29418 user@review.example.com gerrit create-group --owner Foo-admin --member developer1 --description "'Foo description'" Foo
+```
+
+Note that it is necessary to quote the description twice. The local
+shell needs double quotes around the value to ensure the single quotes
+are passed through SSH as-is to the remote Gerrit server, which uses the
+single quotes to delimit the value.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-create-project.md b/jekyll-source/pages/gerrit/cmd-create-project.md
new file mode 100644
index 0000000..fb4d9f6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-create-project.md
@@ -0,0 +1,216 @@
+---
+title: " gerrit create-project"
+sidebar: gerritdoc_sidebar
+permalink: cmd-create-project.html
+---
+## NAME
+
+gerrit create-project - Create a new hosted project
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit create-project
+>       [--owner <GROUP> … | -o <GROUP> …]
+>       [--parent <NAME> | -p <NAME> ]
+>       [--suggest-parents | -S ]
+>       [--permissions-only]
+>       [--description <DESC> | -d <DESC>]
+>       [--submit-type <TYPE> | -t <TYPE>]
+>       [--use-contributor-agreements | --ca]
+>       [--use-signed-off-by | --so]
+>       [--use-content-merge]
+>       [--create-new-change-for-all-not-in-target]
+>       [--require-change-id | --id]
+>       [[--branch <REF> | -b <REF>] …]
+>       [--empty-commit]
+>       [--max-object-size-limit <N>]
+>       [--plugin-config <PARAM> …]
+>       { <NAME> }
+
+## DESCRIPTION
+
+Creates a new bare Git repository under `gerrit.basePath`, using the
+project name supplied. The newly created repository is empty (has no
+commits), but is registered in the Gerrit database so that the initial
+commit may be uploaded for review, or initial content can be pushed
+directly into a branch.
+
+If replication is enabled, this command also connects to each of the
+configured remote systems over SSH and uses command line git on the
+remote system to create the empty repository.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *Create Project* global
+capability](access-control.html#capability_createProject).
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Required; name of the new project to create. If name ends with
+    `.git` the suffix will be automatically removed.
+
+  - \--branch; -b  
+    Name of the initial branch(es) in the newly created project. Several
+    branches can be specified on the command line. If several branches
+    are specified then the first one becomes HEAD of the project. If
+    none branches are specified then default value (*master*) is used.
+
+  - \--owner; -o  
+    Name of the group(s) which will initially own this repository. The
+    specified group(s) must already be defined within Gerrit. Several
+    groups can be specified on the command line.
+    
+    Defaults to what is specified by `repository.*.ownerGroup` in
+    gerrit.config.
+
+  - \--parent; -p  
+    Name of the parent project to inherit access rights through. If not
+    specified, the parent is set to the default project `All-Projects`.
+
+  - \--suggest-parents; -S  
+    Suggest parent candidates. This option cannot be used with other
+    arguments. Print out a list of projects that are already parents to
+    other projects, thus it can help the user find a suitable parent for
+    the new project.
+
+  - \--permissions-only  
+    Create the project only to serve as a parent for other projects. The
+    new project’s Git repository will be initialized to have *HEAD*
+    point to *refs/meta/config*.
+
+  - \--description; -d  
+    Initial description of the project. If not specified, no description
+    is stored.
+    
+    Description values containing spaces should be quoted in single
+    quotes ('). This most likely requires double quoting the value, for
+    example `--description "'A description string'"`.
+
+  - \--submit-type; -t  
+    Action used by Gerrit to submit an approved change to its
+    destination branch. Supported options are:
+    
+      - FAST\_FORWARD\_ONLY: produces a strictly linear history.
+    
+      - MERGE\_IF\_NECESSARY: create a merge commit when required.
+    
+      - REBASE\_IF\_NECESSARY: rebase the commit when required.
+    
+      - REBASE\_ALWAYS: always rebase the commit including dependencies.
+    
+      - MERGE\_ALWAYS: always create a merge commit.
+    
+      - CHERRY\_PICK: always cherry-pick the commit.
+    
+    Defaults to MERGE\_IF\_NECESSARY unless
+    [repository.\<name\>.defaultSubmitType](config-gerrit.html#repository.name.defaultSubmitType)
+    is set to a different value. For more details see [Submit
+    Types](project-configuration.html#submit_type).
+
+  - \--use-content-merge  
+    If enabled, Gerrit will try to perform a 3-way merge of text file
+    content when a file has been modified by both the destination branch
+    and the change being submitted. This option only takes effect if
+    submit type is not FAST\_FORWARD\_ONLY. Disabled by default.
+
+  - \--use-contributor-agreements; --ca  
+    If enabled, authors must complete a contributor agreement on the
+    site before pushing any commits or changes to this project. Disabled
+    by default.
+
+  - \--use-signed-off-by  
+    \--so: If enabled, each change must contain a Signed-off-by line
+    from either the author or the uploader in the commit message.
+    Disabled by default.
+
+  - \--create-new-change-for-all-not-in-target  
+    \--ncfa: If enabled, a new change is created for every commit that
+    is not in the target branch. If the pushed commit is a merge commit,
+    this flag is ignored for that push. To avoid accidental creation of
+    a large number of open changes, this option also does not accept
+    merge commits in the commit chain. Disabled by default.
+
+  - \--require-change-id; --id  
+    Require a valid [Change-Id](user-changeid.html) footer in any commit
+    uploaded for review. This does not apply to commits pushed directly
+    to a branch or tag.
+
+  - \--empty-commit  
+    Creates an initial empty commit for the Git repository of the
+    project that is newly created.
+
+  - \--max-object-size-limit  
+    Define maximum Git object size for this project. Pushes containing
+    an object larger than this limit will be rejected. This can be used
+    to further limit the global
+    [receive.maxObjectSizeLimit](config-gerrit.html#receive.maxObjectSizeLimit)
+    and cannot be used to increase that globally set limit.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - \--plugin-config  
+    A plugin configuration parameter that should be set for this
+    project. The plugin configuration parameter must be specified in the
+    format *\<plugin-name\>.\<parameter-name\>=\<value\>*. Only
+    parameters that are explicitly declared by a plugin can be set.
+    Multiple `--plugin-config` options can be specified to set multiple
+    plugin parameters.
+
+## EXAMPLES
+
+Create a new project called
+`tools/gerrit`:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit create-project tools/gerrit.git
+```
+
+Create a new project with a
+description:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit create-project tool.git --description "'Tools used by build system'"
+```
+
+Note that it is necessary to quote the description twice. The local
+shell needs double quotes around the value to ensure the single quotes
+are passed through SSH as-is to the remote Gerrit server, which uses the
+single quotes to delimit the value.
+
+## REPLICATION
+
+If the replication plugin is installed, the plugin will attempt to
+perform remote repository creation by a Bourne shell
+script:
+
+``` 
+  mkdir -p '/base/project.git' && cd '/base/project.git' && git init --bare && git update-ref HEAD refs/heads/master
+```
+
+For this to work successfully the remote system must be able to run
+arbitrary shell scripts, and must have `git` in the user’s PATH
+environment variable. Administrators could also run this command line by
+hand to establish a new empty repository.
+
+A custom extension or plugin may also be developed to implement the
+NewProjectCreatedListener extension point and handle custom logic for
+remote repository creation.
+
+## SEE ALSO
+
+  - [Project Configuration](project-configuration.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-flush-caches.md b/jekyll-source/pages/gerrit/cmd-flush-caches.md
new file mode 100644
index 0000000..ec942ee
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-flush-caches.md
@@ -0,0 +1,120 @@
+---
+title: " gerrit flush-caches"
+sidebar: gerritdoc_sidebar
+permalink: cmd-flush-caches.html
+---
+## NAME
+
+gerrit flush-caches - Flush some/all server caches from memory
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit flush-caches --all
+>     ssh -p <port> <host> gerrit flush-caches --list
+>     ssh -p <port> <host> gerrit flush-caches --cache <NAME> …
+
+## DESCRIPTION
+
+Clear an in-memory cache, forcing Gerrit to reconsult the ground truth
+when it needs the information again.
+
+Flushing a cache may be necessary if an administrator modifies database
+records directly in the database, rather than going through the Gerrit
+web interface.
+
+If no options are supplied, defaults to `--all`.
+
+## ACCESS
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [Flush Caches](access-control.html#capability_flushCaches) (any
+    cache except "web\_sessions")
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+    (any cache including "web\_sessions")
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer) (any
+    cache including "web\_sessions")
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \--all  
+    Flush all known caches. This is like applying a big hammer, it will
+    force everything out, potentially more than was necessary for the
+    change made. This option automatically skips flushing potentially
+    dangerous caches such as "web\_sessions". To flush one of these
+    caches, the caller must specifically name them on the command line,
+    e.g. pass `--cache web_sessions`.
+
+  - \--list  
+    Show a list of the caches.
+
+  - \--cache \<NAME\>  
+    Flush only the cache called \<NAME\>. May be supplied more than once
+    to flush multiple caches in a single command execution.
+
+## EXAMPLES
+
+List caches available for flushing:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit flush-caches --list
+        accounts
+        diff
+        groups
+        ldap_groups
+        openid
+        projects
+        sshkeys
+        web_sessions
+```
+
+Flush all caches known to the server, forcing them to recompute:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit flush-caches --all
+```
+
+or
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit flush-caches
+```
+
+Flush only the "sshkeys" cache, after manually editing an SSH key for a
+user:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit flush-caches --cache sshkeys
+```
+
+Flush "web\_sessions", forcing all users to sign-in
+again:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit flush-caches --cache web_sessions
+```
+
+## SEE ALSO
+
+  - [gerrit show-caches](cmd-show-caches.html)
+
+  - [Cache Configuration](config-gerrit.html#cache)
+
+  - [Standard Caches](config-gerrit.html#cache_names)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-gc.md b/jekyll-source/pages/gerrit/cmd-gc.md
new file mode 100644
index 0000000..c098525
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-gc.md
@@ -0,0 +1,86 @@
+---
+title: " gerrit gc"
+sidebar: gerritdoc_sidebar
+permalink: cmd-gc.html
+---
+## NAME
+
+gerrit gc - Run the Git garbage collection
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit gc
+>       [--all]
+>       [--show-progress]
+>       [--aggressive]
+>       <NAME> …
+
+## DESCRIPTION
+
+Runs the Git garbage collection for the specified projects.
+
+A Gerrit system administrator can define the default parameters that
+should be used for running the garbage collection in the user global Git
+configuration file of the system user that runs the Gerrit server.
+
+Since the user global Git configuration file is overlaid with the Git
+configuration on repository level it is possible to specify repository
+specific parameters for the garbage collection in the Git repository
+configuration of every project.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted the [Run Garbage
+Collection](access-control.html#capability_runGC) global capability.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Name of the projects for which the Git garbage collection should be
+    run.
+
+  - \--all  
+    If specified the Git garbage collection is run for all projects
+    sequentially.
+
+  - \--show-progress  
+    If specified progress information is shown.
+
+  - \--aggressive  
+    If an aggressive garbage collection should be done.
+
+## EXAMPLES
+
+Run the Git garbage collection for the projects *myProject* and
+*yourProject*:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit gc myProject yourProject
+        collecting garbage for "myProject":
+        ...
+        done.
+
+        collecting garbage for "yourProject":
+        ...
+        done.
+```
+
+Run the Git garbage collection for all projects:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit gc --all
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-gsql.md b/jekyll-source/pages/gerrit/cmd-gsql.md
new file mode 100644
index 0000000..8d5b9f0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-gsql.md
@@ -0,0 +1,72 @@
+---
+title: " gerrit gsql"
+sidebar: gerritdoc_sidebar
+permalink: cmd-gsql.html
+---
+## NAME
+
+gerrit gsql - Administrative interface to active database
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit gsql
+>       [--format {PRETTY | JSON | JSON_SINGLE}]
+>       [-c QUERY]
+
+## DESCRIPTION
+
+Provides interactive query support directly against the underlying SQL
+database used by the host Gerrit server. All SQL statements are
+supported, including SELECT, UPDATE, INSERT, DELETE and ALTER.
+
+## OPTIONS
+
+  - \--format  
+    Set the format records are output in. In PRETTY (the default)
+    records are displayed in a tabular output suitable for reading by a
+    human on a sufficiently wide terminal. In JSON mode records are
+    output as JSON objects using the column names as the property names,
+    one object per line. In JSON\_SINGLE mode the whole result set is
+    output as a single JSON object.
+
+  - \-c  
+    Execute the single query statement supplied, and then exit.
+
+## ACCESS
+
+Caller must have been granted the [Access
+Database](access-control.html#capability_accessDatabase) global
+capability.
+
+## SCRIPTING
+
+Intended for interactive use only, unless format is JSON, or
+JSON\_SINGLE.
+
+## EXAMPLES
+
+To manually correct a user’s SSH user name:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit gsql
+        Welcome to Gerrit Code Review v2.0.25
+        (PostgreSQL 8.3.8)
+
+        Type '\h' for help.  Type '\r' to clear the buffer.
+
+        gerrit> update accounts set ssh_user_name = 'alice' where account_id=1;
+        UPDATE 1; 1 ms
+        gerrit> \q
+        Bye
+
+        $ ssh -p 29418 review.example.com gerrit flush-caches --cache sshkeys --cache accounts
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-hook-commit-msg.md b/jekyll-source/pages/gerrit/cmd-hook-commit-msg.md
new file mode 100644
index 0000000..d2ef0c1
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-hook-commit-msg.md
@@ -0,0 +1,124 @@
+---
+title: " commit-msg Hook"
+sidebar: gerritdoc_sidebar
+permalink: cmd-hook-commit-msg.html
+---
+## NAME
+
+commit-msg - Edit commit messages to insert a `Change-Id` tag.
+
+## DESCRIPTION
+
+A Git hook automatically invoked by `git commit`, and most other commit
+creation tools such as `git citool` or `git gui`. The Gerrit Code Review
+supplied implementation of this hook is a short shell script which
+automatically inserts a globally unique `Change-Id` tag in the footer of
+a commit message. When present, Gerrit uses this tag to track commits
+across cherry-picks and rebases.
+
+After the hook has been installed in the user’s local Git repository for
+a project, the hook will modify a commit message such as:
+
+``` 
+  Improve foo widget by attaching a bar.
+
+  We want a bar, because it improves the foo by providing more
+  wizbangery to the dowhatimeanery.
+
+  Signed-off-by: A. U. Thor <author@example.com>
+```
+
+by inserting a new \`Change-Id: \` line in the footer:
+
+``` 
+  Improve foo widget by attaching a bar.
+
+  We want a bar, because it improves the foo by providing more
+  wizbangery to the dowhatimeanery.
+
+  Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
+  Signed-off-by: A. U. Thor <author@example.com>
+```
+
+The hook implementation is reasonably intelligent at inserting the
+`Change-Id` line before any `Signed-off-by` or `Acked-by` lines placed
+at the end of the commit message by the author, but if no such lines are
+present then it will just insert a blank line, and add the `Change-Id`
+at the bottom of the message.
+
+If a `Change-Id` line is already present in the message footer, the
+script will do nothing, leaving the existing `Change-Id` unmodified.
+This permits amending an existing commit, or allows the user to insert
+the Change-Id manually after copying it from an existing change viewed
+on the web.
+
+The `Change-Id` will not be added if `gerrit.createChangeId` is set to
+`false` in the git config.
+
+## OBTAINING
+
+To obtain the `commit-msg` script use `scp`, `wget` or `curl` to
+download it to your local system from your Gerrit server.
+
+You can use either of the below
+commands:
+
+``` 
+  $ scp -p -P 29418 <your username>@<your Gerrit review server>:hooks/commit-msg <local path to your git>/.git/hooks/
+
+  $ curl -Lo <local path to your git>/.git/hooks/commit-msg <your Gerrit http URL>/tools/hooks/commit-msg
+```
+
+A specific example of this might look something like
+this:
+
+**Example.**
+
+``` 
+  $ scp -p -P 29418 john.doe@review.example.com:hooks/commit-msg ~/duhproject/.git/hooks/
+
+  $ curl -Lo ~/duhproject/.git/hooks/commit-msg http://review.example.com/tools/hooks/commit-msg
+```
+
+Make sure the hook file is executable:
+
+``` 
+  $ chmod u+x ~/duhproject/.git/hooks/commit-msg
+```
+
+## SEE ALSO
+
+  - [Change-Id
+    Lines](user-changeid.html)
+
+  - [git-commit(1)](http://www.kernel.org/pub/software/scm/git/docs/git-commit.html)
+
+  - [githooks(5)](http://www.kernel.org/pub/software/scm/git/docs/githooks.html)
+
+## IMPLEMENTATION
+
+The hook generates unique `Change-Id` lines by creating a virtual commit
+object within the local Git repository, and obtaining the SHA-1 hash
+from it. Like any other Git commit, the following properties are
+included in the computation:
+
+  - SHA-1 of the tree being committed
+
+  - SHA-1 of the parent commit
+
+  - Name, email address, timestamp of the author
+
+  - Name, email address, timestamp of the committer
+
+  - Proposed commit message (before `Change-Id` was inserted)
+
+Because the names of the tree and parent commit, as well as the
+committer timestamp are included in the hash computation, the output
+`Change-Id` is sufficiently unique.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-index-activate.md b/jekyll-source/pages/gerrit/cmd-index-activate.md
new file mode 100644
index 0000000..75f7a3c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-index-activate.md
@@ -0,0 +1,57 @@
+---
+title: " gerrit index activate"
+sidebar: gerritdoc_sidebar
+permalink: cmd-index-activate.html
+---
+## NAME
+
+gerrit index activate - Activate the latest index version available
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit index activate <INDEX>
+
+## DESCRIPTION
+
+Gerrit supports online index schema upgrades. When starting Gerrit for
+the first time after an upgrade that requires an index schema upgrade,
+the online indexer will be started. If the schema upgrade is a success,
+the new index will be activated and if it fails, a statement in the logs
+will be printed with the number of successfully/failed indexed changes.
+
+This command allows to activate the latest index even if there were some
+failures.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<INDEX\>  
+    The index to activate. Currently supported values:
+    
+      - changes
+    
+      - accounts
+
+## EXAMPLES
+
+Activate the latest change index:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit activate changes
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-index-changes.md b/jekyll-source/pages/gerrit/cmd-index-changes.md
new file mode 100644
index 0000000..19039bc
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-index-changes.md
@@ -0,0 +1,50 @@
+---
+title: " gerrit index changes"
+sidebar: gerritdoc_sidebar
+permalink: cmd-index-changes.html
+---
+## NAME
+
+gerrit index changes - Index one or more changes.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit index changes <CHANGE> [<CHANGE> …]
+
+## DESCRIPTION
+
+Indexes one or more changes.
+
+Changes can be specified in the [same
+format](rest-api-changes.html#change-id) supported by the REST API.
+
+## ACCESS
+
+Caller must have the *Maintain Server* capability, or be the owner of
+the change to be indexed.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \--CHANGE  
+    Required; changes to be indexed.
+
+## EXAMPLES
+
+Index changes with legacy ID numbers 1 and 2.
+
+``` 
+    $ ssh -p 29418 user@review.example.com gerrit index changes 1 2
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-index-project.md b/jekyll-source/pages/gerrit/cmd-index-project.md
new file mode 100644
index 0000000..e16e26c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-index-project.md
@@ -0,0 +1,47 @@
+---
+title: " gerrit index project"
+sidebar: gerritdoc_sidebar
+permalink: cmd-index-project.html
+---
+## NAME
+
+gerrit index project - Index all the changes in one or more projects.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit index project <PROJECT> [<PROJECT> …]
+
+## DESCRIPTION
+
+Index all the changes in one or more projects.
+
+## ACCESS
+
+Caller must have the *Maintain Server* capability.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<PROJECT\>  
+    Required; name of the project to be indexed.
+
+## EXAMPLES
+
+Index all changes in projects MyProject and
+NiceProject.
+
+``` 
+    $ ssh -p 29418 user@review.example.com gerrit index project MyProject NiceProject
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-index-start.md b/jekyll-source/pages/gerrit/cmd-index-start.md
new file mode 100644
index 0000000..d442aa8
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-index-start.md
@@ -0,0 +1,65 @@
+---
+title: " gerrit index start"
+sidebar: gerritdoc_sidebar
+permalink: cmd-index-start.html
+---
+## NAME
+
+gerrit index start - Start the online indexer
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit index start <INDEX> [--force]
+
+## DESCRIPTION
+
+Gerrit supports online index schema upgrades. When starting Gerrit for
+the first time after an upgrade that requires an index schema upgrade,
+the online indexer will be started. If the schema upgrade is a success,
+the new index will be activated and if it fails, a statement in the logs
+will be printed with the number of successfully/failed indexed changes.
+
+This command allows restarting the online indexer without having to
+restart Gerrit. This command will not start the indexer if it is already
+running or if the active index is the latest.
+
+The [show-queue](cmd-show-queue.html) command provides online index
+status.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<INDEX\>  
+    Restart the online indexer on this secondary index. Currently
+    supported values:
+    
+      - changes
+    
+      - accounts
+
+  - \--force  
+    Force an online re-index.
+
+## EXAMPLES
+
+Start the online indexer for the *changes* index:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit index start changes
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-index.md b/jekyll-source/pages/gerrit/cmd-index.md
new file mode 100644
index 0000000..d4a8ea7
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-index.md
@@ -0,0 +1,211 @@
+---
+title: " Gerrit Code Review - Command Line Tools"
+sidebar: gerritdoc_sidebar
+permalink: cmd-index.html
+---
+## Client
+
+Client commands and hooks can be downloaded via scp, wget or curl from
+Gerrit’s daemon, and then executed on the client system.
+
+To download a client command or hook, use scp or an http
+client:
+
+```
+  $ scp -p -P 29418 john.doe@review.example.com:bin/gerrit-cherry-pick ~/bin/
+  $ scp -p -P 29418 john.doe@review.example.com:hooks/commit-msg .git/hooks/
+
+  $ curl -Lo ~/bin/gerrit-cherry-pick http://review.example.com/tools/bin/gerrit-cherry-pick
+  $ curl -Lo .git/hooks/commit-msg http://review.example.com/tools/hooks/commit-msg
+```
+
+For more details on how to determine the correct SSH port number, see
+[Testing Your SSH Connection](user-upload.html#test_ssh).
+
+### Commands
+
+  - [gerrit-cherry-pick](cmd-cherry-pick.html)
+    Download and cherry-pick one or more changes (commits).
+
+### Hooks
+
+Client hooks can be installed into a local Git repository, improving the
+developer experience when working with a Gerrit Code Review server.
+
+  - [commit-msg](cmd-hook-commit-msg.html)
+    Automatically generate \`Change-Id: \` tags in commit messages.
+
+## Server
+
+Aside from the standard Git server side actions, Gerrit supports several
+other commands over its internal SSH daemon. As Gerrit does not provide
+an interactive shell, the commands must be triggered from an ssh client,
+for example:
+
+```
+  $ ssh -p 29418 review.example.com gerrit ls-projects
+```
+
+For more details on how to determine the correct SSH port number, see
+[Testing Your SSH Connection](user-upload.html#test_ssh).
+
+### User Commands
+
+  - [gerrit apropos](cmd-apropos.html)
+    Search Gerrit documentation index.
+
+  - [gerrit ban-commit](cmd-ban-commit.html)
+    Bans a commit from a project’s repository.
+
+  - [gerrit create-branch](cmd-create-branch.html)
+    Create a new project branch.
+
+  - [gerrit ls-groups](cmd-ls-groups.html)
+    List groups visible to the caller.
+
+  - [gerrit ls-members](cmd-ls-members.html)
+    List the membership of a group visible to the caller.
+
+  - [gerrit ls-projects](cmd-ls-projects.html)
+    List projects visible to the caller.
+
+  - [gerrit query](cmd-query.html)
+    Query the change database.
+
+  - *gerrit receive-pack*
+    *Deprecated alias for `git receive-pack`.*
+
+  - [gerrit rename-group](cmd-rename-group.html)
+    Rename an account group.
+
+  - [gerrit review](cmd-review.html)
+    Verify, approve and/or submit a patch set from the command line.
+
+  - [gerrit set-head](cmd-set-head.html)
+    Change the HEAD reference of a project.
+
+  - [gerrit set-project](cmd-set-project.html)
+    Change a project’s settings.
+
+  - [gerrit set-reviewers](cmd-set-reviewers.html)
+    Add or remove reviewers on a change.
+
+  - [gerrit stream-events](cmd-stream-events.html)
+    Monitor events occurring in real time.
+
+  - [gerrit version](cmd-version.html)
+    Show the currently executing version of Gerrit.
+
+  - [git receive-pack](cmd-receive-pack.html)
+    Standard Git server side command for client side `git push`.
+
+    Also implements the magic associated with uploading commits for
+    review. See [Creating Changes](user-upload.html#push_create).
+
+  - git upload-pack
+    Standard Git server side command for client side `git fetch`.
+
+### Administrator Commands
+
+  - [gerrit close-connection](cmd-close-connection.html)
+    Close the specified SSH connection.
+
+  - [gerrit create-account](cmd-create-account.html)
+    Create a new user account.
+
+  - [gerrit create-group](cmd-create-group.html)
+    Create a new account group.
+
+  - [gerrit create-project](cmd-create-project.html)
+    Create a new project and associated Git repository.
+
+  - [gerrit flush-caches](cmd-flush-caches.html)
+    Flush some/all server caches from memory.
+
+  - [gerrit gc](cmd-gc.html)
+    Run the Git garbage collection.
+
+  - [gerrit gsql](cmd-gsql.html)
+    Administrative interface to active database.
+
+  - [gerrit index activate](cmd-index-activate.html)
+    Activate the latest index version available.
+
+  - [gerrit index start](cmd-index-start.html)
+    Start the online indexer.
+
+  - [gerrit index changes](cmd-index-changes.html)
+    Index one or more changes.
+
+  - [gerrit index project](cmd-index-project.html)
+    Index all the changes in one or more projects.
+
+  - [gerrit logging ls-level](cmd-logging-ls-level.html)
+    List loggers and their logging level.
+
+  - [gerrit logging set-level](cmd-logging-set-level.html)
+    Set the logging level of loggers.
+
+  - [gerrit ls-user-refs](cmd-ls-user-refs.html)
+    Lists refs visible for a specified user.
+
+  - [gerrit plugin add](cmd-plugin-install.html)
+    Alias for *gerrit plugin install*.
+
+  - [gerrit plugin enable](cmd-plugin-enable.html)
+    Enable plugins.
+
+  - [gerrit plugin install](cmd-plugin-install.html)
+    Install/Add a plugin.
+
+  - [gerrit plugin ls](cmd-plugin-ls.html)
+    List the installed plugins.
+
+  - [gerrit plugin reload](cmd-plugin-reload.html)
+    Reload/Restart plugins.
+
+  - [gerrit plugin remove](cmd-plugin-remove.html)
+    Disable plugins.
+
+  - [gerrit plugin rm](cmd-plugin-remove.html)
+    Alias for *gerrit plugin remove*.
+
+  - [gerrit set-account](cmd-set-account.html)
+    Change an account’s settings.
+
+  - [gerrit set-members](cmd-set-members.html)
+    Set group members.
+
+  - [gerrit set-project-parent](cmd-set-project-parent.html)
+    Change the project permissions are inherited from.
+
+  - [gerrit show-caches](cmd-show-caches.html)
+    Display current cache statistics.
+
+  - [gerrit show-connections](cmd-show-connections.html)
+    Display active client SSH connections.
+
+  - [gerrit show-queue](cmd-show-queue.html)
+    Display the background work queues, including replication.
+
+  - [gerrit test-submit rule](cmd-test-submit-rule.html)
+    Test prolog submit rules.
+
+  - [gerrit test-submit type](cmd-test-submit-type.html)
+    Test prolog submit type.
+
+  - [kill](cmd-kill.html)
+    Kills a scheduled or running task.
+
+  - [ps](cmd-show-queue.html)
+    Alias for *gerrit show-queue*.
+
+  - [suexec](cmd-suexec.html)
+    Execute a command as any registered user account.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-kill.md b/jekyll-source/pages/gerrit/cmd-kill.md
new file mode 100644
index 0000000..398e192
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-kill.md
@@ -0,0 +1,37 @@
+---
+title: " kill"
+sidebar: gerritdoc_sidebar
+permalink: cmd-kill.html
+---
+## NAME
+
+kill - Cancel or abort a background task
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> kill <ID> …
+
+## DESCRIPTION
+
+Cancels a scheduled task from the queue. If the task has already been
+started, requests for the task to cancel as soon as it reaches its next
+cancellation point (which is usually blocking IO).
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *Kill Task* global
+capability](access-control.html#capability_kill).
+
+## SCRIPTING
+
+Intended for interactive use only.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-logging-ls-level.md b/jekyll-source/pages/gerrit/cmd-logging-ls-level.md
new file mode 100644
index 0000000..d9d95b3
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-logging-ls-level.md
@@ -0,0 +1,53 @@
+---
+title: " gerrit logging ls-level"
+sidebar: gerritdoc_sidebar
+permalink: cmd-logging-ls-level.html
+---
+## NAME
+
+gerrit logging ls-level - view the logging level
+
+gerrit logging ls - view the logging level
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit logging ls-level | ls
+>       <NAME>
+
+## DESCRIPTION
+
+View the logging level of specified loggers.
+
+## Options
+
+  - \<NAME\>  
+    Display the loggers which contain the input argument in their name.
+    If this argument is not provided, all loggers will be printed.
+
+## ACCESS
+
+Caller must have the ADMINISTRATE\_SERVER capability.
+
+## Examples
+
+View the logging level of the loggers in the package com.google:
+
+``` 
+    $ssh -p 29418 review.example.com gerrit logging ls-level \
+     com.google.
+```
+
+View the logging level of every logger
+
+``` 
+    $ssh -p 29418 review.example.com gerrit logging ls-level
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-logging-set-level.md b/jekyll-source/pages/gerrit/cmd-logging-set-level.md
new file mode 100644
index 0000000..7787656
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-logging-set-level.md
@@ -0,0 +1,64 @@
+---
+title: " gerrit logging set-level"
+sidebar: gerritdoc_sidebar
+permalink: cmd-logging-set-level.html
+---
+## NAME
+
+gerrit logging set-level - set the logging level
+
+gerrit logging set - set the logging level
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit logging set-level | set
+>       <LEVEL>
+>       <NAME>
+
+## DESCRIPTION
+
+Set the logging level of specified loggers.
+
+## Options
+
+  - \<LEVEL\>  
+    Required; logging level for which the loggers should be set. *reset*
+    can be used to revert all loggers back to their level at deployment
+    time.
+
+  - \<NAME\>  
+    Set the level of the loggers which contain the input argument in
+    their name. If this argument is not provided, all loggers will have
+    their level changed. Note that this argument has no effect if
+    *reset* is passed in LEVEL.
+
+## ACCESS
+
+Caller must have the ADMINISTRATE\_SERVER capability.
+
+## Examples
+
+Change the logging level of the loggers in the package com.google to
+DEBUG.
+
+``` 
+    $ssh -p 29418 review.example.com gerrit logging set-level \
+     debug com.google.
+```
+
+Reset the logging level of every logger to what they were at deployment
+time.
+
+``` 
+    $ssh -p 29418 review.example.com gerrit logging set-level \
+     reset
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-ls-groups.md b/jekyll-source/pages/gerrit/cmd-ls-groups.md
new file mode 100644
index 0000000..c53ba91
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-ls-groups.md
@@ -0,0 +1,156 @@
+---
+title: " gerrit ls-groups"
+sidebar: gerritdoc_sidebar
+permalink: cmd-ls-groups.html
+---
+## NAME
+
+gerrit ls-groups - List groups visible to caller
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit ls-groups
+>       [--project <NAME> | -p <NAME>]
+>       [--user <NAME> | -u <NAME>]
+>       [--owned]
+>       [--visible-to-all]
+>       [-q <GROUP>]
+>       [--verbose | -v]
+
+## DESCRIPTION
+
+Displays the list of group names, one per line, that are visible to the
+account of the calling user.
+
+If the caller is a member of the privileged *Administrators* group, all
+groups are listed.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+All non-printable characters (ASCII value 31 or less) are escaped
+according to the conventions used in languages like C, Python, and Perl,
+employing standard sequences like `\n` and `\t`, and `\xNN` for all
+others. In shell scripts, the `printf` command can be used to unescape
+the output.
+
+## OPTIONS
+
+  - \--project; -p  
+    Name of the project for which the groups should be listed. Only
+    groups are listed for which any permission is set on this project
+    (or for which a permission is inherited from a parent project).
+    Multiple --project options may be specified to specify additional
+    projects. In this case all groups are listed that have a permission
+    for any of the specified projects.
+    
+    This option can’t be used together with the *--user* option.
+
+  - \--user; -u  
+    User for which the groups should be listed. Only groups are listed
+    that contain this user as a member.
+    
+    The calling user can list the groups for the own user or must be a
+    member of the privileged *Administrators* group to list the groups
+    for other users.
+    
+    This option can’t be used together with the *--project* option.
+
+  - \--owned  
+    Lists only the groups that are owned by the user that was specified
+    by the `--user` option or if no user was specified the groups that
+    are owned by the calling user.
+
+  - \--visible-to-all  
+    Displays only groups that are visible to all registered users
+    (groups that are explicitly marked as visible to all registered
+    users).
+
+  - \-q  
+    Group that should be inspected. The `-q` option can be specified
+    multiple times to define several groups to be inspected. If
+    specified the listed groups will only contain groups that were
+    specified to be inspected. This is e.g. useful in combination with
+    the `--owned` and `--user` options to check whether a group is owned
+    by a user.
+
+  - \--verbose; -v  
+    Enable verbose output with tab-separated columns for the group name,
+    UUID, description, owner group name, owner group UUID and whether
+    the group is visible to all (`true` or `false`).
+    
+    If a group has been "orphaned", i.e. its owner group UUID refers to
+    a nonexistent group, the owner group name field will read `n/a`.
+
+## EXAMPLES
+
+List visible groups:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-groups
+        Administrators
+        Anonymous Users
+        MyProject_Committers
+        Project Owners
+        Registered Users
+```
+
+List all groups for which any permission is set for the project
+"MyProject":
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-groups --project MyProject
+        MyProject_Committers
+        Project Owners
+        Registered Users
+```
+
+List all groups which are owned by the calling user:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-groups --owned
+        MyProject_Committers
+        MyProject_Verifiers
+```
+
+Check if the calling user owns the group `MyProject_Committers`. If
+`MyProject_Committers` is returned the calling user owns this group. If
+the result is empty, the calling user doesn’t own the
+group.
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-groups --owned -q MyProject_Committers
+        MyProject_Committers
+```
+
+Extract the UUID of the *Administrators*
+group:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-groups -v | awk '-F\t' '$1 == "Administrators" {print $2}'
+        ad463411db3eec4e1efb0d73f55183c1db2fd82a
+```
+
+Extract and expand the multi-line description of the *Administrators*
+group:
+
+``` 
+        $ printf "$(ssh -p 29418 review.example.com gerrit ls-groups -v | awk '-F\t' '$1 == "Administrators" {print $3}')\n"
+        This is a
+        multi-line
+        description.
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-ls-members.md b/jekyll-source/pages/gerrit/cmd-ls-members.md
new file mode 100644
index 0000000..82354d7
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-ls-members.md
@@ -0,0 +1,74 @@
+---
+title: " gerrit ls-members"
+sidebar: gerritdoc_sidebar
+permalink: cmd-ls-members.html
+---
+## NAME
+
+gerrit ls-members - Show members of a given group
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit ls-members GROUPNAME
+>       [--recursive]
+
+## DESCRIPTION
+
+Displays the members of the given group, one per line, so long as the
+given group is visible to the user. The users' id, username, full name
+and email are shown tab-separated.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts. Output is either an
+error message or a heading followed by zero or more lines, one for each
+member of the group. If any field is not set, or if the field is the
+user’s full name and the name is empty, "n/a" is emitted as the field
+value.
+
+All non-printable characters (ASCII value 31 or less) are escaped
+according to the conventions used in languages like C, Python, and Perl,
+employing standard sequences like `\n` and `\t`, and `\xNN` for all
+others. In shell scripts, the `printf` command can be used to unescape
+the output.
+
+## OPTIONS
+
+  - \--recursive  
+    If a member of the group is itself a group, the sub-group’s members
+    are included in the list. Otherwise members of any sub-group are not
+    shown and no indication is given that a sub-group is present
+
+## EXAMPLES
+
+List members of the Administrators
+group:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-members Administrators
+        id      username  full name    email
+        100000  jim     Jim Bob somebody@example.com
+        100001  johnny  John Smith      n/a
+        100002  mrnoname        n/a     someoneelse@example.com
+```
+
+List members of a non-existent
+group:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-members BadlySpelledGroup
+        Group not found or not visible
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-ls-projects.md b/jekyll-source/pages/gerrit/cmd-ls-projects.md
new file mode 100644
index 0000000..cf50fed
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-ls-projects.md
@@ -0,0 +1,163 @@
+---
+title: " gerrit ls-projects"
+sidebar: gerritdoc_sidebar
+permalink: cmd-ls-projects.html
+---
+## NAME
+
+gerrit ls-projects - List projects visible to caller
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit ls-projects
+>       [--show-branch <BRANCH> …]
+>       [--description | -d]
+>       [--tree | -t]
+>       [--type {code | permissions | all}]
+>       [--format {text | json | json_compact}]
+>       [--all]
+>       [--limit <N>]
+>       [--has-acl-for GROUP]
+
+## DESCRIPTION
+
+Displays the list of project names, one per line, that the calling user
+account has been granted *READ* access to.
+
+If the caller is a member of the privileged *Administrators* group, all
+projects are listed.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \--show-branch; -b  
+    Branch for which the command will display the sha of each project.
+    The command may have multiple --show-branch parameters, in this case
+    sha will be shown for each of the branches. If the user does not
+    have READ access to some branch or the branch does not exist then
+    stub (40 `-` symbols) is shown. If the user does not have access to
+    any branch in the project then the whole project is not shown.
+
+  - \--description; -d  
+    Allows listing of projects together with their respective
+    description.
+    
+    For text format output, all non-printable characters (ASCII value 31
+    or less) are escaped according to the conventions used in languages
+    like C, Python, and Perl, employing standard sequences like `\n` and
+    `\t`, and `\xNN` for all others. In shell scripts, the `printf`
+    command can be used to unescape the output.
+
+  - \--tree; -t  
+    Displays project inheritance in a tree-like format. This option does
+    not work together with the show-branch option.
+
+  - \--type  
+    Display only projects of the specified type. If not specified,
+    defaults to `all`. Supported types:
+    
+      - `code`  
+        Any project likely to contain user files.
+    
+      - `permissions`  
+        Projects created with the `--permissions-only` flag.
+    
+      - `all`  
+        Any type of project.
+
+  - \--format  
+    What output format to display the results in.
+    
+      - `text`  
+        Simple text based format.
+    
+      - `json`  
+        Map of JSON objects describing each project.
+    
+      - `json_compact`  
+        Minimized JSON output.
+
+  - \--all  
+    Display all projects that are accessible by the calling user
+    account. Besides the projects that the calling user account has been
+    granted *READ* access to, this includes all projects that are owned
+    by the calling user account (even if for these projects the *READ*
+    access right is not assigned to the calling user account).
+
+  - \--limit  
+    Cap the number of results to the first N matches.
+
+  - \--has-acl-for  
+    Display only projects on which access rights for this group are
+    directly assigned. Projects which only inherit access rights for
+    this group are not listed.
+    
+    With this option you can find out on which projects a group is used.
+
+## HTTP
+
+This command is also available over HTTP, as `/projects/` for anonymous
+access and `/a/projects/` for authenticated access. Named options are
+available as query parameters. Results can be limited to projects
+matching a prefix by supplying the prefix as part of the URL, for
+example `/projects/external/` lists only projects whose name start with
+the string `external/`.
+
+Over HTTP the `json_compact` output format is assumed if the client
+explicitly asks for JSON using HTTP header `Accept: application/json`.
+When any JSON output format is used on HTTP, readers must skip the first
+line produced. The first line is a garbage JSON string crafted to
+prevent a browser from executing the response in a script tag.
+
+Output will be gzip compressed if `Accept-Encoding: gzip` was used by
+the client in the request headers.
+
+## EXAMPLES
+
+List visible projects:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-projects
+        platform/manifest
+        tools/gerrit
+        tools/gwtorm
+
+        $ curl http://review.example.com/projects/
+        platform/manifest
+        tools/gerrit
+        tools/gwtorm
+
+        $ curl http://review.example.com/projects/tools/
+        tools/gerrit
+        tools/gwtorm
+```
+
+Clone any project visible to the user:
+
+``` 
+        for p in `ssh -p 29418 review.example.com gerrit ls-projects`
+        do
+          mkdir -p `dirname "$p"`
+          git clone --bare "ssh://review.example.com:29418/$p.git" "$p.git"
+        done
+```
+
+## SEE ALSO
+
+  - [Access Controls](access-control.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-ls-user-refs.md b/jekyll-source/pages/gerrit/cmd-ls-user-refs.md
new file mode 100644
index 0000000..f172c17
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-ls-user-refs.md
@@ -0,0 +1,59 @@
+---
+title: " gerrit ls-user-refs"
+sidebar: gerritdoc_sidebar
+permalink: cmd-ls-user-refs.html
+---
+## NAME
+
+gerrit ls-user-refs - List refs visible to a specific user
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit ls-user-refs
+>       [--project PROJECT> | -p <PROJECT>]
+>       [--user <USER> | -u <USER>]
+>       [--only-refs-heads]
+
+## DESCRIPTION
+
+Displays all refs that the specified user can see.
+
+Allows an administrator to query which refs are visible for a user. The
+command is helpful for admins when debugging why a user cannot access
+certain refs and also to help admins verify that certain secret refs are
+not exposed to the wrong groups.
+
+## ACCESS
+
+Administrators
+
+## OPTIONS
+
+  - \--project; -p  
+    Required; Name of the project for which the refs should be listed.
+
+  - \--user; -u  
+    Required; User for which the visible refs should be listed. Gerrit
+    will query the database to find matching users, so the full
+    identity/name does not need to be specified.
+
+  - \--only-refs-heads  
+    Only list the refs found under refs/heads/\*
+
+## EXAMPLES
+
+List visible refs for the user "mr.developer" in project
+"gerrit"
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit ls-user-refs -p gerrit -u mr.developer
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-plugin-enable.md b/jekyll-source/pages/gerrit/cmd-plugin-enable.md
new file mode 100644
index 0000000..154d962
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-plugin-enable.md
@@ -0,0 +1,54 @@
+---
+title: " plugin enable"
+sidebar: gerritdoc_sidebar
+permalink: cmd-plugin-enable.html
+---
+## NAME
+
+plugin enable - Enable plugins.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit plugin enable
+>       <NAME> …
+
+## DESCRIPTION
+
+Enable plugins currently disabled. The plugins will be enabled by
+renaming the plugin jars in the site path’s `plugins` directory from
+`<plugin-jar-name>.disabled` to `<plugin-jar-name>`.
+
+## ACCESS
+
+  - Caller must be a member of the privileged *Administrators*
+    group.
+
+  - [plugins.allowRemoteAdmin](config-gerrit.html#plugins.allowRemoteAdmin)
+    must be enabled in `$site_path/etc/gerrit.config`.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Name of the plugin that should be enabled. Multiple names of plugins
+    that should be enabled may be specified.
+
+## EXAMPLES
+
+Enable a plugin:
+
+``` 
+        ssh -p 29418 localhost gerrit plugin enable my-plugin
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-plugin-install.md b/jekyll-source/pages/gerrit/cmd-plugin-install.md
new file mode 100644
index 0000000..f3133ec
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-plugin-install.md
@@ -0,0 +1,89 @@
+---
+title: " plugin install"
+sidebar: gerritdoc_sidebar
+permalink: cmd-plugin-install.html
+---
+## NAME
+
+plugin install - Install/Add a plugin.
+
+plugin add - Install/Add a plugin.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit plugin install | add
+>       [--name <NAME> | -n <NAME>]
+>       - | <URL> | <PATH>
+
+## DESCRIPTION
+
+Install/Add a plugin. The plugin will be copied into the site path’s
+`plugins` directory.
+
+## ACCESS
+
+  - Caller must be a member of the privileged *Administrators*
+    group.
+
+  - [plugins.allowRemoteAdmin](config-gerrit.html#plugins.allowRemoteAdmin)
+    must be enabled in `$site_path/etc/gerrit.config`.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \-  
+    Plugin jar or js as piped input.
+
+  - \<URL\>  
+    URL from where the plugin should be downloaded. This can be an HTTP
+    or FTP site.
+
+  - \<PATH\>  
+    Absolute file path to the plugin jar or js.
+
+  - \--name; -n  
+    The name under which the plugin should be installed. Note: if the
+    plugin provides its own name in the MANIFEST file, then the plugin
+    name from the MANIFEST file has precedence over this option.
+
+## EXAMPLES
+
+Install a plugin from an absolute file path on the server’s host:
+
+``` 
+        ssh -p 29418 localhost gerrit plugin install -n name.jar \
+          $(pwd)/my-plugin.jar
+```
+
+Install a WebUI plugin from an absolute file path on the server’s host:
+
+``` 
+  ssh -p 29418 localhost gerrit plugin install -n name.js \
+    $(pwd)/my-webui-plugin.js
+```
+
+Install a plugin from an HTTP site:
+
+``` 
+        ssh -p 29418 localhost gerrit plugin install -n name.jar \
+          http://build-server/output/our-plugin
+```
+
+Install a plugin from piped input:
+
+``` 
+        ssh -p 29418 localhost gerrit plugin install -n name.jar \
+          - <target/name-0.1.jar
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-plugin-ls.md b/jekyll-source/pages/gerrit/cmd-plugin-ls.md
new file mode 100644
index 0000000..18b1a12
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-plugin-ls.md
@@ -0,0 +1,59 @@
+---
+title: " plugin ls"
+sidebar: gerritdoc_sidebar
+permalink: cmd-plugin-ls.html
+---
+## NAME
+
+plugin ls - List the installed plugins.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit plugin ls
+>       [--all | -a]
+>       [--format {text | json | json_compact}]
+
+## DESCRIPTION
+
+List the installed plugins and show their version and status.
+
+## ACCESS
+
+  - The caller must be a member of a group that is granted the [View
+    Plugins](access-control.html#capability_viewPlugins) capability or
+    the [Administrate
+    Server](access-control.html#capability_administrateServer)
+    capability.
+
+  - [plugins.allowRemoteAdmin](config-gerrit.html#plugins.allowRemoteAdmin)
+    must be enabled in `$site_path/etc/gerrit.config`.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \--all; -a  
+    List all plugins, including disabled plugins.
+
+  - \--format  
+    What output format to display the results in.
+    
+      - `text`  
+        Simple text based format.
+    
+      - `json`  
+        Map of JSON objects describing each project.
+    
+      - `json_compact`  
+        Minimized JSON output.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-plugin-reload.md b/jekyll-source/pages/gerrit/cmd-plugin-reload.md
new file mode 100644
index 0000000..b186850
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-plugin-reload.md
@@ -0,0 +1,58 @@
+---
+title: " plugin reload"
+sidebar: gerritdoc_sidebar
+permalink: cmd-plugin-reload.html
+---
+## NAME
+
+plugin reload - Reload/Restart plugins.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit plugin reload
+>       <NAME> …
+
+## DESCRIPTION
+
+Reload/Restart plugins.
+
+Whether a plugin is reloaded or restarted is defined by the plugin’s
+[reload method](dev-plugins.html#reload_method).
+
+E.g. a plugin needs to be reloaded if its configuration is modified to
+make the new configuration data become active.
+
+## ACCESS
+
+  - Caller must be a member of the privileged *Administrators*
+    group.
+
+  - [plugins.allowRemoteAdmin](config-gerrit.html#plugins.allowRemoteAdmin)
+    must be enabled in `$site_path/etc/gerrit.config`.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Name of the plugin that should be reloaded. Multiple names of
+    plugins that should be reloaded may be specified.
+
+## EXAMPLES
+
+Reload a plugin:
+
+``` 
+        ssh -p 29418 localhost gerrit plugin reload my-plugin
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-plugin-remove.md b/jekyll-source/pages/gerrit/cmd-plugin-remove.md
new file mode 100644
index 0000000..470fed6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-plugin-remove.md
@@ -0,0 +1,56 @@
+---
+title: " plugin remove"
+sidebar: gerritdoc_sidebar
+permalink: cmd-plugin-remove.html
+---
+## NAME
+
+plugin remove - Disable plugins.
+
+plugin rm - Disable plugins.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit plugin remove | rm
+>       <NAME> …
+
+## DESCRIPTION
+
+Disable plugins. The plugins will be disabled by renaming the plugin
+jars in the site path’s `plugins` directory to
+`<plugin-jar-name>.disabled`.
+
+## ACCESS
+
+  - Caller must be a member of the privileged *Administrators*
+    group.
+
+  - [plugins.allowRemoteAdmin](config-gerrit.html#plugins.allowRemoteAdmin)
+    must be enabled in `$site_path/etc/gerrit.config`.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Name of the plugin that should be disabled. Multiple names of
+    plugins that should be disabled may be specified.
+
+## EXAMPLES
+
+Disable a plugin:
+
+``` 
+        ssh -p 29418 localhost gerrit plugin remove my-plugin
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-query.md b/jekyll-source/pages/gerrit/cmd-query.md
new file mode 100644
index 0000000..f8b134d
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-query.md
@@ -0,0 +1,167 @@
+---
+title: " gerrit query"
+sidebar: gerritdoc_sidebar
+permalink: cmd-query.html
+---
+## NAME
+
+gerrit query - Query the change database
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit query
+>       [--format {TEXT | JSON}]
+>       [--current-patch-set]
+>       [--patch-sets | --all-approvals]
+>       [--files]
+>       [--comments]
+>       [--commit-message]
+>       [--dependencies]
+>       [--submit-records]
+>       [--all-reviewers]
+>       [--start <n> | -S <n>]
+>       [--]
+>       <query>
+>       [limit:<n>]
+
+## DESCRIPTION
+
+Queries the change database and returns results describing changes that
+match the input query. More recently updated changes appear before older
+changes, which is the same order presented in the web interface. For
+each matching change, the result contains data for the change’s latest
+patch set, even if the query matched on an older patch set (for example
+an older patch set’s sha1 revision).
+
+A query may be limited on the number of results it returns with the
+*limit:* operator. If no limit is supplied an internal default limit is
+used to prevent explosion of the result set. To obtain results beyond
+the limit, the *--start* flag can be used to resume the query after
+skipping a certain number of results.
+
+Non-option arguments to this command are joined with spaces and then
+parsed as a query. This simplifies calling conventions over SSH by
+permitting operators to appear in different arguments.
+
+Query operators may quote values using matched curly braces (e.g.
+`reviewerin:{Developer Group}`) to sidestep issues with 2 levels of
+shell quoting (caller shell invoking SSH, and the SSH command line
+parser in the server).
+
+## OPTIONS
+
+  - \--format  
+    Formatting method for the results. `TEXT` is the default, presenting
+    a human readable display. `JSON` returns [change
+    attributes](json.html#change), one line per matching record, with
+    embedded LFs escaped.
+
+  - \--current-patch-set  
+    Include information about the current patch set in the results. Note
+    that the information will only be included when the current patch
+    set is visible to the caller.
+
+  - \--patch-sets  
+    Include information about all patch sets visible to the caller. If
+    combined with the --current-patch-set flag then the current patch
+    set information will be output twice, once in each field.
+
+  - \--all-approvals  
+    Include information about all patch sets visible to the caller along
+    with the approval information for each patch set. If combined with
+    the --current-patch-set flag then the current patch set information
+    will be output twice, once in each field.
+
+  - \--files  
+    Support for listing files with patch sets and their attributes
+    (ADDED, MODIFIED, DELETED, RENAMED, COPIED) and size information
+    (number of insertions and deletions). Note that this option requires
+    either the --current-patch-set or the --patch-sets option in order
+    to give any file information.
+
+  - \--comments  
+    Include comments for all changes. If combined with the --patch-sets
+    flag then all inline/file comments are included for each patch set
+    that is visible to the caller.
+
+  - \--commit-message  
+    Include the full commit message in the change description.
+
+  - \--dependencies  
+    Show information about patch sets which depend on, or are needed by,
+    each patch set.
+
+  - \--all-reviewers  
+    Show the name and email of all reviewers which are added to a change
+    (irrespective of whether they have been voting on that change or
+    not).
+
+  - \--submit-records  
+    Show submit record information about the change, which includes
+    whether the change meets the criteria for submission (including
+    information for each review label).
+
+  - \--start; -S  
+    Number of changes to skip.
+
+  - limit:\<n\>  
+    Maximum number of results to return. This is actually a query
+    operator, and not a command line option. If more than one limit:
+    operator is provided, the smallest limit will be used to cut the
+    result set.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## EXAMPLES
+
+Find the 2 most recent open changes in the tools/gerrit
+project:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit query --format=JSON status:open project:tools/gerrit limit:2
+  {"project":"tools/gerrit", ...}
+  {"project":"tools/gerrit", ...}
+  {"type":"stats","rowCount":2,"runningTimeMilliseconds:15}
+```
+
+Skip number of
+changes:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit query --format=JSON --start 42 status:open project:tools/gerrit limit:2
+  {"project":"tools/gerrit", ...}
+  {"project":"tools/gerrit", ...}
+  {"type":"stats","rowCount":1,"runningTimeMilliseconds:15}
+```
+
+## SCHEMA
+
+The JSON messages consist of nested objects referencing the
+[change](json.html#change), [patchset](json.html#patchSet),
+[account](json.html#) involved, and other attributes as appropriate.
+
+Note that any field may be missing in the JSON messages, so consumers of
+this JSON stream should deal with that appropriately.
+
+## SEE ALSO
+
+  - [Query Operators](user-search.html)
+
+  - [JSON Data Formats](json.html)
+
+  - [Access Controls](access-control.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-receive-pack.md b/jekyll-source/pages/gerrit/cmd-receive-pack.md
new file mode 100644
index 0000000..2d50904
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-receive-pack.md
@@ -0,0 +1,100 @@
+---
+title: " git-receive-pack"
+sidebar: gerritdoc_sidebar
+permalink: cmd-receive-pack.html
+---
+## NAME
+
+git-receive-pack - Receive what is pushed into the repository
+
+## SYNOPSIS
+
+> 
+> 
+>     git receive-pack
+>       [--reviewer <address> | --re <address>]
+>       [--cc <address>]
+>       <project>
+
+## DESCRIPTION
+
+Invoked by *git push* and updates the project’s repository with the
+information fed from the *git push* end.
+
+End users can supply options to this command by passing them through to
+*git push*, which will relay them automatically.
+
+## OPTIONS
+
+  - \<project\>  
+    The remote repository that will receive the pushed objects, and
+    create (or update) changes. Within Gerrit Code Review this is the
+    name of a project. The optional leading `/` and or trailing `.git`
+    suffix will be removed, if supplied.
+
+  - \--reviewer \<address\>; --re \<address\>  
+    Automatically add \<address\> as a reviewer to any change.
+    Deprecated, use `refs/for/branch%r=address` instead.
+
+  - \--cc \<address\>  
+    Carbon-copy \<address\> on the created or updated changes.
+    Deprecated, use `refs/for/branch%cc=address` instead.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## EXAMPLES
+
+Send a review for a change on the master branch to
+<charlie@example.com>:
+
+``` 
+        git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com
+```
+
+Send reviews, but tagging them with the topic name
+*bug42*:
+
+``` 
+        git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,topic=bug42
+```
+
+Also CC two other
+parties:
+
+``` 
+        git push ssh://review.example.com:29418/project HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
+```
+
+Configure a push macro to perform the last
+action:
+
+``` 
+        git config remote.charlie.url ssh://review.example.com:29418/project
+        git config remote.charlie.push HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
+```
+
+afterwards `.git/config` contains the following:
+
+    [remote "charlie"]
+      url = ssh://review.example.com:29418/project
+      push = HEAD:refs/for/master%r=charlie@example.com,cc=alice@example.com,cc=bob@example.com
+
+and now sending a new change for review to charlie, CC’ing both alice
+and bob is much easier:
+
+``` 
+        git push charlie
+```
+
+## SEE ALSO
+
+  - [Uploading Changes](user-upload.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-rename-group.md b/jekyll-source/pages/gerrit/cmd-rename-group.md
new file mode 100644
index 0000000..67c9b6f
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-rename-group.md
@@ -0,0 +1,53 @@
+---
+title: " gerrit rename-group"
+sidebar: gerritdoc_sidebar
+permalink: cmd-rename-group.html
+---
+## NAME
+
+gerrit rename-group - Rename an account group.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit rename-group
+>       <GROUP>
+>       <NEWNAME>
+
+## DESCRIPTION
+
+Renames an account group.
+
+## ACCESS
+
+Caller must be a member of the group owning the group to be renamed or
+be a member of the privileged *Administrators* group.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<GROUP\>  
+    Required; name of the group to be renamed.
+
+  - \<NEWNAME\>  
+    Required; new name of the group.
+
+## EXAMPLES
+
+Rename the group "MyGroup" to
+"MyCommitters".
+
+``` 
+        $ ssh -p 29418 user@review.example.com gerrit rename-group MyGroup MyCommitters
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-review.md b/jekyll-source/pages/gerrit/cmd-review.md
new file mode 100644
index 0000000..a3ae4b6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-review.md
@@ -0,0 +1,199 @@
+---
+title: " gerrit review"
+sidebar: gerritdoc_sidebar
+permalink: cmd-review.html
+---
+## NAME
+
+gerrit review - Apply reviews to one or more patch sets
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit review
+>       [--project <PROJECT> | -p <PROJECT>]
+>       [--branch <BRANCH> | -b <BRANCH>]
+>       [--message <MESSAGE> | -m <MESSAGE>]
+>       [--notify <NOTIFYHANDLING> | -n <NOTIFYHANDLING>]
+>       [--submit | -s]
+>       [--abandon | --restore]
+>       [--rebase]
+>       [--move <BRANCH>]
+>       [--publish]
+>       [--json | -j]
+>       [--delete]
+>       [--verified <N>] [--code-review <N>]
+>       [--label Label-Name=<N>]
+>       [--tag TAG]
+>       {COMMIT | CHANGEID,PATCHSET}…
+
+## DESCRIPTION
+
+Updates the current user’s approval status of the specified patch sets
+and/or submits them for merging, sending out email notifications and
+updating the database.
+
+Patch sets may be specified in *CHANGEID,PATCHSET* format, such as
+*8242,2*, or *COMMIT* format.
+
+If a patch set is specified with the *COMMIT* format, the complete or
+abbreviated commit SHA-1 may be used. If the same commit is available in
+multiple projects the `--project` option may be used to limit where
+Gerrit searches for the change to only the contents of the specified
+project. If the same commit is available in multiple branches the
+`--branch` option may be used to limit where Gerrit searches for changes
+to only the specified branch.
+
+## OPTIONS
+
+  - \--project; -p  
+    Name of the project the intended changes are contained within. This
+    option must be supplied before the commit SHA-1 in order to take
+    effect.
+
+  - \--branch; -b  
+    Name of the branch the intended changes are contained within. This
+    option must be supplied before the commit SHA-1 in order to take
+    effect.
+
+  - \--message; -m  
+    Optional cover letter to include as part of the message sent to
+    reviewers when the approval states are updated. (option is mutually
+    exclusive with --json)
+
+  - \--json; -j  
+    Read review input json from stdin. See
+    [ReviewInput](rest-api-changes.html#review-input) entity for the
+    format. (option is mutually exclusive with --submit, --restore,
+    --publish, --delete, --abandon, --message, --rebase and --move)
+
+  - \--notify; -n  
+    Who to send email notifications to after the review is stored. This
+    option only applies for storing the review, but not for any other
+    action (abandon, restore etc.) done by this command.
+    
+      - NONE: send no email
+    
+      - OWNER: send email to change owners
+    
+      - OWNER\_REVIEWERS: send email to change owners and reviewers
+    
+      - ALL: send email to all (change owners, reviewers, watchers and
+        any user who has starred the change)
+
+  - \--help; -h  
+    Display site-specific usage information, including the complete
+    listing of supported approval categories and values.
+
+  - \--abandon  
+    Abandon the specified change(s). (option is mutually exclusive with
+    --submit, --restore, --publish, --delete, --rebase, --move and
+    --json)
+
+  - \--restore  
+    Restore the specified abandoned change(s). (option is mutually
+    exclusive with --abandon and --json)
+
+  - \--rebase  
+    Rebase the specified change(s). (option is mutually exclusive with
+    --abandon, --submit, --delete and --json)
+
+  - \--move  
+    Move the specified change(s). (option is mutually exclusive with
+    --json and --abandon)
+
+  - \--submit; -s  
+    Submit the specified patch set(s) for merging. (option is mutually
+    exclusive with --abandon, --publish --delete, --rebase and --json)
+
+  - \--code-review; --verified  
+    Set the label to the value *N*. The exact option names supported and
+    the range of values permitted differs per site, check the output of
+    --help, or contact your site administrator for further details.
+    These options are only available for the labels that are defined in
+    the *All-Projects* root project and that are valid for all projects;
+    for other labels, see --label. Votes that are not permitted for the
+    user are silently ignored.
+
+  - \--label  
+    Set a label by name to the value *N*. Invalid votes (invalid label
+    or invalid value) and votes that are not permitted for the user are
+    silently ignored.
+
+  - \--strict-labels  
+    Require ability to vote on all specified labels before reviewing
+    change. If the vote is invalid (invalid label or invalid name), the
+    vote is not permitted for the user, or the vote is on an outdated or
+    closed patch set, return an error instead of silently discarding the
+    vote.
+
+  - \--tag; -t  
+    Apply a *TAG* to the change message, votes, and inline comments. The
+    *TAG* can represent an external system like CI that does automated
+    verification of the change. Comments with specific *TAG* values can
+    be filtered out in the web UI. Note that to apply different tags on
+    on different votes/comments, multiple invocations of the SSH command
+    are required.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## EXAMPLES
+
+Approve the change with commit c0ff33 as "Verified
++1"
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit review --verified +1 c0ff33
+```
+
+Vote on the project specific label
+"mylabel":
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit review --label mylabel=+1 c0ff33
+```
+
+Append the message "Build Successful". Notice two levels of quoting is
+required, one for the local shell, and another for the argument parser
+inside the Gerrit
+server:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit review -m '"Build Successful"' c0ff33
+```
+
+Mark the unmerged commits both "Verified +1" and "Code-Review +2" and
+submit them for merging:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit review \
+    --verified +1 \
+    --code-review +2 \
+    --submit \
+    --project this/project \
+    $(git rev-list origin/master..HEAD)
+```
+
+Abandon an active change:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit review --abandon c0ff33
+```
+
+## SEE ALSO
+
+  - [Access Controls](access-control.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-set-account.md b/jekyll-source/pages/gerrit/cmd-set-account.md
new file mode 100644
index 0000000..cbda7d3
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-set-account.md
@@ -0,0 +1,119 @@
+---
+title: " gerrit set-account"
+sidebar: gerritdoc_sidebar
+permalink: cmd-set-account.html
+---
+## NAME
+
+gerrit set-account - Change an account’s settings.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit set-account
+>       [--full-name <FULLNAME>] [--active|--inactive]
+>       [--add-email <EMAIL>] [--delete-email <EMAIL> | ALL]
+>       [--preferred-email <EMAIL>]
+>       [--add-ssh-key - | <KEY>]
+>       [--delete-ssh-key - | <KEY> | ALL]
+>       [--http-password <PASSWORD>]
+>       [--clear-http-password] <USER>
+
+## DESCRIPTION
+
+Modifies a given user’s settings. This command can be useful to
+deactivate an account, set HTTP password, add/delete ssh keys without
+going through the UI.
+
+It also allows managing email addresses, which bypasses the verification
+step we force within the UI.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *Modify Account* global
+capability](access-control.html#capability_modifyAccount). For security
+reasons only the members of the privileged *Administrators* group can
+add or delete SSH keys for a user.
+
+To set the HTTP password for the user account (option --http-password)
+or to clear the HTTP password (option --clear-http-password) caller must
+be a member of the privileged *Administrators* group.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<USER\>  
+    Required; Full name, email-address, SSH username or account id.
+
+  - \--full-name  
+    Set the display name for the user account.
+    
+    Names containing spaces should be quoted in single quotes ('). This
+    most likely requires double quoting the value, for example
+    `--full-name "'A description string'"`.
+
+  - \--active  
+    Set the account state to be active.
+
+  - \--inactive  
+    Set the account state to be inactive. This prevents the user from
+    logging in.
+
+  - \--add-email  
+    Add another email to the user’s account. This doesn’t trigger the
+    mail validation and adds the email directly to the user’s account.
+    May be supplied more than once to add multiple emails to an account
+    in a single command execution.
+
+  - \--delete-email  
+    Delete an email from this user’s account if it exists. If the email
+    provided is *ALL*, all associated emails are deleted from this
+    account. May be supplied more than once to remove multiple emails
+    from an account in a single command execution.
+
+  - \--preferred-email  
+    Sets the preferred email address for the user’s account. The email
+    address must already have been registered with the user’s account
+    before it can be set. May be supplied with the delete-email option
+    as long as the emails are not the same.
+
+  - \--add-ssh-key  
+    Content of the public SSH key to add to the account’s keyring. If
+    `-` the key is read from stdin, rather than from the command line.
+    May be supplied more than once to add multiple SSH keys in a single
+    command execution.
+
+  - \--delete-ssh-key  
+    Content of the public SSH key to remove from the account’s keyring
+    or the comment associated with this key. If `-` the key is read from
+    stdin, rather than from the command line. If the key provided is
+    *ALL*, all associated SSH keys are removed from this account. May be
+    supplied more than once to delete multiple SSH keys in a single
+    command execution.
+
+  - \--http-password  
+    Set the HTTP password for the user account.
+
+  - \--clear-http-password  
+    Clear the HTTP password for the user account.
+
+## EXAMPLES
+
+Add an email and SSH key to `watcher`'s
+account:
+
+``` 
+    $ cat ~/.ssh/id_watcher.pub | ssh -p 29418 review.example.com gerrit set-account --add-ssh-key - --add-email mail@example.com watcher
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-set-head.md b/jekyll-source/pages/gerrit/cmd-set-head.md
new file mode 100644
index 0000000..443b599
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-set-head.md
@@ -0,0 +1,56 @@
+---
+title: " gerrit set-head"
+sidebar: gerritdoc_sidebar
+permalink: cmd-set-head.html
+---
+## NAME
+
+gerrit set-head - Change a project’s HEAD.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit set-head <NAME>
+>       --new-head <REF>
+
+## DESCRIPTION
+
+Modifies a given project’s HEAD reference.
+
+The command is argument-safe, that is, if no argument is given the
+previous settings are kept intact.
+
+## ACCESS
+
+Caller must be an owner of the given project.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Required; name of the project to change the HEAD. If name ends with
+    `.git` the suffix will be automatically removed.
+
+  - \--new-head  
+    Required; name of the ref that should be set as new HEAD. The
+    *refs/heads/* prefix can be omitted.
+
+## EXAMPLES
+
+Change HEAD of project `example` to `stable-2.11`
+branch:
+
+``` 
+    $ ssh -p 29418 review.example.com gerrit set-head example --new-head stable-2.11
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-set-members.md b/jekyll-source/pages/gerrit/cmd-set-members.md
new file mode 100644
index 0000000..a5db5e8
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-set-members.md
@@ -0,0 +1,84 @@
+---
+title: " gerrit set-members"
+sidebar: gerritdoc_sidebar
+permalink: cmd-set-members.html
+---
+## NAME
+
+gerrit set-members - Set group members
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit set-members
+>       [--add USER …]
+>       [--remove USER …]
+>       [--include GROUP …]
+>       [--exclude GROUP …]
+>       [--]
+>       <GROUP> …
+
+## DESCRIPTION
+
+Set the group members for the specified groups.
+
+## OPTIONS
+
+  - \<GROUP\>  
+    Required; name of the group for which the members should be set. The
+    members for multiple groups can be set at once by specifying
+    multiple groups.
+
+  - \--add; -a  
+    A user that should be added to the specified groups. Multiple users
+    can be added at once by using this option multiple times.
+
+  - \--remove; -r  
+    Remove this user from the specified groups. Multiple users can be
+    removed at once by using this option multiple times.
+
+  - \--include; -i  
+    A group that should be included to the specified groups. Multiple
+    groups can be included at once by using this option multiple times.
+
+  - \--exclude; -e  
+    Exclude this group from the specified groups. Multiple groups can be
+    excluded at once by using this option multiple times.
+
+The `set-members` command is processing the options in the following
+order: `--remove`, `--exclude`, `--add`, `--include`
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## EXAMPLES
+
+Add alice and bob, but remove eve from the groups my-committers and
+my-verifiers.
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-members \
+          -a alice@example.com -a bob@example.com \
+          -r eve@example.com my-committers my-verifiers
+```
+
+Include the group my-friends into the group my-committers, but exclude
+the included group my-testers from the group my-committers.
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-members \
+          -i my-friends -e my-testers my-committers
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-set-project-parent.md b/jekyll-source/pages/gerrit/cmd-set-project-parent.md
new file mode 100644
index 0000000..2824d2e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-set-project-parent.md
@@ -0,0 +1,80 @@
+---
+title: " gerrit set-project-parent"
+sidebar: gerritdoc_sidebar
+permalink: cmd-set-project-parent.html
+---
+## NAME
+
+gerrit set-project-parent - Change the project permissions are inherited
+from.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit set-project-parent
+>       [--parent <NAME>]
+>       [--children-of <NAME>]
+>       [--exclude <NAME>]
+>       <NAME> …
+
+## DESCRIPTION
+
+Changes the project that permissions are inherited through. Every
+project inherits permissions from another project, by default this is
+`All-Projects`. This command sets the project to inherit through another
+one.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \--parent  
+    Name of the parent to inherit through. If not specified, the parent
+    is set back to the default `All-Projects`.
+
+  - \--children-of  
+    Name of the parent project for which all child projects should be
+    reparented. If the new parent project or any project in its parent
+    line is a child of this parent project it is automatically excluded
+    from reparenting.
+
+  - \--exclude  
+    Name of a child project that should not be reparented. This option
+    can only be used if the option --children-of is set. Multiple child
+    projects can be excluded from reparenting by specifying the
+    --exclude option multiple times. Excluding a project that is not a
+    child project has no effect.
+
+## EXAMPLES
+
+Configure `kernel/omap` to inherit permissions from
+`kernel/common`:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-project-parent --parent kernel/common kernel/omap
+```
+
+Reparent all children of `myParent` to `myOtherParent`:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-project-parent \
+          --children-of myParent --parent myOtherParent
+```
+
+## SEE ALSO
+
+  - [Access Controls](access-control.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-set-project.md b/jekyll-source/pages/gerrit/cmd-set-project.md
new file mode 100644
index 0000000..8e03f17
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-set-project.md
@@ -0,0 +1,128 @@
+---
+title: " gerrit set-project"
+sidebar: gerritdoc_sidebar
+permalink: cmd-set-project.html
+---
+## NAME
+
+gerrit set-project - Change a project’s settings.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit set-project
+>       [--description <DESC> | -d <DESC>]
+>       [--submit-type <TYPE> | -t <TYPE>]
+>       [--contributor-agreements <true|false|inherit>]
+>       [--signed-off-by <true|false|inherit>]
+>       [--content-merge <true|false|inherit>]
+>       [--change-id <true|false|inherit>]
+>       [--project-state <STATE> | --ps <STATE>]
+>       [--max-object-size-limit <N>]
+>       <NAME>
+
+## DESCRIPTION
+
+Modifies a given project’s settings. This command can be useful to batch
+change projects.
+
+The command is argument-safe, that is, if no argument is given the
+previous settings are kept intact.
+
+## ACCESS
+
+Caller must be an owner of the given project.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \<NAME\>  
+    Required; name of the project to edit. If name ends with `.git` the
+    suffix will be automatically removed.
+
+  - \--description; -d  
+    New description of the project. If not specified, the old
+    description is kept.
+    
+    Description values containing spaces should be quoted in single
+    quotes ('). This most likely requires double quoting the value, for
+    example `--description "'A description string'"`.
+
+  - \--submit-type; -t  
+    Action used by Gerrit to submit an approved change to its
+    destination branch. Supported options are:
+    
+      - FAST\_FORWARD\_ONLY: produces a strictly linear history.
+    
+      - MERGE\_IF\_NECESSARY: create a merge commit when required.
+    
+      - REBASE\_IF\_NECESSARY: rebase the commit when required.
+    
+      - REBASE\_ALWAYS: always rebase the commit including dependencies.
+    
+      - MERGE\_ALWAYS: always create a merge commit.
+    
+      - CHERRY\_PICK: always cherry-pick the commit.
+    
+    For more details see [Submit
+    Types](project-configuration.html#submit_type).
+
+  - \--content-merge  
+    If enabled, Gerrit will try to perform a 3-way merge of text file
+    content when a file has been modified by both the destination branch
+    and the change being submitted. This option only takes effect if
+    submit type is not FAST\_FORWARD\_ONLY.
+
+  - \--contributor-agreements  
+    If enabled, authors must complete a contributor agreement on the
+    site before pushing any commits or changes to this project.
+
+  - \--signed-off-by  
+    If enabled, each change must contain a Signed-off-by line from
+    either the author or the uploader in the commit message.
+
+  - \--change-id  
+    Require a valid [Change-Id](user-changeid.html) footer in any commit
+    uploaded for review. This does not apply to commits pushed directly
+    to a branch or tag.
+
+  - \--project-state; --ps  
+    Set project’s visibility.
+    
+      - ACTIVE: project is regular and is the default value.
+    
+      - READ\_ONLY: users can see the project if read permission is
+        granted, but all modification operations are disabled.
+    
+      - HIDDEN: the project is not visible for those who are not owners
+
+  - \--max-object-size-limit  
+    Define maximum Git object size for this project. Pushes containing
+    an object larger than this limit will be rejected. This can be used
+    to further limit the global
+    [receive.maxObjectSizeLimit](config-gerrit.html#receive.maxObjectSizeLimit)
+    and cannot be used to increase that globally set limit.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+## EXAMPLES
+
+Change project `example` to be hidden, require change id, don’t use
+content merge and use *merge if necessary* as merge
+strategy:
+
+``` 
+    $ ssh -p 29418 review.example.com gerrit set-project example --submit-type MERGE_IF_NECESSARY\
+    --change-id true --content-merge false --project-state HIDDEN
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-set-reviewers.md b/jekyll-source/pages/gerrit/cmd-set-reviewers.md
new file mode 100644
index 0000000..007dc55
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-set-reviewers.md
@@ -0,0 +1,90 @@
+---
+title: " gerrit set-reviewers"
+sidebar: gerritdoc_sidebar
+permalink: cmd-set-reviewers.html
+---
+## NAME
+
+gerrit set-reviewers - Add or remove reviewers to a change
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit set-reviewers
+>       [--project <PROJECT> | -p <PROJECT>]
+>       [--add <REVIEWER> … | -a <REVIEWER> …]
+>       [--remove <REVIEWER> … | -r <REVIEWER> …]
+>       [--]
+
+## DESCRIPTION
+
+Adds or removes reviewers to the specified change, sending email
+notifications when changes are made.
+
+Changes can be specified in the [same
+format](rest-api-changes.html#change-id) supported by the REST API.
+
+## OPTIONS
+
+  - \--project; -p  
+    Name of the project the intended change is contained within. This
+    option must be supplied before Change-Id in order to take effect.
+
+  - \--add; -a  
+    A user that should be added as reviewer to the change or a group for
+    which all members should be added as reviewers to the change.
+    Multiple users and groups can be added at once as reviewers by using
+    this option multiple times.
+
+  - \--remove; -r  
+    Remove this user from the reviewer list of the change. Multiple
+    users can be removed at once from the reviewer list by using this
+    option multiple times.
+
+  - \--help; -h  
+    Display site-specific usage information
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## EXAMPLES
+
+Add reviewers alice and bob, but remove eve from change Iac6b2ac2.
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-reviewers \
+          -a alice@example.com -a bob@example.com \
+          -r eve@example.com \
+          Iac6b2ac2
+```
+
+Add reviewer elvis to old-style change id 1935 specifying that the
+change is in project "graceland"
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-reviewers \
+          --project graceland \
+          -a elvis@example.com \
+          1935
+```
+
+Add all project owners as reviewers to change Iac6b2ac2.
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit set-reviewers \
+          -a "'Project Owners'" \
+          Iac6b2ac2
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-show-caches.md b/jekyll-source/pages/gerrit/cmd-show-caches.md
new file mode 100644
index 0000000..16f2212
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-show-caches.md
@@ -0,0 +1,115 @@
+---
+title: " gerrit show-caches"
+sidebar: gerritdoc_sidebar
+permalink: cmd-show-caches.html
+---
+## NAME
+
+gerrit show-caches - Display current cache statistics
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit show-caches
+>       [--gc]
+>       [--show-jvm]
+
+## DESCRIPTION
+
+Display statistics about the size and hit ratio of in-memory caches.
+
+## OPTIONS
+
+  - \--gc  
+    Request Java garbage collection before displaying information about
+    the Java memory heap.
+
+  - \--show-jvm  
+    List the name and version of the Java virtual machine, host
+    operating system, and other details about the environment that
+    Gerrit Code Review is running in.
+
+  - \--show-threads  
+    Show detailed counts for Gerrit specific threads.
+
+  - \--width; -w  
+    Width of the output table.
+
+## ACCESS
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [View Caches](access-control.html#capability_viewCaches)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+The summary information about SSH, threads, tasks, memory and JVM are
+only printed out if the caller is a member of a group that is granted
+the [Administrate
+Server](access-control.html#capability_administrateServer) or [Maintain
+Server](access-control.html#capability_maintainServer) capability.
+
+## SCRIPTING
+
+Intended for interactive use only.
+
+## EXAMPLES
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit show-caches
+  Gerrit Code Review        2.9                       now   11:14:13   CEST
+                                                   uptime    6 days 20 hrs
+    Name                          |Entries              |  AvgGet |Hit Ratio|
+                                  |   Mem   Disk   Space|         |Mem  Disk|
+  --------------------------------+---------------------+---------+---------+
+    accounts                      |  4096               |   3.4ms | 99%     |
+    adv_bases                     |                     |         |         |
+    changes                       |                     |  27.1ms |  0%     |
+    groups                        |  5646               |  11.8ms | 97%     |
+    groups_byinclude              |   230               |   2.4ms | 62%     |
+    groups_byname                 |                     |         |         |
+    groups_byuuid                 |  5612               |  29.2ms | 99%     |
+    groups_external               |     1               |   1.5s  | 98%     |
+    groups_members                |  5714               |  19.7ms | 99%     |
+    ldap_group_existence          |                     |         |         |
+    ldap_groups                   |   650               | 680.5ms | 99%     |
+    ldap_groups_byinclude         |  1024               |         | 83%     |
+    ldap_usernames                |   390               |   3.8ms | 81%     |
+    permission_sort               | 16384               |         | 99%     |
+    plugin_resources              |                     |         |         |
+    project_list                  |     1               |   3.8s  | 99%     |
+    projects                      |  6477               |   2.9ms | 99%     |
+    sshkeys                       |  2048               |  12.5ms | 99%     |
+  D diff                          |  1299  62033 132.36m|  22.0ms | 85%  99%|
+  D diff_intraline                | 12777 218651 128.45m| 171.1ms | 31%  96%|
+  D git_tags                      |     3      6  11.85k|         |  0% 100%|
+  D web_sessions                  |  1024 151714  59.10m|         | 99%  57%|
+
+  SSH:    385  users, oldest session started    6 days 20 hrs ago
+  Tasks:   10  total =    6 running +      0 ready +    4 sleeping
+  Mem:  14.94g total =   3.04g used +  11.89g free +  10.00m buffers
+        28.44g max
+           107 open files
+
+  Threads: 4 CPUs available, 371 threads
+```
+
+## SEE ALSO
+
+  - [gerrit flush-caches](cmd-flush-caches.html)
+
+  - [Cache Configuration](config-gerrit.html#cache)
+
+  - [Standard Caches](config-gerrit.html#cache_names)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-show-connections.md b/jekyll-source/pages/gerrit/cmd-show-connections.md
new file mode 100644
index 0000000..faa895d
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-show-connections.md
@@ -0,0 +1,94 @@
+---
+title: " gerrit show-connections"
+sidebar: gerritdoc_sidebar
+permalink: cmd-show-connections.html
+---
+## NAME
+
+gerrit show-connections - Display active client SSH connections
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit show-connections
+>       [--numeric | -n]
+
+## DESCRIPTION
+
+Presents a table of the active SSH connections, the users who are
+currently connected to the internal server and performing an activity.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *View Connections* global
+capability](access-control.html#capability_viewConnections).
+
+## SCRIPTING
+
+Intended for interactive use only.
+
+## OPTIONS
+
+  - \--numeric; -n  
+    Show client hostnames as IP addresses instead of DNS hostname.
+
+  - \--wide; -w  
+    Do not format the output to the terminal width (default of 80
+    columns).
+
+## DISPLAY
+
+  - Session  
+    Unique session identifier on this server. Session identifiers have a
+    period of 2^32-1 and start from a random value.
+
+  - Start  
+    Time (local to the server) that this connection started. Only shown
+    for MINA backend.
+
+  - Idle  
+    Time since the last data transfer on this connection. Note that most
+    SSH clients use not only a TCP based connection keep-alive, but also
+    an encrypted keep alive higher up in the SSH protocol stack. That
+    higher keep alive resets the idle timer, about once a minute. Only
+    shown for MINA backend.
+
+  - User  
+    The username of the account that is authenticated on this
+    connection. If the -n option is used, this column shows the Account
+    Id instead.
+
+  - Remote Host  
+    Reverse lookup hostname, or if -n option is used, the remote IP
+    address.
+
+## EXAMPLES
+
+With reverse DNS lookup (default):
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit show-connections
+        Session     Start     Idle   User            Remote Host
+        --------------------------------------------------------------
+        3abf31e6 20:09:02 00:00:00  jdoe            jdoe-desktop.example.com
+        --
+```
+
+Without reverse DNS lookup:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit show-connections -n
+        Session     Start     Idle   User            Remote Host
+        --------------------------------------------------------------
+        3abf31e6 20:09:02 00:00:00  a/1001240       10.0.0.1
+        --
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-show-queue.md b/jekyll-source/pages/gerrit/cmd-show-queue.md
new file mode 100644
index 0000000..a42bd52
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-show-queue.md
@@ -0,0 +1,98 @@
+---
+title: " gerrit show-queue"
+sidebar: gerritdoc_sidebar
+permalink: cmd-show-queue.html
+---
+## NAME
+
+gerrit show-queue - Display the background work queues, including
+replication and indexing
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit show-queue
+>     ssh -p <port> <host> ps
+
+## DESCRIPTION
+
+Presents a table of the pending activity the Gerrit daemon is currently
+performing, or will perform in the near future. Gerrit contains an
+internal scheduler, similar to cron, that it uses to queue and dispatch
+both short and long term activity.
+
+Tasks that are completed or canceled exit the queue very quickly once
+they enter this state, but it can be possible to observe tasks in these
+states.
+
+## ACCESS
+
+End-users may see a task in the queue only if they can also see the
+project the task is associated with. Tasks operating on other projects,
+or that do not have a specific project are hidden.
+
+Members of the group *Administrators*, or any group that has been
+granted [the *View Queue*
+capability](access-control.html#capability_viewQueue) can see all queue
+entries.
+
+## SCRIPTING
+
+Intended for interactive use only.
+
+## OPTIONS
+
+  - \--wide; -w  
+    Do not format the output to the terminal width (default of 80
+    columns).
+
+  - \--by-queue; -q  
+    Group tasks by queue and print queue info.
+
+## DISPLAY
+
+  - Task  
+    Unique task identifier on this server. May be passed into
+    [kill](cmd-kill.html) to cancel or terminate the task. Task
+    identifiers have a period of 2^32-1, and start from a random value.
+
+  - State  
+    If running, blank.
+    
+    If the task has completed, but has not yet been reaped, *done*. If
+    the task has been killed, but has not yet halted or been removed
+    from the queue, *killed*.
+    
+    If the task is ready to execute but is waiting for an idle thread in
+    its associated thread pool, *waiting*.
+    
+    Otherwise the time (local to the server) that this task will begin
+    execution.
+
+  - Command  
+    Short text description of the task that will be performed at the
+    given time.
+
+## EXAMPLES
+
+The following queue contains two tasks scheduled to replicate the
+`tools/gerrit.git` project to two different remote systems, `dst1` and
+`dst2`:
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit show-queue
+        Task     State                 Command
+        ------------------------------------------------------------------------------
+        7aae09b2 14:31:15.435          mirror dst1:/home/git/tools/gerrit.git
+        9ad09d27 14:31:25.434          mirror dst2:/var/cache/tools/gerrit.git
+        ------------------------------------------------------------------------------
+          2 tasks
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-stream-events.md b/jekyll-source/pages/gerrit/cmd-stream-events.md
new file mode 100644
index 0000000..45fa2e3
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-stream-events.md
@@ -0,0 +1,363 @@
+---
+title: " gerrit stream-events"
+sidebar: gerritdoc_sidebar
+permalink: cmd-stream-events.html
+---
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit stream-events
+
+## DESCRIPTION
+
+Provides a portal into the major events occurring on the server,
+outputting activity data in real-time to the client. Events are filtered
+by the caller’s access permissions, ensuring the caller only receives
+events for changes they can view on the web, or in the project
+repository.
+
+Event output is in JSON, one event per line.
+
+## ACCESS
+
+Caller must be a member of the privileged *Administrators* group, or
+have been granted [the *Stream Events* global
+capability](access-control.html#capability_streamEvents).
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## OPTIONS
+
+  - \--subscribe|-s  
+    Type of the event to subscribe to. Multiple --subscribe options may
+    be specified to subscribe to multiple events. When this option is
+    provided, only subscribed events are emitted and all other events
+    are ignored. When this option is omitted, all events are emitted.
+
+## EXAMPLES
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit stream-events
+  {"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
+  {"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
+```
+
+Only subscribe to specific event types:
+
+``` 
+  $ ssh -p 29418 review.example.com gerrit stream-events \
+      -s patchset-created -s ref-replicated
+```
+
+## SCHEMA
+
+The JSON messages consist of nested objects referencing the **change**,
+**patchSet**, **account** involved, and other attributes as appropriate.
+
+Note that any field may be missing in the JSON messages, so consumers of
+this JSON stream should deal with that appropriately.
+
+## EVENTS
+
+### Assignee Changed
+
+Sent when the assignee of a change has been modified.
+
+  - type  
+    "assignee-changed"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - changer  
+    [account attribute](json.html#account)
+
+  - oldAssignee  
+    Assignee before it was changed.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Change Abandoned
+
+Sent when a change has been abandoned.
+
+  - type  
+    "change-abandoned"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - abandoner  
+    [account attribute](json.html#account)
+
+  - reason  
+    Reason for abandoning the change.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Change Merged
+
+Sent when a change has been merged into the git repository.
+
+  - type  
+    "change-merged"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - submitter  
+    [account attribute](json.html#account)
+
+  - newRev  
+    The resulting revision of the merge.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Change Restored
+
+Sent when an abandoned change has been restored.
+
+  - type  
+    "change-restored"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - restorer  
+    [account attribute](json.html#account)
+
+  - reason  
+    Reason for restoring the change.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Comment Added
+
+Sent when a review comment has been posted on a change.
+
+  - type  
+    "comment-added"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - author  
+    [account attribute](json.html#account)
+
+  - approvals  
+    All [approval attributes](json.html#approval) granted.
+
+  - comment  
+    Review comment cover message.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Dropped Output
+
+Sent to notify a client that events have been dropped.
+
+  - type  
+    "dropped-output"
+
+### Hashtags Changed
+
+Sent when the hashtags have been added to or removed from a change.
+
+  - type  
+    "hashtags-changed"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - editor  
+    [account attribute](json.html#account)
+
+  - added  
+    List of hashtags added to the change
+
+  - removed  
+    List of hashtags removed from the change
+
+  - hashtags  
+    List of hashtags on the change after tags were added or removed
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Project Created
+
+Sent when a new project has been created.
+
+  - type  
+    "project-created"
+
+  - projectName  
+    The created project name
+
+  - projectHead  
+    The created project head name
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Patchset Created
+
+Sent when a new change has been uploaded, or a new patch set has been
+uploaded to an existing change.
+
+  - type  
+    "patchset-created"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - uploader  
+    [account attribute](json.html#account)
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Ref Updated
+
+Sent when a reference is updated in a git repository.
+
+  - type  
+    "ref-updated"
+
+  - submitter  
+    [account attribute](json.html#account)
+
+  - refUpdate  
+    [refUpdate attribute](json.html#refUpdate)
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Reviewer Added
+
+Sent when a reviewer is added to a change.
+
+  - type  
+    "reviewer-added"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - reviewer  
+    [account attribute](json.html#account)
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Reviewer Deleted
+
+Sent when a reviewer (with a vote) is removed from a change.
+
+  - type  
+    "reviewer-deleted"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - reviewer  
+    reviewer that was removed as [account attribute](json.html#account)
+
+  - remover  
+    user that removed the reviewer as [account
+    attribute](json.html#account)
+
+  - approvals  
+    All [approval attributes](json.html#approval) removed.
+
+  - comment  
+    Review comment cover message.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Topic Changed
+
+Sent when the topic of a change has been changed.
+
+  - type  
+    "topic-changed"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - changer  
+    [account attribute](json.html#account)
+
+  - oldTopic  
+    Topic name before it was changed.
+
+  - eventCreatedOn  
+    Time in seconds since the UNIX epoch when this event was created.
+
+### Vote Deleted
+
+Sent when a vote was removed from a change.
+
+  - type  
+    "vote-deleted"
+
+  - change  
+    [change attribute](json.html#change)
+
+  - patchSet  
+    [patchSet attribute](json.html#patchSet)
+
+  - reviewer  
+    user whose vote was removed as [account
+    attribute](json.html#account)
+
+  - remover  
+    user who removed the vote as [account attribute](json.html#account)
+
+  - approvals  
+    all votes as [approval attributes](json.html#approval)
+
+  - comment  
+    Review comment cover message.
+
+## SEE ALSO
+
+  - [JSON Data Formats](json.html)
+
+  - [Access Controls](access-control.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-suexec.md b/jekyll-source/pages/gerrit/cmd-suexec.md
new file mode 100644
index 0000000..e7a2a68
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-suexec.md
@@ -0,0 +1,76 @@
+---
+title: " suexec"
+sidebar: gerritdoc_sidebar
+permalink: cmd-suexec.html
+---
+## NAME
+
+suexec - Execute a command as any registered user account
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port>
+>       -i SITE_PATH/etc/ssh_host_rsa_key
+>       "Gerrit Code Review@localhost"
+>       suexec
+>       --as <EMAIL>
+>       [--from HOST:PORT]
+>       [--]
+>       [COMMAND]
+
+## DESCRIPTION
+
+The suexec command permits executing any other command as any other
+registered user account.
+
+suexec can only be invoked by the magic user `Gerrit Code Review`, or
+any user granted granted the [Run
+As](access-control.html#capability_runAs) capability. The run as
+capability is permitted to be used only if
+[auth.enableRunAs](config-gerrit.html) is true.
+
+## OPTIONS
+
+  - \--as  
+    Email address of the user you want to impersonate.
+
+  - \--from  
+    Hostname and port of the machine you want to impersonate the command
+    coming from.
+
+  - COMMAND  
+    Gerrit command you want to run.
+
+## ACCESS
+
+Caller must be the magic user Gerrit Code Review using the SSH daemon’s
+host key, or a key on this daemon’s peer host key ring, or a user
+granted the Run As capability.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## EXAMPLES
+
+Approve the change with commit c0ff33 as "Verified +1" as user
+<bob@example.com>
+
+``` 
+  $ sudo -u gerrit ssh -p 29418 \
+    -i site_path/etc/ssh_host_rsa_key \
+    "Gerrit Code Review@localhost" \
+    suexec \
+    --as bob@example.com \
+    -- \
+    gerrit approve --verified +1 c0ff33
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-test-submit-rule.md b/jekyll-source/pages/gerrit/cmd-test-submit-rule.md
new file mode 100644
index 0000000..c26e7ea
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-test-submit-rule.md
@@ -0,0 +1,83 @@
+---
+title: " gerrit test-submit rule"
+sidebar: gerritdoc_sidebar
+permalink: cmd-test-submit-rule.html
+---
+## NAME
+
+gerrit test-submit rule - Test prolog submit rules with a chosen
+changeset.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit test-submit rule
+>       [-s]
+>       [--no-filters]
+>       CHANGE
+
+## DESCRIPTION
+
+Provides a way to test prolog [submit rules](prolog-cookbook.html).
+
+## OPTIONS
+
+  - \-s  
+    Reads a rules.pl file from stdin instead of rules.pl in
+    refs/meta/config.
+
+  - \--no-filters  
+    Don’t run the submit\_filter/2 from the parent projects of the
+    specified change.
+
+## ACCESS
+
+Can be used by anyone that has permission to read the specified
+changeset.
+
+## EXAMPLES
+
+Test submit\_rule from stdin and return the results as
+JSON.
+
+``` 
+ cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit rule -s I78f2c6673db24e4e92ed32f604c960dc952437d9
+ [
+   {
+     "status": "NOT_READY",
+     "reject": {
+       "Any-Label-Name": {}
+     }
+   }
+ ]
+```
+
+Test the active submit\_rule from the refs/meta/config branch, ignoring
+filters in the project
+parents.
+
+``` 
+ $ ssh -p 29418 review.example.com gerrit test-submit rule I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
+ [
+   {
+     "status": "NOT_READY",
+     "need": {
+       "Code-Review": {}
+       "Verified": {}
+     }
+   }
+ ]
+```
+
+## SCRIPTING
+
+Can be used either interactively for testing new prolog submit rules, or
+from a script to check the submit status of a change.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-test-submit-type.md b/jekyll-source/pages/gerrit/cmd-test-submit-type.md
new file mode 100644
index 0000000..5826a08
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-test-submit-type.md
@@ -0,0 +1,66 @@
+---
+title: " gerrit test-submit type"
+sidebar: gerritdoc_sidebar
+permalink: cmd-test-submit-type.html
+---
+## NAME
+
+gerrit test-submit type - Test prolog submit type with a chosen change.
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit test-submit type
+>       [-s]
+>       [--no-filters]
+>       CHANGE
+
+## DESCRIPTION
+
+Provides a way to test prolog submit type.
+
+## OPTIONS
+
+  - \-s  
+    Reads a rules.pl file from stdin instead of rules.pl in
+    refs/meta/config.
+
+  - \--no-filters  
+    Don’t run the submit\_type\_filter/2 from the parent projects of the
+    specified change.
+
+## ACCESS
+
+Can be used by anyone that has permission to read the specified change.
+
+## EXAMPLES
+
+Test submit\_type from stdin and return the submit
+type.
+
+``` 
+ cat rules.pl | ssh -p 29418 review.example.com gerrit test-submit type -s I78f2c6673db24e4e92ed32f604c960dc952437d9
+ "MERGE_IF_NECESSARY"
+```
+
+Test the active submit\_type from the refs/meta/config branch, ignoring
+filters in the project
+parents.
+
+``` 
+ $ ssh -p 29418 review.example.com gerrit test-submit type I78f2c6673db24e4e92ed32f604c960dc952437d9 --no-filters
+ "MERGE_IF_NECESSARY"
+```
+
+## SCRIPTING
+
+Can be used either interactively for testing new prolog submit type, or
+from a script to check the submit type of a change.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/cmd-version.md b/jekyll-source/pages/gerrit/cmd-version.md
new file mode 100644
index 0000000..3ab36c5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/cmd-version.md
@@ -0,0 +1,54 @@
+---
+title: " gerrit version"
+sidebar: gerritdoc_sidebar
+permalink: cmd-version.html
+---
+## NAME
+
+gerrit version - Show the version of the currently executing Gerrit
+server
+
+## SYNOPSIS
+
+> 
+> 
+>     ssh -p <port> <host> gerrit version
+
+## DESCRIPTION
+
+Displays a one-line response with the string `gerrit version` followed
+by the currently executing version of Gerrit.
+
+The `git describe` command is used to generate the version string based
+on the Git commit used to build Gerrit. For official releases of Gerrit,
+the version string will be equal to the Git tag set in the Gerrit source
+code, which in turn is equal to the name of the release (for example
+2.4.2). When building Gerrit from another commit (one that doesn’t have
+an official-looking tag pointing to it), the version string has the form
+`<tagname>-<n>-g<sha1>`, where `<n>` is an integer indicating the number
+of commits ahead of the `<tagname>` tag the commit is, and `<sha1>` is
+the seven-character abbreviated SHA-1 of the commit. See the `git
+describe` documentation for details on how `<tagname>` is chosen and how
+`<n>` is computed.
+
+## ACCESS
+
+Any user who has SSH access to Gerrit.
+
+## SCRIPTING
+
+This command is intended to be used in scripts.
+
+## EXAMPLES
+
+``` 
+        $ ssh -p 29418 review.example.com gerrit version
+        gerrit version 2.4.2
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/concept-changes.md b/jekyll-source/pages/gerrit/concept-changes.md
new file mode 100644
index 0000000..3e84efd
--- /dev/null
+++ b/jekyll-source/pages/gerrit/concept-changes.md
@@ -0,0 +1,225 @@
+---
+title: " Changes"
+sidebar: gerritdoc_sidebar
+permalink: concept-changes.html
+---
+A change represents a single commit under review. Each change is
+identified by a [section\_title](#change-id).
+
+Multiple git commits can share the same Change-Id, allowing you to
+update a change as you receive feedback through the code review process.
+In Gerrit, commits that share the same Change-Id are referred to as
+*patch sets*. When a change is approved, only the latest version of a
+commit is submitted to the repository.
+
+You can view a specific change using Gerrit’s Review screen. This screen
+provides the following information for each change:
+
+  - Current and previous patch sets
+
+  - [???](#Change%20properties), such as owner, project, and target
+    branch
+
+  - [Comments](CONCEPT-comments.html)
+
+  - Votes on [Review Labels](config-labels.html)
+
+  - The [section\_title](#change-id)
+
+## Change properties
+
+When you open a change in Gerrit, the Review screen displays a number of
+properties about that change.
+
+<table>
+<caption>Change Properties</caption>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><p>Property</p></td>
+<td><p>Description</p></td>
+</tr>
+<tr class="even">
+<td><p>Updated</p></td>
+<td><p>The date on which the change was last updated.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Owner</p></td>
+<td><p>The contributor who created the change.</p></td>
+</tr>
+<tr class="even">
+<td><p>Assignee</p></td>
+<td><p>The contributor responsible for the change. Often used when a change has mulitple reviewers to identify the individual responsible for final approval.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Reviewers</p></td>
+<td><p>A list of one or more contributors responsible for reviewing the change.</p></td>
+</tr>
+<tr class="even">
+<td><p>CC</p></td>
+<td><p>A list of one or more contributors who are kept informed about the change, but are not required to review it.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Project</p></td>
+<td><p>The name of the Gerrit project.</p></td>
+</tr>
+<tr class="even">
+<td><p>Branch</p></td>
+<td><p>The branch on which the change was made.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Topic</p></td>
+<td><p>An optional topic.</p></td>
+</tr>
+<tr class="even">
+<td><p>Strategy</p></td>
+<td><p>The <a href="#submit-strategy">???</a> for the change.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Code Review</p></td>
+<td><p>Displays the Code Review status for the change.</p></td>
+</tr>
+</tbody>
+</table>
+
+In addition, Gerrit displays the status of any additional labels, such
+as the Verified label, that have been configured for the server. See
+[Review Labels](config-labels.html) for more information.
+
+## Change Message
+
+Next to the list of change properties is the change message. This
+message contains user-supplied information regarding what the change
+does. To modify the change message, click the **Edit** link.
+
+By default, the change message contains the Change-Id. This ID contains
+a permanent link to a search for that Change-Id in Gerrit.
+
+## Related Changes
+
+In some cases, a change may be dependent on another change. These
+changes are listed next to the change message. These related changes are
+grouped together in several categories, including:
+
+  - Relation Chain. These changes are related by parent-child
+    relationships, regardless of [???](#topics).
+
+  - Merge Conflicts. These are changes in which there is a merge
+    conflict with the current change.
+
+  - Submitted Together. These are changes that share the same
+    [???](#topics).
+
+An arrow indicates the change you are currently viewing.
+
+## Topics
+
+Changes can be grouped by topics. Topics make it easier to find related
+changes by using the topic search operator. Changes with the same topic
+also appear in the **Relation Chain** section of the Review screen.
+
+Grouping changes by topics can be helpful when you have several changes
+that, when combined, implement a feature.
+
+Assigning a topic to a change can be done in the change screen or
+through a `git
+push` command.
+
+## Submit strategies
+
+Each project in Gerrit can employ a specific submit strategy. This
+strategy is listed in the change properties section of the Review
+screen.
+
+The following table lists the supported submit strategies.
+
+<table>
+<caption>Submit Strategies</caption>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><p>Strategy</p></td>
+<td><p>Description</p></td>
+</tr>
+<tr class="even">
+<td><p>Fast Forward Only</p></td>
+<td><p>No merge commits are produced. All merges must be handled on the client, before submitting the change.</p>
+<p>To submit a change, the change must be a strict superset of the destination branch.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Merge If Necessary</p></td>
+<td><p>The default submit strategy. If the change being submitted is a strict superset of the destination branch, then the branch is fast-forwarded to the change. If not, a merge commit is automatically created at submit time. This is identical to the <code>git merge --ff</code> command.</p></td>
+</tr>
+<tr class="even">
+<td><p>Always Merge</p></td>
+<td><p>Always produce a merge commit, even if the change is a strict superset of the destination branch. This is identical to the <code>git merge --no-ff</code> command. It is often used when users of the project want to be able to read the history of submits by running the <code>git log --first-parent</code> command.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Cherry Pick</p></td>
+<td><p>Always cherry pick the patch set, ignoring the parent lineage and instead creating a new commit on top of the current branch.</p>
+<p>When cherry picking a change, Gerrit automatically appends a short summary of the change’s approvals and a link back to the change. The committer header is also set to the submitter, while the author header retains the original patch set author.</p>
+<p>NOTE: Gerrit ignores dependencies between changes when using this submit type unless <code>change.submitWholeTopic</code> is enabled and depending changes share the same topic. This means submitters must remember to submit changes in the right order when using this submit type.</p></td>
+</tr>
+<tr class="even">
+<td><p>Rebase if Necessary</p></td>
+<td><p>If the change being submitted is a strict superset of the destination branch, the branch is fast-forwarded to the change. If not, the change is automatically rebased and the branch is fast-forwarded to the change.</p></td>
+</tr>
+<tr class="odd">
+<td><p>Rebase Always</p></td>
+<td><p>Similar to Rebase If Necessary, but creates a new patch set even if fast forward is possible. This strategy is also similar to Cherry Pick; however, Rebase Always does not ignore dependencies.</p></td>
+</tr>
+</tbody>
+</table>
+
+Any project owner can use the Project screen to modify the method Gerrit
+uses to submit a change.
+
+## Change-Id
+
+Gerrit uses a Change-Id to identify which patch sets belong to the same
+review. For example, you make a change to a project. A reviewer supplies
+some feedback, which you address in a second commit. By assigning the
+same Change-Id to both commits, Gerrit can attach those commits to the
+same change.
+
+Change-Ids are appended to the end of a commit message, and resemble the
+following:
+
+    commit 29a6bb1a059aef021ac39d342499191278518d1d
+    Author: A. U. Thor <author@example.com>
+    Date: Thu Aug 20 12:46:50 2009 -0700
+    
+        Improve foo widget by attaching a bar.
+    
+        We want a bar, because it improves the foo by providing more
+        wizbangery to the dowhatimeanery.
+    
+        Bug: #42
+        Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
+        Signed-off-by: A. U. Thor <author@example.com>
+        CC: R. E. Viewer <reviewer@example.com>
+
+Gerrit requires that the Change-Id is in the footer (last paragraph) of
+a commit message. It can be combined with a Signed-off-by, CC, or other
+lines. For instance, the previous example has a Change-Id, along with a
+Signed-off-by and CC line.
+
+Notice that the Change-Id is similar to the commit id. To avoid
+confusing the two, a Change-Id typically begins with an `I`.
+
+While there are several ways you can add a Change-Id, the standard
+method uses git’s [commit-msg hook](cmd-hook-commit-msg.html) to
+automatically add the Change-Id to each new commit.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/concept-patch-sets.md b/jekyll-source/pages/gerrit/concept-patch-sets.md
new file mode 100644
index 0000000..d2b7ebc
--- /dev/null
+++ b/jekyll-source/pages/gerrit/concept-patch-sets.md
@@ -0,0 +1,125 @@
+---
+title: " Patch Sets"
+sidebar: gerritdoc_sidebar
+permalink: concept-patch-sets.html
+---
+As described in [Changes](concept-changes.html), a change represents a
+single commit under review. Each change is assigned a
+[Change-Id](concept-changes.html#change-id).
+
+It is very common to amend a commit during the code review process.
+Gerrit uses the Change-Id to associate each iteration of the commit with
+the same change. These iterations of a commit are referred to as *patch
+sets*. When a change is approved, only the latest version of a commit is
+submitted to the repository.
+
+> **Note**
+> 
+> It is also possible to copy a Change-Id to a completely new commit.
+> This is useful in situations where you want to keep the discussion
+> around a change, but also need to completely modify your approach.
+
+## File List
+
+When you open a change in Gerrit, a list of affected files appears in
+the file list, located in the middle of the Review screen. This table
+displays the following information for each file:
+
+  - A checkbox, indicating the file has been reviewed
+
+  - The type of modification
+
+  - The path and name of the file
+
+  - The number of added lines and or deleted lines
+
+## File modifications
+
+Each file in a patch set has a letter next to it, indicating the type of
+modification for that file. The following table lists the types of
+modifications.
+
+<table>
+<caption>Types of file modifications</caption>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><p>Letter</p></td>
+<td><p>Modification Type</p></td>
+<td><p>Definition</p></td>
+</tr>
+<tr class="even">
+<td><p>M</p></td>
+<td><p>Modification</p></td>
+<td><p>The file existed before this change and is modified.</p></td>
+</tr>
+<tr class="odd">
+<td><p>A</p></td>
+<td><p>Added</p></td>
+<td><p>The file is newly added.</p></td>
+</tr>
+<tr class="even">
+<td><p>D</p></td>
+<td><p>Deleted</p></td>
+<td><p>The file is deleted.</p></td>
+</tr>
+<tr class="odd">
+<td><p>R</p></td>
+<td><p>Renamed</p></td>
+<td><p>The file is renamed.</p></td>
+</tr>
+<tr class="even">
+<td><p>C</p></td>
+<td><p>Copied</p></td>
+<td><p>The file is new and is copied from an existing file.</p></td>
+</tr>
+</tbody>
+</table>
+
+If the status is **R** (Renamed) or **C** (Copied), the file list also
+displays the original name of the file below the patch set file.
+
+## Views
+
+By default, Gerrit displays the latest patch set for a given change. You
+can view previous versions of a patch set by selecting from the **Patch
+Set** drop-down list.
+
+## Diffs
+
+Clicking a file in the file list opens the Diff screen. By default, this
+screen displays a diff between the latest patch set’s version of a file
+and the current version of that file in the repository. You can also
+open a diff within the Review screen by clicking the blue triangle
+located in the same row as the file. To show the diffs of all files in
+the Review screen, click the **Show Diffs** link, located at the top of
+the file list.
+
+You can diff between other patch sets by selecting a patch set number
+from the **Diff Against** drop-down list.
+
+## Description
+
+Each change in Gerrit must have a change description. This change
+description comes from the commit message and becomes part of the
+history of the project.
+
+In addition to the change description, you can add a description for a
+specific patch set. This description is intended to help guide reviewers
+as a change evolves, such as "Added more unit tests." Unlike the change
+description, a patch set description does not become a part of the
+project’s history.
+
+To add a patch set description, click **Add a patch set description**,
+located in the file list.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/concept-refs-for-namespace.md b/jekyll-source/pages/gerrit/concept-refs-for-namespace.md
new file mode 100644
index 0000000..e5eacc3
--- /dev/null
+++ b/jekyll-source/pages/gerrit/concept-refs-for-namespace.md
@@ -0,0 +1,69 @@
+---
+title: " The refs/for namespace"
+sidebar: gerritdoc_sidebar
+permalink: concept-refs-for-namespace.html
+---
+When pushing a new or updated commit to Gerrit, you push that commit
+using a
+[reference](https://www.kernel.org/pub/software/scm/git/docs/gitglossary.html#def_ref),
+in the `refs/for` namespace. This reference must also define the target
+branch, such as `refs/for/[BRANCH_NAME]`.
+
+For example, to create a new change on the master branch, you would use
+the following command:
+
+    git push origin HEAD:refs/for/master
+
+The `refs/for/[BRANCH_NAME]` syntax allows Gerrit to differentiate
+between commits that are pushed for review and commits that are pushed
+directly into the repository.
+
+Gerrit supports using either the full name or the short name for a
+branch. For instance, this command:
+
+    git commit
+    git push origin HEAD:refs/for/master
+
+is the same as:
+
+    git commit
+    git push origin HEAD:refs/for/refs/heads/master
+
+Gerrit uses the `refs/for/` prefix to map the concept of "Pushing for
+Review" to the git protocol. For the git client, it looks like every
+push goes to the same branch, such as `refs/for/master`. In fact, for
+each commit pushed to this ref, Gerrit creates a new ref under a
+`refs/changes/` namespace, which Gerrit uses to track these commits.
+These references use the following format:
+
+    refs/changes/[CD]/[ABCD]/[EF]
+
+Where:
+
+  - \[CD\] is the last two digits of the change number
+
+  - \[ABCD\] is the change number
+
+  - \[EF\] is the patch set number
+
+For example:
+
+    refs/changes/20/884120/1
+
+You can use the change reference to fetch its corresponding
+    commit:
+
+    git fetch https://[GERRIT_SERVER_URL]/[PROJECT] refs/changes/[XX]/[YYYY]/[ZZ] \
+    && git checkout FETCH_HEAD
+
+> **Note**
+> 
+> The fetch command can be copied from the [download
+> command](user-review-ui.html#download) in the Change screen.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/concepts-index.html b/jekyll-source/pages/gerrit/concepts-index.html
new file mode 100644
index 0000000..3236a9c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/concepts-index.html
@@ -0,0 +1,136 @@
+---
+title: Gerrit Documentation (beta)
+keywords: gerrit
+sidebar: gerritdoc_sidebar
+toc: false
+permalink: concepts-index.html
+folder: gerrit
+---
+   <!-- Service List -->
+    <!-- The circle icons use Font Awesome's stacked icon classes. For more information, visit http://fontawesome.io/examples/ -->
+    <div class="row">
+        <div class="col-lg-12">
+          <nbsp;><br>
+        <!-- if we decide a page title is necessary, it goes here.
+          <h2 class="page-header">Gerrit Documentation</h2>
+        -->
+          </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="config-labels.html">Review Labels</a></h4>
+                    <p>Learn about how Gerrit uses Review labels in its workflow.</p>
+                    <p>&nbsp;</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="access-control.html">Access Control</a></h4>
+                    <p>Discover how access control settings operate in Gerrit.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="concept-changes.html">Changes</a></h4>
+                    <p>Explore how Gerrit uses changes to improve the code review experience.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="concept-refs-for-namespace.html">The refs/for namespace</a></h4>
+                    <p>Understand the refs/for namespace, a critical part of the Gerrit workflow.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="concept-patch-sets.html">Patch Sets</a></h4>
+                    <p>Learn how Gerrit uses patch sets to track changes over time.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="project-configuration.html">Project Management</a></h4>
+                    <p>Create and manage your own Gerrit projects.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-dashboards.html">Customization and Integration</a></h4>
+                    <p>Customize Gerrit to suit your needs and integrate into
+                    your existing workflows.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="dev-readme.html">Developer</a></h4>
+                    <p>Set up a dev environment and contribute to Gerrit!</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="dev-release.html">Maintainer</a></h4>
+                    <p>Learn the steps required to build a Gerrit release.</p>
+                </div>
+            </div>
+          </div>
+    </div>
diff --git a/jekyll-source/pages/gerrit/config-accounts.md b/jekyll-source/pages/gerrit/config-accounts.md
new file mode 100644
index 0000000..4b88658
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-accounts.md
@@ -0,0 +1,398 @@
+---
+title: " Gerrit Code Review - Accounts"
+sidebar: gerritdoc_sidebar
+permalink: config-accounts.html
+---
+## Overview
+
+Starting from 2.15 Gerrit accounts are fully stored in
+[NoteDb](dev-note-db.html).
+
+The account data consists of a sequence number (account ID), account
+properties (full name, preferred email, registration date, status,
+inactive flag), preferences (general, diff and edit preferences),
+project watches, SSH keys, external IDs, starred changes and reviewed
+flags.
+
+Most account data is stored in a special [All-Users](#all-users)
+repository, which has one branch per user. Within the user branch there
+are Git config files for the [account properties](#account-properties),
+the [account preferences](#preferences) and the [project
+watches](#project-watches). In addition there is an `authorized_keys`
+file for the [SSH keys](#ssh-keys) that follows the standard OpenSSH
+file format.
+
+The account data in the user branch is versioned and the Git history of
+this branch serves as an audit log.
+
+The [external IDs](#external-ids) are stored as Git Notes inside the
+`All-Users` repository in the `refs/meta/external-ids` notes branch.
+Storing all external IDs in a notes branch ensures that each external ID
+is only used once.
+
+The [starred changes](#starred-changes) are represented as independent
+refs in the `All-Users` repository. They are not stored in the user
+branch, since this data doesn’t need versioning.
+
+The [reviewed flags](#reviewed-flags) are not stored in Git, but are
+persisted in a database table. This is because there is a high volume of
+reviewed flags and storing them in Git would be inefficient.
+
+Since accessing the account data in Git is not fast enough for account
+queries, e.g. when suggesting reviewers, Gerrit has a [secondary index
+for accounts](#account-index).
+
+## `All-Users` repository
+
+The `All-Users` repository is a special repository that only contains
+user-specific information. It contains one branch per user. The user
+branch is formatted as `refs/users/CD/ABCD`, where `CD/ABCD` is the
+[sharded account ID](access-control.html#sharded-user-id), e.g. the user
+branch for account `1000856` is `refs/users/56/1000856`. The account IDs
+in the user refs are sharded so that there is a good distribution of the
+Git data in the storage system.
+
+A user branch must exist for each account, as it represents the account.
+The files in the user branch are all optional. This means having a user
+branch with a tree that is completely empty is also a valid account
+definition.
+
+Updates to the user branch are done through the [Gerrit REST
+API](rest-api-accounts.html), but users can also manually fetch their
+user branch and push changes back to Gerrit. On push the user data is
+evaluated and invalid user data is rejected.
+
+To hide the implementation detail of the sharded account ID in the ref
+name Gerrit offers a magic `refs/users/self` ref that is automatically
+resolved to the user branch of the calling user. The user can then use
+this ref to fetch from and push to the own user branch. E.g. if user
+`1000856` pushes to `refs/users/self`, the branch
+`refs/users/56/1000856` is updated. In Gerrit `self` is an established
+term to refer to the calling user (e.g. in change queries). This is why
+the magic ref for the own user branch is called `refs/users/self`.
+
+A user branch should only be readable and writeable by the user to whom
+the account belongs. To assign permissions on the user branches the
+normal branch permission system is used. In the permission system the
+user branches are specified as `refs/users/${shardeduserid}`. The
+`${shardeduserid}` variable is resolved to the sharded account ID. This
+variable is used to assign default access rights on all user branches
+that apply only to the owning user. The following permissions are set by
+default when a Gerrit site is newly installed or upgraded to a version
+which supports user branches:
+
+**All-Users project.config.**
+
+    [access "refs/users/${shardeduserid}"]
+      exclusiveGroupPermissions = read push submit
+      read = group Registered Users
+      push = group Registered Users
+      label-Code-Review = -2..+2 group Registered Users
+      submit = group Registered Users
+
+The user branch contains several files with account data which are
+described [below](#account-data-in-user-branch).
+
+In addition to the user branches the `All-Users` repository also
+contains a branch for the [external IDs](#external-ids) and special refs
+for the [starred changes](#starred-changes).
+
+Also the next available value of the [account
+sequence](#account-sequence) is stored in the `All-Users` repository.
+
+## Account Index
+
+There are several situations in which Gerrit needs to query accounts,
+e.g.:
+
+  - For sending email notifications to project watchers.
+
+  - For reviewer suggestions.
+
+Accessing the account data in Git is not fast enough for account
+queries, since it requires accessing all user branches and parsing all
+files in each of them. To overcome this Gerrit has a secondary index for
+accounts. The account index is either based on [Lucene or
+Elasticsearch](config-gerrit.html#index.type).
+
+Via the [Query Account](rest-api-accounts.html#query-account) REST
+endpoint [generic account queries](user-search-accounts.html) are
+supported.
+
+Accounts are automatically reindexed on any update. The [Index
+Account](rest-api-accounts.html#index-account) REST endpoint allows to
+reindex an account manually. In addition the [reindex](pgm-reindex.html)
+program can be used to reindex all accounts offline.
+
+## Account Data in User Branch
+
+A user branch contains several Git config files with the account data:
+
+  - `account.config`:
+    
+    Stores the [account properties](#account-properties).
+
+  - `preferences.config`:
+    
+    Stores the [user preferences](#preferences) of the account.
+
+  - `watch.config`:
+    
+    Stores the [project watches](#project-watches) of the account.
+
+In addition it contains an
+[authorized\_keys](https://en.wikibooks.org/wiki/OpenSSH/Client_Configuration_Files#.7E.2F.ssh.2Fauthorized_keys)
+file with the [SSH keys](#ssh-keys) of the account.
+
+### Account Properties
+
+The account properties are stored in the user branch in the
+`account.config` file:
+
+    [account]
+      fullName = John Doe
+      preferredEmail = john.doe@example.com
+      status = OOO
+      active = false
+
+For active accounts the `active` parameter can be omitted.
+
+The registration date is not contained in the `account.config` file but
+is derived from the timestamp of the first commit on the user branch.
+
+When users update their account properties by pushing to the user
+branch, it is verified that the preferred email exists in the external
+IDs.
+
+Users are not allowed to flip the active value themselves; only
+administrators and users with the [Modify
+Account](access-control.html#capability_modifyAccount) global capability
+are allowed to change it.
+
+Since all data in the `account.config` file is optional the
+`account.config` file may be absent from some user branches.
+
+### Preferences
+
+The account properties are stored in the user branch in the
+`preferences.config` file. There are separate sections for
+[general](intro-user.html#preferences),
+[diff](user-review-ui.html#diff-preferences) and edit preferences:
+
+    [general]
+      showSiteHeader = false
+    [diff]
+      hideTopMenu = true
+    [edit]
+      lineLength = 80
+
+The parameter names match the names that are used in the preferences
+REST API:
+
+  - [General Preferences](rest-api-accounts.html#preferences-info)
+
+  - [Diff Preferences](rest-api-accounts.html#diff-preferences-info)
+
+  - [Edit Preferences](rest-api-accounts.html#edit-preferences-info)
+
+If the value for a preference is the same as the default value for this
+preference, it can be omitted in the `preference.config` file.
+
+Defaults for general and diff preferences that apply for all accounts
+can be configured in the `refs/users/default` branch in the `All-Users`
+repository.
+
+### Project Watches
+
+Users can configure watches on projects to receive email notifications
+for changes of that project.
+
+A watch configuration consists of the project name and an optional
+filter query. If a filter query is specified, email notifications will
+be sent only for changes of that project that match this query.
+
+In addition, each watch configuration can contain a list of notification
+types that determine for which events email notifications should be
+sent. E.g. a user can configure that email notifications should only be
+sent if a new patch set is uploaded and when the change gets submitted,
+but not on other events.
+
+Project watches are stored in a `watch.config` file in the user branch:
+
+    [project "foo"]
+      notify = * [ALL_COMMENTS]
+      notify = branch:master [ALL_COMMENTS, NEW_PATCHSETS]
+      notify = branch:master owner:self [SUBMITTED_CHANGES]
+
+The `watch.config` file has one project section for all project watches
+of a project. The project name is used as subsection name and the
+filters with the notification types, that decide for which events email
+notifications should be sent, are represented as `notify` values in the
+subsection. A `notify` value is formatted as "\<filter\>
+\[\<comma-separated-list-of-notification-types\>\]". The supported
+notification types are described in the [Email Notifications
+documentation](user-notify.html#notify.name.type).
+
+For a change event, a notification will be sent if any `notify` value of
+the corresponding project has both a filter that matches the change and
+a notification type that matches the event.
+
+In order to send email notifications on change events, Gerrit needs to
+find all accounts that watch the corresponding project. To make this
+lookup fast the secondary account index is used. The account index
+contains a repeated field that stores the projects that are being
+watched by an account. After the accounts that watch the project have
+been retrieved from the index, the complete watch configuration is
+available from the account cache and Gerrit can check if any watch
+matches the change and the event.
+
+### SSH Keys
+
+SSH keys are stored in the user branch in an `authorized_keys` file,
+which is the [standard OpenSSH file
+format](https://en.wikibooks.org/wiki/OpenSSH/Client_Configuration_Files#.7E.2F.ssh.2Fauthorized_keys)
+for storing SSH
+    keys:
+
+    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCgug5VyMXQGnem2H1KVC4/HcRcD4zzBqSuJBRWVonSSoz3RoAZ7bWXCVVGwchtXwUURD689wFYdiPecOrWOUgeeyRq754YWRhU+W28vf8IZixgjCmiBhaL2gt3wff6pP+NXJpTSA4aeWE5DfNK5tZlxlSxqkKOS8JRSUeNQov5Tw== john.doe@example.com
+    # DELETED
+    # INVALID ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDm5yP7FmEoqzQRDyskX+9+N0q9GrvZeh5RG52EUpE4ms/Ujm3ewV1LoGzc/lYKJAIbdcZQNJ9+06EfWZaIRA3oOwAPe1eCnX+aLr8E6Tw2gDMQOGc5e9HfyXpC2pDvzauoZNYqLALOG3y/1xjo7IH8GYRS2B7zO/Mf9DdCcCKSfw== john.doe@example.com
+    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCaS7RHEcZ/zjl9hkWkqnm29RNr2OQ/TZ5jk2qBVMH3BgzPsTsEs+7ag9tfD8OCj+vOcwm626mQBZoR2e3niHa/9gnHBHFtOrGfzKbpRjTWtiOZbB9HF+rqMVD+Dawo/oicX/dDg7VAgOFSPothe6RMhbgWf84UcK5aQd5eP5y+tQ== john.doe@example.com
+
+When the SSH API is used, Gerrit needs an efficient way to lookup SSH
+keys by username. Since the username can be easily resolved to an
+account ID (via the account cache), accessing the SSH keys in the user
+branch is fast.
+
+To identify SSH keys in the REST API Gerrit uses [sequence numbers per
+account](rest-api-accounts.html#ssh-key-id). This is why the order of
+the keys in the `authorized_keys` file is used to determines the
+sequence numbers of the keys (the sequence numbers start at 1).
+
+To keep the sequence numbers intact when a key is deleted, a *\#
+DELETED* line is inserted at the position where the key was deleted.
+
+Invalid keys are marked with the prefix *\# INVALID*.
+
+## External IDs
+
+External IDs are used to link external identities, such as an LDAP
+account or an OAUTH identity, to an account in Gerrit.
+
+External IDs are stored as Git Notes in the `All-Users` repository. The
+name of the notes branch is `refs/meta/external-ids`.
+
+As note key the SHA1 of the external ID key is used. This ensures that
+an external ID is used only once (e.g. an external ID can never be
+assigned to multiple accounts at a point in time).
+
+The note content is a Git config file:
+
+    [externalId "username:jdoe"]
+      accountId = 1003407
+      email = jdoe@example.com
+      password = bcrypt:4:LCbmSBDivK/hhGVQMfkDpA==:XcWn0pKYSVU/UJgOvhidkEtmqCp6oKB7
+
+The config file has one `externalId` section. The external ID key which
+consists of scheme and ID in the format *\<scheme\>:\<id\>* is used as
+subsection name.
+
+The `accountId` field is mandatory, the `email` and `password` fields
+are optional.
+
+The external IDs are maintained by Gerrit, this means users are not
+allowed to manually edit their external IDs. Only users with the [Access
+Database](access-control.html#capability_accessDatabase) global
+capability can push updates to the `refs/meta/external-ids` branch.
+However Gerrit rejects pushes if:
+
+  - any external ID config file cannot be parsed
+
+  - if a note key does not match the SHA of the external ID key in the
+    note content
+
+  - external IDs for non-existing accounts are contained
+
+  - invalid emails are contained
+
+  - any email is not unique (the same email is assigned to multiple
+    accounts)
+
+  - hashed passwords of external IDs with scheme `username` cannot be
+    decoded
+
+## Starred Changes
+
+[Starred changes](dev-stars.html) allow users to mark changes as
+favorites and receive email notifications for them.
+
+Each starred change is a tuple of an account ID, a change ID and a
+label.
+
+To keep track of a change that is starred by an account, Gerrit creates
+a `refs/starred-changes/YY/XXXX/ZZZZZZZ` ref in the `All-Users`
+repository, where `YY/XXXX` is the sharded numeric change ID and
+`ZZZZZZZ` is the account ID.
+
+A starred-changes ref points to a blob that contains the list of labels
+that the account set on the change. The label list is stored as UTF-8
+text with one label per line.
+
+Since JGit has explicit optimizations for looking up refs by prefix when
+the prefix ends with */*, this ref format is optimized to find starred
+changes by change ID. Finding starred changes by change ID is e.g.
+needed when a change is updated so that all users that have the [default
+star](dev-stars.html#default-star) on the change can be notified by
+email.
+
+Gerrit also needs an efficient way to find all changes that were starred
+by an account, e.g. to provide results for the
+[is:starred](user-search.html#is-starred) query operator. With the ref
+format as described above the lookup of starred changes by account ID is
+expensive, as this requires a scan of the full `refs/starred-changes/*`
+namespace. To overcome this the users that have starred a change are
+stored in the change index together with the star labels.
+
+## Reviewed Flags
+
+When reviewing a patch set in the Gerrit UI, the reviewer can mark files
+in the patch set as reviewed. These markers are called ‘Reviewed Flags’
+and are private to the user. A reviewed flag is a tuple of patch set ID,
+file and account ID.
+
+Each user can have many thousands of reviewed flags and over time the
+number can grow without bounds.
+
+The high amount of reviewed flags makes a storage in Git unsuitable
+because each update requires opening the repository and committing a
+change, which is a high overhead for flipping a bit. Therefore the
+reviewed flags are stored in a database table. By default they are
+stored in a local H2 database, but there is an extension point that
+allows to plug in alternate implementations for storing the reviewed
+flags. To replace the storage for reviewed flags a plugin needs to
+implement the
+[AccountPatchReviewStore](dev-plugins.html#account-patch-review-store)
+interface. E.g. to support a multi-master setup where reviewed flags
+should be replicated between the master nodes one could implement a
+store for the reviewed flags that is based on MySQL with replication.
+
+## Account Sequence
+
+The next available account sequence number is stored as UTF-8 text in a
+blob pointed to by the `refs/sequences/accounts` ref in the `All-Users`
+repository.
+
+Multiple processes share the same sequence by incrementing the counter
+using normal git ref updates. To amortize the cost of these ref updates,
+processes increment the counter by a larger number and hand out numbers
+from that range in memory until they run out. The size of the account ID
+batch that each process retrieves at once is controlled by the
+[notedb.accounts.sequenceBatchSize](config-gerrit.html#notedb.accounts.sequenceBatchSize)
+parameter in the `gerrit.config` file.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-auto-site-initialization.md b/jekyll-source/pages/gerrit/config-auto-site-initialization.md
new file mode 100644
index 0000000..2179a47
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-auto-site-initialization.md
@@ -0,0 +1,86 @@
+---
+title: " Gerrit Code Review - Automatic Site Initialization on Startup"
+sidebar: gerritdoc_sidebar
+permalink: config-auto-site-initialization.html
+---
+## Description
+
+Gerrit supports automatic site initialization on server startup when
+Gerrit runs in a servlet container. Both creation of a new site and
+upgrade of an existing site are supported. By default, all packaged
+plugins will be installed when Gerrit is deployed in a servlet container
+and the location of the Gerrit distribution can be determined at
+runtime. It is also possible to install only a subset of packaged
+plugins or not install any plugins.
+
+This feature may be useful for such setups where Gerrit administrators
+don’t have direct access to the database and the file system of the
+server where Gerrit should be deployed and, therefore, cannot perform
+the init from their local machine prior to deploying Gerrit on such a
+server. It may also make deployment and testing in a local servlet
+container faster to set up as the init step could be skipped.
+
+## Gerrit Configuration
+
+The site initialization will be performed only if the `gerrit.init`
+system property exists. The value of the property is not used; only the
+existence of the property matters.
+
+If the `gerrit.site_path` system property is defined then the init is
+run for that site. The database connectivity, in that case, is defined
+in the `etc/gerrit.config`.
+
+If `gerrit.site_path` is not defined then Gerrit will try to find the
+`gerrit.init_path` system property. If defined this property will be
+used to determine the site path. The database connectivity, also for
+this case, is defined by the `jdbc/ReviewDb` JNDI property.
+
+> **Warning**
+> 
+> Defining the `jdbc/ReviewDb` JNDI property for an H2 database under
+> the path defined by either `gerrit.site_path` or `gerrit.init_path`
+> will cause an incomplete auto initialization and Gerrit will fail to
+> start. Opening a connection to such a database will create a subfolder
+> under the site path folder (in order to create the H2 database) and
+> Gerrit will no longer consider that site path to be new and, because
+> of that, skip some required initialization steps (for example, Lucene
+> index creation). In order to auto initialize Gerrit with an embedded
+> H2 database use the `gerrit.site_path` to define the location of the
+> review site and don’t define a JNDI resource with a URL under that
+> path.
+
+If the `gerrit.install_plugins` property is not defined then all
+packaged plugins will be installed. If it is defined then it is parsed
+as a comma-separated list of plugin names to install. If the value is an
+empty string then no plugin will be installed.
+
+### Example 1
+
+Prepare Tomcat so that a site is initialized at a given path using the
+H2 database (if the site doesn’t exist yet) or using whatever database
+is defined in `etc/gerrit.config` of that
+site:
+
+``` 
+  $ export CATALINA_OPTS='-Dgerrit.init -Dgerrit.site_path=/path/to/site'
+  $ catalina.sh start
+```
+
+### Example 2
+
+Assuming the database schema doesn’t exist in the database defined via
+the `jdbc/ReviewDb` JNDI property, initialize a new site using that
+database and a given
+path:
+
+``` 
+  $ export CATALINA_OPTS='-Dgerrit.init -Dgerrit.init_path=/path/to/site'
+  $ catalina.sh start
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-cla.md b/jekyll-source/pages/gerrit/config-cla.md
new file mode 100644
index 0000000..c1feaac
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-cla.md
@@ -0,0 +1,87 @@
+---
+title: " Gerrit Code Review - Contributor Agreements"
+sidebar: gerritdoc_sidebar
+permalink: config-cla.html
+---
+Users can be required to sign one or more contributor agreements before
+being able to submit a change in a project.
+
+Contributor agreements are global and can be configured by modifying the
+`project.config` file on the `All-Projects` project. Push permission
+needs to be granted for the `refs/meta/config` branch to be able to push
+back the `project.config` file. Consult [access
+controls](access-control.html) for details on how access permissions
+work.
+
+To retrieve the `project.config` file, initialize a temporary Git
+repository to edit the configuration:
+
+``` 
+  mkdir cfg_dir
+  cd cfg_dir
+  git init
+```
+
+Download the existing configuration from Gerrit:
+
+``` 
+  git fetch ssh://localhost:29418/All-Projects refs/meta/config
+  git checkout FETCH_HEAD
+```
+
+Contributor agreements are defined as contributor-agreement sections in
+`project.config`:
+
+``` 
+  [contributor-agreement "Individual"]
+    description = If you are going to be contributing code on your own, this is the one you want. You can sign this one online.
+    agreementUrl = static/cla_individual.html
+    autoVerify = group CLA Accepted - Individual
+    accepted = group CLA Accepted - Individual
+```
+
+Each `contributor-agreement` section within the `project.config` file
+must have a unique name. The section name will appear in the web UI.
+
+If not already present, add the group(s) used in the `autoVerify` and
+`accepted` variables in the `groups` file:
+
+``` 
+    # UUID                                      Group Name
+    #
+    3dedb32915ecdbef5fced9f0a2587d164cd614d4    CLA Accepted - Individual
+```
+
+Commit the configuration change, and push it back:
+
+``` 
+  git commit -a -m "Add Individual contributor agreement"
+  git push ssh://localhost:29418/All-Projects HEAD:refs/meta/config
+```
+
+  - contributor-agreement.\<name\>.description  
+    Short text describing the contributor agreement. This text will
+    appear when the user selects an agreement.
+
+  - contributor-agreement.\<name\>.agreementUrl  
+    An absolute URL or a relative path to an HTML file containing the
+    text of the contributor agreement. The URL must use the http or
+    https scheme. The path is relative to the `gerrit.basePath` variable
+    in `gerrit.config`.
+
+  - contributor-agreement.\<name\>.autoVerify  
+    If present, the user can sign the contributor agreement online. The
+    value is the group to which the user will be added after signing the
+    agreement. The group’s UUID must also appear in the `groups` file.
+
+  - contributor-agreement.\<name\>.accepted  
+    List of groups that will be considered when verifying that a
+    contributor agreement has been accepted. The groups' UUID must also
+    appear in the `groups` file.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-gerrit.md b/jekyll-source/pages/gerrit/config-gerrit.md
new file mode 100644
index 0000000..256849c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-gerrit.md
@@ -0,0 +1,4365 @@
+---
+title: " Gerrit Code Review - Configuration"
+sidebar: gerritdoc_sidebar
+permalink: config-gerrit.html
+---
+## File `etc/gerrit.config`
+
+The optional file `'$site_path'/etc/gerrit.config` is a Git-style config
+file that controls many host specific settings for Gerrit.
+
+> **Note**
+> 
+> The contents of the `etc/gerrit.config` file are cached at startup by
+> Gerrit. If you modify any properties in this file, Gerrit needs to be
+> restarted before it will use the new values.
+
+Sample `etc/gerrit.config`:
+
+    [core]
+      packedGitLimit = 200 m
+    
+    [cache]
+      directory = /var/cache/gerrit
+
+### Section accountPatchReviewDb
+
+  - accountPatchReviewDb.url  
+    The url of accountPatchReviewDb. Supported types are `H2`,
+    `POSTGRESQL`, `MARIADB`, and `MYSQL`. Drop the driver jar in the lib
+    folder of the site path if the Jdbc driver of the corresponding
+    Database is not yet in the class path.
+    
+    Default is to create H2 database in the db folder of the site path.
+    
+    Changing this parameter requires to migrate database using the
+    [MigrateAccountPatchReviewDb](pgm-MigrateAccountPatchReviewDb.html)
+    program. Migration cannot be done while the server is running.
+    
+    Also note that the db\_name has to be a new db and not reusing
+    gerrit’s own review database, otherwise gerrit’s init will remove
+    the table.
+
+<!-- end list -->
+
+    [accountPatchReviewDb]
+      url = jdbc:postgresql://<host>:<port>/<db_name>?user=<user>&password=<password>
+
+  - accountPatchReviewDb.poolLimit  
+    Maximum number of open database connections. If the server needs
+    more than this number, request processing threads will wait up to
+    [poolMaxWait](#accountPatchReviewDb.poolMaxWait) seconds for a
+    connection to be released before they abort with an exception. This
+    limit must be several units higher than the total number of httpd
+    and sshd threads as some request processing code paths may need
+    multiple connections.
+    
+    Default is [sshd.threads](#sshd.threads) +
+    [httpd.maxThreads](#httpd.maxThreads) + 2.
+
+  - database.poolMinIdle  
+    Minimum number of connections to keep idle in the pool. Default is
+    4.
+
+  - accountPatchReviewDb.poolMaxIdle  
+    Maximum number of connections to keep idle in the pool. If there are
+    more idle connections, connections will be closed instead of being
+    returned back to the pool. Default is
+    min([accountPatchReviewDb.poolLimit](#accountPatchReviewDb.poolLimit),
+    16).
+
+  - accountPatchReviewDb.poolMaxWait  
+    Maximum amount of time a request processing thread will wait to
+    acquire a database connection from the pool. If no connection is
+    released within this time period, the processing thread will abort
+    its current operations and return an error to the client. Values
+    should use common unit suffixes to express their setting:
+    
+      - ms, milliseconds
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+    If a unit suffix is not specified, `milliseconds` is assumed.
+    Default is `30 seconds`.
+
+### Section accounts
+
+  - accounts.visibility  
+    Controls visibility of other users' dashboard pages and completion
+    suggestions to web users.
+    
+    If `ALL`, all users are visible to all other users, even anonymous
+    users.
+    
+    If `SAME_GROUP`, only users who are also members of a group the
+    current user is a member of are visible.
+    
+    If `VISIBLE_GROUP`, only users who are members of at least one group
+    that is visible to the current user are visible.
+    
+    If `NONE`, no users other than the current user are visible.
+    
+    Default is `ALL`.
+
+### Section addreviewer
+
+  - addreviewer.maxWithoutConfirmation  
+    The maximum number of reviewers a user can add at once by adding a
+    group as reviewer without being asked to confirm the operation.
+    
+    If set to 0, the user will never be asked to confirm adding a group
+    as reviewer.
+    
+    Default is 10.
+    
+    This setting only applies for adding reviewers in the Gerrit Web UI,
+    but is ignored when adding reviewers with the
+    [set-reviewers](cmd-set-reviewers.html) command.
+
+  - addreviewer.maxAllowed  
+    The maximum number of reviewers a user can add at once by adding a
+    group as reviewer.
+    
+    If set to 0, there is no limit for the number of reviewers that can
+    be added at once by adding a group as reviewer.
+    
+    Default is 20.
+
+  - addReviewer.baseWeight  
+    The weight that will be applied in the default reviewer ranking
+    algorithm. This can be increased or decreased to give more or less
+    influence to plugins. If set to zero, the base ranking will not have
+    any effect. Reviewers will then be ordered as ranked by the plugins
+    (if there are any).
+    
+    By default 1.
+
+### Section auth
+
+See also [SSO configuration](config-sso.html).
+
+  - auth.type  
+    Type of user authentication employed by Gerrit. The supported values
+    are:
+    
+      - `OpenID`
+        
+        The default setting. Gerrit uses any valid OpenID provider
+        chosen by the end-user. For more information see
+        [openid.net](http://openid.net/).
+    
+      - `OpenID_SSO`
+        
+        Supports OpenID from a single provider. There is no registration
+        link, and the "Sign In" link sends the user directly to the
+        provider’s SSO entry point.
+    
+      - `HTTP`
+        
+        Gerrit relies upon data presented in the HTTP request. This
+        includes HTTP basic authentication, or some types of commercial
+        single-sign-on solutions. With this setting enabled the
+        authentication must take place in the web server or servlet
+        container, and not from within Gerrit.
+    
+      - `HTTP_LDAP`
+        
+        Exactly like `HTTP` (above), but additionally Gerrit
+        pre-populates a user’s full name and email address based on
+        information obtained from the user’s account object in LDAP. The
+        user’s group membership is also pulled from LDAP, making any
+        LDAP groups that a user is a member of available as groups in
+        Gerrit. Hence the `_LDAP` suffix in the name of this
+        authentication type. Gerrit does NOT authenticate the user via
+        LDAP.
+    
+      - `CLIENT_SSL_CERT_LDAP`
+        
+        This authentication type is actually kind of SSO. Gerrit will
+        configure Jetty’s SSL channel to request the client’s SSL
+        certificate. For this authentication to work a Gerrit
+        administrator has to import the root certificate of the trust
+        chain used to issue the client’s certificate into the
+        \<review-site\>/etc/keystore. After the authentication is done
+        Gerrit will obtain basic user registration (name and email) from
+        LDAP, and some group memberships. Hence the `_LDAP` suffix in
+        the name of this authentication type. Gerrit does NOT
+        authenticate the user via LDAP. This authentication type can
+        only be used under hosted daemon mode, and the httpd.listenUrl
+        must use https:// as the protocol. Optionally, certificate
+        revocation list file can be used at \<review-site\>/etc/crl.pem.
+        For details, see httpd.sslCrl.
+    
+      - `LDAP`
+        
+        Gerrit prompts the user to enter a username and a password,
+        which it then verifies by performing a simple bind against the
+        configured [ldap.server](#ldap.server). In this configuration
+        the web server is not involved in the user authentication
+        process.
+        
+        The actual username used in the LDAP simple bind request is the
+        account’s full DN, which is discovered by first querying the
+        directory using either an anonymous request, or the configured
+        [ldap.username](#ldap.username) identity. Gerrit can also use
+        kerberos if [ldap.authentication](#ldap.authentication) is set
+        to `GSSAPI`.
+        
+        If [`auth.gitBasicAuthPolicy`](#auth.gitBasicAuthPolicy) is set
+        to `HTTP`, the randomly generated HTTP password is used for
+        authentication. On the other hand, if
+        [`auth.gitBasicAuthPolicy`](#auth.gitBasicAuthPolicy) is set to
+        `HTTP_LDAP`, the password in the request is first checked
+        against the HTTP password and, if it does not match, it is then
+        validated against the LDAP password. Service users that only
+        exist in the Gerrit database are authenticated by their HTTP
+        passwords.
+    
+      - `LDAP_BIND`
+        
+        Gerrit prompts the user to enter a username and a password,
+        which it then verifies by performing a simple bind against the
+        configured [ldap.server](#ldap.server). In this configuration
+        the web server is not involved in the user authentication
+        process.
+        
+        Unlike `LDAP` above, the username used to perform the LDAP
+        simple bind request is the exact string supplied in the dialog
+        by the user. The configured [ldap.username](#ldap.username)
+        identity is not used to obtain account information.
+    
+      - `OAUTH`
+        
+        OAuth is a protocol that lets external apps request
+        authorization to private details in a user’s account without
+        getting their password. This is preferred over Basic
+        Authentication because tokens can be limited to specific types
+        of data, and can be revoked by users at any time.
+        
+        Site owners have to register their application before getting
+        started. Note that provider specific plugins must be used with
+        this authentication scheme.
+        
+        Git clients may send OAuth 2 access tokens instead of passwords
+        in the Basic authentication header. Note that provider specific
+        plugins must be installed to facilitate this authentication
+        scheme. If multiple OAuth 2 provider plugins are installed one
+        of them must be selected as default with the
+        `auth.gitOAuthProvider` option.
+    
+      - `DEVELOPMENT_BECOME_ANY_ACCOUNT`
+        
+        **DO NOT USE**. Only for use in a development environment.
+        
+        When this is the configured authentication method a hyperlink
+        titled `Become` appears in the top right corner of the page,
+        taking the user to a form where they can enter the username of
+        any existing user account, and immediately login as that
+        account, without any authentication taking place. This form of
+        authentication is only useful for the GWT hosted mode shell,
+        where OpenID authentication redirects might be risky to the
+        developer’s host computer, and HTTP authentication is not
+        possible.
+    
+    By default, OpenID.
+
+  - auth.allowedOpenID  
+    List of permitted OpenID providers. A user may only authenticate
+    with an OpenID that matches this list. Only used if `auth.type` is
+    set to `OpenID` (the default).
+    
+    Patterns may be either a [standard Java regular expression
+    (java.util.regex)](http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html)
+    (start with `^` and end with `$`) or be a simple prefix (any other
+    string).
+    
+    By default, the list contains two values, `http://` and `https://`,
+    allowing users to authenticate with any OpenID provider.
+
+  - auth.trustedOpenID  
+    List of trusted OpenID providers. Only used if `auth.type` is set to
+    `OpenID` (the default).
+    
+    In order for a user to take advantage of permissions beyond those
+    granted to the `Anonymous Users` and `Registered Users` groups, the
+    user account must only have OpenIDs which match at least one pattern
+    from this list.
+    
+    Patterns may be either a [standard Java regular expression
+    (java.util.regex)](http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html)
+    (start with `^` and end with `$`) or be a simple prefix (any other
+    string).
+    
+    By default, the list contains two values, `http://` and `https://`,
+    allowing Gerrit to trust any OpenID it receives.
+
+  - auth.openIdDomain  
+    List of allowed OpenID email address domains. Only used if
+    `auth.type` is set to `OPENID` or `OPENID_SSO`.
+    
+    Domain is case insensitive and must be in the same form as it
+    appears in the email address, for example, "example.com".
+    
+    By default, any domain is accepted.
+
+  - auth.maxOpenIdSessionAge  
+    Time in seconds before an OpenID provider must force the user to
+    authenticate themselves again before authentication to this Gerrit
+    server. Currently this is only a polite request, and users coming
+    from providers that don’t support the PAPE extension will be
+    accepted anyway. In the future it may be enforced, rejecting users
+    coming from providers that don’t honor the max session age.
+    
+    If set to 0, the provider will always force the user to authenticate
+    (e.g. supply their password). Values should use common unit suffixes
+    to express their setting:
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+      - w, week, weeks (`1 week` is treated as `7 days`)
+    
+      - mon, month, months (`1 month` is treated as `30 days`)
+    
+      - y, year, years (`1 year` is treated as `365 days`)
+    
+    Default is -1, permitting infinite time between authentications.
+
+  - auth.registerEmailPrivateKey  
+    Private key to use when generating an email verification token.
+    
+    If not set, a random key is generated when running the [site
+    initialization](pgm-init.html).
+
+  - auth.maxRegisterEmailTokenAge  
+    Time in seconds before an email verification token sent to a user in
+    order to validate their email address expires.
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+      - w, week, weeks (`1 week` is treated as `7 days`)
+    
+      - mon, month, months (`1 month` is treated as `30 days`)
+    
+      - y, year, years (`1 year` is treated as `365 days`)
+    
+    Default is 12 hours.
+
+  - auth.openIdSsoUrl  
+    The SSO entry point URL. Only used if `auth.type` is set to
+    `OpenID_SSO`.
+    
+    The "Sign In" link will send users directly to this URL.
+
+  - auth.httpHeader  
+    HTTP header to trust the username from, or unset to select HTTP
+    basic authentication. Only used if `auth.type` is set to `HTTP`.
+
+  - auth.httpDisplaynameHeader  
+    HTTP header to retrieve the user’s display name from. Only used if
+    `auth.type` is set to `HTTP`.
+    
+    If set, Gerrit trusts and enforces the user’s full name using the
+    HTTP header and disables the ability to manually modify the user’s
+    full name from the contact information page.
+
+  - auth.httpEmailHeader  
+    HTTP header to retrieve the user’s e-mail from. Only used if
+    `auth.type` is set to `HTTP`.
+    
+    If set, Gerrit trusts and enforces the user’s e-mail using the HTTP
+    header and disables the ability to manually modify or register other
+    e-mails from the contact information page.
+
+  - auth.httpExternalIdHeader  
+    HTTP header to retrieve the user’s external identification token.
+    Only used if `auth.type` is set to `HTTP`.
+    
+    If set, Gerrit adds the value contained in the HTTP header to the
+    user’s identity. Typical use is with a federated identity token from
+    an external system (e.g. GitHub OAuth 2.0 authentication) where the
+    user’s auth token exchanged during authentication handshake needs to
+    be used for authenticated communication to the external system later
+    on.
+    
+    Example: `auth.httpExternalIdHeader: X-GitHub-OTP`
+
+  - auth.loginUrl  
+    URL to redirect a browser to after the end-user has clicked on the
+    login link in the upper right corner. Only used if `auth.type` is
+    set to `HTTP` or `HTTP_LDAP`. Organizations using an enterprise
+    single-sign-on solution may want to redirect the browser to the SSO
+    product’s sign-in page for completing the login process and validate
+    their credentials.
+    
+    If set, Gerrit allows anonymous access until the end-user performs
+    the login and provides a trusted identity through the HTTP header.
+    If not set, Gerrit requires the HTTP header with a trusted identity
+    and returns the error page *LoginRedirect.html* if such a header is
+    not present.
+
+  - auth.loginText  
+    Text displayed in the loginUrl link. Only used if `auth.loginUrl` is
+    set.
+    
+    If not set, the "Sign In" text is used.
+
+  - auth.registerPageUrl  
+    URL of the registration page to use when a new user logs in to
+    Gerrit for the first time. Used only when `auth.type` is set to
+    `HTTP`.
+    
+    If not set, the standard Gerrit registration page `/#/register/` is
+    displayed.
+
+  - auth.logoutUrl  
+    URL to redirect a browser to after the end-user has clicked on the
+    "Sign Out" link in the upper right corner. Organizations using an
+    enterprise single-sign-on solution may want to redirect the browser
+    to the SSO product’s sign-out page.
+    
+    If not set, the redirect returns to the list of all open changes.
+
+  - auth.registerUrl  
+    Target for the "Register" link in the upper right corner. Used only
+    when `auth.type` is `LDAP`, `LDAP_BIND` or `CUSTOM_EXTENSION`.
+    
+    If not set, no "Register" link is displayed.
+
+  - auth.registerText  
+    Text for the "Register" link in the upper right corner. Used only
+    when `auth.type` is `LDAP`, `LDAP_BIND` or `CUSTOM_EXTENSION`.
+    
+    If not set, defaults to "Register".
+
+  - auth.editFullNameUrl  
+    Target for the "Edit" button when the user is allowed to edit their
+    full name. Used only when `auth.type` is `LDAP`, `LDAP_BIND` or
+    `CUSTOM_EXTENSION`.
+
+  - auth.httpPasswordUrl  
+    Target for the "Obtain Password" link. Used only when `auth.type` is
+    `CUSTOM_EXTENSION`.
+
+  - auth.switchAccountUrl  
+    URL to switch user identities and login as a different account than
+    the currently active account. This is disabled by default except
+    when `auth.type` is `OPENID` and `DEVELOPMENT_BECOME_ANY_ACCOUNT`.
+    If set the "Switch Account" link is displayed next to "Sign Out".
+    
+    When `auth.type` does not normally enable this URL administrators
+    may set this to `login/`, allowing users to begin a new web session.
+    This value is used as an href in PolyGerrit and the GWT UI, so
+    absolute URLs like `https://someotherhost/login` work as well.
+    
+    currently viewed path in the link. Be aware that this path will
+    include a leading slash, so a value like this might be appropriate:
+    `/login${path}`.
+
+  - auth.cookiePath  
+    Sets "path" attribute of the authentication cookie.
+    
+    If not set, HTTP request’s path is used.
+
+  - auth.cookieDomain  
+    Sets "domain" attribute of the authentication cookie.
+    
+    If not set, HTTP request’s domain is used.
+
+  - auth.cookieSecure  
+    Sets "secure" flag of the authentication cookie. If true, cookies
+    will be transmitted only over HTTPS protocol.
+    
+    By default, false.
+
+  - auth.emailFormat  
+    Optional format string to construct user email addresses out of user
+    login names. Only used if `auth.type` is `HTTP`, `HTTP_LDAP` or
+    `LDAP`.
+    
+    This value can be set to a format string, where `{0}` is replaced
+    with the login name. E.g. "{0}+<gerrit@example>.com" with a user
+    login name of "foo" will produce "foo+<gerrit@example>.com" during
+    the first time user "foo" registers.
+    
+    If the site is using `HTTP_LDAP` or `LDAP`, using this option is
+    discouraged. Setting `ldap.accountEmailAddress` and importing the
+    email address from the LDAP directory is generally preferred.
+
+  - auth.contributorAgreements  
+    Controls whether or not the contributor agreement features are
+    enabled for the Gerrit site. If enabled a user must complete a
+    contributor agreement before they can upload changes.
+    
+    If enabled, the admin must also add one or more
+    [contributor-agreement sections](config-cla.html) in project.config
+    and create agreement files under `'$site_path'/static`, so users can
+    actually complete one or more agreements.
+    
+    By default this is false (no agreements are used).
+    
+    To enable the actual usage of contributor agreement the project
+    specific config option in the `project.config` must be set:
+    [receive.requireContributorAgreement](config-project-config.html).
+
+  - auth.trustContainerAuth  
+    If true then it is the responsibility of the container hosting
+    Gerrit to authenticate users. In this case Gerrit will blindly trust
+    the container.
+    
+    This parameter only affects git over http traffic. If set to false
+    then Gerrit will do the authentication (using Basic authentication).
+    
+    By default this is set to false.
+
+  - auth.gitBasicAuthPolicy  
+    When `auth.type` is `LDAP`, `LDAP_BIND` or `OAUTH`, it allows using
+    either the generated HTTP password, the LDAP or OAUTH password, or a
+    combination of HTTP and LDAP authentication, to authenticate Git
+    over HTTP and REST API requests. The supported values are:
+    
+    \*`HTTP`
+    
+    Only the HTTP password is accepted when doing Git over HTTP and REST
+    API requests.
+    
+    \*`LDAP`
+    
+    Only the `LDAP` password is allowed when doing Git over HTTP and
+    REST API requests.
+    
+    \*`OAUTH`
+    
+    Only the `OAUTH` authentication is allowed when doing Git over HTTP
+    and REST API requests.
+    
+    \*`HTTP_LDAP`
+    
+    The password in the request is first checked against the HTTP
+    password and, if it does not match, it is then validated against the
+    `LDAP` password.
+    
+    By default this is set to `LDAP` when [`auth.type`](#auth.type) is
+    `LDAP` and `OAUTH` when [`auth.type`](#auth.type) is `OAUTH`.
+    Otherwise, the default value is `HTTP`.
+
+  - auth.gitOAuthProvider  
+    Selects the OAuth 2 provider to authenticate git over HTTP traffic
+    with.
+    
+    In general there is no way to determine from an access token alone,
+    which OAuth 2 provider to address to verify that token, and the
+    BasicAuth scheme does not support amending such details. If multiple
+    OAuth provider plugins in a system offer support for git over HTTP
+    authentication site administrators must configure, which one to use
+    as default provider. In case the provider cannot be determined from
+    a request the access token will be sent to the default provider for
+    verification.
+    
+    The value of this parameter must be the identifier of an OAuth 2
+    provider in the form `plugin-name:provider-name`. Consult the
+    respective plugin documentation for details.
+
+  - auth.userNameToLowerCase  
+    If set the username that is received to authenticate a git operation
+    is converted to lower case for looking up the user account in
+    Gerrit.
+    
+    By setting this parameter a case insensitive authentication for the
+    git operations can be achieved, if it is ensured that the usernames
+    in Gerrit (scheme `username`) are stored in lower case (e.g. if the
+    parameter [ldap.accountSshUserName](#ldap.accountSshUserName) is set
+    to `${sAMAccountName.toLowerCase}`). It is important that for all
+    existing accounts this username is already in lower case. It is not
+    possible to convert the usernames of the existing accounts to lower
+    case because this would break the access to existing per-user
+    branches.
+    
+    This parameter only affects git over http and git over SSH traffic.
+    
+    By default this is set to false.
+
+  - auth.enableRunAs  
+    If true HTTP REST APIs will accept the `X-Gerrit-RunAs` HTTP request
+    header from any users granted the [Run
+    As](access-control.html#capability_runAs) capability. The header and
+    capability permit the authenticated user to impersonate another
+    account.
+    
+    If false the feature is disabled and cannot be re-enabled without
+    editing gerrit.config and restarting the server.
+    
+    Default is true.
+
+  - auth.allowRegisterNewEmail  
+    Whether users are allowed to register new email addresses.
+    
+    In addition for the HTTP authentication type
+    [auth.httpemailheader](#auth.httpemailheader) must **not** be set to
+    enable registration of new email addresses.
+    
+    By default, true.
+
+### Section cache
+
+  - cache.directory  
+    Path to a local directory where Gerrit can write cached entities for
+    future lookup. This local disk cache is used to retain potentially
+    expensive to compute information across restarts. If the location
+    does not exist, Gerrit will try to create it.
+    
+    Technically, cached entities are persisted as a set of H2 databases
+    inside this directory.
+    
+    If not absolute, the path is resolved relative to `$site_path`.
+    
+    Default is unset, no disk cache.
+
+  - cache.h2CacheSize  
+    The size of the in-memory cache for each opened H2 cache database,
+    in bytes.
+    
+    Some caches of Gerrit are persistent and are backed by an H2
+    database. H2 uses memory to cache its database content. The
+    parameter `h2CacheSize` allows to limit the memory used by H2 and
+    thus prevent out-of-memory caused by the H2 database using too much
+    memory.
+    
+    See [database.h2.cachesize](#database.h2.cachesize) for a detailed
+    discussion.
+    
+    Default is unset, using up to half of the available memory.
+    
+    H2 will persist this value in the database, so to unset explicitly
+    specify 0.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - cache.h2AutoServer  
+    If set to true, enable H2 autoserver mode for the H2-backed
+    persistent cache databases.
+    
+    See
+    [here](http://www.h2database.com/html/features.html#auto_mixed_mode)
+    for detail.
+    
+    Default is false.
+
+  - cache.\<name\>.maxAge  
+    Maximum age to keep an entry in the cache. Entries are removed from
+    the cache and refreshed from source data every maxAge interval.
+    Values should use common unit suffixes to express their setting:
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+      - w, week, weeks (`1 week` is treated as `7 days`)
+    
+      - mon, month, months (`1 month` is treated as `30 days`)
+    
+      - y, year, years (`1 year` is treated as `365 days`)
+    
+    If a unit suffix is not specified, `seconds` is assumed. If 0 is
+    supplied, the maximum age is infinite and items are never purged
+    except when the cache is full.
+    
+    Default is `0`, meaning store forever with no expire, except:
+    
+      - `"adv_bases"`: default is `10 minutes`
+    
+      - `"ldap_groups"`: default is `1 hour`
+    
+      - `"web_sessions"`: default is `12 hours`
+
+  - cache.\<name\>.memoryLimit  
+    The total cost of entries to retain in memory. The cost computation
+    varies by the cache. For most caches where the in-memory size of
+    each entry is relatively the same, memoryLimit is currently defined
+    to be the number of entries held by the cache (each entry costs 1).
+    
+    For caches where the size of an entry can vary significantly between
+    individual entries (notably `"diff"`, `"diff_intraline"`),
+    memoryLimit is an approximation of the total number of bytes stored
+    by the cache. Larger entries that represent bigger patch sets or
+    longer source files will consume a bigger portion of the
+    memoryLimit. For these caches the memoryLimit should be set to
+    roughly the amount of RAM (in bytes) the administrator can dedicate
+    to the cache.
+    
+    Default is 1024 for most caches, except:
+    
+      - `"adv_bases"`: default is `4096`
+    
+      - `"diff"`: default is `10m` (10 MiB of memory)
+    
+      - `"diff_intraline"`: default is `10m` (10 MiB of memory)
+    
+      - `"diff_summary"`: default is `10m` (10 MiB of memory)
+    
+      - `"plugin_resources"`: default is 2m (2 MiB of memory)
+    
+    If set to 0 the cache is disabled. Entries are removed immediately
+    after being stored by the cache. This is primarily useful for
+    testing.
+
+  - cache.\<name\>.diskLimit  
+    Total size in bytes of the keys and values stored on disk. Caches
+    that have grown bigger than this size are scanned daily at 1 AM
+    local server time to trim the cache. Entries are removed in least
+    recently accessed order until the cache fits within this limit.
+    Caches may grow larger than this during the day, as the size check
+    is only performed once every 24 hours.
+    
+    Default is 128 MiB per cache, except:
+    
+      - `"diff_summary"`: default is `1g` (1 GiB of disk space)
+    
+    If 0, disk storage for the cache is disabled.
+
+#### Standard Caches
+
+  - cache `"accounts"`  
+    Cache entries contain important details of an active user, including
+    their display name, preferences, known email addresses, and group
+    memberships. Entry information is obtained from the following
+    database tables:
+    
+      - `accounts`
+    
+      - `account_group_members`
+    
+    If direct updates are made to any of these database tables, this
+    cache should be flushed.
+
+  - cache `"adv_bases"`  
+    Used only for push over smart HTTP when branch level access controls
+    are enabled. The cache entry contains all commits that are available
+    for the client to use as potential delta bases. Push over smart HTTP
+    requires two HTTP requests, and this cache tries to carry state from
+    the first request into the second to ensure it can complete.
+
+  - cache `"changes"`  
+    The size of `memoryLimit` determines the number of projects for
+    which all changes will be cached. If the cache is set to 1024, this
+    means all changes for up to 1024 projects can be held in the cache.
+    
+    Default value is 0 (disabled). It is disabled by default due to the
+    fact that change updates are not communicated between Gerrit
+    servers. Hence this cache should be disabled in an
+    multi-master/multi-slave setup.
+    
+    The cache should be flushed whenever the database changes table is
+    modified outside of Gerrit.
+
+  - cache `"diff"`  
+    Each item caches the differences between two commits, at both the
+    directory and file levels. Gerrit uses this cache to accelerate the
+    display of affected file names, as well as file contents.
+    
+    Entries in this cache are relatively large, so memoryLimit is an
+    estimate in bytes of memory used. Administrators should try to
+    target cache.diff.memoryLimit to fit all changes users will view in
+    a 1 or 2 day span.
+
+  - cache `"diff_intraline"`  
+    Each item caches the intraline difference of one file, when compared
+    between two commits. Gerrit uses this cache to accelerate display of
+    intraline differences when viewing a file.
+    
+    Entries in this cache are relatively large, so memoryLimit is an
+    estimate in bytes of memory used. Administrators should try to
+    target cache.diff.memoryLimit to fit all files users will view in a
+    1 or 2 day span.
+
+  - cache `"diff_summary"`  
+    Each item caches list of file paths which are different between two
+    commits. Gerrit uses this cache to accelerate computing of the list
+    of paths of changed files.
+    
+    Ideally, disk limit of this cache is large enough to cover all
+    changes. This should significantly speed up change reindexing,
+    especially full offline reindexing.
+
+  - cache `"git_tags"`  
+    If branch or reference level READ access controls are used, this
+    cache tracks which tags are reachable from the branch tips of a
+    repository. Gerrit uses this information to determine the set of
+    tags that a client may access, derived from which tags are part of
+    the history of a visible branch.
+    
+    The cache is persisted to disk across server restarts as it can be
+    expensive to compute (60 or more seconds for a large history like
+    the Linux kernel repository).
+
+  - cache `"groups"`  
+    Caches the basic group information from the `account_groups` table,
+    including the group owner, name, and description.
+    
+    Gerrit group membership obtained from the `account_group_members`
+    table is cached under the `"accounts"` cache, above. External group
+    membership obtained from LDAP is cached under `"ldap_groups"`.
+
+  - cache `"groups_byinclude"`  
+    Caches group inclusions in other groups. If direct updates are made
+    to the `account_group_includes` table, this cache should be flushed.
+
+  - cache `"groups_members"`  
+    Caches subgroups. If direct updates are made to the
+    `account_group_includes` table, this cache should be flushed.
+
+  - cache `"ldap_groups"`  
+    Caches the LDAP groups that a user belongs to, if LDAP has been
+    configured on this server. This cache should be configured with a
+    low maxAge setting, to ensure LDAP modifications are picked up in a
+    timely fashion.
+
+  - cache `"ldap_groups_byinclude"`  
+    Caches the hierarchical structure of LDAP groups.
+
+  - cache `"ldap_usernames"`  
+    Caches a mapping of LDAP username to Gerrit account identity. The
+    cache automatically updates when a user first creates their account
+    within Gerrit, so the cache expire time is largely irrelevant.
+
+  - cache `"permission_sort"`  
+    Caches the order in which access control sections must be applied to
+    a reference. Sorting the sections can be expensive when regular
+    expressions are used, so this cache remembers the ordering for each
+    branch.
+
+  - cache `"plugin_resources"`  
+    Caches formatted plugin resources, such as plugin documentation that
+    has been converted from Markdown to HTML. The memoryLimit refers to
+    the bytes of memory dedicated to storing the documentation.
+
+  - cache `"projects"`  
+    Caches the project description records, from the `projects` table in
+    the database. If a project record is updated or deleted, this cache
+    should be flushed. Newly inserted projects do not require a cache
+    flush, as they will be read upon first reference.
+
+  - cache `"sshkeys"`  
+    Caches unpacked versions of user SSH keys, so the internal SSH
+    daemon can match against them during authentication. The unit of
+    storage is per-user, so 1024 items translates to 1024 unique user
+    accounts. As each individual user account may configure multiple SSH
+    keys, the total number of keys may be larger than the item count.
+
+  - cache `"web_sessions"`  
+    Tracks the live user sessions coming in over HTTP. Flushing this
+    cache would cause all users to be signed out immediately, forcing
+    them to sign-in again. To avoid breaking active users, this cache is
+    not flushed automatically by `gerrit flush-caches --all`, but
+    instead must be explicitly requested.
+    
+    If no disk cache is configured (or `cache.web_sessions.diskLimit` is
+    set to 0) a server restart will force all users to sign-out, and
+    need to sign-in again after the restart, as the cache was unable to
+    persist the session information. Enabling a disk cache is strongly
+    recommended.
+    
+    Session storage is relatively inexpensive. The average entry in this
+    cache is approximately 346 bytes.
+
+See also [gerrit flush-caches](cmd-flush-caches.html).
+
+#### Cache Options
+
+  - cache.diff.timeout  
+    Maximum number of milliseconds to wait for diff data before giving
+    up and falling back on a simpler diff algorithm that will not be
+    able to break down modified regions into smaller ones. This is a
+    work around for an infinite loop bug in the default difference
+    algorithm implementation.
+    
+    Values should use common unit suffixes to express their setting:
+    
+      - ms, milliseconds
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+    If a unit suffix is not specified, `milliseconds` is assumed.
+    
+    Default is 5 seconds.
+
+  - cache.diff\_intraline.timeout  
+    Maximum number of milliseconds to wait for intraline difference data
+    before giving up and disabling it for a particular file pair. This
+    is a work around for an infinite loop bug in the intraline
+    difference implementation.
+    
+    If computation takes longer than the timeout, the worker thread is
+    terminated, an error message is shown, and no intraline difference
+    is displayed for the file pair.
+    
+    Values should use common unit suffixes to express their setting:
+    
+      - ms, milliseconds
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+    If a unit suffix is not specified, `milliseconds` is assumed.
+    
+    Default is 5 seconds.
+
+  - cache.diff\_intraline.enabled  
+    Boolean to enable or disable the computation of intraline
+    differences when populating a diff cache entry. This flag is
+    provided primarily as a backdoor to disable the intraline difference
+    feature if necessary. To maintain backwards compatibility with prior
+    versions, this setting will fallback to `cache.diff.intraline` if
+    not set in the configuration.
+    
+    Default is true, enabled.
+
+  - cache.projects.checkFrequency  
+    How often project configuration should be checked for update from
+    Git. Gerrit Code Review caches project access rules and
+    configuration in memory, checking the refs/meta/config branch every
+    checkFrequency minutes to see if a new revision should be loaded and
+    used for future access. Values can be specified using standard time
+    unit abbreviations (*ms*, *sec*, *min*, etc.).
+    
+    If set to 0, checks occur every time, which may slow down
+    operations. If set to *disabled* or *off*, no check will ever be
+    done. Administrators may force the cache to flush with [gerrit
+    flush-caches](cmd-flush-caches.html).
+    
+    Default is 5 minutes.
+
+  - cache.projects.loadOnStartup  
+    If the project cache should be loaded during server startup.
+    
+    The cache is loaded concurrently. Admins should ensure that the
+    cache size set under
+    [cache.projects.memoryLimit](#cache.name.memoryLimit) is not smaller
+    than the number of repos.
+    
+    Default is false, disabled.
+
+  - cache.projects.loadThreads  
+    Only relevant if
+    [cache.projects.loadOnStartup](#cache.projects.loadOnStartup) is
+    true.
+    
+    The number of threads to allocate for loading the cache at startup.
+    These threads will die out after the cache is loaded.
+    
+    Default is the number of CPUs.
+
+### Section capability
+
+  - capability.administrateServer  
+    Names of groups of users that are allowed to exercise the
+    `administrateServer` capability, in addition to those listed in
+    All-Projects. Configuring this option can be a useful fail-safe to
+    recover a server in the event an administrator removed all groups
+    from the `administrateServer` capability, or to ensure that specific
+    groups always have administration capabilities.
+    
+        [capability]
+          administrateServer = group Fail Safe Admins
+    
+    The configuration file uses group names, not UUIDs. If a group is
+    renamed the gerrit.config file must be updated to reflect the new
+    name. If a group cannot be found for the configured name a warning
+    is logged and the server will continue normal startup.
+    
+    If not specified (default), only the groups listed by All-Projects
+    may use the `administrateServer` capability.
+
+  - capability.makeFirstUserAdmin  
+    Whether the first user that logs in to the Gerrit server should
+    automatically be added to the administrator group and hence get the
+    `administrateServer` capability assigned. This is useful to
+    bootstrap the authentication database.
+    
+    Default is true.
+
+### Section change
+
+  - change.largeChange  
+    Number of changed lines from which on a change is considered as a
+    large change. The number of changed lines of a change is the sum of
+    the lines that were inserted and deleted in the change.
+    
+    The specified value is used to visualize the change sizes in the Web
+    UI in change tables and user dashboards.
+    
+    By default 500.
+
+  - change.updateDelay  
+    How often in seconds the web interface should poll for updates to
+    the currently open change. The poller relies on the client’s browser
+    cache to use If-Modified-Since and respect `304 Not Modified` HTTP
+    responses. This allows for fast polls, often under 8 milliseconds.
+    
+    With a configured 30 second delay a server with 4900 active users
+    will typically need to dedicate 1 CPU to the update check. 4900
+    users divided by an average delay of 30 seconds is 163 requests
+    arriving per second. If requests are served at ~6 ms response time,
+    1 CPU is necessary to keep up with the update request traffic. On a
+    smaller user base of 500 active users, the default 30 second delay
+    is only 17 requests per second and requires ~10% CPU.
+    
+    If 0 the update polling is disabled.
+    
+    Default is 5 minutes.
+
+  - change.allowBlame  
+    Allow blame on side by side diff. If set to false, blame cannot be
+    used.
+    
+    Default is true.
+
+  - change.allowDrafts  
+    Allow drafts workflow. If set to false, drafts cannot be created,
+    deleted or published.
+    
+    Default is true.
+
+  - change.cacheAutomerge  
+    When reviewing diff commits, the left-hand side shows the output of
+    the result of JGit’s automatic merge algorithm. This option controls
+    whether this output is cached in the change repository, or if only
+    the diff is cached in the persistent `diff` cache.
+    
+    If true, automerge results are stored in the repository under
+    `refs/cache-automerge/*`; the results of diffing the change against
+    its automerge base are stored in the diff cache. If false, no extra
+    data is stored in the repository, only the diff cache. This can
+    result in slight performance improvements by reducing the number of
+    refs in the repo.
+    
+    Default is true.
+
+  - change.showAssigneeInChangesTable  
+    Show assignee field in changes table. If set to false, assignees
+    will not be visible in changes table.
+    
+    Default is false.
+
+  - change.submitLabel  
+    Label name for the submit button.
+    
+    Default is "Submit".
+
+  - change.submitLabelWithParents  
+    Label name for the submit button if the change has parents which
+    will be submitted together with this change.
+    
+    Default is "Submit including parents".
+
+  - change.submitTooltip  
+    Tooltip for the submit button. Variables available for replacement
+    include `${patchSet}` for the current patch set number (1, 2, 3),
+    `${branch}` for the branch name ("master") and `${commit}` for the
+    abbreviated commit SHA-1 (`c9c0edb`).
+
+  - change.submitTooltipAncestors  
+    Tooltip for the submit button if there are ancestors which would
+    also be submitted by submitting the change. Additionally to the
+    variables as in [change.submitTooltip](#change.submitTooltip), there
+    is the variable `${submitSize}` indicating the number of changes
+    which are submitted.
+    
+    changes including ancestors and other changes related by topic)".
+
+  - change.submitWholeTopic  
+    Determines if the submit button submits the whole topic instead of
+    just the current change.
+    
+    Default is false.
+
+  - change.submitTopicLabel  
+    If `change.submitWholeTopic` is set and a change has a topic, the
+    label name for the submit button is given here instead of the
+    configuration `change.submitLabel`.
+    
+    Defaults to "Submit whole topic"
+
+  - change.submitTopicTooltip  
+    If `change.submitWholeTopic` is configured to true and a change has
+    a topic, this configuration determines the tooltip for the submit
+    button instead of `change.submitTooltip`. The variable
+    `${topicSize}` is available for the number of changes in the same
+    topic to be submitted. The number of all changes to be submitted is
+    in the variable `${submitSize}`.
+    
+    changes related by topic)".
+
+  - change.replyLabel  
+    Label name for the reply button. In the user interface an ellipsis
+    (…) is appended.
+    
+    Default is "Reply". In the user interface it becomes "Reply…".
+
+  - change.replyTooltip  
+    Tooltip for the reply button. In the user interface a note about the
+    keyboard shortcut is appended.
+    
+    Default is "Reply and score". In the user interface it becomes
+    "Reply and score (Shortcut: a)".
+
+  - change.robotCommentSizeLimit  
+    Maximum allowed size of a robot comment that will be accepted. Robot
+    comments which exceed the indicated size will be rejected on
+    addition. The specified value is interpreted as the maximum size in
+    bytes of the JSON representation of the robot comment. Common unit
+    suffixes of *k*, *m*, or *g* are supported. Zero or negative values
+    allow robot comments of unlimited size.
+    
+    The default limit is 1024kB.
+
+### Section changeCleanup
+
+This section allows to configure change cleanups and schedules them to
+run periodically.
+
+  - changeCleanup.abandonAfter  
+    Period of inactivity after which open changes should be abandoned
+    automatically.
+    
+    By default `0`, never abandon open changes.
+    
+    \[WARNING\] Auto-Abandoning changes may confuse/annoy users. When
+    enabling this, make sure to choose a reasonably large grace period
+    and inform users in advance.
+    
+    The following suffixes are supported to define the time unit:
+    
+      - `d, day, days`
+    
+      - `w, week, weeks` (`1 week` is treated as `7 days`)
+    
+      - `mon, month, months` (`1 month` is treated as `30 days`)
+    
+      - `y, year, years` (`1 year` is treated as `365 days`)
+
+  - changeCleanup.abandonIfMergeable  
+    Whether changes which are mergeable should be auto-abandoned.
+    
+    By default `true`.
+
+  - changeCleanup.abandonMessage  
+    Change message that should be posted when a change is abandoned.
+    
+    By default "Auto-Abandoned due to inactivity, see If this change is
+    still wanted it should be restored.".
+
+  - changeCleanup.startTime  
+    Start time to define the first execution of the change cleanups. If
+    the configured `'changeCleanup.interval'` is shorter than
+    `'changeCleanup.startTime - now'` the start time will be preponed by
+    the maximum integral multiple of `'changeCleanup.interval'` so that
+    the start time is still in the future.
+    
+        <day of week> <hours>:<minutes>
+        or
+        <hours>:<minutes>
+        
+        <day of week> : Mon, Tue, Wed, Thu, Fri, Sat, Sun
+        <hours>       : 00-23
+        <minutes>     : 0-59
+
+  - changeCleanup.interval  
+    Interval for periodic repetition of triggering the change cleanups.
+    The interval must be larger than zero. The following suffixes are
+    supported to define the time unit for the interval:
+    
+      - `s, sec, second, seconds`
+    
+      - `m, min, minute, minutes`
+    
+      - `h, hr, hour, hours`
+    
+      - `d, day, days`
+    
+      - `w, week, weeks` (`1 week` is treated as `7 days`)
+    
+      - `mon, month, months` (`1 month` is treated as `30 days`)
+    
+      - `y, year, years` (`1 year` is treated as `365 days`)
+
+[Schedule examples](#schedule-examples) can be found in the [gc](#gc)
+section.
+
+### Section changeMerge
+
+  - changeMerge.checkFrequency  
+    How often the database should be rescanned for changes that have
+    been submitted but not merged due to transient errors. Values can be
+    specified using standard time unit abbreviations (*ms*, *sec*,
+    *min*, etc.). Set to 0 to disable periodic rescanning, only scanning
+    once on master node startup.
+    
+    Default is 300 seconds (5 minutes).
+
+### Section commentlink
+
+Comment links are find/replace strings applied to change descriptions,
+patch comments, in-line code comments and approval category value
+descriptions to turn set strings into hyperlinks. One common use is for
+linking to bug-tracking systems.
+
+In the following example configuration the *changeid* comment link will
+match typical Gerrit Change-Id values and create a hyperlink to changes
+which reference it. The second configuration *bugzilla* will hyperlink
+terms such as *bug 42* to an external bug tracker, supplying the
+argument record number *42* for display. The third configuration
+*tracker* uses raw HTML to more precisely control how the replacement is
+displayed to the user.
+
+    [commentlink "changeid"]
+      match = (I[0-9a-f]{8,40})
+      link = "#/q/$1"
+    
+    [commentlink "bugzilla"]
+      match = "(bug\\s+#?)(\\d+)"
+      link = http://bugs.example.com/show_bug.cgi?id=$2
+    
+    [commentlink "tracker"]
+      match = ([Bb]ug:\\s+)(\\d+)
+      html = $1<a href=\"http://trak.example.com/$2\">$2</a>
+
+Comment links can also be specified in `project.config` and sections in
+children override those in parents. The only restriction is that to
+avoid injecting arbitrary user-supplied HTML in the page, comment links
+defined in `project.config` may only supply `link`, not `html`.
+
+  - commentlink.\<name\>.match  
+    A JavaScript regular expression to match positions to be replaced
+    with a hyperlink. Subexpressions of the matched string can be stored
+    using groups and accessed with `$'n'` syntax, where *n* is the group
+    number, starting from 1.
+    
+    The configuration file parser eats one level of backslashes, so the
+    character class `\s` requires `\\s` in the configuration file. The
+    parser also terminates the line at the first `#`, so a match
+    expression containing \# must be wrapped in double quotes.
+    
+    To match case insensitive strings, a character class with both the
+    upper and lower case character for each position must be used. For
+    example, to match the string `bug` in a case insensitive way the
+    match pattern `[bB][uU][gG]` needs to be used.
+    
+    The regular expression pattern is applied to the HTML form of the
+    message in question, which means it needs to assume the data has
+    been escaped. So `"` needs to be matched as `&amp;quot;`, `<` as
+    `&amp;lt;`, and `'` as `&amp;#39;`.
+    
+    A common pattern to match is `bug\\s+(\\d+)`.
+
+  - commentlink.\<name\>.link  
+    The URL to direct the user to whenever the regular expression is
+    matched. Groups in the match expression may be accessed as `$'n'`.
+    
+    The link property is used only when the html property is not
+    present.
+
+  - commentlink.\<name\>.html  
+    HTML to replace the entire matched string with. If present, this
+    property overrides the link property above. Groups in the match
+    expression may be accessed as `$'n'`.
+    
+    The configuration file eats double quotes, so escaping them as `\"`
+    is necessary to protect them from the parser.
+
+  - commentlink.\<name\>.enabled  
+    Whether the comment link is enabled. A child project may override a
+    section in a parent or the site-wide config that is disabled by
+    specifying `enabled = true`.
+    
+    Disabling sections in `gerrit.config` can be used by site
+    administrators to create a library of comment links with `html` set
+    that are not user-supplied and thus can be verified to be XSS-free,
+    but are only enabled for a subset of projects.
+    
+    By default, true.
+    
+    Note that the names and contents of disabled sections are visible
+    even to anonymous users via the [REST
+    API](rest-api-projects.html#get-config).
+
+### Section container
+
+These settings are applied only if Gerrit is started as the container
+process through Gerrit’s *gerrit.sh* rc.d compatible wrapper script.
+
+  - container.heapLimit  
+    Maximum heap size of the Java process running Gerrit, in bytes. This
+    property is translated into the *-Xmx* flag for the JVM.
+    
+    Default is platform and JVM specific.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - container.javaHome  
+    Path of the JRE/JDK installation to run Gerrit with. If not set, the
+    Gerrit startup script will attempt to search your system and guess a
+    suitable JRE. Overrides the environment variable *JAVA\_HOME*.
+
+  - container.javaOptions  
+    Additional options to pass along to the Java runtime. If multiple
+    values are configured, they are passed in order on the command line,
+    separated by spaces. These options are appended onto
+    *JAVA\_OPTIONS*.
+
+For example, it is possible to overwrite Gerrit’s default log4j
+configuration:
+
+``` 
+  javaOptions = -Dlog4j.configuration=file:///home/gerrit/site/etc/log4j.properties
+```
+
+  - container.daemonOpt  
+    Additional options to pass to the daemon (e.g. *--enable-httpd*). If
+    multiple values are configured, they are passed in that order to the
+    command line, separated by spaces.
+    
+    Execute `java -jar gerrit.war daemon --help` to see all possible
+    options.
+
+  - container.slave  
+    Used on Gerrit slave installations. If set to true the Gerrit JVM is
+    called with the *--slave* switch, enabling slave mode. If no value
+    is set (or any other value), Gerrit defaults to master mode.
+
+  - container.startupTimeout  
+    The maximum time (in seconds) to wait for a gerrit.sh start command
+    to run a new Gerrit daemon successfully. If not set, defaults to 90
+    seconds.
+
+  - container.user  
+    Login name (or UID) of the operating system user the Gerrit JVM will
+    execute as. If not set, defaults to the user who launched the
+    *gerrit.sh* wrapper script.
+
+  - container.war  
+    Path of the JAR file to start daemon execution with. This should be
+    the path of the local *gerrit.war* archive. Overrides the
+    environment variable *GERRIT\_WAR*.
+    
+    If not set, defaults to *$site\_path/bin/gerrit.war*, or to
+    *$HOME/gerrit.war*.
+
+### Section core
+
+  - core.packedGitWindowSize  
+    Number of bytes of a pack file to load into memory in a single read
+    operation. This is the "page size" of the JGit buffer cache, used
+    for all pack access operations. All disk IO occurs as single window
+    reads. Setting this too large may cause the process to load more
+    data than is required; setting this too small may increase the
+    frequency of `read()` system calls.
+    
+    Default on JGit is 8 KiB on all platforms.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - core.packedGitLimit  
+    Maximum number of bytes to load and cache in memory from pack files.
+    If JGit needs to access more than this many bytes it will unload
+    less frequently used windows to reclaim memory space within the
+    process. As this buffer must be shared with the rest of the JVM
+    heap, it should be a fraction of the total memory available.
+    
+    Default on JGit is 10 MiB on all platforms.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - core.deltaBaseCacheLimit  
+    Maximum number of bytes to reserve for caching base objects that
+    multiple deltafied objects reference. By storing the entire
+    decompressed base object in a cache Git is able to avoid unpacking
+    and decompressing frequently used base objects multiple times.
+    
+    Default on JGit is 10 MiB on all platforms. You probably do not need
+    to adjust this value.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - core.packedGitOpenFiles  
+    Maximum number of pack files to have open at once. A pack file must
+    be opened in order for any of its data to be available in a cached
+    window.
+    
+    If you increase this to a larger setting you may need to also adjust
+    the ulimit on file descriptors for the host JVM, as Gerrit needs
+    additional file descriptors available for network sockets and other
+    repository data manipulation.
+    
+    Default on JGit is 128 file descriptors on all platforms.
+
+  - core.streamFileThreshold  
+    Largest object size, in bytes, that JGit will allocate as a
+    contiguous byte array. Any file revision larger than this threshold
+    will have to be streamed, typically requiring the use of temporary
+    files under *$GIT\_DIR/objects* to implement pseudo-random access
+    during delta decompression.
+    
+    Servers with very high traffic should set this to be larger than the
+    size of their common big files. For example a server managing the
+    Android platform typically has to deal with ~10-12 MiB XML files, so
+    `15 m` would be a reasonable setting in that environment. Setting
+    this too high may cause the JVM to run out of heap space when
+    handling very big binary files, such as device firmware or CD-ROM
+    ISO images.
+    
+    Defaults to 25% of the available JVM heap, limited to 2048m.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - core.packedGitMmap  
+    When true, JGit will use `mmap()` rather than `malloc()+read()` to
+    load data from pack files. The use of mmap can be problematic on
+    some JVMs as the garbage collector must deduce that a memory mapped
+    segment is no longer in use before a call to `munmap()` can be made
+    by the JVM native code.
+    
+    In server applications (such as Gerrit) that need to access many
+    pack files, setting this to true risks artificially running out of
+    virtual address space, as the garbage collector cannot reclaim
+    unused mapped spaces fast enough.
+    
+    Default on JGit is false. Although potentially slower, it yields
+    much more predictable behavior.
+
+  - core.asyncLoggingBufferSize  
+    Size of the buffer to store logging events for asynchronous logging.
+    Putting a larger value can protect threads from stalling when the
+    AsyncAppender threads are not fast enough to consume the logging
+    events from the buffer. It also protects from losing log entries in
+    this case.
+    
+    Default is 64 entries.
+
+  - core.useRecursiveMerge  
+    Use JGit’s recursive merger for three-way merges. This only affects
+    projects that allow content merges.
+    
+    As explained in this
+    [blog](http://codicesoftware.blogspot.com/2011/09/merge-recursive-strategy.html),
+    the recursive merge produces better results if the two commits that
+    are merged have more than one common predecessor.
+    
+    Default is true.
+
+  - core.repositoryCacheCleanupDelay  
+    Delay between each periodic cleanup of expired repositories.
+    
+    Values can be specified using standard time unit abbreviations
+    (`ms`, `sec`, `min`, etc.).
+    
+    Set it to 0 in order to switch off cache expiration. If cache
+    expiration is switched off, the JVM can still evict cache entries
+    when it is running low on available heap memory.
+    
+    Set it to -1 to automatically derive cleanup delay from
+    `core.repositoryCacheExpireAfter` (lowest value between 1/10 of
+    `core.repositoryCacheExpireAfter` and 10 minutes).
+    
+    Default is -1.
+
+  - core.repositoryCacheExpireAfter  
+    Time an unused repository should expire and be evicted from the
+    repository cache.
+    
+    Values can be specified using standard time unit abbreviations
+    (`ms`, `sec`, `min`, etc.).
+    
+    Default is 1 hour.
+
+### Section database
+
+The database section configures where Gerrit stores its metadata records
+about user accounts and change reviews.
+
+    [database]
+      type = POSTGRESQL
+      hostname = localhost
+      database = reviewdb
+      username = gerrit
+      password = s3kr3t
+
+  - database.type  
+    Type of database server to connect to. If set this value will be
+    used to automatically create correct database.driver and
+    database.url values to open the connection.
+    
+      - `DB2`
+        
+        Connect to a DB2 database server.
+    
+      - `DERBY`
+        
+        Connect to an Apache Derby database server.
+    
+      - `H2`
+        
+        Connect to a local embedded H2 database.
+    
+      - `JDBC`
+        
+        Connect using a JDBC driver class name and URL.
+    
+      - `MAXDB`
+        
+        Connect to an SAP MaxDB database server.
+    
+      - `MYSQL`
+        
+        Connect to a MySQL database server.
+    
+      - `MARIADB`
+        
+        Connect to a MariaDB database server.
+    
+      - `ORACLE`
+        
+        Connect to an Oracle database server.
+    
+      - `POSTGRESQL`
+        
+        Connect to a PostgreSQL database server.
+    
+    If not specified, database.driver and database.url are used as-is,
+    and if they are also not specified, defaults to H2.
+
+  - database.hostname  
+    Hostname of the database server. Defaults to *localhost*.
+
+  - database.port  
+    Port number of the database server. Defaults to the default port of
+    the server named by database.type.
+
+  - database.database  
+    For POSTGRESQL or MYSQL, the name of the database on the server.
+    
+    For H2, this is the path to the database, and if not absolute is
+    relative to `'$site_path'`.
+
+  - database.username  
+    Username to connect to the database server as.
+
+  - database.password  
+    Password to authenticate to the database server with.
+
+  - database.driver  
+    Name of the JDBC driver class to connect to the database with.
+    Setting this usually isn’t necessary as it can be derived from
+    database.type or database.url for any supported database.
+
+  - database.url  
+    *jdbc:* URL for the database. Setting this variable usually isn’t
+    necessary as it can be constructed from the all of the above
+    properties.
+
+  - database.connectionPool  
+    If true, use connection pooling for database connections. Otherwise,
+    a new database connection is opened for each request.
+    
+    Default is false for MySQL, and true for other database backends.
+
+  - database.poolLimit  
+    Maximum number of open database connections. If the server needs
+    more than this number, request processing threads will wait up to
+    [poolMaxWait](#database.poolMaxWait) seconds for a connection to be
+    released before they abort with an exception. This limit must be
+    several units higher than the total number of httpd and sshd threads
+    as some request processing code paths may need multiple connections.
+    
+    Default is [sshd.threads](#sshd.threads) +
+    [httpd.maxThreads](#httpd.maxThreads) + 2.
+    
+    This setting only applies if
+    [database.connectionPool](#database.connectionPool) is true.
+
+  - database.poolMinIdle  
+    Minimum number of connections to keep idle in the pool. Default is
+    4.
+    
+    This setting only applies if
+    [database.connectionPool](#database.connectionPool) is true.
+
+  - database.poolMaxIdle  
+    Maximum number of connections to keep idle in the pool. If there are
+    more idle connections, connections will be closed instead of being
+    returned back to the pool. Default is
+    min([database.poolLimit](#database.poolLimit), 16).
+    
+    This setting only applies if
+    [database.connectionPool](#database.connectionPool) is true.
+
+  - database.poolMaxWait  
+    Maximum amount of time a request processing thread will wait to
+    acquire a database connection from the pool. If no connection is
+    released within this time period, the processing thread will abort
+    its current operations and return an error to the client. Values
+    should use common unit suffixes to express their setting:
+    
+      - ms, milliseconds
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+    If a unit suffix is not specified, `milliseconds` is assumed.
+    
+    Default is `30 seconds`.
+    
+    This setting only applies if
+    [database.connectionPool](#database.connectionPool) is true.
+
+  - database.dataSourceInterceptorClass  
+    Class that implements DataSourceInterceptor interface to monitor SQL
+    activity. This class must have default constructor and be available
+    on Gerrit’s bootstrap classpath, e. g. in `$gerrit_site/lib`
+    directory. Example implementation of SQL monitoring can be found in
+    javamelody-plugin.
+
+  - database.h2  
+    The settings in this section are used for the reviewdb if the
+    [database.type](#database.type) is H2.
+    
+    Additionally gerrit uses H2 for storing reviewed flags on changes.
+
+  - database.h2.cacheSize  
+    The size of the H2 internal database cache, in bytes. The H2
+    internal cache for persistent H2-backed caches is controlled by
+    [cache.h2CacheSize](#cache.h2CacheSize).
+    
+    H2 uses memory to cache its database content. The parameter
+    `cacheSize` allows to limit the memory used by H2 and thus prevent
+    out-of-memory caused by the H2 database using too much memory.
+    
+    Technically the H2 cache size is configured using the CACHE\_SIZE
+    parameter in the H2 JDBC connection URL, as described
+    [here](http://www.h2database.com/html/features.html#cache_settings)
+    
+    Default is unset, using up to half of the available memory.
+    
+    H2 will persist this value in the database, so to unset explicitly
+    specify 0.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - database.h2.autoServer  
+    If `true` enable the automatic mixed mode (see [Automatic Mixed
+    Mode](http://www.h2database.com/html/features.html#auto_mixed_mode)).
+    This enables concurrent access to the embedded H2 database from
+    command line utils (e.g. MigrateToNoteDb).
+    
+    Default is `false`.
+
+### Section download
+
+    [download]
+      command = checkout
+      command = cherry_pick
+      command = pull
+      command = format_patch
+      scheme = ssh
+      scheme = http
+      scheme = anon_http
+      scheme = anon_git
+      scheme = repo_download
+
+The download section configures the allowed download methods.
+
+  - download.command  
+    Commands that should be offered to download changes.
+    
+    Multiple commands are supported:
+    
+      - `checkout`
+        
+        Command to fetch and checkout the patch set.
+    
+      - `cherry_pick`
+        
+        Command to fetch the patch set and to cherry-pick it onto the
+        current commit.
+    
+      - `pull`
+        
+        Command to pull the patch set.
+    
+      - `format_patch`
+        
+        Command to fetch the patch set and to feed it into the
+        `format-patch` command.
+    
+    If `download.command` is not specified, all download commands are
+    offered.
+
+  - download.scheme  
+    Schemes that should be used to download changes.
+    
+    Multiple schemes are supported:
+    
+      - `http`
+        
+        Authenticated HTTP download is allowed.
+    
+      - `ssh`
+        
+        Authenticated SSH download is allowed.
+    
+      - `anon_http`
+        
+        Anonymous HTTP download is allowed.
+    
+      - `anon_git`
+        
+        Anonymous Git download is allowed. This is not default, it is
+        also necessary to set
+        [gerrit.canonicalGitUrl](#gerrit.canonicalGitUrl) variable.
+    
+      - `repo_download`
+        
+        Gerrit advertises patch set downloads with the `repo download`
+        command, assuming that all projects managed by this instance are
+        generally worked on with the repo multi-repository tool. This is
+        not default, as not all instances will deploy repo.
+    
+    If `download.scheme` is not specified, SSH, HTTP and Anonymous HTTP
+    downloads are allowed.
+
+  - download.checkForHiddenChangeRefs  
+    Whether the download commands should be adapted when the change refs
+    are hidden.
+    
+    Git has a configuration option to hide refs from the initial
+    advertisement (`uploadpack.hideRefs`). This option can be used to
+    hide the change refs from the client. As consequence fetching
+    changes by change ref does not work anymore. However by setting
+    `uploadpack.allowTipSha1InWant` to `true` fetching changes by commit
+    ID is possible. If `download.checkForHiddenChangeRefs` is set to
+    `true` the git download commands use the commit ID instead of the
+    change ref when a project is configured like this.
+    
+    Example git configuration on a project:
+    
+        [uploadpack]
+          hideRefs = refs/changes/
+          hideRefs = refs/cache-automerge/
+          allowTipSha1InWant = true
+    
+    By default `false`.
+
+  - download.archive  
+    Specifies which archive formats, if any, should be offered on the
+    change screen and supported for `git-upload-archive` operation:
+    
+        [download]
+          archive = tar
+          archive = tbz2
+          archive = tgz
+          archive = txz
+          archive = zip
+
+If `download.archive` is not specified defaults to all archive commands.
+Set to `off` or empty string to disable.
+
+Zip is not supported because it may be interpreted by a Java plugin as a
+valid JAR file, whose code would have access to cookies on the domain.
+For this reason `zip` format is always excluded from formats offered
+through the `Download` drop down or accessible in the REST API.
+
+  - download.maxBundleSize  
+    Specifies the maximum size of a bundle in bytes that can be
+    downloaded. As bundles are kept in memory this setting is to protect
+    the server from a single request consuming too much heap when
+    generating a bundle and thereby impacting other users.
+    
+    Defaults to 100MB.
+
+### Section gc
+
+This section allows to configure the git garbage collection and
+schedules it to run periodically. It will be triggered and executed
+sequentially for all projects.
+
+  - gc.aggressive  
+    Determines if scheduled garbage collections and garbage collections
+    triggered through Web-UI should run in aggressive mode or not.
+    Aggressive garbage collections are more expensive but may lead to
+    significantly smaller repositories.
+    
+    Valid values are "true" and "false," default is "false".
+
+  - gc.startTime  
+    Start time to define the first execution of the git garbage
+    collection. If the configured `'gc.interval'` is shorter than
+    `'gc.startTime - now'` the start time will be preponed by the
+    maximum integral multiple of `'gc.interval'` so that the start time
+    is still in the future.
+    
+        <day of week> <hours>:<minutes>
+        or
+        <hours>:<minutes>
+        
+        <day of week> : Mon, Tue, Wed, Thu, Fri, Sat, Sun
+        <hours>       : 00-23
+        <minutes>     : 0-59
+
+  - gc.interval  
+    Interval for periodic repetition of triggering the git garbage
+    collection. The interval must be larger than zero. The following
+    suffixes are supported to define the time unit for the interval:
+    
+      - `s, sec, second, seconds`
+    
+      - `m, min, minute, minutes`
+    
+      - `h, hr, hour, hours`
+    
+      - `d, day, days`
+    
+      - `w, week, weeks` (`1 week` is treated as `7 days`)
+    
+      - `mon, month, months` (`1 month` is treated as `30 days`)
+    
+      - `y, year, years` (`1 year` is treated as `365 days`)
+
+  - Examples
+    
+        gc.startTime = Fri 10:30
+        gc.interval  = 2 day
+    
+    Assuming the server is started on Mon 7:00 → `'startTime - now = 4
+    days 3:30 hours'`. This is larger than the interval hence prepone
+    the start time by the maximum integral multiple of the interval so
+    that start time is still in the future, i.e. prepone by 4 days. This
+    yields a start time of Mon 10:30, next executions are Wed 10:30, Fri
+    10:30 etc.
+    
+        gc.startTime = 6:00
+        gc.interval = 1 day
+    
+    Assuming the server is started on Mon 7:00 this yields the first run
+    on next Tuesday at 6:00 and a repetition interval of 1 day.
+
+### Section gerrit
+
+  - gerrit.basePath  
+    Local filesystem directory holding all Git repositories that Gerrit
+    knows about and can process changes for. A project entity in Gerrit
+    maps to a local Git repository by creating the path string
+    `"${basePath}/${project_name}.git"`.
+    
+    If relative, the path is resolved relative to `'$site_path'`.
+
+  - gerrit.allProjects  
+    Name of the permissions-only project defining global server access
+    controls and settings. These are inherited into every other project
+    managed by the running server. The name is relative to
+    `gerrit.basePath`.
+    
+    Defaults to `All-Projects` if not set.
+
+  - gerrit.allUsers  
+    Name of the project in which meta data of all users is stored. The
+    name is relative to `gerrit.basePath`.
+    
+    Defaults to `All-Users` if not set.
+
+  - gerrit.canonicalWebUrl  
+    The default URL for Gerrit to be accessed through.
+    
+    Typically this would be set to something like
+    "http://review.example.com/" or "http://example.com:8080/gerrit/" so
+    Gerrit can output links that point back to itself.
+    
+    Setting this is highly recommended, as its necessary for the upload
+    code invoked by "git push" or "repo upload" to output hyperlinks to
+    the newly uploaded changes.
+
+  - gerrit.canonicalGitUrl  
+    Optional base URL for repositories available over the anonymous git
+    protocol. For example, set this to `git://mirror.example.com/base/`
+    to have Gerrit display patch set download URLs in the UI. Gerrit
+    automatically appends the project name onto the end of the URL.
+    
+    By default unset, as the git daemon must be configured externally by
+    the system administrator, and might not even be running on the same
+    host as Gerrit.
+
+  - gerrit.docUrl  
+    Optional base URL for documentation, under which one can find
+    "index.html", "rest-api.html", etc. Used as the base for the fixed
+    set of links in the "Documentation" tab. A slash is implicitly
+    appended. (For finer control over the top menu, consider writing a
+    [plugin](dev-plugins.html#top-menu-extensions).)
+    
+    If unset or empty, the documentation tab will only be shown if
+    `/Documentation/index.html` can be reached by the browser at app
+    load time.
+
+  - gerrit.editGpgKeys  
+    If enabled and server-side signed push validation is also
+    [enabled](#receive.enableSignedPush), enable the [REST API
+    endpoints](rest-api-accounts.html#list-gpg-keys) and web UI for
+    editing GPG keys. If disabled, GPG keys can only be added by
+    administrators with direct git access to All-Users.
+    
+    Defaults to true.
+
+  - gerrit.installCommitMsgHookCommand  
+    Optional command to install the `commit-msg` hook. Typically of the
+    form:
+    
+        fetch-cmd some://url/to/commit-msg .git/hooks/commit-msg ; chmod +x .git/hooks/commit-msg
+    
+    By default unset; falls back to using scp from the canonical SSH
+    host, or curl from the canonical HTTP URL for the server. Only
+    necessary if a proxy or other server/network configuration prevents
+    clients from fetching from the default location.
+
+  - gerrit.gitHttpUrl  
+    Optional base URL for repositories available over the HTTP protocol.
+    For example, set this to `http://mirror.example.com/base/` to have
+    Gerrit display URLs from this server, rather than itself.
+    
+    By default unset, as the HTTP daemon must be configured externally
+    by the system administrator, and might not even be running on the
+    same host as Gerrit.
+
+  - gerrit.installModule  
+    Repeatable list of class name of additional Guice modules to load at
+    Gerrit startup and init phases. Classes are resolved using the
+    primary Gerrit class loader, hence the class needs to be either
+    declared in Gerrit or an additional JAR located under the `/lib`
+    directory.
+    
+    By default unset.
+    
+    Example:
+
+<!-- end list -->
+
+    [gerrit]
+      installModule = com.googlesource.gerrit.libmodule.MyModule
+      installModule = com.example.abc.OurSpecialSauceModule
+
+  - gerrit.reportBugUrl  
+    URL to direct users to when they need to report a bug.
+    
+    By default unset, meaning no bug report URL will be displayed.
+    Administrators should set this to the URL of their issue tracker, if
+    necessary.
+
+  - gerrit.reportBugText  
+    Text to be displayed in the link to the bug report URL.
+    
+    Only used when `gerrit.reportBugUrl` is set.
+    
+    Defaults to "Report Bug".
+
+  - gerrit.disableReverseDnsLookup  
+    Disables reverse DNS lookup during computing ref log entry for
+    identified user.
+    
+    Defaults to false.
+
+  - gerrit.secureStoreClass  
+    Use the secure store implementation from a specified class.
+    
+    If specified, must be the fully qualified class name of a class that
+    implements the `com.google.gerrit.server.securestore.SecureStore`
+    interface, and the jar file containing the class must be placed in
+    the `$site_path/lib` folder.
+    
+    If not specified, the default no-op implementation is used.
+
+  - gerrit.canLoadInIFrame  
+    For security reasons Gerrit will always jump out of iframe. Setting
+    this option to true will prevent this behavior.
+    
+    By default false.
+
+  - gerrit.cdnPath  
+    Path prefix for PolyGerrit’s static resources if using a CDN.
+
+  - gerrit.ui  
+    Default UI when the user does not request a different preference via
+    argument or cookie.
+    
+      - `GWT` for the old-style Google Web Toolkit-based interface.
+    
+      - `POLYGERRIT` for the new Polymer-based HTML5 Web interface.
+        
+        A sanity check during startup is performed that the value of
+        gerrit.ui is an enabled UI.
+        
+        Defaults to GWT (if GWT is enabled) or POLYGERRIT (if POLYGERRIT
+        is enabled and GWT is disabled)
+
+### Section gitweb
+
+Gerrit can forward requests to either an internally managed gitweb
+(which allows Gerrit to enforce some access controls), or to an
+externally managed gitweb (where the web server manages access). See
+also [Gitweb Integration](config-gitweb.html).
+
+  - gitweb.cgi  
+    Path to the locally installed `gitweb.cgi` executable. This CGI will
+    be called by Gerrit Code Review when the URL `/gitweb` is accessed.
+    Project level access controls are enforced prior to calling the CGI.
+    
+    Defaults to `/usr/lib/cgi-bin/gitweb.cgi` if `gitweb.url` is not
+    set.
+
+  - gitweb.url  
+    Optional URL of an affiliated gitweb service. Defines the web
+    location where a `gitweb.cgi` is installed to browse
+    `gerrit.basePath` and the repositories it contains.
+    
+    Gerrit appends any necessary query arguments onto the end of this
+    URL. For example, `?p=$project.git;h=$commit`.
+
+  - gitweb.type  
+    Optional type of affiliated gitweb service. This allows using
+    alternatives to gitweb, such as cgit.
+    
+    Valid values are `gitweb`, `cgit`, `disabled` or `custom`.
+    
+    If not set, or set to `disabled`, there is no gitweb hyperlinking
+    support.
+
+  - gitweb.revision  
+    Optional pattern to use for constructing the gitweb URL when
+    pointing at a specific commit when `gitweb.type` is set to `custom`.
+    
+    Valid replacements are `${project}` for the project name in Gerrit
+    and `${commit}` for the SHA1 hash for the commit.
+
+  - gitweb.project  
+    Optional pattern to use for constructing the gitweb URL when
+    pointing at a specific project when `gitweb.type` is set to
+    `custom`.
+    
+    Valid replacements are `${project}` for the project name in Gerrit.
+
+  - gitweb.branch  
+    Optional pattern to use for constructing the gitweb URL when
+    pointing at a specific branch when `gitweb.type` is set to `custom`.
+    
+    Valid replacements are `${project}` for the project name in Gerrit
+    and `${branch}` for the name of the branch.
+
+  - gitweb.roottree  
+    Optional pattern to use for constructing the gitweb URL when
+    pointing at the contents of the root tree in a specific commit when
+    `gitweb.type` is set to `custom`.
+    
+    Valid replacements are `${project}` for the project name in Gerrit
+    and `${commit}` for the SHA1 hash for the commit.
+
+  - gitweb.file  
+    Optional pattern to use for constructing the gitweb URL when
+    pointing at the contents of a file in a specific commit when
+    `gitweb.type` is set to `custom`.
+    
+    Valid replacements are `${project}` for the project name in Gerrit,
+    `${file}` for the file name and `${commit}` for the SHA1 hash for
+    the commit.
+
+  - gitweb.filehistory  
+    Optional pattern to use for constructing the gitweb URL when
+    pointing at the history of a file in a specific branch when when
+    `gitweb.type` is set to `custom`.
+    
+    Valid replacements are `${project}` for the project name in Gerrit,
+    `${file}` for the file name and `${branch}` for the name of the
+    branch.
+
+  - gitweb.linkname  
+    Optional setting for modifying the link name presented to the user
+    in the Gerrit web-UI.
+    
+    The default linkname for custom type is `gitweb`.
+
+  - gitweb.pathSeparator  
+    Optional character to substitute the standard path separator (slash)
+    in project names and branch names.
+    
+    By default, Gerrit will use hexadecimal encoding for slashes in
+    project and branch names. Some web servers, such as Tomcat, reject
+    this hexadecimal encoding in the URL.
+    
+    Some alternative gitweb services, such as
+    [Gitblit](http://gitblit.com), allow using an alternative path
+    separator character. In Gitblit, this can be configured through the
+    property
+    [web.forwardSlashCharacter](http://gitblit.com/properties.html). In
+    Gerrit, the alternative path separator can be configured
+    correspondingly using the property `gitweb.pathSeparator`.
+    
+    Valid values are the characters `*`, `(` and `)`.
+
+  - gitweb.urlEncode  
+    Whether or not Gerrit should encode the generated viewer URL.
+    
+    Gerrit composes the viewer URL using information about the project,
+    branch, file or commit of the target object to be displayed.
+    Typically viewers such as CGit and gitweb do need those parts to be
+    encoded, including the `/` in project’s name, for being correctly
+    parsed. However other viewers could instead require an unencoded URL
+    (e.g. GitHub web based viewer).
+    
+    Valid values are `true` and `false`. The default is `true`.
+
+### Section groups
+
+  - groups.newGroupsVisibleToAll  
+    Controls whether newly created groups should be by default visible
+    to all registered users.
+    
+    By default, false.
+
+  - groups.\<uuid\>.name  
+    Display name for group with the given UUID.
+    
+    This option is only supported for system groups (scheme *global*).
+    
+    E.g. this parameter can be used to configure another name for the
+    `Anonymous Users` group:
+    
+        [groups "global:Anonymous-Users"]
+          name = All Users
+    
+    When setting this parameter it should be verified that there is no
+    existing group with the same name (case-insensitive). Configuring an
+    ambiguous name makes Gerrit fail on startup. Once set Gerrit ensures
+    that it is not possible to create a group with this name. Gerrit
+    also keeps the default name reserved so that it cannot be used for
+    new groups either. This means there is no danger of ambiguous group
+    names when this parameter is removed and the system group uses the
+    default name again.
+
+### Section http
+
+  - http.proxy  
+    URL of the proxy server when making outgoing HTTP connections for
+    OpenID login transactions. Syntax should be
+    `http://`*hostname*`:`*port*.
+
+  - http.proxyUsername  
+    Optional username to authenticate to the HTTP proxy with. This
+    property is honored only if the username does not appear in the
+    http.proxy property above.
+
+  - http.proxyPassword  
+    Optional password to authenticate to the HTTP proxy with. This
+    property is honored only if the password does not appear in the
+    http.proxy property above.
+
+  - http.addUserAsRequestAttribute  
+    If true, *User* attribute will be added to the request attributes so
+    it can be accessed outside the request scope (will be set to
+    username or id if username not configured).
+    
+    This attribute can be used by the servlet container to log user in
+    the http access log.
+    
+    When running the embedded servlet container, this attribute is used
+    to print user in the httpd\_log.
+    
+      - `%{User}r`
+        
+        Pattern to print user in Tomcat AccessLog.
+    
+    Default value is true.
+
+### Section httpd
+
+The httpd section configures the embedded servlet container.
+
+  - httpd.listenUrl  
+    Specifies the URLs the internal HTTP daemon should listen for
+    connections on. The special hostname *\** may be used to listen on
+    all local addresses. A context path may optionally be included,
+    placing Gerrit Code Review’s web address within a subdirectory of
+    the server.
+    
+    Multiple protocol schemes are supported:
+    
+      - `http://`*hostname*`:`*port*
+        
+        Plain-text HTTP protocol. If port is not supplied, defaults to
+        80, the standard HTTP port.
+    
+      - `https://`*hostname*`:`*port*
+        
+        SSL encrypted HTTP protocol. If port is not supplied, defaults
+        to 443, the standard HTTPS port.
+        
+        Externally facing production sites are encouraged to use a
+        reverse proxy configuration and `proxy-https://` (below), rather
+        than using the embedded servlet container to implement the SSL
+        processing. The proxy server with SSL support is probably easier
+        to configure, provides more configuration options to control
+        cipher usage, and is likely using natively compiled encryption
+        algorithms, resulting in higher throughput.
+    
+      - `proxy-http://`*hostname*`:`*port*
+        
+        Plain-text HTTP relayed from a reverse proxy. If port is not
+        supplied, defaults to 8080.
+        
+        Like http, but additional header parsing features are enabled to
+        honor X-Forwarded-For, X-Forwarded-Host and X-Forwarded-Server.
+        These headers are typically set by Apache’s
+        [mod\_proxy](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers).
+    
+      - `proxy-https://`*hostname*`:`*port*
+        
+        Plain text HTTP relayed from a reverse proxy that has already
+        handled the SSL encryption/decryption. If port is not supplied,
+        defaults to 8080.
+        
+        Behaves exactly like proxy-http, but also sets the scheme to
+        assume *https://* is the proper URL back to the server.
+    
+    If multiple values are supplied, the daemon will listen on all of
+    them.
+    
+    By default, <http://*:8080>.
+
+  - httpd.reuseAddress  
+    If true, permits the daemon to bind to the port even if the port is
+    already in use. If false, the daemon ensures the port is not in use
+    before starting. Busy sites may need to set this to true to permit
+    fast restarts.
+    
+    By default, true.
+
+  - httpd.inheritChannel  
+    If true, permits the daemon to inherit its server socket channel
+    from fd0/1(stdin/stdout). When set to true, the server can be socket
+    activated via systemd or xinetd.
+    
+    By default, false.
+
+  - httpd.requestHeaderSize  
+    Size, in bytes, of the buffer used to parse the HTTP headers of an
+    incoming HTTP request. The entire request headers, including any
+    cookies sent by the browser, must fit within this buffer, otherwise
+    the server aborts with the response *413 Request Entity Too Large*.
+    
+    One buffer of this size is allocated per active connection.
+    Allocating a buffer that is too large wastes memory that cannot be
+    reclaimed, allocating a buffer that is too small may cause
+    unexpected errors caused by very long Referer URLs or large cookie
+    values.
+    
+    By default, 16384 (16 K), which is sufficient for most OpenID and
+    other web-based single-sign-on integrations.
+
+  - httpd.sslCrl  
+    Path of the certificate revocation list file in PEM format. This crl
+    file is optional, and available for CLIENT\_SSL\_CERT\_LDAP
+    authentication.
+    
+    To create and view a crl using openssl:
+    
+        openssl ca -gencrl -out crl.pem
+        openssl crl -in crl.pem -text
+    
+    If not absolute, the path is resolved relative to `$site_path`.
+    
+    By default, `$site_path/etc/crl.pem`.
+
+  - httpd.sslKeyStore  
+    Path of the Java keystore containing the server’s SSL certificate
+    and private key. This keystore is required for `https://` in URL.
+    
+    To create a self-signed certificate for simple internal usage:
+    
+        keytool -keystore keystore -alias jetty -genkey -keyalg RSA
+        chmod 600 keystore
+    
+    If not absolute, the path is resolved relative to `$site_path`.
+    
+    By default, `$site_path/etc/keystore`.
+
+  - httpd.sslKeyPassword  
+    Password used to decrypt the private portion of the sslKeyStore.
+    Java keystores require a password, even if the administrator doesn’t
+    want to enable one.
+    
+    If set to the empty string the embedded server will prompt for the
+    password during startup.
+    
+    By default, `gerrit`.
+
+  - httpd.requestLog  
+    Enable (or disable) the `'$site_path'/logs/httpd_log` request log.
+    If enabled, an NCSA combined log format request log file is written
+    out by the internal HTTP daemon.
+    
+    `log4j.appender` with the name `httpd_log` can be configured to
+    overwrite programmatic configuration.
+    
+    By default, true if httpd.listenUrl uses http:// or https://, and
+    false if httpd.listenUrl uses proxy-http:// or proxy-https://.
+
+  - httpd.acceptorThreads  
+    Number of worker threads dedicated to accepting new incoming TCP
+    connections and allocating them connection-specific resources.
+    
+    By default, 2, which should be suitable for most high-traffic sites.
+
+  - httpd.minThreads  
+    Minimum number of spare threads to keep in the worker thread pool.
+    This number must be at least 1 larger than httpd.acceptorThreads
+    multiplied by the number of httpd.listenUrls configured.
+    
+    By default, 5, suitable for most lower-volume traffic sites.
+
+  - httpd.maxThreads  
+    Maximum number of threads to permit in the worker thread pool.
+    
+    By default 25, suitable for most lower-volume traffic sites.
+
+  - httpd.maxQueued  
+    Maximum number of client connections which can enter the worker
+    thread pool waiting for a worker thread to become available. 0 sets
+    the queue size to the Integer.MAX\_VALUE.
+    
+    By default 200.
+
+  - httpd.maxWait  
+    Maximum amount of time a client will wait for an available thread to
+    handle a project clone, fetch or push request over the smart HTTP
+    transport.
+    
+    Values should use common unit suffixes to express their setting:
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+      - w, week, weeks (`1 week` is treated as `7 days`)
+    
+      - mon, month, months (`1 month` is treated as `30 days`)
+    
+      - y, year, years (`1 year` is treated as `365 days`)
+    
+    If a unit suffix is not specified, `minutes` is assumed. If 0 is
+    supplied, the maximum age is infinite and connections will not abort
+    until the client disconnects.
+    
+    By default, 5 minutes.
+
+  - httpd.filterClass  
+    Class that implements the javax.servlet.Filter interface for
+    filtering any HTTP related traffic going through the Gerrit HTTP
+    protocol. Class is loaded and configured in the Gerrit Jetty
+    container and run in front of all Gerrit URL handlers, allowing the
+    filter to inspect, modify, allow or reject each request. It needs to
+    be provided as JAR library under $GERRIT\_SITE/lib as it is resolved
+    using the default Gerrit class loader and cannot be dynamically
+    loaded by a plugin.
+    
+    Failing to load the Filter class would result in a Gerrit start-up
+    failure, as this class is supposed to provide mandatory filtering in
+    front of Gerrit HTTP protocol.
+    
+    Typical usage is in conjunction with the `auth.type=HTTP` as
+    replacement of an Apache HTTP proxy layer as security enforcement on
+    top of Gerrit by returning a trusted username as HTTP Header.
+    
+    Allow multiple values to install multiple servlet filters.
+    
+    Example of using a security library secure.jar under
+    $GERRIT\_SITE/lib that provides a org.anyorg.MySecureHeaderFilter
+    Servlet Filter that enforces a trusted username in the
+    `TRUSTED_USER` HTTP Header and org.anyorg.MySecureIPFilter that
+    performs source IP security filtering:
+
+<!-- end list -->
+
+    [auth]
+            type = HTTP
+            httpHeader = TRUSTED_USER
+    
+    [httpd]
+            filterClass = org.anyorg.MySecureHeaderFilter
+            filterClass = org.anyorg.MySecureIPFilter
+
+  - httpd.idleTimeout  
+    Maximum idle time for a connection, which roughly translates to the
+    TCP socket `SO_TIMEOUT`.
+    
+    This value is interpreted as the maximum time between some progress
+    being made on the connection. So if a single byte is read or
+    written, then the timeout is reset.
+    
+    The max idle time is applied:
+    
+      - When waiting for a new message to be received on a connection
+    
+      - When waiting for a new message to be sent on a connection
+    
+    By default, 30 seconds.
+
+  - httpd.robotsFile  
+    Location of an external robots.txt file to be used instead of the
+    one bundled with the .war of the application.
+    
+    If not absolute, the path is resolved relative to `$site_path`.
+    
+    If the file doesn’t exist or can’t be read the default robots.txt
+    file bundled with the .war will be used instead.
+
+  - httpd.registerMBeans  
+    Enable (or disable) registration of Jetty MBeans for Java JMX.
+    
+    By default, false.
+
+### Section index
+
+The index section configures the secondary index.
+
+Note that after enabling the secondary index, the index must be built
+using the [reindex program](pgm-reindex.html) before restarting the
+Gerrit server.
+
+  - index.type  
+    Type of secondary indexing employed by Gerrit. The supported values
+    are:
+    
+      - `LUCENE`
+        
+        A [Lucene](http://lucene.apache.org/) index is used.
+        
+        \+ \* `ELASTICSEARCH` look into [Elasticsearch
+        section](#elasticsearch)
+        
+        An [Elasticsearch](http://www.elasticsearch.org/) index is used.
+    
+    By default, `LUCENE`.
+
+  - index.threads  
+    Number of threads to use for indexing in normal interactive
+    operations. Setting it to 0 disables the dedicated thread pool and
+    indexing will be done in the same thread as the operation.
+    
+    If not set or set to a negative value, defaults to 1 plus half of
+    the number of logical CPUs as returned by the JVM.
+
+  - index.batchThreads  
+    Number of threads to use for indexing in background operations, such
+    as online schema upgrades.
+    
+    If not set or set to a negative value, defaults to the number of
+    logical CPUs as returned by the JVM.
+
+  - index.onlineUpgrade  
+    Whether to upgrade to new index schema versions while the server is
+    running. This is recommended as it prevents additional downtime
+    during Gerrit version upgrades (avoiding the need for an offline
+    reindex step using Reindex), but can add additional server load
+    during the upgrade.
+    
+    If set to false, there is no way to upgrade the index schema to take
+    advantage of new search features without restarting the server.
+    
+    Defaults to true.
+
+  - index.maxLimit  
+    Maximum limit to allow for search queries. Requesting results above
+    this limit will truncate the list (but will still set
+    `_more_changes` on result lists). Set to 0 for no limit.
+    
+    Defaults to no limit.
+
+  - index.maxPages  
+    Maximum number of pages of search results to allow, as index
+    implementations may have to scan through large numbers of skipped
+    results when searching with an offset. Requesting results starting
+    past this threshold times the requested limit will result in an
+    error. Set to 0 for no limit.
+    
+    Defaults to no limit.
+
+  - index.maxTerms  
+    Maximum number of leaf terms to allow in a query. Too-large queries
+    may perform poorly, so setting this option causes query parsing to
+    fail fast before attempting to send them to the secondary index.
+    Should this limit be reached, database is used instead of index as
+    applicable.
+    
+    When the index type is `LUCENE`, also sets the maximum number of
+    clauses permitted per BooleanQuery. This is so that all enforced
+    query limits are the same.
+    
+    Defaults to 1024.
+
+  - index.reindexAfterRefUpdate  
+    Whether to reindex all affected open changes after a ref is updated.
+    This includes reindexing all open changes to recompute the
+    "mergeable" bit every time the destination branch moves, as well as
+    reindexing changes to take into account new project configuration
+    (e.g. label definitions).
+    
+    Leaving this enabled may result in fresher results, but may cause
+    performance problems if there are lots of open changes on a project
+    whose branches advance frequently.
+    
+    Defaults to true.
+
+  - index.autoReindexIfStale  
+    Whether to automatically check if a document became stale in the
+    index immediately after indexing it. If false, there is a race
+    condition during two simultaneous writes that may cause one of the
+    writes to not be reflected in the index. The check to avoid this
+    does consume some resources.
+    
+    Defaults to true.
+
+#### Lucene configuration
+
+Open and closed changes are indexed in separate indexes named *open* and
+*closed* respectively.
+
+The following settings are only used when the index type is `LUCENE`.
+
+  - index.name.ramBufferSize  
+    Determines the amount of RAM that may be used for buffering added
+    documents and deletions before they are flushed to the index. See
+    the [Lucene
+    documentation](http://lucene.apache.org/core/4_6_0/core/org/apache/lucene/index/LiveIndexWriterConfig.html#setRAMBufferSizeMB\(double\))
+    for further details.
+    
+    Defaults to 16M.
+
+  - index.name.maxBufferedDocs  
+    Determines the minimal number of documents required before the
+    buffered in-memory documents are flushed to the index. Large values
+    generally give faster indexing. See the [Lucene
+    documentation](http://lucene.apache.org/core/4_6_0/core/org/apache/lucene/index/LiveIndexWriterConfig.html#setMaxBufferedDocs\(int\))
+    for further details.
+    
+    Defaults to -1, meaning no maximum is set and the writer will flush
+    according to RAM usage.
+
+  - index.name.commitWithin  
+    Determines the period at which changes are automatically committed
+    to stable store on disk. This is a costly operation and may block
+    additional index writes, so lower with caution.
+    
+    If zero, changes are committed after every write. This is very
+    costly but may be useful if offline reindexing is infeasible, or for
+    development servers.
+    
+    Values can be specified using standard time unit abbreviations
+    (`ms`, `sec`, `min`, etc.).
+    
+    If negative, `commitWithin` is disabled. Changes are flushed to disk
+    when the in-memory buffer fills, but only committed and guaranteed
+    to be synced to disk when the process finishes.
+    
+    Defaults to 300000 ms (5 minutes).
+
+Sample Lucene index configuration:
+
+    [index]
+      type = LUCENE
+    
+    [index "changes_open"]
+      ramBufferSize = 60 m
+      maxBufferedDocs = 3000
+    
+    [index "changes_closed"]
+      ramBufferSize = 20 m
+      maxBufferedDocs = 500
+
+### Section elasticsearch
+
+> **Warning**
+> 
+> The Elasticsearch support is incomplete. Online reindexing is still
+> considered as beta.
+
+Open and closed changes are indexed in a single index, separated into
+types *open\_changes* and *closed\_changes* respectively.
+
+  - elasticsearch.prefix  
+    This setting can be used to prefix index names to allow multiple
+    Gerrit instances in a single Elasticsearch cluster. Prefix
+    *gerrit1\_* would result in a change index named
+    *gerrit1\_changes\_0001*.
+    
+    Not set by default.
+
+  - elasticsearch.username  
+    Username used to connect to Elasticsearch.
+    
+    Not set by default.
+
+  - elasticsearch.password  
+    Password used to connect to Elasticsearch.
+    
+    Not set by default.
+
+  - elasticsearch.requestCompression  
+    Enable request compression.
+    
+    Defaults to `false`.
+
+  - elasticsearch.connectionTimeout  
+    How long should Gerrit waits for connection.
+    
+    The value is in the usual time-unit format like "1 m", "5 m".
+    
+    Defaults to `5 m`
+
+  - elasticsearch.maxConnectionIdleTime  
+    How long connection can stay in idle.
+    
+    The value is in the usual time-unit format like "1 m", "5 m".
+    
+    Defaults to `5 m`
+
+  - elasticsearch.maxTotalConnection  
+    How many connections can be spawn simultaneously.
+    
+    Defaults to `1`
+
+  - elasticsearch.maxReadTimeout  
+    Timeout for the read operation.
+    
+    The value is in the usual time-unit format like "1 m", "5 m".
+    
+    Defaults to `5 m`
+
+#### Elasticsearch server(s) configuration
+
+Each section correspond to one Elasticsearch server.
+
+  - elasticsearch.name.protocol  
+    Elasticsearch server protocol \[http|https\].
+    
+    Defaults to `http`.
+
+  - elasticsearch.name.hostname  
+    Elasticsearch server hostname.
+
+Defaults to `localhost`.
+
+  - elasticsearch.name.port  
+    Elasticsearch server port.
+    
+    Defaults to `9200`.
+
+### Section ldap
+
+LDAP integration is only enabled if `auth.type` is set to `HTTP_LDAP`,
+`LDAP` or `CLIENT_SSL_CERT_LDAP`. See above for a detailed description
+of the `auth.type` settings and their implications.
+
+An example LDAP configuration follows, and then discussion of the
+parameters introduced here. Suitable defaults for most parameters are
+automatically guessed based on the type of server detected during
+startup. The guessed defaults support
+[RFC 2307](http://www.ietf.org/rfc/rfc2307.txt), Active Directory and
+[FreeIPA](https://www.freeipa.org).
+
+    [ldap]
+      server = ldap://ldap.example.com
+    
+      accountBase = ou=people,dc=example,dc=com
+      accountPattern = (&(objectClass=person)(uid=${username}))
+      accountFullName = displayName
+      accountEmailAddress = mail
+    
+      groupBase = ou=groups,dc=example,dc=com
+      groupMemberPattern = (&(objectClass=group)(member=${dn}))
+
+  - ldap.server  
+    URL of the organization’s LDAP server to query for user information
+    and group membership from. Must be of the form `ldap://host` or
+    `ldaps://host` to bind with either a plaintext or SSL connection.
+    
+    If `auth.type` is `LDAP` this setting should use `ldaps://` to
+    ensure the end user’s plaintext password is transmitted only over an
+    encrypted connection.
+
+  - ldap.sslVerify  
+    If false and ldap.server is an `ldaps://` style URL, Gerrit will not
+    verify the server certificate when it connects to perform a query.
+    
+    By default, true, requiring the certificate to be verified.
+
+  - ldap.groupsVisibleToAll  
+    If true, LDAP groups are visible to all registered users.
+    
+    By default, false, LDAP groups are visible only to administrators
+    and group members.
+
+  - ldap.username  
+    *(Optional)* Username to bind to the LDAP server with. If not set,
+    an anonymous connection to the LDAP server is attempted.
+
+  - ldap.password  
+    *(Optional)* Password for the user identified by `ldap.username`. If
+    not set, an anonymous (or passwordless) connection to the LDAP
+    server is attempted.
+
+  - ldap.referral  
+    *(Optional)* How an LDAP referral should be handled if it is
+    encountered during directory traversal. Set to `follow` to
+    automatically follow any referrals, or `ignore` to ignore the
+    referrals.
+    
+    By default, `ignore`.
+
+  - ldap.readTimeout  
+    *(Optional)* The read timeout for an LDAP operation. The value is in
+    the usual time-unit format like "1 s", "100 ms", etc… A timeout can
+    be used to avoid blocking all of the SSH command start threads in
+    case the LDAP server becomes slow.
+    
+    By default there is no timeout and Gerrit will wait for the LDAP
+    server to respond until the TCP connection times out.
+
+  - ldap.accountBase  
+    Root of the tree containing all user accounts. This is typically of
+    the form `ou=people,dc=example,dc=com`.
+    
+    This setting may be added multiple times to specify more than one
+    root.
+
+  - ldap.accountScope  
+    Scope of the search performed for accounts. Must be one of:
+    
+      - `one`: Search only one level below accountBase, but not
+        recursive
+    
+      - `sub` or `subtree`: Search recursively below accountBase
+    
+      - `base` or `object`: Search exactly accountBase; probably not
+        desired
+    
+    Default is `subtree` as many directories have several levels.
+
+  - ldap.accountPattern  
+    Query pattern to use when searching for a user account. This may be
+    any valid LDAP query expression, including the standard `(&...)` and
+    `(|...)` operators. If `auth.type` is `HTTP_LDAP` then the variable
+    `${username}` is replaced with a parameter set to the username that
+    was supplied by the HTTP server. If `auth.type` is `LDAP` then the
+    variable `${username}` is replaced by the string entered by the end
+    user.
+    
+    This pattern is used to search the objects contained directly under
+    the `ldap.accountBase` tree. A typical setting for this parameter is
+    `(uid=${username})` or `(cn=${username})`, but the proper setting
+    depends on the LDAP schema used by the directory server.
+    
+    Default is `(uid=${username})` for FreeIPA and RFC 2307 servers, and
+    `(&(objectClass=user)(sAMAccountName=${username}))` for Active
+    Directory.
+
+  - ldap.accountFullName  
+    *(Optional)* Name of an attribute on the user account object which
+    contains the initial value for the user’s full name field in Gerrit.
+    Typically this is the `displayName` property in LDAP, but could also
+    be `legalName` or `cn`.
+    
+    Attribute values may be concatenated with literal strings. For
+    example to join given name and surname together, use the pattern
+    `${givenName} ${SN}`.
+    
+    If set, users will be unable to modify their full name field, as
+    Gerrit will populate it only from the LDAP data.
+    
+    Default is `displayName` for FreeIPA and RFC 2307 servers, and
+    `${givenName} ${sn}` for Active Directory.
+
+  - ldap.accountEmailAddress  
+    *(Optional)* Name of an attribute on the user account object which
+    contains the user’s Internet email address, as defined by this LDAP
+    server.
+    
+    Attribute values may be concatenated with literal strings, for
+    example to set the email address to the lowercase form of
+    sAMAccountName followed by a constant domain name, use
+    `${sAMAccountName.toLowerCase}@example.com`.
+    
+    If set, the preferred email address will be prefilled from LDAP, but
+    users may still be able to register additional email addresses, and
+    select a different preferred email address.
+    
+    Default is `mail`.
+
+  - ldap.accountSshUserName  
+    *(Optional)* Name of an attribute on the user account object which
+    contains the initial value for the user’s SSH username field in
+    Gerrit. Typically this is the `uid` property in LDAP, but could also
+    be `cn`. Administrators should prefer to match the attribute
+    corresponding to the user’s workstation username, as this is what
+    SSH clients will default to.
+    
+    Attribute values may also be forced to lowercase, or to uppercase in
+    an expression. For example, `${sAMAccountName.toLowerCase}` will
+    force the value of sAMAccountName, if defined, to be all lowercase.
+    The suffix `.toUpperCase` can be used for the other direction. The
+    suffix `.localPart` can be used to split attribute values of the
+    form *user@example.com* and return only the left hand side, for
+    example `${userPrincipalName.localPart}` would provide only *user*.
+    
+    If set, users will be unable to modify their SSH username field, as
+    Gerrit will populate it only from the LDAP data. Note that once the
+    username has been set it cannot be changed, therefore it is
+    recommended not to make changes to this setting that would cause the
+    value to differ, as this will prevent users from logging in.
+    
+    Default is `uid` for FreeIPA and RFC 2307 servers, and
+    `${sAMAccountName.toLowerCase}` for Active Directory.
+
+  - ldap.accountMemberField  
+    *(Optional)* Name of an attribute on the user account object which
+    contains the groups the user is part of. Typically used for Active
+    Directory and FreeIPA servers.
+    
+    Default is unset for RFC 2307 servers (disabled) and `memberOf` for
+    Active Directory and FreeIPA.
+
+  - ldap.accountMemberExpandGroups  
+    *(Optional)* Whether to expand nested groups recursively. This
+    setting is used only if `ldap.accountMemberField` is set.
+    
+    Default is unset for FreeIPA and `true` for RFC 2307 servers and
+    Active Directory.
+
+  - ldap.fetchMemberOfEagerly  
+    *(Optional)* Whether to fetch the `memberOf` account attribute on
+    login. Setups which use LDAP for user authentication but don’t make
+    use of the LDAP groups may benefit from setting this option to
+    `false` as this will result in a much faster LDAP login.
+    
+    Default is unset for RFC 2307 servers (disabled) and `true` for
+    Active Directory and FreeIPA.
+
+  - ldap.groupBase  
+    Root of the tree containing all group objects. This is typically of
+    the form `ou=groups,dc=example,dc=com`.
+    
+    This setting may be added multiple times to specify more than one
+    root.
+
+  - ldap.groupScope  
+    Scope of the search performed for group objects. Must be one of:
+    
+      - `one`: Search only one level below groupBase, but not recursive
+    
+      - `sub` or `subtree`: Search recursively below groupBase
+    
+      - `base` or `object`: Search exactly groupBase; probably not
+        desired
+    
+    Default is `subtree` as many directories have several levels.
+
+  - ldap.groupPattern  
+    Query pattern used when searching for an LDAP group to connect to a
+    Gerrit group. This may be any valid LDAP query expression, including
+    the standard `(&...)` and `(|...)` operators. The variable
+    `${groupname}` is replaced with the search term supplied by the
+    group owner.
+    
+    Default is `(cn=${groupname})` for FreeIPA and RFC 2307 servers, and
+    `(&(objectClass=group)(cn=${groupname}))` for Active Directory.
+
+  - ldap.groupMemberPattern  
+    Query pattern to use when searching for the groups that a user
+    account is currently a member of. This may be any valid LDAP query
+    expression, including the standard `(&...)` and `(|...)` operators.
+    
+    If `auth.type` is `HTTP_LDAP` then the variable `${username}` is
+    replaced with a parameter set to the username that was supplied by
+    the HTTP server. Other variables appearing in the pattern, such as
+    `${fooBarAttribute}`, are replaced with the value of the
+    corresponding attribute (in this case, `fooBarAttribute`) as read
+    from the user’s account object matched under `ldap.accountBase`.
+    Attributes such as `${dn}` or `${uidNumber}` may be useful.
+    
+    Default is `(|(memberUid=${username})(gidNumber=${gidNumber}))` for
+    RFC 2307, and unset (disabled) for Active Directory and FreeIPA.
+
+  - ldap.groupName  
+    *(Optional)* Name of the attribute on the group object which
+    contains the value to use as the group name in Gerrit.
+    
+    Typically the attribute name is `cn` for RFC 2307 and Active
+    Directory servers. For other servers the attribute name may differ,
+    for example `apple-group-realname` on Apple MacOS X Server.
+    
+    It is also possible to specify a literal string containing a pattern
+    of attribute values. For example to create a Gerrit group name
+    consisting of LDAP group name and group ID, use the pattern `${cn}
+    (${gidNumber})`.
+    
+    Default is `cn`.
+
+  - ldap.mandatoryGroup  
+    All users must be a member of this group to allow account creation
+    or authentication.
+    
+    Setting mandatoryGroup implies enabling of
+    `ldap.fetchMemberOfEagerly`
+    
+    By default, unset.
+
+  - ldap.localUsernameToLowerCase  
+    Converts the local username, that is used to login into the Gerrit
+    Web UI, to lower case before doing the LDAP authentication. By
+    setting this parameter to true, a case insensitive login to the
+    Gerrit Web UI can be achieved.
+    
+    If set, it must be ensured that the local usernames for all existing
+    accounts are converted to lower case, otherwise a user that has a
+    local username that contains upper case characters will not be able
+    to login anymore. The local usernames for the existing accounts can
+    be converted to lower case by running the server program
+    [LocalUsernamesToLowerCase](pgm-LocalUsernamesToLowerCase.html).
+    Please be aware that the conversion of the local usernames to lower
+    case can’t be undone. For newly created accounts the local username
+    will be directly stored in lower case.
+    
+    By default, unset/false.
+
+  - ldap.authentication  
+    Defines how Gerrit authenticates with the server. When set to
+    `GSSAPI` Gerrit will use Kerberos. To use kerberos the
+    `java.security.auth.login.config` system property must point to a
+    login to a JAAS configuration file and, if Java 6 is used, the
+    system property `java.security.krb5.conf` must point to the
+    appropriate krb5.ini file with references to the KDC.
+
+Typical jaas.conf.
+
+    KerberosLogin {
+        com.sun.security.auth.module.Krb5LoginModule
+                required
+                useTicketCache=true
+                doNotPrompt=true
+                renewTGT=true;
+    };
+
+See Java documentation on how to create the krb5.ini file.
+
+Note the `renewTGT` property to make sure the TGT does not expire, and
+`useTicketCache` to use the TGT supplied by the operating system. As the
+whole point of using GSSAPI is to have passwordless authentication to
+the LDAP service, this option does not acquire a new TGT on its own.
+
+On Windows servers the registry key
+`HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters`
+must have the DWORD value `allowtgtsessionkey` set to 1 and the account
+must not have local administrator privileges.
+
+  - ldap.useConnectionPooling  
+    *(Optional)* Enable the LDAP connection pooling or not.
+    
+    If it is true, the LDAP service provider maintains a pool of
+    (possibly) previously used connections and assigns them to a Context
+    instance as needed. When a Context instance is done with a
+    connection (closed or garbage collected), the connection is returned
+    to the pool for future use.
+    
+    For details, see [LDAP connection management
+    (Pool)](http://docs.oracle.com/javase/tutorial/jndi/ldap/pool.html)
+    and [LDAP connection management
+    (Configuration)](http://docs.oracle.com/javase/tutorial/jndi/ldap/config.html)
+    
+    By default, false.
+
+  - ldap.connectTimeout  
+    *(Optional)* Timeout period for establishment of an LDAP connection.
+    
+    The value is in the usual time-unit format like "1 s", "100 ms",
+    etc…
+    
+    By default there is no timeout and Gerrit will wait indefinitely.
+
+#### LDAP Connection Pooling
+
+Once LDAP connection pooling is enabled by setting the
+[ldap.useConnectionPooling](#ldap.useConnectionPooling) configuration
+property to `true`, the connection pool can be configured using JVM
+system properties as explained in the [Java SE
+Documentation](http://docs.oracle.com/javase/7/docs/technotes/guides/jndi/jndi-ldap.html#POOL).
+
+For standalone Gerrit (running with the embedded Jetty), JVM system
+properties are specified in the [container section](#container):
+
+``` 
+  javaOptions = -Dcom.sun.jndi.ldap.connect.pool.maxsize=20
+  javaOptions = -Dcom.sun.jndi.ldap.connect.pool.prefsize=10
+  javaOptions = -Dcom.sun.jndi.ldap.connect.pool.timeout=300000
+```
+
+### Section lfs
+
+  - lfs.plugin  
+    The name of a plugin which serves the [LFS
+    protocol](https://github.com/github/git-lfs/blob/master/docs/api/v1/http-v1-batch.md)
+    on the `<project-name>/info/lfs/objects/batch` endpoint. When not
+    configured Gerrit will respond with `501 Not Implemented` on LFS
+    protocol requests.
+    
+    By default unset.
+
+### Section log
+
+  - log.jsonLogging  
+    If set to true, enables error logging in JSON format (file name:
+    "logs/error\_log.json").
+    
+    Defaults to false.
+
+  - log.textLogging  
+    If set to true, enables error logging in regular plain text format.
+    Can only be disabled if `jsonLogging` is enabled.
+    
+    Defaults to true.
+
+### Section mimetype
+
+  - mimetype.\<name\>.safe  
+    If set to true, files with the MIME type `<name>` will be sent as
+    direct downloads to the user’s browser, rather than being wrapped up
+    inside of zipped archives. The type name may be a complete type
+    name, e.g. `image/gif`, a generic media type, e.g. `+image/*+`, or
+    the wildcard `+*/*+` to match all types.
+    
+    By default, false for all MIME types.
+
+Common examples:
+
+    [mimetype "image/*"]
+      safe = true
+    
+    [mimetype "application/pdf"]
+      safe = true
+    
+    [mimetype "application/msword"]
+      safe = true
+    
+    [mimetype "application/vnd.ms-excel"]
+      safe = true
+
+### Section noteDb
+
+NoteDb is the next generation of Gerrit storage backend, currently
+powering `googlesource.com`. For more information, including how to
+migrate your data, see the [documentation](note-db.html).
+
+  - notedb.accounts.sequenceBatchSize  
+    The next available account sequence number is stored as UTF-8 text
+    in a blob pointed to by the `refs/sequences/accounts` ref in the
+    `All-Users` repository. Multiple processes share the same sequence
+    by incrementing the counter using normal git ref updates. To
+    amortize the cost of these ref updates, processes increment the
+    counter by a larger number and hand out numbers from that range in
+    memory until they run out. This configuration parameter controls the
+    size of the account ID batch that each process retrieves at once.
+    
+    By default, 1.
+
+  - noteDb.retryMaxWait  
+    Maximum time to wait between attempts to retry update operations
+    when one attempt fails due to contention (aka lock failure) on the
+    underlying ref storage. Operations are retried with exponential
+    backoff, plus some random jitter, until the interval reaches this
+    limit. After that, retries continue to occur after a fixed timeout
+    (plus jitter), up to [`noteDb.retryTimeout`](#noteDb.retryTimeout).
+    
+    Defaults to 5 seconds; unit suffixes are supported, and assumes
+    milliseconds if not specified.
+
+  - noteDb.retryTimeout  
+    Total timeout for retrying update operations when one attempt fails
+    due to contention (aka lock failure) on the underlying ref storage.
+    
+    Defaults to 20 seconds; unit suffixes are supported, and assumes
+    milliseconds if not specified.
+
+### Section oauth
+
+OAuth integration is only enabled if `auth.type` is set to `OAUTH`. See
+[above](#auth.type) for a detailed description of the `auth.type`
+settings and their implications.
+
+By default, contact information, like the full name and email address,
+is retrieved from the selected OAuth provider when a user account is
+created, or when a user requests to reload that information in the
+settings UI. If that is not supported by the OAuth provider, users can
+be allowed to edit their contact information manually.
+
+  - oauth.allowEditFullName  
+    If true, the full name can be edited in the contact information.
+    
+    Default is false.
+
+  - oauth.allowRegisterNewEmail  
+    If true, additional email addresses can be registered in the contact
+    information.
+    
+    Default is false.
+
+### Section pack
+
+Global settings controlling how Gerrit Code Review creates pack streams
+for Git clients running clone, fetch, or pull. Most of these variables
+are per-client request, and thus should be carefully set given the
+expected concurrent request load and available CPU and memory resources.
+
+  - pack.deltacompression  
+    If true, delta compression between objects is enabled. This may
+    result in a smaller overall transfer for the client, but requires
+    more server memory and CPU time.
+    
+    False (off) by default, matching Gerrit Code Review 2.1.4.
+
+  - pack.threads  
+    Maximum number of threads to use for delta compression (if enabled).
+    This is per-client request. If set to 0 then the number of CPUs is
+    auto-detected and one thread per CPU is used, per client request.
+    
+    By default, 1.
+
+### Section plugins
+
+  - plugins.checkFrequency  
+    How often plugins should be examined for new plugins to load,
+    removed plugins to be unloaded, or updated plugins to be reloaded.
+    Values can be specified using standard time unit abbreviations
+    (*ms*, *sec*, *min*, etc.).
+    
+    If set to 0, automatic plugin reloading is disabled. Administrators
+    may force reloading with [gerrit plugin
+    reload](cmd-plugin-reload.html).
+    
+    Default is 1 minute.
+
+  - plugins.allowRemoteAdmin  
+    Enable remote installation, enable and disable of plugins over HTTP
+    and SSH. If set to true Administrators can install new plugins
+    remotely, or disable existing plugins. Defaults to false.
+
+  - plugins.jsLoadTimeout  
+    Set the timeout value for loading JavaScript plugins in Gerrit UI.
+    Values can be specified using standard time unit abbreviations
+    (*ms*, *sec*, *min*, etc.).
+    
+    Default is 5 seconds. Negative values will be converted to 0.
+
+### Section receive
+
+This section is used to configure behavior of the *receive-pack*
+handler, which responds to *git push* requests.
+
+  - receive.allowGroup  
+    Name of the groups of users that are allowed to execute
+    *receive-pack* on the server. One or more groups can be set.
+    
+    If no groups are added, any user will be allowed to execute
+    *receive-pack* on the server.
+
+  - receive.certNonceSeed  
+    If set to a non-empty value and server-side signed push validation
+    is [enabled](#receive.enableSignedPush), use this value as the seed
+    to the HMAC SHA-1 nonce generator. If unset, a 64-byte random seed
+    will be generated at server startup.
+    
+    As this is used as the seed of a cryptographic algorithm, it is
+    recommended to be placed in [`secure.config`](#secure-config).
+    
+    Defaults to unset.
+
+  - receive.certNonceSlop  
+    When validating the nonce passed as part of the signed push
+    protocol, accept valid nonces up to this many seconds old. This
+    allows certificate verification to work over HTTP where there is a
+    lag between the HTTP response providing the nonce to sign and the
+    next request containing the signed nonce. This can be significant on
+    large repositories, since the lag also includes the time to count
+    objects on the client.
+    
+    Default is 5 minutes.
+
+  - receive.changeUpdateThreads  
+    Number of threads to perform change creation or patch set updates
+    concurrently. Each thread uses its own database connection from the
+    database connection pool, and if all threads are busy then main
+    receive thread will also perform a change creation or patch set
+    update.
+    
+    Defaults to 1, using only the main receive thread. This feature is
+    for databases with very high latency that can benefit from
+    concurrent operations when multiple changes are impacted at once.
+
+  - receive.checkMagicRefs  
+    If true, Gerrit will verify the destination repository has no
+    references under the magic *refs/for* branch namespace. Names under
+    these locations confuse clients when trying to upload code reviews
+    so Gerrit requires them to be empty.
+    
+    If false Gerrit skips the sanity check and assumes administrators
+    have ensured the repository does not contain any magic references.
+    Setting to false to skip the check can decrease latency during push.
+    
+    Default is true.
+
+  - receive.checkReferencedObjectsAreReachable  
+    If set to true, Gerrit will validate that all referenced objects
+    that are not included in the received pack are reachable by the
+    user.
+    
+    Carrying out this check on gits with many refs and commits can be a
+    very CPU-heavy operation. For non public Gerrit-servers this check
+    may be overkill.
+    
+    Only disable this check if you trust the clients not to forge SHA1
+    references to access commits intended to be hidden from the user.
+    
+    Default is true.
+
+  - receive.enableSignedPush  
+    If true, server-side signed push validation is enabled.
+    
+    When a client pushes with `git push --signed`, this ensures that the
+    push certificate is valid and signed with a valid public key stored
+    in the `refs/meta/gpg-keys` branch of `All-Users`.
+    
+    Defaults to false.
+
+  - receive.maxBatchChanges  
+    The maximum number of changes that Gerrit allows to be pushed in a
+    batch for review. When this number is exceeded Gerrit rejects the
+    push with an error message.
+    
+    May be overridden for certain groups by specifying a limit in the
+    [*Batch Changes
+    Limit*](access-control.html#capability_batchChangesLimit) global
+    capability.
+    
+    This setting can be used to prevent users from uploading large
+    number of changes for review by mistake.
+    
+    Default is zero, no limit.
+
+  - receive.maxBatchCommits  
+    The maximum number of commits that Gerrit allows to be pushed in a
+    batch directly to a branch when [bypassing
+    review](user-upload.html#bypass_review). This limit can be bypassed
+    if a user [skips validation](user-upload.html#skip_validation).
+    
+    Default is 10000.
+
+  - receive.maxObjectSizeLimit  
+    Maximum allowed Git object size that *receive-pack* will accept. If
+    an object is larger than the given size the pack-parsing will abort
+    and the push operation will fail. If set to zero then there is no
+    limit.
+    
+    Gerrit administrators can use this setting to prevent developers
+    from pushing objects which are too large to Gerrit.
+    
+    This setting can also be set in the `project.config`
+    [receive.maxObjectSizeLimit](config-project-config.html) in order to
+    further reduce the global setting. The project specific setting is
+    only honored when it further reduces the global limit.
+    
+    Default is zero.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+
+  - receive.maxTrustDepth  
+    If signed push validation is [enabled](#receive.enableSignedPush),
+    set to the maximum depth to search when checking if a key is
+    [trusted](#receive.trustedKey).
+    
+    Default is 0, meaning only explicitly trusted keys are allowed.
+
+  - receive.threadPoolSize  
+    Maximum size of the thread pool in which the change data in received
+    packs is processed.
+    
+    Defaults to the number of available CPUs according to the Java
+    runtime.
+
+  - receive.timeout  
+    Overall timeout on the time taken to process the change data in
+    received packs. Only includes the time processing Gerrit changes and
+    updating references, not the time to index the pack. Values can be
+    specified using standard time unit abbreviations (*ms*, *sec*,
+    *min*, etc.).
+    
+    Default is 4 minutes. If no unit is specified, milliseconds is
+    assumed.
+
+  - receive.trustedKey  
+    List of GPG key fingerprints that should be considered trust roots
+    by the server when signed push validation is
+    [enabled](#receive.enableSignedPush). A key is trusted by the server
+    if it is either in this list, or a path of trust signatures leads
+    from the key to a configured trust root. The maximum length of the
+    path is determined by
+    [`receive.maxTrustDepth`](#receive.maxTrustDepth).
+    
+    Key fingerprints can be displayed with `gpg --list-keys
+    --with-fingerprint`.
+    
+    Trust signatures can be added to a key using the `tsign` command to
+    [`gpg
+    --edit-key`](https://www.gnupg.org/documentation/manuals/gnupg/OpenPGP-Key-Management.html),
+    after which the signed key should be re-uploaded.
+    
+    If no keys are specified, web-of-trust checks are disabled. This is
+    the default behavior.
+
+### Section repository
+
+Repositories in this sense are the same as projects.
+
+In the following example configuration `Registered Users` is set to be
+the default owner of new projects.
+
+    [repository "*"]
+      ownerGroup = Registered Users
+
+The only matching patterns supported are exact match or wildcard
+matching which can be specified by ending the name with a `*`. If a
+project matches more than one repository configuration, then the
+configuration from the more precise match will be used. In the following
+example, the default submit type for a project named `project/plugins/a`
+would be `CHERRY_PICK`.
+
+    [repository "project/*"]
+      defaultSubmitType = MERGE_IF_NECESSARY
+    [repository "project/plugins/*"]
+      defaultSubmitType = CHERRY_PICK
+
+> **Note**
+> 
+> All properties are used from the matching repository configuration. In
+> the previous example, all properties will be used from
+> `project/plugins/\*` section and no properties will be inherited nor
+> overridden from `project/*`.
+
+  - repository.\<name\>.basePath  
+    Alternate to [gerrit.basePath](#gerrit.basePath). The repository
+    will be created
+    
+    If configuring the basePath for an existing project in gerrit, make
+    sure to stop gerrit, move the repository in the alternate basePath,
+    configure basePath for this repository and then start Gerrit.
+    
+    Path must be absolute.
+
+  - repository.\<name\>.defaultSubmitType  
+    The default submit type for newly created projects. Supported values
+    are `MERGE_IF_NECESSARY`, `FAST_FORWARD_ONLY`,
+    `REBASE_IF_NECESSARY`, `REBASE_ALWAYS`, `MERGE_ALWAYS` and
+    `CHERRY_PICK`.
+    
+    For more details see [Submit
+    Types](project-configuration.html#submit_type).
+    
+    By default, `MERGE_IF_NECESSARY`.
+
+  - repository.\<name\>.ownerGroup  
+    A name of a group which exists in the database. Zero, one or many
+    groups are allowed. Each on its own line. Groups which don’t exist
+    in the database are ignored.
+
+### Section rules
+
+  - rules.enable  
+    If true, Gerrit will load and execute *rules.pl* files in each
+    project’s refs/meta/config branch, if present. When set to false,
+    only the default internal rules will be used.
+    
+    Default is true, to execute project specific rules.
+
+  - rules.reductionLimit  
+    Maximum number of Prolog reductions that can be performed when
+    evaluating rules for a single change. Each function call made in
+    user rule code, internal Gerrit Prolog code, or the Prolog
+    interpreter counts against this limit.
+    
+    Sites using very complex rules that need many reductions should
+    compile Prolog to Java bytecode with [rulec](pgm-rulec.html). This
+    eliminates the dynamic Prolog interpreter from charging its own
+    reductions against the limit, enabling more logic to execute within
+    the same bounds.
+    
+    A reductionLimit of 0 is nearly infinite, implemented by setting the
+    internal limit to 2^31-1.
+    
+    Default is 100,000 reductions (about 14 ms on Intel Core i7 CPU).
+
+  - rules.compileReductionLimit  
+    Maximum number of Prolog reductions that can be performed when
+    compiling source code to internal Prolog machine code.
+    
+    Default is 10x reductionLimit (1,000,000).
+
+  - rules.maxSourceBytes  
+    Maximum input size (in bytes) of a Prolog rules.pl file. Larger
+    source files may need a larger rules.compileReductionLimit. Consider
+    using [rulec](pgm-rulec.html) to precompile larger rule files.
+    
+    A size of 0 bytes disables rules, same as rules.enable = false.
+    
+    Common unit suffixes of *k*, *m*, or *g* are supported.
+    
+    Default is 128 KiB.
+
+  - rules.maxPrologDatabaseSize  
+    Number of predicate clauses allowed to be defined in the Prolog
+    database by project rules. Very complex rules may need more than the
+    default 256 limit, but cost more memory and may need more time to
+    evaluate. Consider using [rulec](pgm-rulec.html) to precompile
+    larger rule files.
+    
+    Default is 256.
+
+### Section execution
+
+  - execution.defaultThreadPoolSize  
+    The default size of the background execution thread pool in which
+    miscellaneous tasks are handled.
+    
+    Default is 1.
+
+### Section receiveemail
+
+  - receiveemail.protocol  
+    Specifies the protocol used for receiving emails. Valid options are
+    *POP3*, *IMAP* and *NONE*. Note that Gerrit will automatically
+    switch between POP3 and POP3s as well as IMAP and IMAPS depending on
+    the specified [encryption](#receiveemail.encryption).
+    
+    Defaults to *NONE* which means that receiving emails is disabled.
+
+  - receiveemail.host  
+    The hostname of the mailserver. Example: *imap.gmail.com*.
+    
+    Defaults to an empty string which means that receiving emails is
+    disabled.
+
+  - receiveemail.port  
+    The port the email server exposes for receiving emails.
+    
+    Defaults to the industry standard for a given protocol and
+    encryption: POP3: 110; POP3S: 995; IMAP: 143; IMAPS: 993.
+
+  - receiveemail.username  
+    Username used for authenticating with the email server.
+    
+    Defaults to an empty string.
+
+  - receiveemail.password  
+    Password used for authenticating with the email server.
+    
+    Defaults to an empty string.
+
+  - receiveemail.encryption  
+    Encryption standard used for transport layer security between Gerrit
+    and the email server. Possible values include *NONE*, *SSL* and
+    *TLS*.
+    
+    Defaults to *NONE*.
+
+  - receiveemail.fetchInterval  
+    Time between two consecutive fetches from the email server.
+    Communication with the email server is not kept alive. Examples:
+    60s, 10m, 1h.
+    
+    Defaults to 60 seconds.
+
+  - receiveemail.enableImapIdle  
+    If the IMAP protocol is used for retrieving emails, IMAPv4 IDLE can
+    be used to keep the connection with the email server alive and
+    receive a push when a new email is delivered to the inbox. In this
+    case, Gerrit will process the email immediately and will not have a
+    fetch delay.
+    
+    Defaults to false.
+
+  - receiveemail.filter.mode  
+    A black- and whitelist filter to filter incoming emails.
+    
+    If `OFF`, emails are not filtered by the list filter.
+    
+    If `WHITELIST`, only emails where a pattern from
+    [receiveemail.filter.patterns](#receiveemail.filter.patterns)
+    matches *From* will be processed.
+    
+    If `BLACKLIST`, only emails where no pattern from
+    [receiveemail.filter.patterns](#receiveemail.filter.patterns)
+    matches *From* will be processed.
+    
+    Defaults to `OFF`.
+
+  - receiveemail.filter.patterns  
+    A list of regular expressions to match the email sender against.
+    This can also be a list of addresses when regular expression
+    characters are escaped.
+
+### Section sendemail
+
+  - sendemail.enable  
+    If false Gerrit will not send email messages, for any reason, and
+    all other properties of section sendemail are ignored.
+    
+    By default, true, allowing notifications to be sent.
+
+  - sendemail.html  
+    If false, Gerrit will only send plain-text emails. If true, Gerrit
+    will send multi-part emails with an HTML and plain text part.
+    
+    By default, true, allowing HTML in the emails Gerrit sends.
+
+  - sendemail.connectTimeout  
+    The connection timeout of opening a socket connected to a remote
+    SMTP server.
+    
+    Values can be specified using standard time unit abbreviations
+    (*ms*, *sec*, *min*, etc.). If no unit is specified, milliseconds is
+    assumed.
+    
+    Default is 0. A timeout of zero is interpreted as an infinite
+    timeout. The connection will then block until established or an
+    error occurs.
+
+  - sendemail.threadPoolSize  
+    Maximum size of thread pool in which the review comments
+    notifications are sent out asynchronously.
+    
+    By default, 1.
+
+  - sendemail.from  
+    Designates what name and address Gerrit will place in the From field
+    of any generated email messages. The supported values are:
+    
+      - `USER`
+        
+        Gerrit will set the From header to use the current user’s Full
+        Name and Preferred Email. This may cause messages to be
+        classified as spam if the user’s domain has SPF or DKIM enabled
+        and [sendemail.smtpServer](#sendemail.smtpServer) is not a
+        trusted relay for that domain. You can specify
+        [sendemail.allowedDomain](#sendemail.allowedDomain) to instruct
+        Gerrit to only send as USER if USER is from those domains.
+    
+      - `MIXED`
+        
+        Shorthand for `${user} (Code Review) <review@example.com>` where
+        `review@example.com` is the same as [user.email](#user.email).
+        See below for a description of how the replacement is handled.
+    
+      - `SERVER`
+        
+        Gerrit will set the From header to the same name and address it
+        records in any commits Gerrit creates. This is set by
+        [user.name](#user.name) and [user.email](#user.email), or
+        guessed from the local operating system.
+    
+      - `Code Review <review@example.com>`
+        
+        If set to a name and email address in brackets, Gerrit will use
+        this name and email address for any messages, overriding the
+        name that may have been selected for commits by user.name and
+        user.email. Optionally, the name portion may contain the
+        placeholder `${user}`, which is replaced by the Full Name of the
+        current user.
+    
+    By default, MIXED.
+
+  - sendemail.allowedDomain  
+    Only used when `sendemail.from` is set to `USER`. List of allowed
+    domains. If user’s email matches one of the domains, emails will be
+    sent as USER, otherwise as MIXED mode. Wildcards may be specified by
+    including `*` to match any number of characters, for example
+    `*.example.com` matches any subdomain of `example.com`.
+    
+    By default, `*`.
+
+  - sendemail.smtpServer  
+    Hostname (or IP address) of a SMTP server that will relay messages
+    generated by Gerrit to end users.
+    
+    By default, 127.0.0.1 (aka localhost).
+
+  - sendemail.smtpServerPort  
+    Port number of the SMTP server in sendemail.smtpserver.
+    
+    By default, 25, or 465 if smtpEncryption is *ssl*.
+
+  - sendemail.smtpEncryption  
+    Specify the encryption to use, either *ssl* or *tls*.
+    
+    By default, *none*, indicating no encryption is used.
+
+  - sendemail.sslVerify  
+    If false and sendemail.smtpEncryption is *ssl* or *tls*, Gerrit will
+    not verify the server certificate when it connects to send an email
+    message.
+    
+    By default, true, requiring the certificate to be verified.
+
+  - sendemail.smtpUser  
+    User name to authenticate with, if required for relay.
+
+  - sendemail.smtpPass  
+    Password for the account named by sendemail.smtpUser.
+
+  - sendemail.allowrcpt  
+    If present, each value adds one entry to the whitelist of email
+    addresses that Gerrit can send email to. If set to a complete email
+    address, that one address is added to the white list. If set to a
+    domain name, any address at that domain can receive email from
+    Gerrit.
+    
+    By default, unset, permitting delivery to any email address.
+
+  - sendemail.includeDiff  
+    If true, new change emails and merged change emails from Gerrit will
+    include the complete unified diff of the change. Variable
+    maxmimumDiffSize places an upper limit on how large the email can
+    get when this option is enabled.
+    
+    By default, false.
+
+  - sendemail.maximumDiffSize  
+    Largest size of unified diff output to include in an email. When the
+    diff exceeds this size the file paths will be listed instead.
+    Standard byte unit suffixes are supported.
+    
+    By default, 256 KiB.
+
+  - sendemail.importance  
+    If present, emails sent from Gerrit will have the given level of
+    importance. Valid values include *high* and *low*, which email
+    clients will render in different ways.
+    
+    By default, unset, so no Importance header is generated.
+
+  - sendemail.expiryDays  
+    If present, emails sent from Gerrit will expire after the given
+    number of days. This will add the Expiry-Date header and email
+    clients may expire or expunge mails whose Expiry-Date header is in
+    the past. This should be a positive non-zero number indicating how
+    many days in the future the mails should expire.
+    
+    By default, unset, so no Expiry-Date header is generated.
+
+  - sendemail.replyToAddress  
+    A custom Reply-To address should only be provided if Gerrit is set
+    up to receive emails and the inbound address differs from
+    [sendemail.from](#sendemail.from). It will be set as Reply-To header
+    on all types of outgoing email where Gerrit can parse back a user’s
+    reply.
+    
+    Defaults to an empty string which adds
+    [sendemail.from](#sendemail.from) as Reply-To if inbound email is
+    enabled and the review’s author otherwise.
+
+  - sendemail.allowTLD  
+    List of custom TLDs to allow sending emails to in addition to those
+    specified in the [IANA list](http://data.iana.org/TLD/).
+    
+    Defaults to an empty list, meaning no additional TLDs are allowed.
+
+### Section site
+
+  - site.allowOriginRegex  
+    List of regular expressions matching origins that should be
+    permitted to use the full Gerrit REST API. These should be trusted
+    applications, as the sites may be able to use the user’s
+    credentials. Applies to all requests, including state changing
+    methods (PUT, DELETE, POST).
+    
+    Expressions should not require trailing slash. For example a valid
+    pattern might be `https://build-status[.]example[.]com`.
+    
+    By default, unset, denying all cross-origin requests.
+
+  - site.refreshHeaderFooter  
+    If true the server checks the site header, footer and CSS files for
+    updated versions. If false, a server restart is required to change
+    any of these resources. Default is true, allowing automatic reloads.
+
+### Section ssh-alias
+
+Variables in section ssh-alias permit the site administrator to alias
+another command from Gerrit or a plugin into the `gerrit` command
+namespace. To alias `replication start` to `gerrit replicate`:
+
+    [ssh-alias]
+      replicate = replication start
+
+### Section sshd
+
+  - sshd.enableCompression  
+    In the general case, we want to disable transparent compression,
+    since the majority of our data transfer is highly compressed Git
+    pack files and we cannot make them any smaller than they already
+    are.
+    
+    However, if there are CPU in abundance and the server is reachable
+    through slow networks, gits with huge amount of refs can benefit
+    from SSH-compression since git does not compress the ref
+    announcement during handshake.
+    
+    Compression can be especially useful when Gerrit slaves are being
+    used for the larger clones and fetches and the master server mostly
+    takes small receive-packs.
+    
+    By default, `false`.
+
+  - sshd.backend  
+    Starting from version 0.9.0 Apache SSHD project added support for
+    NIO2 IoSession. To use the new NIO2 session the `backend` option
+    must be set to `NIO2`. Otherwise, this option must be set to `MINA`.
+    
+    By default, `NIO2`.
+
+  - sshd.listenAddress  
+    Specifies the local addresses the internal SSHD should listen for
+    connections on. The following forms may be used to specify an
+    address. In any form, `:'port'` may be omitted to use the default of
+    `29418`.
+    
+      - `'hostname':'port'` (for example `review.example.com:29418`)
+    
+      - `'IPv4':'port'` (for example `10.0.0.1:29418`)
+    
+      - `['IPv6']:'port'` (for example `[ff02::1]:29418`)
+    
+      - `+*:'port'+` (for example `+*:29418+`)
+    
+    If multiple values are supplied, the daemon will listen on all of
+    them.
+    
+    To disable the internal SSHD, set listenAddress to `off`.
+    
+    By default, `*:29418`.
+
+  - sshd.advertisedAddress  
+    Specifies the addresses clients should be told to connect to. This
+    may differ from sshd.listenAddress if a firewall based port
+    redirector is being used, making Gerrit appear to answer on port 22.
+    The following forms may be used to specify an address. In any form,
+    `:'port'` may be omitted to use the default SSH port of 22.
+    
+      - `'hostname':'port'` (for example `review.example.com:22`)
+    
+      - `'IPv4':'port'` (for example `10.0.0.1:29418`)
+    
+      - `['IPv6']:'port'` (for example `[ff02::1]:29418`)
+    
+    If multiple values are supplied, the daemon will advertise all of
+    them.
+    
+    By default uses the value of `sshd.listenAddress`.
+
+  - sshd.tcpKeepAlive  
+    If true, enables TCP keepalive messages to the other side, so the
+    daemon can terminate connections if the peer disappears.
+    
+    Only effective when `sshd.backend` is set to `MINA`.
+    
+    By default, `true`.
+
+  - sshd.threads  
+    Number of threads to use when executing SSH command requests. If
+    additional requests are received while all threads are busy they are
+    queued and serviced in a first-come-first-served order.
+    
+    By default, 2x the number of CPUs available to the JVM.
+
+  - sshd.batchThreads  
+    Number of threads to allocate for SSH command requests from
+    [non-interactive users](access-control.html#non-interactive_users).
+    If equals to 0, then all non-interactive requests are executed in
+    the same queue as interactive requests.
+    
+    Any other value will remove the number of threads from the queue
+    allocated to interactive users, and create a separate thread pool of
+    the requested size, which will be used to run commands from
+    non-interactive users.
+    
+    If the number of threads requested for non-interactive users is
+    larger than the total number of threads allocated in sshd.threads,
+    then the value of sshd.threads is increased to accommodate the
+    requested value.
+    
+    By default is 1 on single core node, 2 otherwise.
+
+  - sshd.streamThreads  
+    Number of threads to use when formatting events to asynchronous
+    streaming clients. Event formatting is multiplexed onto this thread
+    pool by a simple FIFO scheduling system.
+    
+    By default, 1 plus the number of CPUs available to the JVM.
+
+  - sshd.commandStartThreads  
+    Number of threads used to parse a command line submitted by a client
+    over SSH for execution, create the internal data structures used by
+    that command, and schedule it for execution on another thread.
+    
+    By default, 2.
+
+  - sshd.maxAuthTries  
+    Maximum number of authentication attempts before the server
+    disconnects the client. Each public key that a client has loaded
+    into its local agent counts as one auth request. Users can work
+    around the server’s limit by loading less keys into their agent, or
+    selecting a specific key in their `~/.ssh/config` file with the
+    `IdentityFile` option.
+    
+    By default, 6.
+
+  - sshd.loginGraceTime  
+    Time in seconds that a client has to authenticate before the server
+    automatically terminates their connection. Values should use common
+    unit suffixes to express their setting:
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+    By default, 2 minutes.
+
+  - sshd.idleTimeout  
+    Time in seconds after which the server automatically terminates idle
+    connections (or 0 to disable closing of idle connections). Values
+    should use common unit suffixes to express their setting:
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+    By default, 0.
+
+  - sshd.maxConnectionsPerUser  
+    Maximum number of concurrent SSH sessions that a user account may
+    open at one time. This is the number of distinct SSH logins that
+    each user may have active at one time, and is not related to the
+    number of commands a user may issue over a single connection. If set
+    to 0, there is no limit.
+    
+    By default, 64.
+
+  - sshd.cipher  
+    Available ciphers. To permit multiple ciphers, specify multiple
+    `sshd.cipher` keys in the configuration file, one cipher name per
+    key. Cipher names starting with `+` are enabled in addition to the
+    default ciphers, cipher names starting with `-` are removed from the
+    default cipher set.
+    
+    Supported ciphers: `aes128-cbc`, `aes128-cbc`, `aes256-cbc`,
+    `blowfish-cbc`, `3des-cbc`, `none`.
+    
+    By default, all supported ciphers except `none` are available.
+
+  - sshd.mac  
+    Available MAC (message authentication code) algorithms. To permit
+    multiple algorithms, specify multiple `sshd.mac` keys in the
+    configuration file, one MAC per key. MAC names starting with `+` are
+    enabled in addition to the default MACs, MAC names starting with `-`
+    are removed from the default MACs.
+    
+    Supported MACs: `hmac-md5`, `hmac-md5-96`, `hmac-sha1`,
+    `hmac-sha1-96`, `hmac-sha2-256`, `hmac-sha2-512`.
+    
+    By default, all supported MACs are available.
+
+  - sshd.kex  
+    Available key exchange algorithms. To permit multiple algorithms,
+    specify multiple `sshd.kex` keys in the configuration file, one key
+    exchange algorithm per key. Key exchange algorithm names starting
+    with `+` are enabled in addition to the default key exchange
+    algorithms, key exchange algorithm names starting with `-` are
+    removed from the default key exchange algorithms.
+    
+    In the following example configuration, support for the 1024-bit
+    `diffie-hellman-group1-sha1` key exchange is disabled while leaving
+    all of the other default algorithms enabled:
+    
+        [sshd]
+          kex = -diffie-hellman-group1-sha1
+    
+    Supported key exchange algorithms:
+    
+      - `ecdh-sha2-nistp521`
+    
+      - `ecdh-sha2-nistp384`
+    
+      - `ecdh-sha2-nistp256`
+    
+      - `diffie-hellman-group-exchange-sha256`
+    
+      - `diffie-hellman-group-exchange-sha1`
+    
+      - `diffie-hellman-group14-sha1`
+    
+      - `diffie-hellman-group1-sha1`
+    
+    By default, all supported key exchange algorithms are available.
+    Without Bouncy Castle, `diffie-hellman-group1-sha1` is the only
+    available algorithm.
+
+  - sshd.kerberosKeytab  
+    Enable kerberos authentication for SSH connections. To permit
+    kerberos authentication, the server must have a host principal (see
+    `sshd.kerberosPrincipal`) which is acquired from a keytab. This must
+    be provisioned by the kerberos administrators, and is typically
+    installed into `/etc/krb5.keytab` on host machines.
+    
+    The keytab must contain at least one `host/` principal, typically
+    using the host’s canonical name. If it does not use the canonical
+    name, the `sshd.kerberosPrincipal` should be configured with the
+    correct name.
+    
+    By default, not set and so kerberos authentication is not enabled.
+
+  - sshd.kerberosPrincipal  
+    If kerberos authentication is enabled with `sshd.kerberosKeytab`,
+    instead use the given principal name instead of the default. If the
+    principal does not begin with `host/` a warning message is printed
+    and may prevent successful authentication.
+    
+    This may be useful if the host is behind an IP load balancer or
+    other SSH forwarding systems, since the principal name is
+    constructed by the client and must match for kerberos authentication
+    to work.
+    
+    By default, `host/canonical.host.name`
+
+  - sshd.requestLog  
+    Enable (or disable) the `'$site_path'/logs/sshd_log` request log. If
+    enabled, a request log file is written out by the SSH daemon.
+    
+    `log4j.appender` with the name `sshd_log` can be configured to
+    overwrite programmatic configuration.
+    
+    By default, `true`.
+
+  - sshd.rekeyBytesLimit  
+    The SSH daemon will issue a rekeying after a certain amount of data.
+    This configuration option allows you to tweak that setting.
+    
+    By default, 1073741824 (bytes, 1GB).
+    
+    The `rekeyBytesLimit` cannot be set to lower than 32.
+
+  - sshd.rekeyTimeLimit  
+    The SSH daemon will issue a rekeying after a certain amount of time.
+    This configuration option allows you to tweak that setting.
+    
+    By default, 1h.
+    
+    Set to 0 to disable this check.
+
+### Section suggest
+
+  - suggest.maxSuggestedReviewers  
+    The maximum numbers of reviewers suggested.
+    
+    By default 10.
+
+  - suggest.from  
+    The number of characters that a user must have typed before
+    suggestions are provided. If set to 0, suggestions are always
+    provided. This is only used for suggesting accounts when adding
+    members to a group.
+    
+    By default 0.
+
+### Section theme
+
+  - theme.backgroundColor  
+    Background color for the page, and major data tables like the all
+    open changes table or the account dashboard. The value must be a
+    valid HTML hex color code, or standard color name.
+    
+    By default white, `FFFFFF`.
+
+  - theme.topMenuColor  
+    This is the color of the main menu bar at the top of the page. The
+    value must be a valid HTML hex color code, or standard color name.
+    
+    By default white, `FFFFFF`.
+
+  - theme.textColor  
+    Text color for the page, and major data tables like the all open
+    changes table or the account dashboard. The value must be a valid
+    HTML hex color code, or standard color name.
+    
+    By default dark grey, `353535`.
+
+  - theme.trimColor  
+    Primary color used as a background color behind text. This is the
+    color of the main menu bar at the top, of table headers, and of
+    major UI areas that we want to offset from other portions of the
+    page. The value must be a valid HTML hex color code, or standard
+    color name.
+    
+    By default a light grey, `EEEEEE`.
+
+  - theme.selectionColor  
+    Background color used within a trimColor area to denote the
+    currently selected tab, or the background color used in a table to
+    denote the currently selected row. The value must be a valid HTML
+    hex color code, or standard color name.
+    
+    By default a pale blue, `D8EDF9`.
+
+  - theme.changeTableOutdatedColor  
+    Background color used for patch outdated messages. The value must be
+    a valid HTML hex color code, or standard color name.
+    
+    By default a shade of red, `F08080`.
+
+  - theme.tableOddRowColor  
+    Background color for tables such as lists of open reviews for odd
+    rows. This is so you can have a different color for odd and even
+    rows of the table. The value must be a valid HTML hex color code, or
+    standard color name.
+    
+    By default transparent.
+
+  - theme.tableEvenRowColor  
+    Background color for tables such as lists of open reviews for even
+    rows. This is so you can have a different color for odd and even
+    rows of the table. The value must be a valid HTML hex color code, or
+    standard color name.
+    
+    By default transparent.
+
+A different theme may be used for signed-in vs. signed-out user status
+by using the "signed-in" and "signed-out" theme sections. Variables not
+specified in a section are inherited from the default theme.
+
+    [theme]
+      backgroundColor = FFFFFF
+    [theme "signed-in"]
+      backgroundColor = C0C0C0
+    [theme "signed-out"]
+      backgroundColor = 00FFFF
+
+As example, here is the theme configuration to have the old green look:
+
+    [theme]
+      backgroundColor = FCFEEF
+      textColor = 000000
+      trimColor = D4E9A9
+      selectionColor = FFFFCC
+      topMenuColor = D4E9A9
+      changeTableOutdatedColor = F08080
+    [theme "signed-in"]
+      backgroundColor = FFFFFF
+
+### Section trackingid
+
+Tagged footer lines containing references to external tracking systems,
+parsed out of the commit message and saved in Gerrit’s secondary index.
+
+After making changes to this section, existing changes must be reindexed
+with [reindex](pgm-reindex.html).
+
+The tracking ids are searchable using tr:\<tracking id\> or
+bug:\<tracking id\>.
+
+    [trackingid "jira-bug"]
+      footer = Bugfix:
+      footer = Bug:
+      match = JRA\\d{2,8}
+      system = JIRA
+    
+    [trackingid "jira-feature"]
+      footer = Feature
+      match = JRA(\\d{2,8})
+      system = JIRA
+
+  - trackingid.\<name\>.footer  
+    A prefix tag that identifies the footer line to parse for tracking
+    ids.
+    
+    Several trackingid entries can have the same footer tag, and a
+    single trackingid entry can have multiple footer tags.
+    
+    If multiple footer tags are specified, each tag will be parsed
+    separately and duplicates will be ignored.
+    
+    The trailing ":" is optional.
+
+  - trackingid.\<name\>.match  
+    A [standard Java regular expression
+    (java.util.regex)](http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html)
+    used to match the external tracking id part of the footer line. The
+    match can result in several entries in the DB. If grouping is used
+    in the regex the first group will be interpreted as the tracking id.
+    Tracking ids longer than 32 characters will be ignored.
+    
+    The configuration file parser eats one level of backslashes, so the
+    character class `\s` requires `\\s` in the configuration file. The
+    parser also terminates the line at the first `#`, so a match
+    expression containing \# must be wrapped in double quotes.
+
+  - trackingid.\<name\>.system  
+    The name of the external tracking system (maximum 10 characters). It
+    is possible to have several trackingid entries for the same tracking
+    system.
+
+### Section transfer
+
+  - transfer.timeout  
+    Number of seconds to wait for a single network read or write to
+    complete before giving up and declaring the remote side is not
+    responding. If 0, there is no timeout, and this server will wait
+    indefinitely for a transfer to finish.
+    
+    A timeout should be large enough to mostly transfer the objects to
+    the other side. 1 second may be too small for larger projects,
+    especially over a WAN link, while 10-30 seconds is a much more
+    reasonable timeout value.
+    
+    Defaults to 0 seconds, wait indefinitely.
+
+### Section upload
+
+Sets the group of users allowed to execute *upload-pack* on the server,
+*upload-pack* is what runs on the server during a user’s fetch, clone or
+repo sync command.
+
+    [upload]
+      allowGroup = GROUP_ALLOWED_TO_EXECUTE
+      allowGroup = YET_ANOTHER_GROUP_ALLOWED_TO_EXECUTE
+
+  - upload.allowGroup  
+    Name of the groups of users that are allowed to execute
+    *upload-pack* on the server. One or more groups can be set.
+    
+    If no groups are added, any user will be allowed to execute
+    *upload-pack* on the server.
+
+### Section urlAlias
+
+URL aliases define regular expressions for URL tokens that are mapped to
+target URL tokens.
+
+Each URL alias must be specified in its own subsection. The subsection
+name should be a descriptive name. It must be unique, but is not
+interpreted in any way.
+
+The URL aliases are applied in no particular order. The first matching
+URL alias is used and further matches are ignored.
+
+URL aliases can be used to map plugin screens into the Gerrit URL
+namespace, or to replace Gerrit screens by plugin screens.
+
+Example:
+
+    [urlAlias "MyPluginScreen"]
+      match = /myscreen/(.*)
+      token = /x/myplugin/myscreen/$1
+    [urlAlias "MyChangeScreen"]
+      match = /c/(.*)
+      token = /x/myplugin/c/$1
+
+  - urlAlias.match  
+    A regular expression for a URL token.
+    
+    The matched URL token is replaced by `urlAlias.token`.
+
+  - urlAlias.token  
+    The target URL token.
+    
+    It can contain placeholders for the groups matched by the
+    `urlAlias.match` regular expression: `$1` for the first matched
+    group, `$2` for the second matched group, etc.
+
+### Section submodule
+
+  - submodule.verboseSuperprojectUpdate  
+    When using [automatic superproject
+    updates](user-submodules.html#automatic_update) this option will
+    determine how the submodule commit messages are included into the
+    commit message of the superproject update.
+    
+    If `FALSE`, will not include any commit messages for the gitlink
+    update.
+    
+    If `SUBJECT_ONLY`, will include only the commit subjects.
+    
+    If `TRUE`, will include full commit messages.
+    
+    By default this is `TRUE`.
+
+  - submodule.enableSuperProjectSubscriptions  
+    This allows to enable the superproject subscription mechanism.
+    
+    By default this is true.
+
+  - submodule.maxCombinedCommitMessageSize  
+    This allows to limit the length of the commit message for a
+    submodule.
+    
+    By default this is 262144 (256 KiB).
+    
+    Common unit suffixes of k, m, or g are supported.
+
+  - submodule.maxCommitMessages  
+    This allows to limit the number of commit messages that should be
+    combined when creating a commit message for a submodule.
+    
+    By default this is 1000.
+
+### Section user
+
+  - user.name  
+    Name that Gerrit calls itself in Git when it creates a new Git
+    commit, such as a merge during change submission.
+    
+    By default this is "Gerrit Code Review".
+
+  - user.email  
+    Email address that Gerrit refers to itself as when it creates a new
+    Git commit, such as a merge commit during change submission.
+    
+    If not set, Gerrit generates this as "gerrit@`hostname`", where
+    `hostname` is the hostname of the system Gerrit is running on.
+    
+    By default, not set, generating the value at startup.
+
+  - user.anonymousCoward  
+    Username that is displayed in the Gerrit Web UI and in e-mail
+    notifications if the full name of the user is not set.
+    
+    By default "Anonymous Coward" is used.
+
+## File `etc/secure.config`
+
+The optional file `'$site_path'/etc/secure.config` overrides (or
+supplements) the settings supplied by `'$site_path'/etc/gerrit.config`.
+The file should be readable only by the daemon process and can be used
+to contain private configuration entries that wouldn’t normally be
+exposed to everyone.
+
+Sample `etc/secure.config`:
+
+    [auth]
+      registerEmailPrivateKey = 2zHNrXE2bsoylzUqDxZp0H1cqUmjgWb6
+    
+    [database]
+      username = webuser
+      password = s3kr3t
+    
+    [ldap]
+      password = l3tm3srch
+    
+    [httpd]
+      sslKeyPassword = g3rr1t
+    
+    [sendemail]
+      smtpPass = sp@m
+    
+    [remote "bar"]
+      password = s3kr3t
+
+## File `etc/peer_keys`
+
+The optional file `'$site_path'/etc/peer_keys` controls who can login as
+the *Gerrit Code Review* user, required for the
+[suexec](cmd-suexec.html) command.
+
+The format is one Base-64 encoded public key per line.
+
+## Database system\_config
+
+Several columns in the `system_config` table within the metadata
+database may be set to control how Gerrit behaves.
+
+> **Note**
+> 
+> The contents of the `system_config` table are cached at startup by
+> Gerrit. If you modify any columns in this table, Gerrit needs to be
+> restarted before it will use the new values.
+
+## Configuring the Polygerrit UI
+
+Please see [UI](dev-polygerrit.html) on configuring the Polygerrit UI.
+
+### Configurable Parameters
+
+  - site\_path  
+    Local filesystem directory holding the site customization assets.
+    Placing this directory under version control and/or backup is a good
+    idea.
+    
+    Files in this directory provide additional configuration.
+    
+    Other files support site customization.
+    
+      - [Themes](config-themes.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-gitweb.md b/jekyll-source/pages/gerrit/config-gitweb.md
new file mode 100644
index 0000000..be294a1
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-gitweb.md
@@ -0,0 +1,283 @@
+---
+title: "Gitweb Integration"
+sidebar: gerritdoc_sidebar
+permalink: config-gitweb.html
+---
+## Gitweb Integration
+
+Gerrit Code Review can manage and generate hyperlinks to gitweb,
+allowing users to jump from Gerrit content to the same information, but
+shown by gitweb.
+
+### Internal/Managed gitweb
+
+In the internal configuration, Gerrit inspects the request, enforces its
+project level access controls, and directly executes `gitweb.cgi` if the
+user is authorized to view the page.
+
+To enable the internal configuration, set
+[gitweb.cgi](config-gerrit.html#gitweb.cgi) with the path of the
+installed CGI. This defaults to `/usr/lib/cgi-bin/gitweb.cgi`, which is
+a common installation path for the *gitweb* package on Linux
+distributions.
+
+``` 
+  git config --file $site_path/etc/gerrit.config gitweb.cgi /usr/lib/cgi-bin/gitweb.cgi
+  git config --file $site_path/etc/gerrit.config --unset gitweb.url
+```
+
+Alternatively, if Gerrit is served behind reverse proxy, it can generate
+different URLs for gitweb’s links (they need to be rewritten to
+`<gerrit>/gitweb?args` on the web server). This allows for serving
+gitweb under a different URL than the Gerrit instance. To enable this
+feature, set both: `gitweb.cgi` and
+`gitweb.url`.
+
+``` 
+  git config --file $site_path/etc/gerrit.config gitweb.cgi /usr/lib/cgi-bin/gitweb.cgi
+  git config --file $site_path/etc/gerrit.config gitweb.url /pretty/path/to/gitweb
+```
+
+After updating `'$site_path'/etc/gerrit.config`, the Gerrit server must
+be restarted and clients must reload the host page to see the change.
+
+#### Configuration
+
+Most of the gitweb configuration file is handled automatically by Gerrit
+Code Review. Site specific overrides can be placed in
+`'$site_path'/etc/gitweb_config.perl`, as this file is loaded as part of
+the generated configuration file.
+
+#### Logo and CSS
+
+If the package-manager installed CGI (`/usr/lib/cgi-bin/gitweb.cgi`) is
+being used, the stock CSS and logo files will be served from either
+`/usr/share/gitweb` or `/var/www`.
+
+Otherwise, Gerrit expects `gitweb.css` and `git-logo.png` to be found in
+the same directory as the CGI script itself. This matches with the
+default source code distribution, and most custom installations.
+
+#### Access Control
+
+Access controls for internally managed gitweb page views are enforced
+using the standard project READ +1 permission.
+
+Also, in order for a user to be able to view any gitweb information for
+a project, the user must be able to read all references (including
+refs/meta/config, refs/meta/dashboards/\*, etc.). If you have exclusive
+read permissions for any references, make sure to include all parties
+that should be able to read the gitweb info for any of the branches in
+that project.
+
+### External/Unmanaged gitweb
+
+For the external configuration, gitweb runs under the control of an
+external web server, and Gerrit access controls are not enforced. Gerrit
+provides configuration parameters for integration with gitweb.
+
+#### Linux Installation
+
+##### Install Gitweb
+
+On Ubuntu:
+
+``` 
+  $ sudo apt-get install gitweb
+```
+
+With Yum:
+
+``` 
+  $ yum install gitweb
+```
+
+##### Configure Gitweb
+
+Update `/etc/gitweb.conf`, add the public GIT repositories:
+
+    $projectroot = "/var/www/repo/";
+    
+    # directory to use for temp files
+    $git_temp = "/tmp";
+    
+    # target of the home link on top of all pages
+    #$home_link = $my_uri || "/";
+    
+    # html text to include at home page
+    $home_text = "indextext.html";
+    
+    # file with project list; by default, simply scan the projectroot dir.
+    $projects_list = $projectroot;
+    
+    # stylesheet to use
+    # I took off the prefix / of the following path to put these files inside gitweb directory directly
+    $stylesheet = "gitweb.css";
+    
+    # logo to use
+    $logo = "git-logo.png";
+    
+    # the favicon
+    $favicon = "git-favicon.png";
+
+#### Configure & Restart Apache Web Server
+
+##### Configure Apache
+
+Link gitweb to `/var/www/gitweb`, check `/etc/gitweb.conf` if unsure of
+paths:
+
+``` 
+  $ sudo ln -s /usr/share/gitweb /var/www/gitweb
+```
+
+Add the gitweb directory to the Apache configuration by creating a
+"gitweb" file inside the Apache conf.d directory:
+
+``` 
+  $ touch /etc/apache/conf.d/gitweb
+```
+
+Add the following to /etc/apache/conf.d/gitweb:
+
+    Alias /gitweb /var/www/gitweb
+    
+    Options Indexes FollowSymlinks ExecCGI
+    DirectoryIndex /cgi-bin/gitweb.cgi
+    AllowOverride None
+
+> **Note**
+> 
+> This may have already been added by yum/apt-get. If that’s the case,
+> leave as is.
+
+##### Restart the Apache Web Server
+
+``` 
+  $ sudo /etc/init.d/apache2 restart
+```
+
+Now you should be able to view your repository projects online:
+
+<http://localhost/gitweb>
+
+#### Windows Installation
+
+Instructions are available for installing the gitweb module distributed
+with MsysGit:
+
+[GitWeb](https://github.com/msysgit/msysgit/wiki/GitWeb)
+
+If you don’t have Apache installed, you can download the appropriate
+build for Windows from
+[apachelounge.org](http://www.apachelounge.com/download).
+
+After you have installed Apache, you will want to create a [new service
+user
+account](http://httpd.apache.org/docs/2.0/platform/windows.html#winsvc)
+to use with Apache.
+
+If you’re still having difficulty setting up permissions, you may find
+this tech note useful for configuring Apache Service to run under
+another account. You must grant the new account ["run as
+service"](http://technet.microsoft.com/en-us/library/cc794944\(WS.10\).aspx)
+permission:
+
+The gitweb version in msysgit is missing several important and required
+perl modules, including CGI.pm. The perl included with the msysgit
+distro 1.7.8 is broken.. The [unicore folder is missing along with
+utf8\_heavy.pl and
+CGI.pm](http://groups.google.com/group/msysgit/browse_thread/thread/ba3501f1f0ed95af).
+You can verify by checking for perl modules. From an msys console,
+execute the following to check:
+
+    $ perl -mCGI -mEncode -mFcntl -mFile::Find -mFile::Basename -e ""
+
+You may encounter the following exception:
+
+    $ perl -mCGI -mEncode -mFcntl -mFile::Find -mFile::Basename -e ""
+    Can't locate CGI.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/msys
+    /usr/lib/p erl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/msys
+    /usr/lib/perl5/site_perl/5.8.8 /u sr/lib/perl5/site_perl .). BEGIN
+    failed--compilation aborted.
+
+If you’re missing CGI.pm, you’ll have to deploy the module to the msys
+environment: You will have to retrieve them from the 5.8.8 distro on :
+
+<http://strawberryperl.com/releases.html>
+
+File: strawberry-perl-5.8.8.3.zip
+
+contents: `bin/` `lib/` `site/`
+
+copy the contents of lib into `msysgit/lib/perl5/5.8.8` and overwrite
+existing files.
+
+#### Enable Gitweb Integration
+
+To enable the external gitweb integration, set
+[gitweb.url](config-gerrit.html#gitweb.url) with the URL of your gitweb
+CGI.
+
+The CGI’s `$projectroot` should be the same directory as
+gerrit.basePath, or a fairly current replica. If a replica is being
+used, ensure it uses a full mirror, so the `+refs/changes/*+` namespace
+is available.
+
+    $ git config -f $site_path/etc/gerrit.config --unset gitweb.cgi
+    $ git config -f $site_path/etc/gerrit.config gitweb.url https://gitweb.corporation.com
+
+If you’re not following the traditional {projectName}.git project naming
+conventions, you will want to customize Gerrit to read them. Add the
+following:
+
+    $ git config -f $site_path/etc/gerrit.config gitweb.type custom
+    $ git config -f $site_path/etc/gerrit.config gitweb.project ?p=\${project}\;a=summary
+    $ git config -f $site_path/etc/gerrit.config gitweb.revision ?p=\${project}\;a=commit\;h=\${commit}
+    $ git config -f $site_path/etc/gerrit.config gitweb.branch ?p=\${project}\;a=shortlog\;h=\${branch}
+    $ git config -f $site_path/etc/gerrit.config gitweb.roottree ?p=\${project}\;a=tree\;hb=\${commit}
+    $ git config -f $site_path/etc/gerrit.config gitweb.file ?p=\${project}\;hb=\${commit}\;f=\${file}
+    $ git config -f $site_path/etc/gerrit.config gitweb.filehistory ?p=\${project}\;a=history\;hb=\${branch}\;f=\${file}
+
+After updating `'$site_path'/etc/gerrit.config`, the Gerrit server must
+be restarted and clients must reload the host page to see the change.
+
+Note that when using a custom gitweb configuration, values must be
+specified for all of the `project`, `revision`, `branch`, `roottree`,
+`file`, and `filehistory` settings, otherwise the configuration will not
+be used.
+
+##### Access Control
+
+Gitweb access controls can be implemented using standard web server
+access controls. This isn’t typically integrated with Gerrit’s own
+access controls. Caution must be taken to ensure the controls are
+consistent if access needs to be restricted.
+
+##### Caching Gitweb
+
+If your repository set is large and you are expecting a lot of users,
+you may want to look at the caching forks used by high-traffic sites
+like kernel.org or repo.or.cz.
+
+### Alternatives to gitweb
+
+There are other alternatives to gitweb that can also be used with
+Gerrit, such as cgit.
+
+cgit can be used by specifying `gitweb.type` to be *cgit*.
+
+It is also possible to define custom patterns.
+
+### SEE ALSO
+
+  - [Section gitweb](config-gerrit.html#gitweb)
+
+  - [cgit](http://git.zx2c4.com/cgit/about/)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-hooks.md b/jekyll-source/pages/gerrit/config-hooks.md
new file mode 100644
index 0000000..3298687
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-hooks.md
@@ -0,0 +1,16 @@
+---
+title: " Gerrit Code Review - Hooks"
+sidebar: gerritdoc_sidebar
+permalink: config-hooks.html
+---
+Gerrit does not run any of the standard git hooks in the repositories it
+works with, but it does have its own hook mechanism included via the
+[hooks
+plugin](https://gerrit-review.googlesource.com/#/admin/projects/plugins/hooks).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-labels.md b/jekyll-source/pages/gerrit/config-labels.md
new file mode 100644
index 0000000..e8301f5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-labels.md
@@ -0,0 +1,424 @@
+---
+title: " Gerrit Code Review - Review Labels"
+sidebar: gerritdoc_sidebar
+permalink: config-labels.html
+---
+As part of the code review process, reviewers score each change with
+values for each label configured for the project. The label values that
+a given user is allowed to set are defined according to the [access
+controls](access-control.html#category_review_labels). Gerrit comes
+pre-configured with the Code-Review label that can be granted to groups
+within projects, enabling functionality for that group’s members.
+
+## Label: Code-Review
+
+The Code-Review label is configured upon the creation of a Gerrit
+instance. It may have any meaning the project desires. It was originally
+invented by the Android Open Source Project to mean *I read the code and
+it seems reasonably correct*.
+
+The range of values is:
+
+  - \-2 This shall not be merged
+    
+    The code is so horribly incorrect/buggy/broken that it must not be
+    submitted to this project, or to this branch. This value is valid
+    across all patch sets in the same change, i.e. the reviewer must
+    actively change his/her review to something else before the change
+    is submittable.
+    
+    **Any -2 blocks submit.**
+
+  - \-1 I would prefer this is not merged as is
+    
+    The code doesn’t look right, or could be done differently, but the
+    reviewer is willing to live with it as-is if another reviewer
+    accepts it, perhaps because it is better than what is currently in
+    the project. Often this is also used by contributors who don’t like
+    the change, but also aren’t responsible for the project long-term
+    and thus don’t have final say on change submission.
+    
+    Does not block submit.
+
+  - 0 No score
+    
+    Didn’t try to perform the code review task, or glanced over it but
+    don’t have an informed opinion yet.
+
+  - \+1 Looks good to me, but someone else must approve
+    
+    The code looks right to this reviewer, but the reviewer doesn’t have
+    access to the `+2` value for this category. Often this is used by
+    contributors to a project who were able to review the change and
+    like what it is doing, but don’t have final approval over what gets
+    submitted.
+
+  - \+2 Looks good to me, approved
+    
+    Basically the same as `+1`, but for those who have final say over
+    how the project will develop.
+    
+    **Any +2 enables submit.**
+
+For a change to be submittable, the latest patch set must have a `+2
+Looks good to me, approved` in this category, and no `-2 Do not submit`.
+Thus `-2` on any patch set can block a submit, while `+2` on the latest
+patch set can enable it.
+
+If a Gerrit installation does not wish to use this label in any project,
+the `[label "Code-Review"]` section can be deleted from `project.config`
+in `All-Projects`.
+
+If a Gerrit installation or project wants to modify the description text
+associated with these label values, the text can be updated in the
+`label.Code-Review.value` fields in `project.config`.
+
+Additional entries could be added to `label.Code-Review.value` to
+further extend the negative and positive range, but there is likely
+little value in doing so as this only expands the middle region. This
+label is a `MaxWithBlock` type, which means that the lowest negative
+value if present blocks a submit, while the highest positive value is
+required to enable submit.
+
+## Label: Verified
+
+The Verified label was originally invented by the Android Open Source
+Project to mean *compiles, passes basic unit tests*. Some CI tools
+expect to use the Verified label to vote on a change after running.
+
+During site initialization the administrator may have chosen to
+configure the default Verified label for all projects. In case it is
+desired to configure it at a later time, administrators can do this by
+adding the following to `project.config` in `All-Projects`:
+
+``` 
+  [label "Verified"]
+      function = MaxWithBlock
+      value = -1 Fails
+      value =  0 No score
+      value = +1 Verified
+      copyAllScoresIfNoCodeChange = true
+```
+
+The range of values is:
+
+  - \-1 Fails
+    
+    Tried to compile, but got a compile error, or tried to run tests,
+    but one or more tests did not pass.
+    
+    **Any -1 blocks submit.**
+
+  - 0 No score
+    
+    Didn’t try to perform the verification tasks.
+
+  - \+1 Verified
+    
+    Compiled (and ran tests) successfully.
+    
+    **Any +1 enables submit.**
+
+For a change to be submittable, the change must have a `+1 Verified` in
+this label, and no `-1 Fails`. Thus, `-1 Fails` can block a submit,
+while `+1 Verified` enables a submit.
+
+Additional values could also be added to this label, to allow it to
+behave more like `Code-Review` (below). Add -2 and +2 entries to the
+`label.Verified.value` fields in `project.config` to get the same
+behavior.
+
+## Customized Labels
+
+Site administrators and project owners can define their own labels, or
+customize labels inherited from parent projects.
+
+See above for descriptions of how [`Verified`](#label_Verified) and
+[`Code-Review`](#label_Code-Review) work, and add your own label to
+`project.config` to get the same behavior over your own range of values,
+for any label you desire.
+
+Just like the built-in labels, users need to be given permissions to
+vote on custom labels. Permissions can either be added by manually
+editing project.config when adding the labels, or, once the labels are
+added, permission categories for those labels will show up in the
+permission editor web UI.
+
+Labels may be added to any project’s `project.config`; the default
+labels are defined in `All-Projects`.
+
+### Inheritance
+
+Labels are inherited from parent projects. A child project may add,
+override, or remove labels defined in its parents.
+
+Overriding a label in a child project overrides all its properties and
+values. It is not possible to modify an inherited label by adding
+properties in the child project’s configuration; all properties from the
+parent definition must be redefined in the child.
+
+To remove a label in a child project, add an empty label with the same
+name as in the parent.
+
+### Layout
+
+Labels are laid out in the order they are specified in project.config,
+with inherited labels appearing first, providing some layout control to
+the administrator.
+
+### `label.Label-Name`
+
+The name for a label, consisting only of alphanumeric characters and
+`-`.
+
+### `label.Label-Name.value`
+
+A multi-valued key whose values are of the form `"<#> Value description
+text"`. The `<#>` may be any positive or negative number with an
+optional leading `+`.
+
+### `label.Label-Name.defaultValue`
+
+The default value (or score) for the label. The defaultValue must be
+within the range of valid label values. It is an optional label setting,
+if not defined the defaultValue for the label will be 0. When a
+defaultValue is defined, that value will get set in the Reply dialog by
+default.
+
+A defaultValue can be set to a score that is outside of the permissible
+range for a user. In that case the score that will get set in the Reply
+box will be either the lowest or highest score in the permissible range.
+
+### `label.Label-Name.function`
+
+The name of a function for evaluating multiple votes for a label. This
+function is only applied if the default submit rule is used for a label.
+If you write a [custom submit
+rule](prolog-cookbook.html#HowToWriteSubmitRules) (and do not call the
+default rule), the function name is ignored and may be treated as
+optional.
+
+Valid values are:
+
+  - `MaxWithBlock` (default)
+    
+    The lowest possible negative value, if present, blocks a submit,
+    while the highest possible positive value is required to enable
+    submit. There must be at least one positive value, or else submit
+    will never be enabled. To permit blocking submits, ensure a negative
+    value is defined.
+
+  - `AnyWithBlock`
+    
+    The lowest possible negative value, if present, blocks a submit, Any
+    other value enables a submit. To permit blocking submits, ensure
+    that a negative value is defined.
+
+  - `MaxNoBlock`
+    
+    The highest possible positive value is required to enable submit,
+    but the lowest possible negative value will not block the change.
+
+  - `NoBlock`/`NoOp`
+    
+    The label is purely informational and values are not considered when
+    determining whether a change is submittable.
+
+  - `PatchSetLock`
+    
+    The `PatchSetLock` function provides a locking mechanism for patch
+    sets. This function’s values are not considered when determining
+    whether a change is submittable. When set, no new patchsets can be
+    created and rebase and abandon are blocked.
+    
+    This function is designed to allow overlapping locks, so several
+    lock accounts could lock the same change.
+    
+    Allowed range of values are 0 (Patch Set Unlocked) to 1 (Patch Set
+    Locked).
+
+### `label.Label-Name.allowPostSubmit`
+
+If true, the label may be voted on for changes that have already been
+submitted. If false, the label will not appear in the UI and will not be
+accepted when reviewing a closed change.
+
+In either case, voting on a label after submission is only permitted if
+the new vote is at least as high as the old vote by that user. This
+avoids creating the false impression that a post-submit vote can change
+the past and affect submission somehow.
+
+Defaults to true.
+
+### `label.Label-Name.copyMinScore`
+
+If true, the lowest possible negative value for the label is copied
+forward when a new patch set is uploaded. Defaults to false, except for
+All-Projects which has it true by default.
+
+### `label.Label-Name.copyMaxScore`
+
+If true, the highest possible positive value for the label is copied
+forward when a new patch set is uploaded. This can be used to enable
+sticky approvals, reducing turn-around for trivial cleanups prior to
+submitting a change. Defaults to false.
+
+### `label.Label-Name.copyAllScoresOnMergeCommitFirstParentUpdate`
+
+This policy is useful if you don’t want to trigger CI or human
+verification again if your target branch moved on but the feature branch
+being merged into the target branch did not change. It only applies if
+the patch set is a merge commit.
+
+If true, all scores for the label are copied forward when a new patch
+set is uploaded that is a new merge commit which only differs from the
+previous patch set in its first parent, or has identical parents. The
+first parent would be the parent of the merge commit that is part of the
+change’s target branch, whereas the other parent(s) refer to the feature
+branch(es) to be merged.
+
+Defaults to false.
+
+### `label.Label-Name.copyAllScoresOnTrivialRebase`
+
+If true, all scores for the label are copied forward when a new patch
+set is uploaded that is a trivial rebase. A new patch set is considered
+as trivial rebase if the commit message is the same as in the previous
+patch set and if it has the same code delta as the previous patch set.
+This is the case if the change was rebased onto a different parent, or
+if the parent did not change at all.
+
+This can be used to enable sticky approvals, reducing turn-around for
+trivial rebases prior to submitting a change. For the pre-installed
+Code-Review label this is enabled by default.
+
+Defaults to false.
+
+### `label.Label-Name.copyAllScoresIfNoCodeChange`
+
+If true, all scores for the label are copied forward when a new patch
+set is uploaded that has the same parent tree as the previous patch set
+and the same code delta as the previous patch set. This means only the
+commit message is different. This can be used to enable sticky approvals
+on labels that only depend on the code, reducing turn-around if only the
+commit message is changed prior to submitting a change. For the Verified
+label that is optionally installed by the [init](pgm-init.html) site
+program this is enabled by default.
+
+Defaults to false.
+
+### `label.Label-Name.copyAllScoresIfNoChange`
+
+If true, all scores for the label are copied forward when a new patch
+set is uploaded that has the same parent tree, code delta, and commit
+message as the previous patch set. This means that only the patch set
+SHA1 is different. This can be used to enable sticky approvals, reducing
+turn-around for this special case. It is recommended to leave this
+enabled for both Verified and Code-Review labels.
+
+Defaults to true.
+
+### `label.Label-Name.canOverride`
+
+If false, the label cannot be overridden by child projects. Any
+configuration for this label in child projects will be ignored. Defaults
+to true.
+
+### `label.Label-Name.branch`
+
+By default a given project’s label applicable scope is all changes on
+all branches of this project and its child projects.
+
+Label’s applicable scope can be branch specific via configuration. E.g.
+create a label `Video-Qualify` on parent project and configure the
+`branch` as:
+
+``` 
+  [label "Video-Qualify"]
+      branch = refs/heads/video-1.0/*
+      branch = refs/heads/video-1.1/Kino
+```
+
+Then **only** changes in above branch scope of parent project and child
+projects will be affected by `Video-Qualify`.
+
+> **Note**
+> 
+> The `branch` is independent from the branch scope defined in `access`
+> parts in `project.config` file. That means from the UI a user can
+> always assign permissions for that label on a branch, but this
+> permission is then ignored if the label doesn’t apply for that branch.
+> Additionally, the `branch` modifier has no effect when the submit rule
+> is customized in the rules.pl of the project or inherited from parent
+> projects.
+
+### Example
+
+To define a new 3-valued category that behaves exactly like `Verified`,
+but has different names/labels:
+
+``` 
+  [label "Copyright-Check"]
+      function = MaxWithBlock
+      value = -1 Do not have copyright
+      value =  0 No score
+      value = +1 Copyright clear
+```
+
+The new column will appear at the end of the table, and `-1 Do not have
+copyright` will block submit, while `+1 Copyright clear` is required to
+enable submit.
+
+### Default Value Example
+
+This example attempts to describe how a label default value works with
+the user permissions. Assume the configuration below.
+
+``` 
+  [access "refs/heads/*"]
+      label-Snarky-Review = -3..+3 group Administrators
+      label-Snarky-Review = -2..+2 group Project Owners
+      label-Snarky-Review = -1..+1 group Registered Users
+  [label "Snarky-Review"]
+      value = -3 Ohh, hell no!
+      value = -2 Hmm, I'm not a fan
+      value = -1 I'm not sure I like this
+      value =  0 No score
+      value = +1 I like, but need another to like it as well
+      value = +2 Hmm, this is pretty nice
+      value = +3 Ohh, hell yes!
+      defaultValue = -3
+```
+
+Upon clicking the Reply button:
+
+  - Administrators have all scores (-3..+3) available, -3 is set as the
+    default.
+
+  - Project Owners have limited scores (-2..+2) available, -2 is set as
+    the default.
+
+  - Registered Users have limited scores (-1..+1) available, -1 is set
+    as the default.
+
+### Patch Set Lock Example
+
+This example shows how a label can be configured to have a standard
+patch set lock.
+
+``` 
+  [access "refs/heads/*"]
+      label-Patch-Set-Lock = +0..+1 group Administrators
+  [label "Patch-Set-Lock"]
+      function = PatchSetLock
+      value =  0 Patch Set Unlocked
+      value = +1 Patch Set Locked
+      defaultValue = 0
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-login-register.md b/jekyll-source/pages/gerrit/config-login-register.md
new file mode 100644
index 0000000..1f5ebe9
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-login-register.md
@@ -0,0 +1,146 @@
+[[usersetup]]
+## Initial Login
+
+It’s time to exit the gerrit account as you now have Gerrit running on
+your host and setup your first workspace.
+
+Start a shell with the credentials of the account you will perform
+development under.
+
+Check whether there are any ssh keys already. You’re looking for two
+files, id\_rsa and id\_rsa.pub.
+
+``` 
+  user@host:~$ ls .ssh
+  authorized_keys  config  id_rsa  id_rsa.pub  known_hosts
+  user@host:~$
+```
+
+If you have the files, you may skip the key generating step.
+
+If you don’t see the files in your listing, your will have to generate
+rsa keys for your ssh sessions:
+
+### SSH key generation
+
+**Please don’t generate new keys if you already have a valid keypair\!**
+**They will be overwritten\!**
+
+``` 
+  user@host:~$ ssh-keygen -t rsa
+  Generating public/private rsa key pair.
+  Enter file in which to save the key (/home/user/.ssh/id_rsa):
+  Created directory '/home/user/.ssh'.
+  Enter passphrase (empty for no passphrase):
+  Enter same passphrase again:
+  Your identification has been saved in /home/user/.ssh/id_rsa.
+  Your public key has been saved in /home/user/.ssh/id_rsa.pub.
+  The key fingerprint is:
+  00:11:22:00:11:22:00:11:44:00:11:22:00:11:22:99 user@host
+  The key's randomart image is:
+  +--[ RSA 2048]----+
+  |     ..+.*=+oo.*E|
+  |      u.OoB.. . +|
+  |       ..*.      |
+  |       o         |
+  |      . S ..     |
+  |                 |
+  |                 |
+  |          ..     |
+  |                 |
+  +-----------------+
+  user@host:~$
+```
+
+### Registering your key in Gerrit
+
+Open a browser and enter the canonical url of your Gerrit server. You
+can find the url in the settings
+file.
+
+``` 
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config gerrit.canonicalWebUrl
+  http://localhost:8080/
+  gerrit@host:~$
+```
+
+Register a new account in Gerrit through the web interface with the
+email address of your choice.
+
+The default authentication type is OpenID. If your Gerrit server is
+behind a proxy, and you are using an external OpenID provider, you will
+need to add the proxy settings in the configuration
+file.
+
+``` 
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxy http://proxy:8080
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxyUsername username
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxyPassword password
+```
+
+Refer to the Gerrit configuration guide for more detailed information
+about [authentication](config-gerrit.html#auth) and
+[proxy](config-gerrit.html#http.proxy) settings.
+
+The first user to sign-in and register an account will be automatically
+placed into the fully privileged Administrators group, permitting server
+management over the web and over SSH. Subsequent users will be
+automatically registered as unprivileged users.
+
+Once signed in as your user, you find a little wizard to get you
+started. The wizard helps you fill out:
+
+  - Real name (visible name in Gerrit)
+
+  - Register your email (it must be confirmed later)
+
+  - Select a username with which to communicate with Gerrit over
+    ssh+git. Note that once saved, the username cannot be changed.
+
+  - The server will ask you for an RSA public key. That’s the key we
+    generated above, and it’s time to make sure that Gerrit knows about
+    our new key and can identify us by it.
+
+<!-- end list -->
+
+``` 
+  user@host:~$ cat .ssh/id_rsa.pub
+  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1bidOd8LAp7Vp95M1b9z+LGO96OEWzdAgBPfZPq05jUh
+  jw0mIdUuvg5lhwswnNsvmnFhGbsUoXZui6jdXj7xPUWOD8feX2NNEjTAEeX7DXOhnozNAkk/Z98WUV2B
+  xUBqhRi8vhVmaCM8E+JkHzAc+7/HVYBTuPUS7lYPby5w95gs3zVxrX8d1++IXg/u/F/47zUxhdaELMw2
+  deD8XLhrNPx2FQ83FxrjnVvEKQJyD2OoqxbC2KcUGYJ/3fhiupn/YpnZsl5+6mfQuZRJEoZ/FH2n4DEH
+  wzgBBBagBr0ZZCEkl74s4KFZp6JJw/ZSjMRXsXXXWvwcTpaUEDii708HGw== John Doe@MACHINE
+  user@host:~$
+```
+
+> **Important**
+> 
+> Please take note of the extra line-breaks introduced in the key above
+> for formatting purposes. Please be sure to copy and paste your key
+> without line-breaks.
+
+Copy the string starting with ssh-rsa to your clipboard and then paste
+it into the box for RSA keys. Make **absolutely sure** no extra spaces
+or line feeds are entered in the middle of the RSA string.
+
+Verify that the ssh connection works for you.
+
+``` 
+  user@host:~$ ssh user@localhost -p 29418
+  The authenticity of host '[localhost]:29418 ([127.0.0.1]:29418)' can't be established.
+  RSA key fingerprint is db:07:3d:c2:94:25:b5:8d:ac:bc:b5:9e:2f:95:5f:4a.
+  Are you sure you want to continue connecting (yes/no)? yes
+  Warning: Permanently added '[localhost]:29418' (RSA) to the list of known hosts.
+
+  ****    Welcome to Gerrit Code Review    ****
+
+  Hi user, you have successfully connected over SSH.
+
+  Unfortunately, interactive shells are disabled.
+  To clone a hosted Git repository, use:
+
+  git clone ssh://user@localhost:29418/REPOSITORY_NAME.git
+
+  user@host:~$
+```
+
diff --git a/jekyll-source/pages/gerrit/config-mail.md b/jekyll-source/pages/gerrit/config-mail.md
new file mode 100644
index 0000000..a1c6123
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-mail.md
@@ -0,0 +1,230 @@
+---
+title: " Gerrit Code Review - Mail Templates"
+sidebar: gerritdoc_sidebar
+permalink: config-mail.html
+---
+Gerrit uses [Closure
+Templates](https://developers.google.com/closure/templates/) (Soy) for
+the bulk of the standard mails it sends out. There are builtin default
+templates which are used if they are not overridden. These defaults are
+also provided as examples so that administrators may copy them and
+easily modify them to tweak their contents.
+
+**Compatibility Note:** previously, Velocity Template Language (VTL) was
+used as the template language for Gerrit emails. VTL has now been
+deprecated in favor of Soy, but Velocity templates that modify text
+emails remain supported for now.
+
+## Template Locations and Extensions:
+
+The default example templates reside under: `'$site_path'/etc/mail` and
+are terminated with the double extension `.soy.example`. Modifying these
+example files will have no effect on the behavior of Gerrit. However,
+copying an example template to an equivalently named file without the
+`.example` extension and modifying it will allow an administrator to
+customize the template.
+
+## Supported Mail Templates:
+
+Each mail that Gerrit sends out is controlled by at least one template.
+These are listed below. Change emails are influenced by two additional
+templates, one to set the subject line, and one to set the footer which
+gets appended to all the change emails (see `ChangeSubject.soy` and
+`ChangeFooter.soy` below.)
+
+Many types of Gerrit email message support HTML in addition to
+plain-text. Where both are supported, templates to control the HTML part
+have `...Html` appended in their file names. For example, for
+"Abandoned" emails, the `Abandoned.soy` template determines the text
+part of the message, whereas `AbandonedHtml.soy` determines the HTML
+part.
+
+### Abandoned.soy and AbandonedHtml.soy
+
+The "Abandoned" templates will determine the contents of the email
+related to a change being abandoned. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+### AddKey.soy and AddKeyHtml.soy
+
+AddKey templates will determine the contents of the email related to SSH
+and GPG keys being added to a user account. This notification is not
+sent when the key is administratively added to another user account.
+
+### ChangeFooter.soy and ChangeFooterHtml.soy
+
+The ChangeFooter templates will determine the contents of the footer
+that will be appended to emails related to changes (all
+\`ChangeEmail\`s).
+
+### ChangeSubject.soy
+
+The `ChangeSubject.soy` template will determine the contents of the
+email subject line for ALL emails related to changes.
+
+### Comment.soy
+
+The `Comment.soy` template will determine the contents of the email
+related to a user submitting comments on changes. It is a `ChangeEmail`:
+see `ChangeSubject.soy`, ChangeFooter and CommentFooter.
+
+### CommentFooter.soy and CommentFooterHtml.soy
+
+The CommentFooter templates will determine the contents of the footer
+text that will be appended to emails related to a user submitting
+comments on changes. See `ChangeSubject.soy`, Comment and ChangeFooter.
+
+### DeleteVote.soy and DeleteVoteHtml.soy
+
+The DeleteVote templates will determine the contents of the email
+related to removing votes on changes. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+### DeleteReviewer.soy and DeleteReviewerHtml.soy
+
+The DeleteReviewer templates will determine the contents of the email
+related to a user removing a reviewer (with a vote) from a change. It is
+a `ChangeEmail`: see `ChangeSubject.soy` and ChangeFooter.
+
+### Footer.soy and FooterHtml.soy
+
+The Footer templates will determine the contents of the footer text
+appended to the end of all outgoing emails after the ChangeFooter and
+CommentFooter.
+
+### Merged.soy and MergedHtml.soy
+
+The Merged templates will determine the contents of the email related to
+a change successfully merged to the head. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+### NewChange.soy and NewChangeHtml.soy
+
+The NewChange templates will determine the contents of the email related
+to a user submitting a new change for review. This includes changes
+created by actions made by the user in the Web UI such as cherry picking
+a commit or reverting a change. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+### RegisterNewEmail.soy
+
+The `RegisterNewEmail.soy` template will determine the contents of the
+email related to registering new email accounts.
+
+### ReplacePatchSet.soy and ReplacePatchSetHtml.soy
+
+The ReplacePatchSet templates will determine the contents of the email
+related to a user submitting a new patchset for a change. This includes
+patchsets created by actions made by the user in the Web UI such as
+editing the commit message, cherry picking a commit, or rebasing a
+change. It is a `ChangeEmail`: see `ChangeSubject.soy` and ChangeFooter.
+
+### Restored.soy and RestoredHtml.soy
+
+The Restored templates will determine the contents of the email related
+to a change being restored. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+### Reverted.soy and RevertedHtml.soy
+
+The Reverted templates will determine the contents of the email related
+to a change being reverted. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+### SetAssignee.soy and SetAssigneeHtml.soy
+
+The SetAssignee templates will determine the contents of the email
+related to a user being assigned to a change. It is a `ChangeEmail`: see
+`ChangeSubject.soy` and ChangeFooter.
+
+## Mail Variables and Methods
+
+Mail templates can access and display objects currently made available
+to them via the Soy context.
+
+### Warning
+
+Be aware that modifying templates can cause them to fail to parse and
+therefore not send out the actual email.
+
+### All OutgoingEmails
+
+All outgoing emails have the following variables available to them:
+
+  - $email.settingsUrl  
+    The URL to view the user’s settings in the Gerrit web UI.
+
+  - $email.gerritHost  
+    The name of the Gerrit instance.
+
+  - $email.gerritUrl  
+    The URL to the Gerrit web UI.
+
+  - $messageClass  
+    A String containing the messageClass.
+
+### Change Emails
+
+Change related emails have the following template data available to
+them, in addition to what’s available to all outgoing emails.
+
+  - $changeId  
+    Id of the current change (a `Change.Key`).
+
+  - $coverLetter  
+    The text of the `ChangeMessage`.
+
+  - $fromName  
+    The name of the from user.
+
+  - $email.unifiedDiff  
+    The diff of the change.
+
+  - $email.changeDetail  
+    The details of the change, including the commit message.
+
+  - $email.changeUrl  
+    The URL to the change in the web UI.
+
+  - $email.includeDiff  
+    Whether the Gerrit instance is configured to include diffs in
+    emails.
+
+  - $change.subject  
+    The subject of the current change.
+
+  - $change.originalSubject  
+    The subject corresponding to the first patch set of the current
+    change.
+
+  - $change.shortSubject  
+    The subject limited to 72 characters, with an ellipsis if it exceeds
+    that.
+
+  - $change.ownerEmail  
+    The email address of the owner of the change.
+
+  - $branch.shortName  
+    The name of the branch targeted by the current change.
+
+  - $projectName  
+    The name of this change’s project.
+
+  - $shortProjectName  
+    The project name with the path abbreviated.
+
+  - $sshHost  
+    SSH hostname for the Gerrit instance.
+
+  - $patchSet.patchSetId  
+    The current patch set number.
+
+  - $patchSet.refname  
+    The refname of the patch set.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-plugins.md b/jekyll-source/pages/gerrit/config-plugins.md
new file mode 100644
index 0000000..ad4519a
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-plugins.md
@@ -0,0 +1,624 @@
+---
+title: " Plugins"
+sidebar: gerritdoc_sidebar
+permalink: config-plugins.html
+---
+The Gerrit server functionality can be extended by installing plugins.
+
+## Plugin Installation
+
+Plugin installation is as easy as dropping the plugin jar into the
+`$site_path/plugins/` folder. It may take [a few
+minutes](config-gerrit.html#plugins.checkFrequency) until the server
+picks up new and updated plugins.
+
+Plugins can also be installed via
+[REST](rest-api-plugins.html#install-plugin) and
+[SSH](cmd-plugin-install.html).
+
+## Plugin Development
+
+How to develop plugins is described in the [Plugin Development
+Guide](dev-plugins.html).
+
+If you want to share your plugin under the [Apache License
+2.0](licenses.html#Apache2_0) you can host your plugin development on
+the [gerrit-review](https://gerrit-review.googlesource.com) Gerrit
+Server. You can request the creation of a new Project by email to the
+[Gerrit mailing
+list](https://groups.google.com/forum/#!forum/repo-discuss). You would
+be assigned as project owner of the new plugin project so that you can
+submit changes on your own. It is the responsibility of the project
+owner to maintain the plugin, e.g. to make sure that it works with new
+Gerrit versions and to create stable branches for old releases.
+
+## Core Plugins
+
+Core plugins are packaged within the Gerrit war file and can easily be
+installed during the [Gerrit initialization](pgm-init.html).
+
+The core plugins are developed and maintained by the Gerrit maintainers
+and the Gerrit community.
+
+### commit-message-length-validator
+
+This plugin checks the length of a commit’s commit message subject and
+message body, and reports warnings or errors to the git client if the
+lengths are
+exceeded.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/commit-message-length-validator)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/commit-message-length-validator/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/commit-message-length-validator/+doc/master/src/main/resources/Documentation/config.md)
+
+### cookbook-plugin
+
+Sample plugin to demonstrate features of Gerrit’s plugin
+API.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/cookbook-plugin)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/cookbook-plugin/+doc/master/src/main/resources/Documentation/about.md)
+
+### download-commands
+
+This plugin defines commands for downloading changes in different
+download schemes (for downloading via different network
+protocols).
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/download-commands)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/download-commands/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/download-commands/+doc/master/src/main/resources/Documentation/config.md)
+
+### hooks
+
+This plugin runs server-side hooks on
+events.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/hooks)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/hooks/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/hooks/+doc/master/src/main/resources/Documentation/config.md)
+
+### replication
+
+This plugin can automatically push any changes Gerrit Code Review makes
+to its managed Git repositories to another system. Usually this would be
+configured to provide mirroring of changes, for warm-standby backups, or
+a load-balanced public mirror
+farm.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/replication)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/replication/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/replication/+doc/master/src/main/resources/Documentation/config.md)
+
+### reviewnotes
+
+Stores review information for Gerrit changes in the `refs/notes/review`
+branch.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewnotes)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/reviewnotes/+doc/master/src/main/resources/Documentation/about.md)
+
+### review-strategy
+
+This plugin allows users to configure different review
+strategies.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/review-strategy)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/review-strategy/+/master/src/main/resources/Documentation/about.md)
+
+### singleusergroup
+
+This plugin provides a group per user. This is useful to assign access
+rights directly to a single user, since in Gerrit access rights can only
+be assigned to groups.
+
+## Other Plugins
+
+Besides core plugins there are many other Gerrit plugins available.
+These plugins are developed and maintained by different parties. The
+Gerrit Project doesn’t guarantee proper functionality of any of these
+plugins.
+
+The Gerrit Project doesn’t provide binaries for these plugins, but there
+is one public service that offers the download of pre-built plugin jars:
+
+  - [CI Server from GerritForge](https://gerrit-ci.gerritforge.com)
+
+The following list gives an overview of available plugins, but the list
+may not be complete. You may discover more plugins on
+[gerrit-review](https://gerrit-review.googlesource.com/#/admin/projects/?filter=plugins%252F).
+
+### admin-console
+
+Plugin to provide administrator-only functionality, intended to simplify
+common administrative tasks. Currently providing user-level information.
+Also providing access control information by project or
+project/account.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/admin-console)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/admin-console/+doc/master/src/main/resources/Documentation/about.md)
+
+### avatars-external
+
+This plugin allows to use an external url to load the avatar images
+from.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/avatars-external)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/avatars-external/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/avatars-external/+doc/master/src/main/resources/Documentation/config.md)
+
+### avatars-gravatar
+
+Plugin to display user icons from
+Gravatar.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/avatars-gravatar)
+
+### branch-network
+
+This plugin allows the rendering of Git repository branch network in a
+graphical HTML5 Canvas. It is mainly intended to be used as a "project
+link" in a gitweb configuration or by other Gerrit GWT UI plugins to be
+plugged elsewhere in
+Gerrit.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/branch-network)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/branch-network/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/branch-network/+doc/master/src/main/resources/Documentation/config.md)
+
+### changemessage
+
+This plugin allows to display a static info message on the change
+screen.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/changemessage)
+| [Plugin
+Documentation](https://gerrit.googlesource.com/plugins/changemessage/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/changemessage/+doc/master/src/main/resources/Documentation/config.md)
+
+### delete-project
+
+Provides the ability to delete a
+project.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/delete-project)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/delete-project/+doc/master/src/main/resources/Documentation/about.md)
+
+### egit
+
+This plugin provides extensions for easier usage with EGit.
+
+The plugin adds a download command for EGit that allows to copy only the
+change ref into the clipboard. The change ref is needed for downloading
+a Gerrit change from within
+EGit.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/egit)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/egit/+doc/master/src/main/resources/Documentation/about.md)
+
+### emoticons
+
+This plugin allows users to see emoticons in comments as
+images.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/emoticons)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/emoticons/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/emoticons/+doc/master/src/main/resources/Documentation/config.md)
+
+### gitblit
+
+GitBlit code-viewer plugin with SSO and Security Access
+Control.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/gitblit)
+
+### github
+
+Plugin to integrate with GitHub: replication, pull-request to
+Change-Sets
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/github)
+
+### gitiles
+
+Plugin running Gitiles alongside a Gerrit
+server.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/gitiles)
+
+### imagare
+
+The imagare plugin allows Gerrit users to upload and share
+images.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/imagare)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/imagare/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/imagare/+doc/master/src/main/resources/Documentation/config.md)
+
+### importer
+
+The importer plugin allows to import projects from one Gerrit server
+into another Gerrit server.
+
+Projects can be imported while both source and target Gerrit server are
+online. There is no downtime required.
+
+The git repository and all changes of the project, including approvals
+and review comments, are imported. Historic timestamps are preserved.
+
+Project imports can be resumed. This means a project team can continue
+to work in the source system while the import to the target system is
+done. By resuming the import the project in the target system can be
+updated with the missing delta.
+
+The importer plugin can also be used to copy a project within one Gerrit
+server, and in combination with the [delete-project](#delete-project)
+plugin it can be used to rename a
+project.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/importer)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/importer/+doc/master/src/main/resources/Documentation/about.md)
+
+### Issue Tracker System Plugins
+
+Plugins to integrate with issue tracker systems (ITS), that (based on
+events in Gerrit) allows to take actions in the ITS. For example, they
+can add comments to bugs, or change status of bugs.
+
+All its-plugins have a common base implementation which is stored in the
+`its-base` project. `its-base` is not a plugin, but just a framework for
+the ITS plugins which is packaged within each ITS plugin.
+
+[its-base
+Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-base)
+| [its-base
+Documentation](https://gerrit.googlesource.com/plugins/its-base/+doc/master/src/main/resources/Documentation/about.md)
+| [its-base
+Configuration](https://gerrit.googlesource.com/plugins/its-base/+doc/master/src/main/resources/Documentation/config.md)
+
+#### its-bugzilla
+
+Plugin to integrate with
+Bugzilla.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-bugzilla)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/its-bugzilla/+doc/master/src/main/resources/Documentation/about.md)
+
+#### its-jira
+
+Plugin to integrate with
+Jira.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-jira)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/its-jira/+doc/master/src/main/resources/Documentation/config.md)
+
+#### its-rtc
+
+Plugin to integrate with IBM Rational Team Concert
+(RTC).
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-rtc)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/its-rtc/+doc/master/src/main/resources/Documentation/config.md)
+
+#### its-storyboard
+
+Plugin to integrate with Storyboard task tracking
+system.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-storyboard)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/its-storyboard/+doc/master/src/main/resources/Documentation/about.md)
+
+### javamelody
+
+This plugin allows to monitor the Gerrit server.
+
+This plugin integrates JavaMelody in Gerrit in order to retrieve live
+instrumentation data from
+Gerrit.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/javamelody)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/javamelody/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/javamelody/+doc/master/src/main/resources/Documentation/config.md)
+
+### labelui
+
+The labelui plugin adds a user preference that allows users to choose a
+table control to render the labels/approvals on the change screen
+(similar to how labels/approvals were rendered on the old change
+screen).
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/labelui)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/labelui/+doc/master/src/main/resources/Documentation/about.md)
+
+### menuextender
+
+The menuextender plugin allows Gerrit administrators to configure
+additional menu entries from the
+WebUI.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/menuextender)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/menuextender/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/menuextender/+doc/master/src/main/resources/Documentation/config.md)
+
+### metrics-reporter-elasticsearch
+
+This plugin reports Gerrit metrics to
+Elasticsearch.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/metrics-reporter-elasticsearch).
+
+### metrics-reporter-graphite
+
+This plugin reports Gerrit metrics to
+Graphite.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/metrics-reporter-graphite).
+
+### metrics-reporter-jmx
+
+This plugin reports Gerrit metrics to
+JMX.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/metrics-reporter-jmx).
+
+### motd
+
+This plugin can output messages to clients when pulling/fetching/cloning
+code from Gerrit Code Review. If the client (and transport mechanism)
+can support sending the message to the client, it will be displayed to
+the user (usually prefixed by “remote: ”), but will be silently
+discarded
+otherwise.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/motd)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/motd/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/motd/+doc/master/src/main/resources/Documentation/config.md)
+
+### OAuth authentication provider
+
+This plugin enables Gerrit to use OAuth2 protocol for authentication.
+Two different OAuth providers are supported:
+
+  - GitHub
+
+  - Google
+
+[Project](https://github.com/davido/gerrit-oauth-provider) |
+[Configuration](https://github.com/davido/gerrit-oauth-provider/wiki/Getting-Started)
+
+### owners
+
+This plugin provides a Prolog predicate `add_owner_approval/3` that
+appends `label('Owner-Approval', need(_))` to a provided
+list.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/owners)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/owners/+/refs/heads/master/README.md)
+
+### project-download-commands
+
+This plugin adds support for project specific download commands.
+
+Project specific download commands that are defined on a parent project
+are inherited by the child projects. Child projects can overwrite the
+inherited download command or remove it by assigning no value to
+it.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/project-download-commands)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/project-download-commands/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/project-download-commands/+doc/master/src/main/resources/Documentation/config.md)
+
+### quota
+
+This plugin allows to enforce quotas in Gerrit.
+
+To protect a Gerrit installation it makes sense to limit the resources
+that a project or group can consume. To do this a Gerrit administrator
+can use this plugin to define quotas on project
+namespaces.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/quota)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/quota/+doc/master/src/main/resources/Documentation/about.md)
+[Configuration](https://gerrit.googlesource.com/plugins/quota/+doc/master/src/main/resources/Documentation/config.md)
+
+### ref-protection
+
+A plugin that protects against commits being lost.
+
+Backups of deleted or non-fast-forward updated refs are created under
+the `refs/backups/`
+namespace.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/ref-protection)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/ref-protection/+/refs/heads/stable-2.11/src/main/resources/Documentation/about.md)
+
+### reparent
+
+A plugin that provides project reparenting as a self-service for project
+owners.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/reparent)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/reparent/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/reparent/+doc/master/src/main/resources/Documentation/config.md)
+
+### reviewers
+
+A plugin that allows adding default reviewers to a
+change.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/reviewers/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/reviewers/+doc/master/src/main/resources/Documentation/config.md)
+
+### reviewers-by-blame
+
+A plugin that allows automatically adding reviewers to a change from the
+git blame computation on the changed files. It will add the users that
+authored most of the lines touched by the change, since these users
+should be familiar with the code and can mostly review the
+change.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers-by-blame)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/reviewers-by-blame/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/reviewers-by-blame/+doc/master/src/main/resources/Documentation/config.md)
+
+### scripting/groovy-provider
+
+This plugin provides a Groovy runtime environment for Gerrit plugins in
+Groovy.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/groovy-provider)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/scripting/groovy-provider/+doc/master/src/main/resources/Documentation/about.md)
+
+### scripting/scala-provider
+
+This plugin provides a Scala runtime environment for Gerrit plugins in
+Scala.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripting/scala-provider)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/scripting/scala-provider/+doc/master/src/main/resources/Documentation/about.md)
+
+### scripts
+
+Repository containing a collection of Gerrit scripting plugins that are
+intended to provide simple and useful extensions.
+
+Groovy and Scala scripts require the installation of the corresponding
+scripting/\*-provider plugin in order to be loaded into
+Gerrit.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/scripts)
+[Documentation](https://gerrit.googlesource.com/plugins/scripts/+doc/master/README.md)
+
+### server-config
+
+This plugin enables access (download and upload) to the server config
+files. It may be used to change Gerrit config files (like
+`etc/gerrit.config`) in cases where direct access to the file system
+where Gerrit’s config files are stored is difficult or impossible to
+get.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/server-config)
+
+### serviceuser
+
+This plugin allows to create service users in Gerrit.
+
+A service user is a user that is used by another service to communicate
+with Gerrit. E.g. a service user is needed to run the Gerrit Trigger
+Plugin in Jenkins. A service user is not able to login into the Gerrit
+WebUI and it cannot push commits or
+tags.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/serviceuser)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/serviceuser/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/serviceuser/+doc/master/src/main/resources/Documentation/config.md)
+
+### uploadvalidator
+
+This plugin allows to configure upload validations per project.
+
+Project owners can configure blocked file extensions, required footers
+and a maximum allowed path length. Pushes of commits that violate these
+settings are rejected by
+Gerrit.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/uploadvalidator)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/uploadvalidator/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/uploadvalidator/+doc/master/src/main/resources/Documentation/config.md)
+
+### verify-status
+
+This plugin adds a separate channel for Gerrit to store test metadata
+and view them on the Gerrit UI. The metadata can be stored in the Gerrit
+database or in a completely separate
+datastore.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/verify-status)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/verify-status/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/verify-status/+doc/master/src/main/resources/Documentation/database.md)
+
+### websession-flatfile
+
+This plugin replaces the built-in Gerrit H2 based websession cache with
+a flatfile based implementation. This implementation is shareable among
+multiple Gerrit servers, making it useful for multi-master Gerrit
+installations.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/websession-flatfile)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/websession-flatfile/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/websession-flatfile/+doc/master/src/main/resources/Documentation/config.md)
+
+### x-docs
+
+This plugin serves project documentation as HTML
+pages.
+
+[Project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/x-docs)
+|
+[Documentation](https://gerrit.googlesource.com/plugins/x-docs/+doc/master/src/main/resources/Documentation/about.md)
+|
+[Configuration](https://gerrit.googlesource.com/plugins/x-docs/+doc/master/src/main/resources/Documentation/config.md)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-project-config.md b/jekyll-source/pages/gerrit/config-project-config.md
new file mode 100644
index 0000000..295f08d
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-project-config.md
@@ -0,0 +1,369 @@
+---
+title: " Gerrit Code Review - Project Configuration File Format"
+sidebar: gerritdoc_sidebar
+permalink: config-project-config.html
+---
+This page explains the storage format of Gerrit’s project configuration
+and access control models.
+
+The web UI access control panel is a front end for human-readable
+configuration files under the `refs/meta/config` namespace in the
+affected project. Direct manipulation of these files is mainly relevant
+in an automation scenario of the access controls.
+
+## The `refs/meta/config` namespace
+
+The namespace contains three different files that play different roles
+in the permission model. With read permission to that reference, it is
+possible to fetch the `refs/meta/config` reference to a local
+repository. A nice side effect is that you can also upload changes to
+project permissions and review them just like with regular code changes.
+The preview changes option is also provided on the UI. Please note that
+you will have to configure push rights for the `refs/meta/config` name
+space if you’d like to use the possibility to automate permission
+updates.
+
+## Property inheritance
+
+If a property is set to INHERIT, then the value from the parent project
+is used. If the property is not set in any parent project, the default
+value is FALSE.
+
+## The file `project.config`
+
+The `project.config` file contains the link between groups and their
+permitted actions on reference patterns in this project and any projects
+that inherit its permissions.
+
+The format in this file corresponds to the Git config file format, so if
+you want to automate your permissions it is a good idea to use the `git
+config` command when writing to the file. This way you know you don’t
+accidentally break the format of the file.
+
+Here follows a `git config` command
+    example:
+
+    $ git config -f project.config project.description "Rights inherited by all other projects"
+
+Below you will find an example of the `project.config` file format:
+
+    [project]
+           description = Rights inherited by all other projects
+    [access "refs/*"]
+           read = group Administrators
+    [access "refs/heads/*"]
+            label-Your-Label-Here = -1..+1 group Administrators
+    [capability]
+           administrateServer = group Administrators
+    [receive]
+           requireContributorAgreement = false
+    [label "Your-Label-Here"]
+            function = MaxWithBlock
+            value = -1 Your -1 Description
+            value =  0 Your No score Description
+            value = +1 Your +1 Description
+
+As you can see, there are several sections.
+
+The [`project` section](#project-section) appears once per project.
+
+The [`access` section](#access-section) appears once per reference
+pattern, such as `+refs/*+` or `+refs/heads/*+`. Only one access section
+per pattern is allowed.
+
+The [`receive` section](#receive-section) appears once per project.
+
+The [`submit` section](#submit-section) appears once per project.
+
+The [`capability`](#capability-section) section only appears once, and
+only in the `All-Projects` repository. It controls core features that
+are configured on a global level.
+
+The [`label`](#label-section) section can appear multiple times. You can
+also redefine the text and behavior of the built in label types
+`Code-Review` and `Verified`.
+
+Optionally a `commentlink` section can be added to define
+project-specific comment links. The `commentlink` section has the same
+format as the [`commentlink` section in
+gerrit.config](config-gerrit.html#commentlink) which is used to define
+global comment links.
+
+### Project section
+
+The project section includes configuration of project settings.
+
+These are the keys:
+
+  - Description
+
+### Receive section
+
+The receive section includes configuration of project-specific receive
+settings:
+
+  - receive.requireContributorAgreement  
+    Controls whether or not a user must complete a contributor agreement
+    before they can upload changes. Default is `INHERIT`. If
+    `All-Project` enables this option then the dependent project must
+    set it to false if users are not required to sign a contributor
+    agreement prior to submitting changes for that specific project. To
+    use that feature the global option in `gerrit.config` must be
+    enabled:
+    [auth.contributorAgreements](config-gerrit.html#auth.contributorAgreements).
+
+  - receive.requireSignedOffBy  
+    Sign-off can be a requirement for some projects (for example Linux
+    kernel uses it). Sign-off is a line at the end of the commit message
+    which certifies who is the author of the commit. Its main purpose is
+    to improve tracking of who did what, especially with patches.
+    Default is `INHERIT`, which means that this property is inherited
+    from the parent project.
+
+  - receive.requireChangeId  
+    Controls whether or not the Change-Id must be included in the commit
+    message in the last paragraph. Default is `INHERIT`, which means
+    that this property is inherited from the parent project.
+
+  - receive.maxObjectSizeLimit  
+    Maximum allowed Git object size that receive-pack will accept. If an
+    object is larger than the given size the pack-parsing will abort and
+    the push operation will fail. If set to zero then there is no limit.
+    
+    Project owners can use this setting to prevent developers from
+    pushing objects which are too large to Gerrit. This setting can also
+    be set it `gerrit.config` globally
+    [receive.maxObjectSizeLimit](config-gerrit.html#receive.maxObjectSizeLimit).
+    
+    The project specific setting in `project.config` is only honored
+    when it further reduces the global limit.
+    
+    Default is zero.
+    
+    Common unit suffixes of k, m, or g are supported.
+
+  - receive.checkReceivedObjects  
+    Controls whether or not the JGit functionality for checking received
+    objects is enabled.
+    
+    By default Gerrit checks the validity of git objects. Setting this
+    variable to false should not be used unless a project with history
+    containing invalid objects needs to be pushed into a Gerrit
+    repository.
+    
+    This functionality is provided as some other git implementations
+    have allowed bad history to be written into git repositories. If
+    these repositories need pushing up to Gerrit then the JGit checks
+    need to be disabled.
+    
+    The default value for this is true, false disables the checks.
+
+  - receive.enableSignedPush  
+    Controls whether server-side signed push validation is enabled on
+    the project. Only has an effect if signed push validation is enabled
+    on the server; see the [global
+    configuration](config-gerrit.html#receive.enableSignedPush) for
+    details.
+    
+    Default is `INHERIT`, which means that this property is inherited
+    from the parent project.
+
+  - receive.requireSignedPush  
+    Controls whether server-side signed push validation is required on
+    the project. Only has an effect if signed push validation is enabled
+    on the server, and link:\#receive.enableSignedPush is set on the
+    project. See the [global
+    configuration](config-gerrit.html#receive.enableSignedPush) for
+    details.
+    
+    Default is `INHERIT`, which means that this property is inherited
+    from the parent project.
+
+  - receive.rejectImplicitMerges  
+    Controls whether a check for implicit merges will be performed when
+    changes are pushed for review. An implicit merge is a case where
+    merging an open change would implicitly merge another branch into
+    the target branch. Typically, this happens when a change is done on
+    master and, by mistake, pushed to a stable branch for review. When
+    submitting such change, master would be implicitly merged into
+    stable without anyone noticing that. When this option is set to
+    *true* Gerrit will reject the push if an implicit merge is detected.
+    
+    This check is only done for non-merge commits, merge commits are not
+    subject of the implicit merge check.
+    
+    Default is `INHERIT`, which means that this property is inherited
+    from the parent project.
+
+### Change section
+
+The change section includes configuration for project-specific change
+settings:
+
+  - change.privateByDefault  
+    Controls whether all new changes in the project are set as private
+    by default.
+    
+    Note that a new change will be public if the `is_private` field in
+    [ChangeInput](rest-api-changes.html#change-input) is set to `false`
+    explicitly when calling the
+    [CreateChange](rest-api-changes.html#create-change) REST API or the
+    `remove-private` [PushOption](user-upload.html#private) is used
+    during the Git push.
+    
+    Default is `INHERIT`, which means that this property is inherited
+    from the parent project.
+
+### Submit section
+
+The submit section includes configuration of project-specific submit
+settings:
+
+  - *mergeContent*: Defines whether to automatically merge changes.
+    Valid values are *true*, *false*, or *INHERIT*. Default is
+    *INHERIT*.
+
+  - *action*: defines the [submit
+    type](project-configuration.html#submit_type). Valid values are
+    *fast forward only*, *merge if necessary*, *rebase if necessary*,
+    *merge always* and *cherry pick*. The default is *merge if
+    necessary*.
+
+  - *matchAuthorToCommitterDate*: Defines whether to the author date
+    will be changed to match the submitter date upon submit, so that git
+    log shows when the change was submitted instead of when the author
+    last committed. Valid values are *true*, *false*, or *INHERIT*. The
+    default is *INHERIT*. This option only takes effect in submit
+    strategies which already modify the commit, i.e. Cherry Pick, Rebase
+    Always, and (perhaps) Rebase If Necessary.
+
+Merge strategy
+
+### Access section
+
+Each `access` section includes a reference and access rights connected
+to groups. Each group listed must exist in the [`groups`
+file](#file-groups).
+
+Please refer to the [Access
+Categories](access-control.html#access_categories) documentation for a
+full list of available access rights.
+
+### MIME Types section
+
+The `mimetype` section may be configured to force the web code reviewer
+to return certain MIME types by file path. MIME types may be used to
+activate syntax highlighting.
+
+    [mimetype "text/x-c"]
+      path = *.pkt
+    [mimetype "text/x-java"]
+      path = api/current.txt
+
+### Capability section
+
+The `capability` section only appears once, and only in the
+`All-Projects` repository. It controls Gerrit administration
+capabilities that are configured on a global level.
+
+Please refer to the [Global
+Capabilities](access-control.html#global_capabilities) documentation for
+a full list of available capabilities.
+
+### Label section
+
+Please refer to [Custom Labels](config-labels.html#label_custom)
+documentation.
+
+### branchOrder section
+
+Defines a branch ordering which is used for backporting of changes.
+Backporting will be offered for a change (in the Gerrit UI) for all more
+stable branches where the change can merge cleanly.
+
+  - branchOrder.branch  
+    A branch name, typically multiple values will be defined. The order
+    of branch names in this section defines the branch order. The
+    topmost is considered to be the least stable branch (typically the
+    master branch) and the last one the most stable (typically the last
+    maintained release branch).
+
+Example:
+
+    [branchOrder]
+      branch = master
+      branch = stable-2.9
+      branch = stable-2.8
+      branch = stable-2.7
+
+The `branchOrder` section is inheritable. This is useful when multiple
+or all projects follow the same branch rules. A `branchOrder` section in
+a child project completely overrides any `branchOrder` section from a
+parent i.e. there is no merging of `branchOrder` sections. A present but
+empty `branchOrder` section removes all inherited branch order.
+
+Branches not listed in this section will not be included in the
+mergeability check. If the `branchOrder` section is not defined then the
+mergeability of a change into other branches will not be done.
+
+### reviewer section
+
+Defines config options to adjust a project’s reviewer workflow such as
+enabling reviewers and CCs by email.
+
+  - reviewer.enableByEmail  
+    A boolean indicating if reviewers and CCs that do not currently have
+    a Gerrit account can be added to a change by providing their email
+    address.
+
+This setting only takes affect for changes that are readable by
+anonymous users.
+
+Default is `INHERIT`, which means that this property is inherited from
+the parent project. If the property is not set in any parent project,
+the default value is `FALSE`.
+
+## The file `groups`
+
+Each group in this list is linked with its UUID so that renaming of
+groups is possible without having to rewrite every `groups` file in
+every repository where it’s used.
+
+This is what the default groups file for `All-Projects.git` looks like:
+
+    # UUID                                         Group Name
+    #
+    3d6da7dc4e99e6f6e5b5196e21b6f504fc530bba       Administrators
+    global:Anonymous-Users                         Anonymous Users
+    global:Change-Owner                            Change Owner
+    global:Project-Owners                          Project Owners
+    global:Registered-Users                        Registered Users
+
+This file can’t be written to by the `git config` command.
+
+In order to reference a group in `project.config`, it must be listed in
+the `groups` file. When editing permissions through the web UI this file
+is maintained automatically, but when pushing updates to
+`refs/meta/config` this must be dealt with by hand. Gerrit will refuse
+`project.config` files that refer to groups not listed in `groups`.
+
+The UUID of a group can be found on the General tab of the group’s page
+in the web UI or via the `-v` option to [the `ls-groups` SSH
+command](cmd-ls-groups.html).
+
+## The file `rules.pl`
+
+The `rules.pl` files allows you to replace or amend the default Prolog
+rules that control e.g. what conditions need to be fulfilled for a
+change to be submittable. This file content should be interpretable by
+the *Prolog Cafe* interpreter.
+
+You can read more about the `rules.pl` file and the prolog rules on [the
+Prolog cookbook page](prolog-cookbook.html).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-reverseproxy.md b/jekyll-source/pages/gerrit/config-reverseproxy.md
new file mode 100644
index 0000000..7de9390
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-reverseproxy.md
@@ -0,0 +1,150 @@
+---
+title: " Gerrit Code Review - Reverse Proxy"
+sidebar: gerritdoc_sidebar
+permalink: config-reverseproxy.html
+---
+## Description
+
+Gerrit can be configured to run behind a third-party web server. This
+allows the other web server to bind to the privileged port 80 (or 443
+for SSL), as well as offloads the SSL processing overhead from Java to
+optimized native C code.
+
+## Gerrit Configuration
+
+Ensure `'$site_path'/etc/gerrit.config` has the property
+[httpd.listenUrl](config-gerrit.html#httpd.listenUrl) configured to use
+*proxy-http://* or *proxy-https://* and a free port number. This may
+have already been configured if proxy support was enabled during *init*.
+
+``` 
+  [httpd]
+        listenUrl = proxy-http://127.0.0.1:8081/r/
+```
+
+## Apache 2 Configuration
+
+To run Gerrit behind an Apache server using *mod\_proxy*, enable the
+necessary Apache2 modules:
+
+``` 
+  a2enmod proxy_http
+  a2enmod ssl          ; # optional, needed for HTTPS / SSL
+```
+
+Configure an Apache VirtualHost to proxy to the Gerrit daemon, setting
+the *ProxyPass* line to use the *http://* URL configured above. Ensure
+the path of ProxyPass and httpd.listenUrl match, or links will redirect
+to incorrect locations.
+
+``` 
+        <VirtualHost *>
+          ServerName review.example.com
+
+          ProxyRequests Off
+          ProxyVia Off
+          ProxyPreserveHost On
+
+          <Proxy *>
+            Order deny,allow
+            Allow from all
+            # Use following line instead of the previous two on Apache >= 2.4
+            # Require all granted
+          </Proxy>
+
+          AllowEncodedSlashes On
+          ProxyPass /r/ http://127.0.0.1:8081/r/ nocanon
+        </VirtualHost>
+```
+
+The two options *AllowEncodedSlashes On* and *ProxyPass .. nocanon* are
+required since Gerrit 2.6.
+
+### SSL
+
+To enable Apache to perform the SSL processing, use *proxy-https://* in
+httpd.listenUrl within Gerrit’s configuration file, and enable the SSL
+engine in the Apache VirtualHost block:
+
+``` 
+        <VirtualHost *:443>
+          SSLEngine on
+          SSLCertificateFile    conf/server.crt
+          SSLCertificateKeyFile conf/server.key
+
+          ... same as above ...
+        </VirtualHost>
+```
+
+See the Apache *mod\_ssl* documentation for more details on how to
+configure SSL within the server, like controlling how strong of an
+encryption algorithm is required.
+
+### Troubleshooting
+
+If you are encountering *Page Not Found* errors when opening the change
+screen, your Apache proxy is very likely decoding the passed URL. Make
+sure to either use *AllowEncodedSlashes On* together with *ProxyPass ..
+nocanon* or alternatively a *mod\_rewrite* configuration with
+*AllowEncodedSlashes NoDecode* set.
+
+## Nginx Configuration
+
+To run Gerrit behind an Nginx server, use a server statement such as
+this one:
+
+``` 
+        server {
+          listen 80;
+          server_name review.example.com;
+
+          location ^~ /r/ {
+            proxy_pass        http://127.0.0.1:8081;
+            proxy_set_header  X-Forwarded-For $remote_addr;
+            proxy_set_header  Host $host;
+          }
+        }
+```
+
+### SSL
+
+To enable Nginx to perform the SSL processing, use *proxy-https://* in
+httpd.listenUrl within Gerrit’s configuration file, and enable the SSL
+engine in the Nginx server statement:
+
+``` 
+        server {
+          listen 443;
+          server_name review.example.com;
+
+          ssl  on;
+          ssl_certificate      conf/server.crt;
+          ssl_certificate_key  conf/server.key;
+
+          ... same as above ...
+        }
+```
+
+See the Nginx *http ssl module* documentation for more details on how to
+configure SSL within the server, like controlling how strong of an
+encryption algorithm is required.
+
+### Troubleshooting
+
+If you are encountering *Page Not Found* errors when opening the change
+screen, your Nginx proxy is very likely decoding the passed URL. Make
+sure to use a *proxy\_pass* URL without any path (esp. no trailing */*
+after the *host:port*).
+
+If you are using Apache httpd server with mod\_jk and AJP connector, add
+the following option to your httpd.conf directly or included from
+another file:
+
+    JkOptions +ForwardURICompatUnparsed
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-robot-comments.md b/jekyll-source/pages/gerrit/config-robot-comments.md
new file mode 100644
index 0000000..6f94115
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-robot-comments.md
@@ -0,0 +1,57 @@
+---
+title: " Gerrit Code Review - Robot Comments"
+sidebar: gerritdoc_sidebar
+permalink: config-robot-comments.html
+---
+Gerrit has special support for inline comments that are generated by
+automated third-party systems, so called "robot comments". For example
+robot comments can be used to represent the results of code analyzers.
+
+In contrast to regular inline comments which are free-text comments,
+robot comments are more structured and can contain additional data, such
+as a robot ID, a robot run ID and a URL, see
+[RobotCommentInfo](rest-api-changes.html#robot-comment-info) for
+details.
+
+It is planned to visualize robot comments differently in the web UI so
+that they can be easily distinguished from human comments. Users should
+also be able to use filtering on robot comments, so that only part of
+the robot comments or no robot comments are shown. In addition it is
+planned that robot comments can contain fixes, that users can apply by a
+single click.
+
+## REST endpoints
+
+  - Posting robot comments is done by the [Set
+    Review](rest-api-changes.html) REST endpoint. The
+    [input](rest-api-changes.html#review-input) for this REST endpoint
+    can contain robot comments in its `robot_comments` field.
+
+  - [List Robot Comments](rest-api-changes.html#list-robot-comments)
+
+  - [Get Robot Comment](rest-api-changes.html#get-robot-comment)
+
+## Storage
+
+Robot comments are stored per change in a
+`refs/changes/XX/YYYY/robot-comments` ref, where `XX/YYYY` is the
+sharded change ID.
+
+Robot comments can be dropped by deleting this ref.
+
+## Limitations
+
+  - Robot comments are only supported with NoteDb, but not with
+    ReviewDb.
+
+  - Robot comments are not displayed in the web UI yet.
+
+  - There is no support for draft robot comments, but robot comments are
+    always published and visible to everyone who can see the change.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-sso.md b/jekyll-source/pages/gerrit/config-sso.md
new file mode 100644
index 0000000..0f1707c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-sso.md
@@ -0,0 +1,214 @@
+---
+title: " Gerrit Code Review - Single Sign-On Security"
+sidebar: gerritdoc_sidebar
+permalink: config-sso.html
+---
+Gerrit supports integration with some types of single sign-on security
+solutions, making it possible for end-users to setup and manage
+accounts, without administrator involvement.
+
+## OpenID
+
+By default a new Gerrit installation relies upon OpenID to perform user
+authentication services. To enable OpenID, the auth.type setting should
+be `OpenID`:
+
+``` 
+  git config --file $site_path/etc/gerrit.config auth.type OpenID
+```
+
+As this is the default setting there is nothing required from the site
+administrator to make use of the OpenID authentication services.
+
+  - [openid.net](http://openid.net/)
+
+If Jetty is being used, you may need to increase the header buffer size
+parameter, due to very long header lines. Add the following to
+`$JETTY_HOME/etc/jetty.xml` under
+`org.mortbay.jetty.nio.SelectChannelConnector`:
+
+``` 
+  <Set name="headerBufferSize">16384</Set>
+```
+
+In order to use permissions beyond those granted to the `Anonymous
+Users` and `Registered Users` groups, an account must only have OpenIDs
+which match at least one pattern from the `auth.trustedOpenID` list in
+`gerrit.config`. Patterns may be either a [standard Java regular
+expression
+(java.util.regex)](http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html)
+(must start with `^` and end with `$`) or be a simple prefix (any other
+string).
+
+Out of the box Gerrit is configured to trust two patterns, which will
+match any OpenID provider on the Internet:
+
+  - `http://` — trust all OpenID providers using the HTTP protocol
+
+  - `https://` — trust all OpenID providers using the HTTPS protocol
+
+To trust only
+Yahoo\!:
+
+``` 
+  git config --file $site_path/etc/gerrit.config auth.trustedOpenID https://me.yahoo.com
+```
+
+### Database Schema
+
+User identities obtained from OpenID providers are stored as [external
+IDs](config-accounts.html#external-ids).
+
+### Multiple Identities
+
+Users may link more than one OpenID identity to the same Gerrit account,
+making it easier for their browser to sign in to Gerrit if they are
+frequently switching between different unique OpenID accounts.
+
+> **Warning**
+> 
+> Users wishing to link an alternative identity should **NOT** log in
+> separately with that identity. Doing so will result in a new account
+> being created, and subsequent attempts to link that account with the
+> existing account will fail. In cases where this happens, the
+> administrator will need to manually merge the accounts. See [Merging
+> Gerrit User
+> Accounts](https://code.google.com/p/gerrit/wiki/SqlMergeUserAccounts)
+> on the Gerrit Wiki for details.
+
+Linking another identity is also useful for users whose primary OpenID
+provider shuts down. For example Google will [shut down their OpenID
+service on 20th April
+2015](https://developers.google.com/+/api/auth-migration). Users must
+add an alternative identity, using another OpenID provider, before that
+shutdown date. User who fail to add an alternative identity before that
+date, and end up with their account only having a disabled Google
+identity, will need to create a separate account with an alternative
+provider and then ask the administrator to merge the accounts using the
+previously mentioned method.
+
+To link another identity to an existing account:
+
+  - Login with the existing account
+
+  - Select menu Settings → Identities
+
+  - Click the *Link Another Identity* button
+
+  - Select the OpenID provider for the other identity
+
+  - Authenticate with the other identity
+
+Login using the other identity can only be performed after the linking
+is successful.
+
+## HTTP Basic Authentication
+
+When using HTTP authentication, Gerrit assumes that the servlet
+container or the frontend web server has performed all user
+authentication prior to handing the request off to Gerrit.
+
+As a result of this assumption, Gerrit can assume that any and all
+requests have already been authenticated. The "Sign In" and "Sign Out"
+links are therefore not displayed in the web UI.
+
+To enable this form of authentication:
+
+``` 
+  git config --file $site_path/etc/gerrit.config auth.type HTTP
+  git config --file $site_path/etc/gerrit.config --unset auth.httpHeader
+  git config --file $site_path/etc/gerrit.config auth.emailFormat '{0}@example.com'
+```
+
+The auth.type must always be HTTP, indicating the user identity will be
+obtained from the HTTP authorization data.
+
+The auth.httpHeader must always be unset. If set to any value (including
+`Authorization`) then Gerrit won’t correctly honor the standard
+`Authorization` HTTP header.
+
+The auth.emailFormat field (*optional*) sets the preferred email address
+during first login. Gerrit will replace `{0}` with the username, as
+obtained from the Authorization header. A format such as shown in the
+example would be typical, to add the domain name of the organization.
+
+If Apache HTTPd is being used as the primary web server and the Apache
+server will be handling user authentication, a configuration such as the
+following is recommended to ensure Apache performs the authentication at
+the proper time:
+
+``` 
+  <Location "/login/">
+    AuthType Basic
+    AuthName "Gerrit Code Review"
+    Require valid-user
+    ...
+  </Location>
+```
+
+### Database Schema
+
+User identities are stored as [external
+IDs](config-accounts.html#external-ids) with "gerrit" as scheme. The
+user string obtained from the authorization header is stored as ID of
+the external ID.
+
+## Computer Associates Siteminder
+
+Siteminder is a commercial single sign on solution marketed by Computer
+Associates. It is very common in larger enterprise environments.
+
+When using Siteminder, Gerrit assumes it has been installed in a servlet
+container which is running behind an Apache web server, and that the
+Siteminder authentication module has been configured within Apache to
+protect the entire Gerrit application. In this configuration all users
+must authenticate with Siteminder before they can access any resource on
+Gerrit.
+
+As a result of this assumption, Gerrit can assume that any and all
+requests have already been authenticated. The "Sign In" and "Sign Out"
+links are therefore not displayed in the web UI.
+
+To enable this form of authentication:
+
+``` 
+  git config --file $site_path/etc/gerrit.config auth.type HTTP
+  git config --file $site_path/etc/gerrit.config auth.httpHeader SM_USER
+  git config --file $site_path/etc/gerrit.config auth.emailFormat '{0}@example.com'
+```
+
+The auth.type must always be HTTP, indicating the user identity will be
+obtained from the HTTP authorization data.
+
+The auth.httpHeader indicates in which HTTP header field the Siteminder
+product has stored the username. Usually this is "SM\_USER", but may
+differ in your environment. Please refer to your organization’s single
+sign-on or security group to ensure the setting is correct.
+
+The auth.emailFormat field (*optional*) sets the user’s preferred email
+address when they first login. Gerrit will replace `{0}` with the
+username, as supplied by Siteminder. A format such as shown in the
+example would be typical, to add the domain name of the organization.
+
+If Jetty is being used, you may need to increase the header buffer size
+parameter, due to very long header lines. Add the following to
+`$JETTY_HOME/etc/jetty.xml` under
+`org.mortbay.jetty.nio.SelectChannelConnector`:
+
+``` 
+  <Set name="headerBufferSize">16384</Set>
+```
+
+### Database Schema
+
+User identities are stored as [external
+IDs](config-accounts.html#external-ids) with "gerrit" as scheme. The
+user string obtained from Siteminder (e.g. the value in the "SM\_USER"
+HTTP header) is stored as ID in the external ID.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-themes.md b/jekyll-source/pages/gerrit/config-themes.md
new file mode 100644
index 0000000..06506a5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-themes.md
@@ -0,0 +1,149 @@
+---
+title: " Gerrit Code Review - Themes"
+sidebar: gerritdoc_sidebar
+permalink: config-themes.html
+---
+Gerrit supports some customization of the HTML it sends to the browser,
+allowing organizations to alter the look and feel of the application to
+fit with their general scheme.
+
+Configuration can either be sitewide or per-project. Projects without a
+specified theme inherit from their parents, or from the sitewide theme
+for `All-Projects`.
+
+Sitewide themes are stored in `'$site_path'/etc`, and per-project themes
+are stored in `'$site_path'/themes/{project-name}`. Files are only
+served from a single theme directory; if you want to modify or extend an
+inherited theme, you must copy it into the appropriate per-project
+directory.
+
+## HTML Header/Footer
+
+At startup Gerrit reads the following files (if they exist) and uses
+them to customize the HTML page it sends to clients:
+
+  - `<theme-dir>/GerritSiteHeader.html`
+    
+    HTML is inserted below the menu bar, but above any page content.
+    This is a good location for an organizational logo, or links to
+    other systems like bug tracking.
+
+  - `<theme-dir>/GerritSiteFooter.html`
+    
+    HTML is inserted at the bottom of the page, below all other content,
+    but just above the footer rule and the "Powered by Gerrit Code
+    Review (v….)" message shown at the extreme bottom.
+
+  - `<theme-dir>/GerritSite.css`
+    
+    The CSS rules are inlined into the top of the HTML page, inside of a
+    `<style>` tag. These rules can be used to support styling the
+    elements within either the header or the footer.
+
+The \*.html files must be valid XHTML, with one root element, typically
+a single `<div>` tag. The server parses it as XML, and then inserts the
+root element into the host page. If a file has more than one root level
+element, Gerrit will not start.
+
+## Static Images
+
+Static image files can also be served from `'$site_path'/static`, and
+may be referenced in `GerritSite{Header,Footer}.html` or
+`GerritSite.css` by the relative URL `static/$name` (e.g.
+`static/logo.png`).
+
+To simplify security management, files are only served from
+`'$site_path'/static`. Subdirectories are explicitly forbidden from
+being served from this location by enforcing the rule that file names
+cannot contain `/` or `\`. (Client requests for `static/foo/bar` will
+result in 404 Not Found responses.)
+
+## HTTP Caching
+
+The header, footer, and CSS files are inlined into the host page, which
+is always sent with a no-cache header. Clients will see any changes
+immediately after they are made.
+
+Assets under `'$site_path'/static` whose file name matches one of the
+following patterns are served with a 1 year expiration, permitting very
+aggressive caching by clients and edge-proxies:
+
+  - `*.cache.html`
+
+  - `*.cache.gif`
+
+  - `*.cache.png`
+
+  - `*.cache.css`
+
+  - `*.cache.jar`
+
+  - `*.cache.swf`
+
+All other assets under `'$site_path'/static` are served with a 5 minute
+expire, permitting some (limited) caching. It may take up to 5 minutes
+after making a change, before clients see the changes.
+
+It is recommended that static images used in the site header or footer
+be named with a unique caching file name, for example
+`my_logo1.cache.png`, to allow browsers to take advantage of their disk
+cache. If the image needs to be modified, create a new file,
+`my_logo2.cache.png` and update the header (or footer) HTML to reference
+the new image path.
+
+## Google Analytics Integration
+
+To connect Gerrit to Google Analytics add the following to your
+`GerritSiteFooter.html`:
+
+``` 
+  <div>
+  <!-- standard analytics code -->
+    <script type="text/javascript">
+      var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+      document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+    </script>
+    <script type="text/javascript">
+      var pageTracker = _gat._getTracker("UA-nnnnnnn-n");
+      pageTracker._trackPageview();
+    </script>
+  be <!-- /standard analytics code -->
+
+  <script type="text/javascript">
+    window.onload = function() {
+      var p = window.location.pathname;
+      Gerrit.on('history', function (s) {
+        pageTracker._trackPageview(p + '/' + s)
+      });
+    };
+  </script>
+  </div>
+```
+
+Please consult the Google Analytics documentation for the correct setup
+code (the first two script tags). The above is shown only as a reference
+example.
+
+If your footer is otherwise empty, wrap all of the script tags into a
+single `<div>` tag (like above) to ensure it is a well-formed XHTML
+document file.
+
+The global function `Gerrit.on("history")` accepts functions that accept
+a string parameter. These functions are put into a list and invoked any
+time Gerrit shifts URLs. You’ll see page names like `/c/123` be passed
+to these functions, which in turn are handed off to Google Analytics for
+tracking. Our example hook above uses */* instead of *\#* because
+Analytics won’t track anchors.
+
+The `window.onload` callback is necessary to ensure that the
+`Gerrit.on()` function has actually been defined by the page. Because
+GWT loads the module asynchronously any `<script>` block in the header
+or footer will execute before Gerrit has defined the function and is
+ready to register the hook callback.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/config-validation.md b/jekyll-source/pages/gerrit/config-validation.md
new file mode 100644
index 0000000..d2c7a72
--- /dev/null
+++ b/jekyll-source/pages/gerrit/config-validation.md
@@ -0,0 +1,107 @@
+---
+title: " Gerrit Code Review - Plugin-based Validation"
+sidebar: gerritdoc_sidebar
+permalink: config-validation.html
+---
+Gerrit provides interfaces to allow [plugins](dev-plugins.html) to
+perform validation on certain operations.
+
+## New commit validation
+
+Plugins implementing the `CommitValidationListener` interface can
+perform additional validation checks against new commits.
+
+If the commit fails the validation, the plugin can either provide a
+message that will be sent back to the git client, or throw an exception
+which will cause the commit to be rejected.
+
+Validation applies to both commits uploaded via `git push`, and new
+commits generated via Gerrit’s Web UI features such as the rebase,
+revert and cherry-pick buttons.
+
+Out of the box, Gerrit includes a plugin that checks the length of the
+subject and body lines of commit messages on uploaded commits.
+
+## User ref operations validation
+
+Plugins implementing the `RefOperationValidationListener` interface can
+perform additional validation checks against user ref operations
+(resulting from either push or corresponding Gerrit REST/SSH endpoints
+call e.g. create branch etc.). Namely including ref creation, deletion
+and update (also non-fast-forward) before they are applied to the git
+repository.
+
+The plugin can throw an exception which will cause the operation to
+fail, and prevent the ref update from being applied.
+
+## Pre-merge validation
+
+Plugins implementing the `MergeValidationListener` interface can perform
+additional validation checks against commits before they are merged to
+the git repository.
+
+If the commit fails the validation, the plugin can throw an exception
+which will cause the merge to fail.
+
+## On submit validation
+
+Plugins implementing the `OnSubmitValidationListener` interface can
+perform additional validation checks against ref operations resulting
+from execution of submit operation before they are applied to any git
+repositories (there could be more than one in case of topic submits).
+
+Plugin can throw an exception which will cause submit operation to be
+aborted.
+
+## Pre-upload validation
+
+Plugins implementing the `UploadValidationListener` interface can
+perform additional validation checks before any upload operations
+(clone, fetch, pull). The validation is executed right before Gerrit
+begins to send a pack back to the git client.
+
+If upload fails the validation, the plugin can throw an exception which
+will cause the upload to fail and the exception’s message text will be
+reported to the git client.
+
+## New project validation
+
+Plugins implementing the `ProjectCreationValidationListener` interface
+can perform additional validation on project creation based on the input
+arguments.
+
+E.g. a plugin could use this to enforce a certain name scheme for
+project names.
+
+## New group validation
+
+Plugins implementing the `GroupCreationValidationListener` interface can
+perform additional validation on group creation based on the input
+arguments.
+
+E.g. a plugin could use this to enforce a certain name scheme for group
+names.
+
+## Assignee validation
+
+Plugins implementing the `AssigneeValidationListener` interface can
+perform validation of assignees before they are assigned to a change.
+
+## Hashtag validation
+
+Plugins implementing the `HashtagValidationListener` interface can
+perform validation of hashtags before they are added to or removed from
+changes.
+
+## Outgoing e-mail validation
+
+This interface provides a low-level e-mail filtering API for plugins.
+Plugins implementing the `OutgoingEmailValidationListener` interface can
+perform filtering of outgoing e-mails just before they are sent.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/database-setup.md b/jekyll-source/pages/gerrit/database-setup.md
new file mode 100644
index 0000000..3f185d8
--- /dev/null
+++ b/jekyll-source/pages/gerrit/database-setup.md
@@ -0,0 +1,256 @@
+[[createdb]]
+## Database Setup
+
+During the init phase of Gerrit you will need to specify which database
+to use.
+
+### H2
+
+If you choose H2, Gerrit will automatically set up the embedded H2
+database as backend so no set up or configuration is necessary.
+
+Using the embedded H2 database is the easiest way to get a Gerrit site
+up and running, making it ideal for proof of concepts or small team
+servers. On the flip side, H2 is not the recommended option for large
+corporate installations. This is because there is no easy way to
+interact with the database while Gerrit is offline, it’s not easy to
+backup the data, and it’s not possible to set up H2 in a load
+balanced/hotswap configuration.
+
+If this option interests you, you might want to consider [the quick
+guide](install-quick.html).
+
+### Apache Derby
+
+If Derby is selected, Gerrit will automatically set up the embedded
+Derby database as backend so no set up or configuration is necessary.
+
+Currently only support for embedded mode is added. There are two other
+deployment options for Apache Derby that can be added later:
+
+  - [Derby Network Server (standalone
+    mode)](http://db.apache.org/derby/papers/DerbyTut/ns_intro.html#Network+Server+Options)
+
+  - [Embedded Server (hybrid
+    mode)](http://db.apache.org/derby/papers/DerbyTut/ns_intro.html#Embedded+Server)
+
+### PostgreSQL
+
+This option is more complicated than the H2 option but is recommended
+for larger installations. It’s the database backend with the largest
+userbase in the Gerrit community.
+
+Create a user for the web application within PostgreSQL, assign it a
+password, create a database to store the metadata, and grant the user
+full rights on the newly created database:
+
+``` 
+  $ createuser --username=postgres -RDIElPS gerrit
+  $ createdb --username=postgres -E UTF-8 -O gerrit reviewdb
+```
+
+Visit PostgreSQL’s
+[documentation](http://www.postgresql.org/docs/9.1/interactive/index.html)
+for further information regarding using PostgreSQL.
+
+### MySQL
+
+Requirements: MySQL version 5.5 or later.
+
+This option is also more complicated than the H2 option. Just as with
+PostgreSQL it’s also recommended for larger installations.
+
+Create a user for the web application within the database, assign it a
+password, create a database, and give the newly created user full rights
+on it:
+
+``` 
+  mysql
+
+  CREATE USER 'gerrit'@'localhost' IDENTIFIED BY 'secret';
+  CREATE DATABASE reviewdb;
+  GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';
+  FLUSH PRIVILEGES;
+```
+
+Visit MySQL’s [documentation](http://dev.mysql.com/doc/) for further
+information regarding using MySQL.
+
+### MariaDB
+
+Requirements: MariaDB version 5.5 or later.
+
+Refer to MySQL section above how to create MariaDB database.
+
+Visit MariaDB’s [documentation](https://mariadb.com/kb/en/mariadb/) for
+further information regarding using MariaDB.
+
+### Oracle
+
+PostgreSQL or H2 is the recommended database for Gerrit Code Review.
+Oracle is supported for environments where running on an existing Oracle
+installation simplifies administrative overheads, such as database
+backups.
+
+Create a user for the web application within sqlplus, assign it a
+password, and grant the user full rights on the newly created
+database:
+
+``` 
+  SQL> create user gerrit identified by secret_password default tablespace users;
+  SQL> grant connect, resources to gerrit;
+```
+
+JDBC driver ojdbc6.jar must be obtained from your Oracle distribution.
+Gerrit initialization process tries to copy it from a known location:
+
+    /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar
+
+If this file can not be located at this place, then the alternative
+location can be provided.
+
+Instance name is the Oracle SID. Sample database section in
+$site\_path/etc/gerrit.config:
+
+    [database]
+            type = oracle
+            instance = xe
+            hostname = localhost
+            username = gerrit
+            port = 1521
+
+Sample database section in $site\_path/etc/secure.config:
+
+    [database]
+            password = secret_password
+
+### SAP MaxDB
+
+SAP MaxDB is a supported database for running Gerrit Code Review.
+However it is recommended only for environments where you intend to run
+Gerrit on an existing MaxDB installation to reduce administrative
+overhead.
+
+In the MaxDB studio or using the SQLCLI command line interface create a
+user *gerrit* with the user class *RESOURCE* and a password \<secret
+password\>. This will also create an associated schema on the database.
+
+To run Gerrit on MaxDB, you need to obtain the MaxDB JDBC driver. It can
+be found in your MaxDB installation at the following location:
+
+  - on Windows 64bit at "C:\\Program
+    Files\\sdb\\MaxDB\\runtime\\jar\\sapdbc.jar"
+
+  - on Linux at "/opt/sdb/MaxDB/runtime/jar/sapdbc.jar"
+
+It needs to be stored in the *lib* folder of the review site.
+
+In the following sample database section it is assumed that the database
+name is *reviewdb* and the database is installed on localhost:
+
+In $site\_path/etc/gerrit.config:
+
+    [database]
+            type = maxdb
+            database = reviewdb
+            hostname = localhost
+            username = gerrit
+
+In $site\_path/etc/secure.config:
+
+    [database]
+            password = <secret password>
+
+Visit SAP MaxDB’s [documentation](http://maxdb.sap.com/documentation/)
+for further information regarding using SAP MaxDB.
+
+### DB2
+
+IBM DB2 is a supported database for running Gerrit Code Review. However
+it is recommended only for environments where you intend to run Gerrit
+on an existing DB2 installation to reduce administrative overhead.
+
+Create a system wide user for the Gerrit application, and grant the user
+full rights on the newly created database:
+
+``` 
+  db2 => create database gerrit
+  db2 => connect to gerrit
+  db2 => grant connect,accessctrl,dataaccess,dbadm,secadm on database to gerrit;
+```
+
+JDBC driver db2jcc4.jar and db2jcc\_license\_cu.jar must be obtained
+from your DB2 distribution. Gerrit initialization process tries to copy
+it from a known location:
+
+    /opt/ibm/db2/V10.5/java/db2jcc4.jar
+    /opt/ibm/db2/V10.5/java/db2jcc_license_cu.jar
+
+If these files cannot be located at this place, then an alternative
+location can be provided during init step execution.
+
+Sample database section in $site\_path/etc/gerrit.config:
+
+    [database]
+            type = db2
+            database = gerrit
+            hostname = localhost
+            username = gerrit
+            port = 50001
+
+Sample database section in $site\_path/etc/secure.config:
+
+    [database]
+            password = secret_password
+
+### SAP HANA
+
+SAP HANA is a supported database for running Gerrit Code Review. However
+it is recommended only for environments where you intend to run Gerrit
+on an existing HANA installation to reduce administrative overhead.
+
+In the HANA studio or the SAP HANA Web-based Development Workbench
+create a user *GERRIT2* with the role *RESTRICTED\_USER\_JDBC\_ACCESS*
+and a password \<secret password\>. This will also create an associated
+schema on the database. As this user would be required to change the
+password upon first login you might want to to disable the password
+lifetime check by executing *ALTER USER GERRIT2 DISABLE PASSWORD
+LIFETIME*.
+
+To run Gerrit on HANA, you need to obtain the HANA JDBC driver. It can
+be found as described
+[here](http://help.sap.com/saphelp_hanaplatform/helpdata/en/ff/15928cf5594d78b841fbbe649f04b4/frameset.htm).
+It needs to be stored in the *lib* folder of the review site.
+
+In the following sample database section it is assumed that HANA is
+running on the host *hana.host* and listening on port *4242* where a
+schema/user GERRIT2 was created:
+
+In $site\_path/etc/gerrit.config:
+
+    [database]
+            type = hana
+            hostname = hana.host
+            port = 4242
+            username = GERRIT2
+
+In order to configure a specific database in a multi-database
+environment (MDC) the database name has to be specified additionally:
+
+In $site\_path/etc/gerrit.config:
+
+    [database]
+            type = hana
+            hostname = hana.host
+            database = tdb1
+            port = 4242
+            username = GERRIT2
+
+In $site\_path/etc/secure.config:
+
+    [database]
+            password = <secret password>
+
+Visit SAP HANA’s [documentation](http://help.sap.com/hana_appliance/)
+for further information regarding using SAP HANA.
+
diff --git a/jekyll-source/pages/gerrit/dev-bazel.md b/jekyll-source/pages/gerrit/dev-bazel.md
new file mode 100644
index 0000000..069a238
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-bazel.md
@@ -0,0 +1,388 @@
+---
+title: " Gerrit Code Review - Building with Bazel"
+sidebar: gerritdoc_sidebar
+permalink: dev-bazel.html
+---
+## Installation
+
+You need to use Java 8 and Node.js for building gerrit.
+
+You can install Bazel from the bazel.io:
+<https://www.bazel.io/versions/master/docs/install.html>
+
+## Building on the Command Line
+
+### Gerrit Development WAR File
+
+To build the Gerrit web application that includes the GWT UI and the
+PolyGerrit UI:
+
+``` 
+  bazel build gerrit
+```
+
+> **Note**
+> 
+> PolyGerrit UI may require additional tools (such as npm). Please read
+> the polygerrit-ui/README.md for more info.
+
+The output executable WAR will be placed in:
+
+``` 
+  bazel-bin/gerrit.war
+```
+
+### Gerrit Release WAR File
+
+To build the Gerrit web application that includes the GWT UI, the
+PolyGerrit UI and documentation:
+
+``` 
+  bazel build release
+```
+
+The output executable WAR will be placed in:
+
+``` 
+  bazel-bin/release.war
+```
+
+### Headless Mode
+
+To build Gerrit in headless mode, i.e. without the GWT Web UI:
+
+``` 
+  bazel build headless
+```
+
+The output executable WAR will be placed in:
+
+``` 
+  bazel-bin/headless.war
+```
+
+### Extension and Plugin API JAR Files
+
+To build the extension, plugin and GWT API JAR files:
+
+``` 
+  bazel build api
+```
+
+The output archive that contains Java binaries, Java sources and Java
+docs will be placed in:
+
+``` 
+  bazel-genfiles/api.zip
+```
+
+Install {extension,plugin,gwt}-api to the local maven repository:
+
+``` 
+  tools/maven/api.sh install
+```
+
+Install gerrit.war to the local maven repository:
+
+``` 
+  tools/maven/api.sh war_install
+```
+
+### Plugins
+
+``` 
+  bazel build plugins:core
+```
+
+The output JAR files for individual plugins will be placed in:
+
+``` 
+  bazel-genfiles/plugins/<name>/<name>.jar
+```
+
+The JAR files will also be packaged in:
+
+``` 
+  bazel-genfiles/plugins/core.zip
+```
+
+To build a specific plugin:
+
+``` 
+  bazel build plugins/<name>
+```
+
+The output JAR file will be be placed in:
+
+``` 
+  bazel-genfiles/plugins/<name>/<name>.jar
+```
+
+Note that when building an individual plugin, the `core.zip` package is
+not regenerated.
+
+## Using an IDE.
+
+### IntelliJ
+
+The Gerrit build works with Bazel’s [IntelliJ
+plugin](https://ij.bazel.io). Please follow the instructions on
+[IntelliJ Setup](#dev-intellij#).
+
+### Eclipse
+
+#### Generating the Eclipse Project
+
+Create the Eclipse project:
+
+``` 
+  tools/eclipse/project.py
+```
+
+and then follow the [setup instructions](dev-eclipse.html#setup).
+
+#### Refreshing the Classpath
+
+If an updated classpath is needed, the Eclipse project can be refreshed
+and missing dependency JARs can be downloaded by running `project.py`
+again. For IntelliJ, you need to click the `Sync Project
+with BUILD Files` button of [IntelliJ plugin](https://ij.bazel.io).
+
+### Documentation
+
+To build only the documentation for testing or static hosting:
+
+``` 
+  bazel build Documentation:searchfree
+```
+
+The html files will be bundled into `searchfree.zip` in this location:
+
+``` 
+  bazel-bin/Documentation/searchfree.zip
+```
+
+To build the executable WAR with the documentation included:
+
+``` 
+  bazel build withdocs
+```
+
+The WAR file will be placed in:
+
+``` 
+  bazel-bin/withdocs.war
+```
+
+## Running Unit Tests
+
+``` 
+  bazel test --build_tests_only //...
+```
+
+Debugging
+tests:
+
+``` 
+  bazel test --test_output=streamed --test_filter=com.gerrit.TestClass.testMethod  testTarget
+```
+
+Debug test
+example:
+
+``` 
+  bazel test --test_output=streamed --test_filter=com.google.gerrit.acceptance.api.change.ChangeIT.getAmbiguous //gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change:api_change
+```
+
+To run a specific test group, e.g. the rest-account test
+group:
+
+``` 
+  bazel test //gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account:rest_account
+```
+
+To run the tests against NoteDb backend with write to NoteDb, but not
+read from it:
+
+``` 
+  bazel test --test_env=GERRIT_NOTEDB=WRITE //...
+```
+
+Write and read from NoteDb:
+
+``` 
+  bazel test --test_env=GERRIT_NOTEDB=READ_WRITE //...
+```
+
+Primary storage NoteDb:
+
+``` 
+  bazel test --test_env=GERRIT_NOTEDB=PRIMARY //...
+```
+
+Primary storage NoteDb and ReviewDb disabled:
+
+``` 
+  bazel test --test_env=GERRIT_NOTEDB=ON //...
+```
+
+To run only tests that do not use SSH:
+
+``` 
+  bazel test --test_env=GERRIT_USE_SSH=NO //...
+```
+
+To exclude tests that have been marked as flaky:
+
+``` 
+  bazel test --test_tag_filters=-flaky //...
+```
+
+To ignore cached test results:
+
+``` 
+  bazel test --cache_test_results=NO //...
+```
+
+To run one or more specific groups of tests:
+
+``` 
+  bazel test --test_tag_filters=api,git //...
+```
+
+The following values are currently supported for the group name:
+
+  - annotation
+
+  - api
+
+  - edit
+
+  - git
+
+  - notedb
+
+  - pgm
+
+  - rest
+
+  - server
+
+  - ssh
+
+## Dependencies
+
+Dependency JARs are normally downloaded as needed, but you can download
+everything upfront. This is useful to enable subsequent builds to run
+without network access:
+
+``` 
+  bazel fetch //...
+```
+
+When downloading from behind a proxy (which is common in some corporate
+environments), it might be necessary to explicitly specify the proxy
+that is then used by
+`curl`:
+
+``` 
+  export http_proxy=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>
+```
+
+Redirection to local mirrors of Maven Central and the Gerrit storage
+bucket is supported by defining specific properties in
+`local.properties`, a file that is not tracked by Git:
+
+``` 
+  echo download.GERRIT = http://nexus.my-company.com/ >>local.properties
+  echo download.MAVEN_CENTRAL = http://nexus.my-company.com/ >>local.properties
+```
+
+The `local.properties` file may be placed in the root of the gerrit
+repository being built, or in `~/.gerritcodereview/`. The file in the
+root of the gerrit repository has precedence.
+
+## Building against unpublished Maven JARs
+
+To build against unpublished Maven JARs, like gwtorm or PrologCafe, the
+custom JARs must be installed in the local Maven repository (`mvn clean
+install`) and `maven_jar()` must be updated to point to the
+`MAVEN_LOCAL` Maven repository for that artifact:
+
+``` python
+ maven_jar(
+   name = 'gwtorm',
+   artifact = 'gwtorm:gwtorm:42',
+   repository = MAVEN_LOCAL,
+ )
+```
+
+## Building against artifacts from custom Maven repositories
+
+To build against custom Maven repositories, two modes of operations are
+supported: with rewrite in local.properties and without.
+
+Without rewrite the URL of custom Maven repository can be directly
+passed to the maven\_jar() function:
+
+``` python
+  GERRIT_FORGE = 'http://gerritforge.com/snapshot'
+
+  maven_jar(
+    name = 'gitblit',
+    artifact = 'com.gitblit:gitblit:1.4.0',
+    sha1 = '1b130dbf5578ace37507430a4a523f6594bf34fa',
+    repository = GERRIT_FORGE,
+ )
+```
+
+When the custom URL has to be rewritten, then the same logic as with
+Gerrit known Maven repository is used: Repo name must be defined that
+matches an entry in local.properties file:
+
+``` 
+  download.GERRIT_FORGE = http://my.company.mirror/gerrit-forge
+```
+
+And corresponding WORKSPACE excerpt:
+
+``` python
+  GERRIT_FORGE = 'GERRIT_FORGE:'
+
+  maven_jar(
+    name = 'gitblit',
+    artifact = 'com.gitblit:gitblit:1.4.0',
+    sha1 = '1b130dbf5578ace37507430a4a523f6594bf34fa',
+    repository = GERRIT_FORGE,
+ )
+```
+
+To consume the JGit dependency from the development tree, edit
+`lib/jgit/jgit.bzl` setting LOCAL\_JGIT\_REPO to a directory holding a
+JGit repository.
+
+### Cleaning The download cache
+
+The cache for the Gerrit Code Review project is located in
+`~/.gerritcodereview/buck-cache/locally-built-artifacts`.
+
+If you really do need to clean the cache manually, then:
+
+``` 
+ rm -rf ~/.gerritcodereview/buck-cache/locally-built-artifacts
+```
+
+Note that the root `buck-cache` folder should not be deleted as it also
+contains the `downloaded-artifacts` directory, which holds the artifacts
+that got downloaded (not built locally).
+
+\[NOTE\] When building with Bazel the artifacts are still cached in
+`~/.gerritcodereview/buck-cache/`. This allows Bazel to make use of
+libraries that were previously downloaded by Buck.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-build-plugins.md b/jekyll-source/pages/gerrit/dev-build-plugins.md
new file mode 100644
index 0000000..a663f0b
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-build-plugins.md
@@ -0,0 +1,106 @@
+---
+title: " Gerrit Code Review - Building plugins"
+sidebar: gerritdoc_sidebar
+permalink: dev-build-plugins.html
+---
+From build process perspective there are three types of plugins:
+
+  - Maven driven
+
+  - Bazel tree driven
+
+  - Bazel standalone
+
+These types can be combined: if both files in plugin’s root directory
+exist:
+
+  - `BUILD`
+
+  - `pom.xml`
+
+the plugin can be built with both Bazel and Maven.
+
+## Maven driven build
+
+If plugin contains `pom.xml` file, it can be built with Maven as
+usually:
+
+    mvn clean package
+
+Exceptions from the rule above:
+
+### Exception 1:
+
+Plugin’s `pom.xml` references snapshot version of plugin API:
+`2.8-SNAPSHOT`. In this case there are two possibilities:
+
+  - switch to release API. Change plugin API version in `pom.xml` from
+    `2.8-SNAPSHOT` to `2.8.1` and repeat step 1 above.
+
+  - build and install `SNAPSHOT` version of plugin API in local Maven
+    repository:
+
+<!-- end list -->
+
+    ./tools/maven/api.sh install
+
+### Exception 2:
+
+Plugin’s `pom.xml` references other own or foreign (unpublished)
+libraries or even other Gerrit plugins. These libraries and/or plugins
+must be built and installed in local Maven repository. Clone the related
+projects and issue
+
+    mvn install
+
+Repeat step 1. above.
+
+## Bazel in tree driven
+
+The fact that plugin contains `BUILD` file doesn’t mean that building
+this plugin from the plugin directory works.
+
+Bazel in tree driven means it can only be built from within Gerrit tree.
+Clone or link the plugin into gerrit/plugins directory:
+
+    cd gerrit
+    bazel build plugins/<plugin-name>:<plugin-name>
+
+The output can be normally found in the following directory:
+
+    bazel-genfiles/plugins/<plugin-name>/<plugin-name>.jar
+
+Some plugins describe their build process in
+`src/main/resources/Documentation/build.md` file. It may worth checking.
+
+### Plugins with external dependencies
+
+If the plugin has external dependencies, then they must be included from
+Gerrit’s own WORKSPACE file. This can be achieved by including them in
+`external_plugin_deps.bzl`. During the build in Gerrit tree, this file
+must be copied over the dummy one in `plugins` directory.
+
+Example for content of `external_plugin_deps.bzl` file:
+
+    load("//tools/bzl:maven_jar.bzl", "maven_jar")
+    
+    def external_plugin_deps():
+      maven_jar(
+          name = 'org_apache_tika_tika_core',
+          artifact = 'org.apache.tika:tika-core:1.12',
+          sha1 = '5ab95580d22fe1dee79cffbcd98bb509a32da09b',
+      )
+
+## Bazel standalone driven
+
+Only few plugins support that mode for now:
+
+    cd reviewers
+    bazel build reviewers
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-contributing.md b/jekyll-source/pages/gerrit/dev-contributing.md
new file mode 100644
index 0000000..3d415ea
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-contributing.md
@@ -0,0 +1,399 @@
+---
+title: " Gerrit Code Review - Contributing"
+sidebar: gerritdoc_sidebar
+permalink: dev-contributing.html
+---
+## Introduction
+
+Gerrit is developed as a [self-hosting open source
+project](https://gerrit-review.googlesource.com/) and very much welcomes
+contributions from anyone with a contributor’s agreement on file with
+the project.
+
+## Contributor License Agreement
+
+A Contributor License Agreement must be completed before contributions
+are accepted. To view and accept the agreements do the following:
+
+  - Click *Sign In* at the top right corner of
+    <https://gerrit-review.googlesource.com/>
+
+  - Sign In with your Google account
+
+  - After signing in, go to the
+    [Agreements](https://gerrit-review.googlesource.com/#/settings/agreements)
+    tab on the settings page
+
+  - Click *New Contributor Agreement* and follow the instructions
+
+For reference, the actual agreements are linked below
+
+  - [Individual
+    Agreement](https://cla.developers.google.com/about/android-individual)
+
+  - [Corporate
+    Agreement](https://source.android.com/source/cla-corporate.pdf)
+
+## Code Review
+
+As Gerrit is a code review tool, naturally contributions will be
+reviewed before they will get submitted to the code base. To start your
+contribution, please make a git commit and upload it for review to the
+main Gerrit review server. To help speed up the review of your change,
+review these guidelines before submitting your change. You can view the
+pending Gerrit contributions and their statuses
+[here](https://gerrit-review.googlesource.com/#/q/status:open+project:gerrit).
+
+Depending on the size of that list it might take a while for your change
+to get reviewed. Naturally there are fewer approvers than contributors;
+so anything that you can do to ensure that your contribution will
+undergo fewer revisions will speed up the contribution process. This
+includes helping out reviewing other people’s changes to relieve the
+load from the approvers. Even if you are not familiar with Gerrit’s
+internals, it would be of great help if you can download, try out, and
+comment on new features. If it works as advertised, say so, and if you
+have the privileges to do so, go ahead and give it a +1 Verified. If you
+would find the feature useful, say so and give it a +1 code review.
+
+And finally, the quicker you respond to the comments of your reviewers,
+the quicker your change might get merged\! Try to reply to every comment
+after submitting your new patch, particularly if you decided against
+making the suggested change. Reviewers don’t want to seem like nags and
+pester you if you haven’t replied or made a fix, so it helps them know
+if you missed it or decided against it.
+
+## Review Criteria
+
+Here are some hints as to what approvers may be looking for before
+approving or submitting changes to the Gerrit project. Let’s start with
+the simple nit picky stuff. You are likely excited that your code works;
+help us share your excitement by not distracting us with the simple
+stuff. Thanks to Gerrit, problems are often highlighted and we find it
+hard to look beyond simple spacing issues. Blame it on our short
+attention spans, we really do want your code.
+
+### Commit Message
+
+It is essential to have a good commit message if you want your change to
+be reviewed.
+
+  - Keep lines no longer than 72 chars
+
+  - Start with a short one line summary
+
+  - Followed by a blank line
+
+  - Followed by one or more explanatory paragraphs
+
+  - Use the present tense (fix instead of fixed)
+
+  - Use the past tense when describing the status before this commit
+
+  - Include a `Bug: Issue <#>` line if fixing a Gerrit issue, or a
+    `Feature: Issue <#>` line if implementing a feature request.
+
+  - Include a `Change-Id` line
+
+### Setting up Vim for Git commit message
+
+Git uses Vim as the default commit message editor. Put this into your
+`$HOME/.vimrc` file to configure Vim for Git commit message formatting
+and
+    writing:
+
+    " Enable spell checking, which is not on by default for commit messages.
+    au FileType gitcommit setlocal spell
+
+    " Reset textwidth if you've previously overridden it.
+    au FileType gitcommit setlocal textwidth=72
+
+### A sample good Gerrit commit message:
+
+    Add sample commit message to guidelines doc
+
+    The original patch set for the contributing guidelines doc did not
+    include a sample commit message, this new patchset does.  Hopefully this
+    makes things a bit clearer since examples can sometimes help when
+    explanations don't.
+
+    Note that the body of this commit message can be several paragraphs, and
+    that I word wrap it at 72 characters.  Also note that I keep the summary
+    line under 50 characters since it is often truncated by tools which
+    display just the git summary.
+
+    Bug: Issue 98765605
+    Change-Id: Ic4a7c07eeb98cdeaf44e9d231a65a51f3fceae52
+
+The `Change-Id` line is, as usual, created by a local git hook. To
+install it, simply copy it from the checkout and make it
+    executable:
+
+    cp ./gerrit-server/src/main/resources/com/google/gerrit/server/tools/root/hooks/commit-msg .git/hooks/
+    chmod +x .git/hooks/commit-msg
+
+If you are working on core plugins, you will also need to install the
+same hook in the submodules:
+
+    export hook=$(pwd)/.git/hooks/commit-msg
+    git submodule foreach 'cp -p "$hook" "$(git rev-parse --git-dir)/hooks/"'
+
+To set up git’s remote for easy pushing, run the following:
+
+    git remote add gerrit https://gerrit.googlesource.com/gerrit
+
+The HTTPS access requires proper username and password; this can be
+obtained by clicking the *Obtain Password* link on the [HTTP Password
+tab of the user settings
+page](https://gerrit-review.googlesource.com/#/settings/http-password).
+
+### Style
+
+This project has a policy of Eclipse’s warning free code. Eclipse
+configuration is added to git and we expect the changes to be warnings
+free.
+
+We do not ask you to use Eclipse for editing, obviously. We do ask you
+to provide Eclipse’s warning free patches only. If for some reasons, you
+are not able to set up Eclipse and verify, that your patch hasn’t
+introduced any new Eclipse warnings, mention this in a comment to your
+change, so that reviewers will do it for you. Yes, the way to go is to
+extend gerrit CI to take care of this, but it’s not yet implemented.
+
+Gerrit generally follows the [Google Java Style
+Guide](https://google.github.io/styleguide/javaguide.html).
+
+To format Java source code, Gerrit uses the
+[`google-java-format`](https://github.com/google/google-java-format)
+tool (version 1.3), and to format Bazel BUILD and WORKSPACE files the
+[`buildifier`](https://github.com/bazelbuild/buildifier) tool (version
+0.4.5). These tools automatically apply format according to the style
+guides; this streamlines code review by reducing the need for
+time-consuming, tedious, and contentious discussions about trivial
+issues like whitespace.
+
+You may download and run `google-java-format` on your own, or you may
+run `./tools/setup_gjf.sh` to download a local copy and set up a wrapper
+script. If you run your own copy, please use the same version, as there
+may be slight differences between versions.
+
+When considering the style beyond just formatting rules, it is often
+more important to match the style of the nearby code which you are
+modifying than it is to match the style guide exactly. This is
+especially true within the same file.
+
+Additionally, you will notice that most of the newline spacing is fairly
+consistent throughout the code in Gerrit, it helps to stick to the blank
+line conventions. Here are some specific examples:
+
+  - Keep a blank line between all class and method declarations.
+
+  - Do not add blank lines at the beginning or end of class/methods.
+
+When to use `final` modifier and when not (in new code):
+
+Always:
+
+  - final fields: marking fields as final forces them to be initialized
+    in the constructor or at declaration
+
+  - final static fields: clearly communicates the intent
+
+  - to use final variables in inner anonymous classes
+
+Optional:
+
+  - final classes: use when appropriate, e.g. API restriction
+
+  - final methods: similar to final classes
+
+Never:
+
+  - local variables: it clutters the code, and makes the code less
+    readable. When copying old code to new location, finals should be
+    removed
+
+  - method parameters: similar to local variables
+
+### Code Organization
+
+Do your best to organize classes and methods in a logical way. Here are
+some guidelines that Gerrit uses:
+
+  - Ensure a standard copyright header is included at the top of any new
+    files (copy it from another file, update the year).
+
+  - Always place loggers first in your class\!
+
+  - Define any static interfaces next in your class.
+
+  - Define non static interfaces after static interfaces in your class.
+
+  - Next you should define static types, static members, and static
+    methods, in decreasing order of visibility (public to private).
+
+  - Finally instance types, instance members, then constructors, and
+    then instance methods.
+
+  - Some common exceptions are private helper static methods, which
+    might appear near the instance methods which they help (but may also
+    appear at the top).
+
+  - Getters and setters for the same instance field should usually be
+    near each other barring a good reason not to.
+
+  - If you are using assisted injection, the factory for your class
+    should be before the instance members.
+
+  - Annotations should go before language keywords (`final`, `private`,
+    etc)  
+    Example: `@Assisted @Nullable final type varName`
+
+  - Prefer to open multiple AutoCloseable resources in the same
+    try-with-resources block instead of nesting the try-with-resources
+    blocks and increasing the indentation level more than necessary.
+
+Wow that’s a lot\! But don’t worry, you’ll get the habit and most of the
+code is organized this way already; so if you pay attention to the class
+you are editing you will likely pick up on it. Naturally new classes are
+a little harder; you may want to come back and consult this section when
+creating them.
+
+### Design
+
+Here are some design level objectives that you should keep in mind when
+coding:
+
+  - ORM entity objects should match exactly one row in the database.
+
+  - Most client pages should perform only one RPC to load so as to keep
+    latencies down. Exceptions would apply to RPCs which need to load
+    large data sets if splitting them out will help the page load
+    faster. Generally page loads are expected to complete in under
+    100ms. This will be the case for most operations, unless the data
+    being fetched is not using Gerrit’s caching infrastructure. In these
+    slower cases, it is worth considering mitigating this longer load by
+    using a second RPC to fill in this data after the page is displayed
+    (or alternatively it might be worth proposing caching this data).
+
+  - `@Inject` should be used on constructors, not on fields. The current
+    exceptions are the ssh commands, these were implemented earlier in
+    Gerrit’s development. To stay consistent, new ssh commands should
+    follow this older pattern; but eventually these should get converted
+    to eliminate this exception.
+
+  - Don’t leave repository objects (git or schema) open. A .close()
+    after every open should be placed in a finally{} block.
+
+  - Don’t leave UI components, which can cause new actions to occur,
+    enabled during RPCs which update the DB. This is to prevent people
+    from submitting actions more than once when operating on slow links.
+    If the action buttons are disabled, they cannot be resubmitted and
+    the user can see that Gerrit is still busy.
+
+  - GWT EventBus is the new way forward.
+
+  - …and so is Guava (previously known as Google Collections).
+
+### Tests
+
+  - Tests for new code will greatly help your change get approved.
+
+### Change Size/Number of Files Touched
+
+And finally, I probably cannot say enough about change sizes. Generally,
+smaller is better, hopefully within reason. Do try to keep things which
+will be confusing on their own together, especially if changing one
+without the other will break something\!
+
+  - If a new feature is implemented and it is a larger one, try to
+    identify if it can be split into smaller logical features; when in
+    doubt, err on the smaller side.
+
+  - Separate bug fixes from feature improvements. The bug fix may be an
+    easy candidate for approval and should not need to wait for new
+    features to be approved. Also, combining the two makes reviewing
+    harder since then there is no clear line between the fix and the
+    feature.
+
+  - Separate supporting refactoring from feature changes. If your new
+    feature requires some refactoring, it helps to make the refactoring
+    a separate change which your feature change depends on. This way,
+    reviewers can easily review the refactor change as a something that
+    should not alter the current functionality, and feel more confident
+    they can more easily spot errors this way. Of course, it also makes
+    it easier to test and locate later on if an unfortunate error does
+    slip in. Lastly, by not having to see refactoring changes at the
+    same time, it helps reviewers understand how your feature changes
+    the current functionality.
+
+  - Separate logical features into separate changes. This is often the
+    hardest part. Here is an example: when adding a new ability, make
+    separate changes for the UI and the ssh commands if possible.
+
+  - Do only what the commit message describes. In other words, things
+    which are not strictly related to the commit message shouldn’t be
+    part of a change, even trivial things like externalizing a string
+    somewhere or fixing a typo. This helps keep `git blame` more useful
+    in the future and it also makes `git revert` more useful.
+
+  - Use topics to link your separate changes together.
+
+## Process
+
+### Backporting to stable branches
+
+From time to time bug fix releases are made for existing stable
+branches.
+
+Developers concerned with stable branches are encouraged to backport or
+push patchsets to these branches, even if no new release is planned.
+
+Fixes that are known to be needed for a particular release should be
+pushed for review on that release’s stable branch. It will then be
+included in the master branch when the stable branch is merged back.
+
+### Updating to new version of GWT
+
+When updating to a new version of GWT, there are several things that
+also need to be updated or at least checked.
+
+  - Update common and plugin dependencies in `tools/gwt-constants.defs`.
+
+  - Update to the same GWT version in the cookbook plugin and optionally
+    in other plugins that have a dependency on GWT.
+
+  - Update the GWT version in the archetype metadata in the
+    `gerrit-plugin-gwt-archetype`.
+
+  - Update the version of `gwt-maven-plugin` in the example pom.xml file
+    in [dev-plugins](dev-plugins.html).
+
+  - Update to the same GWT version in the `gwtjsonrpc` project, and
+    release a new version.
+
+### Finding starter projects to work on
+
+We have created a
+[StarterProject](https://bugs.chromium.org/p/gerrit/issues/list?can=2&q=label%3AStarterProject)
+category in the issue tracker and try to assign easy hack projects to
+it. If in doubt, do not hesitate to ask on the developer [mailing
+list](https://groups.google.com/forum/#!forum/repo-discuss).
+
+### Upgrading Libraries
+
+Gerrit’s library dependencies should only be upgraded if the new version
+contains something we need in Gerrit. This includes new features, API
+changes as well as bug or security fixes. An exception to this rule is
+that right after a new Gerrit release was branched off, all libraries
+should be upgraded to the latest version to prevent Gerrit from falling
+behind. Doing those upgrades should conclude at the latest two months
+after the branch was cut. This should happen on the master branch to
+ensure that they are vetted long enough before they go into a release
+and we can be sure that the update doesn’t introduce a regression.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-design.md b/jekyll-source/pages/gerrit/dev-design.md
new file mode 100644
index 0000000..69fbd58
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-design.md
@@ -0,0 +1,757 @@
+---
+title: " Gerrit Code Review - System Design"
+sidebar: gerritdoc_sidebar
+permalink: dev-design.html
+---
+## Objective
+
+Gerrit is a web based code review system, facilitating online code
+reviews for projects using the Git version control system.
+
+Gerrit makes reviews easier by showing changes in a side-by-side
+display, and allowing inline/file comments to be added by any reviewer.
+
+Gerrit simplifies Git based project maintainership by permitting any
+authorized user to submit changes to the master Git repository, rather
+than requiring all approved changes to be merged in by hand by the
+project maintainer. This functionality enables a more centralized usage
+of Git.
+
+## Background
+
+Google developed Mondrian, a Perforce based code review tool to
+facilitate peer-review of changes prior to submission to the central
+code repository. Mondrian is not open source, as it is tied to the use
+of Perforce and to many Google-only services, such as Bigtable. Google
+employees have often described how useful Mondrian and its peer-review
+process is to their day-to-day work.
+
+Guido van Rossum open sourced portions of Mondrian within Rietveld, a
+similar code review tool running on Google App Engine, but for use with
+Subversion rather than Perforce. Rietveld is in common use by many open
+source projects, facilitating their peer reviews much as Mondrian does
+for Google employees. Unlike Mondrian and the Google Perforce triggers,
+Rietveld is strictly advisory and does not enforce peer-review prior to
+submission.
+
+Git is a distributed version control system, wherein each repository is
+assumed to be owned/maintained by a single user. There are no inherent
+security controls built into Git, so the ability to read from or write
+to a repository is controlled entirely by the host’s filesystem access
+controls. When multiple maintainers collaborate on a single shared
+repository a high degree of trust is required, as any collaborator with
+write access can alter the repository.
+
+Gitosis provides tools to secure centralized Git repositories,
+permitting multiple maintainers to manage the same project at once, by
+restricting the access to only over a secure network protocol, much like
+Perforce secures a repository by only permitting access over its network
+port.
+
+The Android Open Source Project (AOSP) was founded by Google by the open
+source releasing of the Android operating system. AOSP has selected Git
+as its primary version control tool. As many of the engineers have a
+background of working with Mondrian at Google, there is a strong desire
+to have the same (or better) feature set available for Git and AOSP.
+
+Gerrit Code Review started as a simple set of patches to Rietveld, and
+was originally built to service AOSP. This quickly turned into a fork as
+we added access control features that Guido van Rossum did not want to
+see complicating the Rietveld code base. As the functionality and code
+were starting to become drastically different, a different name was
+needed. Gerrit calls back to the original namesake of Rietveld, Gerrit
+Rietveld, a Dutch architect.
+
+Gerrit 2.x is a complete rewrite of the Gerrit fork, completely changing
+the implementation from Python on Google App Engine, to Java on a J2EE
+servlet container and an SQL database.
+
+  - [Mondrian Code Review On The
+    Web](http://video.google.com/videoplay?docid=-8502904076440714866)
+
+  - [Rietveld - Code Review for
+    Subversion](https://github.com/rietveld-codereview/rietveld)
+
+  - [Gitosis
+    README](http://eagain.net/gitweb/?p=gitosis.git;a=blob;f=README.rst;hb=HEAD)
+
+  - [Android Open Source Project](http://source.android.com/)
+
+## Overview
+
+Developers create one or more changes on their local desktop system,
+then upload them for review to Gerrit using the standard `git push`
+command line program, or any GUI which can invoke `git push` on behalf
+of the user. Authentication and data transfer are handled through SSH.
+Users are authenticated by username and public/private key pair, and all
+data transfer is protected by the SSH connection and Git’s own data
+integrity checks.
+
+Each Git commit created on the client desktop system is converted into a
+unique change record which can be reviewed independently. Change records
+are stored in a database: PostgreSQL, MySQL, or the built-in H2, where
+they can be queried to present customized user dashboards, enumerating
+any pending changes.
+
+A summary of each newly uploaded change is automatically emailed to
+reviewers, so they receive a direct hyperlink to review the change on
+the web. Reviewer email addresses can be specified on the `git push`
+command line, but typically reviewers are automatically selected by
+Gerrit by identifying users who have change approval permissions in the
+project.
+
+Reviewers use the web interface to read the side-by-side or unified diff
+of a change, and insert draft inline/file comments where appropriate. A
+draft comment is visible only to the reviewer, until they publish those
+comments. Published comments are automatically emailed to the change
+author by Gerrit, and are CC’d to all other reviewers who have already
+commented on the change.
+
+When publishing comments reviewers are also given the opportunity to
+score the change, indicating whether they feel the change is ready for
+inclusion in the project, needs more work, or should be rejected
+outright. These scores provide direct feedback to Gerrit’s change submit
+function.
+
+After a change has been scored positively by reviewers, Gerrit enables a
+submit button on the web interface. Authorized users can push the submit
+button to have the change enter the project repository. The equivalent
+in Subversion or Perforce would be that Gerrit is invoking `svn commit`
+or `p4 submit` on behalf of the web user pressing the button. Due to the
+way Git audit trails are maintained, the user pressing the submit button
+does not need to be the author of the change.
+
+## Infrastructure
+
+End-user web browsers make HTTP requests directly to Gerrit’s HTTP
+server. As nearly all of the user interface is implemented through
+Google Web Toolkit (GWT), the majority of these requests are
+transmitting compressed JSON payloads, with all HTML being generated
+within the browser. Most responses are under 1 KB.
+
+Gerrit’s HTTP server side component is implemented as a standard Java
+servlet, and thus runs within any J2EE servlet container. Popular
+choices for deployments would be Tomcat or Jetty, as these are
+high-quality open-source servlet containers that are readily available
+for download.
+
+End-user uploads are performed over SSH, so Gerrit’s servlets also start
+up a background thread to receive SSH connections through an independent
+SSH port. SSH clients communicate directly with this port, bypassing the
+HTTP server used by browsers.
+
+Server side data storage for Gerrit is broken down into two different
+categories:
+
+  - Git repository data
+
+  - Gerrit metadata
+
+The Git repository data is the Git object database used to store already
+submitted revisions, as well as all uploaded (proposed) changes. Gerrit
+uses the standard Git repository format, and therefore requires direct
+filesystem access to the repositories. All repository data is stored in
+the filesystem and accessed through the JGit library. Repository data
+can be stored on remote servers accessible through NFS or SMB, but the
+remote directory must be mounted on the Gerrit server as part of the
+local filesystem namespace. Remote filesystems are likely to perform
+worse than local ones, due to Git disk IO behavior not being optimized
+for remote access.
+
+The Gerrit metadata contains a summary of the available changes, all
+comments (published and drafts), and individual user account
+information. The metadata is mostly housed in the database (\*1), which
+can be located either on the same server as Gerrit, or on a different
+(but nearby) server. Most installations would opt to install both Gerrit
+and the metadata database on the same server, to reduce administration
+overheads.
+
+User authentication is handled by OpenID, and therefore Gerrit requires
+that the OpenID provider selected by a user must be online and operating
+in order to authenticate that user.
+
+  - [Google Web Toolkit (GWT)](http://www.gwtproject.org/)
+
+  - [Git Repository
+    Format](http://www.kernel.org/pub/software/scm/git/docs/gitrepository-layout.html)
+
+  - [About PostgreSQL](http://www.postgresql.org/about/)
+
+  - [OpenID Specifications](http://openid.net/developers/specs/)
+
+\*1 Although an effort is underway to eliminate the use of the database
+altogether, and to store all the metadata directly in the git
+repositories themselves. So far, as of Gerrit 2.2.1, of all Gerrit’s
+metadata, only the project configuration metadata has been migrated out
+of the database and into the git repositories for each project.
+
+## Project Information
+
+Gerrit is developed as a self-hosting open source project:
+
+  - [Project Homepage](https://www.gerritcodereview.com/)
+
+  - [Release
+    Versions](https://www.gerritcodereview.com/download/index.html)
+
+  - [Source](https://gerrit.googlesource.com/gerrit)
+
+  - [Issue Tracking](https://bugs.chromium.org/p/gerrit/issues/list)
+
+  - [Change Review](https://review.source.android.com/)
+
+## Internationalization and Localization
+
+As a source code review system for open source projects, where the
+commonly preferred language for communication is typically English,
+Gerrit does not make internationalization or localization a priority.
+
+The majority of Gerrit’s users will be writing change descriptions and
+comments in English, and therefore an English user interface is usable
+by the target user base.
+
+Gerrit uses GWT’s i18n support to externalize all constant strings and
+messages shown to the user, so that in the future someone who really
+needed a translated version of the UI could contribute new string files
+for their locale(s).
+
+Right-to-left (RTL) support is only barely considered within the Gerrit
+code base. Some portions of the code have tried to take RTL into
+consideration, while others probably need to be modified before
+translating the UI to an RTL language.
+
+  - [Gerrit’s i18n Support](i18n-readme.html)
+
+## Accessibility Considerations
+
+Whenever possible Gerrit displays raw text rather than image icons, so
+screen readers should still be able to provide useful information to
+blind persons accessing Gerrit sites.
+
+Standard HTML hyperlinks are used rather than HTML div or span tags with
+click listeners. This provides two benefits to the end-user. The first
+benefit is that screen readers are optimized to locating standard
+hyperlink anchors and presenting them to the end-user as a navigation
+action. The second benefit is that users can use the *open in new
+tab/window* feature of their browser whenever they choose.
+
+When possible, Gerrit uses the ARIA properties on DOM widgets to provide
+hints to screen readers.
+
+## Browser Compatibility
+
+Supporting non-JavaScript enabled browsers is a non-goal for Gerrit.
+
+As Gerrit is a pure-GWT application with no server side rendering
+fallbacks, the browser must support modern JavaScript semantics in order
+to access the Gerrit web application. Dumb clients such as `lynx`,
+`wget`, `curl`, or even many search engine spiders are not able to
+access Gerrit content.
+
+As Google Web Toolkit (GWT) is used to generate the browser specific
+versions of the client-side JavaScript code, Gerrit works on any
+JavaScript enabled browser which GWT can produce code for. This covers
+the majority of the popular browsers.
+
+The Gerrit project does not have the development resources necessary to
+support two parallel UI implementations (GWT based JavaScript and
+server-side rendering). Consequently only one is implemented.
+
+There are number of web browsers available with full JavaScript support,
+and nearly every operating system (including any PDA-like mobile phone)
+comes with one standard. Users who are committed to developing changes
+for a Gerrit managed project can be expected to be able to run a
+JavaScript enabled browser, as they also would need to be running Git in
+order to contribute.
+
+There are a number of open source browsers available, including Firefox
+and Chromium. Users have some degree of choice in their browser
+selection, including being able to build and audit their browser from
+source.
+
+The majority of the content stored within Gerrit is also available
+through other means, such as gitweb or the `git://` protocol. Any
+existing search engine spider can crawl the server-side HTML produced by
+gitweb, and thus can index the majority of the changes which might
+appear in Gerrit. Some engines may even choose to crawl the native
+version control database, such as ohloh.net does. Therefore the lack of
+support for most search engine spiders is a non-issue for most Gerrit
+deployments.
+
+## Product Integration
+
+Gerrit integrates with an existing gitweb installation by optionally
+creating hyperlinks to reference changes on the gitweb server.
+
+Gerrit integrates with an existing git-daemon installation by optionally
+displaying `git://` URLs for users to download a change through the
+native Git protocol.
+
+Gerrit integrates with any OpenID provider for user authentication,
+making it easier for users to join a Gerrit site and manage their
+authentication credentials to it. To make use of Google Accounts as an
+OpenID provider easier, Gerrit has a shorthand "Sign in with a Google
+Account" link on its sign-in screen. Gerrit also supports a shorthand
+sign in link for Yahoo\!. Other providers may also be supported more
+directly in the future.
+
+Site administrators may limit the range of OpenID providers to a subset
+of "reliable providers". Users may continue to use any OpenID provider
+to publish comments, but granted privileges are only available to a user
+if the only entry point to their account is through the defined set of
+"reliable OpenID providers". This permits site administrators to require
+HTTPS for OpenID, and to use only large main-stream providers that are
+trustworthy, or to require users to only use a custom OpenID provider
+installed alongside Gerrit Code Review.
+
+Gerrit integrates with some types of corporate single-sign-on (SSO)
+solutions, typically by having the SSO authentication be performed in a
+reverse proxy web server and then blindly trusting that all incoming
+connections have been authenticated by that reverse proxy. When
+configured to use this form of authentication, Gerrit does not integrate
+with OpenID providers.
+
+When installing Gerrit, administrators may optionally include an HTML
+header or footer snippet which may include user tracking code, such as
+that used by Google Analytics. This is a per-instance configuration that
+must be done by hand, and is not supported out of the box. Other site
+trackers instead of Google Analytics can be used, as the administrator
+can supply any HTML/JavaScript they choose.
+
+Gerrit does not integrate with any Google service, or any other services
+other than those listed above.
+
+## Standards / Developer APIs
+
+Gerrit uses an XSRF protected variant of JSON-RPC 1.1 to communicate
+between the browser client and the server.
+
+As the protocol is not the GWT-RPC protocol, but is instead a
+self-describing standard JSON format it is easily implemented by any 3rd
+party client application, provided the client has a JSON parser and HTTP
+client library available.
+
+As the entire command set necessary for the standard web browser based
+UI is exposed through JSON-RPC over HTTP, there are no other data feeds
+or command interfaces to the server.
+
+Commands requiring user authentication may require the user agent to
+complete a sign-in cycle through the user’s OpenID provider in order to
+establish the HTTP cookie Gerrit uses to track user identity. Automating
+this sign-in process for non-web browser agents is outside of the scope
+of Gerrit, as each OpenID provider uses its own sign-in sequence. Use of
+OpenID providers which have difficult to automate interfaces may make it
+impossible for non-browser agents to be used with the JSON-RPC
+interface.
+
+  - [JSON-RPC 1.1](http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html)
+
+  - [XSRF
+    JSON-RPC](http://code.google.com/p/gerrit/source/browse/README?repo=gwtjsonrpc&name=master)
+
+## Privacy Considerations
+
+Gerrit stores the following information per user account:
+
+  - Full Name
+
+  - Preferred Email Address
+
+  - Mailing Address *(Optional, Encrypted)*
+
+  - Country *(Optional, Encrypted)*
+
+  - Phone Number *(Optional, Encrypted)*
+
+  - Fax Number *(Optional, Encrypted)*
+
+The full name and preferred email address fields are shown to any site
+visitor viewing a page containing a change uploaded by the account
+owner, or containing a published comment written by the account owner.
+
+Showing the full name and preferred email is approximately the same risk
+as the `From` header of an email posted to a public mailing list that
+maintains archives, and Gerrit treats these fields in much the same way
+that a mailing list archive might handle them. Users who don’t want to
+expose this information should either not participate in a Gerrit based
+online community, or open a new email address dedicated for this use.
+
+As the Gerrit UI data is only available through XSRF protected JSON-RPC
+calls, "screen-scraping" for email addresses is difficult, but not
+impossible. It is unlikely a spammer will go through the effort required
+to code a custom scraping application necessary to cull email addresses
+from published Gerrit comments. In most cases these same addresses would
+be more easily obtained from the project’s mailing list archives.
+
+The user’s name and email address is stored unencrypted in the Gerrit
+metadata store, typically a PostgreSQL database.
+
+The snail-mail mailing address, country, and phone and fax numbers are
+gathered to help project leads contact the user should there be a legal
+question regarding any change they have uploaded.
+
+These sensitive fields are immediately encrypted upon receipt with a
+GnuPG public key, and stored "off site" in another data store, isolated
+from the main Gerrit change data. Gerrit does not have access to the
+matching private key, and as such cannot decrypt the information.
+Therefore these fields are write-once in Gerrit, as not even the account
+owner can recover the values they previously stored.
+
+It is expected that the address information would only need to be
+decrypted and revealed with a valid court subpoena, but this is really
+left to the discretion of the Gerrit site administrator as to when it is
+reasonable to reveal this information to a 3rd party.
+
+## Spam and Abuse Considerations
+
+Gerrit makes no attempt to detect spam changes or comments. The somewhat
+high barrier to entry makes it unlikely that a spammer will target
+Gerrit.
+
+To upload a change, the client must speak the native Git protocol
+embedded in SSH, with some custom Gerrit semantics added on top. The
+client must have their public key already stored in the Gerrit database,
+which can only be done through the XSRF protected JSON-RPC interface.
+The level of effort required to construct the necessary tools to upload
+a well-formatted change that isn’t rejected outright by the Git and
+Gerrit checksum validations is too high to for a spammer to get any
+meaningful return.
+
+To post and publish a comment a client must sign in with an OpenID
+provider and then use the XSRF protected JSON-RPC interface to publish
+the draft on an existing change record. Again, the level of effort
+required to implement the Gerrit specific XSRF protections and the
+JSON-RPC payload format necessary to post a draft and then publish that
+draft is simply too high for a spammer to bother with.
+
+Both of these assumptions are also based upon the idea that Gerrit will
+be a lot less popular than blog software, and thus will be running on a
+lot fewer websites. Spammers therefore have very little returned benefit
+for getting over the protocol hurdles.
+
+These assumptions may need to be revisited in the future if any public
+Gerrit site actually notices spam.
+
+## Latency
+
+Gerrit targets for sub-250 ms per page request, mostly by using very
+compact JSON payloads between client and server. However, as most of the
+serving stack (network, hardware, metadata database) is out of control
+of the Gerrit developers, no real guarantees can be made about latency.
+
+## Scalability
+
+Gerrit is designed for a very large scale open source project, or large
+commercial development project. Roughly this amounts to parameters such
+as the following:
+
+<table>
+<caption>Design Parameters</caption>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Parameter</th>
+<th>Default Maximum</th>
+<th>Estimated Maximum</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Projects</p></td>
+<td><p>1,000</p></td>
+<td><p>10,000</p></td>
+</tr>
+<tr class="even">
+<td><p>Contributors</p></td>
+<td><p>1,000</p></td>
+<td><p>50,000</p></td>
+</tr>
+<tr class="odd">
+<td><p>Changes/Day</p></td>
+<td><p>100</p></td>
+<td><p>2,000</p></td>
+</tr>
+<tr class="even">
+<td><p>Revisions/Change</p></td>
+<td><p>20</p></td>
+<td><p>20</p></td>
+</tr>
+<tr class="odd">
+<td><p>Files/Change</p></td>
+<td><p>50</p></td>
+<td><p>16,000</p></td>
+</tr>
+<tr class="even">
+<td><p>Comments/File</p></td>
+<td><p>100</p></td>
+<td><p>100</p></td>
+</tr>
+<tr class="odd">
+<td><p>Reviewers/Change</p></td>
+<td><p>8</p></td>
+<td><p>8</p></td>
+</tr>
+</tbody>
+</table>
+
+Out of the box, Gerrit will handle the "Default Maximum". Site
+administrators may reconfigure their servers by editing gerrit.config to
+run closer to the estimated maximum if sufficient memory is made
+available to the JVM and the relevant cache.\*.memoryLimit variables are
+increased from their defaults.
+
+### Discussion
+
+Very few, if any open source projects have more than a handful of Git
+repositories associated with them. Since Gerrit treats each Git
+repository as a project, an upper limit of 10,000 projects is
+reasonable. If a site has more than 1,000 projects, administrators
+should increase
+[`cache.projects.memoryLimit`](config-gerrit.html#cache.name.memoryLimit)
+to match.
+
+Almost no open source project has 1,000 contributors over all time, let
+alone on a daily basis. This default figure of 1,000 was WAG’d by
+looking at PR statements published by cell phone companies picking up
+the Android operating system. If all of the stated employees in those PR
+statements were working on **only** the open source Android
+repositories, we might reach the 1,000 estimate listed here. Knowing
+these companies as being very closed-source minded in the past, it is
+very unlikely all of their Android engineers will be working on the open
+source repository, and thus 1,000 is a very high estimate.
+
+The upper maximum of 50,000 contributors is based on existing
+installations that are already handling quite a bit more than the
+default maximum of 1,000 contributors. Given how the user data is stored
+and indexed, supporting 50,000 contributor accounts (or more) is easily
+possible for a server. If a server has more than 1,000 **active**
+contributors,
+[`cache.accounts.memoryLimit`](config-gerrit.html#cache.name.memoryLimit)
+should be increased by the site administrator, if sufficient RAM is
+available to the host JVM.
+
+The estimate of 100 changes per day was WAG’d off some estimates
+originally obtained from Android’s development history. Writing a good
+change that will be accepted through a peer-review process takes time.
+The average engineer may need 4-6 hours per change just to write the
+code and unit tests. Proper design consideration and additional but
+equally important tasks such as meetings, interviews, training, and
+eating lunch will often pad the engineer’s day out such that suitable
+changes are only posted once a day, or once every other day. For
+reference, the entire Linux kernel has an average of only 79
+changes/day. If more than 100 changes are active per day, site
+administrators should consider increasing the
+[`cache.diff.memoryLimit`](config-gerrit.html#cache.name.memoryLimit)
+and `cache.diff_intraline.memoryLimit`.
+
+On average any given change will need to be modified once to address
+peer review comments before the final revision can be accepted by the
+project. Executing these revisions also eats into the contributor’s
+time, and is another factor limiting the number of changes/day accepted
+by the Gerrit instance. However, even though this implies only 2
+revisions/change, many existing Gerrit installations have seen 20 or
+more revisions/change, when new contributors are learning the project’s
+style and conventions.
+
+On average, each change will have 2 reviewers, a human and an automated
+test bed system. Usually this would be the project lead, or someone who
+is familiar with the code being modified. The time required to comment
+further reduces the time available for writing one’s own changes.
+However, existing Gerrit installations have seen 8 or more reviewers
+frequently show up on changes that impact many functional areas, and
+therefore it is reasonable to expect 8 or more reviewers to be able to
+work together on a single change.
+
+Existing installations have successfully processed change reviews with
+more than 16,000 files per change. However, since 16,000 modified/new
+files is a massive amount of code to review, it is more typical to see
+less than 10 files modified in any single change. Changes larger than 10
+files are typically merges, for example integrating the latest version
+of an upstream library, where the reviewer has little to do beyond
+verifying the project compiles and passes a test suite.
+
+### CPU Usage - Web UI
+
+Gerrit’s web UI would require on average `4+F+F*C` HTTP requests to
+review a change and post comments. Here `F` is the number of files
+modified by the change, and `C` is the number of inline/file comments
+left by the reviewer per file. The constant 4 accounts for the request
+to load the reviewer’s dashboard, to load the change detail page, to
+publish the review comments, and to reload the change detail page after
+comments are published.
+
+This WAG’d estimate boils down to 216,000 HTTP requests per day (QPD).
+Assuming these are evenly distributed over an 8 hour work day in a
+single time zone, we are looking at approximately 7.5 queries per second
+(QPS).
+
+``` 
+  QPD = Changes_Day * Revisions_Change * Reviewers_Change * (4 +  F +  F * C)
+      = 2,000       * 2                * 1                * (4 + 10 + 10 * 4)
+      = 216,000
+  QPS = QPD / 8_Hours / 60_Minutes / 60_Seconds
+      = 7.5
+```
+
+Gerrit serves most requests in under 60 ms when using the loopback
+interface and a single processor. On a single CPU system there is
+sufficient capacity for 16 QPS. A dual processor system should be more
+than sufficient for a site with the estimated load described above.
+
+Given a more realistic estimate of 79 changes per day (from the Linux
+kernel) suggests only 8,532 queries per day, and a much lower 0.29 QPS
+when spread out over an 8 hour work day.
+
+### CPU Usage - Git over SSH/HTTP
+
+A 24 core server is able to handle ~25 concurrent `git fetch` operations
+per second. The issue here is each concurrent operation demands one full
+core, as the computation is almost entirely server side CPU bound. 25
+concurrent operations is known to be sufficient to support hundreds of
+active developers and 50 automated build servers polling for updates and
+building every change. (This data was derived from an actual
+installation’s performance.)
+
+Because of the distributed nature of Git, end-users don’t need to
+contact the central Gerrit Code Review server very often. For `git
+fetch` traffic, [slave mode](pgm-daemon.html) is known to be an
+effective way to offload traffic from the main server, permitting it to
+scale to a large user base without needing an excessive number of cores
+in a single system.
+
+Clients on very slow network connections (for example home office users
+on VPN over home DSL) may be network bound rather than server side CPU
+bound, in which case a core may be effectively shared with another user.
+Possible core sharing due to network bottlenecks generally holds true
+for network connections running below 10 MiB/sec.
+
+If the server’s own network interface is 1 Gib/sec (Gigabit Ethernet),
+the system can really only serve about 10 concurrent clients at the 10
+MiB/sec speed, no matter how many cores it has.
+
+### Disk Usage
+
+The average size of a revision in the Linux kernel once compressed by
+Git is 2,327 bytes, or roughly 2 KiB. Over the course of a year a Gerrit
+server running with the estimated maximum parameters above might see an
+introduction of 1.4 GiB over the total set of 10,000 projects hosted in
+that server. This figure assumes the majority of the content is human
+written source code, and not large binary blobs such as disk images or
+media files.
+
+Production Gerrit installations have been tested, and are known to
+handle Git repositories in the multigigabyte range, storing binary
+files, ranging in size from a few kilobytes (for example compressed
+icons) to 800+ megabytes (firmware images, large uncompressed original
+artwork files). Best practices encourage breaking very large binary
+files into their Git repositories based on access, to prevent desktop
+clients from needing to clone unnecessary materials (for example a C
+developer does not need every 800+ megabyte firmware image created by
+the product’s quality assurance team).
+
+## Redundancy & Reliability
+
+Gerrit largely assumes that the local filesystem where Git repository
+data is stored is always available. Important data written to disk is
+also forced to the platter with an `fsync()` once it has been fully
+written. If the local filesystem fails to respond to reads or becomes
+corrupt, Gerrit has no provisions to fallback or retry and errors will
+be returned to clients.
+
+Gerrit largely assumes that the metadata database is online and
+answering both read and write queries. Query failures immediately result
+in the operation aborting and errors being returned to the client, with
+no retry or fallback provisions.
+
+Due to the relatively small scale described above, it is very likely
+that the Git filesystem and metadata database are all housed on the same
+server that is running Gerrit. If any failure arises in one of these
+components, it is likely to manifest in the others too. It is also
+likely that the administrator cannot be bothered to deploy a cluster of
+load-balanced server hardware, as the scale and expected load does not
+justify the hardware or management costs.
+
+Most deployments caring about reliability will setup a warm-spare
+standby system and use a manual fail-over process to switch from the
+failed system to the warm-spare.
+
+As Git is a distributed version control system, and open source projects
+tend to have contributors from all over the world, most contributors
+will be able to tolerate a Gerrit down time of several hours while the
+administrator is notified, signs on, and brings the warm-spare up.
+Pending changes are likely to need at least 24 hours of time on the
+Gerrit site anyway in order to ensure any interested parties around the
+world have had a chance to comment. This expected lag largely allows for
+some downtime in a disaster scenario.
+
+### Backups
+
+PostgreSQL and MySQL can be configured to replicate their data to other
+systems, where they are applied to a warm-standby backup in real time.
+Gerrit instances which care about redundancy will setup this feature of
+PostgreSQL or MySQL to ensure the warm-standby is reasonably current
+should the master go offline.
+
+Using the standard replication plugin, Gerrit can be configured to
+replicate changes made to the local Git repositories over any standard
+Git transports. After the plugin is installed, remote destinations can
+be configured in `'$site_path'/etc/replication.conf` to send copies of
+all changes over SSH to other servers, or to the Amazon S3 blob storage
+service.
+
+## Logging Plan
+
+Gerrit does not maintain logs on its own.
+
+Published comments contain a publication date, so users can judge when
+the comment was posted and decide if it was "recent" or not. Only the
+timestamp is stored in the database, the IP address of the comment
+author is not stored.
+
+Changes uploaded over the SSH daemon from `git push` have the standard
+Git reflog updated with the date and time that the upload occurred, and
+the Gerrit account identity of who did the upload. Changes submitted and
+merged into a branch also update the Git reflog. These logs are
+available only to the Gerrit site administrator, and they are not
+replicated through the automatic replication noted earlier. These logs
+are primarily recorded for an "oh s\*\*t" moment where the administrator
+has to rewind data. In most installations they are a waste of disk
+space. Future versions of JGit may allow disabling these logs, and
+Gerrit may take advantage of that feature to stop writing these logs.
+
+A web server positioned in front of Gerrit (such as a reverse proxy) or
+the hosting servlet container may record access logs, and these logs may
+be mined for usage information. This is outside of the scope of Gerrit.
+
+## Testing Plan
+
+Gerrit is currently manually tested through its web UI.
+
+JGit has a fairly extensive automated unit test suite. Most new changes
+to JGit are rejected unless corresponding automated unit tests are
+included.
+
+## Caveats
+
+Rietveld can’t be used as it does not provide the "submit over the web"
+feature that Gerrit provides for Git.
+
+Gitosis can’t be used as it does not provide any code review features,
+but it does provide basic access controls.
+
+Email based code review does not scale to a project as large and complex
+as Android. Most contributors at least need some sort of dashboard to
+keep track of any pending reviews, and some way to correlate updated
+revisions back to the comments written on prior revisions of the same
+logical change.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-eclipse.md b/jekyll-source/pages/gerrit/dev-eclipse.md
new file mode 100644
index 0000000..1c46401
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-eclipse.md
@@ -0,0 +1,168 @@
+---
+title: " Gerrit Code Review - Eclipse Setup"
+sidebar: gerritdoc_sidebar
+permalink: dev-eclipse.html
+---
+This document is about configuring Gerrit Code Review into an Eclipse
+workspace for development and debugging with GWT.
+
+Java 6 or later SDK is also required to run GWT’s compiler and runtime
+debugging environment.
+
+## Project Setup
+
+In your Eclipse installation’s
+[`eclipse.ini`](https://wiki.eclipse.org/Eclipse.ini) file, add the
+following line in the `vmargs` section:
+
+``` 
+  -DmaxCompiledUnitsAtOnce=10000
+```
+
+Without this setting, annotation processing does not work reliably and
+the build is likely to fail with errors
+like:
+
+``` 
+  Could not write generated class ... javax.annotation.processing.FilerException: Source file already created
+```
+
+and
+
+``` 
+  AutoAnnotation_Commands_named cannot be resolved to a type
+```
+
+First, generate the Eclipse project by running the
+`tools/eclipse/project.py` script. Then, in Eclipse, choose *Import
+existing project* and select the `gerrit` project from the current
+working directory.
+
+Expand the `gerrit` project, right-click on the `eclipse-out` folder,
+select *Properties*, and then under *Attributes* check *Derived*.
+
+Note that if you make any changes in the project configuration that get
+saved to the `.project` file, for example adding Resource Filters on a
+folder, they will be overwritten the next time you run
+`tools/eclipse/project.py`.
+
+## Code Formatter Settings
+
+To format source code, Gerrit uses the
+[`google-java-format`](https://github.com/google/google-java-format)
+tool (version 1.3), which automatically formats code to follow the style
+guide. See [Code Style](dev-contributing.html#style) for the instruction
+how to set up command line tool that uses this formatter. The Eclipse
+plugin is provided that allows to format with the same formatter from
+within the Eclipse IDE. See [Eclipse
+plugin](https://github.com/google/google-java-format#eclipse) for
+details how to install it. It’s important to use the same plugin version
+as the `google-java-format` script.
+
+## Site Initialization
+
+Build once on the command line with [Bazel](dev-bazel.html#build) and
+then follow [Site Initialization](dev-readme.html#init) in the Developer
+Setup guide to configure a local site for testing.
+
+## Testing
+
+### Running the Daemon
+
+Duplicate the existing launch configuration:
+
+  - In Eclipse select Run → Debug Configurations …
+
+  - Java Application → `gerrit_daemon`
+
+  - Right click, Duplicate
+
+  - Modify the name to be unique.
+
+  - Switch to Arguments tab.
+
+  - Edit the `-d` program argument flag to match the path used during
+    *init*. The template launch configuration resolves to
+    `../gerrit_testsite` since that is what the documentation
+    recommends.
+
+  - Switch to Common tab.
+
+  - Change Save as to be Local file.
+
+  - Close the Debug Configurations dialog and save the changes when
+    prompted.
+
+### Running GWT Debug Mode
+
+The `gerrit_gwt_debug` launch configuration uses GWT’s [Super Dev
+Mode](http://www.gwtproject.org/articles/superdevmode.html).
+
+  - Make a local copy of the `gerrit_gwt_debug` configuration, using the
+    process described for `gerrit_daemon` above.
+
+  - Launch the local copy of `gerrit_gwt_debug` from the Eclipse debug
+    menu.
+
+  - If debugging GWT for the first time:
+    
+      - Open the [codeserver URL](http://localhost:9876/) and add the
+        `Dev Mode On` and `Dev Mode Off` bookmarklet to your bookmark
+        bar.
+    
+      - Activate the source maps feature in your browser. Refer to the
+        [Chrome](https://developer.chrome.com/devtools/docs/javascript-debugging#source-maps)
+        and
+        [Firefox](https://developer.mozilla.org/en-US/docs/Tools/Debugger#Use_a_source_map)
+        developer documentation.
+
+  - Load the [Gerrit page](http://localhost:8080).
+
+  - Open the source tab in developer tools.
+
+  - Click the `Dev Mode On` bookmark to incrementally recompile changed
+    files.
+
+  - Select the `gerrit_ui` module to compile (the `Compile` button can
+    also be used as a bookmarklet).
+
+  - In the developer tools source tab, open a file and set a breakpoint.
+
+  - Navigate to the UI and confirm that the breakpoint is hit.
+
+  - To end the debugging session, click the `Dev Mode Off` bookmark.
+
+<!-- end list -->
+
+  - Hitting `F5` in the browser only reloads the last compile output,
+    without recompiling.
+
+  - To reflect your changes in the debug session, click `Dev Mode On`
+    then `Compile`.
+
+### Running GWT Debug Mode for Gerrit plugins
+
+A Gerrit plugin can expose GWT module and its implementation can be
+inspected in the SDM debug session.
+
+`codeserver` needs two additional inputs to expose the plugin module in
+the SDM debug session: the module name and the source folder location.
+For example the module name and source folder of `cookbook-plugin`
+should be added in the local copy of the `gerrit_gwt_debug`
+configuration:
+
+``` 
+  com.googlesource.gerrit.plugins.cookbook.HelloForm \
+  -src ${resource_loc:/gerrit}/plugins/cookbook-plugin/src/main/java \
+  -- --console-log [...]
+```
+
+After doing that, both the Gerrit core and plugin GWT modules can be
+activated during SDM (debug session)\[<http://imgur.com/HFXZ5No>\].
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-inspector.md b/jekyll-source/pages/gerrit/dev-inspector.md
new file mode 100644
index 0000000..8da3e9e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-inspector.md
@@ -0,0 +1,291 @@
+---
+title: " Gerrit Inspector"
+sidebar: gerritdoc_sidebar
+permalink: dev-inspector.html
+---
+## NAME
+
+Gerrit Inspector - Interactive Jython environment for Gerrit
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war daemon
+>       -d <SITE_PATH>
+>       [--enable-httpd | --disable-httpd]
+>       [--enable-sshd | --disable-sshd]
+>       [--console-log]
+>       [--slave]
+>       -s
+
+## DESCRIPTION
+
+Runs the Gerrit network daemon on the local system as described in the
+[Daemon documentation](pgm-daemon.html), additionally starting an
+interactive Jython shell for inspection and troubleshooting of live data
+of the Gerrit instance.
+
+> **Caution**
+> 
+> Gerrit Inspector works directly on instances of Java Virtual Machine
+> objects and it is possible to read and write instance members as well
+> as invoke Java functions. Access is granted also to *private* and
+> *protected* members. Therefore it is possible to introduce changes to
+> the internal state of the system in an inconsistent way. Care must be
+> taken not to break the running system and/or destroy the data.
+
+## INSTALLATION
+
+Gerrit Inspector requires Jython library (*jython.jar*) to be installed
+in the *$site\_path/lib* directory. Jython, a Python interpreter for the
+Java Virtual Machine, can be obtained from the <http://www.jython.org/>
+website. Only *jython.jar* file is needed, installation of Jython
+libraries is optional. Gerrit Inspector has been tested with Jython
+2.5.2 but might work an earlier version.
+
+## STARTUP
+
+During startup Jython examines Java libraries found on the classpath.
+While libraries are inspected a large amount of messages is displayed on
+the
+    console:
+
+    *sys-package-mgr*: processing new jar, '/home/user/.gerritcodereview/tmp/gerrit_4890671371398741854_app/sshd-core-0.5.1-r1095809.jar'
+
+After this a system-wide embedded initialization script is started. This
+script is contained in the gerrit’s WAR archive. This script produces
+output similar to the following on the console:
+
+    "Shell" is "com.google.gerrit.pgm.shell.JythonShell@61644f2d"
+    "m" is "com.google.gerrit.lifecycle.LifecycleManager@6f03b248"
+    "ds" is "com.google.gerrit.server.schema.DataSourceProvider@6b3592c"
+    "schk" is "com.google.gerrit.server.schema.SchemaVersionCheck@5e8cb9bd"
+    
+    Welcome to the Gerrit Inspector
+    Enter help() to see the above again, EOF to quit and stop Gerrit
+
+Then an optional user startup script is processed. It should be located
+in the gerrit user home directory as *.gerritcodereview/Startup.py*.
+
+This script can access all variables defined in the system (such as the
+ones displayed by the initialization script as shown above). Variables
+and functions defined by the startup scripts are available for the
+interactive interpreter.
+
+When interactive interpreter exits (by issuing EOF on the command line),
+a whole Gerrit instance is shut down gracefully.
+
+## USING THE INTERPRETER
+
+Gerrit Inspector launches Jython interpreter in the context of the
+Gerrit Java Virtual Machine. All core facilities of the Jython (and
+Python) language are available to the user.
+
+Additional facilities can be provided, for example a *Lib* directory
+from the Jython distribution can be installed under
+*$site\_path/lib/Lib* to provide access to many standard Python modules.
+Jython can also use additional Java classes and libraries and most of
+the Python modules and scripts.
+
+The Inspector has by default access to classes and object instances
+available in the Java Virtual Machine. Objects are introspected and
+**private** and **protected** members are also available.
+
+For more information on using Jython, especially with regards to its
+limitations in interfacing to the Java Virtual Machine, please refer to
+the [Jython documentation](http://www.jython.org/).
+
+After successful initialization it is possible to examine components of
+Java packages, classes and live instances.
+
+    >>> import com.google.inject
+    >>> dir(com.google.inject)
+    ['AbstractModule', 'Binder', 'Binding', 'BindingAnnotation', 'ConfigurationException', 'CreationException', 'Exposed', 'Guice', 'ImplementedBy', 'Inject', 'Injector', 'Key', 'MembersInjector', 'Module', 'OutOfScopeException', 'PrivateBinder', 'PrivateModule', 'ProvidedBy', 'Provider', 'Provides', 'ProvisionException', 'Scope', 'ScopeAnnotation', 'Scopes', 'Singleton', 'Stage', 'TypeLiteral', '__name__', 'assistedinject', 'binder', 'internal', 'matcher', 'name', 'servlet', 'spi', 'util']
+    >>> type(com.google.inject)
+    <type 'javapackage'>
+    >>> dir(com.google.inject.Guice)
+    ['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__',
+    '__eq__', '__getattribute__', '__hash__', '__init__', '__ne__',
+    '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
+    '__str__', '__unicode__', 'class', 'clone', 'createInjector',
+    'equals', 'finalize', 'getClass', 'hashCode', 'notify', 'notifyAll',
+    'registerNatives', 'toString', 'wait']
+
+Startup script provides some convenient variables to access some global
+Gerrit components, for example a connection to the review database is
+kept open:
+
+    >>> ds
+    org.apache.commons.dbcp.BasicDataSource@61db2215
+    >>> ds.driverClassName
+    u'org.postgresql.Driver'
+    >>> ds.dataSource
+    org.apache.commons.dbcp.PoolingDataSource@23226fe1
+    >>> ds.dataSource.connection
+    jdbc:postgresql://localhost/reviewdb, UserName=rv, PostgreSQL Native Driver
+
+It is also possible to interact with the ORM layer:
+
+    >>> db = schk.schema.open()
+    >>> db
+    com.google.gerrit.reviewdb.server.ReviewDb_Schema_GwtOrm$$28@24cbbdf3
+    >>> db.getDialect()
+    com.google.gwtorm.schema.sql.DialectPostgreSQL@4de07d3e
+    >>> for x in db.patchSets().iterateAllEntities():
+    ...     print x
+    ...
+    [PatchSet 1,1]
+    [PatchSet 2,1]
+    [PatchSet 3,1]
+    [PatchSet 4,1]
+    [PatchSet 5,1]
+    [PatchSet 6,1]
+    [PatchSet 7,1]
+    [PatchSet 8,1]
+    [PatchSet 6,2]
+    >>> for x in db.patchComments().iterateAllEntities():
+    ...     print x
+    com.google.gerrit.reviewdb.client.PatchLineComment@5381298a
+    com.google.gerrit.reviewdb.client.PatchLineComment@44ce4dda
+    com.google.gerrit.reviewdb.client.PatchLineComment@44594680
+    >>> dir(com.google.gerrit.reviewdb.client.PatchLineComment)
+    ['Key', 'STATUS_DRAFT', 'STATUS_PUBLISHED', 'Status', '__class__',
+    '__copy__', '__deepcopy__', '__delattr__', '__doc__', '__eq__',
+    '__getattribute__', '__hash__', '__init__', '__ne__', '__new__',
+    '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__',
+    '__unicode__', 'author', 'class', 'clone', 'equals', 'finalize',
+    'getAuthor', 'getClass', 'getKey', 'getLine', 'getMessage',
+    'getParentUuid', 'getSide', 'getStatus', 'getWrittenOn', 'hashCode',
+    'key', 'line', 'lineNbr', 'message', 'notify', 'notifyAll',
+    'parentUuid', 'registerNatives', 'setMessage', 'setSide', 'setStatus',
+    'side', 'status', 'toString', 'updated', 'wait', 'writtenOn']
+    >>> for x in db.patchComments().iterateAllEntities():
+    ...     print x.status, x.line, x.message
+    ...
+    P 2 I like it!
+    P 2 more
+    P 1 better
+
+A built-in **help()** function provides values of global variables
+defined in the interpreter:
+
+    >>> help()
+    "schk" is "com.google.gerrit.server.schema.SchemaVersionCheck@5e8cb9bd"
+    "ds" is "com.google.gerrit.server.schema.DataSourceProvider@6b3592c"
+    "m" is "com.google.gerrit.lifecycle.LifecycleManager@6f03b248"
+    "Shell" is "com.google.gerrit.pgm.shell.JythonShell@61644f2d"
+    "d" is "com.google.gerrit.pgm.Daemon@28a3f689"
+    
+    Welcome to the Gerrit Inspector
+    Enter help() to see the above again, EOF to quit and stop Gerrit
+
+Java and Python exceptions are intercepted by the Inspector:
+
+    >>> import java.lang.RuntimeException
+    >>> raise java.lang.RuntimeException("Exiting")
+    Traceback (most recent call last):
+      File "<stdin>", line 1, in <module>
+            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
+            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
+            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+            at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
+            at org.python.core.PyReflectedConstructor.constructProxy(PyReflectedConstructor.java:210)
+    
+    java.lang.RuntimeException: java.lang.RuntimeException: Exiting
+    >>>
+
+To exit the interpreter, use EOF character (Ctrl-D on Unix systems,
+Ctrl-Z on Windows).
+
+It is also possible to shut down the JVM by using **System.exit()**
+
+    >>> import java.lang.System
+    >>> java.lang.System.exit(1)
+
+And Gerrit should shut down all its subsystems and
+    exit:
+
+    [2012-04-17 15:31:08,458] INFO  com.google.gerrit.pgm.Daemon : caught shutdown, cleaning up
+
+## TROUBLESHOOTING
+
+Gerrit Inspector is logging to the Gerrit error log.
+
+A successful startup is indicated in the
+logfile:
+
+``` 
+  [2012-04-17 13:43:44,888] INFO  com.google.gerrit.pgm.shell.JythonShell : Jython shell instance created.
+```
+
+If *jython.jar* library is not available, Gerrit refuses to start when
+given **-s**
+    option:
+
+    [2012-04-17 13:57:29,611] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
+    com.google.inject.ProvisionException: Guice provision errors:
+    
+    1) Error injecting constructor, java.lang.UnsupportedOperationException: Cannot create Jython shell: Class org.python.util.InteractiveConsole not found
+         (You might need to install jython.jar in the lib directory)
+      at com.google.gerrit.pgm.shell.JythonShell.<init>(JythonShell.java:47)
+      while locating com.google.gerrit.pgm.shell.JythonShell
+      while locating com.google.gerrit.pgm.shell.InteractiveShell
+
+Errors during processing of the startup script, *Startup.py*, are logged
+to the error
+    log:
+
+    [2012-04-17 14:20:30,558] INFO  com.google.gerrit.pgm.shell.JythonShell : Jython shell instance created.
+    [2012-04-17 14:20:38,005] ERROR com.google.gerrit.pgm.shell.JythonShell : Exception occurred while loading file Startup.py :
+    java.lang.reflect.InvocationTargetException
+            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+            at java.lang.reflect.Method.invoke(Method.java:616)
+            at com.google.gerrit.pgm.shell.JythonShell.runMethod0(JythonShell.java:112)
+            at com.google.gerrit.pgm.shell.JythonShell.execFile(JythonShell.java:194)
+            at com.google.gerrit.pgm.shell.JythonShell.reload(JythonShell.java:178)
+            at com.google.gerrit.pgm.shell.JythonShell.run(JythonShell.java:152)
+            at com.google.gerrit.pgm.Daemon.run(Daemon.java:190)
+            at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:67)
+            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
+            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+            at java.lang.reflect.Method.invoke(Method.java:616)
+            at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:167)
+            at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:91)
+            at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:49)
+            at Main.main(Main.java:25)
+    Caused by: Traceback (most recent call last):
+      File "/home/user/.gerritcodereview/Startup.py", line 1, in <module>
+        Test
+    NameError: name 'Test' is not defined
+
+Those errors are non-fatal. System and user scripts can be loaded again
+by issuing the following command in the Gerrit Inspector console:
+
+    Shell.reload()
+
+## LOGGING
+
+Error and warning messages from the server are automatically written to
+the log file under *$site\_path/logs/error\_log*.
+
+Output and error messages (including Java and Python exceptions)
+resulting from interactive work are logged to the console.
+
+## KNOWN ISSUES
+
+The Inspector does not yet recognize Google Guice bindings.
+
+> **Important**
+> 
+> Using the Inspector may void your warranty.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-intellij.md b/jekyll-source/pages/gerrit/dev-intellij.md
new file mode 100644
index 0000000..d5549d0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-intellij.md
@@ -0,0 +1,267 @@
+---
+title: " Gerrit Code Review - IntelliJ Setup"
+sidebar: gerritdoc_sidebar
+permalink: dev-intellij.html
+---
+## Prerequisites
+
+You need an installation of IntelliJ of version 2016.2.
+
+In addition, Java 8 must be specified on your path or via `JAVA_HOME` so
+that building with Bazel via the Bazel plugin is possible.
+
+> **Tip**
+> 
+> If the synchronization of the project with the BUILD files using the
+> Bazel plugin fails and IntelliJ reports the error **Could not get
+> Bazel roots**, this indicates that the Bazel plugin couldn’t find Java
+> 8.
+
+Bazel must be installed as described by [Building with Bazel -
+Installation](#dev-bazel#installation).
+
+## Installation of the Bazel plugin
+
+1.  Go to **File → Settings → Plugins**.
+
+2.  Click on **Browse Repositories**.
+
+3.  Search for the plugin `IntelliJ with Bazel`.
+
+4.  Install it.
+
+5.  Restart IntelliJ.
+
+## Creation of IntelliJ project
+
+1.  Go to **File → Import Bazel Project**.
+
+2.  For **Use existing bazel workspace → Workspace**, select the
+    directory containing the Gerrit source code.
+
+3.  Choose **Import from workspace** and select the `.bazelproject` file
+    which is located in the top directory of the Gerrit source code.
+
+4.  Adjust the path of the project data directory and the name of the
+    project if desired.
+
+> **Tip**
+> 
+> The project data directory can be separate from the source code. One
+> advantage of this is that project files don’t need to be excluded from
+> version control.
+
+Unfortunately, the created project seems to have a broken output path.
+To fix it, please complete the following steps:
+
+1.  Go to **File → Project Structure → Project Settings → Modules**.
+
+2.  Switch to the tab **Paths**.
+
+3.  Click on **Inherit project compile output path**.
+
+4.  Click on **Use module compile output path**.
+
+## Recommended settings
+
+### Code style
+
+#### google-java-format plugin
+
+Install the `google-java-format` plugin by following these steps:
+
+1.  Go to **File → Settings → Plugins**.
+
+2.  Click on **Browse Repositories**.
+
+3.  Search for the plugin `google-java-format`.
+
+4.  Install it.
+
+5.  Restart IntelliJ.
+
+Every time you start IntelliJ, make sure to use **Code → Reformat with
+google-java-format** on an arbitrary line of code. This replaces the
+default CodeStyleManager with a custom one. Thus, uses of **Reformat
+Code** either via **Code → Reformat Code**, keyboard shortcuts, or the
+commit dialog will use the custom style defined by the
+`google-java-format` plugin.
+
+#### Code style settings
+
+The `google-java-format` plugin is the preferred way to format the code.
+As it only kicks in on demand, it’s also recommended to have code style
+settings which help to create properly formatted code as-you-go. Those
+settings can’t completely mimic the format enforced by the
+`google-java-format` plugin but try to be as close as possible. So
+before submitting code, please make sure to run **Reformat Code**.
+
+1.  Download
+    [intellij-java-google-style.xml](https://raw.githubusercontent.com/google/styleguide/gh-pages/intellij-java-google-style.xml).
+
+2.  Go to **File → Settings → Editor → Code Style**.
+
+3.  Click on **Manage**.
+
+4.  Click on **Import**.
+
+5.  Choose `IntelliJ IDEA Code Style XML`.
+
+6.  Select the previously downloaded file
+    `intellij-java-google-style.xml`.
+
+7.  Make sure that `Google Style` is chosen as **Scheme**.
+
+In addition, the EditorConfig settings (which ensure a consistent style
+between Eclipse, IntelliJ, and other editors) should be applied on top
+of that. Those settings are in the file `.editorconfig` of the Gerrit
+source code. IntelliJ will automatically pick up those settings if the
+EditorConfig plugin is enabled and configured correctly as can be
+verified by:
+
+1.  Go to **File → Settings → Plugins**.
+
+2.  Ensure that the EditorConfig plugin is enabled.
+
+3.  Go to **File → Settings → Editor → Code Style**.
+
+4.  Ensure that **Enable EditorConfig support** is checked.
+
+> **Note**
+> 
+> If IntelliJ notifies you later on that the EditorConfig settings
+> override the code style settings, simply confirm that.
+
+### Copyright
+
+Copy the folder `$(gerrit_source_code)/tools/intellij/copyright` (not
+just the contents) to `$(project_data_directory)/.idea`. If it already
+exists, replace it.
+
+### File header
+
+By default, IntelliJ adds a file header containing the name of the
+author and the current date to new files. To disable that, follow these
+steps:
+
+1.  Go to **File → Settings → Editor → File and Code Templates**.
+
+2.  Select the tab **Includes**.
+
+3.  Select **File Header**.
+
+4.  Remove the template code in the right editor.
+
+### Commit message
+
+To simplify the creation of commit messages which are compliant with the
+[Commit Message](#dev-contributing#commit-message) format, do the
+following:
+
+1.  Go to **File → Settings → Version Control**.
+
+2.  Check **Commit message right margin (columns)**.
+
+3.  Make sure that 72 is specified as value.
+
+4.  Check **Wrap when typing reaches right margin**.
+
+In addition, you should follow the instructions of [this
+section](#dev-contributing#git_commit_settings) (if you haven’t done so
+already):
+
+  - Install the Git hook for the `Change-Id` line.
+
+  - Set up the HTTP access.
+
+Setting up the HTTP access will allow you to commit changes via IntelliJ
+without specifying your credentials. The Git hook won’t be noticeable
+during a commit as it’s executed after the commit dialog of IntelliJ was
+closed.
+
+## Run configurations
+
+Run configurations can be accessed on the toolbar. To edit them or add
+new ones, choose **Edit Configurations** on the drop-down list of the
+run configurations or go to **Run → Edit Configurations**.
+
+### Pre-configured run configurations
+
+In order to be able to use the pre-configured run configurations, the
+following steps are necessary:
+
+1.  Make sure that the folder `runConfigurations` exists within
+    `$(project_data_directory)/.idea`. If it doesn’t exist, create it.
+
+2.  Specify the IntelliJ path variable `GERRIT_TESTSITE`. (This
+    configuration is shared among all IntelliJ projects.)
+    
+    1.  Go to **Settings → Appearance & Behavior → Path Variables**.
+    
+    2.  Click on the **+** to add a new path variable.
+    
+    3.  Specify `GERRIT_TESTSITE` as name and the path to your local
+        test site as value.
+
+The copied run configurations will be added automatically to the
+available run configurations of the IntelliJ project.
+
+#### Gerrit Daemon
+
+> **Warning**
+> 
+> At the moment running this configuration results in a
+> `java.io.FileNotFoundException`. To debug a local Gerrit server with
+> IntelliJ, use the instructions of [Running the
+> Daemon](#dev-readme#run_daemon) in combination with [Debugging a
+> remote Gerrit server](#remote-debug).
+
+Copy `$(gerrit_source_code)/tools/intellij/gerrit_daemon.xml` to
+`$(project_data_directory)/.idea/runConfigurations/`.
+
+This run configuration starts the Gerrit daemon similarly as [Running
+the Daemon](#dev-readme#run_daemon).
+
+> **Note**
+> 
+> The [Site Initialization](#dev-readme#init) has to be completed before
+> this run configuration works properly.
+
+### Unit tests
+
+To create run configurations for unit tests, run or debug them via a
+right-click on a method, class, file, or package. The created run
+configuration is a temporary one and can be saved to make it permanent.
+
+Normally, this approach generates JUnit run configurations. When the
+Bazel plugin manages a project, it intercepts the creation and creates a
+Bazel test run configuration instead, which can be used just like the
+standard ones.
+
+> **Tip**
+> 
+> If you would like to execute a test in NoteDb mode, add
+> `--test_env=GERRIT_NOTEDB=READ_WRITE` to the **Bazel flags** of your
+> run configuration.
+
+### Debugging a remote Gerrit server
+
+If a remote Gerrit server is running and has opened a debug port, you
+can attach IntelliJ via a `Remote debug configuration`.
+
+1.  Go to **Run → Edit Configurations**.
+
+2.  Click on the **+** to add a new configuration.
+
+3.  Choose **Remote**.
+
+4.  Adjust **Configuration → Settings → Host** and **Port**.
+
+5.  Start this configuration in `Debug` mode.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-plugin-pg-styling.md b/jekyll-source/pages/gerrit/dev-plugin-pg-styling.md
new file mode 100644
index 0000000..04f12a2
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-plugin-pg-styling.md
@@ -0,0 +1,74 @@
+---
+title: " Gerrit Code Review - PolyGerrit Plugin Styling"
+sidebar: gerritdoc_sidebar
+permalink: dev-plugin-pg-styling.html
+---
+> **Caution**
+> 
+> Work in progress. Hard hat area.  
+> This document will be populated with details along with
+> implementation.  
+> [Join the
+> discussion.](https://groups.google.com/d/topic/repo-discuss/vb8WJ4m0hK0/discussion)
+
+## Plugin styles
+
+Plugins may provide [Polymer style
+modules](https://www.polymer-project.org/2.0/docs/devguide/style-shadow-dom#style-modules)
+for UI CSS-based customization.
+
+PolyGerrit UI implements number of styling endpoints, which apply CSS
+mixins [using @apply](https://tabatkins.github.io/specs/css-apply-rule/)
+to its direct contents.
+
+> **Note**
+> 
+> Only items (ie CSS properties and mixin targets) documented here are
+> guaranteed to work in the long term, since they are covered by
+> integration tests.  
+> When there is a need to add new property or endpoint, please [file a
+> bug](https://bugs.chromium.org/p/gerrit/issues/entry?template=PolyGerrit%20Issue)
+> stating your usecase to track and maintain for future releases.
+
+Plugin should be html-based and imported following PolyGerrit’s [dev
+guide](dev-plugins-pg.html#loading).
+
+Plugin should provide Style Module, for example:
+
+\`\`\` html \<dom-module id="some-style"\> \<style\> :root {
+--css-mixin-name: { property: value; } } \</style\> \</dom-module\>
+\`\`\`
+
+Plugin should register style module with a styling endpoint using
+`Plugin.prototype.registerStyleModule(endpointName, styleModuleName)`,
+for example:
+
+\`\`\` js Gerrit.install(function(plugin) {
+plugin.registerStyleModule(*some-endpoint*, *some-style*); }); \`\`\`
+
+## Available styling endpoints
+
+### change-metadata
+
+Following custom css mixins are recognized:
+
+  - `--change-metadata-assignee`
+    
+    is applied to `gr-change-metadata section.assignee` \*
+    `--change-metadata-label-status`
+    
+    is applied to `gr-change-metadata section.labelStatus` \*
+    `--change-metadata-strategy`
+    
+    is applied to `gr-change-metadata section.strategy` \*
+    `--change-metadata-topic`
+    
+    is applied to `gr-change-metadata section.topic`
+
+Following CSS properties have [long-term support via integration
+test](https://gerrit.googlesource.com/gerrit/+/master/polygerrit-ui/app/elements/change/gr-change-metadata/gr-change-metadata-it_test.html):
+
+  - `display`
+    
+    can be set to `none` to hide a section.
+
diff --git a/jekyll-source/pages/gerrit/dev-plugins-pg.md b/jekyll-source/pages/gerrit/dev-plugins-pg.md
new file mode 100644
index 0000000..ce515f4
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-plugins-pg.md
@@ -0,0 +1,107 @@
+---
+title: " Gerrit Code Review - PolyGerrit Plugin Development"
+sidebar: gerritdoc_sidebar
+permalink: dev-plugins-pg.html
+---
+> **Caution**
+> 
+> Work in progress. Hard hat area.  
+> This document will be populated with details along with
+> implementation.  
+> [Join the
+> discussion.](https://groups.google.com/d/topic/repo-discuss/vb8WJ4m0hK0/discussion)
+
+## Plugin loading and initialization
+
+[Entry
+point](https://gerrit-review.googlesource.com/Documentation/js-api.html#_entry_point)
+for the plugin and the loading method is based on [HTML
+Imports](http://w3c.github.io/webcomponents/spec/imports/) spec.
+
+  - The plugin provides index.html, similar to [.js Web UI
+    plugins](https://gerrit-review.googlesource.com/Documentation/dev-plugins.html#deployment)
+
+  - index.html contains a `dom-module` tag with a script that uses
+    `Gerrit.install()`.
+
+  - PolyGerrit imports index.html along with all required resources
+    defined in it (fonts, styles, etc)
+
+  - For standalone plugins, the entry point file is a `pluginname.html`
+    file located in `gerrit-site/plugins` folder, where `pluginname` is
+    an alphanumeric plugin name.
+
+Here’s a sample `myplugin.html`:
+
+\`\`\` html \<dom-module id="my-plugin"\> \<script\>
+Gerrit.install(function() { console.log(*Ready.*); }); \</script\>
+\</dom-module\> \`\`\`
+
+## Low-level DOM API
+
+Basically, the DOM is the API surface. Low-level API provides methods
+for decorating, replacing, and styling DOM elements exposed through a
+set of endpoints.
+
+PolyGerrit provides a simple way for accessing the DOM via DOM hooks
+API. A DOM hook is a custom element that is instantiated for the plugin
+endpoint. In the decoration case, a hook is set with a `content`
+attribute that points to the DOM element.
+
+1.  Get the DOM hook API instance via `plugin.hook(endpointName)`
+
+2.  Set up an `onAttached` callback
+
+3.  Callback is called when the hook element is created and inserted
+    into DOM
+
+4.  Use element.content to get UI element
+
+\`\`\` js Gerrit.install(function(plugin) { const domHook =
+plugin.hook(*reply-text*); domHook.onAttached(element ⇒ { if
+(\!element.content) { return; } // element.content is a reply dialog
+text area. }); }); \`\`\`
+
+### Decorating DOM Elements
+
+For each endpoint, PolyGerrit provides a list of DOM properties (such as
+attributes and events) that are supported in the long-term.
+
+> **Note**
+> 
+> TODO: Insert link to the full endpoints API.
+
+\`\`\` js Gerrit.install(function(plugin) { const domHook =
+plugin.hook(*reply-text*); domHook.onAttached(element ⇒ { if
+(\!element.content) { return; } element.content.style.border = *1px red
+dashed*; }); }); \`\`\`
+
+### Replacing DOM Elements
+
+An endpoint’s contents can be replaced by passing the replace attribute
+as an option.
+
+\`\`\` js Gerrit.install(function(plugin) { domHook.onAttached(element ⇒
+{ element.appendChild(document.createElement(*my-site-header*)); }); });
+\`\`\`
+
+### Styling DOM Elements
+
+A plugin may provide Polymer’s [style
+modules](https://www.polymer-project.org/2.0/docs/devguide/style-shadow-dom#style-modules)
+to style individual endpoints using
+`plugin.registerStyleModule(endpointName, moduleName)`. A style must be
+defined as a standalone `<dom-module>` defined in the same .html file.
+
+Note: TODO: Insert link to the full styling API.
+
+\`\`\` html \<dom-module id="my-plugin"\> \<script\>
+Gerrit.install(function(plugin) {
+plugin.registerStyleModule(*change-metadata*, *some-style-module*); });
+\</script\> \</dom-module\>
+
+\<dom-module id="some-style-module"\> \<style\> html {
+--change-metadata-label-status: { display: none; }
+--change-metadata-strategy: { display: none; } } \</style\>
+\</dom-module\> \`\`\`
+
diff --git a/jekyll-source/pages/gerrit/dev-plugins.md b/jekyll-source/pages/gerrit/dev-plugins.md
new file mode 100644
index 0000000..4b8c530
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-plugins.md
@@ -0,0 +1,2607 @@
+---
+title: " Gerrit Code Review - Plugin Development"
+sidebar: gerritdoc_sidebar
+permalink: dev-plugins.html
+---
+The Gerrit server functionality can be extended by installing plugins.
+This page describes how plugins for Gerrit can be developed.
+
+Depending on how tightly the extension code is coupled with the Gerrit
+server code, there is a distinction between `plugins` and `extensions`.
+
+A `plugin` in Gerrit is tightly coupled code that runs in the same JVM
+as Gerrit. It has full access to all server internals. Plugins are
+tightly coupled to a specific major.minor server version and may require
+source code changes to compile against a different server version.
+
+Plugins may require a specific major.minor.patch server version and may
+need rebuild and revalidation across different patch levels. A different
+patch level may only add new API interfaces and never change or extend
+existing ones.
+
+An `extension` in Gerrit runs inside of the same JVM as Gerrit in the
+same way as a plugin, but has limited visibility to the server’s
+internals. The limited visibility reduces the extension’s dependencies,
+enabling it to be compatible across a wider range of server versions.
+
+Most of this documentation refers to either type as a plugin.
+
+## Getting started
+
+To get started with the development of a plugin clone the sample plugin:
+
+    $ git clone https://gerrit.googlesource.com/plugins/cookbook-plugin
+
+This is a project that demonstrates the various features of the plugin
+API. It can be taken as an example to develop an own plugin.
+
+When starting from this example one should take care to adapt the
+`Gerrit-ApiVersion` in the `BUILD` to the version of Gerrit for which
+the plugin is developed.
+
+## API
+
+There are two different API formats offered against which plugins can be
+developed:
+
+  - gerrit-extension-api.jar  
+    A stable but thin interface. Suitable for extensions that need to be
+    notified of events, but do not require tight coupling to the
+    internals of Gerrit. Extensions built against this API can expect to
+    be binary compatible across a wide range of server versions.
+
+  - gerrit-plugin-api.jar  
+    The complete internals of the Gerrit server, permitting a plugin to
+    tightly couple itself and provide additional functionality that is
+    not possible as an extension. Plugins built against this API are
+    expected to break at the source code level between every major.minor
+    Gerrit release. A plugin that compiles against 2.5 will probably
+    need source code level changes to work with 2.6, 2.7, and so on.
+
+## Manifest
+
+Plugins may provide optional description information with standard
+manifest fields:
+
+``` 
+  Implementation-Title: Example plugin showing examples
+  Implementation-Version: 1.0
+  Implementation-Vendor: Example, Inc.
+```
+
+### ApiType
+
+Plugins using the tightly coupled `gerrit-plugin-api.jar` must declare
+this API dependency in the manifest to gain access to server internals.
+If no `Gerrit-ApiType` is specified the stable `extension` API will be
+assumed. This may cause ClassNotFoundExceptions when loading a plugin
+that needs the plugin API.
+
+``` 
+  Gerrit-ApiType: plugin
+```
+
+### Explicit Registration
+
+Plugins that use explicit Guice registration must name the Guice modules
+in the manifest. Up to three modules can be named in the manifest.
+`Gerrit-Module` supplies bindings to the core server; `Gerrit-SshModule`
+supplies SSH commands to the SSH server (if enabled);
+`Gerrit-HttpModule` supplies servlets and filters to the HTTP server (if
+enabled). If no modules are named automatic registration will be
+performed by scanning all classes in the plugin JAR for `@Listen` and
+`@Export("")` annotations.
+
+``` 
+  Gerrit-Module:     tld.example.project.CoreModuleClassName
+  Gerrit-SshModule:  tld.example.project.SshModuleClassName
+  Gerrit-HttpModule: tld.example.project.HttpModuleClassName
+```
+
+### Plugin Name
+
+A plugin can optionally provide its own plugin name.
+
+``` 
+  Gerrit-PluginName: replication
+```
+
+This is useful for plugins that contribute plugin-owned capabilities
+that are stored in the `project.config` file. Another use case is to be
+able to put project specific plugin configuration section in
+`project.config`. In this case it is advantageous to reserve the plugin
+name to access the configuration section in the `project.config` file.
+
+If `Gerrit-PluginName` is omitted, then the plugin’s name is determined
+from the plugin file name.
+
+If a plugin provides its own name, then that plugin cannot be deployed
+multiple times under different file names on one Gerrit site.
+
+For Maven driven plugins, the following line must be included in the
+pom.xml file:
+
+``` xml
+<manifestEntries>
+  <Gerrit-PluginName>name</Gerrit-PluginName>
+</manifestEntries>
+```
+
+For Bazel driven plugins, the following line must be included in the
+BUILD configuration file:
+
+``` python
+manifest_entries = [
+   'Gerrit-PluginName: name',
+]
+```
+
+A plugin can get its own name injected at runtime:
+
+``` java
+public class MyClass {
+
+  private final String pluginName;
+
+  @Inject
+  public MyClass(@PluginName String pluginName) {
+    this.pluginName = pluginName;
+  }
+
+  [...]
+}
+```
+
+A plugin can get its canonical web URL injected at runtime:
+
+``` java
+public class MyClass {
+
+  private final String url;
+
+  @Inject
+  public MyClass(@PluginCanonicalWebUrl String url) {
+    this.url = url;
+  }
+
+  [...]
+}
+```
+
+The URL is composed of the server’s canonical web URL and the plugin’s
+name, i.e. `http://review.example.com:8080/plugin-name`.
+
+The canonical web URL may be injected into any .jar plugin regardless of
+whether or not the plugin provides an HTTP servlet.
+
+### Reload Method
+
+If a plugin holds an exclusive resource that must be released before
+loading the plugin again (for example listening on a network port or
+acquiring a file lock) the manifest must declare `Gerrit-ReloadMode` to
+be `restart`. Otherwise the preferred method of `reload` will be used,
+as it enables the server to hot-patch an updated plugin with no down
+time.
+
+``` 
+  Gerrit-ReloadMode: restart
+```
+
+In either mode (*restart* or *reload*) any plugin or extension can be
+updated without restarting the Gerrit server. The difference is how
+Gerrit handles the upgrade:
+
+  - restart  
+    The old plugin is completely stopped. All registrations of SSH
+    commands and HTTP servlets are removed. All registrations of any
+    extension points are removed. All registered LifecycleListeners have
+    their `stop()` method invoked in reverse order. The new plugin is
+    started, and registrations are made from the new plugin. There is a
+    brief window where neither the old nor the new plugin is connected
+    to the server. This means SSH commands and HTTP servlets will return
+    not found errors, and the plugin will not be notified of events that
+    occurred during the restart.
+
+  - reload  
+    The new plugin is started. Its LifecycleListeners are permitted to
+    perform their `start()` methods. All SSH and HTTP registrations are
+    atomically swapped out from the old plugin to the new plugin,
+    ensuring the server never returns a not found error. All extension
+    point listeners are atomically swapped out from the old plugin to
+    the new plugin, ensuring no events are missed (however some events
+    may still route to the old plugin if the swap wasn’t complete yet).
+    The old plugin is stopped.
+
+To reload/restart a plugin the [plugin reload](cmd-plugin-reload.html)
+command can be used.
+
+### Init step
+
+Plugins can contribute their own "init step" during the Gerrit init
+wizard. This is useful for guiding the Gerrit administrator through the
+settings needed by the plugin to work properly.
+
+For instance plugins to integrate Jira issues to Gerrit changes may
+contribute their own "init step" to allow configuring the Jira URL,
+credentials and possibly verify connectivity to validate them.
+
+``` 
+  Gerrit-InitStep: tld.example.project.MyInitStep
+```
+
+MyInitStep needs to follow the standard Gerrit InitStep syntax and
+behavior: writing to the console using the injected ConsoleUI and
+accessing / changing configuration settings using Section.Factory.
+
+In addition to the standard Gerrit init injections, plugins receive the
+@PluginName String injection containing their own plugin name.
+
+During their initialization plugins may get access to the
+`project.config` file of the `All-Projects` project and they are able to
+store configuration parameters in it. For this a plugin `InitStep` can
+get `com.google.gerrit.pgm.init.api.AllProjectsConfig` injected:
+
+``` java
+  public class MyInitStep implements InitStep {
+    private final String pluginName;
+    private final ConsoleUI ui;
+    private final AllProjectsConfig allProjectsConfig;
+
+    @Inject
+    public MyInitStep(@PluginName String pluginName, ConsoleUI ui,
+        AllProjectsConfig allProjectsConfig) {
+      this.pluginName = pluginName;
+      this.ui = ui;
+      this.allProjectsConfig = allProjectsConfig;
+    }
+
+    @Override
+    public void run() throws Exception {
+    }
+
+    @Override
+    public void postRun() throws Exception {
+      ui.message("\n");
+      ui.header(pluginName + " Integration");
+      boolean enabled = ui.yesno(true, "By default enabled for all projects");
+      Config cfg = allProjectsConfig.load().getConfig();
+      if (enabled) {
+        cfg.setBoolean("plugin", pluginName, "enabled", enabled);
+      } else {
+        cfg.unset("plugin", pluginName, "enabled");
+      }
+      allProjectsConfig.save(pluginName, "Initialize " + pluginName + " Integration");
+    }
+  }
+```
+
+Bear in mind that the Plugin’s InitStep class will be loaded but the
+standard Gerrit runtime environment is not available and the plugin’s
+own Guice modules were not initialized. This means the InitStep for a
+plugin is not executed in the same way that the plugin executes within
+the server, and may mean a plugin author cannot trivially reuse runtime
+code during init.
+
+For instance a plugin that wants to verify connectivity may need to
+statically call the constructor of their connection class, passing in
+values obtained from the Section.Factory rather than from an injected
+Config object.
+
+Plugins' InitSteps are executed during the "Gerrit Plugin init" phase,
+after the extraction of the plugins embedded in the distribution .war
+file into `$GERRIT_SITE/plugins` and before the DB Schema initialization
+or upgrade.
+
+A plugin’s InitStep cannot refer to Gerrit’s DB Schema or any other
+Gerrit runtime objects injected at startup.
+
+``` java
+public class MyInitStep implements InitStep {
+  private final ConsoleUI ui;
+  private final Section.Factory sections;
+  private final String pluginName;
+
+  @Inject
+  public GitBlitInitStep(final ConsoleUI ui, Section.Factory sections, @PluginName String pluginName) {
+    this.ui = ui;
+    this.sections = sections;
+    this.pluginName = pluginName;
+  }
+
+  @Override
+  public void run() throws Exception {
+    ui.header("\nMy plugin");
+
+    Section mySection = getSection("myplugin", null);
+    mySection.string("Link name", "linkname", "MyLink");
+  }
+
+  @Override
+  public void postRun() throws Exception {
+  }
+}
+```
+
+## Classpath
+
+Each plugin is loaded into its own ClassLoader, isolating plugins from
+each other. A plugin or extension inherits the Java runtime and the
+Gerrit API chosen by `Gerrit-ApiType` (extension or plugin) from the
+hosting server.
+
+Plugins are loaded from a single JAR file. If a plugin needs additional
+libraries, it must include those dependencies within its own JAR.
+Plugins built using Maven may be able to use the [shade
+plugin](http://maven.apache.org/plugins/maven-shade-plugin/) to package
+additional dependencies. Relocating (or renaming) classes should not be
+necessary due to the ClassLoader isolation.
+
+## Listening to Events
+
+Certain operations in Gerrit trigger events. Plugins may receive
+notifications of these events by implementing the corresponding
+listeners.
+
+  - `com.google.gerrit.common.EventListener`:
+    
+    Allows to listen to events without user visibility restrictions.
+    These are the same [events](cmd-stream-events.html#events) that are
+    also streamed by the [gerrit stream-events](cmd-stream-events.html)
+    command.
+
+  - `com.google.gerrit.common.UserScopedEventListener`:
+    
+    Allows to listen to events visible to the specified user. These are
+    the same [events](cmd-stream-events.html#events) that are also
+    streamed by the [gerrit stream-events](cmd-stream-events.html)
+    command.
+
+  - `com.google.gerrit.extensions.events.LifecycleListener`:
+    
+    Plugin start and stop
+
+  - `com.google.gerrit.extensions.events.NewProjectCreatedListener`:
+    
+    Project creation
+
+  - `com.google.gerrit.extensions.events.ProjectDeletedListener`:
+    
+    Project deletion
+
+  - `com.google.gerrit.extensions.events.HeadUpdatedListener`:
+    
+    Update of HEAD on a project
+
+  - `com.google.gerrit.extensions.events.UsageDataPublishedListener`:
+    
+    Publication of usage data
+
+  - `com.google.gerrit.extensions.events.GarbageCollectorListener`:
+    
+    Garbage collection ran on a project
+
+  - `com.google.gerrit.server.extensions.events.ChangeIndexedListener`:
+    
+    Update of the change secondary index
+
+  - `com.google.gerrit.server.extensions.events.AccountIndexedListener`:
+    
+    Update of the account secondary index
+
+  - `com.google.gerrit.server.extensions.events.GroupIndexedListener`:
+    
+    Update of the group secondary index
+
+  - `com.google.gerrit.httpd.WebLoginListener`:
+    
+    User login or logout interactively on the Web user interface.
+
+The event listener is under the Gerrit http package to automatically
+inherit the javax.servlet.http dependencies and allowing to influence
+the login or logout flow with additional redirections.
+
+## Sending Events to the Events Stream
+
+Plugins may send events to the events stream where consumers of Gerrit’s
+`stream-events` ssh command will receive them.
+
+To send an event, the plugin must invoke one of the `postEvent` methods
+in the `EventDispatcher` interface, passing an instance of its own
+custom event class derived from `com.google.gerrit.server.events.Event`.
+
+``` java
+import com.google.gerrit.common.EventDispatcher;
+import com.google.gerrit.extensions.registration.DynamicItem;
+import com.google.gwtorm.server.OrmException;
+import com.google.inject.Inject;
+
+class MyPlugin {
+  private final DynamicItem<EventDispatcher> eventDispatcher;
+
+  @Inject
+  myPlugin(DynamicItem<EventDispatcher> eventDispatcher) {
+    this.eventDispatcher = eventDispatcher;
+  }
+
+  private void postEvent(MyPluginEvent event) {
+    try {
+      eventDispatcher.get().postEvent(event);
+    } catch (OrmException e) {
+      // error handling
+    }
+  }
+}
+```
+
+Plugins which define new Events should register them via the
+`com.google.gerrit.server.events.EventTypes.registerClass()` method.
+This will make the EventType known to the system. Deserializing events
+with the `com.google.gerrit.server.events.EventDeserializer` class
+requires that the event be registered in EventTypes.
+
+## Modifying the Stream Event Flow
+
+It is possible to modify the stream event flow from plugins by
+registering an `com.google.gerrit.server.events.EventDispatcher`. A
+plugin may register a Dispatcher class to replace the internal
+Dispatcher. EventDispatcher is a DynamicItem, so Gerrit may only have
+one copy.
+
+## Validation Listeners
+
+Certain operations in Gerrit can be validated by plugins by implementing
+the corresponding [listeners](config-validation.html).
+
+## Change Message Modifier
+
+`com.google.gerrit.server.git.ChangeMessageModifier`: plugins
+implementing this can modify commit message of the change being
+submitted by Rebase Always and Cherry Pick submit strategies as well as
+change being queried with COMMIT\_FOOTERS option.
+
+## Receive Pack Initializers
+
+Plugins may provide ReceivePack initializers which will be invoked by
+Gerrit just before a ReceivePack instance will be used. Usually, plugins
+will make use of the setXXX methods on the ReceivePack to set additional
+properties on it.
+
+## Post Receive-Pack Hooks
+
+Plugins may register PostReceiveHook instances in order to get notified
+when JGit successfully receives a pack. This may be useful for those
+plugins which would like to monitor changes in Git repositories.
+
+## Pre Upload-Pack Hooks
+
+Plugins may register PreUploadHook instances in order to get notified
+when JGit is about to upload a pack. This may be useful for those
+plugins which would like to monitor usage in Git repositories.
+
+## Post Upload-Pack Hooks
+
+Plugins may register PostUploadHook instances in order to get notified
+after JGit is done uploading a pack.
+
+## SSH Commands
+
+Plugins may provide commands that can be accessed through the SSH
+interface (extensions do not have this option).
+
+Command implementations must extend the base class SshCommand:
+
+``` java
+import com.google.gerrit.sshd.SshCommand;
+import com.google.gerrit.sshd.CommandMetaData;
+
+@CommandMetaData(name="print", description="Print hello command")
+class PrintHello extends SshCommand {
+  @Override
+  protected void run() {
+    stdout.print("Hello\n");
+  }
+}
+```
+
+If no Guice modules are declared in the manifest, SSH commands may use
+auto-registration by providing an `@Export` annotation:
+
+``` java
+import com.google.gerrit.extensions.annotations.Export;
+import com.google.gerrit.sshd.SshCommand;
+
+@Export("print")
+class PrintHello extends SshCommand {
+  @Override
+  protected void run() {
+    stdout.print("Hello\n");
+  }
+}
+```
+
+If explicit registration is being used, a Guice module must be supplied
+to register the SSH command and declared in the manifest with the
+`Gerrit-SshModule` attribute:
+
+``` java
+import com.google.gerrit.sshd.PluginCommandModule;
+
+class MyCommands extends PluginCommandModule {
+  @Override
+  protected void configureCommands() {
+    command(PrintHello.class);
+  }
+}
+```
+
+For a plugin installed as name `helloworld`, the command implemented by
+PrintHello class will be available to users as:
+
+    $ ssh -p 29418 review.example.com helloworld print
+
+### Multiple Commands bound to one implementation
+
+Multiple SSH commands can be bound to the same implementation class. For
+example a Gerrit Shell plugin can bind different shell commands to the
+same implementation class:
+
+``` java
+public class SshShellModule extends PluginCommandModule {
+  @Override
+  protected void configureCommands() {
+    command("ls").to(ShellCommand.class);
+    command("ps").to(ShellCommand.class);
+    [...]
+  }
+}
+```
+
+With the possible implementation:
+
+``` java
+public class ShellCommand extends SshCommand {
+  @Override
+  protected void run() throws UnloggedFailure {
+    String cmd = getName().substring(getPluginName().length() + 1);
+    ProcessBuilder proc = new ProcessBuilder(cmd);
+    Process cmd = proc.start();
+    [...]
+  }
+}
+```
+
+And the call:
+
+    $ ssh -p 29418 review.example.com shell ls
+    $ ssh -p 29418 review.example.com shell ps
+
+### Root Level Commands
+
+Single command plugins are also supported. In this scenario plugin binds
+SSH command to its own name. `SshModule` must inherit from
+`SingleCommandPluginModule` class:
+
+``` java
+public class SshModule extends SingleCommandPluginModule {
+ @Override
+ protected void configure(LinkedBindingBuilder<Command> b) {
+    b.to(ShellCommand.class);
+  }
+}
+```
+
+If the plugin above is deployed under sh.jar file in `$site/plugins`
+directory, generic commands can be called without specifying the actual
+SSH command. Note in the example below, that the called commands `ls`
+and `ps` was not explicitly bound:
+
+    $ ssh -p 29418 review.example.com sh ls
+    $ ssh -p 29418 review.example.com sh ps
+
+## Search Operators
+
+Plugins can define new search operators to extend change searching by
+implementing the `ChangeQueryBuilder.ChangeOperatorFactory` interface
+and registering it to an operator name in the plugin module’s
+`configure()` method. The search operator name is defined during
+registration via the DynamicMap annotation mechanism. The plugin name
+will get appended to the annotated name, with an underscore in between,
+leading to the final operator name. An example registration looks like
+this:
+
+    bind(ChangeOperatorFactory.class)
+       .annotatedWith(Exports.named("sample"))
+       .to(SampleOperator.class);
+
+If this is registered in the `myplugin` plugin, then the resulting
+operator will be named `sample_myplugin`.
+
+The search operator itself is implemented by ensuring that the
+`create()` method of the class implementing the
+`ChangeQueryBuilder.ChangeOperatorFactory` interface returns a
+`Predicate<ChangeData>`. Here is a sample operator factory definition
+which creates a `MyPredicate`:
+
+``` java
+@Singleton
+public class SampleOperator
+    implements ChangeQueryBuilder.ChangeOperatorFactory {
+  public static class MyPredicate extends OperatorChangePredicate<ChangeData> {
+    ...
+  }
+
+  @Override
+  public Predicate<ChangeData> create(ChangeQueryBuilder builder, String value)
+      throws QueryParseException {
+    return new MyPredicate(value);
+  }
+}
+```
+
+### Search Operands
+
+Plugins can define new search operands to extend change searching.
+Plugin methods implementing search operands (returning a
+`Predicate<ChangeData>`), must be defined on a class implementing one of
+the `ChangeQueryBuilder.ChangeOperandsFactory` interfaces (.e.g.,
+ChangeQueryBuilder.ChangeHasOperandFactory). The specific
+`ChangeOperandFactory` class must also be bound to the `DynamicSet` from
+a module’s `configure()` method in the plugin.
+
+The new operand, when used in a search would appear as:
+operatorName:operandName\_pluginName
+
+A sample `ChangeHasOperandFactory` class implementing, and registering,
+a new `has:sample_pluginName` operand is shown below:
+
+    @Singleton
+    public class SampleHasOperand implements ChangeHasOperandFactory {
+      public static class Module extends AbstractModule {
+        @Override
+        protected void configure() {
+          bind(ChangeHasOperandFactory.class)
+              .annotatedWith(Exports.named("sample")
+              .to(SampleHasOperand.class);
+        }
+      }
+
+    @Override
+    public Predicate<ChangeData> create(ChangeQueryBuilder builder)
+        throws QueryParseException {
+      return new HasSamplePredicate();
+    }
+
+### Command Options
+
+Plugins can provide additional options for each of the gerrit ssh and
+the REST API commands by implementing the DynamicBean interface and
+registering it to a command class name in the plugin module’s
+`configure()` method. The plugin’s name will be prepended to the name of
+each @Option annotation found on the DynamicBean object provided by the
+plugin. The example below shows a plugin that adds an option to log a
+value from the gerrit *ban-commits* ssh command.
+
+``` java
+public class SshModule extends AbstractModule {
+  private static final Logger log = LoggerFactory.getLogger(SshModule.class);
+
+  @Override
+  protected void configure() {
+    bind(DynamicOptions.DynamicBean.class)
+        .annotatedWith(Exports.named(
+        com.google.gerrit.sshd.commands.BanCommitCommand.class))
+        .to(BanOptions.class);
+  }
+
+  public static class BanOptions implements DynamicOptions.DynamicBean {
+    @Option(name = "--log", aliases = { "-l" }, usage = "Say Hello in the Log")
+    private void parse(String arg) {
+      log.error("Say Hello in the Log " + arg);
+    }
+  }
+```
+
+### Query Attributes
+
+Plugins can provide additional attributes to be returned in Gerrit
+queries by implementing the ChangeAttributeFactory interface and
+registering it to the ChangeQueryProcessor.ChangeAttributeFactory class
+in the plugin module’s *configure()* method. The new attribute(s) will
+be output under a "plugin" attribute in the change query output.
+
+The example below shows a plugin that adds two attributes (*exampleName*
+and *changeValue*), to the change query output.
+
+``` java
+public class Module extends AbstractModule {
+  @Override
+  protected void configure() {
+    bind(ChangeAttributeFactory.class)
+        .annotatedWith(Exports.named("example"))
+        .to(AttributeFactory.class);
+  }
+}
+
+public class AttributeFactory implements ChangeAttributeFactory {
+
+  public class PluginAttribute extends PluginDefinedInfo {
+    public String exampleName;
+    public String changeValue;
+
+    public PluginAttribute(ChangeData c) {
+      this.exampleName = "Attribute Example";
+      this.changeValue = Integer.toString(c.getId().get());
+    }
+  }
+
+  @Override
+  public PluginDefinedInfo create(ChangeData c, ChangeQueryProcessor qp, String plugin) {
+    return new PluginAttribute(c);
+  }
+}
+```
+
+Example
+
+    ssh -p 29418 localhost gerrit query "change:1" --format json
+    
+    Output:
+    
+    {
+       "url" : "http://localhost:8080/1",
+       "plugins" : [
+          {
+             "name" : "myplugin-name",
+             "exampleName" : "Attribute Example",
+             "changeValue" : "1"
+          }
+       ],
+        ...
+    }
+
+## Simple Configuration in `gerrit.config`
+
+In Gerrit, global configuration is stored in the `gerrit.config` file.
+If a plugin needs global configuration, this configuration should be
+stored in a `plugin` subsection in the `gerrit.config` file.
+
+This approach of storing the plugin configuration is only suitable for
+plugins that have a simple configuration that only consists of key-value
+pairs. With this approach it is not possible to have subsections in the
+plugin configuration. Plugins that require a complex configuration need
+to store their configuration in their [own configuration
+file](#configuration) where they can make use of subsections. On the
+other hand storing the plugin configuration in a *plugin* subsection in
+the `gerrit.config` file has the advantage that administrators have all
+configuration parameters in one file, instead of having one
+configuration file per plugin.
+
+To avoid conflicts with other plugins, it is recommended that plugins
+only use the `plugin` subsection with their own name. For example the
+`helloworld` plugin should store its configuration in the
+`plugin.helloworld` subsection:
+
+    [plugin "helloworld"]
+      language = Latin
+
+Via the `com.google.gerrit.server.config.PluginConfigFactory` class a
+plugin can easily access its configuration and there is no need for a
+plugin to parse the `gerrit.config` file on its own:
+
+``` java
+@Inject
+private com.google.gerrit.server.config.PluginConfigFactory cfg;
+
+[...]
+
+String language = cfg.getFromGerritConfig("helloworld")
+                     .getString("language", "English");
+```
+
+## Configuration in own config file
+
+Plugins can store their configuration in an own configuration file. This
+makes sense if the plugin configuration is rather complex and requires
+the usage of subsections. Plugins that have a simple key-value pair
+configuration can store their configuration in a [`plugin` subsection of
+the `gerrit.config` file](#simple-configuration).
+
+The plugin configuration file must be named after the plugin and must be
+located in the `etc` folder of the review site. For example a
+configuration file for a `default-reviewer` plugin could look like this:
+
+**$site\_path/etc/default-reviewer.config.**
+
+    [branch "refs/heads/master"]
+      reviewer = Project Owners
+      reviewer = john.doe@example.com
+    [match "file:^.*\.txt"]
+      reviewer = My Info Developers
+
+Plugins that have sensitive configuration settings can store those
+settings in an own secure configuration file. The plugin’s secure
+configuration file must be named after the plugin and must be located in
+the `etc` folder of the review site. For example a secure configuration
+file for a `default-reviewer` plugin could look like this:
+
+**$site\_path/etc/default-reviewer.secure.config.**
+
+    [auth]
+      password = secret
+
+Via the `com.google.gerrit.server.config.PluginConfigFactory` class a
+plugin can easily access its configuration:
+
+``` java
+@Inject
+private com.google.gerrit.server.config.PluginConfigFactory cfg;
+
+[...]
+
+String[] reviewers = cfg.getGlobalPluginConfig("default-reviewer")
+                        .getStringList("branch", "refs/heads/master", "reviewer");
+String password = cfg.getGlobalPluginConfig("default-reviewer")
+                     .getString("auth", null, "password");
+```
+
+## Simple Project Specific Configuration in `project.config`
+
+In Gerrit, project specific configuration is stored in the project’s
+`project.config` file on the `refs/meta/config` branch. If a plugin
+needs configuration on project level (e.g. to enable its functionality
+only for certain projects), this configuration should be stored in a
+`plugin` subsection in the project’s `project.config` file.
+
+This approach of storing the plugin configuration is only suitable for
+plugins that have a simple configuration that only consists of key-value
+pairs. With this approach it is not possible to have subsections in the
+plugin configuration. Plugins that require a complex configuration need
+to store their configuration in their [own configuration
+file](#project-specific-configuration) where they can make use of
+subsections. On the other hand storing the plugin configuration in a
+*plugin* subsection in the `project.config` file has the advantage that
+project owners have all configuration parameters in one file, instead of
+having one configuration file per plugin.
+
+To avoid conflicts with other plugins, it is recommended that plugins
+only use the `plugin` subsection with their own name. For example the
+`helloworld` plugin should store its configuration in the
+`plugin.helloworld` subsection:
+
+``` 
+  [plugin "helloworld"]
+    enabled = true
+```
+
+Via the `com.google.gerrit.server.config.PluginConfigFactory` class a
+plugin can easily access its project specific configuration and there is
+no need for a plugin to parse the `project.config` file on its own:
+
+``` java
+@Inject
+private com.google.gerrit.server.config.PluginConfigFactory cfg;
+
+[...]
+
+boolean enabled = cfg.getFromProjectConfig(project, "helloworld")
+                     .getBoolean("enabled", false);
+```
+
+It is also possible to get missing configuration parameters inherited
+from the parent projects:
+
+``` java
+@Inject
+private com.google.gerrit.server.config.PluginConfigFactory cfg;
+
+[...]
+
+boolean enabled = cfg.getFromProjectConfigWithInheritance(project, "helloworld")
+                     .getBoolean("enabled", false);
+```
+
+Project owners can edit the project configuration by fetching the
+`refs/meta/config` branch, editing the `project.config` file and pushing
+the commit back.
+
+Plugin configuration values that are stored in the `project.config` file
+can be exposed in the ProjectInfoScreen to allow project owners to see
+and edit them from the UI.
+
+For this an instance of `ProjectConfigEntry` needs to be bound for each
+parameter. The export name must be a valid Git variable name. The
+variable name is case-insensitive, allows only alphanumeric characters
+and *-*, and must start with an alphabetic character.
+
+The example below shows how the parameters `plugin.helloworld.enabled`
+and `plugin.helloworld.language` are bound to be editable from the Web
+UI. For the parameter `plugin.helloworld.enabled` "Enable Greeting" is
+provided as display name and the default value is set to `true`. For the
+parameter `plugin.helloworld.language` "Preferred Language" is provided
+as display name and "en" is set as default value.
+
+``` java
+class Module extends AbstractModule {
+  @Override
+  protected void configure() {
+    bind(ProjectConfigEntry.class)
+        .annotatedWith(Exports.named("enabled"))
+        .toInstance(new ProjectConfigEntry("Enable Greeting", true));
+    bind(ProjectConfigEntry.class)
+        .annotatedWith(Exports.named("language"))
+        .toInstance(new ProjectConfigEntry("Preferred Language", "en"));
+  }
+}
+```
+
+By overwriting the `onUpdate` method of `ProjectConfigEntry` plugins can
+be notified when this configuration parameter is updated on a project.
+
+### Referencing groups in `project.config`
+
+Plugins can refer to groups so that when they are renamed, the project
+config will also be updated in this section. The proper format to use is
+the same as for any other group reference in the `project.config`, as
+shown below.
+
+    group group_name
+
+The file `groups` must also contains the mapping of the group name and
+its UUID, refer to [file groups](config-project-config.html#file-groups)
+
+## Project Specific Configuration in own config file
+
+Plugins can store their project specific configuration in an own
+configuration file in the projects `refs/meta/config` branch. This makes
+sense if the plugins project specific configuration is rather complex
+and requires the usage of subsections. Plugins that have a simple
+key-value pair configuration can store their project specific
+configuration in a [`plugin` subsection of the `project.config`
+file](#simple-project-specific-configuration).
+
+The plugin configuration file in the `refs/meta/config` branch must be
+named after the plugin. For example a configuration file for a
+`default-reviewer` plugin could look like this:
+
+**default-reviewer.config.**
+
+    [branch "refs/heads/master"]
+      reviewer = Project Owners
+      reviewer = john.doe@example.com
+    [match "file:^.*\.txt"]
+      reviewer = My Info Developers
+
+Via the `com.google.gerrit.server.config.PluginConfigFactory` class a
+plugin can easily access its project specific configuration:
+
+``` java
+@Inject
+private com.google.gerrit.server.config.PluginConfigFactory cfg;
+
+[...]
+
+String[] reviewers = cfg.getProjectPluginConfig(project, "default-reviewer")
+                        .getStringList("branch", "refs/heads/master", "reviewer");
+```
+
+It is also possible to get missing configuration parameters inherited
+from the parent projects:
+
+``` java
+@Inject
+private com.google.gerrit.server.config.PluginConfigFactory cfg;
+
+[...]
+
+String[] reviewers = cfg.getProjectPluginConfigWithInheritance(project, "default-reviewer")
+                        .getStringList("branch", "refs/heads/master", "reviewer");
+```
+
+Project owners can edit the project configuration by fetching the
+`refs/meta/config` branch, editing the `<plugin-name>.config` file and
+pushing the commit back.
+
+## React on changes in project configuration
+
+If a plugin wants to react on changes in the project configuration, it
+can implement a `GitReferenceUpdatedListener` and filter on events for
+the `refs/meta/config` branch:
+
+``` java
+public class MyListener implements GitReferenceUpdatedListener {
+
+  private final MetaDataUpdate.Server metaDataUpdateFactory;
+
+  @Inject
+  MyListener(MetaDataUpdate.Server metaDataUpdateFactory) {
+    this.metaDataUpdateFactory = metaDataUpdateFactory;
+  }
+
+  @Override
+  public void onGitReferenceUpdated(Event event) {
+    if (event.getRefName().equals(RefNames.REFS_CONFIG)) {
+      Project.NameKey p = new Project.NameKey(event.getProjectName());
+      try {
+        ProjectConfig oldCfg = parseConfig(p, event.getOldObjectId());
+        ProjectConfig newCfg = parseConfig(p, event.getNewObjectId());
+
+        if (oldCfg != null && newCfg != null
+            && !oldCfg.getProject().getSubmitType().equals(newCfg.getProject().getSubmitType())) {
+          // submit type has changed
+          ...
+        }
+      } catch (IOException | ConfigInvalidException e) {
+        ...
+      }
+    }
+  }
+
+  private ProjectConfig parseConfig(Project.NameKey p, String idStr)
+      throws IOException, ConfigInvalidException, RepositoryNotFoundException {
+    ObjectId id = ObjectId.fromString(idStr);
+    if (ObjectId.zeroId().equals(id)) {
+      return null;
+    }
+    return ProjectConfig.read(metaDataUpdateFactory.create(p), id);
+  }
+}
+```
+
+## Plugin Owned Capabilities
+
+Plugins may provide their own capabilities and restrict usage of SSH
+commands or `UiAction` to the users who are granted those capabilities.
+
+Plugins define the capabilities by overriding the `CapabilityDefinition`
+abstract class:
+
+``` java
+public class PrintHelloCapability extends CapabilityDefinition {
+  @Override
+  public String getDescription() {
+    return "Print Hello";
+  }
+}
+```
+
+If no Guice modules are declared in the manifest, capability may use
+auto-registration by providing an `@Export` annotation:
+
+``` java
+@Export("printHello")
+public class PrintHelloCapability extends CapabilityDefinition {
+  [...]
+}
+```
+
+Otherwise the capability must be bound in a plugin module:
+
+``` java
+public class HelloWorldModule extends AbstractModule {
+  @Override
+  protected void configure() {
+    bind(CapabilityDefinition.class)
+      .annotatedWith(Exports.named("printHello"))
+      .to(PrintHelloCapability.class);
+  }
+}
+```
+
+With a plugin-owned capability defined in this way, it is possible to
+restrict usage of an SSH command or `UiAction` to members of the group
+that were granted this capability in the usual way, using the
+`RequiresCapability` annotation:
+
+``` java
+@RequiresCapability("printHello")
+@CommandMetaData(name="print", description="Print greeting in different languages")
+public final class PrintHelloWorldCommand extends SshCommand {
+  [...]
+}
+```
+
+Or with `UiAction`:
+
+``` java
+@RequiresCapability("printHello")
+public class SayHelloAction extends UiAction<RevisionResource>
+  implements RestModifyView<RevisionResource, SayHelloAction.Input> {
+  [...]
+}
+```
+
+Capability scope was introduced to differentiate between plugin-owned
+capabilities and core capabilities. Per default the scope of the
+`@RequiresCapability` annotation is `CapabilityScope.CONTEXT`, that
+means:
+
+  - when `@RequiresCapability` is used within a plugin the scope of the
+    capability is assumed to be that plugin.
+
+  - If `@RequiresCapability` is used within the core Gerrit Code Review
+    server (and thus is outside of a plugin) the scope is the core
+    server and will use the `GlobalCapability` known to Gerrit Code
+    Review server.
+
+If a plugin needs to use a core capability name (e.g.
+"administrateServer") this can be specified by setting `scope =
+CapabilityScope.CORE`:
+
+``` java
+@RequiresCapability(value = "administrateServer", scope =
+    CapabilityScope.CORE)
+  [...]
+```
+
+## UI Extension
+
+### Panels
+
+GWT plugins can contribute panels to Gerrit screens.
+
+Gerrit screens define extension points where plugins can add GWT panels
+with custom controls:
+
+  - Change Screen:
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_HEADER`:
+        
+        Panel will be shown in the header bar to the right of the change
+        status.
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_HEADER_RIGHT_OF_BUTTONS`:
+        
+        Panel will be shown in the header bar on the right side of the
+        buttons.
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_HEADER_RIGHT_OF_POP_DOWNS`:
+        
+        Panel will be shown in the header bar on the right side of the
+        pop down buttons.
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_BELOW_COMMIT_INFO_BLOCK`:
+        
+        Panel will be shown below the commit info block.
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_BELOW_CHANGE_INFO_BLOCK`:
+        
+        Panel will be shown below the change info block.
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_BELOW_RELATED_INFO_BLOCK`:
+        
+        Panel will be shown below the related info block.
+    
+      - `GerritUiExtensionPoint.CHANGE_SCREEN_HISTORY_RIGHT_OF_BUTTONS`:
+        
+        Panel will be shown in the history bar on the right side of the
+        buttons.
+    
+      - The following parameters are provided:
+        
+          - `GerritUiExtensionPoint.Key.CHANGE_INFO`:
+            
+            The [ChangeInfo](rest-api-changes.html#change-info) entity
+            for the current change.
+            
+            The [RevisionInfo](rest-api-changes.html#revision-info)
+            entity for the current patch set.
+
+  - Project Info Screen:
+    
+      - `GerritUiExtensionPoint.PROJECT_INFO_SCREEN_TOP`:
+        
+        Panel will be shown at the top of the screen.
+    
+      - `GerritUiExtensionPoint.PROJECT_INFO_SCREEN_BOTTOM`:
+        
+        Panel will be shown at the bottom of the screen.
+    
+      - The following parameters are provided:
+        
+          - `GerritUiExtensionPoint.Key.PROJECT_NAME`:
+            
+            The name of the project.
+
+  - User Password Screen:
+    
+      - `GerritUiExtensionPoint.PASSWORD_SCREEN_BOTTOM`:
+        
+        Panel will be shown at the bottom of the screen.
+    
+      - The following parameters are provided:
+        
+          - `GerritUiExtensionPoint.Key.ACCOUNT_INFO`:
+            
+            The [AccountInfo](rest-api-accounts.html#account-info)
+            entity for the current user.
+
+  - User Preferences Screen:
+    
+      - `GerritUiExtensionPoint.PREFERENCES_SCREEN_BOTTOM`:
+        
+        Panel will be shown at the bottom of the screen.
+    
+      - The following parameters are provided:
+        
+          - `GerritUiExtensionPoint.Key.ACCOUNT_INFO`:
+            
+            The [AccountInfo](rest-api-accounts.html#account-info)
+            entity for the current user.
+
+  - User Profile Screen:
+    
+      - `GerritUiExtensionPoint.PROFILE_SCREEN_BOTTOM`:
+        
+        Panel will be shown at the bottom of the screen below the grid
+        with the profile data.
+    
+      - The following parameters are provided:
+        
+          - `GerritUiExtensionPoint.Key.ACCOUNT_INFO`:
+            
+            The [AccountInfo](rest-api-accounts.html#account-info)
+            entity for the current user.
+
+Example panel:
+
+``` java
+public class MyPlugin extends PluginEntryPoint {
+  @Override
+  public void onPluginLoad() {
+    Plugin.get().panel(GerritUiExtensionPoint.CHANGE_SCREEN_BELOW_CHANGE_INFO_BLOCK,
+        "my_panel_name",
+        new Panel.EntryPoint() {
+          @Override
+          public void onLoad(Panel panel) {
+            panel.setWidget(new InlineLabel("My Panel for change "
+                + panel.getInt(GerritUiExtensionPoint.Key.CHANGE_ID, -1));
+          }
+        });
+  }
+}
+```
+
+Change Screen panel ordering may be specified in the project config.
+Values may be either "plugin name" or "plugin name"."panel name". Panels
+not specified in the config will be added to the end in load order.
+Panels specified in the config that are not found will be ignored.
+
+Example config:
+
+    [extension-panels "CHANGE_SCREEN_BELOW_CHANGE_INFO_BLOCK"]
+            panel = helloworld.change_id
+            panel = myotherplugin
+            panel = myplugin.my_panel_name
+
+### Actions
+
+Plugins can contribute UI actions on core Gerrit pages. This is useful
+for workflow customization or exposing plugin functionality through the
+UI in addition to SSH commands and the REST API.
+
+For instance a plugin to integrate Jira with Gerrit changes may
+contribute a "File bug" button to allow filing a bug from the change
+page or plugins to integrate continuous integration systems may
+contribute a "Schedule" button to allow a CI build to be scheduled
+manually from the patch set panel.
+
+Two different places on core Gerrit pages are supported:
+
+  - Change screen
+
+  - Project info screen
+
+Plugins contribute UI actions by implementing the `UiAction` interface:
+
+``` java
+@RequiresCapability("printHello")
+class HelloWorldAction implements UiAction<RevisionResource>,
+    RestModifyView<RevisionResource, HelloWorldAction.Input> {
+  static class Input {
+    boolean french;
+    String message;
+  }
+
+  private Provider<CurrentUser> user;
+
+  @Inject
+  HelloWorldAction(Provider<CurrentUser> user) {
+    this.user = user;
+  }
+
+  @Override
+  public String apply(RevisionResource rev, Input input) {
+    final String greeting = input.french
+        ? "Bonjour"
+        : "Hello";
+    return String.format("%s %s from change %s, patch set %d!",
+        greeting,
+        Strings.isNullOrEmpty(input.message)
+            ? Objects.firstNonNull(user.get().getUserName(), "world")
+            : input.message,
+        rev.getChange().getId().toString(),
+        rev.getPatchSet().getPatchSetId());
+  }
+
+  @Override
+  public Description getDescription(
+      RevisionResource resource) {
+    return new Description()
+        .setLabel("Say hello")
+        .setTitle("Say hello in different languages");
+  }
+}
+```
+
+Sometimes plugins may want to be able to change the state of a patch set
+or change in the `UiAction.apply()` method and reflect these changes on
+the core UI. For example a buildbot plugin which exposes a *Schedule*
+button on the patch set panel may want to disable that button after the
+build was scheduled and update the tooltip of that button. But because
+of Gerrit’s caching strategy the following must be taken into
+consideration.
+
+The browser is allowed to cache the `UiAction` information until
+something on the change is modified. More accurately the change row
+needs to be modified in the database to have a more recent
+`lastUpdatedOn` or a new `rowVersion`, or the `refs/meta/config` of the
+project or any parents needs to change to a new SHA-1. The ETag SHA-1
+computation code can be found in the `ChangeResource.getETag()` method.
+
+The easiest way to accomplish this is to update `lastUpdatedOn` of the
+change:
+
+``` java
+@Override
+public Object apply(RevisionResource rcrs, Input in) {
+  // schedule a build
+  [...]
+  // update change
+  ReviewDb db = dbProvider.get();
+  try (BatchUpdate bu = batchUpdateFactory.create(
+      db, project.getNameKey(), user, TimeUtil.nowTs())) {
+    bu.addOp(change.getId(), new BatchUpdate.Op() {
+      @Override
+      public boolean updateChange(ChangeContext ctx) {
+        return true;
+      }
+    });
+    bu.execute();
+  }
+  [...]
+}
+```
+
+`UiAction` must be bound in a plugin module:
+
+``` java
+public class Module extends AbstractModule {
+  @Override
+  protected void configure() {
+    install(new RestApiModule() {
+      @Override
+      protected void configure() {
+        post(REVISION_KIND, "say-hello")
+            .to(HelloWorldAction.class);
+      }
+    });
+  }
+}
+```
+
+The module above must be declared in the `pom.xml` for Maven driven
+plugins:
+
+``` xml
+<manifestEntries>
+  <Gerrit-Module>com.googlesource.gerrit.plugins.cookbook.Module</Gerrit-Module>
+</manifestEntries>
+```
+
+or in the `BUILD` configuration file for Bazel driven plugins:
+
+``` python
+manifest_entries = [
+  'Gerrit-Module: com.googlesource.gerrit.plugins.cookbook.Module',
+]
+```
+
+In some use cases more user input must be gathered, for that `UiAction`
+can be combined with the JavaScript API. This would display a small
+popup near the activation button to gather additional input from the
+user. The JS file is typically put in the `static` folder within the
+plugin’s directory:
+
+``` javascript
+Gerrit.install(function(self) {
+  function onSayHello(c) {
+    var f = c.textfield();
+    var t = c.checkbox();
+    var b = c.button('Say hello', {onclick: function(){
+      c.call(
+        {message: f.value, french: t.checked},
+        function(r) {
+          c.hide();
+          window.alert(r);
+          c.refresh();
+        });
+    }});
+    c.popup(c.div(
+      c.prependLabel('Greeting message', f),
+      c.br(),
+      c.label(t, 'french'),
+      c.br(),
+      b));
+    f.focus();
+  }
+  self.onAction('revision', 'say-hello', onSayHello);
+});
+```
+
+The JS module must be exposed as a `WebUiPlugin` and bound as an HTTP
+Module:
+
+``` java
+public class HttpModule extends HttpPluginModule {
+  @Override
+  protected void configureServlets() {
+    DynamicSet.bind(binder(), WebUiPlugin.class)
+        .toInstance(new JavaScriptPlugin("hello.js"));
+  }
+}
+```
+
+The HTTP module above must be declared in the `pom.xml` for Maven driven
+plugins:
+
+``` xml
+<manifestEntries>
+  <Gerrit-HttpModule>com.googlesource.gerrit.plugins.cookbook.HttpModule</Gerrit-HttpModule>
+</manifestEntries>
+```
+
+or in the `BUILD` configuration file for Bazel driven plugins
+
+``` python
+manifest_entries = [
+  'Gerrit-HttpModule: com.googlesource.gerrit.plugins.cookbook.HttpModule',
+]
+```
+
+If `UiAction` is annotated with the `@RequiresCapability` annotation,
+then the capability check is done during the `UiAction` gathering, so
+the plugin author doesn’t have to set
+`UiAction.Description.setVisible()` explicitly in this case.
+
+The following prerequisites must be met, to satisfy the capability
+check:
+
+  - user is authenticated
+
+  - user is a member of a group which has the `Administrate Server`
+    capability, or
+
+  - user is a member of a group which has the required capability
+
+The `apply` method is called when the button is clicked. If `UiAction`
+is combined with JavaScript API (its own JavaScript function is
+provided), then a popup dialog is normally opened to gather additional
+user input. A new button is placed on the popup dialog to actually send
+the request.
+
+Every `UiAction` exposes a REST API endpoint. The endpoint from the
+example above can be accessed from any REST client, i. e.:
+
+``` 
+  curl -X POST -H "Content-Type: application/json" \
+    -d '{message: "François", french: true}' \
+    --user joe:secret \
+    http://host:port/a/changes/1/revisions/1/cookbook~say-hello
+  "Bonjour François from change 1, patch set 1!"
+```
+
+A special case is to bind an endpoint without a view name. This is
+particularly useful for `DELETE` requests:
+
+``` java
+public class Module extends AbstractModule {
+  @Override
+  protected void configure() {
+    install(new RestApiModule() {
+      @Override
+      protected void configure() {
+        delete(PROJECT_KIND)
+            .to(DeleteProject.class);
+      }
+    });
+  }
+}
+```
+
+For a `UiAction` bound this way, a JS API function can be provided.
+
+Currently only one restriction exists: per plugin only one `UiAction`
+can be bound per resource without view name. To define a JS function for
+the `UiAction`, "/" must be used as the name:
+
+``` javascript
+Gerrit.install(function(self) {
+  function onDeleteProject(c) {
+    [...]
+  }
+  self.onAction('project', '/', onDeleteProject);
+});
+```
+
+### Action Visitors
+
+In addition to providing new actions, plugins can have fine-grained
+control over the [ActionInfo](rest-api-changes.html#action-info) map,
+modifying or removing existing actions, including those contributed by
+core.
+
+Visitors are provided the
+[ActionInfo](rest-api-changes.html#action-info), which is mutable, along
+with copies of the [ChangeInfo](rest-api-changes.html#change-info) and
+[RevisionInfo](rest-api-changes.html#revision-info). They can modify the
+action, or return `false` to exclude it from the resulting map.
+
+These operations only affect the action buttons that are displayed in
+the UI; the underlying REST API endpoints are not affected. Multiple
+plugins may implement the visitor interface, but the order in which they
+are run is undefined.
+
+For example, to exclude "Cherry-Pick" only from certain projects, and
+rename "Abandon":
+
+``` java
+public class MyActionVisitor implements ActionVisitor {
+  @Override
+  public boolean visit(String name, ActionInfo actionInfo,
+      ChangeInfo changeInfo) {
+    if (name.equals("abandon")) {
+      actionInfo.label = "Drop";
+    }
+    return true;
+  }
+
+  @Override
+  public boolean visit(String name, ActionInfo actionInfo,
+      ChangeInfo changeInfo, RevisionInfo revisionInfo) {
+    if (project.startsWith("some-team/") && name.equals("cherrypick")) {
+      return false;
+    }
+    return true;
+  }
+}
+```
+
+## Top Menu Extensions
+
+Plugins can contribute items to Gerrit’s top menu.
+
+A single top menu extension can have multiple elements and will be put
+as the last element in Gerrit’s top menu.
+
+Plugins define the top menu entries by implementing `TopMenu` interface:
+
+``` java
+public class MyTopMenuExtension implements TopMenu {
+
+  @Override
+  public List<MenuEntry> getEntries() {
+    return Lists.newArrayList(
+               new MenuEntry("Top Menu Entry", Lists.newArrayList(
+                      new MenuItem("Gerrit", "http://gerrit.googlecode.com/"))));
+  }
+}
+```
+
+Plugins can also add additional menu items to Gerrit’s top menu entries
+by defining a `MenuEntry` that has the same name as a Gerrit top menu
+entry:
+
+``` java
+public class MyTopMenuExtension implements TopMenu {
+
+  @Override
+  public List<MenuEntry> getEntries() {
+    return Lists.newArrayList(
+               new MenuEntry(GerritTopMenu.PROJECTS, Lists.newArrayList(
+                      new MenuItem("Browse Repositories", "https://gerrit.googlesource.com/"))));
+  }
+}
+```
+
+`MenuItems` that are bound for the `MenuEntry` with the name
+`GerritTopMenu.PROJECTS` can contain a `${projectName}` placeholder
+which is automatically replaced by the actual project name.
+
+E.g. plugins may register an [HTTP Servlet](#http) to handle project
+specific requests and add an menu item for this:
+
+``` java
+---
+  new MenuItem("My Screen", "/plugins/myplugin/project/${projectName}");
+---
+```
+
+This also enables plugins to provide menu items for project aware
+screens:
+
+``` java
+---
+  new MenuItem("My Screen", "/x/my-screen/for/${projectName}");
+---
+```
+
+If no Guice modules are declared in the manifest, the top menu extension
+may use auto-registration by providing an `@Listen` annotation:
+
+``` java
+@Listen
+public class MyTopMenuExtension implements TopMenu {
+  [...]
+}
+```
+
+Otherwise the top menu extension must be bound in the plugin module used
+for the Gerrit system injector (Gerrit-Module entry in MANIFEST.MF):
+
+``` java
+package com.googlesource.gerrit.plugins.helloworld;
+
+public class HelloWorldModule extends AbstractModule {
+  @Override
+  protected void configure() {
+    DynamicSet.bind(binder(), TopMenu.class).to(MyTopMenuExtension.class);
+  }
+}
+```
+
+``` manifest
+Gerrit-ApiType: plugin
+Gerrit-Module: com.googlesource.gerrit.plugins.helloworld.HelloWorldModule
+```
+
+It is also possible to show some menu entries only if the user has a
+certain capability:
+
+``` java
+public class MyTopMenuExtension implements TopMenu {
+  private final String pluginName;
+  private final Provider<CurrentUser> userProvider;
+  private final List<MenuEntry> menuEntries;
+
+  @Inject
+  public MyTopMenuExtension(@PluginName String pluginName,
+      Provider<CurrentUser> userProvider) {
+    this.pluginName = pluginName;
+    this.userProvider = userProvider;
+    menuEntries = new ArrayList<TopMenu.MenuEntry>();
+
+    // add menu entry that is only visible to users with a certain capability
+    if (canSeeMenuEntry()) {
+      menuEntries.add(new MenuEntry("Top Menu Entry", Collections
+          .singletonList(new MenuItem("Gerrit", "http://gerrit.googlecode.com/"))));
+    }
+
+    // add menu entry that is visible to all users (even anonymous users)
+    menuEntries.add(new MenuEntry("Top Menu Entry", Collections
+          .singletonList(new MenuItem("Documentation", "/plugins/myplugin/"))));
+  }
+
+  private boolean canSeeMenuEntry() {
+    if (userProvider.get().isIdentifiedUser()) {
+      CapabilityControl ctl = userProvider.get().getCapabilities();
+      return ctl.canPerform(pluginName + "-" + MyCapability.ID)
+          || ctl.canAdministrateServer();
+    } else {
+      return false;
+    }
+  }
+
+  @Override
+  public List<MenuEntry> getEntries() {
+    return menuEntries;
+  }
+}
+```
+
+## GWT UI Extension
+
+Plugins can extend the Gerrit UI with own GWT code.
+
+A GWT plugin must contain a GWT module file, e.g. `HelloPlugin.gwt.xml`,
+that bundles together all the configuration settings of the GWT plugin:
+
+``` xml
+<?xml version="1.0" encoding="UTF-8"?>
+<module rename-to="hello_gwt_plugin">
+  <!-- Inherit the core Web Toolkit stuff. -->
+  <inherits name="com.google.gwt.user.User"/>
+  <!-- Other module inherits -->
+  <inherits name="com.google.gerrit.Plugin"/>
+  <inherits name="com.google.gwt.http.HTTP"/>
+  <!-- Using GWT built-in themes adds a number of static -->
+  <!-- resources to the plugin. No theme inherits lines were -->
+  <!-- added in order to make this plugin as simple as possible -->
+  <!-- Specify the app entry point class. -->
+  <entry-point class="${package}.client.HelloPlugin"/>
+  <stylesheet src="hello.css"/>
+</module>
+```
+
+The GWT module must inherit `com.google.gerrit.Plugin` and
+`com.google.gwt.http.HTTP`.
+
+To register the GWT module a `GwtPlugin` needs to be bound.
+
+If no Guice modules are declared in the manifest, the GWT plugin may use
+auto-registration by using the `@Listen` annotation:
+
+``` java
+@Listen
+public class MyExtension extends GwtPlugin {
+  public MyExtension() {
+    super("hello_gwt_plugin");
+  }
+}
+```
+
+Otherwise the binding must be done in an `HttpModule`:
+
+``` java
+public class HttpModule extends HttpPluginModule {
+
+  @Override
+  protected void configureServlets() {
+    DynamicSet.bind(binder(), WebUiPlugin.class)
+        .toInstance(new GwtPlugin("hello_gwt_plugin"));
+  }
+}
+```
+
+The HTTP module above must be declared in the `pom.xml` for Maven driven
+plugins:
+
+``` xml
+<manifestEntries>
+  <Gerrit-HttpModule>com.googlesource.gerrit.plugins.myplugin.HttpModule</Gerrit-HttpModule>
+</manifestEntries>
+```
+
+The name that is provided to the `GwtPlugin` must match the GWT module
+name compiled into the plugin. The name of the GWT module can be
+explicitly set in the GWT module XML file by specifying the `rename-to`
+attribute on the module. It is important that the module name be unique
+across all plugins installed on the server, as the module name
+determines the JavaScript namespace used by the compiled plugin code.
+
+``` xml
+<module rename-to="hello_gwt_plugin">
+```
+
+The actual GWT code must be implemented in a class that extends
+`com.google.gerrit.plugin.client.PluginEntryPoint`:
+
+``` java
+public class HelloPlugin extends PluginEntryPoint {
+
+  @Override
+  public void onPluginLoad() {
+    // Create the dialog box
+    final DialogBox dialogBox = new DialogBox();
+
+    // The content of the dialog comes from a User specified Preference
+    dialogBox.setText("Hello from GWT Gerrit UI plugin");
+    dialogBox.setAnimationEnabled(true);
+    Button closeButton = new Button("Close");
+    VerticalPanel dialogVPanel = new VerticalPanel();
+    dialogVPanel.setWidth("100%");
+    dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_CENTER);
+    dialogVPanel.add(closeButton);
+
+    closeButton.addClickHandler(new ClickHandler() {
+      public void onClick(ClickEvent event) {
+        dialogBox.hide();
+      }
+    });
+
+    // Set the contents of the Widget
+    dialogBox.setWidget(dialogVPanel);
+
+    RootPanel rootPanel = RootPanel.get(HelloMenu.MENU_ID);
+    rootPanel.getElement().removeAttribute("href");
+    rootPanel.addDomHandler(new ClickHandler() {
+        @Override
+        public void onClick(ClickEvent event) {
+          dialogBox.center();
+          dialogBox.show();
+        }
+    }, ClickEvent.getType());
+  }
+}
+```
+
+This class must be set as entry point in the GWT module:
+
+``` xml
+<entry-point class="${package}.client.HelloPlugin"/>
+```
+
+In addition this class must be defined as module in the `pom.xml` for
+the `gwt-maven-plugin` and the `webappDirectory` option of
+`gwt-maven-plugin` must be set to
+`${project.build.directory}/classes/static`:
+
+``` xml
+<plugin>
+  <groupId>org.codehaus.mojo</groupId>
+  <artifactId>gwt-maven-plugin</artifactId>
+  <version>2.7.0</version>
+  <configuration>
+    <module>com.googlesource.gerrit.plugins.myplugin.HelloPlugin</module>
+    <disableClassMetadata>true</disableClassMetadata>
+    <disableCastChecking>true</disableCastChecking>
+    <webappDirectory>${project.build.directory}/classes/static</webappDirectory>
+  </configuration>
+  <executions>
+    <execution>
+      <goals>
+        <goal>compile</goal>
+      </goals>
+    </execution>
+  </executions>
+</plugin>
+```
+
+To attach a GWT widget defined by the plugin to the Gerrit core UI
+`com.google.gwt.user.client.ui.RootPanel` can be used to manipulate the
+Gerrit core widgets:
+
+``` java
+RootPanel rootPanel = RootPanel.get(HelloMenu.MENU_ID);
+rootPanel.getElement().removeAttribute("href");
+rootPanel.addDomHandler(new ClickHandler() {
+  @Override
+  public void onClick(ClickEvent event) {
+    dialogBox.center();
+    dialogBox.show();
+  }
+}, ClickEvent.getType());
+```
+
+GWT plugins can come with their own css file. This css file must have a
+unique name and must be registered in the GWT module:
+
+``` xml
+<stylesheet src="hello.css"/>
+```
+
+If a GWT plugin wants to invoke the Gerrit REST API it can use
+`com.google.gerrit.plugin.client.rpc.RestApi` to construct the URL path
+and to trigger the REST calls.
+
+Example for invoking a Gerrit core REST endpoint:
+
+``` java
+new RestApi("projects").id(projectName).view("description")
+    .put("new description", new AsyncCallback<JavaScriptObject>() {
+
+  @Override
+  public void onSuccess(JavaScriptObject result) {
+    // TODO
+  }
+
+  @Override
+  public void onFailure(Throwable caught) {
+    // never invoked
+  }
+});
+```
+
+Example for invoking a REST endpoint defined by a plugin:
+
+``` java
+new RestApi("projects").id(projectName).view("myplugin", "myview")
+    .get(new AsyncCallback<JavaScriptObject>() {
+
+  @Override
+  public void onSuccess(JavaScriptObject result) {
+    // TODO
+  }
+
+  @Override
+  public void onFailure(Throwable caught) {
+    // never invoked
+  }
+});
+```
+
+The `onFailure(Throwable)` of the provided callback is never invoked. If
+an error occurs, it is shown in an error dialog.
+
+In order to be able to do REST calls the GWT module must inherit
+`com.google.gwt.json.JSON`:
+
+``` xml
+<inherits name="com.google.gwt.json.JSON"/>
+```
+
+## Add Screen
+
+A [GWT plugin](#gwt_ui_extension) can [add a menu
+item](#top-menu-extensions) that opens a screen that is implemented by
+the plugin. This way plugin screens can be fully integrated into the
+Gerrit UI.
+
+Example menu item:
+
+``` java
+public class MyMenu implements TopMenu {
+  private final List<MenuEntry> menuEntries;
+
+  @Inject
+  public MyMenu(@PluginName String name) {
+    menuEntries = new ArrayList<>();
+    menuEntries.add(new MenuEntry("My Menu", Collections.singletonList(
+      new MenuItem("My Screen", "#/x/" + name + "/my-screen", ""))));
+  }
+
+  @Override
+  public List<MenuEntry> getEntries() {
+    return menuEntries;
+  }
+}
+```
+
+Example screen:
+
+``` java
+public class MyPlugin extends PluginEntryPoint {
+  @Override
+  public void onPluginLoad() {
+    Plugin.get().screen("my-screen", new Screen.EntryPoint() {
+      @Override
+      public void onLoad(Screen screen) {
+        screen.add(new InlineLabel("My Screen");
+        screen.show();
+      }
+    });
+  }
+}
+```
+
+## Add User Settings Screen
+
+A [GWT plugin](#gwt_ui_extension) can implement a user settings screen
+that is integrated into the Gerrit user settings menu.
+
+Example settings screen:
+
+``` java
+public class MyPlugin extends PluginEntryPoint {
+  @Override
+  public void onPluginLoad() {
+    Plugin.get().settingsScreen("my-preferences", "My Preferences",
+        new Screen.EntryPoint() {
+          @Override
+          public void onLoad(Screen screen) {
+            screen.setPageTitle("Settings");
+            screen.add(new InlineLabel("My Preferences"));
+            screen.show();
+          }
+    });
+  }
+}
+```
+
+By defining an [urlAlias](config-gerrit.html#urlAlias) Gerrit
+administrators can map plugin screens into the Gerrit URL namespace or
+even replace Gerrit screens by plugin screens.
+
+Plugins may also programatically add URL aliases in the preferences of
+of a user. This way certain screens can be replaced for certain users.
+E.g. the plugin may offer a user preferences setting for choosing a
+screen that then sets/unsets a URL alias for the user.
+
+## Plugin Settings Screen
+
+If a plugin implements a screen for administrating its settings that is
+available under "\#/x/\<plugin-name\>/settings" it is automatically
+linked from the plugin list screen.
+
+## HTTP Servlets
+
+Plugins or extensions may register additional HTTP servlets, and wrap
+them with HTTP filters.
+
+Servlets may use auto-registration to declare the URL they handle:
+
+``` java
+import com.google.gerrit.extensions.annotations.Export;
+import com.google.inject.Singleton;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@Export("/print")
+@Singleton
+class HelloServlet extends HttpServlet {
+  protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
+    res.setContentType("text/plain");
+    res.setCharacterEncoding("UTF-8");
+    res.getWriter().write("Hello");
+  }
+}
+```
+
+The auto registration only works for standard servlet mappings like
+`/foo` or `+/foo/*+`. Regex style bindings must use a Guice
+ServletModule to register the HTTP servlets and declare it explicitly in
+the manifest with the `Gerrit-HttpModule` attribute:
+
+``` java
+import com.google.inject.servlet.ServletModule;
+
+class MyWebUrls extends ServletModule {
+  protected void configureServlets() {
+    serve("/print").with(HelloServlet.class);
+  }
+}
+```
+
+For a plugin installed as name `helloworld`, the servlet implemented by
+HelloServlet class will be available to users as:
+
+    $ curl http://review.example.com/plugins/helloworld/print
+
+## Data Directory
+
+Plugins can request a data directory with a `@PluginData` Path (or File,
+deprecated) dependency. A data directory will be created automatically
+by the server in `$site_path/data/$plugin_name` and passed to the
+plugin.
+
+Plugins can use this to store any data they want.
+
+``` java
+@Inject
+MyType(@PluginData java.nio.file.Path myDir) {
+  this.in = Files.newInputStream(myDir.resolve("my.config"));
+}
+```
+
+## SecureStore
+
+SecureStore allows to change the way Gerrit stores sensitive data like
+passwords.
+
+In order to replace the default SecureStore (no-op) implementation, a
+class that extends `com.google.gerrit.server.securestore.SecureStore`
+needs to be provided (with dependencies) in a separate jar file. Then
+[SwitchSecureStore](pgm-SwitchSecureStore.html) must be run to switch
+implementations.
+
+The SecureStore implementation is instantiated using a Guice injector
+which binds the `File` annotated with the `@SitePath` annotation. This
+means that a SecureStore implementation class can get access to the
+`site_path` like in the following example:
+
+``` java
+@Inject
+MySecureStore(@SitePath java.io.File sitePath) {
+  // your code
+}
+```
+
+No Guice bindings or modules are required. Gerrit will automatically
+discover and bind the implementation.
+
+## Account Creation
+
+Plugins can hook into the [account
+creation](rest-api-accounts.html#create-account) REST API and inject
+additional external identifiers for an account that represents a user in
+some external user store. For that, an implementation of the extension
+point `com.google.gerrit.server.api.accounts.AccountExternalIdCreator`
+must be registered.
+
+``` java
+class MyExternalIdCreator implements AccountExternalIdCreator {
+  @Override
+  public List<AccountExternalId> create(Account.Id id, String username,
+      String email) {
+    // your code
+  }
+}
+
+bind(AccountExternalIdCreator.class)
+  .annotatedWith(UniqueAnnotations.create())
+  .to(MyExternalIdCreator.class);
+}
+```
+
+## Download Commands
+
+Gerrit offers commands for downloading changes and cloning projects
+using different download schemes (e.g. for downloading via different
+network protocols). Plugins can contribute download schemes, download
+commands and clone commands by implementing
+`com.google.gerrit.extensions.config.DownloadScheme`,
+`com.google.gerrit.extensions.config.DownloadCommand` and
+`com.google.gerrit.extensions.config.CloneCommand`.
+
+The download schemes, download commands and clone commands which are
+used most often are provided by the Gerrit core plugin
+`download-commands`.
+
+## Included In
+
+For merged changes the [Included In](user-review-ui.html#included-in)
+drop-down panel shows the branches and tags in which the change is
+included.
+
+Plugins can add additional systems in which the change can be included
+by implementing
+`com.google.gerrit.extensions.config.ExternalIncludedIn`, e.g. a plugin
+can provide a list of servers on which the change was deployed.
+
+## Links To External Tools
+
+Gerrit has extension points that enables development of a light-weight
+plugin that links commits to external tools (GitBlit, CGit, company
+specific resources etc).
+
+PatchSetWebLinks will appear to the right of the commit-SHA1 in the UI.
+
+``` java
+import com.google.gerrit.extensions.annotations.Listen;
+import com.google.gerrit.extensions.webui.PatchSetWebLink;;
+import com.google.gerrit.extensions.webui.WebLinkTarget;
+
+@Listen
+public class MyWeblinkPlugin implements PatchSetWebLink {
+
+  private String name = "MyLink";
+  private String placeHolderUrlProjectCommit = "http://my.tool.com/project=%s/commit=%s";
+  private String imageUrl = "http://placehold.it/16x16.gif";
+
+  @Override
+  public WebLinkInfo getPatchSetWebLink(String projectName, String commit) {
+    return new WebLinkInfo(name,
+        imageUrl,
+        String.format(placeHolderUrlProjectCommit, project, commit),
+        WebLinkTarget.BLANK);
+  }
+}
+```
+
+ParentWebLinks will appear to the right of the SHA1 of the parent
+revisions in the UI. The implementation should in most use cases direct
+to the same external service as PatchSetWebLink; it is provided as a
+separate interface because not all users want to have links for the
+parent revisions.
+
+FileWebLinks will appear in the side-by-side diff screen on the right
+side of the patch selection on each side.
+
+DiffWebLinks will appear in the side-by-side and unified diff screen in
+the header next to the navigation icons.
+
+ProjectWebLinks will appear in the project list in the `Repository
+Browser` column.
+
+BranchWebLinks will appear in the branch list in the last column.
+
+FileHistoryWebLinks will appear on the access rights screen.
+
+TagWebLinks will appear in the tag list in the last column.
+
+If a `get*WebLink` implementation returns `null`, the link will be
+omitted. This allows the plugin to selectively "enable" itself on a
+per-project/branch/file basis.
+
+## LFS Storage Plugins
+
+Gerrit provides an extension point that enables development of [LFS
+(Large File
+Storage)](https://github.com/github/git-lfs/blob/master/docs/api/v1/http-v1-batch.md)
+storage plugins. Gerrit core exposes the default LFS protocol endpoint
+`<project-name>/info/lfs/objects/batch` and forwards the requests to the
+configured [lfs.plugin](config-gerrit.html#lfs) plugin which implements
+the LFS protocol. By exposing the default LFS endpoint, the git-lfs
+client can be used without any configuration.
+
+``` java
+/** Provide an LFS protocol implementation */
+import org.eclipse.jgit.lfs.server.LargeFileRepository;
+import org.eclipse.jgit.lfs.server.LfsProtocolServlet;
+
+@Singleton
+public class LfsApiServlet extends LfsProtocolServlet {
+  private static final long serialVersionUID = 1L;
+
+  private final S3LargeFileRepository repository;
+
+  @Inject
+  LfsApiServlet(S3LargeFileRepository repository) {
+    this.repository = repository;
+  }
+
+  @Override
+  protected LargeFileRepository getLargeFileRepository() {
+    return repository;
+  }
+}
+
+/** Register the LfsApiServlet to listen on the default LFS protocol endpoint */
+import static com.google.gerrit.httpd.plugins.LfsPluginServlet.URL_REGEX;
+
+import com.google.gerrit.httpd.plugins.HttpPluginModule;
+
+public class HttpModule extends HttpPluginModule {
+
+  @Override
+  protected void configureServlets() {
+    serveRegex(URL_REGEX).with(LfsApiServlet.class);
+  }
+}
+
+/** Provide an implementation of the LargeFileRepository */
+import org.eclipse.jgit.lfs.server.s3.S3Repository;
+
+public class S3LargeFileRepository extends S3Repository {
+...
+}
+```
+
+## Metrics
+
+### Metrics Reporting
+
+To send Gerrit’s metrics data to an external reporting backend, a plugin
+can get a `MetricRegistry` injected and register an instance of a class
+that implements the `Reporter` interface from [DropWizard
+Metrics](http://metrics.dropwizard.io/).
+
+Metric reporting plugin implementations are provided for
+[JMX](https://gerrit.googlesource.com/plugins/metrics-reporter-jmx/),
+[Elastic
+Search](https://gerrit.googlesource.com/plugins/metrics-reporter-elasticsearch/),
+and
+[Graphite](https://gerrit.googlesource.com/plugins/metrics-reporter-graphite/).
+
+There is also a working example of reporting metrics to the console in
+the [cookbook
+plugin](https://gerrit.googlesource.com/plugins/cookbook-plugin/+/master/src/main/java/com/googlesource/gerrit/plugins/cookbook/ConsoleMetricReporter.java).
+
+### Providing own metrics
+
+Plugins may provide metrics to be dispatched to external reporting
+services by getting a `MetricMaker` injected and creating instances of
+specific types of metric:
+
+  - Counter
+    
+    Metric whose value increments during the life of the process.
+
+  - Timer
+    
+    Metric recording time spent on an operation.
+
+  - Histogram
+    
+    Metric recording statistical distribution (rate) of values.
+
+Note that metrics cannot be recorded from plugin init steps that are run
+during site initialization.
+
+By default, plugin metrics are recorded under
+`plugins/${plugin-name}/${metric-name}`. This can be changed by setting
+`plugins.${plugin-name}.metricsPrefix` in the `gerrit.config` file. For
+example:
+
+``` 
+  [plugin "my-plugin"]
+    metricsPrefix = my-metrics
+```
+
+will cause the metrics to be recorded under `my-metrics/${metric-name}`.
+
+See the replication metrics in the [replication
+plugin](https://gerrit.googlesource.com/plugins/replication/+/master/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationMetrics.java)
+for an example of usage.
+
+## AccountPatchReviewStore
+
+The AccountPatchReviewStore is used to store reviewed flags on changes.
+A reviewed flag is a tuple of (patch set ID, file, account ID) and
+records whether the user has reviewed a file in a patch set. Each user
+can easily have thousands of reviewed flags and the number of reviewed
+flags is growing without bound. The store must be able handle this data
+volume efficiently.
+
+Gerrit implements this extension point, but plugins may bind another
+implementation, e.g. one that supports multi-master.
+
+    DynamicItem.bind(binder(), AccountPatchReviewStore.class)
+        .to(MultiMasterAccountPatchReviewStore.class);
+    
+    ...
+    
+    public class MultiMasterAccountPatchReviewStore
+        implements AccountPatchReviewStore {
+      ...
+    }
+
+## Documentation
+
+If a plugin does not register a filter or servlet to handle URLs
+`+/Documentation/*+` or `+/static/*+`, the core Gerrit server will
+automatically export these resources over HTTP from the plugin JAR.
+
+Static resources under the `static/` directory in the JAR will be
+available as `/plugins/helloworld/static/resource`. This prefix is
+configurable by setting the `Gerrit-HttpStaticPrefix` attribute.
+
+Documentation files under the `Documentation/` directory in the JAR will
+be available as `/plugins/helloworld/Documentation/resource`. This
+prefix is configurable by setting the `Gerrit-HttpDocumentationPrefix`
+attribute.
+
+Documentation may be written in the Markdown flavor
+[pegdown](https://github.com/sirthias/pegdown) if the file name ends
+with `.md`. Gerrit will automatically convert Markdown to HTML if
+accessed with extension `.html`.
+
+Within the Markdown documentation files macros can be used that allow to
+write documentation with reasonably accurate examples that adjust
+automatically based on the installation.
+
+The following macros are supported:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Macro</th>
+<th>Replacement</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>@PLUGIN@</p></td>
+<td><p>name of the plugin</p></td>
+</tr>
+<tr class="even">
+<td><p>@URL@</p></td>
+<td><p>Gerrit Web URL</p></td>
+</tr>
+<tr class="odd">
+<td><p>@SSH_HOST@</p></td>
+<td><p>SSH Host</p></td>
+</tr>
+<tr class="even">
+<td><p>@SSH_PORT@</p></td>
+<td><p>SSH Port</p></td>
+</tr>
+</tbody>
+</table>
+
+The macros will be replaced when the documentation files are rendered
+from Markdown to HTML.
+
+Macros that start with `\` such as `\@KEEP@` will render as `@KEEP@`
+even if there is an expansion for `KEEP` in the future.
+
+### Automatic Index
+
+If a plugin does not handle its `/` URL itself, Gerrit will redirect
+clients to the plugin’s `/Documentation/index.html`. Requests for
+`/Documentation/` (bare directory) will also redirect to
+`/Documentation/index.html`.
+
+If neither resource `Documentation/index.html` or
+`Documentation/index.md` exists in the plugin JAR, Gerrit will
+automatically generate an index page for the plugin’s documentation tree
+by scanning every `*.md` and `*.html` file in the Documentation/
+directory.
+
+For any discovered Markdown (`*.md`) file, Gerrit will parse the header
+of the file and extract the first level one title. This title text will
+be used as display text for a link to the HTML version of the page.
+
+For any discovered HTML (`*.html`) file, Gerrit will use the name of the
+file, minus the `*.html` extension, as the link text. Any hyphens in the
+file name will be replaced with spaces.
+
+If a discovered file is named `about.md` or `about.html`, its content
+will be inserted in an *About* section at the top of the auto-generated
+index page. If both `about.md` and `about.html` exist, only the first
+discovered file will be used.
+
+If a discovered file name beings with `cmd-` it will be clustered into a
+*Commands* section of the generated index page.
+
+If a discovered file name beings with `servlet-` it will be clustered
+into a *Servlets* section of the generated index page.
+
+If a discovered file name beings with `rest-api-` it will be clustered
+into a *REST APIs* section of the generated index page.
+
+All other files are clustered under a *Documentation* section.
+
+Some optional information from the manifest is extracted and displayed
+as part of the index page, if present in the manifest:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field</th>
+<th>Source Attribute</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Name</p></td>
+<td><p>Implementation-Title</p></td>
+</tr>
+<tr class="even">
+<td><p>Vendor</p></td>
+<td><p>Implementation-Vendor</p></td>
+</tr>
+<tr class="odd">
+<td><p>Version</p></td>
+<td><p>Implementation-Version</p></td>
+</tr>
+<tr class="even">
+<td><p>URL</p></td>
+<td><p>Implementation-URL</p></td>
+</tr>
+<tr class="odd">
+<td><p>API Version</p></td>
+<td><p>Gerrit-ApiVersion</p></td>
+</tr>
+</tbody>
+</table>
+
+## Deployment
+
+Compiled plugins and extensions can be deployed to a running Gerrit
+server using the [plugin install](cmd-plugin-install.html) command.
+
+Web UI plugins distributed as a single ‘.js\` file (or \`.html’ file for
+Polygerrit) can be deployed without the overhead of JAR packaging. For
+more information refer to [plugin install](cmd-plugin-install.html)
+command.
+
+Plugins can also be copied directly into the server’s directory at
+`$site_path/plugins/$name.(jar|js|html)`. For Web UI plugins, the name
+of the file, minus the `.js` or `.html` extension, will be used as the
+plugin name. For JAR plugins, the value of the `Gerrit-PluginName`
+manifest attribute will be used, if provided, otherwise the name of the
+file, minus the `.jar` extension, will be used.
+
+For Web UI plugins, the plugin version is derived from the filename. If
+the filename contains one or more hyphens, the version is taken from the
+portion following the last hyphen. For example if the plugin filename is
+`my-plugin-1.0.js` the version will be `1.0`. For JAR plugins, the
+version is taken from the `Version` attribute in the manifest.
+
+Unless disabled, servers periodically scan the `$site_path/plugins`
+directory for updated plugins. The time can be adjusted by
+[plugins.checkFrequency](config-gerrit.html#plugins.checkFrequency).
+
+For disabling plugins the [plugin remove](cmd-plugin-remove.html)
+command can be used.
+
+Disabled plugins can be re-enabled using the [plugin
+enable](cmd-plugin-enable.html) command.
+
+## Known issues and bugs
+
+### Error handling in UI when using the REST API
+
+When a plugin invokes a REST endpoint in the UI, it provides an
+`AsyncCallback` to handle the result. At the moment the
+`onFailure(Throwable)` of the callback is never invoked, even if there
+is an error. Errors are always handled by the Gerrit core UI which shows
+the error dialog. This means currently plugins cannot do any error
+handling and e.g. ignore expected errors.
+
+In the following example the REST endpoint would return *404 Not Found*
+if the user has no username and the Gerrit core UI would display an
+error dialog for this. However having no username is not an error and
+the plugin may like to handle this case.
+
+``` java
+new RestApi("accounts").id("self").view("username")
+    .get(new AsyncCallback<NativeString>() {
+
+  @Override
+  public void onSuccess(NativeString username) {
+    // TODO
+  }
+
+  @Override
+  public void onFailure(Throwable caught) {
+    // never invoked
+  }
+});
+```
+
+## Reviewer Suggestion Plugins
+
+Gerrit provides an extension point that enables Plugins to rank the list
+of reviewer suggestion a user receives upon clicking "Add Reviewer" on
+the change screen. Gerrit supports both a default suggestion that
+appears when the user has not yet typed anything and a filtered
+suggestion that is shown as the user starts typing. Plugins receive a
+candidate list and can return a Set of suggested reviewers containing
+the Account.Id and a score for each reviewer. The candidate list is
+non-binding and plugins can choose to return reviewers not initially
+contained in the candidate list. Server administrators can configure the
+overall weight of each plugin using the weight config parameter on
+\[addreviewer "\<pluginName-exportName\>"\].
+
+``` java
+import com.google.gerrit.common.Nullable;
+import com.google.gerrit.extensions.annotations.ExtensionPoint;
+import com.google.gerrit.reviewdb.client.Account;
+import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.Project;
+
+import java.util.Set;
+
+public class MyPlugin implements ReviewerSuggestion {
+  public Set<SuggestedReviewer> suggestReviewers(Project.NameKey project,
+      @Nullable Change.Id changeId, @Nullable String query,
+      Set<Account.Id> candidates) {
+    Set<SuggestedReviewer> suggestions = new HashSet<>();
+    // Implement your ranking logic here
+    return suggestions;
+  }
+}
+```
+
+## Mail Filter Plugins
+
+Gerrit provides an extension point that enables Plugins to discard
+incoming messages and prevent further processing by Gerrit.
+
+This can be used to implement spam checks, signature validations or
+organization specific checks like IP filters.
+
+``` java
+import com.google.gerrit.extensions.annotations.ExtensionPoint;
+import com.google.gerrit.server.mail.receive.MailMessage;
+
+public class MyPlugin implements MailFilter {
+  boolean shouldProcessMessage(MailMessage message) {
+    // Implement your filter logic here
+    return true;
+  }
+}
+```
+
+## SEE ALSO
+
+  - [JavaScript API](js-api.html)
+
+  - [REST API Developers' Notes](dev-rest-api.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-polygerrit.md b/jekyll-source/pages/gerrit/dev-polygerrit.md
new file mode 100644
index 0000000..7c76fea
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-polygerrit.md
@@ -0,0 +1,42 @@
+---
+title: " PolyGerrit - GUI"
+sidebar: gerritdoc_sidebar
+permalink: dev-polygerrit.html
+---
+> **Important**
+> 
+> PolyGerrit is still a beta feature…
+
+Missing features in PolyGerrit:
+
+  - Inline Edit
+
+  - And many more features missing.
+
+## Configuring
+
+By default both GWT and PolyGerrit UI are available to users.
+
+To disable GWT but not PolyGerrit:
+
+    [gerrit]
+            enableGwtUi = false
+            enablePolyGerrit = true
+
+To enable GWT but not PolyGerrit:
+
+    [gerrit]
+            enableGwtUi = true
+            enablePolyGerrit = false
+
+To switch to the PolyGerrit UI you have to add `?polygerrit=1` in the
+URL.
+
+for example <https://gerrit.example.org/?polygerrit=1>
+
+To disable PolyGerrit UI, change 1 to 0, which will take you back to GWT
+UI.
+
+More information can be found in the
+[README](https://gerrit.googlesource.com/gerrit/+/master/polygerrit-ui/)
+
diff --git a/jekyll-source/pages/gerrit/dev-readme.md b/jekyll-source/pages/gerrit/dev-readme.md
new file mode 100644
index 0000000..a9afd5b
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-readme.md
@@ -0,0 +1,280 @@
+---
+title: " Gerrit Code Review - Developer Setup"
+sidebar: gerritdoc_sidebar
+permalink: dev-readme.html
+---
+Google Bazel is needed to compile the code, and an SQL database to house
+the review metadata. H2 is recommended for development databases, as it
+requires no external server process.
+
+## Getting the Source
+
+Create a new client workspace:
+
+``` 
+  git clone --recursive https://gerrit.googlesource.com/gerrit
+  cd gerrit
+```
+
+The `--recursive` option is needed on `git clone` to ensure that the
+core plugins, which are included as git submodules, are also cloned.
+
+## Compiling
+
+Please refer to [Building with Bazel](#dev-bazel#).
+
+## Switching between branches
+
+When switching between branches with `git checkout`, be aware that
+submodule revisions are not altered. This may result in the wrong plugin
+revisions being present, unneeded plugins being present, or expected
+plugins being missing.
+
+After switching branches, make sure the submodules are at the correct
+revisions for the new branch with the commands:
+
+``` 
+  git submodule update
+  git clean -fdx
+```
+
+> **Caution**
+> 
+> If you decide to store your Eclipse/IntelliJ project files in the
+> Gerrit source directories, executing `git clean -fdx` will remove them
+> and hence screw up your project.
+
+## Configuring Eclipse
+
+To use the Eclipse IDE for development, please see [Eclipse
+Setup](dev-eclipse.html).
+
+For details on how to configure the Eclipse workspace with Bazel, refer
+to: [Eclipse integration with Bazel](dev-bazel.html#eclipse).
+
+## Configuring IntelliJ IDEA
+
+Please refer to [IntelliJ Setup](#dev-intellij#) for detailed
+instructions.
+
+## Mac OS X
+
+On Mac OS X ensure "Java For Mac OS X 10.5 Update 4" (or later) has been
+installed, and that `JAVA_HOME` is set to the [required Java
+version](install.html#Requirements).
+
+Java installations can typically be found in
+"/System/Library/Frameworks/JavaVM.framework/Versions".
+
+You can check the installed Java version by running `java -version` in
+the terminal.
+
+## Site Initialization
+
+After compiling [(above)](#compile_project), run Gerrit’s *init* command
+to create a testing site for development use:
+
+``` 
+  $(bazel info output_base)/external/local_jdk/bin/java \
+     -jar bazel-bin/gerrit.war init -d ../gerrit_testsite
+```
+
+> **Note**
+> 
+> You must use the same Java version that Bazel used for the build. This
+> Java version is available at `$(bazel info
+> output_base)/external/local_jdk/bin/java`.
+
+During initialization, make two changes to the default settings:
+
+  - Change the listen addresses from *\** to *localhost* to prevent
+    outside connections from contacting the development instance; and
+
+  - Change the auth type from *OPENID* to
+    *DEVELOPMENT\_BECOME\_ANY\_ACCOUNT* to allow yourself to create and
+    act as arbitrary test accounts on your development instance.
+
+Continue through init until it completes. The daemon will automatically
+start in the background and a web browser will launch to the start page.
+From here you can sign in as the account created during init, register
+additional accounts, create projects, and more.
+
+When you want to shut down the daemon, simply run:
+
+``` 
+  ../gerrit_testsite/bin/gerrit.sh stop
+```
+
+## Working with the Local Server
+
+If you need to create additional accounts on your development instance,
+click *become* in the upper right corner, select *Switch User*, and then
+register a new account.
+
+Use the `ssh` protocol to clone from and push to the local server. For
+example, to clone a repository that you’ve created through the admin
+interface, run:
+
+    git clone ssh://username@localhost:29418/projectname
+
+Then you’ll be able to create changes the same way users do, with
+
+    git push origin HEAD:refs/for/master
+
+## Testing
+
+### Running the Acceptance Tests
+
+Gerrit has a set of integration tests that test the Gerrit daemon via
+REST, SSH and the git protocol.
+
+A new review site is created for each test and the Gerrit daemon is
+started on that site. When the test has finished the Gerrit daemon is
+shutdown.
+
+For instructions on running the integration tests with Bazel, please
+refer to: [Running Unit Tests with Bazel](#dev-bazel#tests).
+
+### Running the Daemon
+
+The daemon can be directly launched from the build area, without copying
+to the test site:
+
+``` 
+  $(bazel info output_base)/external/local_jdk/bin/java \
+     -jar bazel-bin/gerrit.war daemon -d ../gerrit_testsite \
+     --console-log
+```
+
+> **Note**
+> 
+> Please refer to [this explanation](#special_bazel_java_version) for
+> details why using `java -jar` isn’t sufficient.
+
+If you want to debug the Gerrit server of this test site, you can open a
+debug port (for example port 5005) by inserting
+
+    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
+
+directly after `-jar` of the previous command. Please refer to
+[Debugging a remote Gerrit server](#dev-intellij#remote-debug) for
+instructions of how to attach IntelliJ.
+
+### Running the Daemon with Gerrit Inspector
+
+[Gerrit Inspector](dev-inspector.html) is an interactive scriptable
+environment to inspect and modify internal state of the system.
+
+This environment is available on the system console after the system
+starts. Leaving the Inspector will shutdown the Gerrit instance.
+
+The environment allows interactive work as well as running of Python
+scripts for troubleshooting.
+
+Gerrit Inspect can be started by adding *-s* option to the command used
+to launch the daemon:
+
+``` 
+  $(bazel info output_base)/external/local_jdk/bin/java \
+     -jar bazel-bin/gerrit.war daemon -d ../gerrit_testsite -s
+```
+
+> **Note**
+> 
+> Please refer to [this explanation](#special_bazel_java_version) for
+> details why using `java -jar` isn’t sufficient.
+
+Gerrit Inspector examines Java libraries first, then loads its
+initialization scripts and then starts a command line prompt on the
+console:
+
+``` 
+  Welcome to the Gerrit Inspector
+  Enter help() to see the above again, EOF to quit and stop Gerrit
+  Jython 2.5.2 (Release_2_5_2:7206, Mar 2 2011, 23:12:06)
+  [OpenJDK 64-Bit Server VM (Sun Microsystems Inc.)] on java1.6.0 running for Gerrit 2.3-rc0-163-g01967ef
+  >>>
+```
+
+With the Inspector enabled Gerrit can be used normally and all
+interfaces (HTTP, SSH etc.) are available.
+
+Care must be taken not to modify internal state of the system when using
+the Inspector.
+
+### Querying the Database
+
+The embedded H2 database can be queried and updated from the command
+line. If the daemon is not currently running:
+
+``` 
+  $(bazel info output_base)/external/local_jdk/bin/java \
+     -jar bazel-bin/gerrit.war gsql -d ../gerrit_testsite -s
+```
+
+> **Note**
+> 
+> Please refer to [this explanation](#special_bazel_java_version) for
+> details why using `java -jar` isn’t sufficient.
+
+Or, if it is running and the database is in use, connect over SSH using
+an administrator user account:
+
+``` 
+  ssh -p 29418 user@localhost gerrit gsql
+```
+
+### Debugging JavaScript
+
+When debugging browser specific issues add `?dbg=1` to the URL so the
+resulting JavaScript more closely matches the Java sources. The debug
+pages use the GWT pretty format, where function and variable names match
+the Java sources.
+
+``` 
+  http://localhost:8080/?dbg=1
+```
+
+## Client-Server RPC
+
+The client-server RPC implementation is gwtjsonrpc, not the stock RPC
+system that comes with GWT. This buys us automatic XSRF protection. It
+also makes all of the messages readable and writable by any JSON
+implementation, facilitating "mashups" and 3rd party clients.
+
+The programming API is virtually identical, except service interfaces
+extend RemoteJsonService instead of RemoteService.
+
+## Why GWT?
+
+We like it. Plus we can write Java code once and run it both in the
+browser and on the server side.
+
+## External Links
+
+Google Web Toolkit:
+
+  - [Download](http://code.google.com/webtoolkit/download.html)
+
+Apache SSHD:
+
+  - [SSHD](http://mina.apache.org/sshd/)
+
+H2:
+
+  - [H2](http://www.h2database.com/)
+
+  - [SQL Reference](http://www.h2database.com/html/grammar.html)
+
+PostgreSQL:
+
+  - [Download](http://www.postgresql.org/download/)
+
+  - [Documentation](http://www.postgresql.org/docs/)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-release-deploy-config.md b/jekyll-source/pages/gerrit/dev-release-deploy-config.md
new file mode 100644
index 0000000..51791da
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-release-deploy-config.md
@@ -0,0 +1,187 @@
+---
+title: " Deploy Gerrit Artifacts"
+sidebar: gerritdoc_sidebar
+permalink: dev-release-deploy-config.html
+---
+## Deploy Configuration settings for Maven Central
+
+Some Gerrit artifacts (e.g. the Gerrit WAR file, the Gerrit Plugin API
+and the Gerrit Extension API) are published on Maven Central in the
+`com.google.gerrit` repository.
+
+To be able to publish artifacts to Maven Central some preparations must
+be done:
+
+  - Create an account on [Sonatype’s
+    Jira](https://issues.sonatype.org/secure/Signup!default.jspa).
+    
+    Sonatype is the company that runs Maven Central and you need a
+    Sonatype account to be able to upload artifacts to Maven Central.
+
+  - Configure your Sonatype user and password in `~/.m2/settings.xml`:
+    
+        <server>
+          <id>sonatype-nexus-staging</id>
+          <username>USER</username>
+          <password>PASSWORD</password>
+        </server>
+
+  - Request permissions to upload artifacts to the `com.google.gerrit`
+    repository on Maven Central:
+    
+    Ask for this permission by adding a comment on the
+    [OSSRH-7392](https://issues.sonatype.org/browse/OSSRH-7392) Jira
+    ticket at Sonatype.
+    
+    The request needs to be approved by someone who already has this
+    permission by commenting on the same issue.
+
+  - Generate and publish a PGP key
+    
+    A PGP key is needed to be able to sign the release artifacts before
+    the upload to Maven Central, and to sign the release announcement
+    email.
+    
+    Generate and publish a PGP key as described in [Working with PGP
+    Signatures](http://central.sonatype.org/pages/working-with-pgp-signatures.html).
+    In addition to the keyserver mentioned there it is recommended to
+    also publish the key to the [Ubuntu key
+    server](https://keyserver.ubuntu.com/).
+    
+    Please be aware that after publishing your public key it may take a
+    while until it is visible to the Sonatype server.
+    
+    Add an entry for the public key in the [key
+    list](https://gerrit.googlesource.com/homepage/+/md-pages/releases/public-keys.md)
+    on the homepage.
+    
+    The PGP passphrase can be put in `~/.m2/settings.xml`:
+    
+        <settings>
+          <profiles>
+            <profile>
+              <id>gpg</id>
+              <properties>
+                <gpg.executable>gpg2</gpg.executable>
+                <gpg.passphrase>mypassphrase</gpg.passphrase>
+              </properties>
+            </profile>
+          </profiles>
+          <activeProfiles>
+            <activeProfile>gpg</activeProfile>
+          </activeProfiles>
+        </settings>
+    
+    It can also be included in the key chain on OS X.
+
+## Deploy Configuration in Maven `settings.xml`
+
+Gerrit Subproject Artifacts are stored on [Google Cloud
+Storage](https://developers.google.com/storage/). Via the [Developers
+Console](https://console.developers.google.com/project/164060093628) the
+Gerrit maintainers have access to the `Gerrit Code Review` project. This
+projects host several buckets for storing Gerrit artifacts:
+
+  - `gerrit-api`:
+    
+    Bucket to store the Gerrit Extension API Jar and the Gerrit Plugin
+    API Jar.
+
+  - `gerrit-maven`:
+    
+    Bucket to store Gerrit Subproject Artifacts (e.g. `gwtjsonrpc`
+    etc.).
+
+To upload artifacts to a bucket the user must authenticate with a
+username and password. The username and password need to be retrieved
+from the [Storage Setting in the Google Cloud Platform
+Console](https://console.cloud.google.com/storage/settings?project=api-project-164060093628):
+
+Select the `Interoperability` tab, and if no keys are listed under
+`Interoperable storage access keys`, select *Create a new key*.
+
+Using `Access Key` as username and `Secret` as the password, add the
+configuration in the `~/.m2/settings.xml` file to make the credentials
+known to Maven:
+
+``` 
+  <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+    <servers>
+      <server>
+        <id>gerrit-api-repository</id>
+        <username>GOOG..EXAMPLE.....EXAMPLE</username>
+        <password>EXAMPLE..EXAMPLE..EXAMPLE</password>
+      </server>
+      <server>
+        <id>gerrit-maven-repository</id>
+        <username>GOOG..EXAMPLE.....EXAMPLE</username>
+        <password>EXAMPLE..EXAMPLE..EXAMPLE</password>
+      </server>
+      <server>
+        <id>gerrit-plugins-repository</id>
+        <username>GOOG..EXAMPLE.....EXAMPLE</username>
+        <password>EXAMPLE..EXAMPLE..EXAMPLE</password>
+      </server>
+    </servers>
+  </settings>
+```
+
+### Gerrit Subprojects
+
+  - You will need to have the following in the `pom.xml` to make it
+    deployable to the `gerrit-maven` storage bucket:
+
+<!-- end list -->
+
+``` 
+  <distributionManagement>
+    <repository>
+      <id>gerrit-maven-repository</id>
+      <name>Gerrit Maven Repository</name>
+      <url>gs://gerrit-maven</url>
+      <uniqueVersion>true</uniqueVersion>
+    </repository>
+  </distributionManagement>
+```
+
+> **Note**
+> 
+> In case of JGit the `pom.xml` already contains a
+> `distributionManagement` section. To deploy the artifacts to the
+> `gerrit-maven` repository, replace the existing
+> `distributionManagement` section with this snippet.
+
+  - Add these two snippets to the `pom.xml` to enable the wagon
+    provider:
+
+<!-- end list -->
+
+``` 
+  <pluginRepositories>
+    <pluginRepository>
+      <id>gerrit-maven</id>
+      <url>https://gerrit-maven.commondatastorage.googleapis.com</url>
+    </pluginRepository>
+  </pluginRepositories>
+```
+
+``` 
+  <build>
+    <extensions>
+      <extension>
+        <groupId>com.googlesource.gerrit</groupId>
+        <artifactId>gs-maven-wagon</artifactId>
+        <version>3.3</version>
+      </extension>
+    </extensions>
+  </build>
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-release-jgit.md b/jekyll-source/pages/gerrit/dev-release-jgit.md
new file mode 100644
index 0000000..858bae4
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-release-jgit.md
@@ -0,0 +1,51 @@
+---
+title: " Making a Snapshot Release of JGit"
+sidebar: gerritdoc_sidebar
+permalink: dev-release-jgit.html
+---
+This step is only necessary if we need to create an unofficial JGit
+snapshot release and publish it to the [Google Cloud
+Storage](https://developers.google.com/storage/).
+
+## Prepare the Maven Environment
+
+First, make sure you have done the necessary [configuration in Maven
+`settings.xml`](dev-release-deploy-config.html#deploy-configuration-settings-xml).
+
+To apply the necessary settings in JGit’s `pom.xml`, follow the
+instructions in [Configuration for Subprojects in
+`pom.xml`](dev-release-deploy-config.html#deploy-configuration-subprojects),
+or apply the provided diff by executing the following command in the
+JGit workspace:
+
+``` 
+  git apply /path/to/gerrit/tools/jgit-snapshot-deploy-pom.diff
+```
+
+## Prepare the Release
+
+Since JGit has its own release process we do not push any release tags.
+Instead we will use the output of `git describe` as the version of the
+current JGit snapshot.
+
+In the JGit workspace, execute the following command:
+
+``` 
+  ./tools/version.sh --release $(git describe)
+```
+
+## Publish the Release
+
+To deploy the new snapshot, execute the following command in the JGit
+workspace:
+
+``` 
+  mvn deploy
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-release-subproject.md b/jekyll-source/pages/gerrit/dev-release-subproject.md
new file mode 100644
index 0000000..286380e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-release-subproject.md
@@ -0,0 +1,94 @@
+---
+title: " Making a Release of a Gerrit Subproject"
+sidebar: gerritdoc_sidebar
+permalink: dev-release-subproject.html
+---
+## Make a Snapshot
+
+  - Build the latest snapshot and install it into the local Maven
+    repository:
+    
+    ``` 
+      mvn clean install
+    ```
+
+  - Test Gerrit with this snapshot locally
+
+## Publish Snapshot
+
+If a snapshot for a subproject was created that should be referenced by
+Gerrit while current Gerrit development is ongoing, this snapshot needs
+to be published.
+
+  - Make sure you have done the configuration needed for deployment:
+    
+      - [Configuration in Maven
+        `settings.xml`](dev-release-deploy-config.html#deploy-configuration-settings-xml)
+    
+      - [Configuration for Subprojects in
+        `pom.xml`](dev-release-deploy-config.html#deploy-configuration-subprojects)
+
+  - Deploy the new snapshot:
+    
+    ``` 
+      mvn deploy
+    ```
+
+  - Change the `id`, `bin_sha1`, and `src_sha1` values in the
+    `maven_jar` for the subproject in `/lib/BUCK` to the `SNAPSHOT`
+    version.
+    
+    When Gerrit gets released, a release of the subproject has to be
+    done and Gerrit has to reference the released subproject version.
+
+## Prepare the Release
+
+  - [First create (and test) the latest snapshot for the
+    subproject](#make-snapshot)
+
+  - Update the top level `pom.xml` in the subproject to reflect the new
+    project version (the exact value of the tag you will create below)
+
+  - Create the Release Tag
+    
+    ``` 
+      git tag -a -m "prolog-cafe 1.3" v1.3
+    ```
+
+  - Build and install into local Maven repository:
+    
+    ``` 
+      mvn clean install
+    ```
+
+## Publish the Release
+
+  - Make sure you have done the configuration needed for deployment:
+    
+      - [Configuration in Maven
+        `settings.xml`](dev-release-deploy-config.html#deploy-configuration-settings-xml)
+    
+      - Configuration in `pom.xml` for
+        [subprojects](dev-release-deploy-config.html#deploy-configuration-subprojects)
+
+  - Deploy the new release:
+    
+    ``` 
+      mvn deploy
+    ```
+
+  - Push the pom change(s) to the project’s repository
+    `refs/for/<master|stable>`
+
+  - Push the Release Tag
+    
+    ``` 
+      git push gerrit-review refs/tags/v1.3:refs/tags/v1.3
+    ```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-release.md b/jekyll-source/pages/gerrit/dev-release.md
new file mode 100644
index 0000000..6459d2e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-release.md
@@ -0,0 +1,377 @@
+---
+title: " Making a Gerrit Release"
+sidebar: gerritdoc_sidebar
+permalink: dev-release.html
+---
+> **Note**
+> 
+> This document is meant primarily for Gerrit maintainers who have been
+> given approval and submit status to the Gerrit projects. Additionally,
+> maintainers should be given owner status to the Gerrit web site.
+
+To make a Gerrit release involves a great deal of complex tasks and it
+is easy to miss a step so this document should hopefully serve as both a
+how to for those new to the process and as a checklist for those already
+familiar with these tasks.
+
+## Gerrit Release Type
+
+Here are some guidelines on release approaches depending on the type of
+release you want to make (`stable-fix`, `stable`, `rc0`, `rc1`…).
+
+### Stable
+
+A `stable` release is generally built from the `master` branch and may
+need to undergo some stabilization before releasing the final release.
+
+  - Propose the release with any plans/objectives to the mailing list
+
+  - Create a Gerrit `rc0`
+
+  - If needed create a Gerrit `rc1`
+
+> **Note**
+> 
+> You may let in a few features to this release
+
+  - If needed create a Gerrit `rc2`
+
+> **Note**
+> 
+> There should be no new features in this release, only bug fixes
+
+  - Finally create the `stable` release (no `rc`)
+
+### Stable-Fix
+
+`stable-fix` releases should likely only contain bug fixes and doc
+updates.
+
+  - Propose the release with any plans/objectives to the mailing list
+
+  - This type of release does not need any RCs, release when the
+    objectives are met
+
+### Security-Fix
+
+`security-fix` releases should only contain bug fixes for security
+issues.
+
+For security issues it is important that they are only announced
+**after** fixed versions for all relevant releases have been published.
+Because of this, `security-fix` releases can’t be prepared in the public
+`gerrit` project.
+
+`security-fix` releases are prepared in the `gerrit-security-fixes`
+project which is only readable by the Gerrit Maintainers. Only after a
+`security-fix` release has been published will the commits/tags made in
+the `gerrit-security-fixes` project be taken over into the public
+`gerrit` project.
+
+## Create the Actual Release
+
+To create a Gerrit release the following steps have to be done:
+
+1.  [Build the Gerrit Release](#build-gerrit)
+
+2.  [Publish the Gerrit Release](#publish-gerrit)
+    
+    1.  [Publish the Gerrit artifacts to Maven
+        Central](#publish-to-maven-central)
+    
+    2.  [Publish the Gerrit WAR to Google
+        Storage](#publish-to-google-storage)
+    
+    3.  [Push the Stable Branch](#push-stable)
+    
+    4.  [Push the Release Tag](#push-tag)
+    
+    5.  [Upload the Documentation](#upload-documentation)
+    
+    6.  [Finalize Release Notes](#finalize-release-notes)
+    
+    7.  [Update the Issues](#update-issues)
+    
+    8.  [Announce on Mailing List](#announce)
+
+3.  [Increase Gerrit Version for Current Development](#increase-version)
+
+4.  [Merge `stable` into `master`](#merge-stable)
+
+### Update Version and Create Release Tag
+
+Before doing the release build, the `GERRIT_VERSION` in the
+`version.bzl` file must be updated, e.g. change it from `2.5-SNAPSHOT`
+to `2.5`.
+
+Commit the change in `version.bzl` and create a signed release tag on
+the new commit:
+
+``` 
+  git tag -s -m "v2.5" v2.5
+```
+
+Tag the plugins:
+
+``` 
+  git submodule foreach git tag -s -m "v2.5" v2.5
+```
+
+### Build Gerrit
+
+  - Build the Gerrit WAR, API JARs and documentation
+    
+    ``` 
+      bazel build release Documentation:searchfree
+      ./tools/maven/api.sh install
+    ```
+
+  - Sanity check WAR
+
+  - Test the new Gerrit version
+
+  - Verify plugin versions
+    
+    Verify the versions:
+    
+    ``` 
+      java -jar bazel-bin/release.war init --list-plugins
+    ```
+
+### Publish the Gerrit Release
+
+#### Publish the Gerrit artifacts to Maven Central
+
+  - Make sure you have done the
+    [configuration](dev-release-deploy-config.html#deploy-configuration-setting-maven-central)
+    for deploying to Maven Central
+
+  - Make sure that the version is updated in the `version.bzl` file as
+    described in the [Update Version and Create Release
+    Tag](#update-version) section.
+
+  - Push the WAR to Maven Central:
+    
+    ``` 
+      ./tools/maven/api.sh war_deploy
+    ```
+
+  - Push the plugin artifacts to Maven Central:
+    
+    ``` 
+      ./tools/maven/api.sh deploy
+    ```
+
+  - To where the artifacts are uploaded depends on the `GERRIT_VERSION`
+    in the `version.bzl` file:
+    
+      - SNAPSHOT versions are directly uploaded into the Sonatype
+        snapshots repository and no further action is
+        needed:
+        
+        <https://oss.sonatype.org/content/repositories/snapshots/com/google/gerrit/>
+    
+      - Release versions are uploaded into a staging repository in the
+        [Sonatype Nexus Server](https://oss.sonatype.org/).
+
+  - Verify the staging repository
+    
+      - Go to the [Sonatype Nexus Server](https://oss.sonatype.org/) and
+        sign in with your Sonatype credentials.
+    
+      - Click on *Build Promotion* in the left navigation bar under
+        *Staging Repositories* and find the `comgooglegerrit-XXXX`
+        staging repository.
+    
+      - Verify its content
+        
+        While the staging repository is open you can upload further
+        content and also replace uploaded artifacts. If something is
+        wrong with the staging repository you can drop it by selecting
+        it and clicking on `Drop`.
+    
+      - Run Sonatype validations on the staging repository
+        
+        Select the staging repository and click on `Close`. This runs
+        the Sonatype validations on the staging repository. The
+        repository will only be closed if everything is OK. A closed
+        repository cannot be modified anymore, but you may still drop it
+        if you find any issues.
+    
+      - Test closed staging repository
+        
+        Once a repository is closed you can find the URL to it in the
+        `Summary` section, e.g.
+        <https://oss.sonatype.org/content/repositories/comgooglegerrit-1029>
+        
+        Use this URL for further testing of the artifacts in this
+        repository, e.g. to try building a plugin against the plugin API
+        in this repository update the version in the `pom.xml` and
+        configure the repository:
+        
+        ``` 
+          <repositories>
+            <repository>
+              <id>gerrit-staging-repository</id>
+              <url>https://oss.sonatype.org/content/repositories/comgooglegerrit-1029</url>
+            </repository>
+          </repositories>
+        ```
+
+  - Release the staging repository
+    
+    How to release a staging repository is described in the [Sonatype
+    OSS Maven Repository Usage
+    Guide](https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-8.a.2.ReleasingaStagingRepository).
+    
+    > **Warning**
+    > 
+    > Releasing artifacts to Maven Central cannot be undone\!
+    
+      - Find the closed staging repository in the [Sonatype Nexus
+        Server](https://oss.sonatype.org/), select it and click on
+        `Release`.
+    
+      - The released artifacts are available in
+        <https://oss.sonatype.org/content/repositories/releases/com/google/gerrit/>
+    
+      - It may take up to 2 hours until the artifacts appear on Maven
+        Central:
+        
+        <http://central.maven.org/maven2/com/google/gerrit/>
+
+  - \[optional\]: View download statistics
+    
+      - Sign in to the [Sonatype Nexus
+        Server](https://oss.sonatype.org/).
+    
+      - Click on *Views/Repositories* in the left navigation bar under
+        *Central Statistics*.
+    
+      - Select `com.google.gerrit` as `Project`.
+
+#### Publish the Gerrit WAR to the Google Cloud Storage
+
+  - go to the [gerrit-releases bucket in the Google cloud storage
+    console](https://console.cloud.google.com/storage/browser/gerrit-releases/?project=api-project-164060093628)
+
+  - make sure you are signed in with your Gmail account
+
+  - manually upload the Gerrit WAR file by using the `Upload` button
+
+#### Push the Stable Branch
+
+  - Create the stable branch `stable-2.5` in the `gerrit` project via
+    the [Gerrit Web
+    UI](https://gerrit-review.googlesource.com/#/admin/projects/gerrit,branches)
+    or by push.
+
+  - Push the commits done on `stable-2.5` to `refs/for/stable-2.5` and
+    get them merged
+
+#### Push the Release Tag
+
+Push the new Release Tag:
+
+``` 
+  git push gerrit-review tag v2.5
+```
+
+Push the new Release Tag on the plugins:
+
+``` 
+  git submodule foreach git push gerrit-review tag v2.5
+```
+
+#### Upload the Documentation
+
+  - Extract the documentation files from the zip file generated from
+    `bazel build searchfree`: `bazel-bin/Documentation/searchfree.zip`.
+
+  - Upload the files manually via web browser to the appropriate folder
+    in the
+    [gerrit-documentation](https://console.cloud.google.com/storage/browser/gerrit-documentation/?project=api-project-164060093628)
+    storage bucket.
+
+### Finalize the Release Notes
+
+Upload a change on the homepage project to:
+
+  - Remove *In Development* caveat from the relevant section.
+
+  - Add links to the released documentation and the .war file, and make
+    the latest version bold.
+
+#### Update homepage links
+
+Upload a change on the [homepage
+project](https://gerrit-review.googlesource.com/#/admin/projects/homepage)
+to change the version numbers to the new version.
+
+#### Update the Issues
+
+Update the issues by hand. There is no script for this.
+
+Our current process is an issue should be updated to say `Status =
+Submitted, FixedIn-2.5` once the change is submitted, but before the
+release.
+
+After the release is actually made, you can search in Google Code for
+`Status=Submitted FixedIn=2.5` and then batch update these changes to
+say `Status=Released`. Make sure the pulldown says `All Issues` because
+`Status=Submitted` is considered a closed issue.
+
+#### Announce on Mailing List
+
+Send an email to the mailing list to announce the release. The content
+of the announcement email is generated with the
+`release-announcement.py` which automatically includes all the necessary
+links, hash values, and wraps the text in a PGP signature.
+
+For details refer to the documentation in the script’s header, and/or
+the help text:
+
+``` 
+ ./tools/release-announcement.py --help
+```
+
+### Increase Gerrit Version for Current Development
+
+All new development that is done in the `master` branch will be included
+in the next Gerrit release. The Gerrit version should be set to the
+snapshot version for the next release.
+
+Use the `version` tool to set the version in the `version.bzl` file:
+
+``` 
+ ./tools/version.py 2.6-SNAPSHOT
+```
+
+Verify that the changes made by the tool are sane, then commit them,
+push the change for review on the master branch, and get it merged.
+
+### Merge `stable` into `master`
+
+After every release, stable should be merged to master to ensure that
+none of the changes/fixes ever get lost.
+
+``` 
+  git config merge.summary true
+  git checkout master
+  git reset --hard origin/master
+  git branch -f stable origin/stable
+  git merge stable
+```
+
+Bazlets is used by gerrit plugins to simplify build process. To allow
+the new released version to be used by gerrit plugins,
+[gerrit\_api.bzl](https://gerrit.googlesource.com/bazlets/+/master/gerrit_api.bzl#8)
+must reference the new version. Upload a change to bazlets repository
+with api version upgrade.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-rest-api.md b/jekyll-source/pages/gerrit/dev-rest-api.md
new file mode 100644
index 0000000..c7b0119
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-rest-api.md
@@ -0,0 +1,94 @@
+---
+title: " Gerrit Code Review - REST API Developers' Notes"
+sidebar: gerritdoc_sidebar
+permalink: dev-rest-api.html
+---
+This document is about developing the REST API. For details of the
+actual APIs available in Gerrit, please see the [REST API interface
+reference](rest-api.html).
+
+## Testing REST API Functionality
+
+### Basic Testing
+
+Basic testing of REST API functionality can be done with `curl`:
+
+``` 
+  curl http://localhost:8080/path/to/api/
+```
+
+By default, `curl` sends `GET` requests. To test APIs with `PUT`,
+`POST`, or `DELETE`, an additional argument is required:
+
+``` 
+ curl -X PUT http://localhost:8080/path/to/api/
+ curl -X POST http://localhost:8080/path/to/api/
+ curl -X DELETE http://localhost:8080/path/to/api/
+```
+
+### Sending Data in the Request
+
+Some REST APIs accept data in the request body of `PUT` and `POST`
+requests.
+
+Test data can be included from a local
+file:
+
+``` 
+  curl -X PUT -d@testdata.txt --header "Content-Type: application/json" http://localhost:8080/path/to/api/
+```
+
+Note that the `-d` option will remove the newlines from the content of
+the local file. If the content should be sent as-is then use the
+`--data-binary` option
+instead:
+
+``` 
+  curl -X PUT --data-binary @testdata.txt --header "Content-Type: text/plain" http://localhost:8080/path/to/api/
+```
+
+Example to set a Gerrit project’s
+[description](rest-api-projects.html#set-project-description):
+
+``` 
+ curl -X PUT --user john:2LlAB3K9B0PF --data-binary @project-desc.txt --header "Content-Type: application/json; charset=UTF-8" http://localhost:8080/a/projects/myproject/description
+```
+
+### Authentication
+
+To test APIs that require authentication, the username and password must
+be specified on the command line:
+
+``` 
+ curl --user username:password http://localhost:8080/a/path/to/api/
+```
+
+This makes it easy to switch users for testing of permissions.
+
+It is also possible to test with a username and password from the
+`.netrc` file (on Windows, `_netrc`):
+
+``` 
+ curl -n http://localhost:8080/a/path/to/api/
+```
+
+In both cases, the password should be the user’s [HTTP
+password](user-upload.html#http).
+
+### Verifying Header Content
+
+To verify the headers returned from a REST API call, use `curl` in
+verbose mode:
+
+``` 
+  curl -v -n -X DELETE http://localhost:8080/a/path/to/api/
+```
+
+The headers on both the request and the response will be printed.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/dev-stars.md b/jekyll-source/pages/gerrit/dev-stars.md
new file mode 100644
index 0000000..c6ed594
--- /dev/null
+++ b/jekyll-source/pages/gerrit/dev-stars.md
@@ -0,0 +1,101 @@
+---
+title: " Gerrit Code Review - Stars"
+sidebar: gerritdoc_sidebar
+permalink: dev-stars.html
+---
+## Description
+
+Changes can be starred with labels that behave like private hashtags.
+Any label can be applied to a change, but these labels are only visible
+to the user for which the labels have been set.
+
+Stars allow users to categorize changes by self-defined criteria and
+then build [dashboards](user-dashboards.html) for them by making use of
+the [star query operators](#query-stars).
+
+## Star API
+
+The [star REST API](rest-api-accounts.html#star-endpoints) supports:
+
+  - [get star labels from a change](rest-api-accounts.html#get-stars)
+
+  - [update star labels on a change](rest-api-accounts.html#set-stars)
+
+  - [list changes that are starred by any
+    label](rest-api-accounts.html#get-starred-changes)
+
+Star labels are also included in
+[ChangeInfo](rest-api-changes.html#change-info) entities that are
+returned by the [changes REST API](rest-api-changes.html).
+
+There are [additional REST
+endpoints](rest-api-accounts.html#default-star-endpoints) for the
+[default star](#default-star).
+
+Only the [default star](#default-star) is shown in the WebUI and can be
+updated from there. Other stars do not show up in the WebUI.
+
+## Default Star
+
+If the default star is set by a user, this user is automatically
+notified by email whenever updates are made to that change.
+
+The default star is the star that is shown in the WebUI and which can be
+updated from there.
+
+The default star is represented by the special star label *star*.
+
+## Ignore Star
+
+If the ignore star is set by a user, this user gets no email
+notifications for updates of that change, even if this user is a
+reviewer of the change or the change is matched by a project watch of
+the user.
+
+Since changes can only be ignored once they are created, users that
+watch a project will always get the email notifications for the change
+creation. Only then the change can be ignored.
+
+Users that are added as reviewer or assignee to a change that they have
+ignored will be notified about this, so that they know about the review
+request. They can then decide to remove the ignore star.
+
+The ignore star is represented by the special star label *ignore*.
+
+## Mute Star
+
+If the "mute/\<patchset\_id\>"-star is set by a user, and
+\<patchset\_id\> matches the current patch set, the change is always
+reported as "reviewed" in the ChangeInfo.
+
+This allows users to "de-highlight" changes in a dashboard until a new
+patchset has been uploaded.
+
+The ChangeInfo muted-field will show if the change is currently in a
+mute state.
+
+## Query Stars
+
+There are several query operators to find changes with stars:
+
+  - [star:\<LABEL\>](user-search.html#star): Matches any change that was
+    starred by the current user with the label `<LABEL>`.
+
+  - [has:stars](user-search.html#has-stars): Matches any change that was
+    starred by the current user with any label.
+
+  - [is:starred](user-search.html#is-starred) /
+    [has:star](user-search.html#has-star): Matches any change that was
+    starred by the current user with the [default star](#default-star).
+
+## Syntax
+
+Star labels cannot contain whitespace characters. All other characters
+are allowed.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/doc-index.html b/jekyll-source/pages/gerrit/doc-index.html
new file mode 100644
index 0000000..3a36447
--- /dev/null
+++ b/jekyll-source/pages/gerrit/doc-index.html
@@ -0,0 +1,138 @@
+---
+title: Gerrit Documentation (beta)
+keywords: gerrit
+sidebar: gerritdoc_sidebar
+toc: false
+permalink: doc-index.html
+folder: gerrit
+---
+   <!-- Service List -->
+    <!-- The circle icons use Font Awesome's stacked icon classes. For more information, visit http://fontawesome.io/examples/ -->
+    <div class="row">
+        <div class="col-lg-12">
+          <nbsp;><br>
+        <!-- if we decide a page title is necessary, it goes here.
+          <h2 class="page-header">Gerrit Documentation</h2>
+        -->
+          </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-play fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="linux-quickstart.html">Quickstarts</a></h4>
+                    <p>Get started using Gerrit.</p>
+                    <p>&nbsp;</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-university fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="intro-quick.html">About Gerrit</a></h4>
+                    <p>Learn how Gerrit works, and take a tour through a few of
+                    its useful features.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-lightbulb-o fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="concepts-index.html">Concepts</a></h4>
+                    <p>Explore some of the key concepts of Gerrit.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="tutorial-index.html">Tutorials</a></h4>
+                    <p>Learn how to handle many common scenarios using the
+                    Gerrit workflow.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-server fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="install.html">Server Administration</a></h4>
+                    <p>Install and configure your own Gerrit server.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-check-square fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="project-configuration.html">Project Management</a></h4>
+                    <p>Create and manage your own Gerrit projects.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-magic fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-dashboards.html">Customization and Integration</a></h4>
+                    <p>Customize Gerrit to suit your needs and integrate into
+                    your existing workflows.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-4">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-code fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="dev-readme.html">Developer</a></h4>
+                    <p>Set up a dev environment and contribute to Gerrit!</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-recycle fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="dev-release.html">Maintainer</a></h4>
+                    <p>Learn the steps required to build a Gerrit release.</p>
+                </div>
+            </div>
+          </div>
+    </div>
diff --git a/jekyll-source/pages/gerrit/error-branch-not-found.md b/jekyll-source/pages/gerrit/error-branch-not-found.md
new file mode 100644
index 0000000..89994bc
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-branch-not-found.md
@@ -0,0 +1,42 @@
+---
+title: " branch ... not found"
+sidebar: gerritdoc_sidebar
+permalink: error-branch-not-found.html
+---
+With this error message Gerrit rejects to push a commit for code review
+if the specified target branch does not exist.
+
+To push a change for code review the commit has to be pushed to the
+project’s magical `refs/for/'branch'` ref (for details have a look at
+[Create Changes](user-upload.html#push_create)). If you specify a
+non-existing branch in the `refs/for/'branch'` ref the push fails with
+the error message *branch … not found*.
+
+To fix this problem verify
+
+  - that the branch name in the push specification is typed correctly
+    (case sensitive) and
+
+  - that the branch really exists for this project (in the Gerrit Web UI
+    go to *Projects* \> *List* and browse your project, then click on
+    *Branches* to see all existing branches).
+
+If it was your intention to create a new branch you can either
+
+  - bypass code review on push as explained
+    [here](user-upload.html#bypass_review) or
+
+  - create the new branch in the Gerrit Web UI before pushing (go to
+    *Projects* \> *List* and browse your project, in the *Branches* tab
+    you can then create a new branch).
+
+Please note that you need to be granted the [*Create
+reference*](access-control.html#category_create) access to create new
+branches.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-change-closed.md b/jekyll-source/pages/gerrit/error-change-closed.md
new file mode 100644
index 0000000..7e458d9
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-change-closed.md
@@ -0,0 +1,47 @@
+---
+title: " change ... closed"
+sidebar: gerritdoc_sidebar
+permalink: error-change-closed.html
+---
+With this error message Gerrit rejects to push a commit or submit a
+review label (approval) to a change that is already closed.
+
+## When Pushing a Commit
+
+This error occurs if you are trying to push a commit that contains the
+Change-Id of a closed change in its commit message. A change can be
+closed either because it was already submitted and merged or because it
+was abandoned.
+
+If the change for which you wanted to upload a new patch set was already
+submitted and merged you may want to push your commit as a new change.
+To do this you have to remove the Change-Id from the commit message as
+explained [here](error-push-fails-due-to-commit-message.html) and
+ideally generate a new Change-Id using the [commit
+hook](cmd-hook-commit-msg.html) or EGit. Before pushing again it is also
+recommended to do a [git
+rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html)
+to base your commit on the submitted change. Pushing again should now
+create a new change in Gerrit.
+
+If the change for which you wanted to upload a new patch set was
+abandoned and your new changes overcome the reasons for abandoning this
+change you may want to restore the change in the Gerrit Web UI (browse
+the abandoned change in the Gerrit Web UI and click on the *Restore
+Change* button). Afterwards the push should succeed and a new patch set
+for this change will be created.
+
+## When Submitting a Review Label
+
+This error occurs if you are trying to submit a review label (approval)
+using the [ssh review command](cmd-review.html) after the change has
+been closed. A change can be closed because it was submitted and merged,
+because it was abandoned, or because the patchset to which you are
+submitting the review has been replaced by a newer patchset.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-change-does-not-belong-to-project.md b/jekyll-source/pages/gerrit/error-change-does-not-belong-to-project.md
new file mode 100644
index 0000000..4cb6fe4
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-change-does-not-belong-to-project.md
@@ -0,0 +1,21 @@
+---
+title: " change ... does not belong to project ..."
+sidebar: gerritdoc_sidebar
+permalink: error-change-does-not-belong-to-project.html
+---
+With this error message Gerrit rejects to push a commit to a change that
+belongs to another project.
+
+This error message means that the user explicitly pushed a commit to a
+change that belongs to another project by specifying it as target ref.
+This way of adding a new patch set to a change is deprecated as
+explained [here](user-upload.html#manual_replacement_mapping). It is
+recommended to only rely on Change-Ids for [replacing
+changes](user-upload.html#push_replace).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-change-not-found.md b/jekyll-source/pages/gerrit/error-change-not-found.md
new file mode 100644
index 0000000..a6843d4
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-change-not-found.md
@@ -0,0 +1,21 @@
+---
+title: " change ... not found"
+sidebar: gerritdoc_sidebar
+permalink: error-change-not-found.html
+---
+With this error message Gerrit rejects to push a commit to a change that
+cannot be found.
+
+This error message means that the user explicitly pushed a commit to a
+non-existing change by specifying it as target ref. This way of adding a
+new patch set to a change is deprecated as explained
+[here](user-upload.html#manual_replacement_mapping). It is recommended
+to only rely on Change-Ids for [replacing
+changes](user-upload.html#push_replace).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-change-upload-blocked.md b/jekyll-source/pages/gerrit/error-change-upload-blocked.md
new file mode 100644
index 0000000..facc972
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-change-upload-blocked.md
@@ -0,0 +1,43 @@
+---
+title: " One or more refs/for/ names blocks change upload"
+sidebar: gerritdoc_sidebar
+permalink: error-change-upload-blocked.html
+---
+With this error message Gerrit rejects to push a commit for code review
+if the remote git repository has a branch under the *refs/for/*
+namespace.
+
+Gerrit uses the *refs/for/* namespace for magical refs that represent
+the review queues for branches in the git repository hosted by Gerrit.
+If, for a project, a real branch is created under the *refs/for*
+namespace this conflicts with the namespace reserved for the Gerrit
+review queues and Gerrit can’t accept further pushes for code review.
+
+To solve this problem all real branches that exist under the *refs/for/*
+namespace have to be deleted or renamed in the remote git repository.
+
+To see which branches exist under the *refs/for/* namespace a Gerrit
+administrator can run the following command:
+
+``` 
+  $ git for-each-ref refs/for
+```
+
+If all these branches should be deleted it can be done with the
+following command:
+
+``` 
+  $ for n in $(git for-each-ref --format='%(refname)' refs/for);
+    do git update-ref -d $n; done
+```
+
+Branches under the *refs/for/* namespace can be created by users that
+bypass Gerrit and push directly to the git repository itself (not using
+the Gerrit server’s SSH port).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-commit-already-exists.md b/jekyll-source/pages/gerrit/error-commit-already-exists.md
new file mode 100644
index 0000000..3d3ce99
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-commit-already-exists.md
@@ -0,0 +1,26 @@
+---
+title: " commit already exists"
+sidebar: gerritdoc_sidebar
+permalink: error-commit-already-exists.html
+---
+With "commit already exists (as current patchset)" or "commit already
+exists (in the change)" error message Gerrit rejects to push a commit to
+an existing change via `refs/changes/n` if the commit was already
+successfully pushed to the change.
+
+With "commit already exists (in the project)" error message Gerrit
+rejects to push a commit to an existing change via `refs/changes/n` if
+the commit was already successfully pushed to a change in project scope.
+
+In any above case there is no new commit and consequently there is
+nothing for Gerrit to do.
+
+For further information about how to resolve this error, please refer to
+[no new changes](error-no-new-changes.html).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-contains-banned-commit.md b/jekyll-source/pages/gerrit/error-contains-banned-commit.md
new file mode 100644
index 0000000..b1870bb
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-contains-banned-commit.md
@@ -0,0 +1,26 @@
+---
+title: " contains banned commit ..."
+sidebar: gerritdoc_sidebar
+permalink: error-contains-banned-commit.html
+---
+With this error message Gerrit rejects to push a commit that is banned
+or that would merge in an ancestor that is banned.
+
+If a commit was identified as a bad commit (e.g. because it contains
+coding that violates intellectual property) and because of this it was
+removed from the central git repository it can be marked as banned.
+Gerrit will then prevent that this commit ever enters the repository
+again by rejecting every push of such a commit with the error message
+"contains banned commit …".
+
+If you have commits that you want to push that are based on a banned
+commit you may want to
+[cherry-pick](http://www.kernel.org/pub/software/scm/git/docs/git-cherry-pick.html)
+them onto a clean base and push them again.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-has-duplicates.md b/jekyll-source/pages/gerrit/error-has-duplicates.md
new file mode 100644
index 0000000..5652cb6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-has-duplicates.md
@@ -0,0 +1,28 @@
+---
+title: " ... has duplicates"
+sidebar: gerritdoc_sidebar
+permalink: error-has-duplicates.html
+---
+With this error message Gerrit rejects to push a commit if its commit
+message contains a Change-Id for which multiple changes can be found in
+the project.
+
+This error means that there is an inconsistency in Gerrit since for one
+project there are multiple changes that have the same Change-Id. Every
+change is expected to have an unique Change-Id.
+
+Since this error should never occur in practice, you should inform your
+Gerrit administrator if you hit this problem and/or [open a Gerrit
+issue](https://bugs.chromium.org/p/gerrit/issues/list).
+
+In any case to not be blocked with your work, you can simply create a
+new Change-Id for your commit and then push it as new change to Gerrit.
+How to exchange the Change-Id in the commit message of your commit is
+explained [here](error-push-fails-due-to-commit-message.html).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-invalid-author.md b/jekyll-source/pages/gerrit/error-invalid-author.md
new file mode 100644
index 0000000..4e97b12
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-invalid-author.md
@@ -0,0 +1,140 @@
+---
+title: " invalid author"
+sidebar: gerritdoc_sidebar
+permalink: error-invalid-author.html
+---
+For every pushed commit Gerrit verifies that the e-mail address of the
+author matches one of the registered e-mail addresses of the pushing
+user. If this is not the case pushing the commit fails with the error
+message "invalid author". This policy can be bypassed by having the
+access right [*Forge
+Author*](access-control.html#category_forge_author).
+
+This error may happen for two reasons:
+
+1.  incorrect configuration of the e-mail address on client or server
+    side
+
+2.  missing privileges to push commits of other authors
+
+## Incorrect configuration of the e-mail address on client or server side
+
+If pushing to Gerrit fails with the error message "invalid author" and
+you are the author of the commit for which the push fails, then either
+you have not successfully registered this e-mail address for your Gerrit
+account or the author information of the pushed commit is incorrect.
+
+### Configuration of e-mail address in Gerrit
+
+Check in Gerrit under *Settings → Identities* which e-mail addresses
+you’ve configured for your Gerrit account. If no e-mail address is
+registered go to *Settings → Contact Information* and register a new
+e-mail address there. Make sure you confirm your e-mail address by
+clicking on the link in the e-mail verification mail sent by Gerrit. If
+you don’t receive the e-mail verification mail it might be that it was
+caught by your spam filter.
+
+### Incorrect author information
+
+For every commit Git maintains the author. If not explicitly specified
+Git computes the author on commit out of the Git configuration
+parameters *user.name* and *user.email*.
+
+``` 
+  $ git config -l
+  ...
+  user.name=John Doe
+  user.email=john.doe@example.com
+  ...
+```
+
+A commit done with the above Git configuration would have "John Doe
+\<<john.doe@example.com>\>" as author.
+
+You can see the author information for existing commits in the history.
+
+``` 
+  $ git log
+  commit cbe31bdba7d14963eb42f7e1e0eef1fe58698c05
+  Author: John Doe <john.doe@example.com>
+  Date:   Mon Dec 20 15:36:33 2010 +0100
+
+      my commit
+```
+
+Check in Git that the author information of the commit that should be
+pushed is correct. The author should have the same e-mail address that
+you’ve configured for your Gerrit account. If the author information is
+incorrect set the Git configuration parameters *user.name* and
+*user.email* to the correct values (you might want to set this globally
+by including the option *--global*):
+
+``` 
+  $ git config user.name "John Doe"
+  $
+  $ git config user.email john.doe@example.com
+  $
+```
+
+Now you should update the author for those commits where the author
+information is wrong. If only the last commit is affected you can do
+this by amending the last commit and explicitly setting the author:
+
+``` 
+  $ git commit --amend --author "John Doe <john.doe@example.com>"
+```
+
+If you need to update the author information for several commits it gets
+more complicated. In this case you have to do an interactive git rebase
+for the affected commits. While doing the interactive rebase you have to
+choose *edit* for those commits for which the author should be
+rewritten. When the rebase stops at such a commit you have to amend the
+commit, explicitly setting the author before continuing the rebase.
+
+Here is an example that shows how the interactive rebase is used to
+update the author for the last 3 commits:
+
+``` 
+  $ git rebase -i HEAD~3
+
+  edit 51f0d47 one commit
+  edit 7299690 another commit
+  edit 304ad96 one more commit
+
+  Stopped at 51f0d47... one commit
+  You can amend the commit now, with
+
+          git commit --amend
+
+  Once you are satisfied with your changes, run
+
+          git rebase --continue
+
+  $ git commit --amend --author "John Doe <john.doe@example.com>"
+  [detached HEAD baea1e4] one commit
+   Author: John Doe <john.doe@example.com>
+   1 files changed, 4 insertions(+), 1 deletions(-)
+
+  $ git rebase --continue
+
+  ...
+```
+
+For further details about git rebase please check the [Git
+documentation](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html).
+
+## Missing privileges to push commits of other users
+
+If pushing to Gerrit fails with the error message "invalid author" and
+somebody else is author of the commit for which the push fails, then you
+have no permissions to forge the author identity. In this case you may
+contact the project owner to request the access right *+1 Forge Author
+Identity* in the *Forge Identity* category or ask the maintainer to
+commit this change on the author’s behalf.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-invalid-changeid-line.md b/jekyll-source/pages/gerrit/error-invalid-changeid-line.md
new file mode 100644
index 0000000..71e6471
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-invalid-changeid-line.md
@@ -0,0 +1,35 @@
+---
+title: " invalid Change-Id line format in commit message footer"
+sidebar: gerritdoc_sidebar
+permalink: error-invalid-changeid-line.html
+---
+With this error message Gerrit rejects to push a commit if its commit
+message footer contains an invalid Change-Id line.
+
+You can see the commit messages for existing commits in the history by
+doing a [git
+log](http://www.kernel.org/pub/software/scm/git/docs/git-log.html).
+
+If it was the intention to rework a change and to push a new patch set,
+find the change in the Gerrit Web UI, copy its Change-Id line and use it
+to correct the invalid Change-Id line in the commit message of the
+commit for which the push is failing. How to do this is explained
+[here](error-push-fails-due-to-commit-message.html#commit_hook).
+
+If it was the intention to create a new change in Gerrit simply remove
+the invalid Change-Id line from the commit message of the commit for
+which the push is failing. How to do this is explained
+[here](error-push-fails-due-to-commit-message.html#commit_hook). In case
+you have configured the [commit hook](cmd-hook-commit-msg.html) a new
+valid Change-Id will be automatically generated and inserted.
+
+## SEE ALSO
+
+  - [Change-Id Lines](user-changeid.html)
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-invalid-committer.md b/jekyll-source/pages/gerrit/error-invalid-committer.md
new file mode 100644
index 0000000..3dfed86
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-invalid-committer.md
@@ -0,0 +1,106 @@
+---
+title: " invalid committer"
+sidebar: gerritdoc_sidebar
+permalink: error-invalid-committer.html
+---
+For every pushed commit Gerrit verifies that the e-mail address of the
+committer matches one of the registered e-mail addresses of the pushing
+user. If this is not the case pushing the commit fails with the error
+message "invalid committer". This policy can be bypassed by having the
+access right [*Forge
+Committer*](access-control.html#category_forge_committer).
+
+This error may happen for two reasons:
+
+1.  incorrect configuration of the e-mail address on client or server
+    side
+
+2.  missing privileges to push commits that were committed by other
+    users
+
+## Incorrect configuration of the e-mail address on client or server side
+
+If pushing to Gerrit fails with the error message "invalid committer"
+and you committed the change for which the push fails, then either you
+have not successfully registered this e-mail address for your Gerrit
+account or the committer information of the pushed commit is incorrect.
+
+### Configuration of e-mail address in Gerrit
+
+Check in Gerrit under *Settings → Identities* which e-mail addresses
+you’ve configured for your Gerrit account. If no e-mail address is
+registered go to *Settings → Contact Information* and register a new
+e-mail address there. Make sure you confirm your e-mail address by
+clicking on the link in the e-mail verification mail sent by Gerrit.
+
+### Incorrect committer information
+
+For every commit Git maintains the user who did the commit, the so
+called committer. Git computes the committer out of the Git
+configuration parameters *user.name* and *user.email*.
+
+``` 
+  $ git config -l
+  ...
+  user.name=John Doe
+  user.email=john.doe@example.com
+  ...
+```
+
+A commit done with the above Git configuration would have "John Doe
+\<<john.doe@example.com>\>" as committer.
+
+To see the committer information for existing commits do "git log
+--format=full":
+
+``` 
+  $ git log --format=full
+  commit cbe31bdba7d14963eb42f7e1e0eef1fe58698c05
+  Author: John Doe <john.doe@example.com>
+  Commit: John Doe <john.doe@example.com>
+
+      my commit
+```
+
+Check in Git that the committer information of the commit that should be
+pushed is correct. As explained above you can do this by *git log
+--format=full*. The committer should have the same e-mail address that
+you’ve configured for your Gerrit account. If the committer information
+is incorrect set the Git configuration parameters *user.name* and
+*user.email* to the correct values (you might want to set this globally
+by including the option *--global*):
+
+``` 
+  $ git config user.name "John Doe"
+  $
+  $ git config user.email john.doe@example.com
+  $
+```
+
+Now you should rewrite the commits for which the committer information
+is wrong. If only the last commit is affected you can do this by doing a
+*commit --amend*. If you need to update the committer information for
+several commits it gets more complicated. In this case you have to do an
+interactive git rebase for the affected commits. While doing the
+interactive rebase you have to ensure that the commits are rewritten
+(e.g. by choosing *reword* for all these commits and then confirming all
+the commit messages). Just picking all the changes will not work as in
+this case the committer is not rewritten. For further details about git
+rebase please check the [Git
+documentation](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html).
+
+## Missing privileges to push commits that were committed by other users
+
+If pushing to Gerrit fails with the error message "invalid committer"
+and somebody else committed the change for which the push fails, then
+you have no permissions to forge the committer identity. In this case
+you may contact the project owner to request the [*Forge
+Committer*](access-control.html#category_forge_committer) access right
+or ask the maintainer to commit this change on the author’s behalf.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-messages.md b/jekyll-source/pages/gerrit/error-messages.md
new file mode 100644
index 0000000..36c5db2
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-messages.md
@@ -0,0 +1,87 @@
+---
+title: " Gerrit Code Review - Error Messages"
+sidebar: gerritdoc_sidebar
+permalink: error-messages.html
+---
+This page provides access to detailed explanations of Gerrit error
+messages. For each error message it is explained why the error is
+occurring and what can be done to solve it.
+
+## Error Messages
+
+  - [branch … not found](error-branch-not-found.html)
+
+  - [change … closed](error-change-closed.html)
+
+  - [change … does not belong to project
+    …](error-change-does-not-belong-to-project.html)
+
+  - [change … not found](error-change-not-found.html)
+
+  - [commit already exists](error-commit-already-exists.html)
+
+  - [contains banned commit …](error-contains-banned-commit.html)
+
+  - [… has duplicates](error-has-duplicates.html)
+
+  - [invalid author](error-invalid-author.html)
+
+  - [invalid Change-Id line format in commit message
+    footer](error-invalid-changeid-line.html)
+
+  - [invalid committer](error-invalid-committer.html)
+
+  - [missing Change-Id in commit message
+    footer](error-missing-changeid.html)
+
+  - [missing subject; Change-Id must be in commit message
+    footer](error-missing-subject.html)
+
+  - [multiple Change-Id lines in commit message
+    footer](error-multiple-changeid-lines.html)
+
+  - [no common ancestry](error-no-common-ancestry.html)
+
+  - [no new changes](error-no-new-changes.html)
+
+  - [non-fast forward](error-non-fast-forward.html)
+
+  - [Not a Gerrit administrator](error-not-a-gerrit-administrator.html)
+
+  - [Not permitted to create …](error-not-permitted-to-create.html)
+
+  - [not Signed-off-by author/committer/uploader in commit message
+    footer](error-not-signed-off-by.html)
+
+  - [not valid ref](error-not-valid-ref.html)
+
+  - [One or more refs/for/ names blocks change
+    upload](error-change-upload-blocked.html)
+
+  - [Permission denied (publickey)](error-permission-denied.html)
+
+  - [prohibited by Gerrit](error-prohibited-by-gerrit.html)
+
+  - [Project not found: …](error-project-not-found.html)
+
+  - [same Change-Id in multiple
+    changes](error-same-change-id-in-multiple-changes.html)
+
+  - [too many commits](error-too-many-commits.html)
+
+  - [Upload denied for project '…'](error-upload-denied.html)
+
+  - [you are not allowed to upload
+    merges](error-not-allowed-to-upload-merges.html)
+
+## General Hints
+
+  - [push fails due to commit
+    message](error-push-fails-due-to-commit-message.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-missing-changeid.md b/jekyll-source/pages/gerrit/error-missing-changeid.md
new file mode 100644
index 0000000..7a57eb7
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-missing-changeid.md
@@ -0,0 +1,62 @@
+---
+title: " missing Change-Id in commit message footer"
+sidebar: gerritdoc_sidebar
+permalink: error-missing-changeid.html
+---
+With this error message Gerrit rejects to push a commit to a project
+which is configured to always require a Change-Id in the commit message
+if the commit message of the pushed commit does not contain a Change-Id
+in the footer (the last paragraph).
+
+This error may happen for different reasons:
+
+1.  missing Change-Id in the commit message
+
+2.  Change-Id is contained in the commit message but not in the last
+    paragraph
+
+You can see the commit messages for existing commits in the history by
+doing a [git
+log](http://www.kernel.org/pub/software/scm/git/docs/git-log.html).
+
+To avoid this error you should use the [commit
+hook](cmd-hook-commit-msg.html) or EGit to automatically create and
+insert a unique Change-Id into the commit message on every commit.
+
+## Missing Change-Id in the commit message
+
+If the commit message of a commit that you want to push does not contain
+a Change-Id you have to update its commit message and insert a
+Change-Id.
+
+If you want to upload a new change to Gerrit make sure that you have
+configured your environment so that a unique Change-Id is automatically
+created and inserted on every commit as explained above. Now you can
+rewrite the commits for which the Change-Ids are missing and the
+Change-Ids will be automatically created and inserted into the commit
+messages. This is explained
+[here](error-push-fails-due-to-commit-message.html#commit_hook).
+
+If you want to update an existing change in Gerrit by uploading a new
+patch set you should copy its Change-Id from the Gerrit Web UI and
+insert it into the commit message. How to update the commit message is
+explained
+[here](error-push-fails-due-to-commit-message.html).
+
+## Change-Id is contained in the commit message but not in the last paragraph
+
+To be picked up by Gerrit, a Change-Id must be in the last paragraph of
+a commit message, for details, see [Change-Id
+Lines](user-changeid.html).
+
+If the Change-Id is contained in the commit message but not in its last
+paragraph you have to update the commit message and move the Change-Id
+into the last paragraph. How to update the commit message is explained
+[here](error-push-fails-due-to-commit-message.html).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-missing-subject.md b/jekyll-source/pages/gerrit/error-missing-subject.md
new file mode 100644
index 0000000..d11e85f
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-missing-subject.md
@@ -0,0 +1,30 @@
+With this error message Gerrit rejects to push a commit to a project
+which is configured to always require a Change-Id in the commit message
+if the commit message of the pushed commit does not contain a subject
+and a message, but only a Change-Id.
+
+This error happens if the Change-Id is the only line in the commit
+message.
+
+You can see the commit messages for existing commits in the history by
+doing a [git
+log](http://www.kernel.org/pub/software/scm/git/docs/git-log.html).
+
+## Change-Id is the only line in the commit message
+
+Gerrit does not parse the subject of a commit message for the Change-Id
+even if this is the only and last paragraph of the commit message.
+
+If the Change-Id is the only line in the commit message you must update
+the commit message and insert a subject as the first line in the commit
+message. The Change-Id must be in the last paragraph of the commit
+message, i.e. separated from the subject by a blank line. How to update
+the commit message is explained
+[here](error-push-fails-due-to-commit-message.html).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-multiple-changeid-lines.md b/jekyll-source/pages/gerrit/error-multiple-changeid-lines.md
new file mode 100644
index 0000000..ce216f8
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-multiple-changeid-lines.md
@@ -0,0 +1,36 @@
+---
+title: " multiple Change-Id lines in commit message footer"
+sidebar: gerritdoc_sidebar
+permalink: error-multiple-changeid-lines.html
+---
+With this error message Gerrit rejects to push a commit if the commit
+message footer of the pushed commit contains several Change-Id lines.
+
+You can see the commit messages for existing commits in the history by
+doing a [git
+log](http://www.kernel.org/pub/software/scm/git/docs/git-log.html).
+
+If it was the intention to rework a change and to push a new patch set,
+find the change in the Gerrit Web UI, copy its Change-Id line and use
+the copied Change-Id line instead of the existing Change-Id lines in the
+commit message of the commit for which the push is failing. How to do
+this is explained
+[here](error-push-fails-due-to-commit-message.html#commit_hook).
+
+If it was the intention to create a new change in Gerrit simply remove
+all Change-Id lines from the commit message of the commit for which the
+push is failing. How to do this is explained
+[here](error-push-fails-due-to-commit-message.html#commit_hook). In case
+you have configured the [commit hook](cmd-hook-commit-msg.html) a new
+Change-Id will be automatically generated and inserted.
+
+## SEE ALSO
+
+  - [Change-Id Lines](user-changeid.html)
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-no-common-ancestry.md b/jekyll-source/pages/gerrit/error-no-common-ancestry.md
new file mode 100644
index 0000000..e8cb8d2
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-no-common-ancestry.md
@@ -0,0 +1,24 @@
+---
+title: " no common ancestry"
+sidebar: gerritdoc_sidebar
+permalink: error-no-common-ancestry.html
+---
+With this error message Gerrit rejects to push a commit for code review
+if the pushed commit and the commit at the tip of the target branch do
+not have a common ancestry.
+
+This means that your local development history and the development
+history of the branch to which the push is done are completely
+independent (they have completely independent commit graphs).
+
+This error usually occurs if you do a change in one project and then you
+accidentally push the commit to another project for code review. To fix
+the problem you should check your push specification and verify that you
+are pushing the commit to the correct project.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-no-new-changes.md b/jekyll-source/pages/gerrit/error-no-new-changes.md
new file mode 100644
index 0000000..590916b
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-no-new-changes.md
@@ -0,0 +1,69 @@
+---
+title: " no new changes"
+sidebar: gerritdoc_sidebar
+permalink: error-no-new-changes.html
+---
+With this error message Gerrit rejects to push a commit if the pushed
+commit was already successfully pushed to Gerrit in project scope. In
+this case there is no new change and consequently there is nothing for
+Gerrit to do.
+
+If your push is failing with this error message, you normally don’t have
+to do anything since the commit was already successfully pushed. Still
+this error message may sometimes come as a surprise if you expected a
+new commit to be pushed. In this case you should verify that:
+
+1.  your changes were successfully committed locally (otherwise there is
+    no new commit which can be pushed)
+
+2.  you are pushing the correct commit (e.g. if you are pushing HEAD
+    make sure you have locally checked out the correct branch)
+
+If you are sure you are pushing the correct commit and you are still
+getting the "no new changes" error unexpectedly you can take the commit
+ID and search for the corresponding change in Gerrit. To do this simply
+paste the commit ID in the Gerrit Web UI into the search field. Details
+about how to search in Gerrit are explained [here](user-search.html).
+
+Please note that each commit can really be pushed only once. This means:
+
+1.  you cannot push a commit again even if the change for which the
+    commit was pushed before was abandoned (but you may restore the
+    abandoned change)
+
+2.  you cannot reset a change to an old patch set by pushing the old
+    commit for this change again
+
+3.  if a commit was pushed to one branch you cannot push this commit to
+    another branch in project scope.
+
+4.  if a commit was pushed directly to a branch (without going through
+    code review) you cannot push this commit once again for code review
+    (please note that in this case searching by the commit ID in the
+    Gerrit Web UI will not find any change)
+
+If you need to re-push a commit you may rewrite this commit by
+[amending](http://www.kernel.org/pub/software/scm/git/docs/git-commit.html)
+it or doing an interactive [git
+rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html).
+By rewriting the commit you actually create a new commit (with a new
+commit ID in project scope) which can then be pushed to Gerrit. If the
+old commit contains a Change-Id in the commit message you also need to
+replace it with a new Change-Id (case 1. and 3. above), otherwise the
+push will fail with another error message.
+
+## Fast-forward merges
+
+You will also encounter this error if you did a Fast-forward merge and
+try to push the result. A workaround is to use the [Selecting Merge
+Base](user-upload.html#base) feature or enable the [Use target branch
+when determining new changes to
+open](project-configuration.html#_use_target_branch_when_determining_new_changes_to_open)
+configuration.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-non-fast-forward.md b/jekyll-source/pages/gerrit/error-non-fast-forward.md
new file mode 100644
index 0000000..685fcc1
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-non-fast-forward.md
@@ -0,0 +1,64 @@
+---
+title: " non-fast forward"
+sidebar: gerritdoc_sidebar
+permalink: error-non-fast-forward.html
+---
+With this error message Gerrit rejects a push if the remote branch can’t
+be fast forwarded onto the pushed commit. This is the case if the pushed
+commit is not based on the current tip of the remote branch.
+
+If a non-fast forward update would be done, all commits from the remote
+branch that succeed the base commit of the pushed commit would be
+removed. This would be especially confusing for other users that have
+based their work on such a commit. Because of this Git by default does
+not allow non-fast forward updates.
+
+When working with Gerrit, this error can only occur if [code review is
+bypassed](user-upload.html#bypass_review).
+
+There are different reasons why this error can occur:
+
+1.  the remote branch has evolved since you started your development
+
+2.  you are pushing the commit to the wrong project
+
+## the remote branch has evolved since you started your development
+
+You start your development based on the current tip of the remote
+branch. While you implement your feature / bug-fix, a change in Gerrit
+gets submitted (or another user directly pushes a commit) so that the
+remote branch evolves. If you are now pushing your commit, with
+bypassing code review, your push will be rejected with the error message
+*non-fast forward*. To solve the problem you have to
+    either
+
+1.  [rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html)
+    your commit on the new tip of the remote branch
+    or
+
+2.  [merge](http://www.kernel.org/pub/software/scm/git/docs/git-merge.html)
+    your commit with the new tip of the remote branch.
+
+Afterwards the push should be successful.
+
+## you are pushing the commit to the wrong project
+
+If you do a commit in one project and then accidentally push this
+commit, with bypassing code review, to another project, this will fail
+with the error message *non-fast forward*. To fix the problem you should
+check the push specification and verify that you are pushing the commit
+to the correct project.
+
+Although it is considered bad practice, it is possible to allow non-fast
+forward updates with Git. For this the remote Git repository has to be
+configured to not deny non-fast forward updates (set the [Git
+configuration](http://www.kernel.org/pub/software/scm/git/docs/git-config.html)
+parameter *receive.denyNonFastForwards* to *false*). Then it is possible
+to push a non-fast forward update by using the *--force* option.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-not-a-gerrit-administrator.md b/jekyll-source/pages/gerrit/error-not-a-gerrit-administrator.md
new file mode 100644
index 0000000..650ad7c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-not-a-gerrit-administrator.md
@@ -0,0 +1,19 @@
+---
+title: " Not a Gerrit administrator"
+sidebar: gerritdoc_sidebar
+permalink: error-not-a-gerrit-administrator.html
+---
+With this error message Gerrit rejects to execute an SSH command that
+requires administrator privileges if the user is not a Gerrit
+administrator.
+
+The Gerrit [administrator commands](cmd-index.html#admin_commands) can
+only be executed by users who are member of the Gerrit
+[Administrators](access-control.html#administrators) group.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-not-allowed-to-upload-merges.md b/jekyll-source/pages/gerrit/error-not-allowed-to-upload-merges.md
new file mode 100644
index 0000000..b6f2c58
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-not-allowed-to-upload-merges.md
@@ -0,0 +1,25 @@
+---
+title: " you are not allowed to upload merges"
+sidebar: gerritdoc_sidebar
+permalink: error-not-allowed-to-upload-merges.html
+---
+With this error message Gerrit rejects to push a merge commit if the
+pushing user has no permission to upload merge commits for the project
+to which the push is done.
+
+If you need to upload merge commits, you can contact one of the project
+owners and request permission to upload merge commits (access right
+[*Push Merge Commit*](access-control.html#category_push_merge)) for this
+project.
+
+If one of your changes could not be merged in Gerrit due to conflicts
+and you created the merge commit to resolve the conflicts, you might
+want to revert the merge and instead of this do a
+[rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-not-permitted-to-create.md b/jekyll-source/pages/gerrit/error-not-permitted-to-create.md
new file mode 100644
index 0000000..4b1d722
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-not-permitted-to-create.md
@@ -0,0 +1,21 @@
+---
+title: " Not permitted to create ..."
+sidebar: gerritdoc_sidebar
+permalink: error-not-permitted-to-create.html
+---
+With this error message Gerrit rejects to create a new project in Gerrit
+if the user has no privileges for project creation.
+
+In Gerrit it is possible to [configure which groups are allowed to
+create projects](config-gerrit.html#repository).
+
+If you are getting this error and you need to create projects in Gerrit
+you have to contact a Gerrit administrator and request permissions for
+project creation.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-not-signed-off-by.md b/jekyll-source/pages/gerrit/error-not-signed-off-by.md
new file mode 100644
index 0000000..d744ae2
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-not-signed-off-by.md
@@ -0,0 +1,40 @@
+---
+title: " not Signed-off-by author/committer/uploader in commit message footer"
+sidebar: gerritdoc_sidebar
+permalink: error-not-signed-off-by.html
+---
+Projects in Gerrit can be configured to require a
+[Signed-off-by](user-signedoffby.html#Signed-off-by) in the footer of
+the commit message to enforce that every change is signed by the author,
+committer or uploader. If for a project a Signed-off-by is required and
+the commit message footer does not contain it, Gerrit rejects to push
+the commit with this error message.
+
+This policy can be bypassed by having the access right [*Forge
+Committer*](access-control.html#category_forge_committer).
+
+This error may happen for different reasons if you do not have the
+access right to forge the committer identity:
+
+1.  missing Signed-off-by in the commit message footer
+
+2.  Signed-off-by is contained in the commit message footer but it’s
+    neither from the author, committer nor uploader
+
+3.  Signed-off-by from the author, committer or uploader is contained in
+    the commit message but not in the footer (last paragraph)
+
+To be able to push your commits you have to update the commit messages
+as explained [here](error-push-fails-due-to-commit-message.html) so that
+they contain a Signed-off-by from the author, committer or uploader in
+the last paragraph. However it is important that you only add a
+Signed-off-by if you understand the semantics of the
+[Signed-off-by](user-signedoffby.html#Signed-off-by) and the commit
+applies to the rules that are connected with this footer.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-not-valid-ref.md b/jekyll-source/pages/gerrit/error-not-valid-ref.md
new file mode 100644
index 0000000..8b93ab0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-not-valid-ref.md
@@ -0,0 +1,45 @@
+---
+title: " not valid ref"
+sidebar: gerritdoc_sidebar
+permalink: error-not-valid-ref.html
+---
+With this error message Gerrit rejects to push a commit if the target
+ref in the push specification has an incorrect format (for example:
+*/refs/for/master*, *refs/for//master*).
+
+To solve the problem you have to correct the target ref in the push
+specification. Depending on whether you want to push your commit with or
+without code review the ref format is different:
+
+## ref format for pushing a commit for code review:
+
+If it was the intention to push a commit for code review the target ref
+in the push specification must be the project’s magical ref
+`refs/for/'branch'` (where *branch* must be replaced with the name of an
+existing branch to which you want to push your commit). Further details
+about how to push a commit for code review are explained at [Create
+Changes](user-upload.html#push_create)).
+
+Example for pushing a commit for code review to the *master* branch:
+
+    $ git push ssh://JohnDoe@host:29418/myProject HEAD:refs/for/master
+
+## ref format for directly pushing a commit (without code review):
+
+If it was the intention to bypass code review and to push directly to a
+branch the target ref in the push specification must be the name of the
+branch to which you want to push. Further details about how to bypass
+code review are explained at [Bypass
+Review](user-upload.html#bypass_review).
+
+Example for pushing a commit directly to the *master* branch (without
+code review):
+
+    $ git push ssh://JohnDoe@host:29418/myProject HEAD:master
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-permission-denied.md b/jekyll-source/pages/gerrit/error-permission-denied.md
new file mode 100644
index 0000000..a05e26d
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-permission-denied.md
@@ -0,0 +1,89 @@
+---
+title: " Permission denied (publickey)"
+sidebar: gerritdoc_sidebar
+permalink: error-permission-denied.html
+---
+With this error message an SSH command to Gerrit is rejected if the SSH
+authentication is not successful.
+
+The [SSH](http://en.wikipedia.org/wiki/Secure_Shell) protocol can use
+[Public-key
+Cryptography](http://en.wikipedia.org/wiki/Public-key_cryptography) for
+authentication. In general configurations, Gerrit will authenticate you
+by the public keys known to you. Optionally, it can be configured by the
+administrator to allow for
+[kerberos](config-gerrit.html#sshd.kerberosKeytab) authentication
+instead.
+
+In any case, verify that you are using the correct username for the SSH
+command and that it is typed correctly (case sensitive). You can look up
+your username in the Gerrit Web UI under *Settings* → *Profile*.
+
+If you are facing this problem and using an SSH keypair, do the
+following:
+
+1.  Verify that you have uploaded your public SSH key for your Gerrit
+    account. To do this go in the Gerrit Web UI to *Settings* → *SSH
+    Public Keys* and check that your public SSH key is there. If your
+    public SSH key is not there you have to upload it.
+
+2.  Verify that you are using the correct private SSH key. To find out
+    which private SSH key is used test the SSH authentication as
+    described below. From the trace you should see which private SSH key
+    is used.
+
+Debugging kerberos issues can be quite hard given the complexity of the
+protocol. In case you are using kerberos authentication, do the
+following:
+
+1.  Verify that you have acquired a valid initial ticket. On a Linux
+    machine, you can acquire one using the `kinit` command. List all
+    your tickets using the `klist` command. It should list all
+    principals for which you have acquired a ticket and include a
+    principal name corresponding to your Gerrit server, for example
+    `HOST/gerrit.mydomain.tld@MYDOMAIN.TLD`. Note that tickets can
+    expire and require you to re-run `kinit` periodically.
+
+2.  Verify that your SSH client is using kerberos authentication. For
+    OpenSSH clients this can be controlled using the
+    `GSSAPIAuthentication` setting. For more information see [SSH
+    kerberos configuration](user-upload.html#configure_ssh_kerberos).
+
+## Test SSH authentication
+
+To test the SSH authentication you can run the following SSH command.
+This command will print out a detailed trace which is helpful to analyze
+problems with the SSH authentication:
+
+``` 
+  $ ssh -vv -p 29418 john.doe@git.example.com
+```
+
+If the SSH authentication is successful you should find the following
+lines in the output:
+
+``` 
+  ...
+
+  debug1: Authentication succeeded (publickey).
+
+  ...
+
+  ****    Welcome to Gerrit Code Review    ****
+
+  Hi John Doe, you have successfully connected over SSH.
+
+  Unfortunately, interactive shells are disabled.
+  To clone a hosted Git repository, use:
+
+  git clone ssh://john.doe@git.example.com:29418/REPOSITORY_NAME.git
+
+  ...
+```
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-prohibited-by-gerrit.md b/jekyll-source/pages/gerrit/error-prohibited-by-gerrit.md
new file mode 100644
index 0000000..1651fc1
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-prohibited-by-gerrit.md
@@ -0,0 +1,57 @@
+---
+title: " prohibited by Gerrit"
+sidebar: gerritdoc_sidebar
+permalink: error-prohibited-by-gerrit.html
+---
+This is a general error message that is returned by Gerrit if a push is
+not allowed, e.g. because the pushing user has no sufficient privileges.
+
+In particular this error occurs:
+
+1.  if you push a commit for code review to a branch for which you don’t
+    have upload permissions (access right
+    [*Push*](access-control.html#category_push_review) on
+    `+refs/for/refs/heads/*+`)
+
+2.  if you bypass code review without
+    [*Push*](access-control.html#category_push_direct) access right on
+    `+refs/heads/*+`
+
+3.  if you bypass code review pushing to a non-existing branch without
+    [*Create Reference*](access-control.html#category_create) access
+    right on `+refs/heads/*+`
+
+4.  if you push an annotated tag without [*Create Annotated
+    Tag*](access-control.html#category_create_annotated) access right on
+    `+refs/tags/*+`
+
+5.  if you push a signed tag without [*Create Signed
+    Tag*](access-control.html#category_create_signed) access right on
+    `+refs/tags/*+`
+
+6.  if you push a lightweight tag without the access right [*Create
+    Reference*](access-control.html#category_create) for the reference
+    name `+refs/tags/*+`
+
+7.  if you push a tag with somebody else as tagger and you don’t have
+    the [*Forge
+    Committer*](access-control.html#category_forge_committer) access
+    right for the reference name `+refs/tags/*+`
+
+8.  if you push to a project that is in state *Read Only*
+
+For new users it often happens that they accidentally try to bypass code
+review. The push then fails with the error message *prohibited by
+Gerrit* because the project didn’t allow to bypass code review.
+Bypassing the code review is done by pushing directly to
+`+refs/heads/*+` (e.g. `refs/heads/master`) instead of pushing to
+`+refs/for/*+` (e.g. `refs/for/master`). Details about how to push
+commits for code review are explained
+[here](user-upload.html#push_create).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-project-not-found.md b/jekyll-source/pages/gerrit/error-project-not-found.md
new file mode 100644
index 0000000..8ef650b
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-project-not-found.md
@@ -0,0 +1,40 @@
+---
+title: " Project not found: ..."
+sidebar: gerritdoc_sidebar
+permalink: error-project-not-found.html
+---
+With this error message Gerrit rejects to push a commit if the git
+repository to which the push is done does not exist as a project in the
+Gerrit server or if the pushing user has no read access for this
+project.
+
+The name of the project in Gerrit has the same name as the path of its
+git repository (excluding the *.git* extension).
+
+If you are facing this problem, do the following:
+
+1.  Verify that the project name specified as git repository in the push
+    command is typed correctly (case sensitive).
+
+2.  Verify that you are pushing to the correct Gerrit server.
+
+3.  Go in the Gerrit Web UI to *Projects* \> *List* and check that the
+    project is listed. If the project is not listed the project either
+    does not exist or you don’t have
+    [*Read*](access-control.html#category_read) access for it. This
+    means if you are certain that the project name is right you should
+    contact the Gerrit Administrator or project owner to request access
+    to the project.
+
+This error message might be misleading if the project actually exists
+but the push is failing because the pushing user has no read access for
+the project. The reason that Gerrit in this case denies the existence of
+the project is to prevent users from probing the Gerrit server to see if
+a particular project exists.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-push-fails-due-to-commit-message.md b/jekyll-source/pages/gerrit/error-push-fails-due-to-commit-message.md
new file mode 100644
index 0000000..f788733
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-push-fails-due-to-commit-message.md
@@ -0,0 +1,46 @@
+---
+title: " Push fails due to commit message"
+sidebar: gerritdoc_sidebar
+permalink: error-push-fails-due-to-commit-message.html
+---
+If Gerrit rejects pushing a commit it is often the case that there is an
+issue with the commit message of the pushed commit. In this case the
+problem can often be resolved by fixing the commit message.
+
+If the commit message of the last commit needs to be fixed you can
+simply amend the last commit (please find a detailed description in the
+[Git
+documentation](http://www.kernel.org/pub/software/scm/git/docs/git-commit.html)):
+
+``` 
+  $ git commit --amend
+```
+
+If you need to fix the commit messages of several commits or of any
+commit other than the last one you have to do an interactive git rebase
+for the affected commits. While doing the interactive rebase you can
+e.g. choose *reword* for those commits for which you want to fix the
+commit messages. For a detailed description of git rebase please check
+the [Git
+documentation](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html).
+
+Please use interactive git rebase with care as it rewrites existing
+commits. Generally you should never rewrite commits that have already
+been submitted in Gerrit.
+
+Sometimes commit hooks are used to automatically insert/update
+information in the commit message. If such information is missing in the
+commit message of existing commits (e.g. because the commit hook was
+only configured later) rewriting the commits will (re)execute the commit
+hook and so update the commit messages. If you do an interactive rebase
+to achieve this make sure that the affected commits are really
+rewritten, e.g. by choosing *reword* for all these commits and then
+confirming all the commit messages. Just picking a commit may not
+rewrite it.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-same-change-id-in-multiple-changes.md b/jekyll-source/pages/gerrit/error-same-change-id-in-multiple-changes.md
new file mode 100644
index 0000000..121e72d
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-same-change-id-in-multiple-changes.md
@@ -0,0 +1,114 @@
+---
+title: " same Change-Id in multiple changes"
+sidebar: gerritdoc_sidebar
+permalink: error-same-change-id-in-multiple-changes.html
+---
+With this error message Gerrit rejects to push a commit if it contains
+the same Change-Id as a predecessor commit.
+
+The reason for rejecting such a commit is that it would introduce, for
+the corresponding change in Gerrit, a dependency upon itself. Gerrit
+prevents such dependencies between patch sets within the same change to
+keep the review process simple. Otherwise reviewers would not only have
+to review the latest patch set but also all the patch sets the latest
+one depends on.
+
+This error is quite common, it appears when a user tries to address
+review comments and creates a new commit instead of amending the
+existing commit. Another possibility for this error, although less
+likely, is that the user tried to create a patch series with multiple
+changes to be reviewed and accidentally included the same Change-Id into
+the different commit messages.
+
+## Example
+
+Here an example about how the push is failing. Please note that the two
+commits *one commit* and *another commit* both have the same Change-Id
+(of course in real life it can happen that there are more than two
+commits that have the same Change-Id).
+
+``` 
+  $ git log
+  commit 13d381265ffff88088e1af88d0e2c2c1143743cd
+  Author: John Doe <john.doe@example.com>
+  Date:   Thu Dec 16 10:15:48 2010 +0100
+
+      another commit
+
+      Change-Id: I93478acac09965af91f03c82e55346214811ac79
+
+  commit ca45e125145b12fe9681864b123bc9daea501bf7
+  Author: John Doe <john.doe@example.com>
+  Date:   Thu Dec 16 10:12:54 2010 +0100
+
+      one commit
+
+      Change-Id: I93478acac09965af91f03c82e55346214811ac79
+
+  $ git push ssh://JohnDoe@host:29418/myProject HEAD:refs/for/master
+  Counting objects: 8, done.
+  Delta compression using up to 2 threads.
+  Compressing objects: 100% (2/2), done.
+  Writing objects: 100% (6/6), 558 bytes, done.
+  Total 6 (delta 0), reused 0 (delta 0)
+  To ssh://JohnDoe@host:29418/myProject
+  ! [remote rejected] HEAD -> refs/for/master (same Change-Id in multiple changes.
+  Squash the commits with the same Change-Id or ensure Change-Ids are unique for each commit)
+  error: failed to push some refs to 'ssh://JohnDoe@host:29418/myProject'
+```
+
+If it was the intention to rework a change and push a new patch set, the
+problem can be fixed by squashing the commits that contain the same
+Change-Id. The squashed commit can then be pushed to Gerrit.
+
+To squash the commits, use `git rebase -i` to do an interactive rebase.
+For the example above where the last two commits have the same
+Change-Id, this means an interactive rebase for the last two commits
+should be done. For further details about the git rebase command please
+check the [Git documentation for
+rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html).
+
+``` 
+  $ git rebase -i HEAD~2
+
+  pick ca45e12 one commit
+  squash 13d3812 another commit
+
+  [detached HEAD ab37207] squashed commit
+   1 files changed, 3 insertions(+), 0 deletions(-)
+  Successfully rebased and updated refs/heads/master.
+
+  $ git log
+  commit ab37207d33647685801dba36cb4fd51f3eb73507
+  Author: John Doe <john.doe@example.com>
+  Date:   Thu Dec 16 10:12:54 2010 +0100
+
+      squashed commit
+
+      Change-Id: I93478acac09965af91f03c82e55346214811ac79
+
+  $ git push ssh://JohnDoe@host:29418/myProject HEAD:refs/for/master
+  Counting objects: 5, done.
+  Writing objects: 100% (3/3), 307 bytes, done.
+  Total 3 (delta 0), reused 0 (delta 0)
+  To ssh://JohnDoe@host:29418/myProject
+   * [new branch]      HEAD -> refs/for/master
+```
+
+If it was the intention to create a patch series with multiple changes
+to be reviewed, each commit message should contain the Change-Id of the
+corresponding change in Gerrit. If a change in Gerrit does not exist
+yet, the Change-Id should be generated (either by using a [commit
+hook](cmd-hook-commit-msg.html) or by using EGit) or the Change-Id could
+be removed (not recommended since then amending this commit to create
+subsequent patch sets is more error prone). To change the Change-Id of
+an existing commit do an interactive [git
+rebase](http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html)
+and fix the affected commit messages.
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-too-many-commits.md b/jekyll-source/pages/gerrit/error-too-many-commits.md
new file mode 100644
index 0000000..4663c18
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-too-many-commits.md
@@ -0,0 +1,23 @@
+---
+title: " too many commits"
+sidebar: gerritdoc_sidebar
+permalink: error-too-many-commits.html
+---
+This error occurs when a push directly to a branch [bypassing
+review](user-upload.html#bypass_review) contains more commits than the
+server is able to validate in a single batch.
+
+The recommended way to avoid this message is to use the
+[`skip-validation` push option](user-upload.html#skip_validation).
+Depending on the number of commits, it may also be feasible to split the
+push into smaller batches.
+
+The actual limit is controlled by a [server config
+option](config-gerrit.html#receive.maxBatchCommits).
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/error-upload-denied.md b/jekyll-source/pages/gerrit/error-upload-denied.md
new file mode 100644
index 0000000..7add8bc
--- /dev/null
+++ b/jekyll-source/pages/gerrit/error-upload-denied.md
@@ -0,0 +1,25 @@
+---
+title: " Upload denied for project ..."
+sidebar: gerritdoc_sidebar
+permalink: error-upload-denied.html
+---
+With this error message Gerrit rejects to push a commit if the pushing
+user has no upload permissions for the project to which the push was
+done.
+
+There are two possibilities how to continue in this situation:
+
+1.  contact one of the project owners and request upload permissions for
+    the project (access right
+    [*Push*](access-control.html#category_push))
+
+2.  export your commit as a patch using the [git
+    format-patch](http://www.kernel.org/pub/software/scm/git/docs/git-format-patch.html)
+    command and provide the patch file to one of the project owners
+
+## GERRIT
+
+Part of [Gerrit Error Messages](error-messages.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/i18n-readme.md b/jekyll-source/pages/gerrit/i18n-readme.md
new file mode 100644
index 0000000..16178ad
--- /dev/null
+++ b/jekyll-source/pages/gerrit/i18n-readme.md
@@ -0,0 +1,27 @@
+---
+title: " Gerrit Code Review - i18n"
+sidebar: gerritdoc_sidebar
+permalink: i18n-readme.html
+---
+Aside from actually writing translations, there are some issues with the
+way the code produces output. Most of the UI should support
+right-to-left (RTL) languages.
+
+## Labels
+
+Labels and their values are defined in project.config by the Gerrit
+administrator or project owners. Only a single translation of these
+strings is supported.
+
+## /Gerrit Gerrit.html
+
+  - The title of the host page is not translated.
+
+  - The \<noscript\> tag is not translated.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/index.md b/jekyll-source/pages/gerrit/index.md
new file mode 100644
index 0000000..070dda0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/index.md
@@ -0,0 +1,202 @@
+---
+title: " Gerrit Code Review for Git"
+sidebar: gerritdoc_sidebar
+permalink: index.html
+---
+## Quickstarts
+
+1.  [Quickstart for Installing Gerrit on Linux](linux-quickstart.html)
+
+## About Gerrit
+
+1.  [Product Overview](intro-quick.html)
+
+2.  [How Gerrit Works](intro-how-gerrit-works.html)
+
+3.  [Basic Gerrit Walkthrough](intro-gerrit-walkthrough.html)
+
+## Guides
+
+1.  [User Guide](intro-user.html)
+
+2.  [Project Owner Guide](intro-project-owner.html)
+
+3.  [Default Android
+    Workflow](https://source.android.com/source/developing) (external)
+
+## Tutorials
+
+1.  Web
+    
+    1.  [Reviewing Changes](user-review-ui.html)
+    
+    2.  [Searching Changes](user-search.html)
+    
+    3.  [Manipulating Changes in Browser](user-inline-edit.html)
+    
+    4.  [Subscribing to Email Notifications](user-notify.html)
+
+2.  SSH
+    
+    1.  [SSH connection details](user-upload.html#ssh)
+    
+    2.  [Command Line Tools](cmd-index.html)
+
+3.  Git
+    
+    1.  Commands, scenarios
+        
+        1.  [Uploading Changes](user-upload.html)
+        
+        2.  [Error Messages](error-messages.html)
+    
+    2.  Changes
+        
+        1.  [Change-Id Lines](user-changeid.html)
+        
+        2.  [Signed-off-by Lines](user-signedoffby.html)
+        
+        3.  [Change Cleanup](user-change-cleanup.html)
+
+## Project Management
+
+1.  [Project Configuration](project-configuration.html)
+    
+    1.  [Review Labels](config-labels.html)
+    
+    2.  [Project Configuration File Format](config-project-config.html)
+
+2.  [Access Controls](access-control.html)
+
+3.  Multi-project management
+    
+    1.  [Submodules](user-submodules.html)
+    
+    2.  [Repo](https://source.android.com/source/using-repo.html)
+        (external)
+
+4.  Prolog rules
+    
+    1.  [Prolog Cookbook](prolog-cookbook.html)
+    
+    2.  [Prolog Facts for Gerrit Changes](prolog-change-facts.html)
+
+5.  [Project deletion](intro-project-owner.html#project-deletion)
+
+## Customization and Integration
+
+1.  [Dashboards](user-dashboards.html)
+
+2.  [REST API](rest-api.html)
+
+3.  [Gitweb Integration](config-gitweb.html)
+
+4.  [Themes](config-themes.html)
+
+5.  [Single Sign-On Systems](config-sso.html)
+
+6.  [Hooks](config-hooks.html)
+
+7.  [Mail Templates](config-mail.html)
+
+8.  [Contributor Agreements](config-cla.html)
+
+9.  [Robot Comments](config-robot-comments.html)
+
+## Server Administration
+
+1.  [Installation Guide](install.html)
+
+2.  [System Settings](config-gerrit.html)
+
+3.  [Command Line Tools](cmd-index.html)
+
+4.  [Replication](config-plugins.html#replication)
+
+5.  [Plugins](config-plugins.html)
+
+6.  [Metrics](metrics.html)
+
+7.  [Reverse Proxy](config-reverseproxy.html)
+
+8.  [Automatic Site Initialization on
+    Startup](config-auto-site-initialization.html)
+
+9.  [Server Side Administrative Tools](pgm-index.html)
+
+10. [NoteDb](note-db.html)
+
+11. [Accounts](config-accounts.html)
+
+## Developer
+
+1.  Getting Started
+    
+    1.  [Developer Setup](dev-readme.html)
+    
+    2.  [Building with Bazel](dev-bazel.html)
+    
+    3.  [Eclipse Setup](dev-eclipse.html)
+    
+    4.  [IntelliJ Setup](dev-intellij.html)
+    
+    5.  [Contributing to Gerrit](dev-contributing.html)
+
+2.  Plugin Development
+    
+    1.  [Developing Plugins](dev-plugins.html)
+    
+    2.  [Building Gerrit plugins](dev-build-plugins.html)
+    
+    3.  [JavaScript Plugin API](js-api.html)
+    
+    4.  [Validation Interfaces](config-validation.html)
+    
+    5.  [Starring Changes](dev-stars.html)
+
+3.  [System Design](dev-design.html)
+
+4.  [i18n Support](i18n-readme.html)
+
+## Maintainer
+
+1.  [Making a Gerrit Release](dev-release.html)
+
+2.  [Making a Release of a Gerrit
+    Subproject](dev-release-subproject.html)
+
+3.  [Making a Release of JGit](dev-release-jgit.html)
+
+## Concepts
+
+1.  [Review Labels](config-labels.html)
+
+2.  [Access Controls](access-control.html)
+
+3.  [Changes](concept-changes.html)
+
+4.  [The refs/for Namespace](concept-refs-for-namespace.html)
+
+5.  [Patch Sets](concept-patch-sets.html)
+
+## Resources
+
+  - [Licenses and Notices](licenses.html)
+
+  - [Homepage](https://www.gerritcodereview.com/)
+
+  - [Downloads](https://www.gerritcodereview.com/download/index.html)
+
+  - [Issue Tracking](https://bugs.chromium.org/p/gerrit/issues/list)
+
+  - [Source Code](https://gerrit.googlesource.com/gerrit)
+
+  - [A History of Gerrit Code
+    Review](https://www.gerritcodereview.com/about.md)
+
+## GERRIT
+
+Part of [Gerrit Code Review](https://www.gerritcodereview.com/)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/install-j2ee.md b/jekyll-source/pages/gerrit/install-j2ee.md
new file mode 100644
index 0000000..57d8e58
--- /dev/null
+++ b/jekyll-source/pages/gerrit/install-j2ee.md
@@ -0,0 +1,139 @@
+---
+title: " Gerrit Code Review - J2EE Installation"
+sidebar: gerritdoc_sidebar
+permalink: install-j2ee.html
+---
+## Description
+
+Gerrit binary distributions include a standalone Jetty servlet
+container, but are packaged as a standard WAR file to permit easy
+deployment to other existing container installations if using the
+standalone daemon is not desired.
+
+Gerrit Code Review can be installed into any J2EE servlet container,
+including popular open source containers such as Jetty or Tomcat, or any
+commercial server which supports the J2EE servlet specification.
+
+## Installation
+
+  - Complete the [database setup](install.html#createdb) and [site
+    initialization](install.html#init) tasks described in the standard
+    installation documentation.
+
+  - Stop the embedded daemon that was automatically started by *init*:
+    
+    ``` 
+      review_site/bin/gerrit.sh stop
+    ```
+
+  - Configure JNDI DataSource *jdbc/ReviewDb*.
+    
+    This DataSource must point to the database you created above. Don’t
+    forget to ensure your JNDI configuration can load the necessary JDBC
+    drivers. You may wish to ensure connection pooling is configured and
+    enabled within the DataSource.
+
+  - Deploy the *gerrit.war* file to your application server.
+    
+    The deployment process differs between servers, but typically this
+    can be accomplished by copying *gerrit.war* into the *webapps/*
+    subdirectory of the container’s installation.
+
+  - (*Optional*) Install Bouncy Castle Crypto API
+    
+    If you enabled Bouncy Castle Crypto during *init*, copy the JAR from
+    `'$site_path'/lib` into your servlet container’s extensions
+    directory so it’s available to Gerrit Code Review.
+
+  - (*Optional*) [Configure Automatic Site Initialization on
+    Startup](config-auto-site-initialization.html)
+
+## Jetty 7.x
+
+These directions will configure Gerrit as the default web application,
+allowing URLs like `http://example.com/4543` to jump directly to change
+4543.
+
+Download and unzip a release version of Jetty. From here on we call the
+unpacked directory `$JETTY_HOME`.
+
+  - [Jetty Downloads](http://www.eclipse.org/jetty/downloads.php)
+
+If this is a fresh installation of Jetty, move into the installation
+directory and do some cleanup to remove the sample webapps:
+
+``` 
+  cd $JETTY_HOME
+  rm -rf contexts/* webapps/*
+```
+
+Copy Gerrit Code Review into the deployment:
+
+``` 
+  cp ~/gerrit.war webapps/gerrit.war
+  java -jar webapps/gerrit.war cat extra/jetty7/gerrit.xml >contexts/gerrit.xml
+```
+
+Install the required additional libraries by copying them into the
+`'$JETTY_HOME'/lib/ext` directory:
+
+``` 
+  cp ../review_db/lib/* lib/ext/
+  java -jar webapps/gerrit.war cat lib/commons-dbcp-1.2.2.jar >lib/ext/commons-dbcp-1.2.2.jar
+  java -jar webapps/gerrit.war cat lib/commons-pool-1.5.4.jar >lib/ext/commons-pool-1.5.4.jar
+  java -jar webapps/gerrit.war cat lib/h2-1.2.128.jar >lib/ext/h2-1.2.128.jar
+  java -jar webapps/gerrit.war cat lib/postgresql-8.4-701.jdbc4.jar >lib/ext/postgresql-8.4-701.jdbc4.jar
+```
+
+Edit `'$JETTY_HOME'/contexts/gerrit.xml` to correctly configure the
+database and outgoing SMTP connections, especially the user and password
+fields.
+
+If OpenID authentication (or certain enterprise single-sign-on
+solutions) is being used, you may need to increase the header buffer
+size parameter, due to very long header lines being used by the OpenID
+authentication handshake process. Add the following to
+`'$JETTY_HOME'/etc/jetty.xml` under
+`org.eclipse.jetty.server.nio.SelectChannelConnector`:
+
+``` 
+  <Set name="headerBufferSize">16384</Set>
+```
+
+To start automatically when the system boots, create a start script and
+modify it for your
+configuration:
+
+``` 
+  java -jar webapps/gerrit.war --cat extra/jetty7/gerrit-jetty.sh >/etc/init.d/gerrit-jetty
+  vi /etc/init.d/gerrit-jetty
+```
+
+> **Tip**
+> 
+> Under Jetty, restarting the web application (e.g. after modifying
+> `system_config`) is as simple as touching the context config file:
+> `'$JETTY_HOME'/contexts/gerrit.xml`
+
+## Tomcat 7.x
+
+If a reverse proxy is used in front of Tomcat then see the
+[configuration instructions for encoding
+slashes](config-reverseproxy.html). Otherwise Tomcat must be configured
+to encode slashes, by adding
+`-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true` to the
+`CATALINA_OPTS` environment variable.
+
+Excerpt from the
+[documentation](https://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html):
+
+    Property org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH:
+    If this is true '%2F' and '%5C' will be permitted as path delimiters.
+    If not specified, the default value of false will be used.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/install-quick.md b/jekyll-source/pages/gerrit/install-quick.md
new file mode 100644
index 0000000..aad7b87
--- /dev/null
+++ b/jekyll-source/pages/gerrit/install-quick.md
@@ -0,0 +1,373 @@
+---
+title: " Gerrit Code Review - Quick get started guide"
+sidebar: gerritdoc_sidebar
+permalink: install-quick.html
+---
+This guide was made with the impatient in mind, ready to try out Gerrit
+on their own server but not prepared to make the full installation
+procedure yet.
+
+Explanation is sparse and you should not use a server installed this way
+in a live setup, this is made with proof of concept activities in mind.
+
+It is presumed you install it on a Unix based server such as any of the
+Linux flavors or BSD.
+
+It’s also presumed that you have access to an OpenID enabled email
+address. Examples of OpenID enable email providers are Gmail, Yahoo\!
+Mail and Hotmail. It’s also possible to register a custom email address
+with OpenID, but that is outside the scope of this quick installation
+guide. For testing purposes one of the above providers should be fine.
+Please note that network access to the OpenID provider you choose is
+necessary for both you and your Gerrit instance.
+
+## Requirements
+
+Most distributions come with Java today. Do you already have Java
+installed?
+
+``` 
+  $ java -version
+  openjdk version "1.8.0_72"
+  OpenJDK Runtime Environment (build 1.8.0_72-b15)
+  OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode)
+```
+
+If Java isn’t installed, get it:
+
+  - JRE, minimum version 1.8
+    [Download](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
+
+## Create a user to host the Gerrit service
+
+We will run the service as a non-privileged user on your system. First
+create the user and then become the user:
+
+``` 
+  $ sudo adduser gerrit
+  $ sudo su gerrit
+```
+
+If you don’t have root privileges you could skip this step and run
+Gerrit as your own user as well.
+
+## Download Gerrit
+
+It’s time to download the archive that contains the Gerrit web and ssh
+service.
+
+You can choose from different versions to download from here:
+
+  - [A list of releases
+    available](https://www.gerritcodereview.com/download/index.html)
+
+This tutorial is based on version 2.2.2, and you can download that from
+this link
+
+  - [Link to the 2.2.2 war
+    archive](https://www.gerritcodereview.com/download/gerrit-2.2.2.war)
+
+## Initialize the Site
+
+It’s time to run the initialization, and with the batch switch enabled,
+we don’t have to answer any questions at all:
+
+``` 
+  gerrit@host:~$ java -jar gerrit.war init --batch -d ~/gerrit_testsite
+  Generating SSH host key ... rsa(simple)... done
+  Initialized /home/gerrit/gerrit_testsite
+  Executing /home/gerrit/gerrit_testsite/bin/gerrit.sh start
+  Starting Gerrit Code Review: OK
+  gerrit@host:~$
+```
+
+When the init is complete, you can review your settings in the file
+`'$site_path/etc/gerrit.config'`.
+
+Note that initialization also starts the server. If any settings changes
+are made, the server must be restarted before they will take effect.
+
+``` 
+  gerrit@host:~$ ~/gerrit_testsite/bin/gerrit.sh restart
+  Stopping Gerrit Code Review: OK
+  Starting Gerrit Code Review: OK
+  gerrit@host:~$
+```
+
+The server can be also stopped and started by passing the `stop` and
+`start` commands to gerrit.sh.
+
+``` 
+  gerrit@host:~$ ~/gerrit_testsite/bin/gerrit.sh stop
+  Stopping Gerrit Code Review: OK
+  gerrit@host:~$
+  gerrit@host:~$ ~/gerrit_testsite/bin/gerrit.sh start
+  Starting Gerrit Code Review: OK
+  gerrit@host:~$
+```
+
+## Initial Login
+
+It’s time to exit the gerrit account as you now have Gerrit running on
+your host and setup your first workspace.
+
+Start a shell with the credentials of the account you will perform
+development under.
+
+Check whether there are any ssh keys already. You’re looking for two
+files, id\_rsa and id\_rsa.pub.
+
+``` 
+  user@host:~$ ls .ssh
+  authorized_keys  config  id_rsa  id_rsa.pub  known_hosts
+  user@host:~$
+```
+
+If you have the files, you may skip the key generating step.
+
+If you don’t see the files in your listing, your will have to generate
+rsa keys for your ssh sessions:
+
+### SSH key generation
+
+**Please don’t generate new keys if you already have a valid keypair\!**
+**They will be overwritten\!**
+
+``` 
+  user@host:~$ ssh-keygen -t rsa
+  Generating public/private rsa key pair.
+  Enter file in which to save the key (/home/user/.ssh/id_rsa):
+  Created directory '/home/user/.ssh'.
+  Enter passphrase (empty for no passphrase):
+  Enter same passphrase again:
+  Your identification has been saved in /home/user/.ssh/id_rsa.
+  Your public key has been saved in /home/user/.ssh/id_rsa.pub.
+  The key fingerprint is:
+  00:11:22:00:11:22:00:11:44:00:11:22:00:11:22:99 user@host
+  The key's randomart image is:
+  +--[ RSA 2048]----+
+  |     ..+.*=+oo.*E|
+  |      u.OoB.. . +|
+  |       ..*.      |
+  |       o         |
+  |      . S ..     |
+  |                 |
+  |                 |
+  |          ..     |
+  |                 |
+  +-----------------+
+  user@host:~$
+```
+
+### Registering your key in Gerrit
+
+Open a browser and enter the canonical url of your Gerrit server. You
+can find the url in the settings
+file.
+
+``` 
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config gerrit.canonicalWebUrl
+  http://localhost:8080/
+  gerrit@host:~$
+```
+
+Register a new account in Gerrit through the web interface with the
+email address of your choice.
+
+The default authentication type is OpenID. If your Gerrit server is
+behind a proxy, and you are using an external OpenID provider, you will
+need to add the proxy settings in the configuration
+file.
+
+``` 
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxy http://proxy:8080
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxyUsername username
+  gerrit@host:~$ git config -f ~/gerrit_testsite/etc/gerrit.config --add http.proxyPassword password
+```
+
+Refer to the Gerrit configuration guide for more detailed information
+about [authentication](config-gerrit.html#auth) and
+[proxy](config-gerrit.html#http.proxy) settings.
+
+The first user to sign-in and register an account will be automatically
+placed into the fully privileged Administrators group, permitting server
+management over the web and over SSH. Subsequent users will be
+automatically registered as unprivileged users.
+
+Once signed in as your user, you find a little wizard to get you
+started. The wizard helps you fill out:
+
+  - Real name (visible name in Gerrit)
+
+  - Register your email (it must be confirmed later)
+
+  - Select a username with which to communicate with Gerrit over
+    ssh+git. Note that once saved, the username cannot be changed.
+
+  - The server will ask you for an RSA public key. That’s the key we
+    generated above, and it’s time to make sure that Gerrit knows about
+    our new key and can identify us by it.
+
+<!-- end list -->
+
+``` 
+  user@host:~$ cat .ssh/id_rsa.pub
+  ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1bidOd8LAp7Vp95M1b9z+LGO96OEWzdAgBPfZPq05jUh
+  jw0mIdUuvg5lhwswnNsvmnFhGbsUoXZui6jdXj7xPUWOD8feX2NNEjTAEeX7DXOhnozNAkk/Z98WUV2B
+  xUBqhRi8vhVmaCM8E+JkHzAc+7/HVYBTuPUS7lYPby5w95gs3zVxrX8d1++IXg/u/F/47zUxhdaELMw2
+  deD8XLhrNPx2FQ83FxrjnVvEKQJyD2OoqxbC2KcUGYJ/3fhiupn/YpnZsl5+6mfQuZRJEoZ/FH2n4DEH
+  wzgBBBagBr0ZZCEkl74s4KFZp6JJw/ZSjMRXsXXXWvwcTpaUEDii708HGw== John Doe@MACHINE
+  user@host:~$
+```
+
+> **Important**
+> 
+> Please take note of the extra line-breaks introduced in the key above
+> for formatting purposes. Please be sure to copy and paste your key
+> without line-breaks.
+
+Copy the string starting with ssh-rsa to your clipboard and then paste
+it into the box for RSA keys. Make **absolutely sure** no extra spaces
+or line feeds are entered in the middle of the RSA string.
+
+Verify that the ssh connection works for you.
+
+``` 
+  user@host:~$ ssh user@localhost -p 29418
+  The authenticity of host '[localhost]:29418 ([127.0.0.1]:29418)' can't be established.
+  RSA key fingerprint is db:07:3d:c2:94:25:b5:8d:ac:bc:b5:9e:2f:95:5f:4a.
+  Are you sure you want to continue connecting (yes/no)? yes
+  Warning: Permanently added '[localhost]:29418' (RSA) to the list of known hosts.
+
+  ****    Welcome to Gerrit Code Review    ****
+
+  Hi user, you have successfully connected over SSH.
+
+  Unfortunately, interactive shells are disabled.
+  To clone a hosted Git repository, use:
+
+  git clone ssh://user@localhost:29418/REPOSITORY_NAME.git
+
+  user@host:~$
+```
+
+## Project creation
+
+Your base Gerrit server is now running and you have a user that’s ready
+to interact with it. You now have two options, either you create a new
+test project to work with or you already have a git with history that
+you would like to import into Gerrit and try out code review on.
+
+### New project from scratch
+
+If you choose to create a new repository from scratch, it’s easier for
+you to create a project with an initial commit in it. That way first
+time setup between client and server is easier.
+
+This is done via the SSH
+port:
+
+``` 
+  user@host:~$ ssh -p 29418 user@localhost gerrit create-project demo-project --empty-commit
+  user@host:~$
+```
+
+This will create a repository that you can clone to work with.
+
+### Already existing project
+
+The other alternative is if you already have a git project that you want
+to try out Gerrit on. First you have to create the project. This is done
+via the SSH
+port:
+
+``` 
+  user@host:~$ ssh -p 29418 user@localhost gerrit create-project demo-project
+  user@host:~$
+```
+
+You need to make sure that at least initially your account is granted
+"Create Reference" privileges for the refs/heads/\* reference. This is
+done via the web interface in the Admin/Projects/Access page that
+correspond to your project.
+
+After that it’s time to upload the previous history to the
+server:
+
+``` 
+  user@host:~/my-project$ git push ssh://user@localhost:29418/demo-project *:*
+  Counting objects: 2011, done.
+  Writing objects: 100% (2011/2011), 456293 bytes, done.
+  Total 2011 (delta 0), reused 0 (delta 0)
+  To ssh://user@localhost:29418/demo-project
+   * [new branch]      master -> master
+  user@host:~/my-project$
+```
+
+This will create a repository that you can clone to work with.
+
+## My first change
+
+Download a local clone of the repository and move into it
+
+``` 
+  user@host:~$ git clone ssh://user@localhost:29418/demo-project
+  Cloning into demo-project...
+  remote: Counting objects: 2, done
+  remote: Finding sources: 100% (2/2)
+  remote: Total 2 (delta 0), reused 0 (delta 0)
+  user@host:~$ cd demo-project
+  user@host:~/demo-project$
+```
+
+Then make a change to it and upload it as a reviewable change in Gerrit.
+
+``` 
+  user@host:~/demo-project$ date > testfile.txt
+  user@host:~/demo-project$ git add testfile.txt
+  user@host:~/demo-project$ git commit -m "My pretty test commit"
+  [master ff643a5] My pretty test commit
+   1 files changed, 1 insertions(+), 0 deletions(-)
+   create mode 100644 testfile.txt
+  user@host:~/demo-project$
+```
+
+Usually when you push to a remote git, you push to the reference
+`'/refs/heads/branch'`, but when working with Gerrit you have to push to
+a virtual branch representing "code review before submission to branch".
+This virtual name space is known as /refs/for/\<branch\>
+
+``` 
+  user@host:~/demo-project$ git push origin HEAD:refs/for/master
+  Counting objects: 4, done.
+  Writing objects: 100% (3/3), 293 bytes, done.
+  Total 3 (delta 0), reused 0 (delta 0)
+  remote:
+  remote: New Changes:
+  remote:   http://localhost:8080/1
+  remote:
+  To ssh://user@localhost:29418/demo-project
+   * [new branch]      HEAD -> refs/for/master
+  user@host:~/demo-project$
+```
+
+You should now be able to access your change by browsing to the http URL
+suggested above, <http://localhost:8080/1>
+
+## Quick Installation Complete
+
+This covers the scope of getting Gerrit started and your first change
+uploaded. It doesn’t give any clue as to how the review workflow works,
+please read [Default
+Workflow](http://source.android.com/source/life-of-a-patch) to learn
+more about the workflow of Gerrit.
+
+To read more on the installation of Gerrit please see [the detailed
+installation page](install.html).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/install.md b/jekyll-source/pages/gerrit/install.md
new file mode 100644
index 0000000..366923e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/install.md
@@ -0,0 +1,530 @@
+---
+title: " Gerrit Code Review - Standalone Daemon Installation Guide"
+sidebar: gerritdoc_sidebar
+permalink: install.html
+---
+## Requirements
+
+To run the Gerrit service, the following requirements must be met on the
+host:
+
+  - JRE, minimum version 1.8
+    [Download](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
+
+You’ll also need an SQL database to house the review metadata. You have
+the choice of either using the embedded H2 or to host your own MySQL or
+PostgreSQL.
+
+## Configure Java for Strong Cryptography
+
+Support for extra strength cryptographic ciphers: *AES128CTR*,
+*AES256CTR*, *ARCFOUR256*, and *ARCFOUR128* can be enabled by
+downloading the *Java Cryptography Extension (JCE) Unlimited Strength
+Jurisdiction Policy Files* from Oracle and installing them into your
+JRE.
+
+> **Note**
+> 
+> Installing JCE extensions is optional and export restrictions may
+> apply.
+
+1.  Download the unlimited strength JCE policy files.
+    
+      - [JDK7 JCE policy
+        files](http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html)
+    
+      - [JDK8 JCE policy
+        files](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
+
+2.  Uncompress and extract the downloaded file.
+    
+    The downloaded file contains the following files:
+    
+    <table>
+    <colgroup>
+    <col width="50%" />
+    <col width="50%" />
+    </colgroup>
+    <tbody>
+    <tr class="odd">
+    <td><p>README.txt</p></td>
+    <td><p>Information about JCE and installation guide</p></td>
+    </tr>
+    <tr class="even">
+    <td><p>local_policy.jar</p></td>
+    <td><p>Unlimited strength local policy file</p></td>
+    </tr>
+    <tr class="odd">
+    <td><p>US_export_policy.jar</p></td>
+    <td><p>Unlimited strength US export policy file</p></td>
+    </tr>
+    </tbody>
+    </table>
+
+3.  Install the unlimited strength policy JAR files by following
+    instructions found in `README.txt`.
+
+## Download Gerrit
+
+Current and past binary releases of Gerrit can be obtained from the
+[Gerrit Releases
+site](https://www.gerritcodereview.com/download/index.html).
+
+Download any current `*.war` package. The war will be referred to as
+`gerrit.war` from this point forward, so you may find it easier to
+rename the downloaded file.
+
+If you would prefer to build Gerrit directly from source, review the
+notes under [developer setup](dev-readme.html).
+
+## Database Setup
+
+During the init phase of Gerrit you will need to specify which database
+to use.
+
+### H2
+
+If you choose H2, Gerrit will automatically set up the embedded H2
+database as backend so no set up or configuration is necessary.
+
+Using the embedded H2 database is the easiest way to get a Gerrit site
+up and running, making it ideal for proof of concepts or small team
+servers. On the flip side, H2 is not the recommended option for large
+corporate installations. This is because there is no easy way to
+interact with the database while Gerrit is offline, it’s not easy to
+backup the data, and it’s not possible to set up H2 in a load
+balanced/hotswap configuration.
+
+If this option interests you, you might want to consider [the quick
+guide](install-quick.html).
+
+### Apache Derby
+
+If Derby is selected, Gerrit will automatically set up the embedded
+Derby database as backend so no set up or configuration is necessary.
+
+Currently only support for embedded mode is added. There are two other
+deployment options for Apache Derby that can be added later:
+
+  - [Derby Network Server (standalone
+    mode)](http://db.apache.org/derby/papers/DerbyTut/ns_intro.html#Network+Server+Options)
+
+  - [Embedded Server (hybrid
+    mode)](http://db.apache.org/derby/papers/DerbyTut/ns_intro.html#Embedded+Server)
+
+### PostgreSQL
+
+This option is more complicated than the H2 option but is recommended
+for larger installations. It’s the database backend with the largest
+userbase in the Gerrit community.
+
+Create a user for the web application within PostgreSQL, assign it a
+password, create a database to store the metadata, and grant the user
+full rights on the newly created database:
+
+``` 
+  $ createuser --username=postgres -RDIElPS gerrit
+  $ createdb --username=postgres -E UTF-8 -O gerrit reviewdb
+```
+
+Visit PostgreSQL’s
+[documentation](http://www.postgresql.org/docs/9.1/interactive/index.html)
+for further information regarding using PostgreSQL.
+
+### MySQL
+
+Requirements: MySQL version 5.5 or later.
+
+This option is also more complicated than the H2 option. Just as with
+PostgreSQL it’s also recommended for larger installations.
+
+Create a user for the web application within the database, assign it a
+password, create a database, and give the newly created user full rights
+on it:
+
+``` 
+  mysql
+
+  CREATE USER 'gerrit'@'localhost' IDENTIFIED BY 'secret';
+  CREATE DATABASE reviewdb;
+  GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';
+  FLUSH PRIVILEGES;
+```
+
+Visit MySQL’s [documentation](http://dev.mysql.com/doc/) for further
+information regarding using MySQL.
+
+### MariaDB
+
+Requirements: MariaDB version 5.5 or later.
+
+Refer to MySQL section above how to create MariaDB database.
+
+Visit MariaDB’s [documentation](https://mariadb.com/kb/en/mariadb/) for
+further information regarding using MariaDB.
+
+### Oracle
+
+PostgreSQL or H2 is the recommended database for Gerrit Code Review.
+Oracle is supported for environments where running on an existing Oracle
+installation simplifies administrative overheads, such as database
+backups.
+
+Create a user for the web application within sqlplus, assign it a
+password, and grant the user full rights on the newly created
+database:
+
+``` 
+  SQL> create user gerrit identified by secret_password default tablespace users;
+  SQL> grant connect, resources to gerrit;
+```
+
+JDBC driver ojdbc6.jar must be obtained from your Oracle distribution.
+Gerrit initialization process tries to copy it from a known location:
+
+    /u01/app/oracle/product/11.2.0/xe/jdbc/lib/ojdbc6.jar
+
+If this file can not be located at this place, then the alternative
+location can be provided.
+
+Instance name is the Oracle SID. Sample database section in
+$site\_path/etc/gerrit.config:
+
+    [database]
+            type = oracle
+            instance = xe
+            hostname = localhost
+            username = gerrit
+            port = 1521
+
+Sample database section in $site\_path/etc/secure.config:
+
+    [database]
+            password = secret_password
+
+### SAP MaxDB
+
+SAP MaxDB is a supported database for running Gerrit Code Review.
+However it is recommended only for environments where you intend to run
+Gerrit on an existing MaxDB installation to reduce administrative
+overhead.
+
+In the MaxDB studio or using the SQLCLI command line interface create a
+user *gerrit* with the user class *RESOURCE* and a password \<secret
+password\>. This will also create an associated schema on the database.
+
+To run Gerrit on MaxDB, you need to obtain the MaxDB JDBC driver. It can
+be found in your MaxDB installation at the following location:
+
+  - on Windows 64bit at "C:\\Program
+    Files\\sdb\\MaxDB\\runtime\\jar\\sapdbc.jar"
+
+  - on Linux at "/opt/sdb/MaxDB/runtime/jar/sapdbc.jar"
+
+It needs to be stored in the *lib* folder of the review site.
+
+In the following sample database section it is assumed that the database
+name is *reviewdb* and the database is installed on localhost:
+
+In $site\_path/etc/gerrit.config:
+
+    [database]
+            type = maxdb
+            database = reviewdb
+            hostname = localhost
+            username = gerrit
+
+In $site\_path/etc/secure.config:
+
+    [database]
+            password = <secret password>
+
+Visit SAP MaxDB’s [documentation](http://maxdb.sap.com/documentation/)
+for further information regarding using SAP MaxDB.
+
+### DB2
+
+IBM DB2 is a supported database for running Gerrit Code Review. However
+it is recommended only for environments where you intend to run Gerrit
+on an existing DB2 installation to reduce administrative overhead.
+
+Create a system wide user for the Gerrit application, and grant the user
+full rights on the newly created database:
+
+``` 
+  db2 => create database gerrit
+  db2 => connect to gerrit
+  db2 => grant connect,accessctrl,dataaccess,dbadm,secadm on database to gerrit;
+```
+
+JDBC driver db2jcc4.jar and db2jcc\_license\_cu.jar must be obtained
+from your DB2 distribution. Gerrit initialization process tries to copy
+it from a known location:
+
+    /opt/ibm/db2/V10.5/java/db2jcc4.jar
+    /opt/ibm/db2/V10.5/java/db2jcc_license_cu.jar
+
+If these files cannot be located at this place, then an alternative
+location can be provided during init step execution.
+
+Sample database section in $site\_path/etc/gerrit.config:
+
+    [database]
+            type = db2
+            database = gerrit
+            hostname = localhost
+            username = gerrit
+            port = 50001
+
+Sample database section in $site\_path/etc/secure.config:
+
+    [database]
+            password = secret_password
+
+### SAP HANA
+
+SAP HANA is a supported database for running Gerrit Code Review. However
+it is recommended only for environments where you intend to run Gerrit
+on an existing HANA installation to reduce administrative overhead.
+
+In the HANA studio or the SAP HANA Web-based Development Workbench
+create a user *GERRIT2* with the role *RESTRICTED\_USER\_JDBC\_ACCESS*
+and a password \<secret password\>. This will also create an associated
+schema on the database. As this user would be required to change the
+password upon first login you might want to to disable the password
+lifetime check by executing *ALTER USER GERRIT2 DISABLE PASSWORD
+LIFETIME*.
+
+To run Gerrit on HANA, you need to obtain the HANA JDBC driver. It can
+be found as described
+[here](http://help.sap.com/saphelp_hanaplatform/helpdata/en/ff/15928cf5594d78b841fbbe649f04b4/frameset.htm).
+It needs to be stored in the *lib* folder of the review site.
+
+In the following sample database section it is assumed that HANA is
+running on the host *hana.host* and listening on port *4242* where a
+schema/user GERRIT2 was created:
+
+In $site\_path/etc/gerrit.config:
+
+    [database]
+            type = hana
+            hostname = hana.host
+            port = 4242
+            username = GERRIT2
+
+In order to configure a specific database in a multi-database
+environment (MDC) the database name has to be specified additionally:
+
+In $site\_path/etc/gerrit.config:
+
+    [database]
+            type = hana
+            hostname = hana.host
+            database = tdb1
+            port = 4242
+            username = GERRIT2
+
+In $site\_path/etc/secure.config:
+
+    [database]
+            password = <secret password>
+
+Visit SAP HANA’s [documentation](http://help.sap.com/hana_appliance/)
+for further information regarding using SAP HANA.
+
+## Initialize the Site
+
+Gerrit stores configuration files, the server’s SSH keys, and the
+managed Git repositories under a local directory, typically referred to
+as `'$site_path'`. If the embedded H2 database is being used, its data
+files will also be stored under this directory.
+
+You also have to decide where to store your server side git
+repositories. This can either be a relative path under `'$site_path'` or
+an absolute path anywhere on your server system. You have to choose a
+place before commencing your init phase.
+
+Initialize a new site directory by running the init command, passing the
+path of the site directory to be created as an argument to the *-d*
+option. Its recommended that Gerrit Code Review be given its own user
+account on the host system:
+
+``` 
+  sudo adduser gerrit
+  sudo su gerrit
+
+  java -jar gerrit.war init -d /path/to/your/gerrit_application_directory
+```
+
+> **Note**
+> 
+> If you choose a location where your new user doesn’t have any
+> privileges, you may have to manually create the directory first and
+> then give ownership of that location to the `'gerrit'` user.
+
+If run from an interactive terminal, the init command will prompt
+through a series of configuration questions, including gathering
+information about the database created above. If the terminal is not
+interactive, running the init command will choose some reasonable
+default selections, and will use the embedded H2 database. Once the init
+phase is complete, you can review your settings in the file
+`'$site_path/etc/gerrit.config'`.
+
+When running the init command, additional JARs might be downloaded to
+support optional selected functionality. If a download fails a URL will
+be displayed and init will wait for the user to manually download the
+JAR and store it in the target location.
+
+When the init phase is complete, the daemon will be automatically
+started in the background and your web browser will open to the site:
+
+``` 
+  Initialized /home/gerrit/review_site
+  Executing /home/gerrit/review_site/bin/gerrit.sh start
+  Starting Gerrit Code Review: OK
+  Waiting for server to start ... OK
+  Opening browser ...
+```
+
+When the browser opens, sign in to Gerrit through the web interface. The
+first user to sign-in and register an account will be automatically
+placed into the fully privileged Administrators group, permitting server
+management over the web and over SSH. Subsequent users will be
+automatically registered as unprivileged users.
+
+## Installation Complete
+
+Your base Gerrit server is now installed and running. You’re now ready
+to either set up more projects or start working with the projects you’ve
+already imported.
+
+## Project Setup
+
+See [Project Configuration](project-configuration.html) for further
+details on how to register a new project with Gerrit. This step is
+necessary if existing Git repositories were not imported during *init*.
+
+## Start/Stop Daemon
+
+To control the Gerrit Code Review daemon that is running in the
+background, use the rc.d style start script created by *init*:
+
+``` 
+  review_site/bin/gerrit.sh start
+  review_site/bin/gerrit.sh stop
+  review_site/bin/gerrit.sh restart
+```
+
+(*Optional*) Configure the daemon to automatically start and stop with
+the operating system.
+
+Uncomment the following 3 lines in the `'$site_path/bin/gerrit.sh'`
+script:
+
+``` 
+ chkconfig: 3 99 99
+ description: Gerrit Code Review
+ processname: gerrit
+```
+
+Then link the `gerrit.sh` script into `rc3.d`:
+
+``` 
+  sudo ln -snf `pwd`/review_site/bin/gerrit.sh /etc/init.d/gerrit
+  sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit
+```
+
+(*Optional*) To enable autocompletion of the gerrit.sh commands, install
+autocompletion from the `/contrib/bash_completion` script. Refer to the
+script’s header comments for installation instructions.
+
+To install Gerrit into an existing servlet container instead of using
+the embedded Jetty server, see [J2EE installation](install-j2ee.html).
+
+## Installation on Windows
+
+If new site is going to be initialized with Bouncy Castle cryptography,
+ssh-keygen command must be available during the init phase. If you have
+[Git for Windows](https://git-for-windows.github.io/) installed, start
+Command Prompt and temporary add directory with ssh-keygen to the PATH
+environment variable just before running init command:
+
+    PATH=%PATH%;c:\Program Files\Git\usr\bin
+
+Please note that the path in the above example must not be
+double-quoted.
+
+To run the daemon after site initialization execute:
+
+    cd C:\MY\GERRIT\SITE
+    java.exe -jar bin\gerrit.war daemon --console-log
+
+To stop the daemon press Ctrl+C.
+
+### Install the daemon as Windows Service
+
+To install Gerrit as Windows Service use the [Apache Commons Daemon
+Procrun](http://commons.apache.org/proper/commons-daemon/procrun.html).
+
+Sample install
+    command:
+
+    prunsrv.exe //IS//Gerrit --DisplayName="Gerrit Code Review" --Startup=auto ^
+          --Jvm="C:\Program Files\Java\jre1.8.0_65\bin\server\jvm.dll" ^
+          --Classpath=C:\MY\GERRIT\SITE\bin\gerrit.war ^
+          --LogPath=C:\MY\GERRIT\SITE\logs ^
+          --StartPath=C:\MY\GERRIT\SITE ^
+          --StartMode=jvm --StopMode=jvm ^
+          --StartClass=com.google.gerrit.launcher.GerritLauncher --StartMethod=daemonStart ^
+          --StopClass=com.google.gerrit.launcher.GerritLauncher --StopMethod=daemonStop ^
+          ++DependsOn=postgresql-x64-9.4
+
+## Site Customization
+
+Gerrit Code Review supports some site-specific customization options.
+For more information, see the related topics in this manual:
+
+  - [Reverse Proxy](config-reverseproxy.html)
+
+  - [Single Sign-On Systems](config-sso.html)
+
+  - [Themes](config-themes.html)
+
+  - [Gitweb Integration](config-gitweb.html)
+
+  - [Other System Settings](config-gerrit.html)
+
+  - [Automatic Site Initialization on
+    Startup](config-auto-site-initialization.html)
+
+## Anonymous Access
+
+Exporting the Git repository directory
+([gerrit.basePath](config-gerrit.html#gerrit.basePath)) over the
+anonymous, unencrypted git:// protocol is more efficient than Gerrit’s
+internal SSH daemon. See the `git-daemon` documentation for details on
+how to configure this if anonymous access is desired.
+
+  - [man
+    git-daemon](http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html)
+
+## Plugins
+
+Place Gerrit plugins in the review\_site/plugins directory to have them
+loaded on Gerrit startup.
+
+## External Documentation Links
+
+  - [PostgreSQL Documentation](http://www.postgresql.org/docs/)
+
+  - [MySQL
+    Documentation](http://dev.mysql.com/doc/)
+
+  - [git-daemon](http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/intro-gerrit-walkthrough.md b/jekyll-source/pages/gerrit/intro-gerrit-walkthrough.md
new file mode 100644
index 0000000..da62052
--- /dev/null
+++ b/jekyll-source/pages/gerrit/intro-gerrit-walkthrough.md
@@ -0,0 +1,321 @@
+---
+title: " Working with Gerrit: An example"
+sidebar: gerritdoc_sidebar
+permalink: intro-gerrit-walkthrough.html
+---
+To understand how Gerrit works, let’s follow a change through its entire
+life cycle. This example uses a Gerrit server configured as follows:
+
+  - **Hostname**: gerrithost
+
+  - **HTTP interface port**: 8080
+
+  - **SSH interface port**: 29418
+
+In this walkthrough, we’ll follow two developers, Max and Hannah, as
+they make and review a change to a `RecipeBook` project. We’ll follow
+the change through these stages:
+
+1.  Making the change.
+
+2.  Creating the review.
+
+3.  Reviewing the change.
+
+4.  Reworking the change.
+
+5.  Verifying the change.
+
+6.  Submitting the change.
+
+> **Note**
+> 
+> The project and commands used in this section are for demonstration
+> purposes only.
+
+## Making the Change
+
+Our first developer, Max, has decided to make a change to the
+`RecipeBook` project he works on. His first step is to get the source
+code that he wants to modify. To get this code, he runs the following
+`git clone` command:
+
+    clone ssh://gerrithost:29418/RecipeBook.git RecipeBook
+
+After he clones the repository, he runs a couple of commands to add a
+[Change-Id](user-changeid.html) to his commits. This ID allows Gerrit to
+link together different versions of the same change being reviewed.
+
+    scp -p -P 29418 gerrithost:hooks/commit-msg RecipeBook/.git/hooks/
+    chmod u+x .git/hooks/commit-msg
+
+> **Note**
+> 
+> To learn more about adding a change-id and the commit message hook,
+> see the [commit-msg Hook](cmd-hook-commit-msg.html) topic.
+
+## Creating the Review
+
+Max’s next step is to push his change to Gerrit so other contributors
+can review it. He does this using the `git push origin
+HEAD:refs/for/master` command, as follows:
+
+    $ <work>
+    $ git commit
+    [master 9651f22] Change to a proper, yeast based pizza dough.
+     1 files changed, 3 insertions(+), 2 deletions(-)
+    $ git push origin HEAD:refs/for/master
+    Counting objects: 5, done.
+    Delta compression using up to 8 threads.
+    Compressing objects: 100% (2/2), done.
+    Writing objects: 100% (3/3), 542 bytes, done.
+    Total 3 (delta 0), reused 0 (delta 0)
+    remote:
+    remote: New Changes:
+    remote:   http://gerrithost:8080/68
+    remote:
+    To ssh://gerrithost:29418/RecipeBook.git
+     * [new branch]      HEAD -> refs/for/master
+
+Notice the reference to a `refs/for/master` branch. Gerrit uses this
+branch to create reviews for the master branch. If Max opted to push to
+a different branch, he would have modified his command to `git push
+origin HEAD:refs/for/<branch_name>`. Gerrit accepts pushes to
+`refs/for/<branch_name>` for every branch that it tracks.
+
+The output of this command also contains a link to a web page Max can
+use to review this commit. Clicking on that link takes him to a screen
+similar to the following.
+
+![Gerrit Code Review Screen](/images/intro-quick-new-review.jpg "fig:")
+
+This is the Gerrit code review screen, where other contributors can
+review his change. Max can also perform tasks such as:
+
+  - Looking at the [diff](user-review-ui.html#diff-preferences) of his
+    change
+
+  - Writing [inline](user-review-ui.html#inline-comments) or
+    [summary](user-review-ui.html#reply) comments to ask reviewers for
+    advice on particular aspects of the change
+
+  - [Adding a list of people](intro-user.html#adding-reviewers) that
+    should review the change
+
+In this case, Max opts to manually add the senior developer on his team,
+Hannah, to review his change.
+
+## Reviewing the Change
+
+Let’s now switch to Hannah, the senior developer who will review Max’s
+change.
+
+As mentioned previously, Max chose to manually add Hannah as a reviewer.
+Gerrit offers other ways for reviewers to find changes, including:
+
+  - Using the [search](user-search.html) feature that to find changes
+
+  - Selecting **Open** from the **Changes** menu
+
+  - Setting up [email notifications](user-notify.html) to stay informed
+    of changes even if you are not added as a reviewer
+
+Because Max added Hannah as a reviewer, she receives an email telling
+her about his change. She opens up the Gerrit code review screen and
+selects Max’s change.
+
+![Gerrit Code Review Screen](/images/intro-quick-new-review.jpg "fig:")
+
+Notice the two "Need" lines:
+
+    * Need Verified
+    * Need Code-Review
+
+These two lines indicate what checks must be completed before the change
+is accepted. The default Gerrit workflow requires two checks:
+
+  - **Code-Review**. This check requires that someone look at the code
+    and ensures that it meets project guidelines, styles, and other
+    criteria.
+
+  - **Verified**. This check means that the code actually compiles,
+    passes any unit tests, and performs as expected.
+
+In general, the **Code-Review** check requires an individual to look at
+the code, while the **Verified** check is done by an automated build
+server, through a mechanism such as the [Gerrit Trigger Jenkins
+Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger).
+
+> **Important**
+> 
+> The Code-Review and Verified checks require different permissions in
+> Gerrit. This requirement allows teams to separate these tasks. For
+> example, an automated process can have the rights to verify a change,
+> but not perform a code review.
+
+With the code review screen open, Hannah can begin to review Max’s
+change. She can choose one of two ways to review the change: unified or
+side-by-side. Both views allow her to perform tasks such as add
+[inline](user-review-ui.html#inline-comments) or
+[summary](user-review-ui.html#reply) comments.
+
+Hannah opts to view the change using Gerrit’s side-by-side view:
+
+![Side By Side Patch View](/images/intro-quick-review-line-comment.jpg
+"fig:")
+
+Hannah reviews the change and is ready to provide her feedback. She
+clicks the **Review** button on the change screen. This allows her to
+vote on the change.
+
+![Reviewing the Change](/images/intro-quick-reviewing-the-change.jpg
+"fig:")
+
+For Hannah and Max’s team, a code review vote is a numerical score
+between -2 and 2. The possible options are:
+
+  - `+2 Looks good to me, approved`
+
+  - `+1 Looks good to me, but someone else must approve`
+
+  - `0 No score`
+
+  - `-1 I would prefer that you didn't submit this`
+
+  - `-2 Do not submit`
+
+In addition, a change must have at least one `+2` vote and no `-2` votes
+before it can be submitted. These numerical values do not accumulate.
+Two `+1` votes do not equate to a `+2`.
+
+> **Note**
+> 
+> These settings are enabled by default. To learn about how to customize
+> them for your own workflow, see the [Project Configuration File
+> Format](config-project-config.html) topic.
+
+Hannah notices a possible issue with Max’s change, so she selects a `-1`
+vote. She uses the **Cover Message** text box to provide Max with some
+additional feedback. When she is satisfied with her review, Hannah
+clicks the **Publish Comments** button. At this point, her vote and
+cover message become visible to to all users.
+
+## Reworking the Change
+
+Later in the day, Max decides to check on his change and notices
+Hannah’s feedback. He opens up the source file and incorporates her
+feedback. Because Max’s change includes a change-id, all he has to is
+follow the typical git workflow for updating a commit:
+
+  - Check out the commit
+
+  - Amend the commit
+
+  - Push the commit to Gerrit
+
+<!-- end list -->
+
+    $ <checkout first commit>
+    $ <rework>
+    $ git commit --amend
+    $ git push origin HEAD:refs/for/master
+    Counting objects: 5, done.
+    Delta compression using up to 8 threads.
+    Compressing objects: 100% (2/2), done.
+    Writing objects: 100% (3/3), 546 bytes, done.
+    Total 3 (delta 0), reused 0 (delta 0)
+    remote: Processing changes: updated: 1, done
+    remote:
+    remote: Updated Changes:
+    remote:   http://gerrithost:8080/68
+    remote:
+    To ssh://gerrithost:29418/RecipeBook.git
+     * [new branch]      HEAD -> refs/for/master
+
+Notice that the output of this command is slightly different from Max’s
+first commit. This time, the output verifies that the change was
+updated.
+
+Having uploaded the reworked commit, Max can go back to the Gerrit web
+interface and look at his change.
+
+![Reviewing the Rework](/images/intro-quick-review-2-patches.jpg "fig:")
+
+Notice that there are now two patch sets associated with this change:
+the initial submission and the rework.
+
+When Hannah next looks at Max’s change, she sees that he incorporated
+her feedback. The change looks good to her, so she changes her vote to a
+`+2`.
+
+## Verifying the Change
+
+Hannah’s `+2` vote means that Max’s change satisfies the **Needs
+Review** check. It has to pass one more check before it can be accepted:
+the **Needs Verified** check.
+
+The Verified check means that the change was confirmed to work. This
+type of check typically involves tasks such as checking that the code
+compiles, unit tests pass, and other actions. You can configure a
+Verified check to consist of as many or as few tasks as needed.
+
+> **Note**
+> 
+> Remember that this walkthrough uses Gerrit’s default workflow.
+> Projects can add custom checks or even remove the Verified check
+> entirely.
+
+Verification is typically an automated process using the [Gerrit Trigger
+Jenkins
+Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger) or a
+similar mechanism. However, there are still times when a change requires
+manual verification, or a reviewer needs to check how or if a change
+works. To accommodate these and other similar circumstances, Gerrit
+exposes each change as a git branch. The Gerrit UI includes a
+[**download**](user-review-us.html#download) link in the Gerrit Code
+Review Screen to make it easy for reviewers to fetch a branch for a
+specific change. To manually verify a change, a reviewer must have the
+[Verified](config-labels.html#label_Verified) permission. Then, the
+reviewer can fetch and checkout that branch from Gerrit. Hannah has this
+permission, so she is authorized to manually verify Max’s change.
+
+> **Note**
+> 
+> The Verifier can be the same person as the code reviewer or a
+> different person entirely.
+
+![Verifying the Change](/images/intro-quick-verifying.jpg "fig:")
+
+Unlike the code review check, the verify check is pass/fail. Hannah can
+provide a score of either `+1` or `-1`. A change must have at least one
+`+1` and no `-1`.
+
+Hannah selects a `+1` for her verified check. Max’s change is now ready
+to be submitted.
+
+## Submitting the Change
+
+Max is now ready to submit his change. He opens up the change in the
+Code Review screen and clicks the **Publish and Submit** button.
+
+At this point, Max’s change is merged into the repository’s master
+branch and becomes an accepted part of the project.
+
+## Next Steps
+
+This walkthrough provided a quick overview of how a change moves through
+the default Gerrit workflow. At this point, you can:
+
+  - Read the [Users guide](intro-user.html) to get a better sense of how
+    to make changes using Gerrit
+
+  - Review the [Project Owners guide](intro-project-owner.html) to learn
+    more about configuring projects in Gerrit, including setting user
+    permissions and configuring verification checks
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/intro-how-gerrit-works.md b/jekyll-source/pages/gerrit/intro-how-gerrit-works.md
new file mode 100644
index 0000000..afa84f0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/intro-how-gerrit-works.md
@@ -0,0 +1,40 @@
+---
+title: " How Gerrit Works"
+sidebar: gerritdoc_sidebar
+permalink: intro-how-gerrit-works.html
+---
+To understand how Gerrit fits into and enhances the developer workflow,
+consider a typical project. This project has a central source
+repository, which serves as the authoritative copy of the project’s
+contents.
+
+![Central Source Repository](images/intro-quick-central-repo.png "fig:")
+
+Gerrit takes the place of this central repository and adds an additional
+concept: a *store of pending changes*.
+
+![Gerrit in place of Central
+Repository](images/intro-quick-central-gerrit.png "fig:")
+
+With Gerrit, when a developer makes a change, it is sent to this store
+of pending changes, where other developers can review, discuss and
+approve the change. After enough reviewers grant their approval, the
+change becomes an official part of the codebase.
+
+In addition to this store of pending changes, Gerrit captures notes and
+comments about each change. These features allow developers to review
+changes at their convenience, or when conversations about a change can’t
+happen face to face. They also help to create a record of the
+conversation around a given change, which can provide a history of when
+a change was made and why.
+
+Like any repository hosting solution, Gerrit has a powerful [access
+control model](access-control.html). This model allows you to fine-tune
+access to your repository.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/intro-project-owner.md b/jekyll-source/pages/gerrit/intro-project-owner.md
new file mode 100644
index 0000000..7294362
--- /dev/null
+++ b/jekyll-source/pages/gerrit/intro-project-owner.md
@@ -0,0 +1,773 @@
+---
+title: " Project Owner Guide"
+sidebar: gerritdoc_sidebar
+permalink: intro-project-owner.html
+---
+This is a Gerrit guide that is dedicated to project owners. It explains
+the many possibilities that Gerrit provides to customize the workflows
+for a project.
+
+## What is a project owner?
+
+Being project owner means that you own a project in Gerrit. Technically
+this is expressed by having the
+[Owner](access-control.html#category_owner) access right on `+refs/*+`
+on that project. As project owner you have the permission to edit the
+access control list and the project settings of the project. It also
+means that you should get familiar with these settings so that you can
+adapt them to the needs of your project.
+
+Being project owner means being responsible for the administration of a
+project. This requires having a deeper knowledge of Gerrit than the
+average user. Normally per team there should be 2 to 3 persons, who have
+a certain level of Git/Gerrit knowledge, assigned as project owners. It
+normally doesn’t make sense that everyone in a team is project owner.
+For normal team members it is sufficient to be committer or contributor.
+
+## Access Rights
+
+As a project owner you can edit the access control list of your project.
+This allows you to grant permissions on the project to different groups.
+
+Gerrit comes with a rich set of permissions which allow a very
+fine-grained control over who can do what on a project. Access control
+is one of the most powerful Gerrit features but it is also a rather
+complex topic. This guide will only highlight the most important aspects
+of access control, but the [Access Control](access-control.html) chapter
+explains all the details.
+
+### Editing Access Rights
+
+To see the access rights of your project
+
+  - go to the Gerrit Web UI
+
+  - click on the `Projects` \> `List` menu entry
+
+  - find your project in the project list and click on it
+
+  - click on the `Access` menu entry
+
+By clicking on the `Edit` button the access rights become editable and
+you may save any changes by clicking on the `Save Changes` button.
+Optionally you can provide a `Commit Message` to explain the reasons for
+changing the access rights.
+
+The access rights are stored in the project’s Git repository in a
+special branch called `refs/meta/config`. On this branch there is a
+`project.config` file which contains the access rights. More information
+about this storage format can be found in the [Project Configuration
+File Format](config-project-config.html) chapter. What is important to
+know is that by looking at the history of the `project.config` file on
+the `refs/meta/config` branch you can always see how the access rights
+were changed and by whom. If a good commit message is provided you can
+also see from the history why the access rights were modified.
+
+If a Git browser such as gitweb is configured for the Gerrit server you
+can find a link to the history of the `project.config` file in the Web
+UI. Otherwise you may inspect the history locally. If you have cloned
+the repository you can do this by executing the following commands:
+
+``` 
+  $ git fetch ssh://localhost:29418/project refs/meta/config
+  $ git checkout FETCH_HEAD
+  $ git log project.config
+```
+
+Non project owners may still edit the access rights and propose the
+modifications to the project owners by clicking on the `Save for
+Review` button. This creates a new change with the access rights
+modifications that can be approved by a project owner. The project
+owners are automatically added as reviewer on this change so that they
+get informed about it by email.
+
+### Inheritance
+
+Normally when a new project is created in Gerrit it already has some
+access rights which are inherited from the parent projects. Projects in
+Gerrit are organized hierarchically as a tree with the ‘All-Projects’
+project as root from which all projects inherit. Each project can have
+only a single parent project, multi-inheritance is not supported.
+
+Looking at the access rights of your project in the Gerrit Web UI, you
+only see the access rights which are defined on that project. To see the
+inherited access rights you must follow the link to the parent project
+under `Rights Inherit From`.
+
+Inherited access rights can be overwritten unless they are defined as
+[BLOCK rule](access-control.html#block). BLOCK rules are used to limit
+the possibilities of the project owners on the inheriting projects. With
+this, global policies can be enforced on all projects. Please note that
+Gerrit doesn’t prevent you from assigning access rights that contradict
+an inherited BLOCK rule, but these access rights will simply have no
+effect.
+
+If you are responsible for several projects which require the same
+permissions, it makes sense to have a common parent for them and to
+maintain the access rights on that common parent. Changing the parent of
+a project is only allowed for Gerrit administrators. This means you need
+to contact the administrator of your Gerrit server if you want to
+reparent your project. One way to do this is to change the parent
+project in the Web UI, save the modifications for review and get the
+change approved and merged by a Gerrit administrator.
+
+## References
+
+Access rights in Gerrit are assigned on references (aka refs). Refs in
+Git exist in different namespaces, e.g. all branches normally exist
+under `refs/heads/` and all tags under `refs/tags/`. In addition there
+are a number of [special refs](access-control.html#references_special)
+and [magic refs](access-control.html#references_magic).
+
+Access rights can be assigned on a concrete ref, e.g.
+`refs/heads/master` but also on ref patterns and regular expressions for
+ref names.
+
+A ref pattern ends with `+/*+` and describes a complete ref name
+namespace, e.g. access rights assigned on `+refs/heads/*+` apply to all
+branches.
+
+Regular expressions must start with `^`, e.g. access rights assigned on
+`+^refs/heads/rel-.*+` would apply to all `+rel-*+` branches.
+
+## Groups
+
+Access rights are granted to groups. It is useful to know that Gerrit
+maintains its own groups internally but also supports different external
+group backends.
+
+The Gerrit internal groups can be seen in the Gerrit Web UI by clicking
+on the `Groups` \> `List` menu entry. By clicking on a group you can
+edit the group members (`Members` tab) and the group options (`General`
+tab).
+
+Gerrit internal groups contain users as members, but can also include
+other groups, even external groups.
+
+Every group is owned by an owner group. Only members of the owner group
+can administrate the owned group (assign members, edit the group
+options). A group can own itself; in this case members of the group can,
+for example, add further members to the group. When you create new
+groups for your project to assign access rights to committer or other
+roles, make sure that they are owned by the project owner group.
+
+An important setting on a group is the option `Make group visible to all
+registered users.`, which defines whether non-members can see who is
+member of the group.
+
+New internal Gerrit groups can be created under `Groups` \> `Create New
+Group`. This menu is only available if you have the global capability
+[Create Group](access-control.html#capability_createGroup) assigned.
+
+Gerrit also has a set of special [system
+groups](access-control.html#system_groups) that you might find useful.
+
+External groups need to be prefixed when assigning access rights to
+them, e.g. [LDAP group names](access-control.html#ldap_groups) need to
+be prefixed with `ldap/`.
+
+If the
+[singleusergroup](https://gerrit-review.googlesource.com/#/admin/projects/plugins/singleusergroup)
+plugin is installed you can also directly assign access rights to users,
+by prefixing the username with `user/` or the user’s account ID by
+`userid/`.
+
+## Common Access Rights
+
+Different roles in a project, such as developer (committer) or
+contributor, need different access rights. Examples for which access
+rights are typically assigned for which role are described in the
+[Access Control](access-control.html#example_roles) chapter.
+
+## Code Review
+
+Gerrit’s main functionality is code review, however using code review is
+optional and you may decide to only use Gerrit as a Git server with
+access control. Whether you allow only pushes for review or also direct
+pushes depends on the project’s access rights.
+
+To push a commit for review it must be pushed to
+[refs/for/\<branch-name\>](access-control.html#refs_for). This means the
+[Push](access-control.html#category_push_review) access right must be
+assigned on `refs/for/<branch-name>`.
+
+To allow direct pushes and bypass code review, the
+[Push](access-control.html#category_push_direct) access right is
+required on `refs/heads/<branch-name>`.
+
+By pushing for review you are not only enabling the review workflow, but
+you can also get [automatic verifications from a build
+server](#continuous-integration) before changes are merged. In addition
+you can benefit from Gerrit’s merge strategies that can automatically
+merge/rebase commits on server side if necessary. You can control the
+merge strategy by configuring the [submit
+type](project-configuration.html#submit_type) on the project. If you
+bypass code review you always need to merge/rebase manually if the tip
+of the destination branch has moved. Please keep this in mind if you
+choose to not work with code review because you think it’s easier to
+avoid the additional complexity of the review workflow; it might
+actually not be easier.
+
+You may also enable [auto-merge on push](user-upload.html#auto_merge) to
+benefit from the automatic merge/rebase on server side while pushing
+directly into the repository.
+
+## Project Options
+
+As project owner you can control several options on your project. The
+different options are described in the [Project
+Options](project-configuration.html#project_options) section.
+
+To see the options of your project
+
+  - go to the Gerrit Web UI
+
+  - click on the `Projects` \> `List` menu entry
+
+  - find your project in the project list and click on it
+
+  - click on the `General` menu entry
+
+### Submit Type
+
+An important decision for a project is the choice of the submit type and
+the content merge setting (see the `Allow content merges` option). The
+[submit type](project-configuration.html#submit_type) is the method
+Gerrit uses to submit a change to the project. The submit type defines
+what Gerrit should do on submit of a change if the destination branch
+has moved while the change was in review. The [content
+merge](project-configuration.html#content_merge) setting applies if the
+same files have been modified concurrently and tells Gerrit whether it
+should attempt a content merge for these files.
+
+When choosing the submit type and the content merge setting one must
+weigh development comfort against the safety of not breaking the
+destination branch.
+
+The most restrictive submit type is [Fast Forward
+Only](project-configuration.html#fast_forward_only). Using this submit
+type means that after submitting one change all other open changes for
+the same destination branch must be rebased manually. This is quite
+burdensome and in practice only feasible for branches with very few
+changes. On the other hand, if changes are verified before submit, e.g.
+automatically by a CI integration, with this submit type, you can be
+sure that the destination branch never gets broken.
+
+Choosing [Merge If
+Necessary](project-configuration.html#merge_if_necessary) as submit type
+makes the life for developers more comfortable, especially if content
+merge is enabled. If this submit strategy is used developers only need
+to rebase manually if the same files have been modified concurrently or
+if the content merge on such a file fails. The drawback with this submit
+type is that there is a risk of breaking the destination branch, e.g. if
+one change moves a class into another package and another change imports
+this class from the old location. Experience shows that in practice
+`Merge If Necessary` with content merge enabled works pretty well and
+breaking the destination branch happens rarely. This is why this setting
+is recommended at least for development branches. You likely want to
+start with `Merge If Necessary` with content merge enabled and only
+switch to a more restrictive policy if you are facing issues with the
+build and test stability of the destination branches.
+
+It is also possible to define the submit type dynamically via
+[Prolog](#prolog-submit-type). This way you can use different submit
+types for different branches.
+
+Please note that there are other submit types available; they are
+described in the [Submit Type](project-configuration.html#submit_type)
+section.
+
+## Labels
+
+The code review process includes that reviewers formally express their
+opinion about a change by voting on different
+[labels](config-labels.html). By default Gerrit comes with the
+[Code-Review](config-labels.html#label_Code-Review) label and many
+Gerrit servers have the [Verified](config-labels.html#label_Verified)
+label configured globally. However projects can also define their own
+[custom labels](config-labels.html#label_custom) to formalize
+project-specific workflows. For example if a project requires an IP
+approval from a special IP-team, it can define an `IP-Review` label and
+grant permissions to the IP-team to vote on this label.
+
+The behavior of a label can be controlled by its
+[function](config-labels.html#label_function), e.g. it can be configured
+whether a max positive voting on the label is required for submit or if
+the voting on the label is optional.
+
+By using a custom [submit rule](#submit-rules) it can be controlled per
+change whether a label is required for submit or not.
+
+A useful feature on labels is the possibility to automatically copy
+scores forward to new patch sets if it was a [trivial
+rebase](config-labels.html#label_copyAllScoresOnTrivialRebase) or if
+[there was no code
+change](config-labels.html#label_copyAllScoresIfNoCodeChange) (e.g. only
+the commit message was edited).
+
+## Submit Rules
+
+A [submit rule](prolog-cookbook.html#SubmitRule) in Gerrit is logic that
+defines when a change is submittable. By default, a change is
+submittable when it gets at least one highest vote on each label and has
+no lowest vote (aka veto vote) on any label.
+
+The submit rules in Gerrit are implemented in
+[Prolog](prolog-cookbook.html) and projects that need more flexibility
+can define their own submit rules to decide when a change should be
+submittable. A good [example](prolog-cookbook.html#NonAuthorCodeReview)
+from the Prolog cookbook shows how to allow submit only if a change has
+a `Code-Review+2` vote from a person that is not the change author. This
+way a four-eyes principle for the reviews can be enforced.
+
+A Prolog submit rule has access to
+[information](prolog-change-facts.html) about the change for which it is
+testing the submittability. Among others the list of the modified files
+can be accessed, which allows special logic if certain files are
+touched. For example, a common practice is to require a vote on an
+additional label, like `Library-Compliance`, if the dependencies of the
+project are changed.
+
+It is also possible to control the [submit
+type](prolog-cookbook.html#SubmitType) from Prolog. For example this can
+be used to define a more restrictive submit type such as `Fast Forward
+Only` for stable branches while using a more liberal submit type, e.g.
+`Merge If Necessary` with content merge, for development branches. How
+this can be done can be seen from an
+[example](prolog-cookbook.html#SubmitTypePerBranch) in the Prolog
+cookbook.
+
+Submit rules are maintained in the
+[rules.pl](prolog-cookbook.html#RulesFile) file in the
+`refs/meta/config` branch of the project. How to write submit rules is
+explained in the [Prolog
+cookbook](prolog-cookbook.html#HowToWriteSubmitRules). There is also
+good support for [testing submit
+rules](prolog-cookbook.html#TestingSubmitRules) while developing them.
+
+## Continuous Integration
+
+With Gerrit you can have continuous integration builds not only for
+updates of central branches but also whenever a new change/patch set is
+uploaded for review. This way you get automatic verification of all
+changes **before** they are merged and any build and test issues are
+detected early. To indicate the build and test status the continuous
+integration system normally votes with the
+[Verified](config-labels.html#label_Verified) label on the change.
+
+There are several solutions for integrating continuous integration
+systems. The most commonly used are:
+
+  - [Gerrit
+    Trigger](https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger)
+    plugin for [Jenkins](http://jenkins-ci.org/)
+
+  - [Zuul](http://www.mediawiki.org/wiki/Continuous_integration/Zuul)
+    for [Jenkins](http://jenkins-ci.org/)
+
+For the integration with the continuous integration system you must have
+a service user that is able to access Gerrit. To create a service user
+in Gerrit you can use the [create-account](cmd-create-account.html) SSH
+command if the [Create
+Account](access-control.html#capability_createAccount) global capability
+is granted. If not, you need to ask a Gerrit administrator to create the
+service user.
+
+If the
+[serviceuser](https://gerrit-review.googlesource.com/#/admin/projects/plugins/serviceuser)
+plugin is installed you can also create new service users in the Gerrit
+Web UI under `People` \> `Create Service User`. For this the `Create
+Service User` global capability must be assigned.
+
+The service user must have [read](access-control.html#category_read)
+access to your project. In addition, if automatic change verification is
+enabled, the service user must be allowed to vote on the
+[Verified](config-labels.html#label_Verified) label.
+
+Continuous integration systems usually integrate with Gerrit by
+listening to the Gerrit [stream events](cmd-stream-events.html#events).
+For this the service user must have the [Stream
+Events](access-control.html#capability_streamEvents) global capability
+assigned.
+
+## Commit Validation
+
+Gerrit provides an [extension point to do validation of new
+commits](https://gerrit-review.googlesource.com/Documentation/config-validation.html#new-commit-validation).
+A Gerrit plugin implementing this extension point can perform validation
+checks when new commits are pushed to Gerrit. The plugin can either
+provide a message to the client or reject the commit and cause the push
+to fail.
+
+There are some plugins available that provide commit
+    validation:
+
+  - [uploadvalidator](https://gerrit-review.googlesource.com/#/admin/projects/plugins/uploadvalidator):
+    
+    The `uploadvalidator` plugin allows project owners to configure
+    blocked file extensions, required footers and a maximum allowed path
+    length.
+
+  - [commit-message-length-validator](https://gerrit-review.googlesource.com/#/admin/projects/plugins/commit-message-length-validator)
+    
+    The `commit-message-length-validator` core plugin validates that
+    commit messages conform to line length limits.
+
+## Branch Administration
+
+As project owner you can administrate the branches of your project in
+the Gerrit Web UI under `Projects` \> `List` \> \<your project\> \>
+`Branches`. In the Web UI both [branch
+creation](project-configuration.html#branch-creation) and [branch
+deletion](project-configuration.html#branch-deletion) are allowed for
+project owners without requiring any additional access rights.
+
+By setting `HEAD` on the project you can define its [default
+branch](project-configuration.html#default-branch). For convenience
+reasons, when the repository is cloned Git creates a local branch for
+this default branch and checks it out.
+
+## Email Notifications
+
+With Gerrit individual users control their own email subscriptions. By
+editing the [watched projects](user-notify.html#user) in the Web UI
+under `Settings` \> `Watched Projects` users can decide which events to
+be informed about by email. The change notifications can be filtered by
+[change search expressions](user-search.html).
+
+This means as a project owner you normally don’t need to do anything
+about email notifications, except maybe telling your project team where
+to configure the watches.
+
+Gerrit also supports [notifications on project
+level](user-notify.html#project) that allow project owners to set up
+email notifications for team mailing lists or groups of users. This
+configuration is done in the `project.config` file in the
+`refs/meta/config` branch as explained in the section about [project
+level notifications](user-notify.html#project).
+
+## Dashboards
+
+Gerrit comes with a pre-defined user dashboard that provides a view of
+the changes that are relevant for a user. Users can also define their
+own [custom dashboards](user-dashboards.html) where the dashboard
+sections can be freely configured. As a project owner you can configure
+such custom dashboards on [project
+level](user-dashboards.html#project-dashboards). This way you can define
+a view of the changes that are relevant for your project and share this
+dashboard with all users. The project dashboards can be seen in the Web
+UI under `Projects` \> `List` \> \<your project\> \> `Dashboards`.
+
+## Issue Tracker Integration
+
+There are several possibilities to integrate issue trackers with Gerrit.
+
+  - Comment Links
+    
+    As described in the [Comment Links](#comment-links) section, comment
+    links can be used to link IDs from commit message footers to issues
+    in an issue tracker system.
+
+  - Tracking IDs
+    
+    Gerrit can be configured to index IDs from commit message footers so
+    that the [tr/bug](user-search.html#tr) search operators can be used
+    to query for changes with a certain ID. The [configuration of
+    tracking IDs](config-gerrit.html#trackingid) can only be done
+    globally by a Gerrit administrator.
+
+  - Issue Tracker System Plugins
+    
+    There are Gerrit plugins for a tight integration with
+    [Jira](https://gerrit-review.googlesource.com/#/admin/projects/plugins/its-jira),
+    [Bugzilla](https://gerrit-review.googlesource.com//admin/projects/plugins/its-bugzilla)
+    and [IBM Rational Team
+    Concert](https://gerrit-review.googlesource.com//admin/projects/plugins/its-rtc).
+    If installed, these plugins can e.g. be used to automatically add
+    links to Gerrit changes to the issues in the issue tracker system or
+    to automatically close an issue if the corresponding change is
+    merged. If installed, project owners may enable/disable the issue
+    tracker integration from the Gerrit Web UI under `Projects` \>
+    `Lists` \> \<your project\> \> `General`.
+
+## Comment Links
+
+Gerrit can linkify strings in commit messages, summary comments and
+inline comments. A string that matches a defined regular expression is
+then displayed as hyperlink to a configured backend system.
+
+So called comment links can be configured globally by a Gerrit
+administrator, but also per project by the project owner. Comment links
+on project level are defined in the `project.config` file in the
+`refs/meta/config` branch of the project as described in the
+documentation of the [commentlink](config-gerrit.html#commentlink)
+configuration parameter.
+
+Often comment links are used to link an ID in a commit message footer to
+an issue in an issue tracker system. For example, to link the ID from
+the `Bug` footer to Jira the following configuration can be used:
+
+``` 
+  [commentlink "myjira"]
+    match = ([Bb][Uu][Gg]:\\s+)(\\S+)
+    link =  https://myjira/browse/$2
+```
+
+## Reviewers
+
+Normally it is not needed to explicitly assign reviewers to every change
+since the project members either [watch the
+project](user-notify.html#user) and get notified by email or regularly
+check the list of open changes in the Gerrit Web UI. The project members
+then pick the changes themselves that are interesting to them for
+review.
+
+If authors of changes want to have a review by a particular person (e.g.
+someone who is known to be expert in the touched code area, or a
+stakeholder for the implemented feature), they can request the review by
+adding this person in the Gerrit Web UI as a reviewer on the change.
+Gerrit will then notify this person by email about the review request.
+
+With the
+[reviewers](https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers)
+plugin it is possible to configure default reviewers who will be
+automatically added to each change. The default reviewers can be
+configured in the Gerrit Web UI under `Projects` \> `List` \> \<your
+project\> \> `General` in the `reviewers Plugin` section.
+
+The
+[reviewers-by-blame](https://gerrit-review.googlesource.com/#/admin/projects/plugins/reviewers-by-blame)
+plugin can automatically add reviewers to changes based on the [git
+blame](https://www.kernel.org/pub/software/scm/git/docs/git-blame.html)
+computation on the changed files. This means that the plugin will add
+those users as reviewer that authored most of the lines touched by the
+change, since these users should be familiar with the code and can most
+likely review the change. How many reviewers the plugin will add to a
+change at most can be configured in the Gerrit Web UI under `Projects`
+\> `List` \> \<your project\> \> `General` in the `reviewers-by-blame
+Plugin` section.
+
+## Download Commands
+
+On the change screen in the `Downloads` drop-down panel Gerrit offers
+commands for downloading the currently viewed patch set.
+
+The download commands are implemented by Gerrit plugins. This means that
+the available download commands depend on the installed Gerrit
+    plugins:
+
+  - [download-commands](https://gerrit-review.googlesource.com/#/admin/projects/plugins/download-commands)
+    plugin:
+    
+    The `download-commands` plugin provides the default download
+    commands (`Checkout`, `Cherry Pick`, `Format Patch` and `Pull`).
+    
+    Gerrit administrators may configure which of the commands are shown
+    on the change
+    screen.
+
+  - [egit](https://gerrit-review.googlesource.com/#/admin/projects/plugins/egit)
+    plugin:
+    
+    The `egit` plugin provides the change ref as a download command,
+    which is needed for downloading a change from within
+    [EGit](https://www.eclipse.org/egit/).
+
+  - [project-download-commands](https://gerrit-review.googlesource.com/#/admin/projects/plugins/project-download-commands)
+    plugin:
+    
+    The `project-download-commands` plugin enables project owners to
+    configure project-specific download commands. For example, a
+    project-specific download command may update submodules, trigger a
+    build, execute the tests or even do a deployment.
+    
+    The project-specific download commands must be configured in the
+    `project.config` file in the `refs/meta/config` branch of the
+    project:
+    
+    ``` 
+      [plugin "project-download-commands"]
+        Build = git fetch ${url} ${ref} && git checkout FETCH_HEAD && bazel build ${project}
+        Update = git fetch ${url} ${ref} && git checkout FETCH_HEAD && git submodule update
+    ```
+    
+    Project-specific download commands that are defined on a parent
+    project are inherited by the child projects. A child project can
+    overwrite an inherited download command, or remove it by assigning
+    no value to it.
+
+## Theme
+
+Gerrit supports project-specific themes for customizing the appearance
+of the change screen and the diff screens. It is possible to define an
+HTML header and footer and to adapt Gerrit’s CSS. Details about themes
+are explained in the [Themes](config-themes.html) section.
+
+Project-specific themes can only be installed by Gerrit administrators
+since the theme files must be copied into the Gerrit installation
+folder.
+
+## Integration with other tools
+
+Gerrit provides many possibilities for the integration with other tools:
+
+  - Stream Events:
+    
+    The [stream-events](cmd-stream-events.html) SSH command allows to
+    listen to Gerrit [events](cmd-stream-events.html#events). Other
+    tools can use this to react on actions done in Gerrit.
+    
+    The [Stream Events](access-control.html#capability_streamEvents)
+    global capability is required for using the `stream-events` command.
+
+  - REST API:
+    
+    Gerrit provides a rich [REST API](rest-api.html) that other tools
+    can use to query information from Gerrit and and to trigger actions
+    in Gerrit.
+
+  - Gerrit Plugins:
+    
+    The Gerrit functionality can be extended by plugins and there are
+    many extension points, e.g. plugins can
+    
+      - [add new menu entries](dev-plugins.html#top-menu-extensions)
+    
+      - [extend existing screens](dev-plugins.html#ui_extension) and
+        [add new screens](dev-plugins.html#screen)
+    
+      - [do validation](config-validation.html), e.g. of new commits
+    
+      - add new REST endpoints and [SSH commands](dev-plugins.html#ssh)
+    
+    How to develop a Gerrit plugin is described in the [Plugin
+    Development](dev-plugins.html) section.
+
+## Project Lifecycle
+
+### Project Creation
+
+New projects can be created in the Gerrit Web UI under `Projects` \>
+`Create Project`. The `Create Project` menu entry is only available if
+you have the [Create
+Project](access-control.html#capability_createProject) global capability
+assigned.
+
+Projects can also be created via REST or SSH as described in the
+[Project Setup](project-configuration.html#project-creation) section.
+
+Creating the project with an initial empty commit is generally
+recommended because some tools have issues with cloning repositories
+that are completely empty. However, if you plan to [import an existing
+history](#import-history) into the new project, it is better to create
+the project without an initial empty commit.
+
+### Import Existing History
+
+If you have an existing history you can import it into a Gerrit project.
+To do this you need to have a local Git repository that contains this
+history. If your existing codebase is in another VCS you must migrate it
+to Git first. For Subversion you can use the [git
+svn](http://git-scm.com/book/en/Git-and-Other-Systems-Git-and-Subversion)
+command as described in the [Subversion migration
+guide](http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git#Subversion).
+An importer for Perforce is available in the `contrib` section of the
+Git source code; how to use [git p4](http://git-scm.com/docs/git-p4) to
+do the import from Perforce is described in the [Perforce migration
+guide](http://git-scm.com/book/en/Git-and-Other-Systems-Migrating-to-Git#Perforce).
+
+To import an existing history into a Gerrit project you bypass code
+review and push it directly to `refs/heads/<branch>`. For this you must
+have the corresponding [Push](access-control.html#category_push_direct)
+access right assigned. If the destination branch in the Gerrit
+repository already contains a history (e.g. an initial empty commit),
+you can overwrite it by doing a force push. In this case force push must
+be allowed in the access controls of the project.
+
+Some Gerrit servers may disallow forging committers by blocking the
+[Forge Committer](access-control.html#category_forge_committer) access
+right globally. In this case you must use the [git
+filter-branch](https://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html)
+command to rewrite the committer information for all commits (the author
+information that records who was writing the code stays intact; signed
+tags will lose their
+signature):
+
+``` 
+  $ git filter-branch --tag-name-filter cat --env-filter 'GIT_COMMITTER_NAME="John Doe"; GIT_COMMITTER_EMAIL="john.doe@example.com";' -- --all
+```
+
+If a [max object size
+limit](config-gerrit.html#receive.maxObjectSizeLimit) is configured on
+the server you may need to remove large objects from the history before
+you are able to push. To find large objects in the history of your
+project you can use the `reposize.sh` script which you can download from
+Gerrit:
+
+``` 
+  $ curl -Lo reposize.sh http://review.example.com:8080/tools/scripts/reposize.sh
+
+or
+
+  $ scp -p -P 29418 john.doe@review.example.com:scripts/reposize.sh .
+```
+
+You can then use the [git
+filter-branch](https://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html)
+command to remove the large objects from the history of all
+branches:
+
+``` 
+  $ git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch path/to/large-file.jar' -- --all
+```
+
+Since this command rewrites all commits in the repository it’s a good
+idea to create a fresh clone from this rewritten repository before
+pushing to Gerrit, this will ensure that the original objects which have
+been rewritten are removed.
+
+### Project Deletion
+
+Gerrit core does not support the deletion of projects.
+
+If the
+[delete-project](https://gerrit-review.googlesource.com/#/admin/projects/plugins/delete-project)
+plugin is installed, projects can be deleted from the Gerrit Web UI
+under `Projects` \> `List` \> \<project\> \> `General` by clicking on
+the `Delete` command under `Project Commands`. The `Delete` command is
+only available if you have the `Delete Projects` global capability
+assigned, or if you own the project and you have the `Delete Own
+Projects` global capability assigned. If neither of these capabilities
+is granted, you need to contact a Gerrit administrator to request the
+deletion of your project.
+
+Instead of deleting a project you may set the [project
+state](project-configuration.html#project-state) to `ReadOnly` or
+`Hidden`.
+
+### Project Rename
+
+Gerrit core does not support the renaming of projects.
+
+As workaround you may
+
+1.  [create a new project](#project-creation) with the new name
+
+2.  [import the history of the old project](#import-history)
+
+3.  [delete the old project](#project-deletion)
+
+Please note that a drawback of this workaround is that the whole review
+history (changes, review comments) is lost.
+
+Alternatively, you can use the
+[importer](https://gerrit.googlesource.com/plugins/importer/) plugin to
+copy the project *including the review history*, and then [delete the
+old project](#project-deletion).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/intro-quick.md b/jekyll-source/pages/gerrit/intro-quick.md
new file mode 100644
index 0000000..9baef29
--- /dev/null
+++ b/jekyll-source/pages/gerrit/intro-quick.md
@@ -0,0 +1,47 @@
+---
+title: " Gerrit Product Overview"
+sidebar: gerritdoc_sidebar
+permalink: intro-quick.html
+---
+Gerrit is a web-based code review tool built on top of the [Git version
+control system](https://git-scm.com/). This introduction provides an
+overview of Gerrit and describes how Gerrit integrates into a typical
+development workflow. It also provides a brief tutorial that shows how
+to manage a change using Gerrit.
+
+## What is Gerrit?
+
+Gerrit makes code review easy by providing a lightweight framework for
+reviewing commits before they are accepted by the codebase. Gerrit works
+equally well for projects where approving changes is restricted to
+selected users, as is typical for Open Source software development, as
+well as projects where all contributors are trusted.
+
+## Learn About Gerrit
+
+If you’re new to Gerrit and want to know more about how it can improve
+your developer workflow, see the following topics:
+
+1.  [How Gerrit Works](intro-how-gerrit-works.html)
+
+2.  [Basic Gerrit Walkthrough](intro-gerrit-walkthrough.html)
+
+## Getting Started
+
+This documentation contains several guides to help you learn about the
+Gerrit features most relevant to you:
+
+1.  [User Guide](intro-user.html)
+
+2.  [Project Owner Guide](intro-project-owner.html)
+
+3.  [Default Android
+    Workflow](https://source.android.com/source/life-of-a-patch)
+    (external)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/intro-user.md b/jekyll-source/pages/gerrit/intro-user.md
new file mode 100644
index 0000000..ac95fac
--- /dev/null
+++ b/jekyll-source/pages/gerrit/intro-user.md
@@ -0,0 +1,860 @@
+---
+title: " User Guide"
+sidebar: gerritdoc_sidebar
+permalink: intro-user.html
+---
+This is a Gerrit guide that is dedicated to Gerrit end-users. It
+explains the standard Gerrit workflows and how a user can adapt Gerrit
+to personal preferences.
+
+It is expected that readers know about [Git](http://git-scm.com/) and
+that they are familiar with basic git commands and workflows.
+
+## What is Gerrit?
+
+Gerrit is a Git server that provides [access
+control](access-control.html) for the hosted Git repositories and a web
+front-end for doing [code review](#code-review). Code review is a core
+functionality of Gerrit, but still it is optional and teams can decide
+to [work without code review](#no-code-review).
+
+## Tools
+
+Gerrit speaks the git protocol. This means in order to work with Gerrit
+you do **not** need to install any Gerrit client, but having a regular
+git client, such as the [git command line](http://git-scm.com/) or
+[EGit](http://eclipse.org/egit/) in Eclipse, is sufficient.
+
+Still there are some client-side tools for Gerrit, which can be used
+optionally:
+
+  - [Mylyn Gerrit Connector](http://eclipse.org/mylyn/): Gerrit
+    integration with Mylyn
+
+  - [Gerrit IntelliJ
+    Plugin](https://github.com/uwolfer/gerrit-intellij-plugin): Gerrit
+    integration with the [IntelliJ
+    Platform](http://www.jetbrains.com/idea/)
+
+  - [mGerrit](https://play.google.com/store/apps/details?id=com.jbirdvegas.mgerrit):
+    Android client for Gerrit
+
+  - [Gertty](https://github.com/stackforge/gertty): Console-based
+    interface for Gerrit
+
+## Clone Gerrit Project
+
+Cloning a Gerrit project is done the same way as cloning any other git
+repository by using the `git clone` command.
+
+**Clone Gerrit Project.**
+
+``` 
+  $ git clone ssh://gerrithost:29418/RecipeBook.git RecipeBook
+  Cloning into RecipeBook...
+```
+
+The URL for cloning the project can be found in the Gerrit web UI under
+`Projects` \> `List` \> \<project-name\> \> `General`.
+
+For git operations Gerrit supports the [SSH](user-upload.html#ssh) and
+the [HTTP/HTTPS](user-upload.html#http) protocols.
+
+> **Note**
+> 
+> To use SSH you may need to [configure your SSH public key in your
+> `Settings`](user-upload.html#ssh).
+
+## Code Review Workflow
+
+With Gerrit *Code Review* means to [review](#review-change) every commit
+**before** it is accepted into the code base. The author of a code
+modification [uploads a commit](user-upload.html#push_create) as a
+change to Gerrit. In Gerrit each change is stored in a [staging
+area](#change-ref) where it can be checked and reviewed. Only when it is
+approved and submitted it gets applied to the code base. If there is
+feedback on a change, the author can improve the code modification by
+[amending the commit and uploading the new commit as a new patch
+set](#upload-patch-set). This way a change is improved iteratively and
+it is applied to the code base only when is ready.
+
+## Upload a Change
+
+Uploading a change to Gerrit is done by pushing a commit to Gerrit. The
+commit must be pushed to a ref in the `refs/for/` namespace which
+defines the target branch: `refs/for/<target-branch>`. The magic
+`refs/for/` prefix allows Gerrit to differentiate commits that are
+pushed for review from commits that are pushed directly into the
+repository, bypassing code review. For the target branch it is
+sufficient to specify the short name, e.g. `master`, but you can also
+specify the fully qualified branch name, e.g. `refs/heads/master`.
+
+**Push for Code Review.**
+
+``` 
+  $ git commit
+  $ git push origin HEAD:refs/for/master
+
+  // this is the same as:
+  $ git commit
+  $ git push origin HEAD:refs/for/refs/heads/master
+```
+
+**Push with bypassing Code Review.**
+
+``` 
+  $ git commit
+  $ git push origin HEAD:master
+
+  // this is the same as:
+  $ git commit
+  $ git push origin HEAD:refs/heads/master
+```
+
+> **Note**
+> 
+> If pushing to Gerrit fails consult the Gerrit documentation that
+> explains the [error messages](error-messages.html).
+
+When a commit is pushed for review, Gerrit stores it in a staging area
+which is a branch in the special `refs/changes/` namespace. A change ref
+has the format `refs/changes/XX/YYYY/ZZ` where `YYYY` is the numeric
+change number, `ZZ` is the patch set number and `XX` is the last two
+digits of the numeric change number, e.g. `refs/changes/20/884120/1`.
+Understanding the format of this ref is not required for working with
+Gerrit.
+
+Using the change ref git clients can fetch the corresponding commit,
+e.g. for local verification.
+
+**Fetch
+Change.**
+
+``` 
+  $ git fetch https://gerrithost/myProject refs/changes/74/67374/2 && git checkout FETCH_HEAD
+```
+
+> **Note**
+> 
+> The fetch command can be copied from the [download
+> commands](user-review-ui.html#download) in the change screen.
+
+The `refs/for/` prefix is used to map the Gerrit concept of "Pushing for
+Review" to the git protocol. For the git client it looks like every push
+goes to the same branch, e.g. `refs/for/master` but in fact for each
+commit that is pushed to this ref Gerrit creates a new branch under the
+`refs/changes/` namespace. In addition Gerrit creates an open change.
+
+A change consists of a [Change-Id](user-changeid.html), meta data
+(owner, project, target branch etc.), one or more patch sets, comments
+and votes. A patch set is a git commit. Each patch set in a change
+represents a new version of the change and replaces the previous patch
+set. Only the latest patch set is relevant. This means all failed
+iterations of a change will never be applied to the target branch, but
+only the last patch set that is approved is integrated.
+
+The Change-Id is important for Gerrit to know whether a commit that is
+pushed for code review should create a new change or whether it should
+create a new patch set for an existing change.
+
+The Change-Id is a SHA-1 that is prefixed with an uppercase `I`. It is
+specified as footer in the commit message (last paragraph):
+
+``` 
+  Improve foo widget by attaching a bar.
+
+  We want a bar, because it improves the foo by providing more
+  wizbangery to the dowhatimeanery.
+
+  Bug: #42
+  Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
+  Signed-off-by: A. U. Thor <author@example.com>
+```
+
+If a commit that has a Change-Id in its commit message is pushed for
+review, Gerrit checks if a change with this Change-Id already exists for
+this project and target branch, and if yes, Gerrit creates a new patch
+set for this change. If not, a new change with the given Change-Id is
+created.
+
+If a commit without Change-Id is pushed for review, Gerrit creates a new
+change and generates a Change-Id for it. Since in this case the
+Change-Id is not included in the commit message, it must be manually
+inserted when a new patch set should be uploaded. Most projects already
+[require a Change-Id](project-configuration.html#require-change-id) when
+pushing the very first patch set. This reduces the risk of accidentally
+creating a new change instead of uploading a new patch set. Any push
+without Change-Id then fails with [missing Change-Id in commit message
+footer](error-missing-changeid.html). New patch sets can always be
+uploaded to a specific change (even without any Change-Id) by pushing to
+the change ref, e.g. `refs/changes/74/67374`.
+
+Amending and rebasing a commit preserves the Change-Id so that the new
+commit automatically becomes a new patch set of the existing change,
+when it is pushed for review.
+
+**Push new Patch Set.**
+
+``` 
+  $ git commit --amend
+  $ git push origin HEAD:refs/for/master
+```
+
+Change-Ids are unique for a branch of a project. E.g. commits that fix
+the same issue in different branches should have the same Change-Id,
+which happens automatically if a commit is cherry-picked to another
+branch. This way you can [search](user-search.html) by the Change-Id in
+the Gerrit web UI to find a fix in all branches.
+
+Change-Ids can be created automatically by installing the `commit-msg`
+hook as described in the [Change-Id
+documentation](user-changeid.html#creation).
+
+Instead of manually installing the `commit-msg` hook for each git
+repository, you can copy it into the [git template
+directory](http://git-scm.com/docs/git-init#_template_directory). Then
+it is automatically copied to every newly cloned repository.
+
+## Review Change
+
+After [uploading a change for review](#upload-change) reviewers can
+inspect it via the Gerrit web UI. Reviewers can see the code delta and
+[comment directly in the code](user-review-ui.html#inline-comments) on
+code blocks or lines. They can also [post summary comments and vote on
+review labels](user-review-ui.html#reply). The [documentation of the
+review UI](user-review-ui.html) explains the screens and controls for
+doing code reviews.
+
+There are several options to control how patch diffs should be rendered.
+Users can configure their preferences in the [diff
+preferences](user-review-ui.html#diff-preferences).
+
+## Upload a new Patch Set
+
+If there is feedback from code review and a change should be improved a
+new patch set with the reworked code should be uploaded.
+
+This is done by amending the commit of the last patch set. If needed
+this commit can be fetched from Gerrit by using the fetch command from
+the [download commands](user-review-ui.html#download) in the change
+screen.
+
+It is important that the commit message contains the
+[Change-Id](user-changeid.html) of the change that should be updated as
+a footer (last paragraph). Normally the commit message already contains
+the correct Change-Id and the Change-Id is preserved when the commit is
+amended.
+
+**Push Patch Set.**
+
+``` 
+  // fetch and checkout the change
+  // (checkout command copied from change screen)
+  $ git fetch https://gerrithost/myProject refs/changes/74/67374/2 && git checkout FETCH_HEAD
+
+  // rework the change
+  $ git add <path-of-reworked-file>
+  ...
+
+  // amend commit
+  $ git commit --amend
+
+  // push patch set
+  $ git push origin HEAD:refs/for/master
+```
+
+> **Note**
+> 
+> Never amend a commit that is already part of a central branch.
+
+Pushing a new patch set triggers email notification to the reviewers.
+
+## Developing multiple Features in parallel
+
+Code review takes time, which can be used by the change author to
+implement other features. Each feature should be implemented in its own
+local feature branch that is based on the current HEAD of the target
+branch. This way there is no dependency to open changes and new features
+can be reviewed and applied independently. If wanted, it is also
+possible to base a new feature on an open change. This will create a
+dependency between the changes in Gerrit and each change can only be
+applied if all its predecessor are applied as well. Dependencies between
+changes can be seen from the [Related
+Changes](user-review-ui.html#related-changes-tab) tab on the change
+screen.
+
+## Watching Projects
+
+To get to know about new changes you can [watch the
+projects](user-notify.html#user) that you are interested in. For watched
+projects Gerrit sends you email notifications when a change is uploaded
+or modified. You can decide on which events you want to be notified and
+you can filter the notifications by using [change search
+expressions](user-search.html). For example *`branch:master
+file:^.*\.txt$`* would send you email notifications only for changes in
+the master branch that touch a *txt* file.
+
+It is common that the members of a project team watch their own projects
+and then pick the changes that are interesting to them for review.
+
+Project owners may also configure [notifications on
+project-level](intro-project-owner.html#notifications).
+
+## Adding Reviewers
+
+In the [change screen](user-review-ui.html#reviewers) reviewers can be
+added explicitly to a change. The added reviewer will then be notified
+by email about the review request.
+
+Mainly this functionality is used to request the review of specific
+person who is known to be an expert in the modified code or who is a
+stakeholder of the implemented feature. Normally it is not needed to
+explicitly add reviewers on every change, but you rather rely on the
+project team to watch their project and to process the incoming changes
+by importance, interest, time etc.
+
+There are also [plugins which can add reviewers
+automatically](intro-project-owner.html#reviewers) (e.g. by
+configuration or based on git blame annotations). If this functionality
+is required it should be discussed with the project owners and the
+Gerrit administrators.
+
+## Dashboards
+
+Gerrit supports a wide range of [query
+operators](user-search.html#search-operators) to search for changes by
+different criteria, e.g. by status, change owner, votes etc.
+
+The page that shows the results of a change query has the change query
+contained in its URL. This means you can bookmark this URL in your
+browser to save the change query. This way it can be easily re-executed
+later.
+
+Several change queries can be also combined into a dashboard. A
+dashboard is a screen in Gerrit that presents the results of several
+change queries in different sections, each section having a descriptive
+title.
+
+A default dashboard is available under `My` \> `Changes`. It has
+sections to list outgoing reviews, incoming reviews and recently closed
+changes.
+
+Users can also define [custom
+dashboards](user-dashboards.html#custom-dashboards). Dashboards can be
+bookmarked in a browser so that they can be re-executed later.
+
+It is also possible to [customize the My menu](#my-menu) and add menu
+entries for custom queries or dashboards to it.
+
+Dashboards are very useful to define own views on changes, e.g. you can
+have different dashboards for own contributions, for doing reviews or
+for different sets of projects.
+
+> **Note**
+> 
+> You can use the [limit](user-search.html#limit) and
+> [age](user-search.html#age) query operators to limit the result set in
+> a dashboard section. Clicking on the section title executes the change
+> query without the `limit` and `age` operator so that you can inspect
+> the full result set.
+
+Project owners can also define shared [dashboards on
+project-level](user-dashboards.html#project-dashboards). The project
+dashboards can be seen in the web UI under `Projects` \> `List` \>
+\<project-name\> \> `Dashboards`.
+
+## Submit a Change
+
+Submitting a change means that the code modifications of the current
+patch set are applied to the target branch. Submit requires the
+[Submit](access-control.html#category_submit) access right and is done
+on the change screen by clicking on the
+[Submit](user-review-ui.html#submit) button.
+
+In order to be submittable changes must first be approved by [voting on
+the review labels](user-review-ui.html#vote). By default a change can
+only be submitted if it has a vote with the highest value on each review
+label and no vote with the lowest value (veto vote). Projects can
+configure [custom labels](intro-project-owner.html#labels) and [custom
+submit rules](intro-project-owner.html#submit-rules) to control when a
+change becomes submittable.
+
+How the code modification is applied to the target branch when a change
+is submitted is controlled by the [submit
+type](project-configuration.html#submit_type) which can be [configured
+on project-level](intro-project-owner.html#submit-type).
+
+Submitting a change may fail with conflicts. In this case you need to
+[rebase](#rebase) the change locally, resolve the conflicts and upload
+the commit with the conflict resolution as new patch set.
+
+If a change cannot be merged due to path conflicts this is highlighted
+on the change screen by a bold red `Cannot Merge` label.
+
+## Rebase a Change
+
+While a change is in review the HEAD of the target branch can evolve. In
+this case the change can be rebased onto the new HEAD of the target
+branch. When there are no conflicts the rebase can be done directly from
+the [change screen](user-review-ui.html#rebase), otherwise it must be
+done locally.
+
+**Rebase a Change locally.**
+
+``` 
+  // update the remote tracking branches
+  $ git fetch
+
+  // fetch and checkout the change
+  // (checkout command copied from change screen)
+  $ git fetch https://gerrithost/myProject refs/changes/74/67374/2 && git checkout FETCH_HEAD
+
+  // do the rebase
+  $ git rebase origin/master
+
+  // resolve conflicts if needed and stage the conflict resolution
+  ...
+  $ git add <path-of-file-with-conflicts-resolved>
+
+  // continue the rebase
+  $ git rebase --continue
+
+  // push the commit with the conflict resolution as new patch set
+  $ git push origin HEAD:refs/for/master
+```
+
+Doing a manual rebase is only necessary when there are conflicts that
+cannot be resolved by Gerrit. If manual conflict resolution is needed
+also depends on the [submit type](intro-project-owner.html#submit-type)
+that is configured for the project.
+
+Generally changes shouldn’t be rebased without reason as it increases
+the number of patch sets and creates noise with notifications. However
+if a change is in review for a long time it may make sense to rebase it
+from time to time, so that reviewers can see the delta against the
+current HEAD of the target branch. It also shows that there is still an
+interest in this change.
+
+> **Note**
+> 
+> Never rebase commits that are already part of a central branch.
+
+## Abandon/Restore a Change
+
+Sometimes during code review a change is found to be bad and it should
+be given up. In this case the change can be
+[abandoned](user-review-ui.html#abandon) so that it doesn’t appear in
+list of open changes anymore.
+
+Abandoned changes can be [restored](user-review-ui.html#restore) if
+later they are needed again.
+
+## Using Topics
+
+Changes can be grouped by topics. This is useful because it allows you
+to easily find related changes by using the [topic search
+operator](user-search.html#topic). Also on the change screen [changes
+with the same topic](user-review-ui.html#same-topic) are displayed so
+that you can easily navigate between them.
+
+Often changes that together implement a feature or a user story are
+group by a topic.
+
+Assigning a topic to a change can be done in the [change
+screen](user-review-ui.html#project-branch-topic).
+
+It is also possible to [set a topic on push](user-upload.html#topic),
+either by appending `%topic=...` to the ref name or through the use of
+the command line flag `--push-option`, aliased to `-o`, followed by
+`topic=...`.
+
+**Set Topic on Push.**
+
+``` 
+  $ git push origin HEAD:refs/for/master%topic=multi-master
+
+  // this is the same as:
+  $ git push origin HEAD:refs/heads/master -o topic=multi-master
+```
+
+## Private Changes
+
+Private changes are changes that are only visible to their owners and
+reviewers. Private changes are useful in a number of cases:
+
+  - You want to check what the change looks like before formal review
+    starts. By marking the change private without reviewers, nobody can
+    prematurely comment on your changes.
+
+  - You want to use Gerrit to sync data between different devices. By
+    creating a private throwaway change without reviewers, you can push
+    from one device, and fetch to another device.
+
+  - You want to do code review on a change that has sensitive aspects.
+    By reviewing a security fix in a private change, outsiders can’t
+    discover the fix before it is pushed out. Even after merging the
+    change, the review can be kept private.
+
+To create a private change, you push it with the `private` option.
+
+**Push a private change.**
+
+``` 
+  $ git commit
+  $ git push origin HEAD:refs/for/master%private
+```
+
+The change will remain private on subsequent pushes until you specify
+the `remove-private` option. Alternatively, the web UI provides buttons
+to mark a change private and non-private again.
+
+When pushing a private change with a commit that is authored by another
+user, the other user will not be automatically added as a reviewer and
+must be explicitly added.
+
+For CI systems that must verify private changes, a special permission
+can be granted ([View Private
+Changes](access-control.html#category_view_private_changes)). In that
+case, care should be taken to prevent the CI system from exposing secret
+details.
+
+## Ignoring and Muting Changes
+
+Changes can be ignored, which means they will not appear in the
+*Incoming Reviews* dashboard and any related email notifications will be
+suppressed. This can be useful when you are added as a reviewer to a
+change on which you do not actively participate in the review, but do
+not want to completely remove yourself.
+
+Alternatively, rather than completely ignoring the change, it can be
+muted. Muting a change means it will always be marked as "reviewed" in
+dashboards, until a new patch set is uploaded.
+
+## Inline Edit
+
+It is possible to [edit changes
+inline](user-inline-edit.html#editing-change) directly in the web UI.
+This is useful to make small corrections immediately and publish them as
+a new patch set.
+
+It is also possible to [create new changes
+inline](user-inline-edit.html#create-change).
+
+## Project Administration
+
+Every project has a [project
+owner](intro-project-owner.html#project-owner) that administrates the
+project. Project administration includes the configuration of the
+project [access rights](intro-project-owner.html#access-rights), but
+project owners have many more possibilities to customize the workflows
+for a project which are described in the [project owner
+guide](intro-project-owner.html).
+
+## Working without Code Review
+
+Doing code reviews with Gerrit is optional and you can use Gerrit
+without code review as a pure Git server.
+
+**Push with bypassing Code Review.**
+
+``` 
+  $ git commit
+  $ git push origin HEAD:master
+
+  // this is the same as:
+  $ git commit
+  $ git push origin HEAD:refs/heads/master
+```
+
+> **Note**
+> 
+> Bypassing code review must be enabled in the project access rights.
+> The project owner must allow it by assigning the
+> [Push](access-control.html#category_push_direct) access right on the
+> target branch (`refs/heads/<branch-name>`).
+
+> **Note**
+> 
+> If you bypass code review you always need to merge/rebase manually if
+> the tip of the destination branch has moved. Please keep this in mind
+> if you choose to not work with code review because you think it’s
+> easier to avoid the additional complexity of the review workflow; it
+> might actually not be easier.
+
+> **Note**
+> 
+> The project owner may enable [auto-merge on
+> push](user-upload.html#auto_merge) to benefit from the automatic
+> merge/rebase on server side while pushing directly into the
+> repository.
+
+## User Refs
+
+User configuration data such as [preferences](#preferences) is stored in
+the `All-Users` project under a per-user ref. The user’s ref is based on
+the user’s account id which is an integer. The user refs are sharded by
+the last two digits (`+nn+`) in the refname, leading to refs of the
+format `+refs/users/nn/accountid+`.
+
+## Preferences
+
+There are several options to control the rendering in the Gerrit web UI.
+Users can configure their preferences under `Settings` \> `Preferences`.
+The user’s preferences are stored in a `git config` style file named
+`preferences.config` under the [user’s ref](#user-refs) in the
+`All-Users` project.
+
+The following preferences can be configured:
+
+  - `Display In Review Category`:
+    
+    This setting controls how the values of the review labels in change
+    lists and dashboards are visualized.
+    
+      - `None`:
+        
+        For each review label only the voting value is shown. Approvals
+        are rendered as a green check mark icon, vetoes as a red X icon.
+    
+      - `Show Name`:
+        
+        For each review label the voting value is shown together with
+        the full name of the voting user.
+    
+      - `Show Email`:
+        
+        For each review label the voting value is shown together with
+        the email address of the voting user.
+    
+      - `Show Username`:
+        
+        For each review label the voting value is shown together with
+        the username of the voting user.
+    
+      - `Show Abbreviated Name`:
+        
+        For each review label the voting value is shown together with
+        the initials of the full name of the voting user.
+
+  - `Maximum Page Size`:
+    
+    The maximum number of entries that are shown on one page, e.g. used
+    when paging through changes, projects, branches or groups.
+
+  - `Date/Time Format`:
+    
+    The format that should be used to render dates and timestamps.
+
+  - `Email Notifications`:
+    
+    This setting controls the email notifications.
+    
+      - `Enabled`:
+        
+        Email notifications are enabled.
+    
+      - `Every comment`:
+        
+        Email notifications are enabled and you get notified by email as
+        CC on comments that you write yourself.
+    
+      - `Disabled`:
+        
+        Email notifications are disabled.
+
+  - `Email Format`:
+    
+    This setting controls the email format Gerrit sends. Note that this
+    setting has no effect if the administrator has disabled HTML emails
+    for the Gerrit instance.
+    
+      - `Plaintext Only`:
+        
+        Email notifications contain only plaintext content.
+    
+      - `HTML and Plaintext`:
+        
+        Email notifications contain both HTML and plaintext content.
+
+  - `Default Base For Merges`:
+    
+    This setting controls which base should be pre-selected in the `Diff
+    Against` drop-down list when the change screen is opened for a merge
+    commit.
+    
+      - `Auto Merge`:
+        
+        Pre-selects `Auto Merge` in the `Diff Against` drop-down list
+        when the change screen is opened for a merge commit.
+    
+      - `First Parent`:
+        
+        Pre-selects `Parent 1` in the `Diff Against` drop-down list when
+        the change screen is opened for a merge commit.
+
+  - `Diff View`:
+    
+    Whether the Side-by-Side diff view or the Unified diff view should
+    be shown when clicking on a file path in the change screen.
+
+  - `Show Site Header / Footer`:
+    
+    Whether the site header and footer should be shown.
+
+  - `Show Relative Dates In Changes Table`:
+    
+    Whether timestamps in change lists and dashboards should be shown as
+    relative timestamps, e.g. *12 days ago* instead of absolute
+    timestamps such as *Apr 15*.
+
+  - `Show Change Sizes As Colored Bars`:
+    
+    Whether change sizes should be visualized as colored bars. If
+    disabled the numbers of added and deleted lines are shown as text,
+    e.g. *+297, -63*.
+
+  - `Show Change Number In Changes Table`:
+    
+    Whether in change lists and dashboards an `ID` column with the
+    numeric change IDs should be shown.
+
+  - `Mute Common Path Prefixes In File List`:
+    
+    Whether common path prefixes in the file list on the change screen
+    should be [grayed out](user-review-ui.html#repeating-path-segments).
+
+  - `Insert Signed-off-by Footer For Inline Edit Changes`:
+    
+    Whether a `Signed-off-by` footer should be automatically inserted
+    into changes that are created from the web UI (e.g. by the `Create
+    Change` and `Edit Config` buttons on the project screen, and the
+    `Follow-Up` button on the change screen).
+
+  - `Publish Draft Comments When a Change Is Updated by Push`:
+    
+    Whether to publish any outstanding draft comments by default when
+    pushing updates to open changes. This preference just sets the
+    default; the behavior can still be overridden using a [push
+    option](user-upload.html#publish-comments).
+
+  - `Use Flash Clipboard Widget`:
+    
+    Whether the Flash clipboard widget should be used. If enabled and
+    the Flash plugin is available, Gerrit offers a copy-to-clipboard
+    icon next to IDs and commands that need to be copied frequently,
+    such as the Change-Ids, commit IDs and download commands. Note that
+    this option is only shown if the Flash plugin is available and the
+    JavaScript Clipboard API is unavailable.
+
+In addition it is possible to customize the menu entries of the `My`
+menu. This can be used to make the navigation to frequently used
+screens, e.g. configured [dashboards](#dashboards), quick.
+
+## Reply by Email
+
+Gerrit sends out email notifications to users and supports parsing back
+replies on some of them (when
+[configured](config-gerrit.html#receiveemail)).
+
+Gerrit supports replies on these notification emails:
+
+  - Notifications about new comments
+
+  - Notifications about new labels that were applied or removed
+
+While Gerrit supports a wide range of email clients, the following ones
+have been tested and are known to work:
+
+  - Gmail
+
+  - Gmail Mobile
+
+Gerrit supports parsing back all comment types that can be applied to a
+change via the WebUI:
+
+  - Change messages
+
+  - Inline comments
+
+  - File comments
+
+Please note that comments can only be sent in reply to a comment in the
+original notification email, while the change message is independent of
+those.
+
+Gerrit supports parsing a user’s reply from both HTML and plaintext.
+Please note that some email clients extract the text from the HTML email
+they have received and send this back as a quoted reply if you have set
+the client to plaintext mode. In this case, Gerrit only supports parsing
+a change message. To work around this issue, consider setting a [User
+Preference](#email-format) to receive only plaintext emails.
+
+Example notification:
+
+    Some User has posted comments on this change.
+    (https://gerrit-review.googlesource.com/123123 )
+    
+    Change subject: My new change
+    ......................................................................
+    
+    
+    Patch Set 3:
+    
+    Just a couple of smaller things I found.
+    
+    https://gerrit-review.googlesource.com/#/c/123123/3/MyFile.java
+    File
+    MyFile.java:
+    
+    https://gerrit-review.googlesource.com/#/c/123123/3/MyFile@420
+    PS3, Line 420:     someMethodCall(param);
+    Seems to be failing the tests.
+    
+    
+    --
+    To view, visit https://gerrit-review.googlesource.com/123123
+    To unsubscribe, visit https://gerrit-review.googlesource.com/settings
+    
+    (Footers omitted for brevity, must be included in all emails)
+
+Example response from the user:
+
+    Thanks, I'll fix it.
+    > Some User has posted comments on this change.
+    > (https://gerrit-review.googlesource.com/123123 )
+    >
+    > Change subject: My new change
+    > ......................................................................
+    >
+    >
+    > Patch Set 3:
+    >
+    > Just a couple of smaller things I found.
+    >
+    > https://gerrit-review.googlesource.com/#/c/123123/3/MyFile.java
+    > File
+    > MyFile.java:
+    Rename this file to File.java
+    >
+    > https://gerrit-review.googlesource.com/#/c/123123/3/MyFile@420
+    > PS3, Line 420:     someMethodCall(param);
+    > Seems to be failing the tests.
+    >
+    Yeah, I see why, let me try again.
+    >
+    > --
+    > To view, visit https://gerrit-review.googlesource.com/123123
+    > To unsubscribe, visit https://gerrit-review.googlesource.com/settings
+    >
+    > (Footers omitted for brevity, must be included in all emails)
+
+In this case, Gerrit will persist a change message ("Thanks, I’ll fix
+it."), a file comment ("Rename this file to File.java") as well as a
+reply to an inline comment ("Yeah, I see why, let me try again.").
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/js-api.md b/jekyll-source/pages/gerrit/js-api.md
new file mode 100644
index 0000000..26ef0c6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/js-api.md
@@ -0,0 +1,1065 @@
+---
+title: " Gerrit Code Review - JavaScript API"
+sidebar: gerritdoc_sidebar
+permalink: js-api.html
+---
+Gerrit Code Review supports an API for JavaScript plugins to interact
+with the web UI and the server process.
+
+## Entry Point
+
+JavaScript is loaded using a standard `<script src='...'>` HTML tag.
+Plugins should protect the global namespace by defining their code
+within an anonymous function passed to `Gerrit.install()`. The plugin
+will be passed an object describing its registration with Gerrit:
+
+``` javascript
+Gerrit.install(function (self) {
+  // ... plugin JavaScript code here ...
+});
+```
+
+## Plugin Instance
+
+The plugin instance is passed to the plugin’s initialization function
+and provides a number of utility services to plugin authors.
+
+### self.delete() / self.del()
+
+Issues a DELETE REST API request to the Gerrit server.
+
+**Signature.**
+
+``` javascript
+Gerrit.delete(url, callback)
+Gerrit.del(url, callback)
+```
+
+  - url: URL relative to the plugin’s URL space. The JavaScript library
+    prefixes the supplied URL with `/plugins/{getPluginName}/`.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. DELETE methods often return `204 No
+    Content`, which is passed as null.
+
+### self.get()
+
+Issues a GET REST API request to the Gerrit server.
+
+**Signature.**
+
+``` javascript
+self.get(url, callback)
+```
+
+  - url: URL relative to the plugin’s URL space. The JavaScript library
+    prefixes the supplied URL with `/plugins/{getPluginName}/`.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+### self.getServerInfo()
+
+Returns the server’s [ServerInfo](rest-api-config.html#server-info)
+data.
+
+### self.getCurrentUser()
+
+Returns the currently signed in user’s AccountInfo data; empty account
+data if no user is currently signed in.
+
+### Gerrit.getUserPreferences()
+
+Returns the preferences of the currently signed in user; the default
+preferences if no user is currently signed in.
+
+### Gerrit.refreshUserPreferences()
+
+Refreshes the preferences of the current user.
+
+### self.getPluginName()
+
+Returns the name this plugin was installed as by the server
+administrator. The plugin name is required to access REST API views
+installed by the plugin, or to access resources.
+
+### self.post()
+
+Issues a POST REST API request to the Gerrit server.
+
+**Signature.**
+
+``` javascript
+self.post(url, input, callback)
+```
+
+  - url: URL relative to the plugin’s URL space. The JavaScript library
+    prefixes the supplied URL with `/plugins/{getPluginName}/`.
+
+  - input: JavaScript object to serialize as the request payload.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+self.post(
+  '/my-servlet',
+  {start_build: true, platform_type: 'Linux'},
+  function (r) {});
+```
+
+### self.put()
+
+Issues a PUT REST API request to the Gerrit server.
+
+**Signature.**
+
+``` javascript
+self.put(url, input, callback)
+```
+
+  - url: URL relative to the plugin’s URL space. The JavaScript library
+    prefixes the supplied URL with `/plugins/{getPluginName}/`.
+
+  - input: JavaScript object to serialize as the request payload.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+self.put(
+  '/builds',
+  {start_build: true, platform_type: 'Linux'},
+  function (r) {});
+```
+
+### self.on()
+
+Register a JavaScript callback to be invoked when events occur within
+the web interface.
+
+**Signature.**
+
+``` javascript
+Gerrit.on(event, callback);
+```
+
+  - event: A supported event type. See below for description.
+
+  - callback: JavaScript function to be invoked when event happens.
+    Arguments may be passed to this function, depending on the event.
+
+Supported events:
+
+  - `history`: Invoked when the view is changed to a new screen within
+    the Gerrit web application. The token after "\#" is passed as the
+    argument to the callback function, for example "/c/42/" while
+    showing change 42.
+
+  - `showchange`: Invoked when a change is made visible. A
+    [ChangeInfo](rest-api-changes.html#change-info) and
+    [RevisionInfo](rest-api-changes.html#revision-info) are passed as
+    arguments.
+
+  - `submitchange`: Invoked when the submit button is clicked on a
+    change. A [ChangeInfo](rest-api-changes.html#change-info) and
+    [RevisionInfo](rest-api-changes.html#revision-info) are passed as
+    arguments. Similar to a form submit validation, the function must
+    return true to allow the operation to continue, or false to prevent
+    it.
+
+  - `comment`: Invoked when a DOM element that represents a comment is
+    created. This DOM element is passed as argument. This DOM element
+    contains nested elements that Gerrit uses to format the comment. The
+    DOM structure may differ between comment types such as inline
+    comments, file-level comments and summary comments, and it may
+    change with new Gerrit versions.
+
+### self.onAction()
+
+Register a JavaScript callback to be invoked when the user clicks on a
+button associated with a server side `UiAction`.
+
+**Signature.**
+
+``` javascript
+self.onAction(type, view_name, callback);
+```
+
+  - type: `'change'`, `'edit'`, `'revision'`, `'project'`, or `'branch'`
+    indicating which type of resource the `UiAction` was bound to in the
+    server.
+
+  - view\_name: string appearing in URLs to name the view. This is the
+    second argument of the `get()`, `post()`, `put()`, and `delete()`
+    binding methods in a `RestApiModule`.
+
+  - callback: JavaScript function to invoke when the user clicks. The
+    function will be passed a [action context](#ActionContext).
+
+### self.screen()
+
+Register a JavaScript callback to be invoked when the user navigates to
+an extension screen provided by the plugin. Extension screens are
+usually linked from the [top
+menu](dev-plugins.html#top-menu-extensions). The callback can populate
+the DOM with the screen’s contents.
+
+**Signature.**
+
+``` javascript
+self.screen(pattern, callback);
+```
+
+  - pattern: URL token pattern to identify the screen. Argument can be
+    either a string (`'index'`) or a RegExp object (`/list\/(.*)/`). If
+    a RegExp is used the matching groups will be available inside of the
+    context as `token_match`.
+
+  - callback: JavaScript function to invoke when the user navigates to
+    the screen. The function will be passed a [screen
+    context](#ScreenContext).
+
+### self.settingsScreen()
+
+Register a JavaScript callback to be invoked when the user navigates to
+an extension settings screen provided by the plugin. Extension settings
+screens are automatically linked from the settings menu under the given
+menu entry. The callback can populate the DOM with the screen’s
+contents.
+
+**Signature.**
+
+``` javascript
+self.settingsScreen(path, menu, callback);
+```
+
+  - path: URL path to identify the settings screen.
+
+  - menu: The name of the menu entry in the settings menu that should
+    link to the settings screen.
+
+  - callback: JavaScript function to invoke when the user navigates to
+    the settings screen. The function will be passed a [settings screen
+    context](#SettingsScreenContext).
+
+### self.panel()
+
+Register a JavaScript callback to be invoked when a screen with the
+given extension point is loaded. The callback can populate the DOM with
+the panel’s contents.
+
+**Signature.**
+
+``` javascript
+self.panel(extensionpoint, callback);
+```
+
+  - extensionpoint: The name of the extension point that marks the
+    position where the panel is added to an existing screen. The
+    available extension points are described in the [plugin development
+    documentation](dev-plugins.html#panels).
+
+  - callback: JavaScript function to invoke when a screen with the
+    extension point is loaded. The function will be passed a [panel
+    context](#PanelContext).
+
+### self.url()
+
+Returns a URL within the plugin’s URL space. If invoked with no
+parameter the URL of the plugin is returned. If passed a string the
+argument is appended to the plugin
+URL.
+
+``` javascript
+self.url();                    // "https://gerrit-review.googlesource.com/plugins/demo/"
+self.url('/static/icon.png');  // "https://gerrit-review.googlesource.com/plugins/demo/static/icon.png"
+```
+
+## Action Context
+
+A new action context is passed to the `onAction` callback function each
+time the associated action button is clicked by the user. A context is
+initialized with sufficient state to issue the associated REST API RPC.
+
+### context.action
+
+An [ActionInfo](rest-api-changes.html#action-info) object instance
+supplied by the server describing the UI button the user used to invoke
+the action.
+
+### context.call()
+
+Issues the REST API call associated with the action. The HTTP method
+used comes from `context.action.method`, hiding the JavaScript from
+needing to care.
+
+**Signature.**
+
+``` javascript
+context.call(input, callback)
+```
+
+  - input: JavaScript object to serialize as the request payload. This
+    parameter is ignored for GET and DELETE methods.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+context.call(
+  {message: "..."},
+  function (result) {
+    // ... use result here ...
+  });
+```
+
+### context.change
+
+When the action is invoked on a change a
+[ChangeInfo](rest-api-changes.html#change-info) object instance
+describing the change. Available fields of the ChangeInfo may vary based
+on the options used by the UI when it loaded the change.
+
+### context.delete()
+
+Issues a DELETE REST API call to the URL associated with the action.
+
+**Signature.**
+
+``` javascript
+context.delete(callback)
+```
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. DELETE methods often return `204 No
+    Content`, which is passed as null.
+
+<!-- end list -->
+
+``` javascript
+context.delete(function () {});
+```
+
+### context.get()
+
+Issues a GET REST API call to the URL associated with the action.
+
+**Signature.**
+
+``` javascript
+context.get(callback)
+```
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+context.get(function (result) {
+  // ... use result here ...
+});
+```
+
+### context.go()
+
+Go to a screen. Shorthand for [`Gerrit.go()`](#Gerrit_go).
+
+### context.hide()
+
+Hide the currently visible popup displayed by
+[`context.popup()`](#context_popup).
+
+### context.post()
+
+Issues a POST REST API call to the URL associated with the action.
+
+**Signature.**
+
+``` javascript
+context.post(input, callback)
+```
+
+  - input: JavaScript object to serialize as the request payload.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+context.post(
+  {message: "..."},
+  function (result) {
+    // ... use result here ...
+  });
+```
+
+### context.popup()
+
+Displays a small popup near the activation button to gather additional
+input from the user before executing the REST API RPC.
+
+The caller is always responsible for closing the popup with
+link\#context\_hide\[`context.hide()`\]. Gerrit will handle closing a
+popup if the user presses `Escape` while keyboard focus is within the
+popup.
+
+**Signature.**
+
+``` javascript
+context.popup(element)
+```
+
+  - element: an HTML DOM element to display as the body of the popup.
+    This is typically a `div` element but can be any valid HTML element.
+    CSS can be used to style the element beyond the defaults.
+
+A common usage is to gather more input:
+
+``` javascript
+self.onAction('revision', 'start-build', function (c) {
+  var l = c.checkbox();
+  var m = c.checkbox();
+  c.popup(c.div(
+    c.div(c.label(l, 'Linux')),
+    c.div(c.label(m, 'Mac OS X')),
+    c.button('Build', {onclick: function() {
+      c.call(
+        {
+          commit: c.revision.name,
+          linux: l.checked,
+          mac: m.checked,
+        },
+        function() { c.hide() });
+    });
+});
+```
+
+### context.put()
+
+Issues a PUT REST API call to the URL associated with the action.
+
+**Signature.**
+
+``` javascript
+context.put(input, callback)
+```
+
+  - input: JavaScript object to serialize as the request payload.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+context.put(
+  {message: "..."},
+  function (result) {
+    // ... use result here ...
+  });
+```
+
+### context.refresh()
+
+Refresh the current display. Shorthand for
+[`Gerrit.refresh()`](#Gerrit_refresh).
+
+### context.revision
+
+When the action is invoked on a specific revision of a change, a
+[RevisionInfo](rest-api-changes.html#revision-info) object instance
+describing the revision. Available fields of the RevisionInfo may vary
+based on the options used by the UI when it loaded the change.
+
+### context.project
+
+When the action is invoked on a specific project, the name of the
+project.
+
+### HTML Helpers
+
+The [action context](#ActionContext) includes some HTML helper functions
+to make working with DOM based widgets less painful.
+
+  - `br()`: new `<br>` element.
+
+  - `button(label, options)`: new `<button>` with the string `label`
+    wrapped inside of a `div`. The optional `options` object may define
+    `onclick` as a function to be invoked upon clicking. This calling
+    pattern avoids circular references between the element and the
+    onclick handler.
+
+  - `checkbox()`: new `<input type='checkbox'>` element.
+
+  - `div(...)`: a new `<div>` wrapping the (optional) arguments.
+
+  - `hr()`: new `<hr>` element.
+
+  - `label(c, label)`: a new `<label>` element wrapping element `c` and
+    the string `label`. Used to wrap a checkbox with its label,
+    `label(checkbox(), 'Click Me')`.
+
+  - `prependLabel(label, c)`: a new `<label>` element wrapping element
+    `c` and the string `label`. Used to wrap an input field with its
+    label, `prependLabel('Greeting message', textfield())`.
+
+  - `textarea(options)`: new `<textarea>` element. The options object
+    may optionally include `rows` and `cols`. The textarea comes with an
+    onkeypress handler installed to play nicely with Gerrit’s keyboard
+    binding system.
+
+  - `textfield()`: new `<input type='text'>` element. The text field
+    comes with an onkeypress handler installed to play nicely with
+    Gerrit’s keyboard binding system.
+
+  - `select(a,i)`: a new `<select>` element containing one `<option>`
+    element for each entry in the provided array `a`. The option with
+    the index `i` will be pre-selected in the drop-down-list.
+
+  - `selected(s)`: returns the text of the `<option>` element that is
+    currently selected in the provided `<select>` element `s`.
+
+  - `span(...)`: a new `<span>` wrapping the (optional) arguments.
+
+  - `msg(label)`: a new label.
+
+## Screen Context
+
+A new screen context is passed to the `screen` callback function each
+time the user navigates to a matching URL.
+
+### screen.body
+
+Empty HTML `<div>` node the plugin should add its content to. The node
+is already attached to the document, but is invisible. Plugins must call
+`screen.show()` to display the DOM node. Deferred display allows an
+implementor to partially populate the DOM, make remote HTTP requests,
+finish populating when the callbacks arrive, and only then make the view
+visible to the user.
+
+### screen.token
+
+URL token fragment that activated this screen. The value is identical to
+`screen.token_match[0]`. If the URL is `/#/x/hello/list` the token will
+be `"list"`.
+
+### screen.token\_match
+
+Array of matching subgroups from the pattern specified to `screen()`.
+This is identical to the result of RegExp.exec. Index 0 contains the
+entire matching expression; index 1 the first matching group, etc.
+
+### screen.onUnload()
+
+Configures an optional callback to be invoked just before the screen is
+deleted from the browser DOM. Plugins can use this callback to remove
+event listeners from DOM nodes, preventing memory leaks.
+
+**Signature.**
+
+``` javascript
+screen.onUnload(callback)
+```
+
+  - callback: JavaScript function to be invoked just before the
+    `screen.body` DOM element is removed from the browser DOM. This
+    event happens when the user navigates to another screen.
+
+### screen.setTitle()
+
+Sets the heading text to be displayed when the screen is visible. This
+is presented in a large bold font below the menus, but above the content
+in `screen.body`. Setting the title also sets the window title to the
+same string, if it has not already been set.
+
+**Signature.**
+
+``` javascript
+screen.setPageTitle(titleText)
+```
+
+### screen.setWindowTitle()
+
+Sets the text to be displayed in the browser’s title bar when the screen
+is visible. Plugins should always prefer this method over trying to set
+`window.title` directly. The window title defaults to the title given to
+`setTitle`.
+
+**Signature.**
+
+``` javascript
+screen.setWindowTitle(titleText)
+```
+
+### screen.show()
+
+Destroy the currently visible screen and display the plugin’s screen.
+This method must be called after adding content to `screen.body`.
+
+## Settings Screen Context
+
+A new settings screen context is passed to the `settingsScreen` callback
+function each time the user navigates to a matching URL.
+
+### settingsScreen.body
+
+Empty HTML `<div>` node the plugin should add its content to. The node
+is already attached to the document, but is invisible. Plugins must call
+`settingsScreen.show()` to display the DOM node. Deferred display allows
+an implementor to partially populate the DOM, make remote HTTP requests,
+finish populating when the callbacks arrive, and only then make the view
+visible to the user.
+
+### settingsScreen.onUnload()
+
+Configures an optional callback to be invoked just before the screen is
+deleted from the browser DOM. Plugins can use this callback to remove
+event listeners from DOM nodes, preventing memory leaks.
+
+**Signature.**
+
+``` javascript
+settingsScreen.onUnload(callback)
+```
+
+  - callback: JavaScript function to be invoked just before the
+    `settingsScreen.body` DOM element is removed from the browser DOM.
+    This event happens when the user navigates to another screen.
+
+### settingsScreen.setTitle()
+
+Sets the heading text to be displayed when the screen is visible. This
+is presented in a large bold font below the menus, but above the content
+in `settingsScreen.body`. Setting the title also sets the window title
+to the same string, if it has not already been set.
+
+**Signature.**
+
+``` javascript
+settingsScreen.setPageTitle(titleText)
+```
+
+### settingsScreen.setWindowTitle()
+
+Sets the text to be displayed in the browser’s title bar when the screen
+is visible. Plugins should always prefer this method over trying to set
+`window.title` directly. The window title defaults to the title given to
+`setTitle`.
+
+**Signature.**
+
+``` javascript
+settingsScreen.setWindowTitle(titleText)
+```
+
+### settingsScreen.show()
+
+Destroy the currently visible screen and display the plugin’s screen.
+This method must be called after adding content to
+`settingsScreen.body`.
+
+## Panel Context
+
+A new panel context is passed to the `panel` callback function each time
+a screen with the given extension point is loaded.
+
+### panel.body
+
+Empty HTML `<div>` node the plugin should add the panel content to. The
+node is already attached to the document.
+
+### Properties
+
+The extension panel parameters that are described in the [plugin
+development documentation](dev-plugins.html#panels) are contained in the
+context as properties. Which properties are available depends on the
+extension point.
+
+## Gerrit
+
+The `Gerrit` object is the only symbol provided into the global
+namespace by Gerrit Code Review. All top-level functions can be accessed
+through this name.
+
+### Gerrit.css()
+
+Creates a new unique CSS class and injects it into the document. The
+name of the class is returned and can be used by the plugin. See
+[`Gerrit.html()`](#Gerrit_html) for an easy way to use generated class
+names.
+
+Classes created with this function should be created once at install
+time and reused throughout the plugin. Repeatedly creating the same
+class will explode the global stylesheet.
+
+**Signature.**
+
+``` javascript
+Gerrit.install(function(self)) {
+  var style = {
+    name: Gerrit.css('background: #fff; color: #000;'),
+  };
+});
+```
+
+### Gerrit.delete()
+
+Issues a DELETE REST API request to the Gerrit server. For plugin
+private REST API URLs see [self.delete()](#self_delete).
+
+**Signature.**
+
+``` javascript
+Gerrit.delete(url, callback)
+```
+
+  - url: URL relative to the Gerrit server. For example to access the
+    [changes REST API](rest-api-changes.html) use `'/changes/'`.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. DELETE methods often return `204 No
+    Content`, which is passed as null.
+
+<!-- end list -->
+
+``` javascript
+Gerrit.delete(
+  '/changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/topic',
+  function () {});
+```
+
+### Gerrit.get()
+
+Issues a GET REST API request to the Gerrit server. For plugin private
+REST API URLs see [self.get()](#self_get).
+
+**Signature.**
+
+``` javascript
+Gerrit.get(url, callback)
+```
+
+  - url: URL relative to the Gerrit server. For example to access the
+    [changes REST API](rest-api-changes.html) use `'/changes/'`.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+Gerrit.get('/changes/?q=status:open', function (open) {
+  for (var i = 0; i < open.length; i++) {
+    console.log(open.get(i).change_id);
+  }
+});
+```
+
+### Gerrit.getCurrentUser()
+
+Returns the currently signed in user’s AccountInfo data; empty account
+data if no user is currently signed in.
+
+### Gerrit.getPluginName()
+
+Returns the name this plugin was installed as by the server
+administrator. The plugin name is required to access REST API views
+installed by the plugin, or to access resources.
+
+Unlike [`self.getPluginName()`](#self_getPluginName) this method must
+guess the name from the JavaScript call stack. Plugins are encouraged to
+use `self.getPluginName()` whenever possible.
+
+### Gerrit.go()
+
+Updates the web UI to display the screen identified by the supplied URL
+token. The URL token is the text after `#` in the browser URL.
+
+``` javascript
+Gerrit.go('/admin/projects/');
+```
+
+If the URL passed matches `http://...`, `https://...`, or `//...` the
+current browser window will navigate to the non-Gerrit URL. The user can
+return to Gerrit with the back button.
+
+### Gerrit.html()
+
+Parses an HTML fragment after performing template replacements. If the
+HTML has a single root element or node that node is returned, otherwise
+it is wrapped inside a `<div>` and the div is returned.
+
+**Signature.**
+
+``` javascript
+Gerrit.html(htmlText, options, wantElements);
+```
+
+  - htmlText: string of HTML to be parsed. A new unattached `<div>` is
+    created in the browser’s document and the innerHTML property is
+    assigned to the passed string, after performing replacements. If the
+    div has exactly one child, that child will be returned instead of
+    the div.
+
+  - options: optional object reference supplying replacements for any
+    `{name}` references in htmlText. Navigation through objects is
+    supported permitting `{style.bar}` to be replaced with `"foo"` if
+    options was `{style: {bar: "foo"}}`. Value replacements are HTML
+    escaped before being inserted into the document fragment.
+
+  - wantElements: if options is given and wantElements is also true an
+    object consisting of `{root: parsedElement, elements: {...}}` is
+    returned instead of the parsed element. The elements object contains
+    a property for each element using `id={name}` in htmlText.
+
+**Example.**
+
+``` javascript
+var style = {bar: Gerrit.css('background: yellow')};
+Gerrit.html(
+  '<span class="{style.bar}">Hello {name}!</span>',
+  {style: style, name: "World"});
+```
+
+Event handlers can be automatically attached to elements referenced
+through an attribute id. Object navigation is not supported for ids, and
+the parser strips the id attribute before returning the result. Handler
+functions must begin with `on` and be a function to be installed on the
+element. This approach is useful for onclick and other handlers that do
+not want to create circular references that will eventually leak browser
+memory.
+
+**Example.**
+
+``` javascript
+var options = {
+  link: {
+    onclick: function(e) { window.close() },
+  },
+};
+Gerrit.html('<a href="javascript:;" id="{link}">Close</a>', options);
+```
+
+When using options to install handlers care must be taken to not
+accidentally include the returned element into the event handler’s
+closure. This is why options is built before calling `Gerrit.html()` and
+not inline as a shown above with "Hello World".
+
+DOM nodes can optionally be returned, allowing handlers to access the
+elements identified by `id={name}` at a later point in time.
+
+**Example.**
+
+``` javascript
+var w = Gerrit.html(
+    '<div>Name: <input type="text" id="{name}"></div>'
+  + '<div>Age: <input type="text" id="{age}"></div>'
+  + '<button id="{submit}"><div>Save</div></button>',
+  {
+    submit: {
+      onclick: function(s) {
+        var e = w.elements;
+        window.alert(e.name.value + " is " + e.age.value);
+      },
+    },
+  }, true);
+```
+
+To prevent memory leaks `w.root` and `w.elements` should be set to null
+when the elements are no longer necessary. Screens can use
+[screen.onUnload()](#screen_onUnload) to define a callback function to
+perform this cleanup:
+
+``` javascript
+var w = Gerrit.html(...);
+screen.body.appendElement(w.root);
+screen.onUnload(function() { w.clear() });
+```
+
+### Gerrit.injectCss()
+
+Injects CSS rules into the document by appending onto the end of the
+existing rule list. CSS rules are global to the entire application and
+must be manually scoped by each plugin. For an automatic scoping
+alternative see [`css()`](#Gerrit_css).
+
+``` javascript
+Gerrit.injectCss('.myplugin_bg {background: #000}');
+```
+
+### Gerrit.install()
+
+Registers a new plugin by invoking the supplied initialization function.
+The function is passed the [plugin instance](#self).
+
+``` javascript
+Gerrit.install(function (self) {
+  // ... plugin JavaScript code here ...
+});
+```
+
+### Gerrit.post()
+
+Issues a POST REST API request to the Gerrit server. For plugin private
+REST API URLs see [self.post()](#self_post).
+
+**Signature.**
+
+``` javascript
+Gerrit.post(url, input, callback)
+```
+
+  - url: URL relative to the Gerrit server. For example to access the
+    [changes REST API](rest-api-changes.html) use `'/changes/'`.
+
+  - input: JavaScript object to serialize as the request payload.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+Gerrit.post(
+  '/changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/topic',
+  {topic: 'tests', message: 'Classify work as for testing.'},
+  function (r) {});
+```
+
+### Gerrit.put()
+
+Issues a PUT REST API request to the Gerrit server. For plugin private
+REST API URLs see [self.put()](#self_put).
+
+**Signature.**
+
+``` javascript
+Gerrit.put(url, input, callback)
+```
+
+  - url: URL relative to the Gerrit server. For example to access the
+    [changes REST API](rest-api-changes.html) use `'/changes/'`.
+
+  - input: JavaScript object to serialize as the request payload.
+
+  - callback: JavaScript function to be invoked with the parsed JSON
+    result of the API call. If the API returns a string the result is a
+    string, otherwise the result is a JavaScript object or array, as
+    described in the relevant REST API documentation.
+
+<!-- end list -->
+
+``` javascript
+Gerrit.put(
+  '/changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/topic',
+  {topic: 'tests', message: 'Classify work as for testing.'},
+  function (r) {});
+```
+
+### Gerrit.onAction()
+
+Register a JavaScript callback to be invoked when the user clicks on a
+button associated with a server side `UiAction`.
+
+**Signature.**
+
+``` javascript
+Gerrit.onAction(type, view_name, callback);
+```
+
+  - type: `'change'`, `'edit'`, `'revision'`, `'project'` or `'branch'`
+    indicating what sort of resource the `UiAction` was bound to in the
+    server.
+
+  - view\_name: string appearing in URLs to name the view. This is the
+    second argument of the `get()`, `post()`, `put()`, and `delete()`
+    binding methods in a `RestApiModule`.
+
+  - callback: JavaScript function to invoke when the user clicks. The
+    function will be passed a [ActionContext](#ActionContext).
+
+### Gerrit.screen()
+
+Register a JavaScript callback to be invoked when the user navigates to
+an extension screen provided by the plugin. Extension screens are
+usually linked from the [top
+menu](dev-plugins.html#top-menu-extensions). The callback can populate
+the DOM with the screen’s contents.
+
+**Signature.**
+
+``` javascript
+Gerrit.screen(pattern, callback);
+```
+
+  - pattern: URL token pattern to identify the screen. Argument can be
+    either a string (`'index'`) or a RegExp object (`/list\/(.*)/`). If
+    a RegExp is used the matching groups will be available inside of the
+    context as `token_match`.
+
+  - callback: JavaScript function to invoke when the user navigates to
+    the screen. The function will be passed [screen
+    context](#ScreenContext).
+
+### Gerrit.refresh()
+
+Redisplays the current web UI view, refreshing all information.
+
+### Gerrit.refreshMenuBar()
+
+Refreshes Gerrit’s menu bar.
+
+### Gerrit.isSignedIn()
+
+Checks if user is signed in.
+
+### Gerrit.url()
+
+Returns the URL of the Gerrit Code Review server. If invoked with no
+parameter the URL of the site is returned. If passed a string the
+argument is appended to the site URL.
+
+``` javascript
+Gerrit.url();        // "https://gerrit-review.googlesource.com/"
+Gerrit.url('/123');  // "https://gerrit-review.googlesource.com/123"
+```
+
+For a plugin specific version see [`self.url()`](#self_url\(\)).
+
+### Gerrit.showError(message)
+
+Displays the given message in the Gerrit ErrorDialog.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/json.md b/jekyll-source/pages/gerrit/json.md
new file mode 100644
index 0000000..6c07287
--- /dev/null
+++ b/jekyll-source/pages/gerrit/json.md
@@ -0,0 +1,370 @@
+---
+title: " Gerrit Code Review - JSON Data"
+sidebar: gerritdoc_sidebar
+permalink: json.html
+---
+Some commands produce JSON data streams intended for other applications
+to consume. The structures are documented below. Note that any field may
+be missing in the JSON messages, so consumers of this JSON stream should
+deal with that appropriately.
+
+## change
+
+The Gerrit change being reviewed, or that was already reviewed.
+
+  - project  
+    Project path in Gerrit.
+
+  - branch  
+    Branch name within project.
+
+  - topic  
+    Topic name specified by the uploader for this change series.
+
+  - id  
+    Change identifier, as scraped out of the Change-Id field in the
+    commit message, or as assigned by the server if it was missing.
+
+  - number  
+    Change number (deprecated).
+
+  - subject  
+    Description of change.
+
+  - owner  
+    Owner in [account attribute](#account).
+
+  - url  
+    Canonical URL to reach this change.
+
+  - commitMessage  
+    The full commit message for the change’s current patch set.
+
+  - createdOn  
+    Time in seconds since the UNIX epoch when this change was created.
+
+  - lastUpdated  
+    Time in seconds since the UNIX epoch when this change was last
+    updated.
+
+  - open  
+    Boolean indicating if the change is still open for review.
+
+  - status  
+    Current state of this change.
+    
+      - NEW  
+        Change is still being reviewed.
+    
+      - MERGED  
+        Change has been merged to its branch.
+    
+      - ABANDONED  
+        Change was abandoned by its owner or administrator.
+
+  - comments  
+    All inline/file comments for this change in [message
+    attributes](#message).
+
+  - trackingIds  
+    Issue tracking system links in [trackingid attributes](#trackingid),
+    scraped out of the commit message based on the server’s
+    [trackingid](config-gerrit.html#trackingid) sections.
+
+  - currentPatchSet  
+    Current [patchSet attribute](#patchSet).
+
+  - patchSets  
+    All [patchSet attributes](#patchSet) for this change.
+
+  - dependsOn  
+    List of changes that this change depends on in [dependency
+    attributes](#dependency).
+
+  - neededBy  
+    List of changes that depend on this change in [dependency
+    attributes](#dependency).
+
+  - submitRecords  
+    The [submitRecord attribute](#submitRecord) contains information
+    about whether this change has been or can be submitted.
+
+  - allReviewers  
+    List of all reviewers in [account attribute](#account) which are
+    added to a change.
+
+## trackingid
+
+A link to an issue tracking system.
+
+  - system  
+    Name of the system. This comes straight from the gerrit.config file.
+
+  - id  
+    Id number as scraped out of the commit message.
+
+## account
+
+A user account.
+
+  - name  
+    User’s full name, if configured.
+
+  - email  
+    User’s preferred email address.
+
+  - username  
+    User’s username, if configured.
+
+## patchSet
+
+Refers to a specific patchset within a [change](#change).
+
+  - number  
+    The patchset number.
+
+  - revision  
+    Git commit for this patchset.
+
+  - parents  
+    List of parent revisions.
+
+  - ref  
+    Git reference pointing at the revision. This reference is available
+    through the Gerrit Code Review server’s Git interface for the
+    containing change.
+
+  - uploader  
+    Uploader of the patch set in [account attribute](#account).
+
+  - author  
+    Author of this patchset in [account attribute](#account).
+
+  - createdOn  
+    Time in seconds since the UNIX epoch when this patchset was created.
+
+  - kind  
+    Kind of change uploaded.
+    
+      - REWORK  
+        Nontrivial content changes.
+    
+      - TRIVIAL\_REBASE  
+        Conflict-free merge between the new parent and the prior patch
+        set.
+    
+      - MERGE\_FIRST\_PARENT\_UPDATE  
+        Conflict-free change of first (left) parent of a merge commit.
+    
+      - NO\_CODE\_CHANGE  
+        No code changed; same tree and same parent tree.
+    
+      - NO\_CHANGE  
+        No changes; same commit message, same tree and same parent tree.
+
+  - approvals  
+    The [approval attribute](#approval) granted.
+
+  - comments  
+    All comments for this patchset in [patchsetComment
+    attributes](#patchsetcomment).
+
+  - files  
+    All changed files in this patchset in [file attributes](#file).
+
+  - sizeInsertions  
+    Size information of insertions of this patchset.
+
+  - sizeDeletions  
+    Size information of deletions of this patchset.
+
+## approval
+
+Records the code review approval granted to a patch set.
+
+  - type  
+    Internal name of the approval given.
+
+  - description  
+    Human readable category of the approval.
+
+  - value  
+    Value assigned by the approval, usually a numerical score.
+
+  - oldValue  
+    The previous approval score, only present if the value changed as a
+    result of this event.
+
+  - grantedOn  
+    Time in seconds since the UNIX epoch when this approval was added or
+    last updated.
+
+  - by  
+    Reviewer of the patch set in [account attribute](#account).
+
+## refUpdate
+
+Information about a ref that was updated.
+
+  - oldRev  
+    The old value of the ref, prior to the update.
+
+  - newRev  
+    The new value the ref was updated to.
+
+  - refName  
+    Full ref name within project.
+
+  - project  
+    Project path in Gerrit.
+
+## submitRecord
+
+Information about the submit status of a change.
+
+  - status  
+    Current submit status.
+    
+      - OK  
+        The change is ready for submission or already submitted.
+    
+      - NOT\_READY  
+        The change is missing a required label.
+    
+      - RULE\_ERROR  
+        An internal server error occurred preventing computation.
+
+  - labels  
+    This describes the state of each code review [label
+    attribute](#label), unless the status is RULE\_ERROR.
+
+## label
+
+Information about a code review label for a change.
+
+  - label  
+    The name of the label.
+
+  - status  
+    The status of the label.
+    
+      - OK  
+        This label provides what is necessary for submission.
+    
+      - REJECT  
+        This label prevents the change from being submitted.
+    
+      - NEED  
+        The label is required for submission, but has not been
+        satisfied.
+    
+      - MAY  
+        The label may be set, but it’s neither necessary for submission
+        nor does it block submission if set.
+    
+      - IMPOSSIBLE  
+        The label is required for submission, but is impossible to
+        complete. The likely cause is access has not been granted
+        correctly by the project owner or site administrator.
+
+  - by  
+    The [account](#account) that applied the label.
+
+## dependency
+
+Information about a change or patchset dependency.
+
+  - id  
+    Change identifier.
+
+  - number  
+    Change number.
+
+  - revision  
+    Patchset revision.
+
+  - ref  
+    Ref name.
+
+  - isCurrentPatchSet  
+    If the revision is the current patchset of the change.
+
+## message
+
+Comment added on a change by a reviewer.
+
+  - timestamp  
+    Time in seconds since the UNIX epoch when this comment was added.
+
+  - reviewer  
+    The [account](#account) that added the comment.
+
+  - message  
+    The comment text.
+
+## patchsetComment
+
+Comment added on a patchset by a reviewer.
+
+  - file  
+    The name of the file on which the comment was added.
+
+  - line  
+    The line number at which the comment was added.
+
+  - reviewer  
+    The [account](#account) that added the comment.
+
+  - message  
+    The comment text.
+
+## file
+
+Information about a patch on a file.
+
+  - file  
+    The name of the file. If the file is renamed, the new name.
+
+  - fileOld  
+    The old name of the file, if the file is renamed.
+
+  - type  
+    The type of change.
+    
+      - ADDED  
+        The file is being created/introduced by this patch.
+    
+      - MODIFIED  
+        The file already exists, and has updated content.
+    
+      - DELETED  
+        The file existed, but is being removed by this patch.
+    
+      - RENAMED  
+        The file is renamed.
+    
+      - COPIED  
+        The file is copied from another file.
+    
+      - REWRITE  
+        Sufficient amount of content changed to claim the file was
+        rewritten.
+
+  - insertions  
+    number of insertions of this patch.
+
+  - deletions  
+    number of deletions of this patch.
+
+## SEE ALSO
+
+  - [gerrit stream-events](cmd-stream-events.html)
+
+  - [gerrit query](cmd-query.html)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/linux-quickstart.md b/jekyll-source/pages/gerrit/linux-quickstart.md
new file mode 100644
index 0000000..91c85ea
--- /dev/null
+++ b/jekyll-source/pages/gerrit/linux-quickstart.md
@@ -0,0 +1,111 @@
+---
+title: " Quickstart for Installing Gerrit on Linux"
+sidebar: gerritdoc_sidebar
+permalink: linux-quickstart.html
+---
+This quickstart shows you how to install Gerrit on a Linux machine.
+
+> **Note**
+> 
+> The installation steps provided in this quickstart are for
+> demonstration purposes only. They are not intended for use in a
+> production environment.
+> 
+> For a more detailed installation guide, see [Standalone Daemon
+> Installation Guide](install.html).
+
+## Before you begin
+
+To complete this quickstart, you need:
+
+1.  A Unix-based server such as any of the Linux flavors or BSD.
+
+2.  Java SE Runtime Environment version 1.8 or later.
+
+## Download Gerrit
+
+From the Linux machine on which you want to install Gerrit:
+
+1.  Open a terminal window.
+
+2.  Download the Gerrit archive. See [Gerrit Code Review -
+    Releases](https://gerrit-releases.storage.googleapis.com/index.html)
+    for a list of available archives.
+
+The steps in this quickstart used Gerrrit 2.14.2, which you can download
+using a command such as:
+
+    wget https://www.gerritcodereview.com/download/gerrit-2.14.2.war
+
+> **Note**
+> 
+> If you want to build and install Gerrit from the source files, see
+> [Developer Setup](dev-readme.html).
+
+## Install and initialize Gerrit
+
+From the command line, type the following:
+
+    java -jar gerrit*.war init --batch --dev -d ~/gerrit_testsite
+
+The preceding command uses two parameters:
+
+  - `--batch`. This parameter assigns default values to a variety of
+    Gerrit configuration options. To learn more about these
+    configuration options, see [Configuration](config-gerrit.html).
+
+  - `--dev`. This parameter configures the server to use the
+    authentication option, `DEVELOPMENT_BECOME_ANY_ACCOUNT`. This
+    authentication type makes it easy for you to switch between
+    different users to explore how Gerrit works. To learn more about
+    setting up Gerrit for development, see [Developer
+    Setup](dev-readme.html).
+
+This command displays a number of messages in the terminal window. The
+following is an example of these messages:
+
+    Generating SSH host key ... rsa(simple)... done
+    Initialized /home/gerrit/gerrit_testsite
+    Executing /home/gerrit/gerrit_testsite/bin/gerrit.sh start
+    Starting Gerrit Code Review: OK
+
+The last message you should see is `Starting Gerrit Code Review: OK`.
+This message informs you that the Gerrit service is now running.
+
+## Update the listen URL
+
+Another recommended task is to change the URL that Gerrit listens to
+from `*` to `localhost`. This change helps prevent outside connections
+from contacting the
+    instance.
+
+    git config --file gerrit_testsite/etc/gerrit.config httpd.listenUrl 'http://localhost:8080'
+
+## Restart the Gerrit service
+
+You must restart the Gerrit service for your authentication type and
+listen URL changes to take effect.
+
+    ~/gerrit_testsite/bin/gerrit.sh restart
+
+## Viewing Gerrit
+
+At this point, you have a basic installation of Gerrit. You can view
+this installation by opening a browser and entering the following URL:
+
+    http://localhost:8080
+
+## Next steps
+
+Through this quickstart, you now have a simple version of Gerrit running
+on your Linux machine. You can use this installation to explore the UI
+and become familiar with some of Gerrit’s features. For a more detailed
+installation guide, see [Standalone Daemon Installation
+Guide](install.html).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/metrics.md b/jekyll-source/pages/gerrit/metrics.md
new file mode 100644
index 0000000..7c0d5b9
--- /dev/null
+++ b/jekyll-source/pages/gerrit/metrics.md
@@ -0,0 +1,204 @@
+---
+title: " Gerrit Code Review - Metrics"
+sidebar: gerritdoc_sidebar
+permalink: metrics.html
+---
+Metrics about Gerrit’s internal state can be sent to external monitoring
+systems via plugins. See the [plugin
+documentation](dev-plugins.html#metrics) for details of plugin
+implementations.
+
+## Metrics
+
+The following metrics are reported.
+
+### General
+
+  - `build/label`: Version of Gerrit server software.
+
+  - `events`: Triggered events.
+
+### Process
+
+  - `proc/birth_timestamp`: Time at which the Gerrit process started.
+
+  - `proc/uptime`: Uptime of the Gerrit process.
+
+  - `proc/cpu/usage`: CPU time used by the Gerrit process.
+
+  - `proc/num_open_fds`: Number of open file descriptors.
+
+  - `proc/jvm/memory/heap_committed`: Amount of memory guaranteed for
+    user objects.
+
+  - `proc/jvm/memory/heap_used`: Amount of memory holding user objects.
+
+  - `proc/jvm/memory/non_heap_committed`: Amount of memory guaranteed
+    for classes, etc.
+
+  - `proc/jvm/memory/non_heap_used`: Amount of memory holding classes,
+    etc.
+
+  - `proc/jvm/memory/object_pending_finalization_count`: Approximate
+    number of objects needing finalization.
+
+  - `proc/jvm/gc/count`: Number of GCs.
+
+  - `proc/jvm/gc/time`: Approximate accumulated GC elapsed time.
+
+  - `proc/jvm/thread/num_live`: Current live thread count.
+
+### Caches
+
+  - `caches/memory_cached`: Memory entries.
+
+  - `caches/memory_hit_ratio`: Memory hit ratio.
+
+  - `caches/memory_eviction_count`: Memory eviction count.
+
+  - `caches/disk_cached`: Disk entries used by persistent cache.
+
+  - `caches/disk_hit_ratio`: Disk hit ratio for persistent cache.
+
+### HTTP
+
+  - `http/server/error_count`: Rate of REST API error responses.
+
+  - `http/server/success_count`: Rate of REST API success responses.
+
+  - `http/server/rest_api/count`: Rate of REST API calls by view.
+
+  - `http/server/rest_api/error_count`: Rate of REST API calls by view.
+
+  - `http/server/rest_api/server_latency`: REST API call latency by
+    view.
+
+  - `http/server/rest_api/response_bytes`: Size of REST API response on
+    network (may be gzip compressed) by view.
+
+### Query
+
+  - `query/query_latency`: Successful query latency, accumulated over
+    the life of the process.
+
+### SSH sessions
+
+  - `sshd/sessions/connected`: Number of currently connected SSH
+    sessions.
+
+  - `sshd/sessions/created`: Rate of new SSH sessions.
+
+  - `sshd/sessions/authentication_failures`: Rate of SSH authentication
+    failures.
+
+### SQL connections
+
+  - `sql/connection_pool/connections`: SQL database connections.
+
+### Topics
+
+  - `topic/cross_project_submit`: number of cross-project topic
+    submissions.
+
+  - `topic/cross_project_submit_completed`: number of cross-project
+    topic submissions that concluded successfully.
+
+### JGit
+
+  - `jgit/block_cache/cache_used`: Bytes of memory retained in JGit
+    block cache.
+
+  - `jgit/block_cache/open_files`: File handles held open by JGit block
+    cache.
+
+### Git
+
+  - `git/upload-pack/request_count`: Total number of git-upload-pack
+    requests.
+
+  - `git/upload-pack/phase_counting`: Time spent in the *Counting…*
+    phase.
+
+  - `git/upload-pack/phase_compressing`: Time spent in the
+    *Compressing…* phase.
+
+  - `git/upload-pack/phase_writing`: Time spent transferring bytes to
+    client.
+
+  - `git/upload-pack/pack_bytes`: Distribution of sizes of packs sent to
+    clients.
+
+### BatchUpdate
+
+  - `batch_update/execute_change_ops`: BatchUpdate change update
+    latency, excluding reindexing
+
+  - `batch_update/retry_attempt_counts`: Distribution of number of
+    attempts made by RetryHelper (1 == single attempt, no retry)
+
+  - `batch_update/retry_timeout_count`: Number of executions of
+    RetryHelper that ultimately timed out
+
+### NoteDb
+
+  - `notedb/update_latency`: NoteDb update latency by table.
+
+  - `notedb/stage_update_latency`: Latency for staging updates to NoteDb
+    by table.
+
+  - `notedb/read_latency`: NoteDb read latency by table.
+
+  - `notedb/parse_latency`: NoteDb parse latency by table.
+
+  - `notedb/auto_rebuild_latency`: NoteDb auto-rebuilding latency by
+    table.
+
+  - `notedb/auto_rebuild_failure_count`: NoteDb auto-rebuilding attempts
+    that failed by table.
+
+  - `notedb/external_id_update_count`: Total number of external ID
+    updates.
+
+  - `notedb/read_all_external_ids_latency`: Latency for reading all
+    external ID’s from NoteDb.
+
+### Reviewer Suggestion
+
+  - `reviewer_suggestion/query_accounts`: Latency for querying accounts
+    for reviewer suggestion.
+
+  - `reviewer_suggestion/recommend_accounts`: Latency for recommending
+    accounts for reviewer suggestion.
+
+  - `reviewer_suggestion/load_accounts`: Latency for loading accounts
+    for reviewer suggestion.
+
+  - `reviewer_suggestion/query_groups`: Latency for querying groups for
+    reviewer suggestion.
+
+### Repo Sequences
+
+  - `sequence/next_id_latency`: Latency of requesting IDs from repo
+    sequences.
+
+### Replication Plugin
+
+  - `plugins/replication/replication_latency`: Time spent pushing to
+    remote destination.
+
+  - `plugins/replication/replication_delay`: Time spent waiting before
+    pushing to remote destination.
+
+  - `plugins/replication/replication_retries`: Number of retries when
+    pushing to remote destination.
+
+### License
+
+  - `license/cla_check_count`: Total number of CLA check requests.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/note-db.md b/jekyll-source/pages/gerrit/note-db.md
new file mode 100644
index 0000000..93d2f34
--- /dev/null
+++ b/jekyll-source/pages/gerrit/note-db.md
@@ -0,0 +1,216 @@
+---
+title: " Gerrit Code Review - NoteDb Backend"
+sidebar: gerritdoc_sidebar
+permalink: note-db.html
+---
+NoteDb is the next generation of Gerrit storage backend, which replaces
+the traditional SQL backend for change and account metadata with storing
+data in the same repository as code changes.
+
+  - **Simplicity**: All data is stored in one location in the site
+    directory, rather than being split between the site directory and a
+    possibly external database server.
+
+  - **Consistency**: Replication and backups can use a snapshot of the
+    Git repository refs, which will include both the branch and patch
+    set refs, and the change metadata that points to them.
+
+  - **Auditability**: Rather than storing mutable rows in a database,
+    modifications to changes are stored as a sequence of Git commits,
+    automatically preserving history of the metadata.  
+    There are no strict guarantees, and meta refs may be rewritten, but
+    the default assumption is that all operations are logged.
+
+  - **Extensibility**: Plugin developers can add new fields to metadata
+    without the core database schema having to know about them.
+
+  - **New features**: Enables simple federation between Gerrit servers,
+    as well as offline code review and interoperation with other tools.
+
+## Current Status
+
+  - Storing change metadata is fully implemented in the 2.15 release.
+    Admins may use an [offline](#offline-migration) or
+    [online](#online-migration) tool to migrate change data from
+    ReviewDb.
+
+  - Storing [account data](config-accounts.html) is fully implemented in
+    the 2.15 release. Account data is migrated automatically during the
+    upgrade process by running `gerrit.war init`.
+
+  - Account and change metadata on the servers behind `googlesource.com`
+    is fully migrated to NoteDb. In other words, if you use
+    [gerrit-review](https://gerrit-review.googlesource.com/), you’re
+    already using NoteDb.
+
+For an example NoteDb change, poke around at this
+one:
+
+``` 
+  git fetch https://gerrit.googlesource.com/gerrit refs/changes/70/98070/meta \
+      && git log -p FETCH_HEAD
+```
+
+## Future Work ("Gerrit 3.0")
+
+  - Storing group data is a work in progress. Like account data, it will
+    be migrated automatically.
+
+  - NoteDb will be the only database format supported by Gerrit 3.0. The
+    offline change data migration tool will be included in Gerrit 3.0,
+    but online migration will only be available in the 2.x line.
+
+## Migration
+
+Migrating change metadata can take a long time for large sites, so
+administrators choose whether to do the migration offline or online,
+depending on their available resources and tolerance for downtime.
+
+Only change metadata requires manual steps to migrate it from ReviewDb;
+account and group data is migrated automatically by `gerrit.war init`.
+
+### Online
+
+To start the online migration, set the `noteDb.changes.autoMigrate`
+option in `gerrit.config` and restart Gerrit:
+
+    [noteDb "changes"]
+      autoMigrate = true
+
+Alternatively, pass the `--migrate-to-note-db` flag to `gerrit.war
+daemon`:
+
+``` 
+  java -jar gerrit.war daemon -d /path/to/site --migrate-to-note-db
+```
+
+Both ways of starting the online migration are equivalent. Once started,
+it is safe to restart the server at any time; the migration will pick up
+where it left off. Migration progress will be reported to the Gerrit
+logs.
+
+**Advantages**
+
+  - No downtime required.
+
+**Disadvantages**
+
+  - Only available in 2.x; will not be available in Gerrit 3.0.
+
+  - Much slower than offline; uses only a single thread, to leave
+    resources available for serving traffic.
+
+  - Performance may be degraded, particularly of updates; data needs to
+    be written to both ReviewDb and NoteDb while the migration is in
+    progress.
+
+### Offline
+
+To run the offline migration, run the `migrate-to-note-db` program:
+
+``` 
+  java -jar gerrit.war migrate-to-note-db /path/to/site
+```
+
+Once started, it is safe to cancel and restart the migration process, or
+to switch to the online process.
+
+**Advantages**
+
+  - Much faster than online; can use all available CPUs, since no live
+    traffic needs to be served.
+
+  - No degraded performance of live servers due to writing data to 2
+    locations.
+
+  - Available in both Gerrit 2.x and 3.0.
+
+**Disadvantages**
+
+  - May require substantial downtime; takes about twice as long as an
+    [offline reindex](#pgm-reindex). (In fact, one of the migration
+    steps is a full reindex, so it can’t possibly take less time.)
+
+#### Trial mode
+
+The migration tool also supports "trial mode", where changes are
+migrated to NoteDb and read from NoteDb at runtime, but their primary
+storage location is still ReviewDb, and data is kept in sync between the
+two locations.
+
+To run the migration in trial mode, add `--trial` to
+`migrate-to-note-db` or `daemon`:
+
+``` 
+  java -jar gerrit.war migrate-to-note-db --trial /path/to/site
+  # OR
+  java -jar gerrit.war daemon -d /path/to/site --migrate-to-note-db --trial
+```
+
+Or, set `noteDb.changes.trial=true` in `gerrit.config`.
+
+There are several use cases for trial mode:
+
+  - Help test early releases of the migration tool for bugs with lower
+    risk.
+
+  - Try out new NoteDb-only features like
+    [hashtags](rest-api-changes.txt#get-hashtags) without running the
+    full migration.
+
+To continue with the full migration after running the trial migration,
+use either the online or offline migration steps as normal. To revert to
+ReviewDb-only, remove `noteDb.changes.read` and `noteDb.changes.write`
+from `notedb.config` and restart Gerrit.
+
+## Configuration
+
+The migration process works by setting a configuration option in
+`notedb.config` for each step in the process, then performing the
+corresponding data migration.
+
+Config options are read from `notedb.config` first, falling back to
+`gerrit.config`. If editing config manually, you may edit either file,
+but the migration process itself only touches `notedb.config`. This
+means if your `gerrit.config` is managed with Puppet or a similar tool,
+it can overwrite `gerrit.config` without affecting the migration
+process. You should not manage `notedb.config` with Puppet, but you may
+copy values back into `gerrit.config` and delete `notedb.config` at some
+later point after completing the migration.
+
+In general, users should not set the options described below manually;
+this section serves primarily as a reference.
+
+  - `noteDb.changes.write=true`: During a ReviewDb write, the state of
+    the change in NoteDb is written to the `note_db_state` field in the
+    `Change` entity. After the ReviewDb write, this state is written
+    into NoteDb, resulting in effectively double the time for write
+    operations. NoteDb write errors are dropped on the floor, and no
+    attempt is made to read from ReviewDb or correct errors (without
+    additional configuration, below).
+
+  - `noteDb.changes.read=true`: Change data is written to and read from
+    NoteDb, but ReviewDb is still the source of truth. During reads,
+    first read the change from ReviewDb, and compare its `note_db_state`
+    with what is in NoteDb. If it doesn’t match, immediately
+    "auto-rebuild" the change, copying data from ReviewDb to NoteDb and
+    returning the result.
+
+  - `noteDb.changes.primaryStorage=NOTE_DB`: New changes are written
+    only to NoteDb, but changes whose primary storage is ReviewDb are
+    still supported. Continues to read from ReviewDb first as in the
+    previous stage, but if the change is not in ReviewDb, falls back to
+    reading from NoteDb.  
+    Migration of existing changes is described in the
+    [Migration](#migration) section above.  
+    Due to an implementation detail, writes to Changes or related tables
+    still result in write calls to the database layer, but they are
+    inside a transaction that is always rolled back.
+
+  - `noteDb.changes.disableReviewDb=true`: All access to Changes or
+    related tables is disabled; reads return no results, and writes are
+    no-ops. Assumes the state of all changes in NoteDb is accurate, and
+    so is only safe once all changes are NoteDb primary. Otherwise,
+    reading changes only from NoteDb might result in inaccurate results,
+    and writing to NoteDb would compound the problem.  
+
diff --git a/jekyll-source/pages/gerrit/pgm-LocalUsernamesToLowerCase.md b/jekyll-source/pages/gerrit/pgm-LocalUsernamesToLowerCase.md
new file mode 100644
index 0000000..33d8fc2
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-LocalUsernamesToLowerCase.md
@@ -0,0 +1,70 @@
+---
+title: " LocalUsernamesToLowerCase"
+sidebar: gerritdoc_sidebar
+permalink: pgm-LocalUsernamesToLowerCase.html
+---
+## NAME
+
+LocalUsernamesToLowerCase - Convert the local username of every account
+to lower case
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war LocalUsernamesToLowerCase
+>       -d <SITE_PATH>
+
+## DESCRIPTION
+
+Converts the local username for every account to lower case. The local
+username is the username that is used to login into the Gerrit Web UI.
+
+This task is only intended to be run if the configuration parameter
+[ldap.localUsernameToLowerCase](config-gerrit.html#ldap.localUsernameToLowerCase)
+was set to true to achieve case insensitive LDAP login to the Gerrit Web
+UI.
+
+Please be aware that the conversion of the local usernames to lower case
+can’t be undone.
+
+The program will produce errors if there are accounts that have the same
+local username, but with different case. In this case the local username
+for these accounts is not converted to lower case.
+
+After all usernames have been migrated, the [reindex](pgm-reindex.html)
+program is automatically invoked to reindex all accounts.
+
+This task cannot run in the background concurrently to the server; it
+must be run by itself.
+
+## OPTIONS
+
+  - \-d; --site-path  
+    Location of the gerrit.config file, and all other per-site
+    configuration data, supporting libraries and log files.
+
+## CONTEXT
+
+This command can only be run on a server which has direct connectivity
+to the metadata database.
+
+## EXAMPLES
+
+To convert the local username of every account to lower case:
+
+``` 
+        $ java -jar gerrit.war LocalUsernamesToLowerCase -d site_path
+```
+
+## SEE ALSO
+
+  - Configuration parameter
+    [ldap.localUsernameToLowerCase](config-gerrit.html#ldap.localUsernameToLowerCase)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-MigrateAccountPatchReviewDb.md b/jekyll-source/pages/gerrit/pgm-MigrateAccountPatchReviewDb.md
new file mode 100644
index 0000000..80a2179
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-MigrateAccountPatchReviewDb.md
@@ -0,0 +1,75 @@
+---
+title: " MigrateAccountPatchReviewDb"
+sidebar: gerritdoc_sidebar
+permalink: pgm-MigrateAccountPatchReviewDb.html
+---
+## NAME
+
+MigrateAccountPatchReviewDb - Migrates account patch review db from one
+database backend to another.
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war MigrateAccountPatchReviewDb
+>       -d <SITE_PATH>
+>       [--sourceUrl] [--chunkSize]
+
+## DESCRIPTION
+
+Migrates AccountPatchReviewDb from one database backend to another. The
+AccountPatchReviewDb is a database used to store the user file reviewed
+flags.
+
+This command is only intended to be run if the configuration parameter
+[accountPatchReviewDb.url](config-gerrit.html#accountPatchReviewDb.url)
+is set or changed.
+
+To migrate AccountPatchReviewDb:
+
+  - Stop Gerrit
+
+  - Configure new value for
+    [accountPatchReviewDb.url](config-gerrit.html#accountPatchReviewDb.url)
+
+  - Migrate data using this command
+
+  - Start Gerrit
+
+## OPTIONS
+
+  - \-d; --sourceUrl  
+    Url of source database. Only need to be specified if the source is
+    not H2.
+
+  - \--chunkSize  
+    Chunk size of fetching from source and pushing to target on each
+    time. Defaults to 100000.
+
+## CONTEXT
+
+This command can only be run on a server which has direct connectivity
+to the database.
+
+## EXAMPLES
+
+To migrate from H2 to the database specified by
+[accountPatchReviewDb.url](config-gerrit.html#accountPatchReviewDb.url)
+in gerrit.config:
+
+``` 
+        $ java -jar gerrit.war MigrateAccountPatchReviewDb
+```
+
+## SEE ALSO
+
+  - Configuration parameter
+    [accountPatchReviewDb.url](config-gerrit.html#accountPatchReviewDb.url)
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-SwitchSecureStore.md b/jekyll-source/pages/gerrit/pgm-SwitchSecureStore.md
new file mode 100644
index 0000000..eda8519
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-SwitchSecureStore.md
@@ -0,0 +1,48 @@
+---
+title: " SwitchSecureStore"
+sidebar: gerritdoc_sidebar
+permalink: pgm-SwitchSecureStore.html
+---
+## NAME
+
+SwitchSecureStore - Changes the currently used SecureStore
+implementation
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war SwitchSecureStore
+>       [--new-secure-store-lib]
+
+## DESCRIPTION
+
+Changes the SecureStore implementation used by Gerrit. It migrates all
+data stored in the old implementation, removes the old implementation
+jar file from `$site_path/lib` and puts the new one there. As a final
+step the
+[gerrit.secureStoreClass](config-gerrit.html#gerrit.secureStoreClass)
+property of `gerrit.config` will be updated.
+
+All dependencies not provided by Gerrit should be put the in
+`$site_path/lib` directory manually, before running the
+`SwitchSecureStore` program.
+
+After this operation there is no automatic way back the to standard
+Gerrit no-op secure store implementation, however there is a manual
+procedure: \* stop Gerrit, \* remove SecureStore jar file from
+`$site_path/lib`, \* put plain text passwords into
+`$site_path/etc/secure.conf` file, \* start Gerrit.
+
+## OPTIONS
+
+  - \--new-secure-store-lib  
+    Path to jar file with new SecureStore implementation. Jar
+    dependencies must be put in `$site_path/lib` directory.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-daemon.md b/jekyll-source/pages/gerrit/pgm-daemon.md
new file mode 100644
index 0000000..bec57fc
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-daemon.md
@@ -0,0 +1,126 @@
+---
+title: " daemon"
+sidebar: gerritdoc_sidebar
+permalink: pgm-daemon.html
+---
+## NAME
+
+daemon - Gerrit network server
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war daemon
+>       -d <SITE_PATH>
+>       [--enable-httpd | --disable-httpd]
+>       [--enable-sshd | --disable-sshd]
+>       [--console-log]
+>       [--slave]
+>       [--headless]
+>       [--init]
+>       [-s]
+
+## DESCRIPTION
+
+Runs the Gerrit network daemon on the local system, configured as per
+the local copy of [gerrit.config](config-gerrit.html).
+
+The path to gerrit.config is read from the metadata database, which
+requires that all slaves (and master) reading from the same database
+must place gerrit.config at the same location on the local filesystem.
+However, any option within gerrit.config, including
+[gerrit.basePath](config-gerrit.html#gerrit.basePath) may be set to
+different values.
+
+## OPTIONS
+
+  - \-d; --site-path  
+    Location of the gerrit.config file, and all other per-site
+    configuration data, supporting libraries and log files.
+
+  - \--enable-httpd; --disable-httpd  
+    Enable (or disable) the internal HTTP daemon, answering web
+    requests. Enabled by default when --slave is not used.
+
+  - \--enable-sshd; --disable-sshd  
+    Enable (or disable) the internal SSH daemon, answering SSH clients
+    and remotely executed commands. Enabled by default.
+
+  - \--slave  
+    Run in slave mode, permitting only read operations by clients.
+    Commands which modify state such as
+    [receive-pack](cmd-receive-pack.html) (creates new changes or
+    updates existing ones) or [review](cmd-review.html) (sets approve
+    marks) are disabled.
+    
+    This option automatically implies *--enable-sshd*.
+
+  - \--console-log  
+    Send log messages to the console, instead of to the standard log
+    file *$site\_path/logs/error\_log*.
+
+  - \--headless  
+    Don’t start the default Gerrit UI. May be useful when Gerrit is run
+    with an alternative UI.
+
+  - \--init  
+    Run init before starting the daemon. This will create a new site or
+    upgrade an existing site.
+
+  - \--s  
+    Start [Gerrit Inspector](dev-inspector.html) on the console, a
+    built-in interactive inspection environment to assist debugging and
+    troubleshooting of Gerrit code.
+    
+    This options requires *jython.jar* from the [Jython
+    distribution](http://www.jython.org) to be present in
+    *$site\_path/lib* directory.
+
+## CONTEXT
+
+This command can only be run on a server which has direct connectivity
+to the metadata database, and local access to the managed Git
+repositories.
+
+## LOGGING
+
+Error and warning messages from the server are automatically written to
+the log file under *$site\_path/logs/error\_log*. This log file is
+automatically rotated at 12:00 AM GMT each day, allowing an external log
+cleaning service to clean up the prior logs.
+
+## KNOWN ISSUES
+
+Slave daemon caches can quickly become out of date when modifications
+are made on the master. The following configuration is suggested in a
+slave to reduce the maxAge for each cache entry, so that changes are
+recognized in a reasonable period of time:
+
+    [cache "accounts"]
+      maxAge = 5 min
+    [cache "diff"]
+      maxAge = 5 min
+    [cache "groups"]
+      maxAge = 5 min
+    [cache "projects"]
+      maxAge = 5 min
+    [cache "sshkeys"]
+      maxAge = 5 min
+
+and if LDAP support was enabled, also include:
+
+    [cache "ldap_groups"]
+      maxAge = 5 min
+    [cache "ldap_usernames"]
+      maxAge = 5 min
+
+Automatic cache coherency between master and slave systems is planned to
+be implemented in a future version.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-gsql.md b/jekyll-source/pages/gerrit/pgm-gsql.md
new file mode 100644
index 0000000..f2221e6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-gsql.md
@@ -0,0 +1,61 @@
+---
+title: " gsql"
+sidebar: gerritdoc_sidebar
+permalink: pgm-gsql.html
+---
+## NAME
+
+gsql - Administrative interface to idle database
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war gsql
+>       -d <SITE_PATH>
+
+## DESCRIPTION
+
+Interactive query support against the configured SQL database. All SQL
+statements are supported, including SELECT, UPDATE, INSERT, DELETE and
+ALTER.
+
+This command is primarily intended to access a local H2 database which
+is not currently open by a Gerrit daemon. To access an open database use
+[gerrit gsql](cmd-gsql.html) over SSH.
+
+## OPTIONS
+
+  - \-d; --site-path  
+    Location of the gerrit.config file, and all other per-site
+    configuration data, supporting libraries and log files.
+
+## CONTEXT
+
+This command can only be run on a server which has direct connectivity
+to the metadata database, and local access to the managed Git
+repositories.
+
+## EXAMPLES
+
+To manually correct a user’s SSH user name:
+
+``` 
+        $ java -jar gerrit.war gsql
+        Welcome to Gerrit Code Review v2.0.25
+        (PostgreSQL 8.3.8)
+
+        Type '\h' for help.  Type '\r' to clear the buffer.
+
+        gerrit> update accounts set ssh_user_name = 'alice' where account_id=1;
+        UPDATE 1; 1 ms
+        gerrit> \q
+        Bye
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-index.md b/jekyll-source/pages/gerrit/pgm-index.md
new file mode 100644
index 0000000..e5c02f5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-index.md
@@ -0,0 +1,56 @@
+---
+title: " Gerrit Code Review - Server Side Administrative Tools"
+sidebar: gerritdoc_sidebar
+permalink: pgm-index.html
+---
+Server side tools can be started by executing the WAR file through the
+Java command line. For example:
+
+    $ java -jar gerrit.war <tool> [<options>]
+
+Tool should be one of the following names:
+
+## Tools
+
+  - [init](pgm-init.html)  
+    Initialize a new Gerrit server installation.
+
+  - [daemon](pgm-daemon.html)  
+    Gerrit HTTP, SSH network server.
+
+  - [gsql](pgm-gsql.html)  
+    Administrative interface to idle database.
+
+  - [prolog-shell](pgm-prolog-shell.html)  
+    Simple interactive Prolog interpreter.
+
+  - [reindex](pgm-reindex.html)  
+    Rebuild the secondary index.
+
+  - [SwitchSecureStore](pgm-SwitchSecureStore.html)  
+    Change used SecureStore implementation.
+
+  - [rulec](pgm-rulec.html)  
+    Compile project-specific Prolog rules to JARs.
+
+  - version  
+    Display the release version of Gerrit Code Review.
+
+  - [passwd](pgm-passwd.html)  
+    Set or reset password in secure.config.
+
+### Transition Utilities
+
+  - [LocalUsernamesToLowerCase](pgm-LocalUsernamesToLowerCase.html)  
+    Convert the local username of every account to lower
+    case.
+
+  - [MigrateAccountPatchReviewDb](pgm-MigrateAccountPatchReviewDb.html)  
+    Migrates AccountPatchReviewDb from one database backend to another.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-init.md b/jekyll-source/pages/gerrit/pgm-init.md
new file mode 100644
index 0000000..ae8e117
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-init.md
@@ -0,0 +1,118 @@
+---
+title: " init"
+sidebar: gerritdoc_sidebar
+permalink: pgm-init.html
+---
+## NAME
+
+init - Initialize a new Gerrit server installation or upgrade an
+existing installation.
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war init
+>       -d <SITE_PATH>
+>       [--batch]
+>       [--delete-caches]
+>       [--no-auto-start]
+>       [--skip-plugins]
+>       [--list-plugins]
+>       [--install-plugin=<PLUGIN_NAME>]
+>       [--install-all-plugins]
+>       [--secure-store-lib]
+>       [--dev]
+>       [--skip-all-downloads]
+>       [--skip-download=<LIBRARY_NAME>]
+
+## DESCRIPTION
+
+Creates a new Gerrit server installation, interactively prompting for
+some basic setup prior to writing default configuration files into a
+newly created `$site_path`.
+
+If run in an existing `$site_path`, init upgrades existing resources
+(e.g. DB schema, plugins) as necessary.
+
+## OPTIONS
+
+  - \-b; --batch  
+    Run in batch mode, skipping interactive prompts. For a fresh
+    install, reasonable configuration defaults are chosen based on the
+    whims of the Gerrit developers. On upgrades, the existing settings
+    in `gerrit.config` are respected.
+    
+    If during a schema migration unused objects (e.g. tables, columns)
+    are detected, they are **not** automatically dropped; a list of SQL
+    statements to drop these objects is provided. To drop the unused
+    objects these SQL statements must be executed manually.
+
+  - \--delete-caches  
+    Force deletion of all persistent cache files. Note that re-creation
+    of these caches may be expensive.
+
+  - \--no-auto-start  
+    Don’t automatically start the daemon after initializing a newly
+    created site path. This permits the administrator to inspect and
+    modify the configuration before the daemon is started.
+
+  - \-d; --site-path  
+    Location of the `gerrit.config` file, and all other per-site
+    configuration data, supporting libraries and log files.
+
+  - \--skip-plugins  
+    Entirely skip installation and initialization of plugins. This
+    option is needed when initializing a gerrit site without an archive.
+    That happens when running gerrit acceptance or integration tests in
+    a debugger, using classes. Supplying this option leads to ignoring
+    the `--install-plugin` and `--install-all-plugins` options, if
+    supplied as well.
+
+  - \--list-plugins  
+    Print names of plugins that can be installed during init process.
+
+  - \--install-all-plugins  
+    Automatically install all plugins from gerrit.war without asking.
+    This option also works in batch mode. This option cannot be supplied
+    alongside `--install-plugin`.
+
+  - \--secure-store-lib  
+    Path to the jar providing the chosen
+    [SecureStore](dev-plugins.html#secure-store) implementation class.
+    This option is used in the same way as the `--new-secure-store-lib`
+    option documented in
+    [SwitchSecureStore](pgm-SwitchSecureStore.html).
+
+  - \--install-plugin  
+    Automatically install plugin with given name without asking. This
+    option also works in batch mode. This option may be supplied more
+    than once to install multiple plugins. This option cannot be
+    supplied alongside `--install-all-plugins`.
+
+  - \--dev  
+    Install in developer mode. Default configuration settings are chosen
+    to run the Gerrit server as a developer.
+
+  - \--skip-all-downloads  
+    Do not automatically download and install required libraries. The
+    administrator must manually install the required libraries in the
+    `lib/` folder.
+
+  - \--skip-download  
+    Do not automatically download and install the library with the given
+    name. The administrator must manually install the required library
+    in the `lib/` folder.
+
+## CONTEXT
+
+This command can only be run on a server which has direct connectivity
+to the metadata database, and local access to the managed Git
+repositories.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-passwd.md b/jekyll-source/pages/gerrit/pgm-passwd.md
new file mode 100644
index 0000000..bf9bee5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-passwd.md
@@ -0,0 +1,53 @@
+---
+title: " passwd"
+sidebar: gerritdoc_sidebar
+permalink: pgm-passwd.html
+---
+## NAME
+
+passwd - Set or reset password in secure.config.
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war passwd
+>       -d <SITE_PATH>
+>       <SECTION.KEY>
+>       [PASSWORD]
+
+## DESCRIPTION
+
+Set or reset password in an existing Gerrit server installation,
+interactively prompting for a new password or using the one provided in
+the command line argument.
+
+## OPTIONS
+
+  - \-d; --site-path  
+    Location of the `gerrit.config` file, and all other per-site
+    configuration data, supporting libraries and log files.
+
+## ARGUMENTS
+
+  - SECTION.KEY  
+    Section and key in the `secure.config` file for setting or editing
+    the password value.
+
+  - PASSWORD  
+    New password to set in `secure.config` associated to the section and
+    key. When specified as argument, automatically implies batch mode
+    and the command would not ask anything interactively.
+
+## CONTEXT
+
+This utility is typically useful when a secure store is configured to
+encrypt password values and thus editing the file manually is not an
+option.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-prolog-shell.md b/jekyll-source/pages/gerrit/pgm-prolog-shell.md
new file mode 100644
index 0000000..ea59787
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-prolog-shell.md
@@ -0,0 +1,64 @@
+---
+title: " prolog-shell"
+sidebar: gerritdoc_sidebar
+permalink: pgm-prolog-shell.html
+---
+## NAME
+
+prolog-shell - Simple interactive Prolog interpreter
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war prolog-shell
+>       [-s FILE.pl …]
+
+## DESCRIPTION
+
+Provides a simple interactive Prolog interpreter for development and
+testing.
+
+## OPTIONS
+
+  - \-s  
+    Dynamically load the Prolog source code at startup, as though the
+    user had entered `['FILE.pl'].` into the interpreter once it was
+    running. This option may be supplied more than once to load multiple
+    files.
+
+## EXAMPLES
+
+Define a simple predicate and test it:
+
+``` 
+        $ cat >simple.pl
+        food(apple).
+        food(orange).
+        ^D
+
+        $ java -jar gerrit.war prolog-shell -s simple.pl
+        Gerrit Code Review 2.2.1-84-ge9c3992 - Interactive Prolog Shell
+        based on Prolog Cafe 1.2.5 (mantis)
+                 Copyright(C) 1997-2009 M.Banbara and N.Tamura
+        (type Ctrl-D or "halt." to exit, "['path/to/file.pl']." to load a file)
+
+        {consulting /usr/local/google/users/sop/gerrit/gerrit/simple.pl ...}
+        {/usr/local/google/users/sop/gerrit/gerrit/simple.pl consulted 99 msec}
+
+        | ?- food(Type).
+
+        Type = apple ? ;
+
+        Type = orange ? ;
+
+        no
+        | ?-
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-reindex.md b/jekyll-source/pages/gerrit/pgm-reindex.md
new file mode 100644
index 0000000..ed00cf0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-reindex.md
@@ -0,0 +1,53 @@
+---
+title: " reindex"
+sidebar: gerritdoc_sidebar
+permalink: pgm-reindex.html
+---
+## NAME
+
+reindex - Rebuild the secondary index
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war reindex
+>       [--threads]
+>       [--changes-schema-version]
+>       [--verbose]
+>       [--list]
+>       [--index]
+
+## DESCRIPTION
+
+Rebuilds the secondary index.
+
+## OPTIONS
+
+  - \--threads  
+    Number of threads to use for indexing.
+
+  - \--changes-schema-version  
+    Schema version to reindex; default is most recent version.
+
+  - \--verbose  
+    Output debug information for each change.
+
+  - \--list  
+    List available index names.
+
+  - \--index  
+    Reindex only index with given name. This option can be supplied more
+    than once to reindex multiple indices.
+
+## CONTEXT
+
+The secondary index must be enabled. See
+[index.type](config-gerrit.html#index.type).
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/pgm-rulec.md b/jekyll-source/pages/gerrit/pgm-rulec.md
new file mode 100644
index 0000000..0227af1
--- /dev/null
+++ b/jekyll-source/pages/gerrit/pgm-rulec.md
@@ -0,0 +1,61 @@
+---
+title: " rulec"
+sidebar: gerritdoc_sidebar
+permalink: pgm-rulec.html
+---
+## NAME
+
+rulec - Compile project-specific Prolog rules to JARs
+
+## SYNOPSIS
+
+> 
+> 
+>     java -jar gerrit.war rulec
+>       -d <SITE_PATH>
+>       [--quiet]
+>       [--all | <PROJECT>…]
+
+## DESCRIPTION
+
+Looks for a Prolog rule file named `rules.pl` on the repository’s
+`refs/meta/config` branch. If rules.pl exists, creates a JAR file named
+`rules-'SHA1'.jar` in `'$site_path'/cache/rules`.
+
+## OPTIONS
+
+  - \-d; --site-path  
+    Location of the gerrit.config file, and all other per-site
+    configuration data, supporting libraries and log files.
+
+  - \--all  
+    Compile rules for all projects.
+
+  - \--quiet  
+    Suppress non-error output messages.
+
+\<PROJECT\>: Compile rules for the specified project.
+
+## CONTEXT
+
+This command can only be run on a server which has direct connectivity
+to the metadata database, and local access to the managed Git
+repositories.
+
+Caching needs to be enabled. See
+[cache.directory](config-gerrit.html#cache.directory).
+
+## EXAMPLES
+
+To compile a rule JAR file for test/project:
+
+``` 
+        $ java -jar gerrit.war rulec -d site_path test/project
+```
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/project-configuration.md b/jekyll-source/pages/gerrit/project-configuration.md
new file mode 100644
index 0000000..5e90485
--- /dev/null
+++ b/jekyll-source/pages/gerrit/project-configuration.md
@@ -0,0 +1,304 @@
+---
+title: " Gerrit Code Review - Project Configuration"
+sidebar: gerritdoc_sidebar
+permalink: project-configuration.html
+---
+## Project Creation
+
+There are several ways to create a new project in Gerrit:
+
+  - in the Web UI under *Projects* \> *Create Project*
+
+  - via the [Create Project](rest-api-projects.html#create-project) REST
+    endpoint
+
+  - via the [create-project](cmd-create-project.html) SSH command
+
+To be able to create new projects the global capability [Create
+Project](access-control.html#capability_createProject) must be granted.
+
+In addition, projects can be created
+[manually](#manual_project_creation).
+
+### Manual Project Creation
+
+1.  Create a Git repository under `gerrit.basePath`:
+    
+    ``` 
+      git --git-dir=$base_path/new/project.git init
+    ```
+    
+    > **Tip**
+    > 
+    > By tradition the repository directory name should have a `.git`
+    > suffix.
+    
+    To also make this repository available over the anonymous git://
+    protocol, don’t forget to create a `git-daemon-export-ok` file:
+    
+    ``` 
+      touch $base_path/new/project.git/git-daemon-export-ok
+    ```
+
+2.  Register Project
+    
+    Either restart the server, or flush the `project_list` cache:
+    
+    ``` 
+      ssh -p 29418 localhost gerrit flush-caches --cache project_list
+    ```
+
+## Project Options
+
+### Submit Type
+
+The method Gerrit uses to submit a change to a project can be modified
+by any project owner through the project console, `Projects` \> `List`
+\> my/project. In general, a submitted change is only merged if all its
+dependencies are also submitted, with exceptions documented below. The
+following submit types are supported:
+
+  - Fast Forward Only
+    
+    With this method no merge commits are produced. All merges must be
+    handled on the client, prior to uploading to Gerrit for review.
+    
+    To submit a change, the change must be a strict superset of the
+    destination branch. That is, the change must already contain the tip
+    of the destination branch at submit time.
+
+  - Merge If Necessary
+    
+    This is the default for a new project.
+    
+    If the change being submitted is a strict superset of the
+    destination branch, then the branch is fast-forwarded to the change.
+    If not, then a merge commit is automatically created. This is
+    identical to the classical `git merge` behavior, or `git merge
+    --ff`.
+
+  - Always Merge
+    
+    Always produce a merge commit, even if the change is a strict
+    superset of the destination branch. This is identical to the
+    behavior of `git merge --no-ff`, and may be useful if the project
+    needs to follow submits with `git log --first-parent`.
+
+  - Cherry Pick
+    
+    Always cherry pick the patch set, ignoring the parent lineage and
+    instead creating a brand new commit on top of the current branch
+    head.
+    
+    When cherry picking a change, Gerrit automatically appends onto the
+    end of the commit message a short summary of the change’s approvals,
+    and a URL link back to the change on the web. The committer header
+    is also set to the submitter, while the author header retains the
+    original patch set author.
+    
+    Note that Gerrit ignores dependencies between changes when using
+    this submit type unless
+    [`change.submitWholeTopic`](config-gerrit.html#change.submitWholeTopic)
+    is enabled and depending changes share the same topic. So generally
+    submitters must remember to submit changes in the right order when
+    using this submit type. If all you want is extra information in the
+    commit message, consider using the Rebase Always submit strategy.
+
+  - Rebase If Necessary
+    
+    If the change being submitted is a strict superset of the
+    destination branch, then the branch is fast-forwarded to the change.
+    If not, then the change is automatically rebased and then the branch
+    is fast-forwarded to the change.
+
+When Gerrit tries to do a merge, by default the merge will only succeed
+if there is no path conflict. A path conflict occurs when the same file
+has also been changed on the other side of the merge.
+
+  - Rebase Always
+    
+    Basically, the same as Rebase If Necessary, but it creates a new
+    patchset even if fast forward is possible AND like Cherry Pick it
+    ensures footers such as Change-Id, Reviewed-On, and others are
+    present in resulting commit that is merged.
+
+Thus, Rebase Always can be considered similar to Cherry Pick, but with
+the important distinction that Rebase Always does not ignore
+dependencies.
+
+If `Allow content merges` is enabled, Gerrit will try to do a content
+merge when a path conflict occurs.
+
+### State
+
+This setting defines the state of the project. A project can have the
+following states:
+
+  - `Active`:
+    
+    The project is active and users can see and modify the project
+    according to their access rights on the project.
+
+  - `Read Only`:
+    
+    The project is read only and all modifying operations on it are
+    disabled. E.g. this means that pushing to this project fails for all
+    users even if they have push permissions assigned on it.
+    
+    Setting a project to this state is an easy way to temporary close a
+    project, as you can keep all write access rights in place and they
+    will become active again as soon as the project state is set back to
+    `Active`.
+    
+    This state also makes sense if a project was moved to another
+    location. In this case all new development should happen in the new
+    project and you want to prevent that somebody accidentally works on
+    the old project, while keeping the old project around for old
+    references.
+
+  - `Hidden`:
+    
+    The project is hidden and only visible to project owners. Other
+    users are not able to see the project even if they have read
+    permissions granted on the project.
+
+### Use target branch when determining new changes to open
+
+The `create-new-change-for-all-not-in-target` option provides a
+convenience for selecting [the merge base](user-upload.html#base) by
+setting it automatically to the target branch’s tip so you can create
+new changes for all commits not in the target branch.
+
+This option is disabled if the tip of the push is a merge commit.
+
+This option also only works if there are no merge commits in the commit
+chain, in such cases it fails warning the user that such pushes can only
+be performed by manually specifying [bases](user-upload.html#base)
+
+This option is useful if you want to push a change to your personal
+branch first and for review to another branch for example. Or in cases
+where a commit is already merged into a branch and you want to create a
+new open change for that commit on another branch.
+
+### Require Change-Id
+
+The `Require Change-Id in commit message` option defines whether a
+[Change-Id](user-changeid.html) in the commit message is required for
+pushing a commit for review. If this option is set, trying to push a
+commit for review that doesn’t contain a Change-Id in the commit message
+fails with [missing Change-Id in commit message
+footer](error-missing-changeid.html).
+
+It is recommended to set this option and use a [commit-msg
+hook](user-changeid.html#create) (or other client side tooling like
+EGit) to automatically generate Change-Id’s for new commits. This way
+the Change-Id is automatically in place when changes are reworked or
+rebased and uploading new patch sets gets easy.
+
+If this option is not set, commits can be uploaded without a Change-Id,
+but then users have to remember to copy the assigned Change-Id from the
+change screen and insert it manually into the commit message when they
+want to upload a second patch set.
+
+### Maximum Git Object Size Limit
+
+This option defines the maximum allowed Git object size that
+receive-pack will accept. If an object is larger than the given size the
+pack-parsing will abort and the push operation will fail.
+
+With this option users can be prevented from uploading commits that
+contain files which are too large.
+
+Normally the [maximum Git object size
+limit](config-gerrit.html#receive.maxObjectSizeLimit) is configured
+globally for a Gerrit server. At the project level, the maximum Git
+object size limit can be further reduced, but not extended. The
+displayed effective limit shows the maximum Git object size limit that
+is actually used on the project.
+
+The defined maximum Git object size limit is inherited by any child
+project.
+
+### Require Signed-off-by
+
+The `Require Signed-off-by in commit message` option defines whether a
+[Signed-off-by](user-signedoffby.html) line in the commit message is
+required for pushing a commit. If this option is set, trying to push a
+commit that doesn’t contain a Signed-off-by line in the commit message
+fails with [not Signed-off-by author/committer/uploader in commit
+message footer](error-not-signed-off-by.html).
+
+## Branch Administration
+
+### Branch Creation
+
+There are several ways to create a new branch in a project:
+
+  - in the Web UI under *Projects* \> *List* \> \<project\> \>
+    *Branches*
+
+  - via the [Create Branch](rest-api-projects.html#create-branch) REST
+    endpoint
+
+  - via the [create-branch](cmd-create-branch.html) SSH command
+
+  - by using a git client to push a commit to a non-existing branch
+
+To be able to create new branches the user must have the [Create
+Reference](access-control.html#category_create) access right. In
+addition, project owners and Gerrit administrators can create new
+branches from the Web UI or via REST even without having the `Create
+Reference` access right.
+
+When using the Web UI, the REST endpoint or the SSH command it is only
+possible to create branches on commits that already exist in the
+repository.
+
+If a branch name does not start with `refs/` it is automatically
+prefixed with `refs/heads/`.
+
+The starting revision for a new branch can be any valid SHA-1
+expression, as long as it resolves to a commit. Abbreviated SHA-1s are
+not supported.
+
+### Branch Deletion
+
+There are several ways to delete a branch:
+
+  - in the Web UI under *Projects* \> *List* \> \<project\> \>
+    *Branches*
+
+  - via the [Delete Branch](rest-api-projects.html#delete-branch) REST
+    endpoint
+
+  - by using a git client to force push nothing to an existing branch
+    
+    ``` 
+      $ git push --force origin :refs/heads/<branch-to-delete>
+    ```
+
+To be able to delete branches, the user must have the
+[Push](access-control.html#category_push) access right with the `force`
+option. In addition, project owners and Gerrit administrators can delete
+branches from the Web UI or via REST even without having the `Force
+Push` access right.
+
+### Default Branch
+
+The default branch of a remote repository is defined by its `HEAD`. For
+convenience reasons, when the repository is cloned Git creates a local
+branch for this default branch and checks it out.
+
+Project owners can set `HEAD`
+
+  - in the Web UI under *Projects* \> *List* \> \<project\> \>
+    *Branches* or
+
+  - via the [Set HEAD](rest-api-projects.html#set-head) REST endpoint
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/prolog-change-facts.md b/jekyll-source/pages/gerrit/prolog-change-facts.md
new file mode 100644
index 0000000..43bb92e
--- /dev/null
+++ b/jekyll-source/pages/gerrit/prolog-change-facts.md
@@ -0,0 +1,181 @@
+---
+title: " Prolog Facts for Gerrit Changes"
+sidebar: gerritdoc_sidebar
+permalink: prolog-change-facts.html
+---
+Prior to invoking the `submit_rule(X)` query for a change, Gerrit
+initializes the Prolog engine with a set of facts (current data) about
+this change. The following table provides an overview of the provided
+facts.
+
+> **Important**
+> 
+> All the terms listed below are defined in the `gerrit` package. To use
+> any of them we must use a qualified name like
+> `gerrit:change_branch(X)`.
+
+<table>
+<caption>Prolog facts about the current change</caption>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Fact</th>
+<th>Example</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>change_branch/1</code></p></td>
+<td><p><code>change_branch('refs/heads/master').</code></p></td>
+<td><p>Destination Branch for the change as string atom</p></td>
+</tr>
+<tr class="even">
+<td><p><code>change_owner/1</code></p></td>
+<td><p><code>change_owner(user(1000000)).</code></p></td>
+<td><p>Owner of the change as <code>user(ID)</code> term. ID is the numeric account ID</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>change_project/1</code></p></td>
+<td><p><code>change_project('full/project/name').</code></p></td>
+<td><p>Name of the project as string atom</p></td>
+</tr>
+<tr class="even">
+<td><p><code>change_topic/1</code></p></td>
+<td><p><code>change_topic('plugins').</code></p></td>
+<td><p>Topic name as string atom</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit_author/1</code></p></td>
+<td><p><code>commit_author(user(100000)).</code></p></td>
+<td><p>Author of the commit as <code>user(ID)</code> term. ID is the numeric account ID</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_author/3</code></p></td>
+<td><p><code>commit_author(user(100000), 'John Doe', 'john.doe@example.com').</code></p></td>
+<td><p>ID, full name and the email of the commit author. The full name and the email are string atoms</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit_committer/1</code></p></td>
+<td><p><code>commit_committer()</code></p></td>
+<td><p>Committer of the commit as <code>user(ID)</code> term. ID is the numeric account ID</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_committer/3</code></p></td>
+<td><p><code>commit_committer()</code></p></td>
+<td><p>ID, full name and the email of the commit committer. The full name and the email are string atoms</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit_label/2</code></p></td>
+<td><p><code>commit_label(label('Code-Review', 2), user(1000000)).</code></p></td>
+<td><p>Set of votes on the last patch-set</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_label(label('Verified', -1), user(1000001)).</code></p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit_message/1</code></p></td>
+<td><p><code>commit_message('Fix bug X').</code></p></td>
+<td><p>Commit message as string atom</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_stats/3</code></p></td>
+<td><p><code>commit_stats(5,20,50).</code></p></td>
+<td><p>Number of files modified, number of insertions and the number of deletions.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>current_user/1</code></p></td>
+<td><p><code>current_user(user(1000000)).</code></p></td>
+<td><p>Current user as one of the four given possibilities</p></td>
+</tr>
+<tr class="even">
+<td><p><code>current_user(user(anonymous)).</code></p></td>
+</tr>
+<tr class="odd">
+<td><p><code>current_user(user(peer_daemon)).</code></p></td>
+</tr>
+<tr class="even">
+<td><p><code>current_user(user(replication)).</code></p></td>
+</tr>
+<tr class="odd">
+<td><p><code>pure_revert/1</code></p></td>
+<td><p><code>pure_revert(1).</code></p></td>
+<td><p><a href="rest-api-changes.html#get-pure-revert">Pure revert</a> as integer atom (1 if the change is a pure revert, 0 otherwise)</p></td>
+</tr>
+<tr class="even">
+<td><p><code>uploader/1</code></p></td>
+<td><p><code>uploader(user(1000000)).</code></p></td>
+<td><p>Uploader as <code>user(ID)</code> term. ID is the numeric account ID</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>unresolved_comments_count/1</code></p></td>
+<td><p><code>unresolved_comments_count(0).</code></p></td>
+<td><p>The number of unresolved comments as an integer atom</p></td>
+</tr>
+</tbody>
+</table>
+
+In addition Gerrit provides a set of built-in helper predicates that can
+be used when implementing the `submit_rule` predicate. The most common
+ones are listed in the following table.
+
+<table>
+<caption>Built-in Prolog helper predicates</caption>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Predicate</th>
+<th>Example usage</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>commit_delta/1</code></p></td>
+<td><p><code>commit_delta('\\.java$').</code></p></td>
+<td><p>True if any file name from the last patch set matches the given regex.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_delta/3</code></p></td>
+<td><p><code>commit_delta('\\.java$', T, P)</code></p></td>
+<td><p>Returns the change type (via <code>T</code>) and path (via <code>P</code>), if the change type is <code>rename</code>, it also returns the old path. If the change type is <code>rename</code>, it returns a delete for old path and an add for new path. If the change type is <code>copy</code>, an add is returned along with new path.</p>
+<p>Possible values for the change type are the following symbols: <code>add</code>, <code>modify</code>, <code>delete</code>, <code>rename</code>, <code>copy</code></p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit_delta/4</code></p></td>
+<td><p><code>commit_delta('\\.java$', T, P, O)</code></p></td>
+<td><p>Like <code>commit_delta/3</code> plus the old path (via <code>O</code>) if applicable.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_edits/2</code></p></td>
+<td><p><code>commit_edits('/pom.xml$', 'dependency')</code></p></td>
+<td><p>True if any of the files matched by the file name regex (first parameter) have edited lines that match the regex in the second parameter. This example will be true if there is a modification of a <code>pom.xml</code> file such that an edited line contains or contained the string <code>'dependency'</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit_message_matches/1</code></p></td>
+<td><p><code>commit_message_matches('^Bug fix')</code></p></td>
+<td><p>True if the commit message matches the given regex.</p></td>
+</tr>
+</tbody>
+</table>
+
+> **Note**
+> 
+> For a complete list of built-in helpers read the `gerrit_common.pl`
+> and all Java classes whose name matches `PRED_*.java` from Gerrit’s
+> source code.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/prolog-cookbook.md b/jekyll-source/pages/gerrit/prolog-cookbook.md
new file mode 100644
index 0000000..56f9ab6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/prolog-cookbook.md
@@ -0,0 +1,1261 @@
+---
+title: " Gerrit Code Review - Prolog Submit Rules Cookbook"
+sidebar: gerritdoc_sidebar
+permalink: prolog-cookbook.html
+---
+## Submit Rule
+
+A *Submit Rule* in Gerrit is logic that defines when a change is
+submittable. By default, a change is submittable when it gets at least
+one highest vote in each voting category and has no lowest vote (aka
+veto vote) in any category. Typically, this means that a change needs
+`Code-Review+2`, `Verified+1` and has neither `Code-Review-2` nor
+`Verified-1` to become submittable.
+
+While this rule is a good default, there are projects which need more
+flexibility for defining when a change is submittable. In Gerrit, it is
+possible to use Prolog based rules to provide project specific submit
+rules and replace the default submit rules. Using Prolog based rules,
+project owners can define a set of criteria which must be fulfilled for
+a change to become submittable. For a change that is not submittable,
+the set of needed criteria is displayed in the Gerrit UI.
+
+> **Note**
+> 
+> Loading and executing Prolog submit rules may be disabled by setting
+> `rules.enable=false` in the Gerrit config file (see [rules
+> section](config-gerrit.html#_a_id_rules_a_section_rules))
+
+[This discussion
+thread](https://groups.google.com/d/topic/repo-discuss/wJxTGhlHZMM/discussion)
+explains why Prolog was chosen for the purpose of writing project
+specific submit rules. [Gerrit 2.2.2
+ReleaseNotes](http://gerrit-documentation.googlecode.com/svn/ReleaseNotes/ReleaseNotes-2.2.2.html)
+introduces Prolog support in Gerrit.
+
+## Submit Type
+
+A *Submit Type* is a strategy that is used on submit to integrate the
+change into the destination branch. Supported submit types are:
+
+  - `Fast Forward Only`
+
+  - `Merge If Necessary`
+
+  - `Merge Always`
+
+  - `Cherry Pick`
+
+  - `Rebase If Necessary`
+
+*Submit Type* is a project global setting. This means that the same
+submit type is used for all changes of one project.
+
+Projects which need more flexibility in choosing, or enforcing, a submit
+type can use Prolog based submit type which replaces the project’s
+default submit type.
+
+Prolog based submit type computes a submit type for each change. The
+computed submit type is shown on the change screen for each change.
+
+When submitting changes in a batch using "Submit including ancestors" or
+"Submit whole topic", submit type rules may not be used to mix submit
+types on a single branch, and trying to submit such a batch will fail.
+This avoids potentially confusing behavior and spurious submit failures.
+It is recommended to only use submit type rules to change submit types
+for an entire branch, which avoids this situation.
+
+## Prolog Language
+
+This document is not a complete Prolog tutorial. [This Wikipedia page on
+Prolog](http://en.wikipedia.org/wiki/Prolog) is a good starting point
+for learning the Prolog language. This document will only explain some
+elements of Prolog that are necessary to understand the provided
+examples.
+
+## Prolog in Gerrit
+
+Gerrit uses its own [fork](https://gerrit.googlesource.com/prolog-cafe/)
+of the original
+[prolog-cafe](http://kaminari.istc.kobe-u.ac.jp/PrologCafe/) project.
+Gerrit embeds the prolog-cafe library and can interpret Prolog programs
+at runtime.
+
+## Interactive Prolog Cafe Shell
+
+For interactive testing and playing with Prolog, Gerrit provides the
+[prolog-shell](pgm-prolog-shell.html) program which opens an interactive
+Prolog interpreter shell.
+
+> **Note**
+> 
+> The interactive shell is just a prolog shell, it does not load a
+> gerrit server environment and thus is not intended for [testing submit
+> rules](#TestingSubmitRules) [section\_title](#TestingSubmitRules).
+
+## SWI-Prolog
+
+Instead of using the [prolog-shell](pgm-prolog-shell.html) program one
+can also use the [SWI-Prolog](http://www.swi-prolog.org/) environment.
+It provides a better shell interface and a graphical source-level
+debugger.
+
+## The rules.pl file
+
+This section explains how to create and edit project specific submit
+rules. How to actually write the submit rules is explained in the next
+section.
+
+Project specific submit rules are stored in the `rules.pl` file in the
+`refs/meta/config` branch of that project. Therefore, we need to fetch
+and checkout the `refs/meta/config` branch in order to create or edit
+the `rules.pl` file:
+
+``` 
+  $ git fetch origin refs/meta/config:config
+  $ git checkout config
+  ... edit or create the rules.pl file
+  $ git add rules.pl
+  $ git commit -m "My submit rules"
+  $ git push origin HEAD:refs/meta/config
+```
+
+## How to write submit rules
+
+Whenever Gerrit needs to evaluate submit rules for a change `C` from
+project `P` it will first initialize the embedded Prolog interpreter by:
+
+  - consulting a set of facts about the change `C`
+
+  - consulting the `rules.pl` from the project `P`
+
+Conceptually we can imagine that Gerrit adds a set of facts about the
+change `C` on top of the `rules.pl` file and then consults it. The set
+of facts about the change `C` will look like:
+
+``` 
+  :- package gerrit.                                                   
+
+  commit_author(user(1000000), 'John Doe', 'john.doe@example.com').    
+  commit_committer(user(1000000), 'John Doe', 'john.doe@example.com'). 
+  commit_message('Add plugin support to Gerrit').                      
+  ...
+```
+
+  - Gerrit will provide its facts in a package named `gerrit`. This
+    means we have to use qualified names when writing our code and
+    referencing these facts. For example: `gerrit:commit_author(ID, N,
+    M)`
+
+  - user ID, full name and email address of the commit author
+
+  - user ID, full name and email address of the commit committer
+
+  - commit message
+
+A complete set of facts which Gerrit provides about the change is listed
+in the [Prolog Facts for Gerrit Change](prolog-change-facts.html).
+
+By default, Gerrit will search for a `submit_rule/1` predicate in the
+`rules.pl` file, evaluate the `submit_rule(X)` and then inspect the
+value of `X` in order to decide whether the change is submittable or not
+and also to find the set of needed criteria for the change to become
+submittable. This means that Gerrit has an expectation on the format and
+value of the result of the `submit_rule` predicate which is expected to
+be a `submit` term of the following format:
+
+``` 
+  submit(label(label-name, status) [, label(label-name, status)]*)
+```
+
+where `label-name` is usually `'Code-Review'` or `'Verified'` but could
+also be any other string (see examples below). The `status` is one of:
+
+  - `ok(user(ID))`. This status is used to tell that this label/category
+    has been met.
+
+  - `need(_)` is used to tell that this label/category is needed for the
+    change to become submittable.
+
+  - `reject(user(ID))`. This status is used to tell that this
+    label/category is blocking submission of the change.
+
+  - `impossible(_)` is used when the logic knows that the change cannot
+    be submitted as-is. This is meant for cases where the logic requires
+    members of a specific group to apply a specific label on a change,
+    but no users are in that group. This is usually caused by
+    misconfiguration of permissions.
+
+  - `may(_)` allows expression of approval categories that are optional,
+    i.e. could either be set or unset without ever influencing whether
+    the change could be submitted.
+
+> **Note**
+> 
+> For a change to be submittable all `label` terms contained in the
+> returned `submit` term must have either `ok` or `may` status.
+
+> **Important**
+> 
+> Gerrit will let the Prolog engine continue searching for solutions of
+> the `submit_rule(X)` query until it finds the first one where all
+> labels in the return result have either status `ok` or `may` or there
+> are no more solutions. If a solution where all labels have status `ok`
+> is found then all previously found solutions are ignored. Otherwise,
+> all labels names with status `need` from all solutions will be
+> displayed in the UI indicating the set of conditions needed for the
+> change to become submittable.
+
+Here some examples of possible return values from the `submit_rule`
+predicate:
+
+``` 
+  submit(label('Code-Review', ok(user(ID))))                        
+  submit(label('Code-Review', ok(user(ID))),
+      label('Verified', reject(user(ID))))                          
+  submit(label('Author-is-John-Doe', need(_))                       
+```
+
+  - label `'Code-Review'` is met. As there are no other labels in the
+    return result, the change is submittable.
+
+  - label `'Verified'` is rejected. Change is not submittable.
+
+  - label `'Author-is-John-Doe'` is needed for the change to become
+    submittable. Note that this tells nothing about how this criteria
+    will be met. It is up to the implementer of the `submit_rule` to
+    return `label('Author-is-John-Doe', ok(user(ID)))` when this
+    criteria is met. Most likely, it will have to match against
+    `gerrit:commit_author` in order to check if this criteria is met.
+    This will become clear through the examples below.
+
+Of course, when implementing the `submit_rule` we will use the facts
+about the change that are already provided by Gerrit.
+
+Another aspect of the return result from the `submit_rule` predicate is
+that Gerrit uses it to decide which set of labels to display on the
+change review screen for voting. If the return result contains label
+`'ABC'` and if the label `'ABC'` is [defined for the
+project](config-labels.html) then voting for the label `'ABC'` will be
+displayed. Otherwise, it is not displayed. Note that the project doesn’t
+need a defined label for each label contained in the result of
+`submit_rule` predicate. For example, the decision whether
+`'Author-is-John-Doe'` label is met will probably not be made by
+explicit voting but, instead, by inspecting the facts about the change.
+
+## Submit Filter
+
+Another mechanism of changing the default submit rules is to implement
+the `submit_filter/2` predicate. While Gerrit will search for the
+`submit_rule` only in the `rules.pl` file of the current project, the
+`submit_filter` will be searched for in the `rules.pl` of all parent
+projects of the current project, but not in the `rules.pl` of the
+current project. The search will start from the immediate parent of the
+current project, then in the parent project of that project and so on
+until, and including, the `'All-Projects'` project.
+
+The purpose of the submit filter is, as its name says, to filter the
+results of the `submit_rule`. Therefore, the `submit_filter` predicate
+has two parameters:
+
+``` 
+  submit_filter(In, Out) :- ...
+```
+
+Gerrit will invoke `submit_filter` with the `In` parameter containing a
+`submit` structure produced by the `submit_rule` and will take the value
+of the `Out` parameter as the result.
+
+The `Out` value of a `submit_filter` will become the `In` value for the
+next `submit_filter` in the parent line. The value of the `Out`
+parameter of the top-most `submit_filter` is the final result of the
+submit rule that is used to decide whether a change is submittable or
+not.
+
+> **Important**
+> 
+> `submit_filter` is a mechanism for Gerrit administrators to implement
+> and enforce submit rules that would apply to all projects while
+> `submit_rule` is a mechanism for project owners to implement project
+> specific submit rules. However, project owners who own several
+> projects could also make use of `submit_filter` by using a common
+> parent project for all their projects and implementing the
+> `submit_filter` in this common parent project. This way they can avoid
+> implementing the same `submit_rule` in all their projects.
+
+The following "drawing" illustrates the order of the invocation and the
+chaining of the results of the `submit_rule` and `submit_filter`
+predicates.
+
+``` 
+  All-Projects
+  ^   submit_filter(B, S) :- ...  
+  |
+  Parent-3
+  ^   <no submit filter here>
+  |
+  Parent-2
+  ^   submit_filter(A, B) :- ...  
+  |
+  Parent-1
+  ^   submit_filter(X, A) :- ...  
+  |
+  MyProject
+      submit_rule(X) :- ...       
+```
+
+  - The `submit_rule` of `MyProject` is invoked first.
+
+  - The result `X` is filtered through the `submit_filter` from the
+    `Parent-1` project.
+
+  - The result of `submit_filter` from `Parent-1` project is filtered by
+    the `submit_filter` in the `Parent-2` project. Since `Parent-3`
+    project doesn’t have a `submit_filter` it is skipped.
+
+  - The result of `submit_filter` from `Parent-2` project is filtered by
+    the `submit_filter` in the `All-Projects` project. The value in `S`
+    is the final value of the submit rule evaluation.
+
+> **Note**
+> 
+> If `MyProject` doesn’t define its own `submit_rule` Gerrit will invoke
+> the default implementation of submit rule that is named
+> `gerrit:default_submit` and its result will be filtered as described
+> above.
+
+## How to write submit type
+
+Writing custom submit type logic in Prolog is similar to [writing submit
+rules](#HowToWriteSubmitRules) [section\_title](#HowToWriteSubmitRules).
+The only difference is that one has to implement a `submit_type`
+predicate (instead of the `submit_rule`) and that the return result of
+the `submit_type` has to be an atom that represents one of the supported
+submit types:
+
+  - `fast_forward_only`
+
+  - `merge_if_necessary`
+
+  - `merge_always`
+
+  - `cherry_pick`
+
+  - `rebase_if_necessary`
+
+## Submit Type Filter
+
+Submit type filter works the same way as the [Submit
+Filter](#SubmitFilter) [section\_title](#SubmitFilter) where the name of
+the filter predicate is `submit_type_filter`.
+
+``` 
+  submit_type_filter(In, Out).
+```
+
+Gerrit will invoke `submit_type_filter` with the `In` parameter
+containing a result of the `submit_type` and will take the value of the
+`Out` parameter as the result.
+
+## Testing submit rules
+
+The prolog environment running the `submit_rule` is loaded with state
+describing the change that is being evaluated. The easiest way to load
+this state is to test your `submit_rule` against a real change on a
+running gerrit instance. The command [test-submit
+rule](cmd-test-submit-rule.html) loads a specific change and executes
+the `submit_rule`. It optionally reads the rule from from `stdin` to
+facilitate easy
+testing.
+
+``` 
+  $ cat rules.pl | ssh gerrit_srv gerrit test-submit rule I45e080b105a50a625cc8e1fb5b357c0bfabe6d68 -s
+```
+
+## Prolog vs Gerrit plugin for project specific submit rules
+
+Since version 2.5 Gerrit supports plugins and extension points. A plugin
+or an extension point could also be used as another means to provide
+custom submit rules. One could ask for a guideline when to use Prolog
+based submit rules and when to go for writing a new plugin. Writing a
+Prolog program is usually much faster than writing a Gerrit plugin.
+Prolog based submit rules can be pushed to a project by project owners
+while Gerrit plugins could only be installed by Gerrit administrators.
+In addition, Prolog based submit rules can be pushed for review by
+pushing to `refs/for/refs/meta/config` branch.
+
+On the other hand, Prolog based submit rules get a limited amount of
+facts about the change exposed to them. Gerrit plugins get full access
+to Gerrit internals and can potentially check more things than Prolog
+based rules.
+
+From version 2.6 Gerrit plugins can contribute Prolog predicates. This
+way, we can make use of the plugin provided predicates when writing
+Prolog based rules.
+
+## Examples - Submit Rule
+
+The following examples should serve as a cookbook for developing own
+submit rules. Some of them are too trivial to be used in production and
+their only purpose is to provide step by step introduction and
+understanding.
+
+Some of the examples will implement the `submit_rule` and some will
+implement the `submit_filter` just to show both possibilities. Remember
+that `submit_rule` is only invoked from the current project and
+`submit_filter` is invoked from all parent projects. This is the most
+important fact in deciding whether to implement `submit_rule` or
+`submit_filter`.
+
+### Example 1: Make every change submittable
+
+Let’s start with a most trivial example where we would make every change
+submittable regardless of the votes it has:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(W)) :-
+    W = label('Any-Label-Name', ok(user(1000000))).
+```
+
+In this case we make no use of facts about the change. We don’t need it
+as we are simply making every change submittable. Note that, in this
+case, the Gerrit UI will not show the UI for voting for the standard
+`'Code-Review'` and `'Verified'` categories as labels with these names
+are not part of the return result. The `'Any-Label-Name'` could really
+be any string.
+
+The `user(1000000)` represents the user whose account ID is `1000000`.
+
+> **Note**
+> 
+> Instead of the account ID `1000000` we could have used any other
+> account ID. The following examples will use `user(ID)` instead of
+> `user(1000000)` because it is easier to read and doesn’t suggest that
+> there is anything special with the account ID
+`1000000`.
+
+### Example 2: Every change submittable and voting in the standard categories possible
+
+This is continuation of the previous example where, in addition, to
+making every change submittable we want to enable voting in the standard
+`'Code-Review'` and `'Verified'` categories.
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR, V)) :-
+    CR = label('Code-Review', ok(user(ID))),
+    V = label('Verified', ok(user(ID))).
+```
+
+Since for every change all label statuses are `'ok'` every change will
+be submittable. Voting in the standard labels will be shown in the UI as
+the standard label names are included in the return result.
+
+### Example 3: Nothing is submittable
+
+This example shows how to make all changes non-submittable regardless of
+the votes they have.
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(R)) :-
+    R = label('Any-Label-Name', reject(user(ID))).
+```
+
+Since for any change we return only one label with status `reject`, no
+change will be submittable. The UI will, however, not indicate what is
+needed for a change to become submittable as we return no labels with
+status
+`need`.
+
+### Example 4: Nothing is submittable but UI shows several *Need …* criteria
+
+In this example no change is submittable but here we show how to present
+*Need \<label\>* information to the user in the UI.
+
+`rules.pl`
+
+``` prolog
+% In the UI this will show: Need Any-Label-Name
+submit_rule(submit(N)) :-
+    N = label('Any-Label-Name', need(_)).
+
+% We could define more "need" labels by adding more rules
+submit_rule(submit(N)) :-
+    N = label('Another-Label-Name', need(_)).
+
+% or by providing more than one need label in the same rule
+submit_rule(submit(NX, NY)) :-
+    NX = label('X-Label-Name', need(_)),
+    NY = label('Y-Label-Name', need(_)).
+```
+
+In the UI this will show:
+
+  - `Need Any-Label-Name`
+
+  - `Need Another-Label-Name`
+
+  - `Need X-Label-Name`
+
+  - `Need Y-Label-Name`
+
+From the example above we can see a few more things:
+
+  - comment in Prolog starts with the `%` character
+
+  - there could be multiple `submit_rule` predicates. Since Prolog, by
+    default, tries to find all solutions for a query, the result will be
+    union of all solutions. Therefore, we see all 4 `need` labels in the
+    UI.
+
+### Example 5: The *Need …* labels not shown when change is submittable
+
+This example shows that, when there is a solution for `submit_rule(X)`
+where all labels have status `ok` then Gerrit will not show any labels
+with the `need` status from any of the previous `submit_rule(X)`
+solutions.
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(N)) :-
+    N = label('Some-Condition', need(_)).
+
+submit_rule(submit(OK)) :-
+    OK = label('Another-Condition', ok(user(ID))).
+```
+
+The `'Need Some-Condition'` will not be shown in the UI because of the
+result of the second rule.
+
+The same is valid if the two rules are swapped:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(OK)) :-
+    OK = label('Another-Condition', ok(user(ID))).
+
+submit_rule(submit(N)) :-
+    N = label('Some-Condition', need(_)).
+```
+
+The result of the first rule will stop search for any further solutions.
+
+### Example 6: Make change submittable if commit author is "John Doe"
+
+This is the first example where we will use the Prolog facts about a
+change that are automatically exposed by Gerrit. Our goal is to make any
+change submittable when the commit author is named `'John Doe'`. In the
+very first step let’s make sure Gerrit UI shows `'Need
+Author-is-John-Doe'` in the UI to clearly indicate to the user what is
+needed for a change to become submittable:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Author)) :-
+    Author = label('Author-is-John-Doe', need(_)).
+```
+
+This will show:
+
+  - `Need Author-is-John-Doe`
+
+in the UI but no change will be submittable yet. Let’s add another rule:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Author)) :-
+    Author = label('Author-is-John-Doe', need(_)).
+
+submit_rule(submit(Author)) :-
+    gerrit:commit_author(A, 'John Doe', _),
+    Author = label('Author-is-John-Doe', ok(A)).
+```
+
+In the second rule we return `ok` status for the `'Author-is-John-Doe'`
+label if there is a `commit_author` fact where the full name is `'John
+Doe'`. If author of a change is `'John Doe'` then the second rule will
+return a solution where all labels have `ok` status and the change will
+become submittable. If author of a change is not `'John Doe'` then only
+the first rule will produce a solution. The UI will show `'Need
+Author-is-John-Doe'` but, as expected, the change will not be
+submittable.
+
+Instead of checking by full name we could also check by the email
+address:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Author)) :-
+    Author = label('Author-is-John-Doe', need(_)).
+
+submit_rule(submit(Author)) :-
+    gerrit:commit_author(A, _, 'john.doe@example.com'),
+    Author = label('Author-is-John-Doe', ok(A)).
+```
+
+or by user id (assuming it is `1000000`):
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Author)) :-
+    Author = label('Author-is-John-Doe', need(_)).
+
+submit_rule(submit(Author)) :-
+    U = user(1000000),
+    gerrit:commit_author(U, _, _),
+    Author = label('Author-is-John-Doe', ok(U)).
+```
+
+or by a combination of these 3 attributes:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Author)) :-
+    Author = label('Author-is-John-Doe', need(_)).
+
+submit_rule(submit(Author)) :-
+    gerrit:commit_author(A, 'John Doe', 'john.doe@example.com'),
+    Author = label('Author-is-John-Doe', ok(A)).
+```
+
+### Example 7: Make change submittable if commit message starts with "Fix "
+
+Besides showing how to make use of the commit message text the purpose
+of this example is also to show how to match only a part of a string
+symbol. Similarly like commit author the commit message is provided as a
+string symbol which is an atom in Prolog terms. When working with an
+atom we could only match against the whole value. To match only part of
+a string symbol we have, at least, two options:
+
+  - convert the string symbol into a list of characters and then perform
+    the "classical" list matching
+
+  - use the `regex_matches/2` or, even more convenient, the
+    `gerrit:commit_message_matches/1` predicate
+
+Let’s implement both options:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Fix)) :-
+    Fix = label('Commit-Message-starts-with-Fix', need(_)).
+
+submit_rule(submit(Fix)) :-
+    gerrit:commit_message(M), name(M, L), starts_with(L, "Fix "),
+    gerrit:commit_author(A),
+    Fix = label('Commit-Message-starts-with-Fix', ok(A)).
+
+starts_with(L, []).
+starts_with([H|T1], [H|T2]) :- starts_with(T1, T2).
+```
+
+> **Note**
+> 
+> The `name/2` embedded predicate is used to convert a string symbol
+> into a list of characters. A string `abc` is converted into a list of
+> characters `[97,
+> 98, 99]`. A double quoted string in Prolog is just a shortcut for
+> creating a list of characters. `"abc"` is a shortcut for
+> `[97, 98, 99]`. This is why we use double quotes for the `"Trivial
+> Fix"` in the example above.
+
+The `starts_with` predicate is self explaining.
+
+Using the `gerrit:commit_message_matches` predicate is probably more
+efficient:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Fix)) :-
+    Fix = label('Commit-Message-starts-with-Fix', need(_)).
+
+submit_rule(submit(Fix)) :-
+    gerrit:commit_message_matches('^Fix '),
+    gerrit:commit_author(A),
+    Fix = label('Commit-Message-starts-with-Fix', ok(A)).
+```
+
+The previous example could also be written so that it first checks if
+the commit message starts with 'Fix '. If true then it sets OK for that
+category and stops further backtracking by using the cut `!` operator:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(Fix)) :-
+    gerrit:commit_message_matches('^Fix '),
+    gerrit:commit_author(A),
+    Fix = label('Commit-Message-starts-with-Fix', ok(A)),
+    !.
+
+% Message does not start with 'Fix ' so Fix is needed to submit
+submit_rule(submit(Fix)) :-
+    Fix = label('Commit-Message-starts-with-Fix', need(_)).
+```
+
+## The default submit policy
+
+All examples until now concentrate on one particular aspect of change
+data. However, in real-life scenarios we would rather want to reuse
+Gerrit’s default submit policy and extend/change it for our specific
+purpose. This could be done in one of the following ways:
+
+  - understand how the default submit policy is implemented and use that
+    as a template for implementing custom submit rules,
+
+  - invoke the default submit rule implementation and then perform
+    further actions on its return result.
+
+### Default submit rule implementation
+
+The default submit rule with the two default categories, `Code-Review`
+and `Verified`, can be implemented as:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(V, CR)) :-
+    gerrit:max_with_block(-2, 2, 'Code-Review', CR),
+    gerrit:max_with_block(-1, 1, 'Verified', V).
+```
+
+Once this implementation is understood it can be customized to implement
+project specific submit rules. Note, that this implementation hardcodes
+the two default categories. Introducing a new category in the database
+would require introducing the same category here or a `submit_filter` in
+a parent project would have to care about including the new category in
+the result of this `submit_rule`. On the other side, this example is
+easy to read and understand.
+
+### Reusing the default submit policy
+
+To get results of Gerrit’s default submit policy we use the
+`gerrit:default_submit` predicate. The `gerrit:default_submit(X)`
+includes all categories from the database. This means that if we write a
+submit rule like this:
+
+`rules.pl`
+
+``` prolog
+submit_rule(X) :- gerrit:default_submit(X).
+```
+
+it is equivalent to not using `rules.pl` at all. We just delegate to
+default logic. However, once we invoke the `gerrit:default_submit(X)` we
+can perform further actions on the return result `X` and apply our
+specific logic. The following pattern illustrates this
+technique:
+
+`rules.pl`
+
+``` prolog
+submit_rule(S) :- gerrit:default_submit(R), project_specific_policy(R, S).
+
+project_specific_policy(R, S) :- ...
+```
+
+In the following examples both styles will be
+shown.
+
+### Example 8: Make change submittable only if `Code-Review+2` is given by a non author
+
+In this example we introduce a new label `Non-Author-Code-Review` and
+make it satisfied if there is at least one `Code-Review+2` from a non
+author. All other default policies like the `Verified` category and
+vetoing changes still apply.
+
+#### Reusing the `gerrit:default_submit`
+
+First, we invoke `gerrit:default_submit` to compute the result for the
+default submit policy and then add the `Non-Author-Code-Review` label to
+it. The `Non-Author-Code-Review` label is added with status `ok` if such
+an approval exists or with status `need` if it doesn’t exist.
+
+`rules.pl`
+
+``` prolog
+submit_rule(S) :-
+    gerrit:default_submit(X),
+    X =.. [submit | Ls],
+    add_non_author_approval(Ls, R),
+    S =.. [submit | R].
+
+add_non_author_approval(S1, S2) :-
+    gerrit:commit_author(A),
+    gerrit:commit_label(label('Code-Review', 2), R),
+    R \= A, !,
+    S2 = [label('Non-Author-Code-Review', ok(R)) | S1].
+add_non_author_approval(S1, [label('Non-Author-Code-Review', need(_)) | S1]).
+```
+
+This example uses the `univ` operator `=..` to "unpack" the result of
+the default\_submit, which is a structure of the form
+`submit(label('Code-Review',
+ok(user(ID))), label('Verified', need(_)), ...)` into a list like
+`[submit,
+label('Code-Review', ok(user(ID))), label('Verified', need(_)), ...]`.
+Then we process the tail of the list (the list of labels) as a Prolog
+list, which is much easier than processing a structure. In the end we
+use the same `univ` operator to convert the resulting list of labels
+back into a `submit` structure which is expected as a return result. The
+`univ` operator works both ways.
+
+In `add_non_author_approval` we use the `cut` operator `!` to prevent
+Prolog from searching for more solutions once the `cut` point is
+reached. This is important because in the second
+`add_non_author_approval` rule we just add the
+`label('Non-Author-Code-Review', need(_))` without first checking that
+there is no non author `Code-Review+2`. The second rule will only be
+reached if the `cut` in the first rule is not reached and it only
+happens if a predicate before the `cut` fails.
+
+#### Don’t use `gerrit:default_submit`
+
+Let’s implement the same submit rule the other way, without reusing the
+`gerrit:default_submit`:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR, V)) :-
+    base(CR, V),
+    CR = label(_, ok(Reviewer)),
+    gerrit:commit_author(Author),
+    Author \= Reviewer,
+    !.
+
+submit_rule(submit(CR, V, N)) :-
+    base(CR, V),
+    N = label('Non-Author-Code-Review', need(_)).
+
+base(CR, V) :-
+    gerrit:max_with_block(-2, 2, 'Code-Review', CR),
+    gerrit:max_with_block(-1, 1, 'Verified', V).
+```
+
+The latter implementation is probably easier to understand and the code
+looks cleaner. Note, however, that the latter implementation will always
+return the two standard categories only (`Code-Review` and `Verified`)
+even if a new category has been inserted into the database. To include
+the new category the `rules.pl` would need to be modified or a
+`submit_filter` in a parent project would have to care about including
+the new category in the result of this `submit_rule`.
+
+The former example, however, would include any newly added category as
+it invokes the `gerrit:default_submit` and then modifies its result.
+
+Which of these two behaviors is desired will always depend on how a
+particular Gerrit server is managed.
+
+### Example 9: Remove the `Verified` category
+
+A project has no build and test. It consists of only text files and
+needs only code review. We want to remove the `Verified` category from
+this project so that `Code-Review+2` is the only criteria for a change
+to become submittable. We also want the UI to not show the `Verified`
+category in the table with votes and on the voting screen.
+
+This is quite simple without reusing the `gerrit:default_submit`:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR)) :-
+    gerrit:max_with_block(-2, 2, 'Code-Review', CR).
+```
+
+Implementing the same rule by reusing `gerrit:default_submit` is a bit
+more complex:
+
+`rules.pl`
+
+``` prolog
+submit_rule(S) :-
+    gerrit:default_submit(X),
+    X =.. [submit | Ls],
+    remove_verified_category(Ls, R),
+    S =.. [submit | R].
+
+remove_verified_category([], []).
+remove_verified_category([label('Verified', _) | T], R) :- remove_verified_category(T, R), !.
+remove_verified_category([H|T], [H|R]) :- remove_verified_category(T, R).
+```
+
+### Example 10: Combine examples 8 and 9
+
+In this example we want to both remove the verified and have the four
+eyes principle. This means we want a combination of examples 7 and 8.
+
+`rules.pl`
+
+``` prolog
+submit_rule(S) :-
+    gerrit:default_submit(X),
+    X =.. [submit | Ls],
+    remove_verified_category(Ls, R1),
+    add_non_author_approval(R1, R),
+    S =.. [submit | R].
+```
+
+The `remove_verified_category` and `add_non_author_approval` predicates
+are the same as defined in the previous two examples.
+
+Without reusing the `gerrit:default_submit` the same example may be
+implemented as:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR)) :-
+    base(CR),
+    CR = label(_, ok(Reviewer)),
+    gerrit:commit_author(Author),
+    Author \= Reviewer,
+    !.
+
+submit_rule(submit(CR, N)) :-
+    base(CR),
+    N = label('Non-Author-Code-Review', need(_)).
+
+base(CR) :-
+    gerrit:max_with_block(-2, 2, 'Code-Review', CR).
+```
+
+### Example 11: Remove the `Verified` category from all projects
+
+Example 9, implements `submit_rule` that removes the `Verified` category
+from one project. In this example we do the same but we want to remove
+the `Verified` category from all projects. This means we have to
+implement `submit_filter` and we have to do that in the `rules.pl` of
+the `All-Projects` project.
+
+`rules.pl`
+
+``` prolog
+submit_filter(In, Out) :-
+    In =.. [submit | Ls],
+    remove_verified_category(Ls, R),
+    Out =.. [submit | R].
+
+remove_verified_category([], []).
+remove_verified_category([label('Verified', _) | T], R) :- remove_verified_category(T, R), !.
+remove_verified_category([H|T], [H|R]) :- remove_verified_category(T, R).
+```
+
+### Example 12: On release branches require DrNo in addition to project rules
+
+A new category *DrNo* is added to the database and is required for
+release branches. To mark a branch as a release branch we use
+`drno('refs/heads/branch')`.
+
+`rules.pl`
+
+``` prolog
+drno('refs/heads/master').
+drno('refs/heads/stable-2.3').
+drno('refs/heads/stable-2.4').
+drno('refs/heads/stable-2.5').
+drno('refs/heads/stable-2.5').
+
+submit_filter(In, Out) :-
+    gerrit:change_branch(Branch),
+    drno(Branch),
+    !,
+    In =.. [submit | I],
+    gerrit:max_with_block(-1, 1, 'DrNo', DrNo),
+    Out =.. [submit, DrNo | I].
+
+submit_filter(In, Out) :- In = Out.
+```
+
+### Example 13: 1+1=2 Code-Review
+
+In this example we introduce accumulative voting to determine if a
+change is submittable or not. We modify the standard `Code-Review` to be
+accumulative, and make the change submittable if the total score is `2`
+or higher.
+
+The code in this example is very similar to Example 8, with the addition
+of `findall/3` and `gerrit:remove_label`.
+
+The `findall/3` embedded predicate is used to form a list of all objects
+that satisfy a specified Goal. In this example it is used to get a list
+of all the `Code-Review` scores. `gerrit:remove_label` is a built-in
+helper that is implemented similarly to the `remove_verified_category`
+as seen in the previous example.
+
+`rules.pl`
+
+``` prolog
+sum_list([], 0).
+sum_list([H | Rest], Sum) :- sum_list(Rest,Tmp), Sum is H + Tmp.
+
+add_category_min_score(In, Category, Min,  P) :-
+    findall(X, gerrit:commit_label(label(Category,X),R),Z),
+    sum_list(Z, Sum),
+    Sum >= Min, !,
+    P = [label(Category,ok(R)) | In].
+
+add_category_min_score(In, Category,Min,P) :-
+    P = [label(Category,need(Min)) | In].
+
+submit_rule(S) :-
+    gerrit:default_submit(X),
+    X =.. [submit | Ls],
+    gerrit:remove_label(Ls,label('Code-Review',_),NoCR),
+    add_category_min_score(NoCR,'Code-Review', 2, Labels),
+    S =.. [submit | Labels].
+```
+
+Implementing the same example without using `gerrit:default_submit`:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR, V)) :-
+    sum(2, 'Code-Review', CR),
+    gerrit:max_with_block(-1, 1, 'Verified', V).
+
+% Sum the votes in a category. Uses a helper function score/2
+% to select out only the score values the given category.
+sum(VotesNeeded, Category, label(Category, ok(_))) :-
+    findall(Score, score(Category, Score), All),
+    sum_list(All, Sum),
+    Sum >= VotesNeeded,
+    !.
+sum(VotesNeeded, Category, label(Category, need(VotesNeeded))).
+
+score(Category, Score) :-
+    gerrit:commit_label(label(Category, Score), User).
+
+% Simple Prolog routine to sum a list of integers.
+sum_list(List, Sum)   :- sum_list(List, 0, Sum).
+sum_list([X|T], Y, S) :- Z is X + Y, sum_list(T, Z, S).
+sum_list([], S, S).
+```
+
+### Example 14: Master and apprentice
+
+The master and apprentice example allow you to specify a user (the
+`master`) that must approve all changes done by another user (the
+`apprentice`).
+
+The code first checks if the commit author is in the apprentice
+database. If the commit is done by an `apprentice`, it will check if
+there is a `+2` review by the associated `master`.
+
+`rules.pl`
+
+``` prolog
+% master_apprentice(Master, Apprentice).
+% Extend this with appropriate user-id for your master/apprentice setup.
+master_apprentice(user(1000064), user(1000000)).
+
+submit_rule(S) :-
+    gerrit:default_submit(In),
+    In =.. [submit | Ls],
+    add_apprentice_master(Ls, R),
+    S =.. [submit | R].
+
+check_master_approval(S1, S2, Master) :-
+    gerrit:commit_label(label('Code-Review', 2), R),
+    R = Master, !,
+    S2 = [label('Master-Approval', ok(R)) | S1].
+check_master_approval(S1, [label('Master-Approval', need(_)) | S1], _).
+
+add_apprentice_master(S1, S2) :-
+    gerrit:commit_author(Id),
+    master_apprentice(Master, Id),
+    !,
+    check_master_approval(S1, S2, Master).
+
+add_apprentice_master(S, S).
+```
+
+### Example 15: Only allow Author to submit change
+
+This example adds a new needed category `Only-Author-Can-Submit` for any
+user that is not the author of the patch. This effectively blocks all
+users except the author from submitting the change. This could result in
+an impossible situation if the author does not have permissions for
+submitting the change.
+
+`rules.pl`
+
+``` prolog
+submit_rule(S) :-
+    gerrit:default_submit(In),
+    In =.. [submit | Ls],
+    only_allow_author_to_submit(Ls, R),
+    S =.. [submit | R].
+
+only_allow_author_to_submit(S, S) :-
+    gerrit:commit_author(Id),
+    gerrit:current_user(Id),
+    !.
+
+only_allow_author_to_submit(S1, [label('Only-Author-Can-Submit', need(_)) | S1]).
+```
+
+### Example 16: Make change submittable if all comments have been resolved
+
+In this example we will use the `unresolved_comments_count` fact about a
+change. Our goal is to block the submission of any change with some
+unresolved comments. Basically, it can be achieved by the following
+rules:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(R)) :-
+    gerrit:unresolved_comments_count(0),
+    !,
+    gerrit:commit_author(A),
+    R = label('All-Comments-Resolved', ok(A)).
+
+submit_rule(submit(R)) :-
+    gerrit:unresolved_comments_count(U),
+    U > 0,
+    R = label('All-Comments-Resolved', need(_)).
+```
+
+Suppose currently a change is submittable if it gets `+2` for
+`Code-Review` and `+1` for `Verified`. It can be extended to support the
+above rules as follows:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR, V, R)) :-
+    base(CR, V),
+    gerrit:unresolved_comments_count(0),
+    !,
+    gerrit:commit_author(A),
+    R = label('All-Comments-Resolved', ok(A)).
+
+submit_rule(submit(CR, V, R)) :-
+    base(CR, V),
+    gerrit:unresolved_comments_count(U),
+    U > 0,
+    R = label('All-Comments-Resolved', need(_)).
+
+base(CR, V) :-
+    gerrit:max_with_block(-2, 2, 'Code-Review', CR),
+    gerrit:max_with_block(-1, 1, 'Verified', V).
+```
+
+Note that a new label as `All-Comments-Resolved` should not be
+configured. It’s only used to show `'Needs All-Comments-Resolved'` in
+the UI to clearly indicate to the user that all the comments have to be
+resolved for the change to become submittable.
+
+### Example 17: Make change submittable if it is a pure revert
+
+In this example we will use the `pure_revert` fact about a change. Our
+goal is to block the submission of any change that is not a pure revert.
+Basically, it can be achieved by the following rules:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(R)) :-
+    gerrit:pure_revert(1),
+    !,
+    gerrit:commit_author(A),
+    R = label('Is-Pure-Revert', ok(A)).
+
+submit_rule(submit(R)) :-
+    gerrit:pure_revert(U),
+    U /= 1,
+    R = label('Is-Pure-Revert', need(_)).
+```
+
+Suppose currently a change is submittable if it gets `+2` for
+`Code-Review` and `+1` for `Verified`. It can be extended to support the
+above rules as follows:
+
+`rules.pl`
+
+``` prolog
+submit_rule(submit(CR, V, R)) :-
+    base(CR, V),
+    gerrit:pure_revert(1),
+    !,
+    gerrit:commit_author(A),
+    R = label('Is-Pure-Revert', ok(A)).
+
+submit_rule(submit(CR, V, R)) :-
+    base(CR, V),
+    gerrit:pure_revert(U),
+    U /= 1,
+    R = label('Is-Pure-Revert', need(_)).
+
+base(CR, V) :-
+    gerrit:max_with_block(-2, 2, 'Code-Review', CR),
+    gerrit:max_with_block(-1, 1, 'Verified', V).
+```
+
+Note that a new label as `Is-Pure-Revert` should not be configured. It’s
+only used to show `'Needs Is-Pure-Revert'` in the UI to clearly indicate
+to the user that the change has to be a pure revert in order to become
+submittable.
+
+## Examples - Submit Type
+
+The following examples show how to implement own submit type rules.
+
+### Example 1: Set a `Cherry Pick` submit type for all changes
+
+This example sets the `Cherry Pick` submit type for all changes. It
+overrides whatever is set as project default submit
+type.
+
+rules.pl
+
+``` prolog
+submit_type(cherry_pick).
+```
+
+### Example 2: `Fast Forward Only` for all `+refs/heads/stable*+` branches
+
+For all `+refs/heads/stable*+` branches we would like to enforce the
+`Fast
+Forward Only` submit type. A reason for this decision may be a need to
+never break the build in the stable branches. For all other branches,
+those not matching the `+refs/heads/stable*+` pattern, we would like to
+use the project’s default submit type as defined on the project settings
+page.
+
+`rules.pl`
+
+``` prolog
+submit_type(fast_forward_only) :-
+    gerrit:change_branch(B), regex_matches('refs/heads/stable.*', B),
+    !.
+submit_type(T) :- gerrit:project_default_submit_type(T).
+```
+
+The first `submit_type` predicate defines the `Fast Forward Only` submit
+type for `+refs/heads/stable.*+` branches. The second `submit_type`
+predicate returns the project’s default submit type.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-access.md b/jekyll-source/pages/gerrit/rest-api-access.md
new file mode 100644
index 0000000..3102058
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-access.md
@@ -0,0 +1,499 @@
+---
+title: " Gerrit Code Review - /access/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-access.html
+---
+This page describes the access rights related REST endpoints. Please
+also take note of the general information on the [REST
+API](rest-api.html).
+
+## Access Rights Endpoints
+
+### List Access Rights
+
+*GET
+/access/?project=[{project-name}](rest-api-projects.html#project-name)*
+
+Lists the access rights for projects. The projects for which the access
+rights should be returned must be specified as `project` options. The
+`project` can be specified multiple times.
+
+As result a map is returned that maps the project name to
+[ProjectAccessInfo](#project-access-info) entities.
+
+The entries in the map are sorted by project name.
+
+**Request.**
+
+``` 
+  GET /access/?project=MyProject&project=All-Projects HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "All-Projects": {
+      "revision": "edd453d18e08640e67a8c9a150cec998ed0ac9aa",
+      "local": {
+        "GLOBAL_CAPABILITIES": {
+          "permissions": {
+            "priority": {
+              "rules": {
+                "15bfcd8a6de1a69c50b30cedcdcc951c15703152": {
+                  "action": "BATCH"
+                }
+              }
+            },
+            "streamEvents": {
+              "rules": {
+                "15bfcd8a6de1a69c50b30cedcdcc951c15703152": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "administrateServer": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                }
+              }
+            }
+          }
+        },
+        "refs/meta/config": {
+          "permissions": {
+            "submit": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "label-Code-Review": {
+              "label": "Code-Review",
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW",
+                  "min": -2,
+                  "max": 2
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW",
+                  "min": -2,
+                  "max": 2
+                }
+              }
+            },
+            "read": {
+              "exclusive": true,
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "push": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            }
+          }
+        },
+        "refs/for/refs/*": {
+          "permissions": {
+            "pushMerge": {
+              "rules": {
+                "global:Registered-Users": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "push": {
+              "rules": {
+                "global:Registered-Users": {
+                  "action": "ALLOW"
+                }
+              }
+            }
+          }
+        },
+        "refs/tags/*": {
+          "permissions": {
+            "createSignedTag": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "createTag": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            }
+          }
+        },
+        "refs/heads/*": {
+          "permissions": {
+            "forgeCommitter": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "forgeAuthor": {
+              "rules": {
+                "global:Registered-Users": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "submit": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "editTopicName": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW",
+                  "force": true
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW",
+                  "force": true
+                }
+              }
+            },
+            "label-Code-Review": {
+              "label": "Code-Review",
+              "rules": {
+                "global:Registered-Users": {
+                  "action": "ALLOW",
+                  "min": -1,
+                  "max": 1
+                },
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW",
+                  "min": -2,
+                  "max": 2
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW",
+                  "min": -2,
+                  "max": 2
+                }
+              }
+            },
+            "create": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            },
+            "push": {
+              "rules": {
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                },
+                "global:Project-Owners": {
+                  "action": "ALLOW"
+                }
+              }
+            }
+          }
+        },
+        "refs/*": {
+          "permissions": {
+            "read": {
+              "rules": {
+                "global:Anonymous-Users": {
+                  "action": "ALLOW"
+                },
+                "53a4f647a89ea57992571187d8025f830625192a": {
+                  "action": "ALLOW"
+                }
+              }
+            }
+          }
+        }
+      },
+      "is_owner": true,
+      "owner_of": [
+        "GLOBAL_CAPABILITIES",
+        "refs/meta/config",
+        "refs/for/refs/*",
+        "refs/tags/*",
+        "refs/heads/*",
+        "refs/*"
+      ],
+      "can_upload": true,
+      "can_add": true,
+      "config_visible": true,
+      "groups": {
+         "53a4f647a89ea57992571187d8025f830625192a": {
+           "url": "#/admin/groups/uuid-53a4f647a89ea57992571187d8025f830625192a",
+           "options": {},
+           "description": "Gerrit Site Administrators",
+           "group_id": 1,
+           "owner": "Administrators",
+           "owner_id": "53a4f647a89ea57992571187d8025f830625192a",
+           "created_on": "2009-06-08 23:31:00.000000000",
+           "name": "Administrators"
+         },
+         "global:Registered-Users": {
+           "options": {},
+           "name": "Registered Users"
+         },
+         "global:Project-Owners": {
+           "options": {},
+           "name": "Project Owners"
+         },
+         "15bfcd8a6de1a69c50b30cedcdcc951c15703152": {
+           "url": "#/admin/groups/uuid-15bfcd8a6de1a69c50b30cedcdcc951c15703152",
+           "options": {},
+           "description": "Users who perform batch actions on Gerrit",
+           "group_id": 2,
+           "owner": "Administrators",
+           "owner_id": "53a4f647a89ea57992571187d8025f830625192a",
+           "created_on": "2009-06-08 23:31:00.000000000",
+           "name": "Non-Interactive Users"
+         },
+         "global:Anonymous-Users": {
+           "options": {},
+           "name": "Anonymous Users"
+         }
+      }
+    },
+    "MyProject": {
+      "revision": "61157ed63e14d261b6dca40650472a9b0bd88474",
+      "inherits_from": {
+        "id": "All-Projects",
+        "name": "All-Projects",
+        "description": "Access inherited by all other projects."
+      },
+      "local": {},
+      "is_owner": true,
+      "owner_of": [
+        "refs/*"
+      ],
+      "can_upload": true,
+      "can_add": true,
+      "config_visible": true
+    }
+  }
+```
+
+## JSON Entities
+
+### AccessSectionInfo
+
+The `AccessSectionInfo` describes the access rights that are assigned on
+a ref.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>permissions</code></p></td>
+<td></td>
+<td><p>The permissions assigned on the ref of this access section as a map that maps the permission names to <a href="#permission-info">PermissionInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PermissionInfo
+
+The `PermissionInfo` entity contains information about an assigned
+permission.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>label</code></p></td>
+<td><p>optional</p></td>
+<td><p>The name of the label. Not set if it’s not a label permission.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>exclusive</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether this permission is assigned exclusively.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>rules</code></p></td>
+<td></td>
+<td><p>The rules assigned for this permission as a map that maps the UUIDs of the groups for which the permission are assigned to <a href="#permission-info">PermissionRuleInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PermissionRuleInfo
+
+The `PermissionRuleInfo` entity contains information about a permission
+rule that is assigned to group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>action</code></p></td>
+<td></td>
+<td><p>The action of this rule. For normal permissions this can be <code>ALLOW</code>, <code>DENY</code> or <code>BLOCK</code>. Special values for global capabilities are <code>INTERACTIVE</code> and <code>BATCH</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>force</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the force flag is set.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>min</code></p></td>
+<td><p>not set if range is empty (from <code>0</code> to <code>0</code>) or not set</p></td>
+<td><p>The min value of the permission range.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>max</code></p></td>
+<td><p>not set if range is empty (from <code>0</code> to <code>0</code>) or not set</p></td>
+<td><p>The max value of the permission range.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectAccessInfo
+
+The `ProjectAccessInfo` entity contains information about the access
+rights for a project.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>revision</code></p></td>
+<td></td>
+<td><p>The revision of the <code>refs/meta/config</code> branch from which the access rights were loaded.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>inherits_from</code></p></td>
+<td><p>not set for the <code>All-Project</code> project</p></td>
+<td><p>The parent project from which permissions are inherited as a <a href="rest-api-projects.html#project-info">ProjectInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>local</code></p></td>
+<td></td>
+<td><p>The local access rights of the project as a map that maps the refs to <a href="#access-section-info">AccessSectionInfo</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>is_owner</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the calling user owns this project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>owner_of</code></p></td>
+<td></td>
+<td><p>The list of refs owned by the calling user.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>can_upload</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the calling user can upload to any ref.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>can_add</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the calling user can add any ref.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>config_visible</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the calling user can see the <code>refs/meta/config</code> branch of the project.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-accounts.md b/jekyll-source/pages/gerrit/rest-api-accounts.md
new file mode 100644
index 0000000..dfecc4c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-accounts.md
@@ -0,0 +1,3571 @@
+---
+title: " Gerrit Code Review - /accounts/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-accounts.html
+---
+This page describes the account related REST endpoints. Please also take
+note of the general information on the [REST API](rest-api.html).
+
+## Account Endpoints
+
+### Query Account
+
+*GET /accounts/*
+
+Queries accounts visible to the caller. The [query
+string](user-search-accounts.html#_search_operators) must be provided by
+the `q` parameter. The `n` parameter can be used to limit the returned
+results.
+
+As result a list of [AccountInfo](#account-info) entities is returned.
+
+**Request.**
+
+``` 
+  GET /accounts/?q=name:John+email:example.com&n=2 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "_account_id": 1000096,
+    },
+    {
+      "_account_id": 1001439,
+      "_more_accounts": true
+    }
+  ]
+```
+
+If the number of accounts matching the query exceeds either the internal
+limit or a supplied `n` query parameter, the last account object has a
+`_more_accounts: true` JSON field set.
+
+The `S` or `start` query parameter can be supplied to skip a number of
+accounts from the list.
+
+Additional fields can be obtained by adding `o` parameters, each option
+slows down the query response time to the client so they are generally
+disabled by default. Optional fields are:
+
+  - `DETAILS`: Includes full name, preferred email, username and avatars
+    for each account.
+
+<!-- end list -->
+
+  - `ALL_EMAILS`: Includes all registered emails.
+
+To get account suggestions set the parameter `suggest` and provide the
+typed substring as query `q`. If a result limit `n` is not specified,
+then the default 10 is used.
+
+For account suggestions [account details](#details) and [all
+emails](#all-emails) are always returned.
+
+**Request.**
+
+``` 
+  GET /accounts/?suggest&q=John HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com",
+      "username": "john"
+    },
+    {
+      "_account_id": 1001439,
+      "name": "John Smith",
+      "email": "john.smith@example.com",
+      "username": "jsmith"
+    },
+  ]
+```
+
+### Get Account
+
+*GET /accounts/[{account-id}](#account-id)*
+
+Returns an account as an [AccountInfo](#account-info) entity.
+
+**Request.**
+
+``` 
+  GET /accounts/self HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "john"
+  }
+```
+
+### Create Account
+
+*PUT /accounts/[{username}](#username)*
+
+Creates a new account.
+
+In the request body additional data for the account can be provided as
+[AccountInput](#account-input).
+
+**Request.**
+
+``` 
+  PUT /accounts/john HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw==",
+    "http_password": "19D9aIn7zePb",
+    "groups": [
+      "MyProject-Owners"
+    ]
+  }
+```
+
+As response a detailed [AccountInfo](#account-info) entity is returned
+that describes the created account.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000195,
+    "name": "John Doe",
+    "email": "john.doe@example.com"
+  }
+```
+
+### Get Account Details
+
+*GET /accounts/[{account-id}](#account-id)/detail*
+
+Retrieves the details of an account as an
+[AccountDetailInfo](#account-detail-info) entity.
+
+**Request.**
+
+``` 
+  GET /accounts/self/detail HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "registered_on": "2015-07-23 07:01:09.296000000",
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "john"
+  }
+```
+
+### Get Account Name
+
+*GET /accounts/[{account-id}](#account-id)/name*
+
+Retrieves the full name of an account.
+
+**Request.**
+
+``` 
+  GET /accounts/self/name HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "John Doe"
+```
+
+If the account does not have a name an empty string is returned.
+
+### Set Account Name
+
+*PUT /accounts/[{account-id}](#account-id)/name*
+
+Sets the full name of an account.
+
+The new account name must be provided in the request body inside an
+[AccountNameInput](#account-name-input) entity.
+
+**Request.**
+
+``` 
+  PUT /accounts/self/name HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "name": "John F. Doe"
+  }
+```
+
+As response the new account name is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "John F. Doe"
+```
+
+If the name was deleted the response is "`204 No Content`".
+
+Some realms may not allow to modify the account name. In this case the
+request is rejected with "`405 Method Not Allowed`".
+
+### Delete Account Name
+
+*DELETE /accounts/[{account-id}](#account-id)/name*
+
+Deletes the name of an account.
+
+**Request.**
+
+``` 
+  DELETE /accounts/self/name HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Account Status
+
+*GET /accounts/[{account-id}](#account-id)/status*
+
+Retrieves the status of an account.
+
+**Request.**
+
+``` 
+  GET /accounts/self/status HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Available"
+```
+
+If the account does not have a status an empty string is returned.
+
+### Set Account Status
+
+*PUT /accounts/[{account-id}](#account-id)/status*
+
+Sets the status of an account.
+
+The new account status must be provided in the request body inside an
+[AccountStatusInput](#account-status-input) entity.
+
+**Request.**
+
+``` 
+  PUT /accounts/self/status HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "status": "Out Of Office"
+  }
+```
+
+As response the new account status is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Out Of Office"
+```
+
+If the name was deleted the response is "`204 No Content`".
+
+### Get Username
+
+*GET /accounts/[{account-id}](#account-id)/username*
+
+Retrieves the username of an account.
+
+**Request.**
+
+``` 
+  GET /accounts/self/username HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "john.doe"
+```
+
+If the account does not have a username the response is "`404 Not
+Found`".
+
+### Set Username
+
+*PUT /accounts/[{account-id}](#account-id)/username*
+
+The new username must be provided in the request body inside a
+[UsernameInput](#username-input) entity.
+
+Once set, the username cannot be changed or deleted. If attempted this
+fails with "`405 Method Not Allowed`".
+
+**Request.**
+
+``` 
+  PUT /accounts/self/username HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "username": "jdoe"
+  }
+```
+
+As response the new username is returned.
+
+### Get Active
+
+*GET /accounts/[{account-id}](#account-id)/active*
+
+Checks if an account is active.
+
+**Request.**
+
+``` 
+  GET /accounts/john.doe@example.com/active HTTP/1.0
+```
+
+If the account is active the string `ok` is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+
+  ok
+```
+
+If the account is inactive the response is "`204 No Content`".
+
+### Set Active
+
+*PUT /accounts/[{account-id}](#account-id)/active*
+
+Sets the account state to active.
+
+**Request.**
+
+``` 
+  PUT /accounts/john.doe@example.com/active HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+```
+
+If the account was already active the response is "`200 OK`".
+
+### Delete Active
+
+*DELETE /accounts/[{account-id}](#account-id)/active*
+
+Sets the account state to inactive.
+
+**Request.**
+
+``` 
+  DELETE /accounts/john.doe@example.com/active HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+If the account was already inactive the response is "`409 Conflict`".
+
+### Set/Generate HTTP Password
+
+*PUT /accounts/[{account-id}](#account-id)/password.http*
+
+Sets/Generates the HTTP password of an account.
+
+The options for setting/generating the HTTP password must be provided in
+the request body inside a [HttpPasswordInput](#http-password-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /accounts/self/password.http HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "generate": true
+  }
+```
+
+As response the new HTTP password is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "ETxgpih8xrNs"
+```
+
+If the HTTP password was deleted the response is "`204 No Content`".
+
+### Delete HTTP Password
+
+*DELETE /accounts/[{account-id}](#account-id)/password.http*
+
+Deletes the HTTP password of an account.
+
+**Request.**
+
+``` 
+  DELETE /accounts/self/password.http HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get OAuth Access Token
+
+*GET /accounts/[{account-id}](#account-id)/oauthtoken*
+
+Returns a previously obtained OAuth access token.
+
+**Request.**
+
+``` 
+  GET /accounts/self/oauthtoken HTTP/1.1
+```
+
+As a response, an [OAuthTokenInfo](#oauth-token-info) entity is returned
+that describes the OAuth access token.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+   )]}'
+    {
+      "username": "johndow",
+      "resource_host": "gerrit.example.org",
+      "access_token": "eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOi",
+      "provider_id": "oauth-plugin:oauth-provider",
+      "expires_at": "922337203775807",
+      "type": "bearer"
+    }
+```
+
+If there is no token available, or the token has already expired, "`404
+Not Found`" is returned as response. Requests to obtain an access token
+of another user are rejected with "`403 Forbidden`".
+
+### List Account Emails
+
+*GET /accounts/[{account-id}](#account-id)/emails*
+
+Returns the email addresses that are configured for the specified user.
+
+**Request.**
+
+``` 
+  GET /accounts/self/emails HTTP/1.0
+```
+
+As response the email addresses of the user are returned as a list of
+[EmailInfo](#email-info) entities.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "email": "john.doe@example.com",
+      "preferred": true
+    },
+    {
+      "email": "j.doe@example.com"
+    }
+  ]
+```
+
+### Get Account Email
+
+*GET
+/accounts/[{account-id}](#account-id)/emails/[{email-id}](#email-id)*
+
+Retrieves an email address of a user.
+
+**Request.**
+
+``` 
+  GET /accounts/self/emails/john.doe@example.com HTTP/1.0
+```
+
+As response an [EmailInfo](#email-info) entity is returned that
+describes the email address.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "email": "john.doe@example.com",
+    "preferred": true
+  }
+```
+
+### Create Account Email
+
+*PUT
+/accounts/[{account-id}](#account-id)/emails/[{email-id}](#email-id)*
+
+Registers a new email address for the user. A verification email is sent
+with a link that needs to be visited to confirm the email address,
+unless `DEVELOPMENT_BECOME_ANY_ACCOUNT` is used as authentication type.
+For the development mode email addresses are directly added without
+confirmation. A Gerrit administrator may add an email address without
+confirmation by setting `no_confirmation` in the
+[EmailInput](#email-input). If
+[sendemail.allowrcpt](config-gerrit.html#sendemail.allowrcpt) is
+configured, the added email address must belong to a domain that is
+allowed, unless `no_confirmation` is set.
+
+The [EmailInput](#email-input) object in the request body may contain
+additional options for the email address.
+
+**Request.**
+
+``` 
+  PUT /accounts/self/emails/john.doe@example.com HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+  Content-Length: 3
+
+  {}
+```
+
+As response the new email address is returned as
+[EmailInfo](#email-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "email": "john.doe@example.com",
+    "pending_confirmation": true
+  }
+```
+
+### Delete Account Email
+
+*DELETE
+/accounts/[{account-id}](#account-id)/emails/[{email-id}](#email-id)*
+
+Deletes an email address of an account.
+
+**Request.**
+
+``` 
+  DELETE /accounts/self/emails/john.doe@example.com HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Set Preferred Email
+
+*PUT
+/accounts/[{account-id}](#account-id)/emails/[{email-id}](#email-id)/preferred*
+
+Sets an email address as preferred email address for an account.
+
+**Request.**
+
+``` 
+  PUT /accounts/self/emails/john.doe@example.com/preferred HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+```
+
+If the email address was already the preferred email address of the
+account the response is "`200 OK`".
+
+### List SSH Keys
+
+*GET /accounts/[{account-id}](#account-id)/sshkeys*
+
+Returns the SSH keys of an account.
+
+**Request.**
+
+``` 
+  GET /accounts/self/sshkeys HTTP/1.0
+```
+
+As response the SSH keys of the account are returned as a list of
+[SshKeyInfo](#ssh-key-info) entities.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "seq": 1,
+      "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d john.doe@example.com",
+      "encoded_key": "AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d",
+      "algorithm": "ssh-rsa",
+      "comment": "john.doe@example.com",
+      "valid": true
+    }
+  ]
+```
+
+### Get SSH Key
+
+*GET
+/accounts/[{account-id}](#account-id)/sshkeys/[{ssh-key-id}](#ssh-key-id)*
+
+Retrieves an SSH key of a user.
+
+**Request.**
+
+``` 
+  GET /accounts/self/sshkeys/1 HTTP/1.0
+```
+
+As response an [SshKeyInfo](#ssh-key-info) entity is returned that
+describes the SSH key.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "seq": 1,
+    "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d john.doe@example.com",
+    "encoded_key": "AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d",
+    "algorithm": "ssh-rsa",
+    "comment": "john.doe@example.com",
+    "valid": true
+  }
+```
+
+### Add SSH Key
+
+*POST /accounts/[{account-id}](#account-id)/sshkeys*
+
+Adds an SSH key for a user.
+
+The SSH public key must be provided as raw content in the request body.
+
+Trying to add an SSH key that already exists succeeds, but no new SSH
+key is persisted.
+
+**Request.**
+
+``` 
+  POST /accounts/self/sshkeys HTTP/1.0
+  Content-Type: plain/text
+
+  AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d
+```
+
+As response an [SshKeyInfo](#ssh-key-info) entity is returned that
+describes the new SSH key.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "seq": 2,
+    "ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d john.doe@example.com",
+    "encoded_key": "AAAAB3NzaC1yc2EAAAABIwAAAQEA0T...YImydZAw\u003d\u003d",
+    "algorithm": "ssh-rsa",
+    "comment": "john.doe@example.com",
+    "valid": true
+  }
+```
+
+### Delete SSH Key
+
+*DELETE
+/accounts/[{account-id}](#account-id)/sshkeys/[{ssh-key-id}](#ssh-key-id)*
+
+Deletes an SSH key of a user.
+
+**Request.**
+
+``` 
+  DELETE /accounts/self/sshkeys/2 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### List GPG Keys
+
+*GET /accounts/[{account-id}](#account-id)/gpgkeys*
+
+Returns the GPG keys of an account.
+
+**Request.**
+
+``` 
+  GET /accounts/self/gpgkeys HTTP/1.0
+```
+
+As a response, the GPG keys of the account are returned as a map of
+[GpgKeyInfo](#gpg-key-info) entities, keyed by ID.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "AFC8A49B": {
+      "fingerprint": "0192 723D 42D1 0C5B 32A6  E1E0 9350 9E4B AFC8 A49B",
+      "user_ids": [
+        "John Doe \u003cjohn.doe@example.com\u003e"
+      ],
+      "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: BCPG v1.52\n\nmQENBFXUpNcBCACv4paCiyKxZ0EcKy8VaWVNkJlNebRBiyw9WxU85wPOq5Gz/3GT\nRQwKqeY0SxVdQT8VNBw2sBe2m6eqcfZ2iKmesSlbXMe15DA7k8Bg4zEpQ0tXNG1L\nhceZDVQ1Xk06T2sgkunaiPsXi82nwN3UWYtDXxX4is5e6xBNL48Jgz4lbqo6+8D5\nvsVYiYMx4AwRkJyt/oA3IZAtSlY8Yd445nY14VPcnsGRwGWTLyZv9gxKHRUppVhQ\nE3o6ePXKEVgmONnQ4CjqmkGwWZvjMF2EPtAxvQLAuFa8Hqtkq5cgfgVkv/Vrcln4\nnQZVoMm3a3f5ODii2tQzNh6+7LL1bpqAmVEtABEBAAG0H0pvaG4gRG9lIDxqb2hu\nLmRvZUBleGFtcGxlLmNvbT6JATgEEwECACIFAlXUpNcCGwMGCwkIBwMCBhUIAgkK\nCwQWAgMBAh4BAheAAAoJEJNQnkuvyKSbfjoH/2OcSQOu1kJ20ndjhgY2yNChm7gd\ntU7TEBbB0TsLeazkrrLtKvrpW5+CRe07ZAG9HOtp3DikwAyrhSxhlYgVsQDhgB8q\nG0tYiZtQ88YyYrncCQ4hwknrcWXVW9bK3V4ZauxzPv3ADSloyR9tMURw5iHCIeL5\nfIw/pLvA3RjPMx4Sfow/bqRCUELua39prGw5Tv8a2ZRFbj2sgP5j8lUFegyJPQ4z\ntJhe6zZvKOzvIyxHO8llLmdrImsXRL9eqroWGs0VYqe6baQpY6xpSjbYK0J5HYcg\nTO+/u80JI+ROTMHE6unGp5Pgh/xIz6Wd34E0lWL1eOyNfGiPLyRWn1d0",
+      "status": "TRUSTED",
+      "problems": [],
+    },
+  }
+```
+
+### Get GPG Key
+
+*GET
+/accounts/[{account-id}](#account-id)/gpgkeys/[{gpg-key-id}](#gpg-key-id)*
+
+Retrieves a GPG key of a user.
+
+**Request.**
+
+``` 
+  GET /accounts/self/gpgkeys/AFC8A49B HTTP/1.0
+```
+
+As a response, a [GpgKeyInfo](#gpg-key-info) entity is returned that
+describes the GPG key.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "AFC8A49B",
+    "fingerprint": "0192 723D 42D1 0C5B 32A6  E1E0 9350 9E4B AFC8 A49B",
+    "user_ids": [
+      "John Doe \u003cjohn.doe@example.com\u003e"
+    ],
+    "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: BCPG v1.52\n\nmQENBFXUpNcBCACv4paCiyKxZ0EcKy8VaWVNkJlNebRBiyw9WxU85wPOq5Gz/3GT\nRQwKqeY0SxVdQT8VNBw2sBe2m6eqcfZ2iKmesSlbXMe15DA7k8Bg4zEpQ0tXNG1L\nhceZDVQ1Xk06T2sgkunaiPsXi82nwN3UWYtDXxX4is5e6xBNL48Jgz4lbqo6+8D5\nvsVYiYMx4AwRkJyt/oA3IZAtSlY8Yd445nY14VPcnsGRwGWTLyZv9gxKHRUppVhQ\nE3o6ePXKEVgmONnQ4CjqmkGwWZvjMF2EPtAxvQLAuFa8Hqtkq5cgfgVkv/Vrcln4\nnQZVoMm3a3f5ODii2tQzNh6+7LL1bpqAmVEtABEBAAG0H0pvaG4gRG9lIDxqb2hu\nLmRvZUBleGFtcGxlLmNvbT6JATgEEwECACIFAlXUpNcCGwMGCwkIBwMCBhUIAgkK\nCwQWAgMBAh4BAheAAAoJEJNQnkuvyKSbfjoH/2OcSQOu1kJ20ndjhgY2yNChm7gd\ntU7TEBbB0TsLeazkrrLtKvrpW5+CRe07ZAG9HOtp3DikwAyrhSxhlYgVsQDhgB8q\nG0tYiZtQ88YyYrncCQ4hwknrcWXVW9bK3V4ZauxzPv3ADSloyR9tMURw5iHCIeL5\nfIw/pLvA3RjPMx4Sfow/bqRCUELua39prGw5Tv8a2ZRFbj2sgP5j8lUFegyJPQ4z\ntJhe6zZvKOzvIyxHO8llLmdrImsXRL9eqroWGs0VYqe6baQpY6xpSjbYK0J5HYcg\nTO+/u80JI+ROTMHE6unGp5Pgh/xIz6Wd34E0lWL1eOyNfGiPLyRWn1d0",
+    "status": "TRUSTED",
+    "problems": [],
+  }
+```
+
+### Add/Delete GPG Keys
+
+*POST /accounts/[{account-id}](#account-id)/gpgkeys*
+
+Add or delete one or more GPG keys for a user.
+
+The changes must be provided in the request body as a
+[GpgKeysInput](#gpg-keys-input) entity. Each new GPG key is provided in
+ASCII armored format, and must contain a self-signed certification
+matching a registered email or other identity of the user.
+
+**Request.**
+
+``` 
+  POST /accounts/link:#account-id[\{account-id\}]/gpgkeys
+  Content-Type: application/json
+
+  {
+    "add": [
+      "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQENBFXUpNcBCACv4paCiyKxZ0EcKy8VaWVNkJlNebRBiyw9WxU85wPOq5Gz/3GT\nRQwKqeY0SxVdQT8VNBw2sBe2m6eqcfZ2iKmesSlbXMe15DA7k8Bg4zEpQ0tXNG1L\nhceZDVQ1Xk06T2sgkunaiPsXi82nwN3UWYtDXxX4is5e6xBNL48Jgz4lbqo6+8D5\nvsVYiYMx4AwRkJyt/oA3IZAtSlY8Yd445nY14VPcnsGRwGWTLyZv9gxKHRUppVhQ\nE3o6ePXKEVgmONnQ4CjqmkGwWZvjMF2EPtAxvQLAuFa8Hqtkq5cgfgVkv/Vrcln4\nnQZVoMm3a3f5ODii2tQzNh6+7LL1bpqAmVEtABEBAAG0H0pvaG4gRG9lIDxqb2hu\nLmRvZUBleGFtcGxlLmNvbT6JATgEEwECACIFAlXUpNcCGwMGCwkIBwMCBhUIAgkK\nCwQWAgMBAh4BAheAAAoJEJNQnkuvyKSbfjoH/2OcSQOu1kJ20ndjhgY2yNChm7gd\ntU7TEBbB0TsLeazkrrLtKvrpW5+CRe07ZAG9HOtp3DikwAyrhSxhlYgVsQDhgB8q\nG0tYiZtQ88YyYrncCQ4hwknrcWXVW9bK3V4ZauxzPv3ADSloyR9tMURw5iHCIeL5\nfIw/pLvA3RjPMx4Sfow/bqRCUELua39prGw5Tv8a2ZRFbj2sgP5j8lUFegyJPQ4z\ntJhe6zZvKOzvIyxHO8llLmdrImsXRL9eqroWGs0VYqe6baQpY6xpSjbYK0J5HYcg\nTO+/u80JI+ROTMHE6unGp5Pgh/xIz6Wd34E0lWL1eOyNfGiPLyRWn1d0yZO5AQ0E\nVdSk1wEIALUycrH2HK9zQYdR/KJo1yJJuaextLWsYYn881yDQo/p06U5vXOZ28lG\nAq/Xs96woVZPbgME6FyQzhf20Z2sbr+5bNo3OcEKaKX3Eo/sWwSJ7bXbGLDxMf4S\netfY1WDC+4rTqE30JuC++nQviPRdCcZf0AEgM6TxVhYEMVYwV787YO1IH62EBICM\nSkIONOfnusNZ4Skgjq9OzakOOpROZ4tki5cH/5oSDgdcaGPy1CFDpL9fG6er2zzk\nsw3qCbraqZrrlgpinWcAduiao67U/dV18O6OjYzrt33fTKZ0+bXhk1h1gloC21MQ\nya0CXlnfR/FOQhvuK0RlbR3cMfhZQscAEQEAAYkBHwQYAQIACQUCVdSk1wIbDAAK\nCRCTUJ5Lr8ikm8+QB/4uE+AlvFQFh9W8koPdfk7CJF7wdgZZ2NDtktvLL71WuMK8\nPOmf9f5JtcLCX4iJxGzcWogAR5ed20NgUoHUg7jn9Xm3fvP+kiqL6WqPhjazd89h\nk06v9hPE65kp4wb0fQqDrtWfP1lFGuh77rQgISt3Y4QutDl49vXS183JAfGPxFxx\n8FgGcfNwL2LVObvqCA0WLqeIrQVbniBPFGocE3yA/0W9BB/xtolpKfgMMsqGRMeu\n9oIsNxB2oE61OsqjUtGsnKQi8k5CZbhJaql4S89vwS+efK0R+mo+0N55b0XxRlCS\nfaURgAcjarQzJnG0hUps2GNO/+nM7UyyJAGfHlh5\n=EdXO\n-----END PGP PUBLIC KEY BLOCK-----\n"
+    ],
+    "delete": [
+      "DEADBEEF",
+    ]
+  }'
+```
+
+As a response, the modified GPG keys are returned as a map of
+[GpgKeyInfo](#gpg-key-info) entities, keyed by ID. Deleted keys are
+represented by an empty object.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "AFC8A49B": {
+      "fingerprint": "0192 723D 42D1 0C5B 32A6  E1E0 9350 9E4B AFC8 A49B",
+      "user_ids": [
+        "John Doe \u003cjohn.doe@example.com\u003e"
+      ],
+      "key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: BCPG v1.52\n\nmQENBFXUpNcBCACv4paCiyKxZ0EcKy8VaWVNkJlNebRBiyw9WxU85wPOq5Gz/3GT\nRQwKqeY0SxVdQT8VNBw2sBe2m6eqcfZ2iKmesSlbXMe15DA7k8Bg4zEpQ0tXNG1L\nhceZDVQ1Xk06T2sgkunaiPsXi82nwN3UWYtDXxX4is5e6xBNL48Jgz4lbqo6+8D5\nvsVYiYMx4AwRkJyt/oA3IZAtSlY8Yd445nY14VPcnsGRwGWTLyZv9gxKHRUppVhQ\nE3o6ePXKEVgmONnQ4CjqmkGwWZvjMF2EPtAxvQLAuFa8Hqtkq5cgfgVkv/Vrcln4\nnQZVoMm3a3f5ODii2tQzNh6+7LL1bpqAmVEtABEBAAG0H0pvaG4gRG9lIDxqb2hu\nLmRvZUBleGFtcGxlLmNvbT6JATgEEwECACIFAlXUpNcCGwMGCwkIBwMCBhUIAgkK\nCwQWAgMBAh4BAheAAAoJEJNQnkuvyKSbfjoH/2OcSQOu1kJ20ndjhgY2yNChm7gd\ntU7TEBbB0TsLeazkrrLtKvrpW5+CRe07ZAG9HOtp3DikwAyrhSxhlYgVsQDhgB8q\nG0tYiZtQ88YyYrncCQ4hwknrcWXVW9bK3V4ZauxzPv3ADSloyR9tMURw5iHCIeL5\nfIw/pLvA3RjPMx4Sfow/bqRCUELua39prGw5Tv8a2ZRFbj2sgP5j8lUFegyJPQ4z\ntJhe6zZvKOzvIyxHO8llLmdrImsXRL9eqroWGs0VYqe6baQpY6xpSjbYK0J5HYcg\nTO+/u80JI+ROTMHE6unGp5Pgh/xIz6Wd34E0lWL1eOyNfGiPLyRWn1d0"
+      "status": "TRUSTED",
+      "problems": [],
+    }
+    "DEADBEEF": {}
+  }
+```
+
+### Delete GPG Key
+
+*DELETE
+/accounts/[{account-id}](#account-id)/gpgkeys/[{gpg-key-id}](#gpg-key-id)*
+
+Deletes a GPG key of a user.
+
+**Request.**
+
+``` 
+  DELETE /accounts/self/gpgkeys/AFC8A49B HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### List Account Capabilities
+
+*GET /accounts/[{account-id}](#account-id)/capabilities*
+
+Returns the global capabilities that are enabled for the specified user.
+
+If the global capabilities for the calling user should be listed, `self`
+can be used as account-id. This can be used by UI tools to discover if
+administrative features are available to the caller, so they can hide
+(or show) relevant UI actions.
+
+**Request.**
+
+``` 
+  GET /accounts/self/capabilities HTTP/1.0
+```
+
+As response the global capabilities of the user are returned as a
+[CapabilityInfo](#capability-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "queryLimit": {
+      "min": 0,
+      "max": 500
+    },
+    "emailReviewers": true
+  }
+```
+
+Administrator that has authenticated with basic authentication:
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/capabilities HTTP/1.0
+  Authorization: Basic ABCDECF..
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "administrateServer": true,
+    "queryLimit": {
+      "min": 0,
+      "max": 500
+    },
+    "createAccount": true,
+    "createGroup": true,
+    "createProject": true,
+    "emailReviewers": true,
+    "killTask": true,
+    "viewCaches": true,
+    "flushCaches": true,
+    "viewConnections": true,
+    "viewPlugins": true,
+    "viewQueue": true,
+    "runGC": true
+  }
+```
+
+get::/accounts/self/capabilities
+
+To filter the set of global capabilities the `q` parameter can be used.
+Filtering may decrease the response time by avoiding looking at every
+possible alternative for the
+caller.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/capabilities?q=createAccount&q=createGroup HTTP/1.0
+  Authorization: Basic ABCDEF...
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "createAccount": true,
+    "createGroup": true
+  }
+```
+
+get::/accounts/self/capabilities?q=createGroup
+
+### Check Account Capability
+
+*GET
+/accounts/[{account-id}](#account-id)/capabilities/[{capability-id}](#capability-id)*
+
+Checks if a user has a certain global capability.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/capabilities/createGroup HTTP/1.0
+```
+
+If the user has the global capability the string `ok` is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+
+  ok
+```
+
+If the user doesn’t have the global capability the response is "`404 Not
+Found`".
+
+get::/accounts/self/capabilities/createGroup
+
+### List Groups
+
+*GET /accounts/[{account-id}](#account-id)/groups/*
+
+Lists all groups that contain the specified user as a member.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/groups/ HTTP/1.0
+```
+
+As result a list of [GroupInfo](rest-api-groups.html#group-info) entries
+is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "global%3AAnonymous-Users",
+      "url": "#/admin/groups/uuid-global%3AAnonymous-Users",
+      "options": {
+      },
+      "description": "Any user, signed-in or not",
+      "group_id": 2,
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389"
+    },
+    {
+      "id": "834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7",
+      "url": "#/admin/groups/uuid-834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7",
+      "options": {
+        "visible_to_all": true,
+      },
+      "group_id": 6,
+      "owner_id": "834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7"
+    },
+    {
+      "id": "global%3ARegistered-Users",
+      "url": "#/admin/groups/uuid-global%3ARegistered-Users",
+      "options": {
+      },
+      "description": "Any signed-in user",
+      "group_id": 3,
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389"
+    }
+  ]
+```
+
+get::/accounts/self/groups/
+
+### Get Avatar
+
+*GET /accounts/[{account-id}](#account-id)/avatar*
+
+Retrieves the avatar image of the user.
+
+With the `size` option (alias `s`) you can specify the preferred size in
+pixels (height and width).
+
+**Request.**
+
+``` 
+  GET /a/accounts/john.doe@example.com/avatar?s=20 HTTP/1.0
+```
+
+The response redirects to the URL of the avatar image.
+
+**Response.**
+
+``` 
+  HTTP/1.1 302 Found
+  Location: https://profiles/avatar/john_doe.jpeg?s=20x20
+```
+
+### Get Avatar Change URL
+
+*GET /accounts/[{account-id}](#account-id)/avatar.change.url*
+
+Retrieves the URL where the user can change the avatar image.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/avatar.change.url HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  https://profiles/pictures/john.doe
+```
+
+### Get User Preferences
+
+*GET /accounts/[{account-id}](#account-id)/preferences*
+
+Retrieves the user’s preferences.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/preferences HTTP/1.0
+```
+
+As result the account preferences of the user are returned as a
+[PreferencesInfo](#preferences-info) entity.
+
+Users may only retrieve the preferences for their own account, unless
+they are an [Administrator](access-control.html#administrators) or a
+member of a group that is granted the
+[ModifyAccount](access-control.html#capability_modifyAccount)
+capability, in which case they can retrieve the preferences for any
+account.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "changes_per_page": 25,
+    "show_site_header": true,
+    "use_flash_clipboard": true,
+    "download_command": "CHECKOUT",
+    "date_format": "STD",
+    "time_format": "HHMM_12",
+    "diff_view": "SIDE_BY_SIDE",
+    "size_bar_in_change_table": true,
+    "review_category_strategy": "ABBREV",
+    "mute_common_path_prefixes": true,
+    "publish_comments_on_push": true,
+    "default_base_for_merges": "FIRST_PARENT",
+    "my": [
+      {
+        "url": "#/dashboard/self",
+        "name": "Changes"
+      },
+      {
+        "url": "#/q/has:draft",
+        "name": "Draft Comments"
+      },
+      {
+        "url": "#/q/is:watched+is:open",
+        "name": "Watched Changes"
+      },
+      {
+        "url": "#/q/is:starred",
+        "name": "Starred Changes"
+      },
+      {
+        "url": "#/groups/self",
+        "name": "Groups"
+      },
+      change_table: []
+    ]
+  }
+```
+
+### Set User Preferences
+
+*PUT /accounts/[{account-id}](#account-id)/preferences*
+
+Sets the user’s preferences.
+
+The new preferences must be provided in the request body as a
+[PreferencesInput](#preferences-input) entity.
+
+**Request.**
+
+``` 
+  PUT /a/accounts/self/preferences HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "changes_per_page": 50,
+    "show_site_header": true,
+    "use_flash_clipboard": true,
+    "expand_inline_diffs": true,
+    "download_command": "CHECKOUT",
+    "date_format": "STD",
+    "time_format": "HHMM_12",
+    "size_bar_in_change_table": true,
+    "review_category_strategy": "NAME",
+    "diff_view": "SIDE_BY_SIDE",
+    "mute_common_path_prefixes": true,
+    "my": [
+      {
+        "url": "#/dashboard/self",
+        "name": "Changes"
+      },
+      {
+        "url": "#/q/has:draft",
+        "name": "Draft Comments"
+      },
+      {
+        "url": "#/q/is:watched+is:open",
+        "name": "Watched Changes"
+      },
+      {
+        "url": "#/q/is:starred",
+        "name": "Starred Changes"
+      },
+      {
+        "url": "#/groups/self",
+        "name": "Groups"
+      }
+    ],
+    "change_table": [
+      "Subject",
+      "Owner"
+    ]
+  }
+```
+
+As result the new preferences of the user are returned as a
+[PreferencesInfo](#preferences-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "changes_per_page": 50,
+    "show_site_header": true,
+    "use_flash_clipboard": true,
+    "expand_inline_diffs": true,
+    "download_command": "CHECKOUT",
+    "date_format": "STD",
+    "time_format": "HHMM_12",
+    "size_bar_in_change_table": true,
+    "review_category_strategy": "NAME",
+    "diff_view": "SIDE_BY_SIDE",
+    "publish_comments_on_push": true,
+    "mute_common_path_prefixes": true,
+    "my": [
+      {
+        "url": "#/dashboard/self",
+        "name": "Changes"
+      },
+      {
+        "url": "#/q/has:draft",
+        "name": "Draft Comments"
+      },
+      {
+        "url": "#/q/is:watched+is:open",
+        "name": "Watched Changes"
+      },
+      {
+        "url": "#/q/is:starred",
+        "name": "Starred Changes"
+      },
+      {
+        "url": "#/groups/self",
+        "name": "Groups"
+      }
+    ],
+    "change_table": [
+      "Subject",
+      "Owner"
+    ]
+  }
+```
+
+### Get Diff Preferences
+
+*GET /accounts/[{account-id}](#account-id)/preferences.diff*
+
+Retrieves the diff preferences of a user.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/preferences.diff HTTP/1.0
+```
+
+As result the diff preferences of the user are returned as a
+[DiffPreferencesInfo](#diff-preferences-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "context": 10,
+    "theme": "DEFAULT",
+    "ignore_whitespace": "IGNORE_ALL",
+    "intraline_difference": true,
+    "line_length": 100,
+    "cursor_blink_rate": 500,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "tab_size": 8,
+    "font_size": 12
+  }
+```
+
+### Set Diff Preferences
+
+*PUT /accounts/[{account-id}](#account-id)/preferences.diff*
+
+Sets the diff preferences of a user.
+
+The new diff preferences must be provided in the request body as a
+[DiffPreferencesInput](#diff-preferences-input) entity.
+
+**Request.**
+
+``` 
+  PUT /a/accounts/self/preferences.diff HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "context": 10,
+    "theme": "ECLIPSE",
+    "ignore_whitespace": "IGNORE_ALL",
+    "intraline_difference": true,
+    "line_length": 100,
+    "cursor_blink_rate": 500,
+    "show_line_endings": true,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "tab_size": 8,
+    "font_size": 12
+  }
+```
+
+As result the new diff preferences of the user are returned as a
+[DiffPreferencesInfo](#diff-preferences-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "context": 10,
+    "theme": "ECLIPSE",
+    "ignore_whitespace": "IGNORE_ALL",
+    "intraline_difference": true,
+    "line_length": 100,
+    "show_line_endings": true,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "tab_size": 8,
+    "font_size": 12
+  }
+```
+
+### Get Edit Preferences
+
+*GET /accounts/[{account-id}](#account-id)/preferences.edit*
+
+Retrieves the edit preferences of a user.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/preferences.edit HTTP/1.0
+```
+
+As result the edit preferences of the user are returned as a
+[EditPreferencesInfo](#edit-preferences-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json;charset=UTF-8
+
+  )]}'
+  {
+    "theme": "ECLIPSE",
+    "key_map_type": "VIM",
+    "tab_size": 4,
+    "line_length": 80,
+    "indent_unit": 2,
+    "cursor_blink_rate": 530,
+    "hide_top_menu": true,
+    "show_whitespace_errors": true,
+    "hide_line_numbers": true,
+    "match_brackets": true,
+    "line_wrapping": false,
+    "indent_with_tabs": false,
+    "auto_close_brackets": true
+  }
+```
+
+### Set Edit Preferences
+
+*PUT /accounts/[{account-id}](#account-id)/preferences.edit*
+
+Sets the edit preferences of a user.
+
+The new edit preferences must be provided in the request body as a
+[EditPreferencesInfo](#edit-preferences-info) entity.
+
+**Request.**
+
+``` 
+  PUT /a/accounts/self/preferences.edit HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "theme": "ECLIPSE",
+    "key_map_type": "VIM",
+    "tab_size": 4,
+    "line_length": 80,
+    "indent_unit": 2,
+    "cursor_blink_rate": 530,
+    "hide_top_menu": true,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "hide_line_numbers": true,
+    "match_brackets": true,
+    "line_wrapping": false,
+    "auto_close_brackets": true
+  }
+```
+
+As result the new edit preferences of the user are returned as a
+[EditPreferencesInfo](#edit-preferences-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json;charset=UTF-8
+
+  )]}'
+  {
+    "theme": "ECLIPSE",
+    "key_map_type": "VIM",
+    "tab_size": 4,
+    "line_length": 80,
+    "cursor_blink_rate": 530,
+    "hide_top_menu": true,
+    "show_whitespace_errors": true,
+    "hide_line_numbers": true,
+    "match_brackets": true,
+    "auto_close_brackets": true
+  }
+```
+
+### Get Watched Projects
+
+*GET /accounts/[{account-id}](#account-id)/watched.projects*
+
+Retrieves all projects a user is watching.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/watched.projects HTTP/1.0
+```
+
+As result the watched projects of the user are returned as a list of
+[ProjectWatchInfo](#project-watch-info) entities. The result is sorted
+by project name in ascending order.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "project": "Test Project 1",
+      "notify_new_changes": true,
+      "notify_new_patch_sets": true,
+      "notify_all_comments": true,
+    },
+    {
+      "project": "Test Project 2",
+      "filter": "branch:experimental",
+      "notify_all_comments": true,
+      "notify_submitted_changes": true,
+      "notify_abandoned_changes": true
+    }
+  ]
+```
+
+### Add/Update a List of Watched Project Entities
+
+*POST /accounts/[{account-id}](#account-id)/watched.projects*
+
+Add new projects to watch or update existing watched projects. Projects
+that are already watched by a user will be updated with the provided
+configuration. All other projects in the request will be watched using
+the provided configuration. The posted body can contain
+[ProjectWatchInfo](#project-watch-info) entities. Omitted boolean values
+will be set to false.
+
+**Request.**
+
+``` 
+  POST /a/accounts/self/watched.projects HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  [
+    {
+      "project": "Test Project 1",
+      "notify_new_changes": true,
+      "notify_new_patch_sets": true,
+      "notify_all_comments": true,
+    }
+  ]
+```
+
+As result the watched projects of the user are returned as a list of
+[ProjectWatchInfo](#project-watch-info) entities. The result is sorted
+by project name in ascending order.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "project": "Test Project 1",
+      "notify_new_changes": true,
+      "notify_new_patch_sets": true,
+      "notify_all_comments": true,
+    },
+    {
+      "project": "Test Project 2",
+      "notify_new_changes": true,
+      "notify_new_patch_sets": true,
+      "notify_all_comments": true,
+    }
+  ]
+```
+
+### Delete Watched Projects
+
+*POST /accounts/[{account-id}](#account-id)/watched.projects:delete*
+
+Projects posted to this endpoint will no longer be watched. The posted
+body can contain a list of [ProjectWatchInfo](#project-watch-info)
+entities.
+
+**Request.**
+
+``` 
+  POST /a/accounts/self/watched.projects:delete HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  [
+    {
+      "project": "Test Project 1",
+      "filter": "branch:master"
+    }
+  ]
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Account External IDs
+
+*GET /accounts/[{account-id}](#account-id)/external.ids*
+
+Retrieves the external ids of a user account.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/external.ids HTTP/1.0
+```
+
+As result the external ids of the user are returned as a list of
+[AccountExternalIdInfo](#account-external-id-info) entities.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "identity": "username:john",
+      "email": "john.doe@example.com",
+      "trusted": true
+    }
+  ]
+```
+
+### Delete Account External IDs
+
+*POST /accounts/[{account-id}](#account-id)/external.ids:delete*
+
+Delete a list of external ids for a user account. The target external
+ids must be provided as a list in the request body.
+
+Only external ids belonging to the caller may be deleted.
+
+**Request.**
+
+``` 
+  POST /a/accounts/self/external.ids:delete HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  [
+    "mailto:john.doe@example.com"
+  ]
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## Default Star Endpoints
+
+### Get Changes With Default Star
+
+*GET /accounts/[{account-id}](#account-id)/starred.changes*
+
+Gets the changes that were starred with the default star by the
+identified user account. This URL endpoint is functionally identical to
+the changes query `GET /changes/?q=is:starred`. The result is a list of
+[ChangeInfo](rest-api-changes.html#change-info) entities.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/starred.changes
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+      "project": "myProject",
+      "branch": "master",
+      "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+      "subject": "Implementing Feature X",
+      "status": "NEW",
+      "created": "2013-02-01 09:59:32.126000000",
+      "updated": "2013-02-21 11:16:36.775000000",
+      "starred": true,
+      "stars": [
+        "star"
+      ],
+      "mergeable": true,
+      "submittable": false,
+      "insertions": 145,
+      "deletions": 12,
+      "_number": 3965,
+      "owner": {
+        "name": "John Doe"
+      }
+    }
+  ]
+```
+
+### Put Default Star On Change
+
+*PUT
+/accounts/[{account-id}](#account-id)/starred.changes/[{change-id}](rest-api-changes.html#change-id)*
+
+Star a change with the default label. Changes starred with the default
+label are returned for the search query `is:starred` or `starredby:USER`
+and automatically notify the user whenever updates are made to the
+change.
+
+**Request.**
+
+``` 
+  PUT /a/accounts/self/starred.changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Remove Default Star From Change
+
+*DELETE
+/accounts/[{account-id}](#account-id)/starred.changes/[{change-id}](rest-api-changes.html#change-id)*
+
+Remove the default star label from a change. This stops
+notifications.
+
+**Request.**
+
+``` 
+  DELETE /a/accounts/self/starred.changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## Star Endpoints
+
+### Get Starred Changes
+
+*GET /accounts/[{account-id}](#account-id)/stars.changes*
+
+Gets the changes that were starred with any label by the identified user
+account. This URL endpoint is functionally identical to the changes
+query `GET /changes/?q=has:stars`. The result is a list of
+[ChangeInfo](rest-api-changes.html#change-info) entities.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/stars.changes
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+      "project": "myProject",
+      "branch": "master",
+      "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+      "subject": "Implementing Feature X",
+      "status": "NEW",
+      "created": "2013-02-01 09:59:32.126000000",
+      "updated": "2013-02-21 11:16:36.775000000",
+      "stars": [
+        "ignore",
+        "risky"
+      ],
+      "mergeable": true,
+      "submittable": false,
+      "insertions": 145,
+      "deletions": 12,
+      "_number": 3965,
+      "owner": {
+        "name": "John Doe"
+      }
+    }
+  ]
+```
+
+### Get Star Labels From Change
+
+*GET
+/accounts/[{account-id}](#account-id)/stars.changes/[{change-id}](rest-api-changes.html#change-id)*
+
+Get star labels from a
+change.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/stars.changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
+```
+
+As response the star labels that the user applied on the change are
+returned. The labels are lexicographically sorted.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    "blue",
+    "green",
+    "red"
+  ]
+```
+
+### Update Star Labels On Change
+
+*POST
+/accounts/[{account-id}](#account-id)/stars.changes/[{change-id}](rest-api-changes.html#change-id)*
+
+Update star labels on a change. The star labels to be added/removed must
+be specified in the request body as [StarsInput](#stars-input) entity.
+Starred changes are returned for the search query
+`has:stars`.
+
+**Request.**
+
+``` 
+  POST /a/accounts/self/stars.changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "add": [
+      "blue",
+      "red"
+    ],
+    "remove": [
+      "yellow"
+    ]
+  }
+```
+
+As response the star labels that the user applied on the change are
+returned. The labels are lexicographically sorted.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    "blue",
+    "green",
+    "red"
+  ]
+```
+
+### List Contributor Agreements
+
+*GET /accounts/[{account-id}](#account-id)/agreements*
+
+Gets a list of the user’s signed contributor agreements.
+
+**Request.**
+
+``` 
+  GET /a/accounts/self/agreements HTTP/1.0
+```
+
+As response the user’s signed agreements are returned as a list of
+[ContributorAgreementInfo](#contributor-agreement-info) entities.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "name": "Individual",
+      "description": "If you are going to be contributing code on your own, this is the one you want. You can sign this one online.",
+      "url": "static/cla_individual.html"
+    }
+  ]
+```
+
+### Sign Contributor Agreement
+
+*PUT /accounts/[{account-id}](#account-id)/agreements*
+
+Signs a contributor agreement.
+
+The contributor agreement must be provided in the request body as a
+[ContributorAgreementInput](#contributor-agreement-input).
+
+**Request.**
+
+``` 
+  PUT /accounts/self/agreements HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "name": "Individual"
+  }
+```
+
+As response the contributor agreement name is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Individual"
+```
+
+### Index Account
+
+*POST /accounts/[{account-id}](#account-id)/index*
+
+Adds or updates the account in the secondary index.
+
+**Request.**
+
+``` 
+  POST /accounts/1000096/index HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## IDs
+
+### {account-id}
+
+Identifier that uniquely identifies one account.
+
+This can be:
+
+  - a string of the format "Full Name \<<email@example.com>\>"
+
+  - just the email address ("email@example")
+
+  - a full name if it is unique ("Full Name")
+
+  - an account ID ("18419")
+
+  - a user name ("username")
+
+  - `self` for the calling user
+
+### {capability-id}
+
+Identifier of a global capability. Valid values are all field names of
+the [CapabilityInfo](#capability-info) entity.
+
+### {email-id}
+
+An email address, or `preferred` for the preferred email address of the
+user.
+
+### {username}
+
+The user name.
+
+### {ssh-key-id}
+
+The sequence number of the SSH key.
+
+### {gpg-key-id}
+
+A GPG key identifier, either the 8-character hex key reported by `gpg
+--list-keys`, or the 40-character hex fingerprint (whitespace is
+ignored) reported by `gpg --list-keys --with-fingerprint`.
+
+## JSON Entities
+
+### AccountDetailInfo
+
+The `AccountDetailInfo` entity contains detailed information about an
+account.
+
+`AccountDetailInfo` has the same fields as [AccountInfo](#account-info).
+In addition `AccountDetailInfo` has the following fields:
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>registered_on</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when the account was registered.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>inactive</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the account is inactive.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AccountExternalIdInfo
+
+The `AccountExternalIdInfo` entity contains information for an external
+id of an account.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>identity</code></p></td>
+<td></td>
+<td><p>The account external id.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>email</code></p></td>
+<td><p>optional</p></td>
+<td><p>The email address for the external id.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>trusted</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the external id is trusted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>can_delete</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the external id can be deleted by the calling user.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AccountInfo
+
+The `AccountInfo` entity contains information about an account.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>_account_id</code></p></td>
+<td></td>
+<td><p>The numeric ID of the account.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The full name of the user.<br />
+Only set if detailed account information is requested.<br />
+See option <a href="rest-api-changes.html#detailed-accounts">DETAILED_ACCOUNTS</a> for change queries<br />
+and option <a href="#details">DETAILS</a> for account queries.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>email</code></p></td>
+<td><p>optional</p></td>
+<td><p>The email address the user prefers to be contacted through.<br />
+Only set if detailed account information is requested.<br />
+See option <a href="rest-api-changes.html#detailed-accounts">DETAILED_ACCOUNTS</a> for change queries<br />
+and options <a href="#details">DETAILS</a> and <a href="#all-emails">ALL_EMAILS</a> for account queries.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>secondary_emails</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of the secondary email addresses of the user.<br />
+Only set for account queries when the <a href="#all-emails">ALL_EMAILS</a> option is set.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>username</code></p></td>
+<td><p>optional</p></td>
+<td><p>The username of the user.<br />
+Only set if detailed account information is requested.<br />
+See option <a href="rest-api-changes.html#detailed-accounts">DETAILED_ACCOUNTS</a> for change queries<br />
+and option <a href="#details">DETAILS</a> for account queries.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_more_accounts</code></p></td>
+<td><p>optional, not set if <code>false</code></p></td>
+<td><p>Whether the query would deliver more results if not limited.<br />
+Only set on the last account that is returned.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AccountInput
+
+The `AccountInput` entity contains information for the creation of a new
+account.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>username</code></p></td>
+<td><p>optional</p></td>
+<td><p>The user name. If provided, must match the user name from the URL.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The full name of the user.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>email</code></p></td>
+<td><p>optional</p></td>
+<td><p>The email address of the user.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ssh_key</code></p></td>
+<td><p>optional</p></td>
+<td><p>The public SSH key of the user.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>http_password</code></p></td>
+<td><p>optional</p></td>
+<td><p>The HTTP password of the user.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>groups</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="rest-api-groups.html#group-id">group IDs</a> that identify the groups to which the user should be added.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AccountNameInput
+
+The `AccountNameInput` entity contains information for setting a name
+for an account.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The new full name of the account.<br />
+If not set or if set to an empty string, the account name is deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AccountStatusInput
+
+The `AccountStatusInput` entity contains information for setting a
+status for an account.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td><p>optional</p></td>
+<td><p>The new status of the account.<br />
+If not set or if set to an empty string, the account status is deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CapabilityInfo
+
+The `CapabilityInfo` entity contains information about the global
+capabilities of a user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>accessDatabase</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_accessDatabase">Access Database</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>administrateServer</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_administrateServer">Administrate Server</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>createAccount</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_createAccount">Create Account</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>createGroup</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_createGroup">Create Group</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>createProject</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_createProject">Create Project</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>emailReviewers</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_emailReviewers">Email Reviewers</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>flushCaches</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_flushCaches">Flush Caches</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>killTask</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_kill">Kill Task</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>maintainServer</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_maintainServer">Maintain Server</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>priority</code></p></td>
+<td><p>not set if <code>INTERACTIVE</code></p></td>
+<td><p>The name of the thread pool used by the user, see <a href="access-control.html#capability_priority">Priority</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>queryLimit</code></p></td>
+<td></td>
+<td><p>The <a href="access-control.html#capability_queryLimit">Query Limit</a> of the user as <a href="#query-limit-info">QueryLimitInfo</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>runAs</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_runAs">Run As</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>runGC</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_runGC">Run Garbage Collection</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>streamEvents</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_streamEvents">Stream Events</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>viewAllAccounts</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_viewAllAccounts">View All Accounts</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>viewCaches</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_viewCaches">View Caches</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>viewConnections</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_viewConnections">View Connections</a> capability.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>viewPlugins</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_viewPlugins">View Plugins</a> capability.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>viewQueue</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the user has the <a href="access-control.html#capability_viewQueue">View Queue</a> capability.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ContributorAgreementInfo
+
+The `ContributorAgreementInfo` entity contains information about a
+contributor agreement.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>The name of the agreement.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>description</code></p></td>
+<td><p>The description of the agreement.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td><p>The URL of the agreement.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ContributorAgreementInput
+
+The `ContributorAgreementInput` entity contains information about a new
+contributor agreement.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>The name of the agreement.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DiffPreferencesInfo
+
+The `DiffPreferencesInfo` entity contains information about the diff
+preferences of a user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>context</code></p></td>
+<td></td>
+<td><p>The number of lines of context when viewing a patch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>theme</code></p></td>
+<td></td>
+<td><p>The CodeMirror theme name in upper case, for example <code>DEFAULT</code>. All the themes from the CodeMirror release that Gerrit is using are available.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>expand_all_comments</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether all inline comments should be automatically expanded.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ignore_whitespace</code></p></td>
+<td></td>
+<td><p>Whether whitespace changes should be ignored and if yes, which whitespace changes should be ignored.<br />
+Allowed values are <code>IGNORE_NONE</code>, <code>IGNORE_TRAILING</code>, <code>IGNORE_LEADING_AND_TRAILING</code>, <code>IGNORE_ALL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>intraline_difference</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether intraline differences should be highlighted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>line_length</code></p></td>
+<td></td>
+<td><p>Number of characters that should be displayed in one line.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>cursor_blink_rate</code></p></td>
+<td></td>
+<td><p>Half-period in milliseconds used for cursor blinking. Setting it to 0 disables cursor blinking.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>manual_review</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the <em>Reviewed</em> flag should not be set automatically on a patch when it is viewed.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>retain_header</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the header that is displayed above the patch (that either shows the commit message, the diff preferences, the patch sets or the files) should be retained on file switch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_line_endings</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether Windows EOL/Cr-Lf should be displayed as <em>\r</em> in a dotted-line box.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>show_tabs</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether tabs should be shown.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_whitespace_errors</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether whitespace errors should be shown.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>skip_deleted</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether deleted files should be skipped on file switch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>skip_uncommented</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether uncommented files should be skipped on file switch.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>syntax_highlighting</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether syntax highlighting should be enabled.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>hide_top_menu</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>If true the top menu header and site header are hidden.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>auto_hide_diff_table_header</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>If true the diff table header is automatically hidden when scrolling down more than half of a page.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>hide_line_numbers</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>If true the line numbers are hidden.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>tab_size</code></p></td>
+<td></td>
+<td><p>Number of spaces that should be used to display one tab.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>font_size</code></p></td>
+<td></td>
+<td><p>Default font size in pixels for change to be displayed in the diff view.</p></td>
+</tr>
+<tr class="odd">
+<td><p><em>hide_empty_pane</em></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether empty panes should be hidden. The left pane is empty when a file was added; the right pane is empty when a file was deleted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>match_brackets</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether matching brackets should be highlighted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>line_wrapping</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to enable line wrapping or not.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DiffPreferencesInput
+
+The `DiffPreferencesInput` entity contains information for setting the
+diff preferences of a user. Fields which are not set will not be
+updated.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>context</code></p></td>
+<td><p>optional</p></td>
+<td><p>The number of lines of context when viewing a patch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>expand_all_comments</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether all inline comments should be automatically expanded.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ignore_whitespace</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether whitespace changes should be ignored and if yes, which whitespace changes should be ignored.<br />
+Allowed values are <code>IGNORE_NONE</code>, <code>IGNORE_TRAILING</code>, <code>IGNORE_LEADING_AND_TRAILING</code>, <code>IGNORE_ALL</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>intraline_difference</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether intraline differences should be highlighted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>line_length</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of characters that should be displayed in one line.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>manual_review</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether the <em>Reviewed</em> flag should not be set automatically on a patch when it is viewed.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>retain_header</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether the header that is displayed above the patch (that either shows the commit message, the diff preferences, the patch sets or the files) should be retained on file switch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_line_endings</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether Windows EOL/Cr-Lf should be displayed as <em>\r</em> in a dotted-line box.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>show_tabs</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether tabs should be shown.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_whitespace_errors</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether whitespace errors should be shown.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>skip_deleted</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether deleted files should be skipped on file switch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>skip_uncommented</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether uncommented files should be skipped on file switch.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>syntax_highlighting</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether syntax highlighting should be enabled.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>hide_top_menu</code></p></td>
+<td><p>optional</p></td>
+<td><p>True if the top menu header and site header should be hidden.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>auto_hide_diff_table_header</code></p></td>
+<td><p>optional</p></td>
+<td><p>True if the diff table header is automatically hidden when scrolling down more than half of a page.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>hide_line_numbers</code></p></td>
+<td><p>optional</p></td>
+<td><p>True if the line numbers should be hidden.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>tab_size</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of spaces that should be used to display one tab.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>font_size</code></p></td>
+<td><p>optional</p></td>
+<td><p>Default font size in pixels for change to be displayed in the diff view.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>line_wrapping</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to enable line wrapping or not.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>indent_with_tabs</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to enable indent with tabs or not.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EditPreferencesInfo
+
+The `EditPreferencesInfo` entity contains information about the edit
+preferences of a user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>theme</code></p></td>
+<td></td>
+<td><p>The CodeMirror theme name in upper case, for example <code>DEFAULT</code>. All the themes from the CodeMirror release that Gerrit is using are available.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>key_map_type</code></p></td>
+<td></td>
+<td><p>The CodeMirror key map. Currently only a subset of key maps are supported: <code>DEFAULT</code>, <code>EMACS</code>, <code>SUBLIME</code>, <code>VIM</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>tab_size</code></p></td>
+<td></td>
+<td><p>Number of spaces that should be used to display one tab.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>line_length</code></p></td>
+<td></td>
+<td><p>Number of characters that should be displayed per line.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>indent_unit</code></p></td>
+<td></td>
+<td><p>Number of spaces that should be used for auto-indent.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>cursor_blink_rate</code></p></td>
+<td></td>
+<td><p>Half-period in milliseconds used for cursor blinking. Setting it to 0 disables cursor blinking.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>hide_top_menu</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>If true the top menu header and site header is hidden.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_tabs</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether tabs should be shown.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>show_whitespace_errors</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether whitespace errors should be shown.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>syntax_highlighting</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether syntax highlighting should be enabled.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>hide_line_numbers</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether line numbers should be hidden.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>match_brackets</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether matching brackets should be highlighted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>line_wrapping</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to enable line wrapping or not.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>auto_close_brackets</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether brackets and quotes should be auto-closed during typing.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EmailInfo
+
+The `EmailInfo` entity contains information about an email address of a
+user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>email</code></p></td>
+<td></td>
+<td><p>The email address.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>preferred</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether this is the preferred email address of the user.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>pending_confirmation</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Set true if the user must confirm control of the email address by following a verification link before Gerrit will permit use of this address.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EmailInput
+
+The `EmailInput` entity contains information for registering a new email
+address.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>email</code></p></td>
+<td></td>
+<td><p>The email address. If provided, must match the email address from the URL.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>preferred</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the new email address should become the preferred email address of the user (only supported if <code>no_confirmation</code> is set or if the authentication type is <code>DEVELOPMENT_BECOME_ANY_ACCOUNT</code>).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>no_confirmation</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the email address should be added without confirmation. In this case no verification email is sent to the user.<br />
+Only Gerrit administrators are allowed to add email addresses without confirmation.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GpgKeyInfo
+
+The `GpgKeyInfo` entity contains information about a GPG public key.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td><p>Not set in map context</p></td>
+<td><p>The 8-char hex GPG key ID.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>fingerprint</code></p></td>
+<td><p>Not set for deleted keys</p></td>
+<td><p>The 40-char (plus spaces) hex GPG key fingerprint.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>user_ids</code></p></td>
+<td><p>Not set for deleted keys</p></td>
+<td><p><a href="https://tools.ietf.org/html/rfc4880#section-5.11">OpenPGP User IDs</a> associated with the public key.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>key</code></p></td>
+<td><p>Not set for deleted keys</p></td>
+<td><p>ASCII armored public key material.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td><p>Not set for deleted keys</p></td>
+<td><p>The result of server-side checks on the key; one of <code>BAD</code>, <code>OK</code>, or <code>TRUSTED</code>. <code>BAD</code> keys have serious problems and should not be used. If a key is <code>OK,
+inspecting only that key found no problems, but the system does not fully trust
+the key's origin. A `TRUSTED</code> key is valid, and the system knows enough about the key and its origin to trust it.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>problems</code></p></td>
+<td><p>Not set for deleted keys</p></td>
+<td><p>A list of human-readable problem strings found in the course of checking whether the key is valid and trusted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GpgKeysInput
+
+The `GpgKeysInput` entity contains information for adding/deleting GPG
+keys.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>add</code></p></td>
+<td><p>List of ASCII armored public key strings to add.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>delete</code></p></td>
+<td><p>List of <a href="#gpg-key-id"><code>\{gpg-key-id\}</code></a>s to delete.</p></td>
+</tr>
+</tbody>
+</table>
+
+### HttpPasswordInput
+
+The `HttpPasswordInput` entity contains information for
+setting/generating an HTTP password.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>generate</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether a new HTTP password should be generated</p></td>
+</tr>
+<tr class="even">
+<td><p><code>http_password</code></p></td>
+<td><p>optional</p></td>
+<td><p>The new HTTP password. Only Gerrit administrators may set the HTTP password directly.<br />
+If empty or not set and <code>generate</code> is false or not set, the HTTP password is deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### OAuthTokenInfo
+
+The `OAuthTokenInfo` entity contains information about an OAuth access
+token.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>username</code></p></td>
+<td></td>
+<td><p>The owner of the OAuth access token.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>resource_host</code></p></td>
+<td></td>
+<td><p>The host of the Gerrit instance.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>access_token</code></p></td>
+<td></td>
+<td><p>The actual token value.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>provider_id</code></p></td>
+<td><p>optional</p></td>
+<td><p>The identifier of the OAuth provider in the form <code>plugin-name:provider-name</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>expires_at</code></p></td>
+<td><p>optional</p></td>
+<td><p>Time of expiration of this token in milliseconds.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>type</code></p></td>
+<td></td>
+<td><p>The type of the OAuth access token, always <code>bearer</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PreferencesInfo
+
+The `PreferencesInfo` entity contains information about a user’s
+preferences.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>changes_per_page</code></p></td>
+<td></td>
+<td><p>The number of changes to show on each page. Allowed values are <code>10</code>, <code>25</code>, <code>50</code>, <code>100</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_site_header</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the site header should be shown.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>use_flash_clipboard</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to use the flash clipboard widget.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>expand_inline_diffs</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to expand diffs inline instead of opening as separate page (PolyGerrit only).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>download_scheme</code></p></td>
+<td><p>optional</p></td>
+<td><p>The type of download URL the user prefers to use. May be any key from the <code>schemes</code> map in <a href="rest-api-config.html#download-info">DownloadInfo</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>download_command</code></p></td>
+<td></td>
+<td><p>The type of download command the user prefers to use.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>date_format</code></p></td>
+<td></td>
+<td><p>The format to display the date in. Allowed values are <code>STD</code>, <code>US</code>, <code>ISO</code>, <code>EURO</code>, <code>UK</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>time_format</code></p></td>
+<td></td>
+<td><p>The format to display the time in. Allowed values are <code>HHMM_12</code>, <code>HHMM_24</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>relative_date_in_change_table</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to show relative dates in the changes table.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>diff_view</code></p></td>
+<td></td>
+<td><p>The type of diff view to show. Allowed values are <code>SIDE_BY_SIDE</code>, <code>UNIFIED_DIFF</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>size_bar_in_change_table</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to show the change sizes as colored bars in the change table.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>legacycid_in_change_table</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to show change number in the change table.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>review_category_strategy</code></p></td>
+<td></td>
+<td><p>The strategy used to displayed info in the review category column. Allowed values are <code>NONE</code>, <code>NAME</code>, <code>EMAIL</code>, <code>USERNAME</code>, <code>ABBREV</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>mute_common_path_prefixes</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to mute common path prefixes in file names in the file table.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>signed_off_by</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to insert Signed-off-by footer in changes created with the inline edit feature.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>my</code></p></td>
+<td></td>
+<td><p>The menu items of the <code>MY</code> top menu as a list of <a href="rest-api-config.html#top-menu-item-info">TopMenuItemInfo</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>change_table</code></p></td>
+<td></td>
+<td><p>The columns to display in the change table (PolyGerrit only). The default is empty, which will default columns as determined by the frontend.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>url_aliases</code></p></td>
+<td><p>optional</p></td>
+<td><p>A map of URL path pairs, where the first URL path is an alias for the second URL path.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>email_strategy</code></p></td>
+<td></td>
+<td><p>The type of email strategy to use. On <code>ENABLED</code>, the user will receive emails from Gerrit. On <code>CC_ON_OWN_COMMENTS</code> the user will also receive emails for their own comments. On <code>DISABLED</code> the user will not receive any email notifications from Gerrit. Allowed values are <code>ENABLED</code>, <code>CC_ON_OWN_COMMENTS</code>, <code>DISABLED</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>default_base_for_merges</code></p></td>
+<td></td>
+<td><p>The base which should be pre-selected in the <em>Diff Against</em> drop-down list when the change screen is opened for a merge commit. Allowed values are <code>AUTO_MERGE</code> and <code>FIRST_PARENT</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>publish_comments_on_push</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to <a href="user-upload.html#publish-comments">publish draft comments</a> on push by default.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PreferencesInput
+
+The `PreferencesInput` entity contains information for setting the user
+preferences. Fields which are not set will not be updated.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>changes_per_page</code></p></td>
+<td><p>optional</p></td>
+<td><p>The number of changes to show on each page. Allowed values are <code>10</code>, <code>25</code>, <code>50</code>, <code>100</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>show_site_header</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether the site header should be shown.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>use_flash_clipboard</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to use the flash clipboard widget.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>expand_inline_diffs</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to expand diffs inline instead of opening as separate page (PolyGerrit only).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>download_scheme</code></p></td>
+<td><p>optional</p></td>
+<td><p>The type of download URL the user prefers to use.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>download_command</code></p></td>
+<td><p>optional</p></td>
+<td><p>The type of download command the user prefers to use.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>date_format</code></p></td>
+<td><p>optional</p></td>
+<td><p>The format to display the date in. Allowed values are <code>STD</code>, <code>US</code>, <code>ISO</code>, <code>EURO</code>, <code>UK</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>time_format</code></p></td>
+<td><p>optional</p></td>
+<td><p>The format to display the time in. Allowed values are <code>HHMM_12</code>, <code>HHMM_24</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>relative_date_in_change_table</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to show relative dates in the changes table.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>diff_view</code></p></td>
+<td><p>optional</p></td>
+<td><p>The type of diff view to show. Allowed values are <code>SIDE_BY_SIDE</code>, <code>UNIFIED_DIFF</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>size_bar_in_change_table</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to show the change sizes as colored bars in the change table.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>legacycid_in_change_table</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to show change number in the change table.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>review_category_strategy</code></p></td>
+<td><p>optional</p></td>
+<td><p>The strategy used to displayed info in the review category column. Allowed values are <code>NONE</code>, <code>NAME</code>, <code>EMAIL</code>, <code>USERNAME</code>, <code>ABBREV</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>mute_common_path_prefixes</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to mute common path prefixes in file names in the file table.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>signed_off_by</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether to insert Signed-off-by footer in changes created with the inline edit feature.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>my</code></p></td>
+<td><p>optional</p></td>
+<td><p>The menu items of the <code>MY</code> top menu as a list of <a href="rest-api-config.html#top-menu-item-info">TopMenuItemInfo</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>change_table</code></p></td>
+<td></td>
+<td><p>The columns to display in the change table (PolyGerrit only). The default is empty, which will default columns as determined by the frontend.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>url_aliases</code></p></td>
+<td><p>optional</p></td>
+<td><p>A map of URL path pairs, where the first URL path is an alias for the second URL path.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>email_strategy</code></p></td>
+<td><p>optional</p></td>
+<td><p>The type of email strategy to use. On <code>ENABLED</code>, the user will receive emails from Gerrit. On <code>CC_ON_OWN_COMMENTS</code> the user will also receive emails for their own comments. On <code>DISABLED</code> the user will not receive any email notifications from Gerrit. Allowed values are <code>ENABLED</code>, <code>CC_ON_OWN_COMMENTS</code>, <code>DISABLED</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>default_base_for_merges</code></p></td>
+<td><p>optional</p></td>
+<td><p>The base which should be pre-selected in the <em>Diff Against</em> drop-down list when the change screen is opened for a merge commit. Allowed values are <code>AUTO_MERGE</code> and <code>FIRST_PARENT</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### QueryLimitInfo
+
+The `QueryLimitInfo` entity contains information about the [Query
+Limit](access-control.html#capability_queryLimit) of a user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>min</code></p></td>
+<td><p>Lower limit.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>max</code></p></td>
+<td><p>Upper limit.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SshKeyInfo
+
+The `SshKeyInfo` entity contains information about an SSH key of a user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>seq</code></p></td>
+<td></td>
+<td><p>The sequence number of the SSH key.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ssh_public_key</code></p></td>
+<td></td>
+<td><p>The complete public SSH key.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>encoded_key</code></p></td>
+<td></td>
+<td><p>The encoded key.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>algorithm</code></p></td>
+<td></td>
+<td><p>The algorithm of the SSH key.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>comment</code></p></td>
+<td><p>optional</p></td>
+<td><p>The comment of the SSH key.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>valid</code></p></td>
+<td></td>
+<td><p>Whether the SSH key is valid.</p></td>
+</tr>
+</tbody>
+</table>
+
+### StarsInput
+
+The `StarsInput` entity contains star labels that should be added to or
+removed from a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>add</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of labels to add to the change.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>remove</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of labels to remove from the change.</p></td>
+</tr>
+</tbody>
+</table>
+
+### UsernameInput
+
+The `UsernameInput` entity contains information for setting the username
+for an account.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>username</code></p></td>
+<td><p>The new username of the account.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectWatchInfo
+
+The `WatchedProjectsInfo` entity contains information about a project
+watch for a user.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>project</code></p></td>
+<td></td>
+<td><p>The name of the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>filter</code></p></td>
+<td><p>optional</p></td>
+<td><p>A filter string to be applied to the project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_new_changes</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify on new changes.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify_new_patch_sets</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify on new patch sets.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_all_comments</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify on comments.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify_submitted_changes</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify on submitted changes.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_abandoned_changes</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify on abandoned changes.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-changes.md b/jekyll-source/pages/gerrit/rest-api-changes.md
new file mode 100644
index 0000000..070c9c8
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-changes.md
@@ -0,0 +1,9017 @@
+---
+title: " Gerrit Code Review - /changes/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-changes.html
+---
+This page describes the change related REST endpoints. Please also take
+note of the general information on the [REST API](rest-api.html).
+
+## Change Endpoints
+
+### Create Change
+
+*POST /changes/*
+
+The change input [ChangeInput](#change-input) entity must be provided in
+the request body.
+
+**Request.**
+
+``` 
+  POST /changes/ HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "project" : "myProject",
+    "subject" : "Let's support 100% Gerrit workflow direct in browser",
+    "branch" : "master",
+    "topic" : "create-change-in-browser",
+    "status" : "NEW"
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the resulting change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9941",
+    "project": "myProject",
+    "branch": "master",
+    "topic": "create-change-in-browser",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9941",
+    "subject": "Let's support 100% Gerrit workflow direct in browser",
+    "status": "NEW",
+    "created": "2014-05-05 07:15:44.639000000",
+    "updated": "2014-05-05 07:15:44.639000000",
+    "mergeable": true,
+    "insertions": 0,
+    "deletions": 0,
+    "_number": 4711,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+### Query Changes
+
+*GET /changes/*
+
+Queries changes visible to the caller. The [query
+string](user-search.html#_search_operators) must be provided by the `q`
+parameter. The `n` parameter can be used to limit the returned results.
+
+As result a list of [ChangeInfo](#change-info) entries is returned. The
+change output is sorted by the last update time, most recently updated
+to oldest updated.
+
+Query for open changes of watched projects:
+
+**Request.**
+
+``` 
+  GET /changes/?q=status:open+is:watched&n=2 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "demo~master~Idaf5e098d70898b7119f6f4af5a6c13343d64b57",
+      "project": "demo",
+      "branch": "master",
+      "change_id": "Idaf5e098d70898b7119f6f4af5a6c13343d64b57",
+      "subject": "One change",
+      "status": "NEW",
+      "created": "2012-07-17 07:18:30.854000000",
+      "updated": "2012-07-17 07:19:27.766000000",
+      "mergeable": true,
+      "insertions": 26,
+      "deletions": 10,
+      "_number": 1756,
+      "owner": {
+        "name": "John Doe"
+      },
+    },
+    {
+      "id": "demo~master~I09c8041b5867d5b33170316e2abc34b79bbb8501",
+      "project": "demo",
+      "branch": "master",
+      "change_id": "I09c8041b5867d5b33170316e2abc34b79bbb8501",
+      "subject": "Another change",
+      "status": "NEW",
+      "created": "2012-07-17 07:18:30.884000000",
+      "updated": "2012-07-17 07:18:30.885000000",
+      "mergeable": true,
+      "insertions": 12,
+      "deletions": 18,
+      "_number": 1757,
+      "owner": {
+        "name": "John Doe"
+      },
+      "_more_changes": true
+    }
+  ]
+```
+
+If the number of changes matching the query exceeds either the internal
+limit or a supplied `n` query parameter, the last change object has a
+`_more_changes: true` JSON field set.
+
+The `S` or `start` query parameter can be supplied to skip a number of
+changes from the list.
+
+Clients are allowed to specify more than one query by setting the `q`
+parameter multiple times. In this case the result is an array of arrays,
+one per query in the same order the queries were given in.
+
+get::/changes/?q=status:open+is:watched\&n=25
+
+Query that retrieves changes for a user’s
+dashboard:
+
+**Request.**
+
+``` 
+  GET /changes/?q=is:open+owner:self&q=is:open+reviewer:self+-owner:self&q=is:closed+owner:self+limit:5&o=LABELS HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    [
+      {
+        "id": "demo~master~Idaf5e098d70898b7119f6f4af5a6c13343d64b57",
+        "project": "demo",
+        "branch": "master",
+        "change_id": "Idaf5e098d70898b7119f6f4af5a6c13343d64b57",
+        "subject": "One change",
+        "status": "NEW",
+        "created": "2012-07-17 07:18:30.854000000",
+        "updated": "2012-07-17 07:19:27.766000000",
+        "mergeable": true,
+        "insertions": 4,
+        "deletions": 7,
+        "_number": 1756,
+        "owner": {
+          "name": "John Doe"
+        },
+        "labels": {
+          "Verified": {},
+          "Code-Review": {}
+        }
+      }
+    ],
+    [],
+    []
+  ]
+```
+
+get::/changes/?q=is:open+owner:self\&q=is:open+reviewer:self+-owner:self\&q=is:closed+owner:self+limit:5\&o=LABELS
+
+Additional fields can be obtained by adding `o` parameters, each option
+requires more database lookups and slows down the query response time to
+the client so they are generally disabled by default. Optional fields
+are:
+
+  - `LABELS`: a summary of each label required for submit, and approvers
+    that have granted (or rejected) with that label.
+
+<!-- end list -->
+
+  - `DETAILED_LABELS`: detailed label information, including numeric
+    values of all existing approvals, recognized label values, values
+    permitted to be set by the current user, all reviewers by state, and
+    reviewers that may be removed by the current user.
+
+<!-- end list -->
+
+  - `CURRENT_REVISION`: describe the current revision (patch set) of the
+    change, including the commit SHA-1 and URLs to fetch from.
+
+<!-- end list -->
+
+  - `ALL_REVISIONS`: describe all revisions, not just current.
+
+<!-- end list -->
+
+  - `DOWNLOAD_COMMANDS`: include the `commands` field in the
+    [FetchInfo](#fetch-info) for revisions. Only valid when the
+    `CURRENT_REVISION` or `ALL_REVISIONS` option is selected.
+
+<!-- end list -->
+
+  - `CURRENT_COMMIT`: parse and output all header fields from the commit
+    object, including message. Only valid when the `CURRENT_REVISION` or
+    `ALL_REVISIONS` option is selected.
+
+<!-- end list -->
+
+  - `ALL_COMMITS`: parse and output all header fields from the output
+    revisions. If only `CURRENT_REVISION` was requested then only the
+    current revision’s commit data will be output.
+
+<!-- end list -->
+
+  - `CURRENT_FILES`: list files modified by the commit and magic files,
+    including basic line counts inserted/deleted per file. Only valid
+    when the `CURRENT_REVISION` or `ALL_REVISIONS` option is selected.
+
+<!-- end list -->
+
+  - `ALL_FILES`: list files modified by the commit and magic files,
+    including basic line counts inserted/deleted per file. If only the
+    `CURRENT_REVISION` was requested then only that commit’s modified
+    files will be output.
+
+<!-- end list -->
+
+  - `DETAILED_ACCOUNTS`: include `_account_id`, `email` and `username`
+    fields when referencing accounts.
+
+<!-- end list -->
+
+  - `REVIEWER_UPDATES`: include updates to reviewers set as
+    [ReviewerUpdateInfo](#review-update-info) entities.
+
+<!-- end list -->
+
+  - `MESSAGES`: include messages associated with the change.
+
+<!-- end list -->
+
+  - `CURRENT_ACTIONS`: include information on available actions for the
+    change and its current revision. Ignored if the caller is not
+    authenticated.
+
+<!-- end list -->
+
+  - `CHANGE_ACTIONS`: include information on available change actions
+    for the change. Ignored if the caller is not authenticated.
+
+<!-- end list -->
+
+  - `REVIEWED`: include the `reviewed` field if all of the following are
+    true:
+    
+      - the change is open
+    
+      - the caller is authenticated
+    
+      - the caller has commented on the change more recently than the
+        last update from the change owner, i.e. this change would show
+        up in the results of
+        [reviewedby:self](user-search.html#reviewedby).
+
+<!-- end list -->
+
+  - `SUBMITTABLE`: include the `submittable` field in
+    [ChangeInfo](#change-info), which can be used to tell if the change
+    is reviewed and ready for submit.
+
+<!-- end list -->
+
+  - `WEB_LINKS`: include the `web_links` field in
+    [CommitInfo](#commit-info), therefore only valid in combination with
+    `CURRENT_COMMIT` or `ALL_COMMITS`.
+
+<!-- end list -->
+
+  - `CHECK`: include potential problems with the change.
+
+<!-- end list -->
+
+  - `COMMIT_FOOTERS`: include the full commit message with
+    Gerrit-specific commit footers in the
+    [RevisionInfo](#revision-info).
+
+<!-- end list -->
+
+  - `PUSH_CERTIFICATES`: include push certificate information in the
+    [RevisionInfo](#revision-info). Ignored if signed push is not
+    [enabled](config-gerrit.html#receive.enableSignedPush) on the
+    server.
+
+<!-- end list -->
+
+  - `TRACKING_IDS`: include references to external tracking systems as
+    [TrackingIdInfo](#tracking-id-info).
+
+**Request.**
+
+``` 
+  GET /changes/?q=97&o=CURRENT_REVISION&o=CURRENT_COMMIT&o=CURRENT_FILES&o=DOWNLOAD_COMMANDS HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "gerrit~master~I7ea46d2e2ee5c64c0d807677859cfb7d90b8966a",
+      "project": "gerrit",
+      "branch": "master",
+      "change_id": "I7ea46d2e2ee5c64c0d807677859cfb7d90b8966a",
+      "subject": "Use an EventBus to manage star icons",
+      "status": "NEW",
+      "created": "2012-04-25 00:52:25.580000000",
+      "updated": "2012-04-25 00:52:25.586000000",
+      "mergeable": true,
+      "insertions": 16,
+      "deletions": 7,
+      "_number": 97,
+      "owner": {
+        "name": "Shawn Pearce"
+      },
+      "current_revision": "184ebe53805e102605d11f6b143486d15c23a09c",
+      "revisions": {
+        "184ebe53805e102605d11f6b143486d15c23a09c": {
+          "kind": "REWORK",
+          "_number": 1,
+          "ref": "refs/changes/97/97/1",
+          "fetch": {
+            "git": {
+              "url": "git://localhost/gerrit",
+              "ref": "refs/changes/97/97/1",
+              "commands": {
+                "Checkout": "git fetch git://localhost/gerrit refs/changes/97/97/1 \u0026\u0026 git checkout FETCH_HEAD",
+                "Cherry-Pick": "git fetch git://localhost/gerrit refs/changes/97/97/1 \u0026\u0026 git cherry-pick FETCH_HEAD",
+                "Format-Patch": "git fetch git://localhost/gerrit refs/changes/97/97/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD",
+                "Pull": "git pull git://localhost/gerrit refs/changes/97/97/1"
+              }
+            },
+            "http": {
+              "url": "http://myuser@127.0.0.1:8080/gerrit",
+              "ref": "refs/changes/97/97/1",
+              "commands": {
+                "Checkout": "git fetch http://myuser@127.0.0.1:8080/gerrit refs/changes/97/97/1 \u0026\u0026 git checkout FETCH_HEAD",
+                "Cherry-Pick": "git fetch http://myuser@127.0.0.1:8080/gerrit refs/changes/97/97/1 \u0026\u0026 git cherry-pick FETCH_HEAD",
+                "Format-Patch": "git fetch http://myuser@127.0.0.1:8080/gerrit refs/changes/97/97/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD",
+                "Pull": "git pull http://myuser@127.0.0.1:8080/gerrit refs/changes/97/97/1"
+              }
+            },
+            "ssh": {
+              "url": "ssh://myuser@*:29418/gerrit",
+              "ref": "refs/changes/97/97/1",
+              "commands": {
+                "Checkout": "git fetch ssh://myuser@*:29418/gerrit refs/changes/97/97/1 \u0026\u0026 git checkout FETCH_HEAD",
+                "Cherry-Pick": "git fetch ssh://myuser@*:29418/gerrit refs/changes/97/97/1 \u0026\u0026 git cherry-pick FETCH_HEAD",
+                "Format-Patch": "git fetch ssh://myuser@*:29418/gerrit refs/changes/97/97/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD",
+                "Pull": "git pull ssh://myuser@*:29418/gerrit refs/changes/97/97/1"
+              }
+            }
+          },
+          "commit": {
+            "parents": [
+              {
+                "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646",
+                "subject": "Migrate contributor agreements to All-Projects."
+              }
+            ],
+            "author": {
+              "name": "Shawn O. Pearce",
+              "email": "sop@google.com",
+              "date": "2012-04-24 18:08:08.000000000",
+              "tz": -420
+            },
+            "committer": {
+              "name": "Shawn O. Pearce",
+              "email": "sop@google.com",
+              "date": "2012-04-24 18:08:08.000000000",
+              "tz": -420
+            },
+            "subject": "Use an EventBus to manage star icons",
+            "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..."
+          },
+          "files": {
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeCache.java": {
+              "lines_deleted": 8,
+              "size_delta": -412,
+              "size": 7782
+            },
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeDetailCache.java": {
+              "lines_inserted": 1,
+              "size_delta": 23,
+              "size": 6762
+            },
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java": {
+              "lines_inserted": 11,
+              "lines_deleted": 19,
+              "size_delta": -298,
+              "size": 47023
+            },
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java": {
+              "lines_inserted": 23,
+              "lines_deleted": 20,
+              "size_delta": 132,
+              "size": 17727
+            },
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/StarCache.java": {
+              "status": "D",
+              "lines_deleted": 139,
+              "size_delta": -5512,
+              "size": 13098
+            },
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/StarredChanges.java": {
+              "status": "A",
+              "lines_inserted": 204,
+              "size_delta": 8345,
+              "size": 8345
+            },
+            "gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/Screen.java": {
+              "lines_deleted": 9,
+              "size_delta": -343,
+              "size": 5385
+            }
+          }
+        }
+      }
+    }
+  ]
+```
+
+### Get Change
+
+*GET /changes/[{change-id}](#change-id)*
+
+Retrieves a change.
+
+Additional fields can be obtained by adding `o` parameters, each option
+requires more database lookups and slows down the query response time to
+the client so they are generally disabled by default. Fields are
+described in [Query
+Changes](#list-changes).
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 34,
+    "deletions": 101,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+### Get Change Detail
+
+*GET /changes/[{change-id}](#change-id)/detail*
+
+Retrieves a change with [labels](#labels), [detailed
+labels](#detailed-labels), [detailed accounts](#detailed-accounts),
+[reviewer updates](#reviewer-updates), and [messages](#messages).
+
+Additional fields can be obtained by adding `o` parameters, each option
+requires more database lookups and slows down the query response time to
+the client so they are generally disabled by default. Fields are
+described in [Query
+Changes](#list-changes).
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/detail HTTP/1.0
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the change. This response will contain all votes for each
+label and include one combined vote. The combined label vote is
+calculated in the following order (from highest to lowest): REJECTED \>
+APPROVED \> DISLIKED \> RECOMMENDED.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 126,
+    "deletions": 11,
+    "_number": 3965,
+    "owner": {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com",
+      "username": "jdoe"
+    },
+    "labels": {
+      "Verified": {
+        "all": [
+          {
+            "value": 0,
+            "_account_id": 1000096,
+            "name": "John Doe",
+            "email": "john.doe@example.com",
+            "username": "jdoe"
+          },
+          {
+            "value": 0,
+            "_account_id": 1000097,
+            "name": "Jane Roe",
+            "email": "jane.roe@example.com",
+            "username": "jroe"
+          }
+        ],
+        "values": {
+          "-1": "Fails",
+          " 0": "No score",
+          "+1": "Verified"
+        }
+      },
+      "Code-Review": {
+        "disliked": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "all": [
+          {
+            "value": -1,
+            "_account_id": 1000096,
+            "name": "John Doe",
+            "email": "john.doe@example.com",
+            "username": "jdoe"
+          },
+          {
+            "value": 1,
+            "_account_id": 1000097,
+            "name": "Jane Roe",
+            "email": "jane.roe@example.com",
+            "username": "jroe"
+          }
+        ]
+        "values": {
+          "-2": "This shall not be merged",
+          "-1": "I would prefer this is not merged as is",
+          " 0": "No score",
+          "+1": "Looks good to me, but someone else must approve",
+          "+2": "Looks good to me, approved"
+        }
+      }
+    },
+    "permitted_labels": {
+      "Verified": [
+        "-1",
+        " 0",
+        "+1"
+      ],
+      "Code-Review": [
+        "-2",
+        "-1",
+        " 0",
+        "+1",
+        "+2"
+      ]
+    },
+    "removable_reviewers": [
+      {
+        "_account_id": 1000096,
+        "name": "John Doe",
+        "email": "john.doe@example.com",
+        "username": "jdoe"
+      },
+      {
+        "_account_id": 1000097,
+        "name": "Jane Roe",
+        "email": "jane.roe@example.com",
+        "username": "jroe"
+      }
+    ],
+    "reviewers": {
+      "REVIEWER": [
+        {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        {
+          "_account_id": 1000097,
+          "name": "Jane Roe",
+          "email": "jane.roe@example.com",
+          "username": "jroe"
+        }
+      ]
+    },
+    "reviewer_updates": [
+      {
+        "state": "REVIEWER",
+        "reviewer": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated_by": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated": "2016-07-21 20:12:39.000000000"
+      },
+      {
+        "state": "REMOVED",
+        "reviewer": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated_by": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated": "2016-07-21 20:12:33.000000000"
+      },
+      {
+        "state": "CC",
+        "reviewer": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated_by": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated": "2016-03-23 21:34:02.419000000",
+      },
+    ],
+    "messages": [
+      {
+        "id": "YH-egE",
+        "author": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "username": "jdoe"
+        },
+        "updated": "2013-03-23 21:34:02.419000000",
+        "message": "Patch Set 1:\n\nThis is the first message.",
+        "revision_number": 1
+      },
+      {
+        "id": "WEEdhU",
+        "author": {
+          "_account_id": 1000097,
+          "name": "Jane Roe",
+          "email": "jane.roe@example.com",
+          "username": "jroe"
+        },
+        "updated": "2013-03-23 21:36:52.332000000",
+        "message": "Patch Set 1:\n\nThis is the second message.\n\nWith a line break.",
+        "revision_number": 1
+      }
+    ]
+  }
+```
+
+### Create Merge Patch Set For Change
+
+*POST /changes/[{change-id}](#change-id)/merge*
+
+Update an existing change by using a
+[MergePatchSetInput](#merge-patch-set-input) entity.
+
+Gerrit will create a merge commit based on the information of
+MergePatchSetInput and add a new patch set to the change corresponding
+to the new merge
+commit.
+
+**Request.**
+
+``` 
+  POST /changes/test~master~Ic5466d107c5294414710935a8ef3b0180fb848dc/merge  HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "subject": "Merge dev_branch into master",
+    "merge": {
+      "source": "refs/12/1234/1"
+    }
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity with current revision is
+returned that describes the resulting change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "test~master~Ic5466d107c5294414710935a8ef3b0180fb848dc",
+    "project": "test",
+    "branch": "master",
+    "hashtags": [],
+    "change_id": "Ic5466d107c5294414710935a8ef3b0180fb848dc",
+    "subject": "Merge dev_branch into master",
+    "status": "NEW",
+    "created": "2016-09-23 18:08:53.238000000",
+    "updated": "2016-09-23 18:09:25.934000000",
+    "submit_type": "MERGE_IF_NECESSARY",
+    "mergeable": true,
+    "insertions": 5,
+    "deletions": 0,
+    "_number": 72,
+    "owner": {
+      "_account_id": 1000000
+    },
+    "current_revision": "27cc4558b5a3d3387dd11ee2df7a117e7e581822"
+  }
+```
+
+### Set Commit Message
+
+*PUT /changes/[{change-id}](#change-id)/message*
+
+Creates a new patch set with a new commit message.
+
+The new commit message must be provided in the request body inside a
+[CommitMessageInput](#commit-message-input) entity and contain the
+change ID footer if [Require
+Change-Id](project-configuration.html#require-change-id) was
+specified.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/message HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "New Commit message \n\nChange-Id: I10394472cbd17dd12454f229e4f6de00b143a444\n"
+  }
+```
+
+**Notifications.**
+
+An email will be sent using the "newpatchset" template.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>WIP State</th>
+<th>Default</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Ready for review</p></td>
+<td><p>owner, reviewers, CCs, stars, NEW_PATCHSETS watchers</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>owner</p></td>
+</tr>
+</tbody>
+</table>
+
+### Get Topic
+
+*GET /changes/[{change-id}](#change-id)/topic*
+
+Retrieves the topic of a
+change.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/topic HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Documentation"
+```
+
+If the change does not have a topic an empty string is returned.
+
+### Set Topic
+
+*PUT /changes/[{change-id}](#change-id)/topic*
+
+Sets the topic of a change.
+
+The new topic must be provided in the request body inside a
+[TopicInput](#topic-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/topic HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "topic": "Documentation"
+  }
+```
+
+As response the new topic is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Documentation"
+```
+
+If the topic was deleted the response is "`204 No Content`".
+
+### Delete Topic
+
+*DELETE /changes/[{change-id}](#change-id)/topic*
+
+Deletes the topic of a change.
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to specify a commit message, use
+[PUT](#set-topic) to delete the
+topic.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/topic HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Assignee
+
+*GET /changes/[{change-id}](#change-id)/assignee*
+
+Retrieves the account of the user assigned to a
+change.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/assignee HTTP/1.0
+```
+
+As a response an [AccountInfo](rest-api-accounts.html#account-info)
+entity describing the assigned account is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "jdoe"
+  }
+```
+
+If the change has no assignee the response is "`204 No Content`".
+
+### Get Past Assignees
+
+*GET /changes/[{change-id}](#change-id)/past\_assignees*
+
+Returns a list of every user ever assigned to a change, in the order in
+which they were first assigned.
+
+\[NOTE\] Past assignees are only available when NoteDb is
+enabled.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/past_assignees HTTP/1.0
+```
+
+As a response a list of
+[AccountInfo](rest-api-accounts.html#account-info) entities is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "_account_id": 1000051,
+      "name": "Jane Doe",
+      "email": "jane.doe@example.com",
+      "username": "janed"
+    },
+    {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com",
+      "username": "jdoe"
+    }
+  ]
+```
+
+### Set Assignee
+
+*PUT /changes/[{change-id}](#change-id)/assignee*
+
+Sets the assignee of a change.
+
+The new assignee must be provided in the request body inside a
+[AssigneeInput](#assignee-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/assignee HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "assignee": "jdoe"
+  }
+```
+
+As a response an [AccountInfo](rest-api-accounts.html#account-info)
+entity describing the assigned account is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "jdoe"
+  }
+```
+
+### Delete Assignee
+
+*DELETE /changes/[{change-id}](#change-id)/assignee*
+
+Deletes the assignee of a
+change.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/assignee HTTP/1.0
+```
+
+As a response an [AccountInfo](rest-api-accounts.html#account-info)
+entity describing the account of the deleted assignee is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "jdoe"
+  }
+```
+
+If the change had no assignee the response is "`204 No Content`".
+
+### Get Pure Revert
+
+*GET /changes/[{change-id}](#change-id)/pure\_revert*
+
+Check if the given change is a pure revert of the change it references
+in `revertOf`. Optionally, the query parameter `o` can be passed in to
+specify a commit (SHA1 in 40 digit hex representation) to check against.
+It takes precedence over `revertOf`. If the change has no reference in
+`revertOf`, the parameter is mandatory.
+
+As response a [PureRevertInfo](#pure-revert-info) entity is
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/pure_revert?o=247bccf56ae47634650bcc08b8aa784c3580ccas HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "is_pure_revert" : false
+  }
+```
+
+### Abandon Change
+
+*POST /changes/[{change-id}](#change-id)/abandon*
+
+Abandons a change.
+
+The request body does not need to include a
+[AbandonInput](#abandon-input) entity if no review comment is
+added.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/abandon HTTP/1.0
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the abandoned change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "ABANDONED",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 3,
+    "deletions": 310,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+If the change cannot be abandoned because the change state doesn’t allow
+abandoning of the change, the response is "`409 Conflict`" and the error
+message is contained in the response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  change is merged
+```
+
+**Notifications.**
+
+An email will be sent using the "abandon" template. The notify handling
+is ALL. Notifications are suppressed on WIP changes that have never
+started review.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="66%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>WIP State</th>
+<th>notify=ALL</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Ready for review</p></td>
+<td><p>owner, reviewers, CCs, stars, ABANDONED_CHANGES watchers</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>not sent</p></td>
+</tr>
+<tr class="odd">
+<td><p>Reviewable WIP</p></td>
+<td><p>owner, reviewers, CCs, stars, ABANDONED_CHANGES watchers</p></td>
+</tr>
+</tbody>
+</table>
+
+### Restore Change
+
+*POST /changes/[{change-id}](#change-id)/restore*
+
+Restores a change.
+
+The request body does not need to include a
+[RestoreInput](#restore-input) entity if no review comment is
+added.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/restore HTTP/1.0
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the restored change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 2,
+    "deletions": 13,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+If the change cannot be restored because the change state doesn’t allow
+restoring the change, the response is "`409 Conflict`" and the error
+message is contained in the response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  change is new
+```
+
+### Rebase Change
+
+*POST /changes/[{change-id}](#change-id)/rebase*
+
+Rebases a change.
+
+Optionally, the parent revision can be changed to another patch set
+through the [RebaseInput](#rebase-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I3ea943139cb62e86071996f2480e58bf3eeb9dd2/rebase HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "base" : "1234",
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the rebased change. Information about the current patch set is
+included.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I3ea943139cb62e86071996f2480e58bf3eeb9dd2",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I3ea943139cb62e86071996f2480e58bf3eeb9dd2",
+    "subject": "Implement Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": false,
+    "insertions": 33,
+    "deletions": 9,
+    "_number": 4799,
+    "owner": {
+      "name": "John Doe"
+    },
+    "current_revision": "27cc4558b5a3d3387dd11ee2df7a117e7e581822",
+    "revisions": {
+      "27cc4558b5a3d3387dd11ee2df7a117e7e581822": {
+        "kind": "REWORK",
+        "_number": 2,
+        "ref": "refs/changes/99/4799/2",
+        "fetch": {
+          "http": {
+            "url": "http://gerrit:8080/myProject",
+            "ref": "refs/changes/99/4799/2"
+          }
+        },
+        "commit": {
+          "parents": [
+            {
+              "commit": "b4003890dadd406d80222bf1ad8aca09a4876b70",
+              "subject": "Implement Feature A"
+            }
+        ],
+        "author": {
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "date": "2013-05-07 15:21:27.000000000",
+          "tz": 120
+        },
+        "committer": {
+          "name": "Gerrit Code Review",
+          "email": "gerrit-server@example.com",
+          "date": "2013-05-07 15:35:43.000000000",
+          "tz": 120
+        },
+        "subject": "Implement Feature X",
+        "message": "Implement Feature X\n\nAdded feature X."
+      }
+    }
+  }
+```
+
+If the change cannot be rebased, e.g. due to conflicts, the response is
+"`409 Conflict`" and the error message is contained in the response
+body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  The change could not be rebased due to a path conflict during merge.
+```
+
+### Move Change
+
+*POST /changes/[{change-id}](#change-id)/move*
+
+Move a change.
+
+The destination branch must be provided in the request body inside a
+[MoveInput](#move-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/move HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "destination_branch" : "release-branch"
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the moved change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~release-branch~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "release-branch",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 2,
+    "deletions": 13,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+Note that this endpoint will not update the change’s parents, which is
+different from the [cherry-pick](#cherry-pick) endpoint.
+
+If the change cannot be moved because the change state doesn’t allow
+moving the change, the response is "`409 Conflict`" and the error
+message is contained in the response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  change is merged
+```
+
+If the change cannot be moved because the user doesn’t have abandon
+permission on the change or upload permission on the destination, the
+response is "`409 Conflict`" and the error message is contained in the
+response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  move not permitted
+```
+
+### Revert Change
+
+*POST /changes/[{change-id}](#change-id)/revert*
+
+Reverts a change.
+
+The request body does not need to include a [RevertInput](#revert-input)
+entity if no review comment is
+added.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I1ffe09a505e25f15ce1521bcfb222e51e62c2a14/revert HTTP/1.0
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the reverting change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Revert \"Implementing Feature X\"",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 6,
+    "deletions": 4,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+If the change cannot be reverted because the change state doesn’t allow
+reverting the change, the response is "`409 Conflict`" and the error
+message is contained in the response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  change is new
+```
+
+### Submit Change
+
+*POST /changes/[{change-id}](#change-id)/submit*
+
+Submits a change.
+
+The request body only needs to include a [SubmitInput](#submit-input)
+entity if submitting on behalf of another
+user.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/submit HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "on_behalf_of": 1001439
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the submitted/merged change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "MERGED",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "submitted": "2013-02-21 11:16:36.615000000",
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+If the change cannot be submitted because the submit rule doesn’t allow
+submitting the change, the response is "`409 Conflict`" and the error
+message is contained in the response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  blocked by Verified
+```
+
+### Changes Submitted Together
+
+*GET
+/changes/[{change-id}](#change-id)/submitted\_together?o=NON\_VISIBLE\_CHANGES*
+
+Computes list of all changes which are submitted when
+[Submit](#submit-change) is called for this change, including the
+current change itself.
+
+The list consists of:
+
+  - The given change.
+
+  - If
+    [`change.submitWholeTopic`](config-gerrit.html#change.submitWholeTopic)
+    is enabled, include all open changes with the same topic.
+
+  - For each change whose submit type is not CHERRY\_PICK, include
+    unmerged ancestors targeting the same branch.
+
+As a special case, the list is empty if this change would be submitted
+by itself (without other
+changes).
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/submitted_together?o=NON_VISIBLE_CHANGES HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+```
+
+As a response a [SubmittedTogetherInfo](#submitted-together-info) entity
+is returned that describes what would happen if the change were
+submitted. This response contains a list of changes and a count of
+changes that are not visible to the caller that are part of the set of
+changes to be merged.
+
+The listed changes use the same format as in [Query
+Changes](#list-changes) with the [`LABELS`](#labels),
+[`DETAILED_LABELS`](#detailed-labels),
+[`CURRENT_REVISION`](#current-revision),
+[`CURRENT_COMMIT`](#current-commit), and [`SUBMITTABLE`](#submittable)
+options set.
+
+Standard [formatting options](#query-options) can be specified with the
+`o` parameter, as well as the `submitted_together` specific option
+`NON_VISIBLE_CHANGES`.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+)]}'
+{
+  "changes": [
+    {
+      "id": "gerrit~master~I1ffe09a505e25f15ce1521bcfb222e51e62c2a14",
+      "project": "gerrit",
+      "branch": "master",
+      "hashtags": [],
+      "change_id": "I1ffe09a505e25f15ce1521bcfb222e51e62c2a14",
+      "subject": "ChangeMergeQueue: Rewrite such that it works on set of changes",
+      "status": "NEW",
+      "created": "2015-05-01 15:39:57.979000000",
+      "updated": "2015-05-20 19:25:21.592000000",
+      "mergeable": true,
+      "insertions": 303,
+      "deletions": 210,
+      "_number": 1779,
+      "owner": {
+        "_account_id": 1000000
+      },
+      "labels": {
+        "Code-Review": {
+          "approved": {
+            "_account_id": 1000000
+          },
+          "all": [
+            {
+              "value": 2,
+              "date": "2015-05-20 19:25:21.592000000",
+              "_account_id": 1000000
+            }
+          ],
+          "values": {
+            "-2": "This shall not be merged",
+            "-1": "I would prefer this is not merged as is",
+            " 0": "No score",
+            "+1": "Looks good to me, but someone else must approve",
+            "+2": "Looks good to me, approved"
+          },
+          "default_value": 0
+        },
+        "Verified": {
+          "approved": {
+            "_account_id": 1000000
+          },
+          "all": [
+            {
+              "value": 1,
+              "date": "2015-05-20 19:25:21.592000000",
+              "_account_id": 1000000
+            }
+          ],
+          "values": {
+            "-1": "Fails",
+            " 0": "No score",
+            "+1": "Verified"
+          },
+          "default_value": 0
+        }
+      },
+      "permitted_labels": {
+        "Code-Review": [
+          "-2",
+          "-1",
+          " 0",
+          "+1",
+          "+2"
+        ],
+        "Verified": [
+          "-1",
+          " 0",
+          "+1"
+        ]
+      },
+      "removable_reviewers": [
+        {
+          "_account_id": 1000000
+        }
+      ],
+      "reviewers": {
+        "REVIEWER": [
+          {
+            "_account_id": 1000000
+          }
+        ]
+      },
+      "current_revision": "9adb9f4c7b40eeee0646e235de818d09164d7379",
+      "revisions": {
+        "9adb9f4c7b40eeee0646e235de818d09164d7379": {
+          "kind": "REWORK",
+          "_number": 1,
+          "created": "2015-05-01 15:39:57.979000000",
+          "uploader": {
+            "_account_id": 1000000
+          },
+          "ref": "refs/changes/79/1779/1",
+          "fetch": {},
+          "commit": {
+            "parents": [
+              {
+                "commit": "2d3176497a2747faed075f163707e57d9f961a1c",
+                "subject": "Merge changes from topic \u0027submodule-subscription-tests-and-fixes-3\u0027"
+              }
+            ],
+            "author": {
+              "name": "Stefan Beller",
+              "email": "sbeller@google.com",
+              "date": "2015-04-29 21:36:52.000000000",
+              "tz": -420
+            },
+            "committer": {
+              "name": "Stefan Beller",
+              "email": "sbeller@google.com",
+              "date": "2015-05-01 00:11:16.000000000",
+              "tz": -420
+            },
+            "subject": "ChangeMergeQueue: Rewrite such that it works on set of changes",
+            "message": "ChangeMergeQueue: Rewrite such that it works on set of changes\n\nChangeMergeQueue used to work on branches rather than sets of changes.\nThis change is a first step to merge sets of changes (e.g. grouped by a\ntopic and `changes.submitWholeTopic` enabled) in an atomic fashion.\nThis change doesn\u0027t aim to implement these changes, but only as a step\ntowards it.\n\nMergeOp keeps its functionality and behavior as is. A new class\nMergeOpMapper is introduced which will map the set of changes to\nthe set of branches. Additionally the MergeOpMapper is also\nresponsible for the threading done right now, which was part of\nthe ChangeMergeQueue before.\n\nChange-Id: I1ffe09a505e25f15ce1521bcfb222e51e62c2a14\n"
+          }
+        }
+      }
+    },
+    {
+      "id": "gerrit~master~I7fe807e63792b3d26776fd1422e5e790a5697e22",
+      "project": "gerrit",
+      "branch": "master",
+      "hashtags": [],
+      "change_id": "I7fe807e63792b3d26776fd1422e5e790a5697e22",
+      "subject": "AbstractSubmoduleSubscription: Split up createSubscription",
+      "status": "NEW",
+      "created": "2015-05-01 15:39:57.979000000",
+      "updated": "2015-05-20 19:25:21.546000000",
+      "mergeable": true,
+      "insertions": 15,
+      "deletions": 6,
+      "_number": 1780,
+      "owner": {
+        "_account_id": 1000000
+      },
+      "labels": {
+        "Code-Review": {
+          "approved": {
+            "_account_id": 1000000
+          },
+          "all": [
+            {
+              "value": 2,
+              "date": "2015-05-20 19:25:21.546000000",
+              "_account_id": 1000000
+            }
+          ],
+          "values": {
+            "-2": "This shall not be merged",
+            "-1": "I would prefer this is not merged as is",
+            " 0": "No score",
+            "+1": "Looks good to me, but someone else must approve",
+            "+2": "Looks good to me, approved"
+          },
+          "default_value": 0
+        },
+        "Verified": {
+          "approved": {
+            "_account_id": 1000000
+          },
+          "all": [
+            {
+              "value": 1,
+              "date": "2015-05-20 19:25:21.546000000",
+              "_account_id": 1000000
+            }
+          ],
+          "values": {
+            "-1": "Fails",
+            " 0": "No score",
+            "+1": "Verified"
+          },
+          "default_value": 0
+        }
+      },
+      "permitted_labels": {
+        "Code-Review": [
+          "-2",
+          "-1",
+          " 0",
+          "+1",
+          "+2"
+        ],
+        "Verified": [
+          "-1",
+          " 0",
+          "+1"
+        ]
+      },
+      "removable_reviewers": [
+        {
+          "_account_id": 1000000
+        }
+      ],
+      "reviewers": {
+        "REVIEWER": [
+          {
+            "_account_id": 1000000
+          }
+        ]
+      },
+      "current_revision": "1bd7c12a38854a2c6de426feec28800623f492c4",
+      "revisions": {
+        "1bd7c12a38854a2c6de426feec28800623f492c4": {
+          "kind": "REWORK",
+          "_number": 1,
+          "created": "2015-05-01 15:39:57.979000000",
+          "uploader": {
+            "_account_id": 1000000
+          },
+          "ref": "refs/changes/80/1780/1",
+          "fetch": {},
+          "commit": {
+            "parents": [
+              {
+                "commit": "9adb9f4c7b40eeee0646e235de818d09164d7379",
+                "subject": "ChangeMergeQueue: Rewrite such that it works on set of changes"
+              }
+            ],
+            "author": {
+              "name": "Stefan Beller",
+              "email": "sbeller@google.com",
+              "date": "2015-04-25 00:11:59.000000000",
+              "tz": -420
+            },
+            "committer": {
+              "name": "Stefan Beller",
+              "email": "sbeller@google.com",
+              "date": "2015-05-01 00:11:16.000000000",
+              "tz": -420
+            },
+            "subject": "AbstractSubmoduleSubscription: Split up createSubscription",
+            "message": "AbstractSubmoduleSubscription: Split up createSubscription\n\nLater we want to have subscriptions to more submodules, so we need to\nfind a way to add more submodule entries into the file. By splitting up\nthe createSubscription() method, that is very easy by using the\naddSubmoduleSubscription method multiple times.\n\nChange-Id: I7fe807e63792b3d26776fd1422e5e790a5697e22\n"
+          }
+        }
+      }
+    }
+  ],
+  "non_visible_changes": 0
+}
+```
+
+If the `o=NON_VISIBLE_CHANGES` query parameter is not passed, then
+instead of a [SubmittedTogetherInfo](#submitted-together-info) entity,
+the response is a list of changes, or a 403 response with a message if
+the set of changes to be submitted with this change includes changes the
+caller cannot read.
+
+### Delete Change
+
+*DELETE /changes/[{change-id}](#change-id)*
+
+Deletes a change.
+
+New or abandoned changes can be deleted by their owner if the user is
+granted the [Delete Own
+Changes](access-control.html#category_delete_own_changes) permission,
+otherwise only by
+administrators.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940 HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Included In
+
+*GET /changes/[{change-id}](#change-id)/in*
+
+Retrieves the branches and tags in which a change is included. As result
+an [IncludedInInfo](#included-in-info) entity is
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/in HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "branches": [
+      "master"
+    ],
+    "tags": []
+  }
+```
+
+### Index Change
+
+*POST /changes/[{change-id}](#change-id)/index*
+
+Adds or updates the change in the secondary
+index.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/index HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### List Change Comments
+
+*GET /changes/[{change-id}](#change-id)/comments*
+
+Lists the published comments of all revisions of the change.
+
+Returns a map of file paths to lists of [CommentInfo](#comment-info)
+entries. The entries in the map are sorted by file path, and the
+comments for each path are sorted by patch set number. Each comment has
+the `patch_set` and `author` fields
+set.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/comments HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+      {
+        "patch_set": 1,
+        "id": "TvcXrmjM",
+        "line": 23,
+        "message": "[nit] trailing whitespace",
+        "updated": "2013-02-26 15:40:43.986000000"
+        "author": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com"
+        }
+      },
+      {
+        "patch_set": 2,
+        "id": "TveXwFiA",
+        "line": 49,
+        "in_reply_to": "TfYX-Iuo",
+        "message": "Done",
+        "updated": "2013-02-26 15:40:45.328000000"
+        "author": {
+          "_account_id": 1000097,
+          "name": "Jane Roe",
+          "email": "jane.roe@example.com"
+        }
+      }
+    ]
+  }
+```
+
+### List Change Robot Comments
+
+*GET /changes/[{change-id}](#change-id)/robotcomments*
+
+Lists the robot comments of all revisions of the change.
+
+Return a map that maps the file path to a list of
+[RobotCommentInfo](#robot-comment-info) entries. The entries in the map
+are sorted by file
+path.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/robotcomments/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+      {
+        "id": "TvcXrmjM",
+        "line": 23,
+        "message": "unused import",
+        "updated": "2016-02-26 15:40:43.986000000",
+        "author": {
+          "_account_id": 1000110,
+          "name": "Code Analyzer",
+          "email": "code.analyzer@example.com"
+        },
+        "robotId": "importChecker",
+        "robotRunId": "76b1375aa8626ea7149792831fe2ed85e80d9e04"
+      },
+      {
+        "id": "TveXwFiA",
+        "line": 49,
+        "message": "wrong indention",
+        "updated": "2016-02-26 15:40:45.328000000",
+        "author": {
+          "_account_id": 1000110,
+          "name": "Code Analyzer",
+          "email": "code.analyzer@example.com"
+        },
+        "robotId": "styleChecker",
+        "robotRunId": "5c606c425dd45184484f9d0a2ffd725a7607839b"
+      }
+    ]
+  }
+```
+
+### List Change Drafts
+
+*GET /changes/[{change-id}](#change-id)/drafts*
+
+Lists the draft comments of all revisions of the change that belong to
+the calling user.
+
+Returns a map of file paths to lists of [CommentInfo](#comment-info)
+entries. The entries in the map are sorted by file path, and the
+comments for each path are sorted by patch set number. Each comment has
+the `patch_set` field set, and no
+`author`.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/drafts HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+      {
+        "patch_set": 1,
+        "id": "TvcXrmjM",
+        "line": 23,
+        "message": "[nit] trailing whitespace",
+        "updated": "2013-02-26 15:40:43.986000000"
+      },
+      {
+        "patch_set": 2,
+        "id": "TveXwFiA",
+        "line": 49,
+        "in_reply_to": "TfYX-Iuo",
+        "message": "Done",
+        "updated": "2013-02-26 15:40:45.328000000"
+      }
+    ]
+  }
+```
+
+### Check Change
+
+*GET /changes/[{change-id}](#change-id)/check*
+
+Performs consistency checks on the change, and returns a
+[ChangeInfo](#change-info) entity with the `problems` field set to a
+list of [ProblemInfo](#problem-info) entities.
+
+Depending on the type of problem, some fields not marked optional may be
+missing from the result. At least `id`, `project`, `branch`, and
+`_number` will be
+present.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/check HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 34,
+    "deletions": 101,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    },
+    "problems": [
+      {
+        "message": "Current patch set 1 not found"
+      }
+    ]
+  }
+```
+
+### Fix Change
+
+*POST /changes/[{change-id}](#change-id)/check*
+
+Performs consistency checks on the change as with [GET
+/check](#check-change), and additionally fixes any problems that can be
+fixed automatically. The returned field values reflect any fixes.
+
+Some fixes have options controlling their behavior, which can be set in
+the [FixInput](#fix-input) entity body.
+
+Only the change owner, a project owner, or an administrator may fix
+changes.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/check HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "MERGED",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "submitted": "2013-02-21 11:16:36.615000000",
+    "mergeable": true,
+    "insertions": 34,
+    "deletions": 101,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    },
+    "problems": [
+      {
+        "message": "Current patch set 2 not found"
+      },
+      {
+        "message": "Patch set 1 (1eee2c9d8f352483781e772f35dc586a69ff5646) is merged into destination ref master (1eee2c9d8f352483781e772f35dc586a69ff5646), but change status is NEW",
+        "status": FIXED,
+        "outcome": "Marked change as merged"
+      }
+    ]
+  }
+```
+
+### Set Work-In-Progress
+
+*POST /changes/[{change-id}](#change-id)/wip*
+
+Marks the change as not ready for review yet.
+
+The request body does not need to include a
+[WorkInProgressInput](#work-in-progress-input) entity if no review
+comment is added. Actions that create a new patch set in a WIP change
+default to notifying **OWNER** instead of
+**ALL**.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/wip HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "Refactoring needs to be done before we can proceed here."
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+```
+
+### Set Ready-For-Review
+
+*POST /changes/[{change-id}](#change-id)/ready*
+
+Marks the change as ready for review (set WIP property to false).
+
+Activates notifications of reviewer. The request body does not need to
+include a [WorkInProgressInput](#work-in-progress-input) entity if no
+review comment is
+added.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/ready HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "message": "Refactoring is done."
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+```
+
+### Mark Private
+
+*POST /changes/[{change-id}](#change-id)/private*
+
+Marks the change to be private. Changes may only be marked private by
+the owner or site administrators.
+
+A message can be specified in the request body inside a
+[PrivateInput](#private-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/private HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "After this security fix has been released we can make it public now."
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+```
+
+If the change was already private the response is "`200 OK`".
+
+### Unmark Private
+
+*DELETE /changes/[{change-id}](#change-id)/private*
+
+Marks the change to be non-private. Note users can only unmark own
+private changes.
+
+A message can be specified in the request body inside a
+[PrivateInput](#private-input)
+entity.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/private HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "This is a security fix that must not be public."
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+If the change was already not private, the response is "`409 Conflict`".
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to set a message options, use a POST
+request:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/private.delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "This is a security fix that must not be public."
+  }
+```
+
+### Ignore
+
+*PUT /changes/[{change-id}](#change-id)/ignore*
+
+Marks a change as ignored. The change will not be shown in the incoming
+reviews dashboard, and email notifications will be
+suppressed.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/ignore HTTP/1.0
+```
+
+### Unignore
+
+*PUT /changes/[{change-id}](#change-id)/unignore*
+
+Un-marks a change as
+ignored.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/unignore HTTP/1.0
+```
+
+### Mute
+
+*PUT /changes/[{change-id}](#change-id)/mute*
+
+Marks a change as muted.
+
+This allows users to "de-highlight" changes in their dashboard until a
+new patch set is uploaded.
+
+This differs from the [ignore](#ignore) endpoint, which will mute emails
+and hide the change from dashboard completely until it is
+[unignored](#unignore)
+again.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/mute HTTP/1.0
+```
+
+### Unmute
+
+*PUT /changes/[{change-id}](#change-id)/unmute*
+
+Unmutes a
+change.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/unmute HTTP/1.0
+```
+
+### Get Hashtags
+
+*GET /changes/[{change-id}](#change-id)/hashtags*
+
+Gets the hashtags associated with a change.
+
+\[NOTE\] Hashtags are only available when NoteDb is
+enabled.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/hashtags HTTP/1.0
+```
+
+As response the change’s hashtags are returned as a list of strings.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    "hashtag1",
+    "hashtag2"
+  ]
+```
+
+### Set Hashtags
+
+*POST /changes/[{change-id}](#change-id)/hashtags*
+
+Adds and/or removes hashtags from a change.
+
+\[NOTE\] Hashtags are only available when NoteDb is enabled.
+
+The hashtags to add or remove must be provided in the request body
+inside a [HashtagsInput](#hashtags-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/hashtags HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "add" : [
+      "hashtag3"
+    ],
+    "remove" : [
+      "hashtag2"
+    ]
+  }
+```
+
+As response the change’s hashtags are returned as a list of strings.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    "hashtag1",
+    "hashtag3"
+  ]
+```
+
+## Change Edit Endpoints
+
+### Get Change Edit Details
+
+'GET /changes/[{change-id}](#change-id)/edit
+
+Retrieves a change edit
+details.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit HTTP/1.0
+```
+
+As response an [EditInfo](#edit-info) entity is returned that describes
+the change edit, or "`204 No Content`" when change edit doesn’t exist
+for this change. Change edits are stored on special branches and there
+can be max one edit per user per change. Edits aren’t tracked in the
+database. When request parameter `list` is provided the response also
+includes the file list. When `base` request parameter is provided the
+file list is computed against this base revision. When request parameter
+`download-commands` is provided fetch info map is also included.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "commit":{
+      "parents":[
+        {
+          "commit":"1eee2c9d8f352483781e772f35dc586a69ff5646",
+        }
+      ],
+      "author":{
+        "name":"Shawn O. Pearce",
+        "email":"sop@google.com",
+        "date":"2012-04-24 18:08:08.000000000",
+        "tz":-420
+       },
+       "committer":{
+         "name":"Shawn O. Pearce",
+         "email":"sop@google.com",
+         "date":"2012-04-24 18:08:08.000000000",
+         "tz":-420
+       },
+       "subject":"Use an EventBus to manage star icons",
+       "message":"Use an EventBus to manage star icons\n\nImage widgets that need to ..."
+    },
+    "base_revision":"c35558e0925e6985c91f3a16921537d5e572b7a3"
+  }
+```
+
+### Change file content in Change Edit
+
+'PUT /changes/[{change-id}](#change-id)/edit/path%2fto%2ffile
+
+Put content of a file to a change
+edit.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit/foo HTTP/1.0
+```
+
+When change edit doesn’t exist for this change yet it is created. When
+file content isn’t provided, it is wiped out for that file. As response
+"`204 No Content`" is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Restore file content or rename files in Change Edit
+
+'POST /changes/[{change-id}](#change-id)/edit
+
+Creates empty change edit, restores file content or renames files in
+change edit. The request body needs to include a
+[ChangeEditInput](#change-edit-input) entity when a file within change
+edit should be restored or old and new file names to rename a
+file.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "restore_path": "foo"
+  }
+```
+
+or for
+rename:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "old_path": "foo",
+    "new_path": "bar"
+  }
+```
+
+When change edit doesn’t exist for this change yet it is created. When
+path and restore flag are provided in request body, this file is
+restored. When old and new file names are provided, the file is renamed.
+As response "`204 No Content`" is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Change commit message in Change Edit
+
+'PUT /changes/[{change-id}](#change-id)/edit:message
+
+Modify commit message. The request body needs to include a
+[ChangeEditMessageInput](#change-edit-message-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit:message HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "New commit message\n\nChange-Id: I10394472cbd17dd12454f229e4f6de00b143a444"
+  }
+```
+
+If a change edit doesn’t exist for this change yet, it is created. As
+response "`204 No Content`" is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Delete file in Change Edit
+
+*DELETE /changes/[{change-id}](#change-id)/edit/path%2fto%2ffile*
+
+Deletes a file from a change edit. This deletes the file from the
+repository completely. This is not the same as reverting or restoring a
+file to its previous
+contents.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit/foo HTTP/1.0
+```
+
+When change edit doesn’t exist for this change yet it is created.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Retrieve file content from Change Edit
+
+'GET /changes/[{change-id}](#change-id)/edit/path%2fto%2ffile
+
+Retrieves content of a file from a change
+edit.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit/foo HTTP/1.0
+```
+
+The content of the file is returned as text encoded inside base64. The
+Content-Type header will always be `text/plain` reflecting the outer
+base64 encoding. A Gerrit-specific `X-FYI-Content-Type` header can be
+examined to find the server detected content type of the file.
+
+When the specified file was deleted in the change edit "`204 No
+Content`" is returned.
+
+If only the content type is required, callers should use HEAD to avoid
+downloading the encoded file contents.
+
+If the `base` parameter is set to true, the returned content is from the
+revision that the edit is based on.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=ISO-8859-1
+  X-FYI-Content-Encoding: base64
+  X-FYI-Content-Type: text/xml
+
+  RnJvbSA3ZGFkY2MxNTNmZGVhMTdhYTg0ZmYzMmE2ZTI0NWRiYjY...
+```
+
+Alternatively, if the only value of the Accept request header is
+`application/json` the content is returned as JSON string and
+`X-FYI-Content-Encoding` is set to `json`.
+
+### Retrieve meta data of a file from Change Edit
+
+'GET /changes/[{change-id}](#change-id)/edit/path%2fto%2ffile/meta
+
+Retrieves meta data of a file from a change edit. Currently only web
+links are
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit/foo/meta HTTP/1.0
+```
+
+This REST endpoint retrieves additional information for a file in a
+change edit. As result an [EditFileInfo](#edit-file-info) entity is
+returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+  "web_links":[
+    {
+      "show_on_side_by_side_diff_view": true,
+      "name": "side-by-side preview diff",
+      "image_url": "plugins/xdocs/static/sideBySideDiffPreview.png",
+      "url": "#/x/xdocs/c/42/1..0/README.md",
+      "target": "_self"
+    },
+    {
+      "show_on_unified_diff_view": true,
+      "name": "unified preview diff",
+      "image_url": "plugins/xdocs/static/unifiedDiffPreview.png",
+      "url": "#/x/xdocs/c/42/1..0/README.md,unified",
+      "target": "_self"
+    }
+  ]}
+```
+
+### Retrieve commit message from Change Edit or current patch set of the change
+
+'GET /changes/[{change-id}](#change-id)/edit:message
+
+Retrieves commit message from change edit.
+
+If the `base` parameter is set to true, the returned message is from the
+revision that the edit is based
+on.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit:message HTTP/1.0
+```
+
+The commit message is returned as base64 encoded string.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+
+  VGhpcyBpcyBhIGNvbW1pdCBtZXNzYWdlCgpDaGFuZ2UtSWQ6IElhYzhmZGM1MGRlZjFiYWUzYjAz
+M2JhNjcxZTk0OTBmNzUxNDU5ZGUzCg==
+```
+
+Alternatively, if the only value of the Accept request header is
+`application/json` the commit message is returned as JSON string:
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+
+)]}'
+"Subject of the commit message\n\nThis is the body of the commit message.\n\nChange-Id: Iaf1ba916bf843c175673d675bf7f52862f452db9\n"
+```
+
+### Publish Change Edit
+
+'POST /changes/[{change-id}](#change-id)/edit:publish
+
+Promotes change edit to a regular patch set.
+
+Options can be provided in the request body as a
+[PublishChangeEditInput](#publish-change-edit-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit:publish HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "notify": "NONE"
+  }
+```
+
+As response "`204 No Content`" is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Rebase Change Edit
+
+'POST /changes/[{change-id}](#change-id)/edit:rebase
+
+Rebases change edit on top of latest patch
+set.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit:rebase HTTP/1.0
+```
+
+When change was rebased on top of latest patch set, response "`204 No
+Content`" is returned. When change edit is already based on top of the
+latest patch set, the response "`409 Conflict`" is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Delete Change Edit
+
+*DELETE /changes/[{change-id}](#change-id)/edit*
+
+Deletes change
+edit.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/edit HTTP/1.0
+```
+
+As response "`204 No Content`" is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## Reviewer Endpoints
+
+### List Reviewers
+
+*GET /changes/[{change-id}](#change-id)/reviewers/*
+
+Lists the reviewers of a change.
+
+As result a list of [ReviewerInfo](#reviewer-info) entries is
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "approvals": {
+        "Verified": "+1",
+        "Code-Review": "+2"
+      },
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com"
+    },
+    {
+      "approvals": {
+        "Verified": " 0",
+        "Code-Review": "-1"
+      },
+      "_account_id": 1000097,
+      "name": "Jane Roe",
+      "email": "jane.roe@example.com"
+    }
+  ]
+```
+
+### Suggest Reviewers
+
+*GET /changes/[{change-id}](#change-id)/suggest\_reviewers?q=J\&n=5*
+
+Suggest the reviewers for a given query `q` and result limit `n`. If
+result limit is not passed, then the default 10 is used.
+
+Groups can be excluded from the results by specifying *e=f*.
+
+As result a list of [SuggestedReviewerInfo](#suggested-reviewer-info)
+entries is
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/suggest_reviewers?q=J HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "account": {
+        "_account_id": 1000097,
+        "name": "Jane Roe",
+        "email": "jane.roe@example.com"
+      },
+      "count": 1
+    },
+    {
+      "group": {
+        "id": "4fd581c0657268f2bdcc26699fbf9ddb76e3a279",
+        "name": "Joiner"
+      },
+      "count": 5
+    }
+  ]
+```
+
+### Get Reviewer
+
+*GET
+/changes/[{change-id}](#change-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)*
+
+Retrieves a reviewer of a change.
+
+As response a [ReviewerInfo](#reviewer-info) entity is returned that
+describes the
+reviewer.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/john.doe@example.com HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "approvals": {
+      "Verified": "+1",
+      "Code-Review": "+2"
+    },
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com"
+  }
+```
+
+### Add Reviewer
+
+*POST /changes/[{change-id}](#change-id)/reviewers*
+
+Adds one user or all members of one group as reviewer to the change.
+
+The reviewer to be added to the change must be provided in the request
+body as a [ReviewerInput](#reviewer-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "reviewer": "john.doe@example.com"
+  }
+```
+
+As response an [AddReviewerResult](#add-reviewer-result) entity is
+returned that describes the newly added reviewers.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "input": "john.doe@example.com",
+    "reviewers": [
+      {
+        "_account_id": 1000096,
+        "name": "John Doe",
+        "email": "john.doe@example.com"
+        "approvals": {
+          "Verified": " 0",
+          "Code-Review": " 0"
+        },
+      }
+    ]
+  }
+```
+
+If a group is specified, adding the group members as reviewers is an
+atomic operation. This means if an error is returned, none of the
+members are added as reviewer.
+
+If a group with many members is added as reviewer a confirmation may be
+required.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "reviewer": "MyProjectVerifiers"
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "input": "MyProjectVerifiers",
+    "error": "The group My Group has 15 members. Do you want to add them all as reviewers?",
+    "confirm": true
+  }
+```
+
+To confirm the addition of the reviewers, resend the request with the
+`confirmed` flag being
+set.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "input": "MyProjectVerifiers",
+    "confirmed": true
+  }
+```
+
+If
+[reviewer.enableByEmail](config-project-config.html#reviewer.enableByEmail)
+is set for the project, reviewers and CCs are not required to have a
+Gerrit account. If you POST an email address of a reviewer or CC then,
+they will be added to the change even if they don’t have a Gerrit
+account.
+
+If this option is disabled, the request would fail with `400 Bad
+Request` if the email address can’t be resolved to an active Gerrit
+account.
+
+Note that the name is optional so both "un.registered@reviewer.com" and
+"John Doe \<<un.registered@reviewer.com>\>" are valid inputs.
+
+Reviewers without Gerrit accounts can only be added on changes visible
+to anonymous
+users.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "reviewer": "John Doe <un.registered@reviewer.com>"
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "input": "John Doe <un.registered@reviewer.com>"
+  }
+```
+
+**Notifications.**
+
+An email will be sent using the "newchange" template.
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>WIP State</th>
+<th>Default</th>
+<th>notify=ALL</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Ready for review</p></td>
+<td><p>owner, reviewers, CCs</p></td>
+<td><p>owner, reviewers, CCs</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>not sent</p></td>
+<td><p>owner, reviewers, CCs</p></td>
+</tr>
+</tbody>
+</table>
+
+### Delete Reviewer
+
+*DELETE
+/changes/[{change-id}](#change-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)*  
+*POST
+/changes/[{change-id}](#change-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)/delete*
+
+Deletes a reviewer from a change.
+
+Options can be provided in the request body as a
+[DeleteReviewerInput](#delete-reviewer-input)
+entity.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe HTTP/1.0
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe/delete HTTP/1.0
+```
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to specify options, use a POST
+request:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe/delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "notify": "NONE"
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+**Notifications.**
+
+An email will be sent using the "deleteReviewer" template. If deleting
+the reviewer resulted in one or more approvals being removed, then the
+deleted reviewer will also receive a notification (unless notify=NONE).
+
+<table>
+<colgroup>
+<col width="16%" />
+<col width="83%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>WIP State</th>
+<th>Default Recipients</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Ready for review</p></td>
+<td><p>notify=ALL: deleted reviewer (if voted), owner, reviewers, CCs, stars, ALL_COMMENTS watchers</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>notify=NONE: deleted reviewer (if voted)</p></td>
+</tr>
+</tbody>
+</table>
+
+### List Votes
+
+*GET
+/changes/[{change-id}](#change-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)/votes/*
+
+Lists the votes for a specific reviewer of the
+change.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe/votes/ HTTP/1.0
+```
+
+As result a map is returned that maps the label name to the label value.
+The entries in the map are sorted by label name.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json;charset=UTF-8
+
+  )]}'
+  {
+    "Code-Review": -1,
+    "Verified": 1
+    "Work-In-Progress": 1,
+  }
+```
+
+### Delete Vote
+
+*DELETE
+/changes/[{change-id}](#change-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)/votes/[{label-id}](#label-id)*  
+*POST
+/changes/[{change-id}](#change-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)/votes/[{label-id}](#label-id)/delete*
+
+Deletes a single vote from a change. Note, that even when the last vote
+of a reviewer is removed the reviewer itself is still listed on the
+change.
+
+Options can be provided in the request body as a
+[DeleteVoteInput](#delete-vote-input)
+entity.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe/votes/Code-Review HTTP/1.0
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe/votes/Code-Review/delete HTTP/1.0
+```
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to specify options, use a POST
+request:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/reviewers/John%20Doe/votes/Code-Review/delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "notify": "NONE"
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## Revision Endpoints
+
+### Get Commit
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/commit*
+
+Retrieves a parsed commit of a
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/commit HTTP/1.0
+```
+
+As response a [CommitInfo](#commit-info) entity is returned that
+describes the revision.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "commit": "674ac754f91e64a0efb8087e59a176484bd534d1",
+    "parents": [
+      {
+        "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646",
+        "subject": "Migrate contributor agreements to All-Projects."
+      }
+    ],
+    "author": {
+      "name": "Shawn O. Pearce",
+      "email": "sop@google.com",
+      "date": "2012-04-24 18:08:08.000000000",
+      "tz": -420
+    },
+    "committer": {
+      "name": "Shawn O. Pearce",
+      "email": "sop@google.com",
+      "date": "2012-04-24 18:08:08.000000000",
+      "tz": -420
+    },
+    "subject": "Use an EventBus to manage star icons",
+    "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..."
+  }
+```
+
+Adding query parameter `links` (for example `/changes/.../commit?links`)
+returns a [CommitInfo](#commit-info) with the additional field
+`web_links`.
+
+### Get Description
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/description*
+
+Retrieves the description of a patch
+set.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/description HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Added Documentation"
+```
+
+If the patch set does not have a description an empty string is
+returned.
+
+### Set Description
+
+*PUT
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/description*
+
+Sets the description of a patch set.
+
+The new description must be provided in the request body inside a
+[DescriptionInput](#description-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/description HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "description": "Added Documentation"
+  }
+```
+
+As response the new description is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Added Documentation"
+```
+
+### Get Merge List
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/mergelist*
+
+Returns the list of commits that are being integrated into a target
+branch by a merge commit. By default the first parent is assumed to be
+uninteresting. By using the `parent` option another parent can be set as
+uninteresting (parents are 1-based).
+
+The list of commits is returned as a list of [CommitInfo](#commit-info)
+entities. Web links are only included if the `links` option was
+set.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/7e30d802b890ec8d0be45b1cc2a8ef092bcfc858/mergelist HTTP/1.0
+```
+
+**Response.**
+
+    HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "commit": "674ac754f91e64a0efb8087e59a176484bd534d1",
+          "parents": [
+            {
+              "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646",
+              "subject": "Migrate contributor agreements to All-Projects."
+            }
+          ],
+          "author": {
+            "name": "Shawn O. Pearce",
+            "email": "sop@google.com",
+            "date": "2012-04-24 18:08:08.000000000",
+            "tz": -420
+          },
+          "committer": {
+            "name": "Shawn O. Pearce",
+            "email": "sop@google.com",
+            "date": "2012-04-24 18:08:08.000000000",
+            "tz": -420
+          },
+          "subject": "Use an EventBus to manage star icons",
+          "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..."
+        }
+      ]
+
+### Get Revision Actions
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/actions*
+
+Retrieves revision [actions](#action-info) of the revision of a
+change.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/actions' HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+
+{
+  "submit": {
+    "method": "POST",
+    "label": "Submit",
+    "title": "Submit patch set 1 into master",
+    "enabled": true
+  },
+  "cherrypick": {
+    "method": "POST",
+    "label": "Cherry Pick",
+    "title": "Cherry pick change to a different branch",
+    "enabled": true
+  }
+}
+```
+
+The response is a flat map of possible revision actions mapped to their
+[ActionInfo](#action-info).
+
+### Get Review
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/review*
+
+Retrieves a review of a
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/review HTTP/1.0
+```
+
+As response a [ChangeInfo](#change-info) entity with [detailed
+labels](#detailed-labels) and [detailed accounts](#detailed-accounts) is
+returned that describes the review of the revision. The revision for
+which the review is retrieved is contained in the `revisions` field. In
+addition the `current_revision` field is set if the revision for which
+the review is retrieved is the current revision of the change. Please
+note that the returned labels are always for the current patch set.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9940",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 34,
+    "deletions": 45,
+    "_number": 3965,
+    "owner": {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com"
+    },
+    "labels": {
+      "Verified": {
+        "all": [
+          {
+            "value": 0,
+            "_account_id": 1000096,
+            "name": "John Doe",
+            "email": "john.doe@example.com"
+          },
+          {
+            "value": 0,
+            "_account_id": 1000097,
+            "name": "Jane Roe",
+            "email": "jane.roe@example.com"
+          }
+        ],
+        "values": {
+          "-1": "Fails",
+          " 0": "No score",
+          "+1": "Verified"
+        }
+      },
+      "Code-Review": {
+        "all": [
+          {
+            "value": -1,
+            "_account_id": 1000096,
+            "name": "John Doe",
+            "email": "john.doe@example.com"
+          },
+          {
+            "value": 1,
+            "_account_id": 1000097,
+            "name": "Jane Roe",
+            "email": "jane.roe@example.com"
+          }
+        ]
+        "values": {
+          "-2": "This shall not be merged",
+          "-1": "I would prefer this is not merged as is",
+          " 0": "No score",
+          "+1": "Looks good to me, but someone else must approve",
+          "+2": "Looks good to me, approved"
+        }
+      }
+    },
+    "permitted_labels": {
+      "Verified": [
+        "-1",
+        " 0",
+        "+1"
+      ],
+      "Code-Review": [
+        "-2",
+        "-1",
+        " 0",
+        "+1",
+        "+2"
+      ]
+    },
+    "removable_reviewers": [
+      {
+        "_account_id": 1000096,
+        "name": "John Doe",
+        "email": "john.doe@example.com"
+      },
+      {
+        "_account_id": 1000097,
+        "name": "Jane Roe",
+        "email": "jane.roe@example.com"
+      }
+    ],
+    "reviewers": {
+      "REVIEWER": [
+        {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com"
+        },
+        {
+          "_account_id": 1000097,
+          "name": "Jane Roe",
+          "email": "jane.roe@example.com"
+        }
+      ]
+    },
+    "current_revision": "674ac754f91e64a0efb8087e59a176484bd534d1",
+    "revisions": {
+      "674ac754f91e64a0efb8087e59a176484bd534d1": {
+        "kind": "REWORK",
+        "_number": 2,
+        "ref": "refs/changes/65/3965/2",
+        "fetch": {
+          "http": {
+            "url": "http://gerrit/myProject",
+            "ref": "refs/changes/65/3965/2"
+          }
+        }
+      }
+    }
+  }
+```
+
+### Get Related Changes
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/related*
+
+Retrieves related changes of a revision. Related changes are changes
+that either depend on, or are dependencies of the
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/gerrit~master~I5e4fc08ce34d33c090c9e0bf320de1b17309f774/revisions/b1cb4caa6be46d12b94c25aa68aebabcbb3f53fe/related HTTP/1.0
+```
+
+As result a [RelatedChangesInfo](#related-changes-info) entity is
+returned describing the related changes.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "changes": [
+      {
+        "project": "gerrit",
+        "change_id": "Ic62ae3103fca2214904dbf2faf4c861b5f0ae9b5",
+        "commit": {
+          "commit": "78847477532e386f5a2185a4e8c90b2509e354e3",
+          "parents": [
+            {
+              "commit": "bb499510bbcdbc9164d96b0dbabb4aa45f59a87e"
+            }
+          ],
+          "author": {
+            "name": "David Ostrovsky",
+            "email": "david@ostrovsky.org",
+            "date": "2014-07-12 15:04:24.000000000",
+            "tz": 120
+          },
+          "subject": "Remove Solr"
+        },
+        "_change_number": 58478,
+        "_revision_number": 2,
+        "_current_revision_number": 2
+        "status": "NEW"
+      },
+      {
+        "project": "gerrit",
+        "change_id": "I5e4fc08ce34d33c090c9e0bf320de1b17309f774",
+        "commit": {
+          "commit": "b1cb4caa6be46d12b94c25aa68aebabcbb3f53fe",
+          "parents": [
+            {
+              "commit": "d898f12a9b7a92eb37e7a80636195a1b06417aad"
+            }
+          ],
+          "author": {
+            "name": "David Pursehouse",
+            "email": "david.pursehouse@sonymobile.com",
+            "date": "2014-06-24 02:01:28.000000000",
+            "tz": 540
+          },
+          "subject": "Add support for secondary index with Elasticsearch"
+        },
+        "_change_number": 58081,
+        "_revision_number": 10,
+        "_current_revision_number": 10
+        "status": "NEW"
+      }
+    ]
+  }
+```
+
+### Set Review
+
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/review*
+
+Sets a review on a revision, optionally also publishing draft comments,
+setting labels, adding reviewers or CCs, and modifying the work in
+progress property.
+
+The review must be provided in the request body as a
+[ReviewInput](#review-input) entity.
+
+A review cannot be set on a change edit. Trying to post a review for a
+change edit fails with `409 Conflict`.
+
+Here is an example of using this method to set
+labels:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/review HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "tag": "jenkins",
+    "message": "Some nits need to be fixed.",
+    "labels": {
+      "Code-Review": -1
+    },
+    "comments": {
+      "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+        {
+          "line": 23,
+          "message": "[nit] trailing whitespace"
+        },
+        {
+          "line": 49,
+          "message": "[nit] s/conrtol/control"
+        },
+        {
+          "range": {
+            "start_line": 50,
+            "start_character": 0,
+            "end_line": 55,
+            "end_character": 20
+          },
+          "message": "Incorrect indentation"
+        }
+      ]
+    }
+  }
+```
+
+As response a [ReviewResult](#review-result) entity is returned that
+describes the applied labels and any added reviewers (e.g. yourself, if
+you set a label but weren’t previously a reviewer on this CL).
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "labels": {
+      "Code-Review": -1
+    }
+  }
+```
+
+It is also possible to add one or more reviewers or CCs to a change
+simultaneously with a
+review:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/review HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "I don't have context here. Jane and maybe John and the project leads should take a look.",
+    "reviewers": [
+      {
+        "reviewer": "jane.roe@example.com"
+      },
+      {
+        "reviewer": "john.doe@example.com",
+        "state": "CC"
+      }
+      {
+        "reviewer": "MyProjectVerifiers",
+      }
+    ]
+  }
+```
+
+Each element of the `reviewers` list is an instance of
+[ReviewerInput](#reviewer-input). The corresponding result of adding
+each reviewer will be returned in a map of inputs to
+[AddReviewerResult](#add-reviewer-result)s.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "reviewers": {
+      "jane.roe@example.com": {
+        "input": "jane.roe@example.com",
+        "reviewers": [
+          {
+            "_account_id": 1000097,
+            "name": "Jane Roe",
+            "email": "jane.roe@example.com"
+            "approvals": {
+              "Verified": " 0",
+              "Code-Review": " 0"
+            },
+          },
+        ]
+      },
+      "john.doe@example.com": {
+        "input": "john.doe@example.com",
+        "ccs": [
+          {
+            "_account_id": 1000096,
+            "name": "John Doe",
+            "email": "john.doe@example.com"
+            "approvals": {
+              "Verified": " 0",
+              "Code-Review": " 0"
+            },
+          }
+        ]
+      },
+      "MyProjectVerifiers": {
+        "input": "MyProjectVerifiers",
+        "reviewers": [
+          {
+            "_account_id": 1000098,
+            "name": "Alice Ansel",
+            "email": "alice.ansel@example.com"
+            "approvals": {
+              "Verified": " 0",
+              "Code-Review": " 0"
+            },
+          },
+          {
+            "_account_id": 1000099,
+            "name": "Bob Bollard",
+            "email": "bob.bollard@example.com"
+            "approvals": {
+              "Verified": " 0",
+              "Code-Review": " 0"
+            },
+          },
+        ]
+      }
+    }
+  }
+```
+
+If there are any errors returned for reviewers, the entire review
+request will be rejected with `400 Bad Request`. None of the entries
+will have the `reviewers` or `ccs` field set, and those which
+specifically failed will have the `errors` field set containing details
+of why they failed.
+
+**Error Response.**
+
+``` 
+  HTTP/1.1 400 Bad Request
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "reviewers": {
+      "jane.roe@example.com": {
+        "input": "jane.roe@example.com",
+        "error": "Account of jane.roe@example.com is inactive."
+      },
+      "john.doe@example.com": {
+        "input": "john.doe@example.com"
+      },
+      "MyProjectVerifiers": {
+        "input": "MyProjectVerifiers",
+        "error": "The group My Group has 15 members. Do you want to add them all as reviewers?",
+        "confirm": true
+      }
+    }
+  }
+```
+
+**Notifications.**
+
+An email will be sent using the "comment" template.
+
+If the top-level notify property is null or not set, then notification
+behavior depends on whether the change is WIP, whether it has started
+review, and whether the tag property is null.
+
+> **Note**
+> 
+> If adding reviewers, the notify property of each ReviewerInput is
+> **ignored**. Use the notify property of the top-level
+> [ReviewInput](#review-input) instead.
+
+For the purposes of this table, **everyone** means **owner, reviewers,
+CCs, stars, and ALL\_COMMENTS watchers**.
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="12%" />
+<col width="12%" />
+<col width="25%" />
+<col width="25%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>WIP State</th>
+<th>Review Started</th>
+<th>Tag Given</th>
+<th>Default</th>
+<th>notify=ALL</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Ready for review</p></td>
+<td><p>N/A</p></td>
+<td><p>N/A</p></td>
+<td><p>everyone</p></td>
+<td><p>everyone</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>no</p></td>
+<td><p>no</p></td>
+<td><p>not sent</p></td>
+<td><p>everyone</p></td>
+</tr>
+<tr class="odd">
+<td><p>Work in progress</p></td>
+<td><p>no</p></td>
+<td><p>yes</p></td>
+<td><p>owner</p></td>
+<td><p>everyone</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>yes</p></td>
+<td><p>no</p></td>
+<td><p>everyone</p></td>
+<td><p>everyone</p></td>
+</tr>
+<tr class="odd">
+<td><p>Work in progress</p></td>
+<td><p>yes</p></td>
+<td><p>yes</p></td>
+<td><p>owner</p></td>
+<td><p>everyone</p></td>
+</tr>
+</tbody>
+</table>
+
+If reviewers are added, then a second email will be sent using the
+"newchange" template. The notification logic for this email is the same
+as for [Add Reviewer](#add-reviewer).
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>WIP State</th>
+<th>Default</th>
+<th>notify=ALL</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Ready for review</p></td>
+<td><p>owner, reviewers, CCs</p></td>
+<td><p>owner, reviewers, CCs</p></td>
+</tr>
+<tr class="even">
+<td><p>Work in progress</p></td>
+<td><p>not sent</p></td>
+<td><p>owner, reviewers, CCs</p></td>
+</tr>
+</tbody>
+</table>
+
+### Rebase Revision
+
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/rebase*
+
+Rebases a revision.
+
+Optionally, the parent revision can be changed to another patch set
+through the [RebaseInput](#rebase-input)
+entity.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I3ea943139cb62e86071996f2480e58bf3eeb9dd2/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/rebase HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "base" : "1234",
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the rebased change. Information about the current patch set is
+included.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I3ea943139cb62e86071996f2480e58bf3eeb9dd2",
+    "project": "myProject",
+    "branch": "master",
+    "change_id": "I3ea943139cb62e86071996f2480e58bf3eeb9dd2",
+    "subject": "Implement Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": false,
+    "insertions": 21,
+    "deletions": 21,
+    "_number": 4799,
+    "owner": {
+      "name": "John Doe"
+    },
+    "current_revision": "27cc4558b5a3d3387dd11ee2df7a117e7e581822",
+    "revisions": {
+      "27cc4558b5a3d3387dd11ee2df7a117e7e581822": {
+        "kind": "REWORK",
+        "_number": 2,
+        "ref": "refs/changes/99/4799/2",
+        "fetch": {
+          "http": {
+            "url": "http://gerrit:8080/myProject",
+            "ref": "refs/changes/99/4799/2"
+          }
+        },
+        "commit": {
+          "parents": [
+            {
+              "commit": "b4003890dadd406d80222bf1ad8aca09a4876b70",
+              "subject": "Implement Feature A"
+            }
+        ],
+        "author": {
+          "name": "John Doe",
+          "email": "john.doe@example.com",
+          "date": "2013-05-07 15:21:27.000000000",
+          "tz": 120
+        },
+        "committer": {
+          "name": "Gerrit Code Review",
+          "email": "gerrit-server@example.com",
+          "date": "2013-05-07 15:35:43.000000000",
+          "tz": 120
+        },
+        "subject": "Implement Feature X",
+        "message": "Implement Feature X\n\nAdded feature X."
+      }
+    }
+  }
+```
+
+If the revision cannot be rebased, e.g. due to conflicts, the response
+is "`409 Conflict`" and the error message is contained in the response
+body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  The change could not be rebased due to a path conflict during merge.
+```
+
+### Submit Revision
+
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/submit*
+
+Submits a
+revision.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/submit HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+```
+
+As response a [SubmitInfo](#submit-info) entity is returned that
+describes the status of the submitted change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "status": "MERGED"
+  }
+```
+
+If the revision cannot be submitted, e.g. because the submit rule
+doesn’t allow submitting the revision or the revision is not the
+current revision, the response is "`409 Conflict`" and the error message
+is contained in the response body.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Type: text/plain; charset=UTF-8
+
+  "revision 674ac754f91e64a0efb8087e59a176484bd534d1 is not current revision"
+```
+
+### Get Patch
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/patch*
+
+Gets the formatted patch for one
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/patch HTTP/1.0
+```
+
+The formatted patch is returned as text encoded inside base64:
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=ISO-8859-1
+  X-FYI-Content-Encoding: base64
+  X-FYI-Content-Type: application/mbox
+
+  RnJvbSA3ZGFkY2MxNTNmZGVhMTdhYTg0ZmYzMmE2ZTI0NWRiYjY...
+```
+
+Adding query parameter `zip` (for example `/changes/.../patch?zip`)
+returns the patch as a single file inside of a ZIP archive. Clients can
+expand the ZIP to obtain the plain text patch, avoiding the need for a
+base64 decoding step. This option implies `download`.
+
+Query parameter `download` (e.g. `/changes/.../patch?download`) will
+suggest the browser save the patch as `commitsha1.diff.base64`, for
+later processing by command line tools.
+
+If the `path` parameter is set, the returned content is a diff of the
+single file that the path refers to.
+
+### Submit Preview
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/preview\_submit*
+
+Gets a file containing thin bundles of all modified projects if this
+change was submitted. The bundles are named `${ProjectName}.git`. Each
+thin bundle contains enough to construct the state in which a project
+would be in if this change were submitted. The base of the thin bundles
+are the current target branches, so to make use of this call in a
+non-racy way, first get the bundles and then fetch all projects
+contained in the bundle. (This assumes no non-fastforward pushes).
+
+You need to give a parameter *?format=zip* or *?format=tar* to specify
+the format for the outer container. It is always possible to use tgz,
+even if tgz is not in the list of allowed archive formats.
+
+To make good use of this call, you would roughly need code as found
+at:
+
+``` 
+ $ curl -Lo preview_submit_test.sh http://review.example.com:8080/tools/scripts/preview_submit_test.sh
+```
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/preview_submit?zip HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Date: Tue, 13 Sep 2016 19:13:46 GMT
+  Content-Disposition: attachment; filename="submit-preview-147.zip"
+  X-Content-Type-Options: nosniff
+  Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+  Pragma: no-cache
+  Expires: Mon, 01 Jan 1990 00:00:00 GMT
+  Content-Type: application/x-zip
+  Transfer-Encoding: chunked
+
+  [binary stuff]
+```
+
+In case of an error, the response is not a zip file but a regular json
+response, containing only the error message:
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Anonymous users cannot submit"
+```
+
+### Get Mergeable
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/mergeable*
+
+Gets the method the server will use to submit (merge) the change and an
+indicator if the change is currently
+mergeable.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/mergeable HTTP/1.0
+```
+
+As response a [MergeableInfo](#mergeable-info) entity is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    submit_type: "MERGE_IF_NECESSARY",
+    strategy: "recursive",
+    mergeable: true
+  }
+```
+
+If the `other-branches` parameter is specified, the mergeability will
+also be checked for all other branches which are listed in the
+[branchOrder](config-project-config.html#branchOrder-section) section in
+the project.config
+file.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/mergeable?other-branches HTTP/1.0
+```
+
+The response will then contain a list of all other branches where this
+changes could merge cleanly.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    submit_type: "MERGE_IF_NECESSARY",
+    mergeable: true,
+    mergeable_into: [
+        "refs/heads/stable-2.7",
+        "refs/heads/stable-2.8",
+    ]
+  }
+```
+
+### Get Submit Type
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/submit\_type*
+
+Gets the method the server will use to submit (merge) the
+change.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/submit_type HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "MERGE_IF_NECESSARY"
+```
+
+### Test Submit Type
+
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/test.submit\_type*
+
+Tests the submit\_type Prolog rule in the project, or the one given.
+
+Request body may be either the Prolog code as `text/plain` or a
+[RuleInput](#rule-input) object. The query parameter `filters` may be
+set to `SKIP` to bypass parent project filters while testing a
+project-specific
+rule.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/test.submit_type HTTP/1.0
+  Content-Type: text/plain; charset-UTF-8
+
+  submit_type(cherry_pick).
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "CHERRY_PICK"
+```
+
+### Test Submit Rule
+
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/test.submit\_rule*
+
+Tests the submit\_rule Prolog rule in the project, or the one given.
+
+Request body may be either the Prolog code as `text/plain` or a
+[RuleInput](#rule-input) object. The query parameter `filters` may be
+set to `SKIP` to bypass parent project filters while testing a
+project-specific
+rule.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/current/test.submit_rule?filters=SKIP HTTP/1.0
+  Content-Type: text/plain; charset-UTF-8
+
+  submit_rule(submit(R)) :-
+    R = label('Any-Label-Name', reject(_)).
+```
+
+The response is a list of [SubmitRecord](#submit-record) entries
+describing the permutations that satisfy the tested submit rule.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "status": "NOT_READY",
+      "reject": {
+        "Any-Label-Name": {}
+      }
+    }
+  ]
+```
+
+When testing with the `curl` command line client the `--data-binary
+@rules.pl` flag should be used to ensure all LFs are included in the
+Prolog code:
+
+``` 
+  curl -X POST \
+    -H 'Content-Type: text/plain; charset=UTF-8' \
+    --data-binary @rules.pl \
+    http://.../test.submit_rule
+```
+
+### List Revision Drafts
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/drafts/*
+
+Lists the draft comments of a revision that belong to the calling user.
+
+Returns a map of file paths to lists of [CommentInfo](#comment-info)
+entries. The entries in the map are sorted by file
+path.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/drafts/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+      {
+        "id": "TvcXrmjM",
+        "line": 23,
+        "message": "[nit] trailing whitespace",
+        "updated": "2013-02-26 15:40:43.986000000"
+      },
+      {
+        "id": "TveXwFiA",
+        "line": 49,
+        "in_reply_to": "TfYX-Iuo",
+        "message": "Done",
+        "updated": "2013-02-26 15:40:45.328000000"
+      }
+    ]
+  }
+```
+
+### Create Draft
+
+*PUT
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/drafts*
+
+Creates a draft comment on a revision.
+
+The new draft comment must be provided in the request body inside a
+[CommentInput](#comment-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/drafts HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "[nit] trailing whitespace"
+  }
+```
+
+As response a [CommentInfo](#comment-info) entity is returned that
+describes the draft comment.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "TvcXrmjM",
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "[nit] trailing whitespace",
+    "updated": "2013-02-26 15:40:43.986000000"
+  }
+```
+
+### Get Draft
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/drafts/[{draft-id}](#draft-id)*
+
+Retrieves a draft comment of a revision that belongs to the calling
+user.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/drafts/TvcXrmjM HTTP/1.0
+```
+
+As response a [CommentInfo](#comment-info) entity is returned that
+describes the draft comment.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "TvcXrmjM",
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "[nit] trailing whitespace",
+    "updated": "2013-02-26 15:40:43.986000000"
+  }
+```
+
+### Update Draft
+
+*PUT
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/drafts/[{draft-id}](#draft-id)*
+
+Updates a draft comment on a revision.
+
+The new draft comment must be provided in the request body inside a
+[CommentInput](#comment-input)
+entity.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/drafts/TvcXrmjM HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "[nit] trailing whitespace"
+  }
+```
+
+As response a [CommentInfo](#comment-info) entity is returned that
+describes the draft comment.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "TvcXrmjM",
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "[nit] trailing whitespace",
+    "updated": "2013-02-26 15:40:43.986000000"
+  }
+```
+
+### Delete Draft
+
+*DELETE
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/drafts/[{draft-id}](#draft-id)*
+
+Deletes a draft comment from a
+revision.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/drafts/TvcXrmjM HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### List Revision Comments
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/comments/*
+
+Lists the published comments of a revision.
+
+As result a map is returned that maps the file path to a list of
+[CommentInfo](#comment-info) entries. The entries in the map are sorted
+by file path and only include file (or inline) comments. Use the [Get
+Change Detail](#get-change-detail) endpoint to retrieve the general
+change message (or
+comment).
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/comments/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+      {
+        "id": "TvcXrmjM",
+        "line": 23,
+        "message": "[nit] trailing whitespace",
+        "updated": "2013-02-26 15:40:43.986000000",
+        "author": {
+          "_account_id": 1000096,
+          "name": "John Doe",
+          "email": "john.doe@example.com"
+        }
+      },
+      {
+        "id": "TveXwFiA",
+        "line": 49,
+        "in_reply_to": "TfYX-Iuo",
+        "message": "Done",
+        "updated": "2013-02-26 15:40:45.328000000",
+        "author": {
+          "_account_id": 1000097,
+          "name": "Jane Roe",
+          "email": "jane.roe@example.com"
+        }
+      }
+    ]
+  }
+```
+
+### Get Comment
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/comments/[{comment-id}](#comment-id)*
+
+Retrieves a published comment of a
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/comments/TvcXrmjM HTTP/1.0
+```
+
+As response a [CommentInfo](#comment-info) entity is returned that
+describes the published comment.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "TvcXrmjM",
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "[nit] trailing whitespace",
+    "updated": "2013-02-26 15:40:43.986000000",
+    "author": {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com"
+    }
+  }
+```
+
+### Delete Comment
+
+*DELETE
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/comments/[{comment-id}](#comment-id)*  
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/comments/[{comment-id}](#comment-id)/delete*
+
+Deletes a published comment of a revision. Instead of deleting the whole
+comment, this endpoint just replaces the comment’s message with a new
+message, which contains the name of the user who deletes the comment and
+the reason why it’s deleted. The reason can be provided in the request
+body as a [DeleteCommentInput](#delete-comment-input) entity.
+
+Note that only users with the [Administrate
+Server](access-control.html#capability_administrateServer) global
+capability are permitted to delete a comment.
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to specify options, use a POST
+request:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/comments/TvcXrmjM/delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "reason": "contains confidential information"
+  }
+```
+
+As response a [CommentInfo](#comment-info) entity is returned that
+describes the updated comment.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "TvcXrmjM",
+    "path": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+    "line": 23,
+    "message": "Comment removed by: Administrator; Reason: contains confidential information",
+    "updated": "2013-02-26 15:40:43.986000000",
+    "author": {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com"
+    }
+  }
+```
+
+### List Robot Comments
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/robotcomments/*
+
+Lists the [robot comments](config-robot-comments.html) of a revision.
+
+As result a map is returned that maps the file path to a list of
+[RobotCommentInfo](#robot-comment-info) entries. The entries in the map
+are sorted by file
+path.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/robotcomments/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": [
+      {
+        "id": "TvcXrmjM",
+        "line": 23,
+        "message": "unused import",
+        "updated": "2016-02-26 15:40:43.986000000",
+        "author": {
+          "_account_id": 1000110,
+          "name": "Code Analyzer",
+          "email": "code.analyzer@example.com"
+        },
+        "robotId": "importChecker",
+        "robotRunId": "76b1375aa8626ea7149792831fe2ed85e80d9e04"
+      },
+      {
+        "id": "TveXwFiA",
+        "line": 49,
+        "message": "wrong indention",
+        "updated": "2016-02-26 15:40:45.328000000",
+        "author": {
+          "_account_id": 1000110,
+          "name": "Code Analyzer",
+          "email": "code.analyzer@example.com"
+        },
+        "robotId": "styleChecker",
+        "robotRunId": "5c606c425dd45184484f9d0a2ffd725a7607839b"
+      }
+    ]
+  }
+```
+
+### Get Robot Comment
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/robotcomments/[{comment-id}](#comment-id)*
+
+Retrieves a [robot comment](config-robot-comments.html) of a
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/robotcomments/TvcXrmjM HTTP/1.0
+```
+
+As response a [RobotCommentInfo](#robot-comment-info) entity is returned
+that describes the robot comment.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "TvcXrmjM",
+    "line": 23,
+    "message": "unused import",
+    "updated": "2016-02-26 15:40:43.986000000",
+    "author": {
+      "_account_id": 1000110,
+      "name": "Code Analyzer",
+      "email": "code.analyzer@example.com"
+    },
+    "robotId": "importChecker",
+    "robotRunId": "76b1375aa8626ea7149792831fe2ed85e80d9e04"
+  }
+```
+
+### Apply Fix
+
+*POST
+/changes/[section\_title](#change-id)/revisions/[section\_title](#revision-id)/fixes/[section\_title](#fix-id)/apply*
+
+Applies a suggested fix by creating a change edit which includes the
+modifications indicated by the fix suggestion. If a change edit already
+exists, it will be updated accordingly. A fix can only be applied if no
+change edit exists and the fix refers to the current patch set, or the
+fix refers to the patch set on which the change edit is
+based.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/fixes/8f605a55_f6aa4ecc/apply HTTP/1.0
+```
+
+If the fix was successfully applied, an [EditInfo](#edit-info)
+describing the resulting change edit is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+    Content-Disposition: attachment
+    Content-Type: application/json; charset=UTF-8
+
+    )]}'
+    {
+      "commit":{
+        "parents":[
+          {
+            "commit":"1eee2c9d8f352483781e772f35dc586a69ff5646",
+          }
+        ],
+        "author":{
+          "name":"John Doe",
+          "email":"john.doe@example.com",
+          "date":"2013-05-07 15:21:27.000000000",
+          "tz":120
+         },
+         "committer":{
+           "name":"Jane Doe",
+           "email":"jane.doe@example.com",
+           "date":"2013-05-07 15:35:43.000000000",
+           "tz":120
+         },
+         "subject":"Implement feature X",
+         "message":"Implement feature X\n\nWith this feature ..."
+      },
+      "base_revision":"674ac754f91e64a0efb8087e59a176484bd534d1"
+    }
+```
+
+If the application failed e.g. due to conflicts with an existing change
+edit, the response "`409 Conflict`" including an error message in the
+response body is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 409 Conflict
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  The existing change edit could not be merged with another tree.
+```
+
+### List Files
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/*
+
+Lists the files that were modified, added or deleted in a
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/ HTTP/1.0
+```
+
+As result a map is returned that maps the [file path](#file-id) to a
+list of [FileInfo](#file-info) entries. The entries in the map are
+sorted by file path.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "/COMMIT_MSG": {
+      "status": "A",
+      "lines_inserted": 7,
+      "size_delta": 551,
+      "size": 551
+    },
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java": {
+      "lines_inserted": 5,
+      "lines_deleted": 3,
+      "size_delta": 98,
+      "size": 23348
+    }
+  }
+```
+
+The request parameter `reviewed` changes the response to return a list
+of the paths the caller has marked as reviewed. Clients that also need
+the FileInfo should make two requests.
+
+The request parameter `q` changes the response to return a list of all
+files (modified or unmodified) that contain that substring in the path
+name. This is useful to implement suggestion services finding a file by
+partial name.
+
+The integer-valued request parameter `parent` changes the response to
+return a list of the files which are different in this commit compared
+to the given parent commit. This is useful for supporting review of
+merge commits. The value is the 1-based index of the parent’s position
+in the commit
+object.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/?reviewed HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    "/COMMIT_MSG",
+    "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+  ]
+```
+
+### Get Content
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/[{file-id}](#file-id)/content*
+
+Gets the content of a file from a certain revision.
+
+The optional, integer-valued `parent` parameter can be specified to
+request the named file from a parent commit of the specified revision.
+The value is the 1-based index of the parent’s position in the commit
+object. If the parameter is omitted or the value is non-positive, the
+patch set is
+referenced.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
+```
+
+The content is returned as base64 encoded string. The HTTP response
+Content-Type is always `text/plain`, reflecting the base64 wrapping. A
+Gerrit-specific `X-FYI-Content-Type` header is returned describing the
+server detected content type of the file.
+
+If only the content type is required, callers should use HEAD to avoid
+downloading the encoded file contents.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=ISO-8859-1
+  X-FYI-Content-Encoding: base64
+  X-FYI-Content-Type: text/xml
+
+  Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
+```
+
+Alternatively, if the only value of the Accept request header is
+`application/json` the content is returned as JSON string and
+`X-FYI-Content-Encoding` is set to `json`.
+
+### Download Content
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/[{file-id}](#file-id)/download*
+
+Downloads the content of a file from a certain revision, in a safe
+format that poses no risk for inadvertent execution of untrusted code.
+
+If the content type is defined as safe, the binary file content is
+returned verbatim. If the content type is not safe, the file is stored
+inside a ZIP file, containing a single entry with a random,
+unpredictable name having the same base and suffix as the true filename.
+The ZIP file is returned in verbatim binary form.
+
+See [Gerrit config documentation](config-gerrit.html#mimetype.name.safe)
+for information about safe file type configuration.
+
+The HTTP resource Content-Type is dependent on the file type: the
+applicable type for safe files, or "application/zip" for unsafe files.
+
+The optional, integer-valued `parent` parameter can be specified to
+request the named file from a parent commit of the specified revision.
+The value is the 1-based index of the parent’s position in the commit
+object. If the parameter is omitted or the value non-positive, the patch
+set is referenced.
+
+Filenames are decorated with a suffix of `_new` for the current patch,
+`_old` for the only parent, or `_oldN` for the Nth parent of
+many.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/website%2Freleases%2Flogo.png/download HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment; filename="logo.png"
+  Content-Type: image/png
+
+  `[binary data for logo.png]`
+```
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/download?suffix=new HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: Content-Disposition:attachment; filename="RefControl_new-931cdb73ae9d97eb500a3533455b055d90b99944.java.zip"
+  Content-Type:application/zip
+
+  `[binary ZIP archive containing a single file, "RefControl_new-cb218df1337df48a0e7ab30a49a8067ac7321881.java"]`
+```
+
+### Get Diff
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/[{file-id}](#file-id)/diff*
+
+Gets the diff of a file from a certain
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/diff HTTP/1.0
+```
+
+As response a [DiffInfo](#diff-info) entity is returned that describes
+the diff.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]
+  {
+    "meta_a": {
+      "name": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "content_type": "text/x-java-source",
+      "lines": 372
+    },
+    "meta_b": {
+      "name": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "content_type": "text/x-java-source",
+      "lines": 578
+    },
+    "change_type": "MODIFIED",
+    "diff_header": [
+      "diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "index 59b7670..9faf81c 100644",
+      "--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java"
+    ],
+    "content": [
+      {
+        "ab": [
+          "// Copyright (C) 2010 The Android Open Source Project",
+          "//",
+          "// Licensed under the Apache License, Version 2.0 (the \"License\");",
+          "// you may not use this file except in compliance with the License.",
+          "// You may obtain a copy of the License at",
+          "//",
+          "// http://www.apache.org/licenses/LICENSE-2.0",
+          "//",
+          "// Unless required by applicable law or agreed to in writing, software",
+          "// distributed under the License is distributed on an \"AS IS\" BASIS,",
+          "// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+          "// See the License for the specific language governing permissions and",
+          "// limitations under the License."
+        ]
+      },
+      {
+        "b": [
+          "//",
+          "// Add some more lines in the header."
+        ]
+      },
+      {
+        "ab": [
+          "",
+          "package com.google.gerrit.server.project;",
+          "",
+          "import com.google.common.collect.Maps;",
+          ...
+        ]
+      }
+      ...
+    ]
+  }
+```
+
+If the `intraline` parameter is specified, intraline differences are
+included in the
+diff.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/b6b9c10649b9041884046119ab794374470a1b45/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/diff?intraline HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]
+  {
+    "meta_a": {
+      "name": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "content_type": "text/x-java-source",
+      "lines": 372
+    },
+    "meta_b": {
+      "name": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "content_type": "text/x-java-source",
+      "lines": 578
+    },
+    "change_type": "MODIFIED",
+    "diff_header": [
+      "diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "index 59b7670..9faf81c 100644",
+      "--- a/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "+++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java"
+    ],
+    "content": [
+      ...
+      {
+        "a": [
+          "/** Manages access control for Git references (aka branches, tags). */"
+        ],
+        "b": [
+          "/** Manages access control for the Git references (aka branches, tags). */"
+        ],
+        "edit_a": [],
+        "edit_b": [
+          [
+            31,
+            4
+          ]
+        ]
+      }
+      ]
+    }
+```
+
+The `base` parameter can be specified to control the base patch set from
+which the diff should be generated.
+
+The integer-valued request parameter `parent` can be specified to
+control the parent commit number against which the diff should be
+generated. This is useful for supporting review of merge commits. The
+value is the 1-based index of the parent’s position in the commit
+object.
+
+If the `weblinks-only` parameter is specified, only the diff web links
+are
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/b6b9c10649b9041884046119ab794374470a1b45/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/diff?base=2 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]
+  {
+    "meta_a": {
+      "name": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "content_type": "text/x-java-source",
+      "lines": 578
+    },
+    "meta_b": {
+      "name": "gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java",
+      "content_type": "text/x-java-source",
+      "lines": 578
+    },
+    "change_type": "MODIFIED",
+    "content": [
+      {
+        "skip": 578
+      }
+    ]
+  }
+```
+
+The `whitespace` parameter can be specified to control how whitespace
+differences are reported in the result. Valid values are `IGNORE_NONE`,
+`IGNORE_TRAILING`, `IGNORE_LEADING_AND_TRAILING` or `IGNORE_ALL`.
+
+The `context` parameter can be specified to control the number of lines
+of surrounding context in the diff. Valid values are `ALL` or number of
+lines.
+
+### Get Blame
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/[{file-id}](#file-id)/blame*
+
+Gets the blame of a file from a certain
+revision.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/blame HTTP/1.0
+```
+
+As response a [BlameInfo](#blame-info) entity is returned that describes
+the blame.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]
+  {
+    [
+      {
+        "author": "Joe Daw",
+        "id": "64e140b4de5883a4dd74d06c2b62ccd7ffd224a7",
+        "time": 1421441349,
+        "commit_msg": "RST test\n\nChange-Id: I11e9e24bd122253f4bb10c36dce825ac2410d646\n",
+        "ranges": [
+          {
+            "start": 1,
+            "end": 10
+          },
+          {
+            "start": 16,
+            "end": 296
+          }
+        ]
+      },
+      {
+        "author": "Jane Daw",
+        "id": "8d52621a0e2ac6adec73bd3a49f2371cd53137a7",
+        "time": 1421825421,
+        "commit_msg": "add banner\n\nChange-Id: I2eced9b2691015ae3c5138f4d0c4ca2b8fb15be9\n",
+        "ranges": [
+          {
+            "start": 13,
+            "end": 13
+          }
+        ]
+      }
+    ]
+  }
+```
+
+The `base` parameter can be specified to control the base patch set from
+which the blame should be generated.
+
+### Set Reviewed
+
+*PUT
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/[{file-id}](#file-id)/reviewed*
+
+Marks a file of a revision as reviewed by the calling
+user.
+
+**Request.**
+
+``` 
+  PUT /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/reviewed HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+```
+
+If the file was already marked as reviewed by the calling user the
+response is "`200 OK`".
+
+### Delete Reviewed
+
+*DELETE
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/files/[{file-id}](#file-id)/reviewed*
+
+Deletes the reviewed flag of the calling user from a file of a
+revision.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/reviewed HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Cherry Pick Revision
+
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/cherrypick*
+
+Cherry picks a revision to a destination branch.
+
+The commit message and destination branch must be provided in the
+request body inside a [CherryPickInput](#cherrypick-input) entity. If
+the commit message does not specify a Change-Id, a new one is picked for
+the destination
+change.
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/cherrypick HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message" : "Implementing Feature X",
+    "destination" : "release-branch"
+  }
+```
+
+As response a [ChangeInfo](#change-info) entity is returned that
+describes the resulting cherry picked change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9941",
+    "project": "myProject",
+    "branch": "release-branch",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9941",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 12,
+    "deletions": 11,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+## Revision Reviewer Endpoints
+
+### List Revision Reviewers
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/reviewers/*
+
+Lists the reviewers of a revision.
+
+Please note that only the current revision is supported.
+
+As result a list of [ReviewerInfo](#reviewer-info) entries is
+returned.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/reviewers/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "approvals": {
+        "Verified": "+1",
+        "Code-Review": "+2"
+      },
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com"
+    },
+    {
+      "approvals": {
+        "Verified": " 0",
+        "Code-Review": "-1"
+      },
+      "_account_id": 1000097,
+      "name": "Jane Roe",
+      "email": "jane.roe@example.com"
+    }
+  ]
+```
+
+### List Revision Votes
+
+*GET
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)/reviewers/[{account-id}](rest-api-accounts.html#account-id)/votes/*
+
+Lists the votes for a specific reviewer of the revision.
+
+Please note that only the current revision is
+supported.
+
+**Request.**
+
+``` 
+  GET /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/reviewers/John%20Doe/votes/ HTTP/1.0
+```
+
+As result a map is returned that maps the label name to the label value.
+The entries in the map are sorted by label name.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json;charset=UTF-8
+
+  )]}'
+  {
+    "Code-Review": -1,
+    "Verified": 1,
+    "Work-In-Progress": 1
+  }
+```
+
+### Delete Revision Vote
+
+*DELETE
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)
+/reviewers/[{account-id}](rest-api-accounts.html#account-id)/votes/[{label-id}](#label-id)*  
+*POST
+/changes/[{change-id}](#change-id)/revisions/[{revision-id}](#revision-id)
+/reviewers/[{account-id}](rest-api-accounts.html#account-id)/votes/[{label-id}](#label-id)/delete*
+
+Deletes a single vote from a revision. The deletion will be possible
+only if the revision is the current revision. By using this endpoint you
+can prevent deleting the vote (with same label) from a newer patch set
+by mistake.
+
+Note, that even when the last vote of a reviewer is removed the reviewer
+itself is still listed on the change.
+
+Options can be provided in the request body as a
+[DeleteVoteInput](#delete-vote-input)
+entity.
+
+**Request.**
+
+``` 
+  DELETE /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/reviewers/John%20Doe/votes/Code-Review HTTP/1.0
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/reviewers/John%20Doe/votes/Code-Review/delete HTTP/1.0
+```
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to specify options, use a POST
+request:
+
+**Request.**
+
+``` 
+  POST /changes/myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940/revisions/674ac754f91e64a0efb8087e59a176484bd534d1/reviewers/John%20Doe/votes/Code-Review/delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "notify": "NONE"
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## IDs
+
+### [{account-id}](rest-api-accounts.html#account-id)
+
+### {change-id}
+
+Identifier that uniquely identifies one change.
+
+This can be:
+
+  - an ID of the change in the format "*\<project\>~\<numericId\>*"
+
+  - an ID of the change in the format
+    "*\<project\>~\<branch\>~\<Change-Id\>*", where for the branch the
+    `refs/heads/` prefix can be omitted
+    ("myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9940")
+
+  - a Change-Id if it uniquely identifies one change
+    ("I8473b95934b5732ac55d26311a706c9c2bde9940")
+
+  - a numeric change ID ("4247")
+
+### {comment-id}
+
+UUID of a published comment.
+
+### {draft-id}
+
+UUID of a draft comment.
+
+### {label-id}
+
+The name of the label.
+
+### {file-id}
+
+The path of the file.
+
+The following magic paths are supported:
+
+  - `/COMMIT_MSG`:
+    
+    The commit message and headers with the parent commit(s), the author
+    information and the committer information.
+
+  - `/MERGE_LIST` (for merge commits only):
+    
+    The list of commits that are being integrated into the destination
+    branch by submitting the merge commit.
+
+### {fix-id}
+
+UUID of a suggested fix.
+
+### {revision-id}
+
+Identifier that uniquely identifies one revision of a change.
+
+This can be:
+
+  - the literal `current` to name the current patch set/revision
+
+  - a commit ID ("674ac754f91e64a0efb8087e59a176484bd534d1")
+
+  - an abbreviated commit ID that uniquely identifies one revision of
+    the change ("674ac754"), at least 4 digits are required
+
+  - a legacy numeric patch number ("1" for first patch set of the
+    change)
+
+  - "0" or the literal `edit` for a change edit
+
+## JSON Entities
+
+### AbandonInput
+
+The `AbandonInput` entity contains information for abandoning a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message to be added as review comment to the change when abandoning the change.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the change is abandoned.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ActionInfo
+
+The `ActionInfo` entity describes a REST API call the client can make to
+manipulate a resource. These are frequently implemented by plugins and
+may be discovered at runtime.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>method</code></p></td>
+<td><p>optional</p></td>
+<td><p>HTTP method to use with the action. Most actions use <code>POST</code>, <code>PUT</code> or <code>DELETE</code> to cause state changes.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>label</code></p></td>
+<td><p>optional</p></td>
+<td><p>Short title to display to a user describing the action. In the Gerrit web interface the label is used as the text on the button presented in the UI.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>title</code></p></td>
+<td><p>optional</p></td>
+<td><p>Longer text to display describing the action. In a web UI this should be the title attribute of the element, displaying when the user hovers the mouse.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>enabled</code></p></td>
+<td><p>optional</p></td>
+<td><p>If true the action is permitted at this time and the caller is likely allowed to execute it. This may change if state is updated at the server or permissions are modified. Not present if false.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AddReviewerResult
+
+The `AddReviewerResult` entity describes the result of adding a reviewer
+to a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>input</code></p></td>
+<td></td>
+<td><p>Value of the <code>reviewer</code> field from <a href="#reviewer-input">ReviewerInput</a> set while adding the reviewer.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewers</code></p></td>
+<td><p>optional</p></td>
+<td><p>The newly added reviewers as a list of <a href="#reviewer-info">ReviewerInfo</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ccs</code></p></td>
+<td><p>optional</p></td>
+<td><p>The newly CCed accounts as a list of <a href="#reviewer-info">ReviewerInfo</a> entities. This field will only appear if the requested <code>state</code> for the reviewer was <code>CC</code> <strong>and</strong> NoteDb is enabled on the server.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>error</code></p></td>
+<td><p>optional</p></td>
+<td><p>Error message explaining why the reviewer could not be added.<br />
+If a group was specified in the input and an error is returned, it means that none of the members were added as reviewer.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>confirm</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether adding the reviewer requires confirmation.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ApprovalInfo
+
+The `ApprovalInfo` entity contains information about an approval from a
+user for a label on a change.
+
+`ApprovalInfo` has the same fields as
+[AccountInfo](rest-api-accounts.html#account-info). In addition
+`ApprovalInfo` has the following fields:
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The vote that the user has given for the label. If present and zero, the user is permitted to vote on the label. If absent, the user is not permitted to vote on that label.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>permitted_voting_range</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="#voting-range-info">VotingRangeInfo</a> the user is authorized to vote on that label. If present, the user is permitted to vote on the label regarding the range values. If absent, the user is not permitted to vote on that label.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>date</code></p></td>
+<td><p>optional</p></td>
+<td><p>The time and date describing when the approval was made.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tag</code></p></td>
+<td><p>optional</p></td>
+<td><p>Value of the <code>tag</code> field from <a href="#review-input">ReviewInput</a> set while posting the review. NOTE: To apply different tags on on different votes/comments multiple invocations of the REST call are required.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>post_submit</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>If true, this vote was made after the change was submitted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AssigneeInput
+
+The `AssigneeInput` entity contains the identity of the user to be set
+as assignee.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>assignee</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api-accounts.html#account-id">ID</a> of one account that should be added as assignee.</p></td>
+</tr>
+</tbody>
+</table>
+
+### BlameInfo
+
+The `BlameInfo` entity stores the commit metadata with the row
+coordinates where it applies.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>author</code></p></td>
+<td><p>The author of the commit.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>id</code></p></td>
+<td><p>The id of the commit.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>time</code></p></td>
+<td><p>Commit time.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_msg</code></p></td>
+<td><p>The commit message.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ranges</code></p></td>
+<td><p>The blame row coordinates as <a href="#range-info">RangeInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ChangeEditInput
+
+The `ChangeEditInput` entity contains information for restoring a path
+within change edit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>restore_path</code></p></td>
+<td><p>optional</p></td>
+<td><p>Path to file to restore.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>old_path</code></p></td>
+<td><p>optional</p></td>
+<td><p>Old path to file to rename.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>new_path</code></p></td>
+<td><p>optional</p></td>
+<td><p>New path to file to rename.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ChangeEditMessageInput
+
+The `ChangeEditMessageInput` entity contains information for changing
+the commit message within a change edit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td></td>
+<td><p>New commit message.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ChangeInfo
+
+The `ChangeInfo` entity contains information about a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The ID of the change in the format &quot;<em>&lt;project&gt;~&lt;branch&gt;~&lt;Change-Id&gt;</em>&quot;, where <em>project</em>, <em>branch</em> and <em>Change-Id</em> are URL encoded. For <em>branch</em> the <code>refs/heads/</code> prefix is omitted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>project</code></p></td>
+<td></td>
+<td><p>The name of the project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>branch</code></p></td>
+<td></td>
+<td><p>The name of the target branch.<br />
+The <code>refs/heads/</code> prefix is omitted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>topic</code></p></td>
+<td><p>optional</p></td>
+<td><p>The topic to which this change belongs.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>assignee</code></p></td>
+<td><p>optional</p></td>
+<td><p>The assignee of the change as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>hashtags</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of hashtags that are set on the change (only populated when NoteDb is enabled).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>change_id</code></p></td>
+<td></td>
+<td><p>The Change-Id of the change.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>subject</code></p></td>
+<td></td>
+<td><p>The subject of the change (header line of the commit message).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td></td>
+<td><p>The status of the change (<code>NEW</code>, <code>MERGED</code>, <code>ABANDONED</code>).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>created</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when the change was created.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>updated</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when the change was last updated.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>submitted</code></p></td>
+<td><p>only set for merged changes</p></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when the change was submitted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>submitter</code></p></td>
+<td><p>only set for merged changes</p></td>
+<td><p>The user who submitted the change, as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>starred</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the calling user has starred this change with the default label.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>stars</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of star labels that are applied by the calling user to this change. The labels are lexicographically sorted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewed</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the change was reviewed by the calling user.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>muted</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the change has been <a href="#mute">muted</a> by the calling user. Only set if <a href="#reviewed">reviewed</a> is requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>submit_type</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="project-configuration.html#submit_type">submit type</a> of the change.<br />
+Not set for merged changes.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>mergeable</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether the change is mergeable.<br />
+Not set for merged changes, or if the change has not yet been tested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>submittable</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether the change has been approved by the project submit rules.<br />
+Only set if <a href="#submittable">requested</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>insertions</code></p></td>
+<td></td>
+<td><p>Number of inserted lines.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>deletions</code></p></td>
+<td></td>
+<td><p>Number of deleted lines.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>unresolved_comment_count</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of unresolved comments. Not set if the current change index doesn’t have the data.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_number</code></p></td>
+<td></td>
+<td><p>The legacy numeric ID of the change.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>owner</code></p></td>
+<td></td>
+<td><p>The owner of the change as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>actions</code></p></td>
+<td><p>optional</p></td>
+<td><p>Actions the caller might be able to perform on this revision. The information is a map of view name to <a href="#action-info">ActionInfo</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>labels</code></p></td>
+<td><p>optional</p></td>
+<td><p>The labels of the change as a map that maps the label names to <a href="#label-info">LabelInfo</a> entries.<br />
+Only set if <a href="#labels">labels</a> or <a href="#detailed-labels">detailed labels</a> are requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>permitted_labels</code></p></td>
+<td><p>optional</p></td>
+<td><p>A map of the permitted labels that maps a label name to the list of values that are allowed for that label.<br />
+Only set if <a href="#detailed-labels">detailed labels</a> are requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>removable_reviewers</code></p></td>
+<td><p>optional</p></td>
+<td><p>The reviewers that can be removed by the calling user as a list of <a href="rest-api-accounts.html#account-info">AccountInfo</a> entities.<br />
+Only set if <a href="#detailed-labels">detailed labels</a> are requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewers</code></p></td>
+<td><p>optional</p></td>
+<td><p>The reviewers as a map that maps a reviewer state to a list of <a href="rest-api-accounts.html#account-info">AccountInfo</a> entities. Possible reviewer states are <code>REVIEWER</code>, <code>CC</code> and <code>REMOVED</code>.<br />
+<code>REVIEWER</code>: Users with at least one non-zero vote on the change.<br />
+<code>CC</code>: Users that were added to the change, but have not voted.<br />
+<code>REMOVED</code>: Users that were previously reviewers on the change, but have been removed.<br />
+Only set if <a href="#detailed-labels">detailed labels</a> are requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>pending_reviewers</code></p></td>
+<td><p>optional</p></td>
+<td><p>Updates to <code>reviewers</code> that have been made while the change was in the WIP state. Only present on WIP changes and only if there are pending reviewer updates to report. These are reviewers who have not yet been notified about being added to or removed from the change.<br />
+Only set if <a href="#detailed-labels">detailed labels</a> are requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewer_updates</code></p></td>
+<td><p>optional</p></td>
+<td><p>Updates to reviewers set for the change as <a href="#review-update-info">ReviewerUpdateInfo</a> entities. Only set if <a href="#reviewer-updates">reviewer updates</a> are requested and if NoteDb is enabled.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>messages</code></p></td>
+<td><p>optional</p></td>
+<td><p>Messages associated with the change as a list of <a href="#change-message-info">ChangeMessageInfo</a> entities.<br />
+Only set if <a href="#messages">messages</a> are requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>current_revision</code></p></td>
+<td><p>optional</p></td>
+<td><p>The commit ID of the current patch set of this change.<br />
+Only set if <a href="#current-revision">the current revision</a> is requested or if <a href="#all-revisions">all revisions</a> are requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>revisions</code></p></td>
+<td><p>optional</p></td>
+<td><p>All patch sets of this change as a map that maps the commit ID of the patch set to a <a href="#revision-info">RevisionInfo</a> entity.<br />
+Only set if <a href="#current-revision">the current revision</a> is requested (in which case it will only contain a key for the current revision) or if <a href="#all-revisions">all revisions</a> are requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tracking_ids</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="#tracking-id-info">TrackingIdInfo</a> entities describing references to external tracking systems. Only set if <a href="#tracking-ids">tracking ids</a> are requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>_more_changes</code></p></td>
+<td><p>optional, not set if <code>false</code></p></td>
+<td><p>Whether the query would deliver more results if not limited.<br />
+Only set on the last change that is returned.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>problems</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="#problem-info">ProblemInfo</a> entities describing potential problems with this change. Only set if <a href="#check">CHECK</a> is set.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>is_private</code></p></td>
+<td><p>optional, not set if <code>false</code></p></td>
+<td><p>When present, change is marked as private.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>work_in_progress</code></p></td>
+<td><p>optional, not set if <code>false</code></p></td>
+<td><p>When present, change is marked as Work In Progress.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>has_review_started</code></p></td>
+<td><p>optional, not set if <code>false</code></p></td>
+<td><p>When present, change has been marked Ready at some point in time.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>revert_of</code></p></td>
+<td><p>optional</p></td>
+<td><p>The numeric Change-Id of the change that this change reverts.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ChangeInput
+
+The `ChangeInput` entity contains information about creating a new
+change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>project</code></p></td>
+<td></td>
+<td><p>The name of the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>branch</code></p></td>
+<td></td>
+<td><p>The name of the target branch.<br />
+The <code>refs/heads/</code> prefix is omitted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>subject</code></p></td>
+<td></td>
+<td><p>The subject of the change (header line of the commit message).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>topic</code></p></td>
+<td><p>optional</p></td>
+<td><p>The topic to which this change belongs.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td><p>optional, default to <code>NEW</code></p></td>
+<td><p>The status of the change (only <code>NEW</code> accepted here).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>is_private</code></p></td>
+<td><p>optional, default to <code>false</code></p></td>
+<td><p>Whether the new change should be marked as private.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>work_in_progress</code></p></td>
+<td><p>optional, default to <code>false</code></p></td>
+<td><p>Whether the new change should be set to work in progress.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>base_change</code></p></td>
+<td><p>optional</p></td>
+<td><p>A <a href="#change-id">{change-id}</a> that identifies the base change for a create change operation.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>new_branch</code></p></td>
+<td><p>optional, default to <code>false</code></p></td>
+<td><p>Allow creating a new branch when set to <code>true</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>merge</code></p></td>
+<td><p>optional</p></td>
+<td><p>The detail of a merge commit as a <a href="#merge-input">MergeInput</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the change is created.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the change creation as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ChangeMessageInfo
+
+The `ChangeMessageInfo` entity contains information about a message
+attached to a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The ID of the message.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>author</code></p></td>
+<td><p>optional</p></td>
+<td><p>Author of the message as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.<br />
+Unset if written by the Gerrit system.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>real_author</code></p></td>
+<td><p>optional</p></td>
+<td><p>Real author of the message as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.<br />
+Set if the message was posted on behalf of another user.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>date</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> this message was posted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td></td>
+<td><p>The text left by the user.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tag</code></p></td>
+<td><p>optional</p></td>
+<td><p>Value of the <code>tag</code> field from <a href="#review-input">ReviewInput</a> set while posting the review. NOTE: To apply different tags on on different votes/comments multiple invocations of the REST call are required.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>_revision_number</code></p></td>
+<td><p>optional</p></td>
+<td><p>Which patchset (if any) generated this message.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CherryPickInput
+
+The `CherryPickInput` entity contains information for cherry-picking a
+change to a new branch.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td></td>
+<td><p>Commit message for the cherry-picked change</p></td>
+</tr>
+<tr class="even">
+<td><p><code>destination</code></p></td>
+<td></td>
+<td><p>Destination branch</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>base</code></p></td>
+<td><p>optional</p></td>
+<td><p>40-hex digit SHA-1 of the commit which will be the parent commit of the newly created change. If set, it must be a merged commit or a change revision on the destination branch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>parent</code></p></td>
+<td><p>optional, defaults to 1</p></td>
+<td><p>Number of the parent relative to which the cherry-pick should be considered.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the cherry-pick.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>NONE</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>keep_reviewers</code></p></td>
+<td><p>optional, defaults to false</p></td>
+<td><p>If true, carries reviewers and ccs over from original change to newly created one.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CommentInfo
+
+The `CommentInfo` entity contains information about an inline comment.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>patch_set</code></p></td>
+<td><p>optional</p></td>
+<td><p>The patch set number for the comment; only set in contexts where<br />
+comments may be returned for multiple patch sets.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The URL encoded UUID of the comment.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>path</code></p></td>
+<td><p>optional</p></td>
+<td><p>The path of the file for which the inline comment was done.<br />
+Not set if returned in a map where the key is the file path.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>side</code></p></td>
+<td><p>optional</p></td>
+<td><p>The side on which the comment was added.<br />
+Allowed values are <code>REVISION</code> and <code>PARENT</code>.<br />
+If not set, the default is <code>REVISION</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>parent</code></p></td>
+<td><p>optional</p></td>
+<td><p>The 1-based parent number. Used only for merge commits when <code>side == PARENT</code>. When not set the comment is for the auto-merge tree.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>line</code></p></td>
+<td><p>optional</p></td>
+<td><p>The number of the line for which the comment was done.<br />
+If range is set, this equals the end line of the range.<br />
+If neither line nor range is set, it’s a file comment.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>range</code></p></td>
+<td><p>optional</p></td>
+<td><p>The range of the comment as a <a href="#comment-range">CommentRange</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>in_reply_to</code></p></td>
+<td><p>optional</p></td>
+<td><p>The URL encoded UUID of the comment to which this comment is a reply.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>The comment message.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>updated</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when this comment was written.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>author</code></p></td>
+<td><p>optional</p></td>
+<td><p>The author of the message as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.<br />
+Unset for draft comments, assumed to be the calling user.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tag</code></p></td>
+<td><p>optional</p></td>
+<td><p>Value of the <code>tag</code> field from <a href="#review-input">ReviewInput</a> set while posting the review. NOTE: To apply different tags on on different votes/comments multiple invocations of the REST call are required.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>unresolved</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether or not the comment must be addressed by the user. The state of resolution of a comment thread is stored in the last comment in that thread chronologically.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CommentInput
+
+The `CommentInput` entity contains information for creating an inline
+comment.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td><p>optional</p></td>
+<td><p>The URL encoded UUID of the comment if an existing draft comment should be updated.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>path</code></p></td>
+<td><p>optional</p></td>
+<td><p>The path of the file for which the inline comment should be added.<br />
+Doesn’t need to be set if contained in a map where the key is the file path.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>side</code></p></td>
+<td><p>optional</p></td>
+<td><p>The side on which the comment should be added.<br />
+Allowed values are <code>REVISION</code> and <code>PARENT</code>.<br />
+If not set, the default is <code>REVISION</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>line</code></p></td>
+<td><p>optional</p></td>
+<td><p>The number of the line for which the comment should be added.<br />
+<code>0</code> if it is a file comment.<br />
+If neither line nor range is set, a file comment is added.<br />
+If range is set, this value is ignored in favor of the <code>end_line</code> of the range.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>range</code></p></td>
+<td><p>optional</p></td>
+<td><p>The range of the comment as a <a href="#comment-range">CommentRange</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>in_reply_to</code></p></td>
+<td><p>optional</p></td>
+<td><p>The URL encoded UUID of the comment to which this comment is a reply.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>updated</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of this comment.<br />
+Accepted but ignored.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>The comment message.<br />
+If not set and an existing draft comment is updated, the existing draft comment is deleted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>tag</code></p></td>
+<td><p>optional, drafts only</p></td>
+<td><p>Value of the <code>tag</code> field. Only allowed on <a href="#create-draft">draft comment</a><br />
+inputs; for published comments, use the <code>tag</code> field in<br />
+link#review-input[ReviewInput]</p></td>
+</tr>
+<tr class="even">
+<td><p><code>unresolved</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether or not the comment must be addressed by the user. This value will default to false if the comment is an orphan, or the value of the <code>in_reply_to</code> comment if it is supplied.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CommentRange
+
+The `CommentRange` entity describes the range of an inline comment.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>start_line</code></p></td>
+<td></td>
+<td><p>The start line number of the range. (1-based, inclusive)</p></td>
+</tr>
+<tr class="even">
+<td><p><code>start_character</code></p></td>
+<td></td>
+<td><p>The character position in the start line. (0-based, inclusive)</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>end_line</code></p></td>
+<td></td>
+<td><p>The end line number of the range. (1-based, exclusive)</p></td>
+</tr>
+<tr class="even">
+<td><p><code>end_character</code></p></td>
+<td></td>
+<td><p>The character position in the end line. (0-based, exclusive)</p></td>
+</tr>
+</tbody>
+</table>
+
+### CommitInfo
+
+The `CommitInfo` entity contains information about a commit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>commit</code></p></td>
+<td><p>Optional</p></td>
+<td><p>The commit ID. Not set if included in a <a href="#revision-info">RevisionInfo</a> entity that is contained in a map which has the commit ID as key.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>parents</code></p></td>
+<td></td>
+<td><p>The parent commits of this commit as a list of <a href="#commit-info">CommitInfo</a> entities. In each parent only the <code>commit</code> and <code>subject</code> fields are populated.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>author</code></p></td>
+<td></td>
+<td><p>The author of the commit as a <a href="#git-person-info">GitPersonInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>committer</code></p></td>
+<td></td>
+<td><p>The committer of the commit as a <a href="#git-person-info">GitPersonInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>subject</code></p></td>
+<td></td>
+<td><p>The subject of the commit (header line of the commit message).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>message</code></p></td>
+<td></td>
+<td><p>The commit message.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the commit in external sites as a list of <a href="#web-link-info">WebLinkInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CommitMessageInput
+
+The `CommitMessageInput` entity contains information for changing the
+commit message of a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td></td>
+<td><p>New commit message.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the commit message was updated.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>OWNER</code> for WIP changes and <code>ALL</code> otherwise.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DeleteCommentInput
+
+The `DeleteCommentInput` entity contains the option for deleting a
+comment.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>reason</code></p></td>
+<td><p>optional</p></td>
+<td><p>The reason why the comment should be deleted.<br />
+If set, the comment’s message will be replaced with &quot;Comment removed by: <code>name</code>; Reason: <code>reason</code>&quot;, or just &quot;Comment removed by: <code>name</code>.&quot; if not set.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DeleteReviewerInput
+
+The `DeleteReviewerInput` entity contains options for the deletion of a
+reviewer.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the reviewer is deleted.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DeleteVoteInput
+
+The `DeleteVoteInput` entity contains options for the deletion of a
+vote.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>label</code></p></td>
+<td><p>optional</p></td>
+<td><p>The label for which the vote should be deleted.<br />
+If set, must match the label in the URL.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the vote is deleted.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DescriptionInput
+
+The `DescriptionInput` entity contains information for setting a
+description.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>The description text.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DiffContent
+
+The `DiffContent` entity contains information about the content
+differences in a file.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>a</code></p></td>
+<td><p>optional</p></td>
+<td><p>Content only in the file on side A (deleted in B).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>b</code></p></td>
+<td><p>optional</p></td>
+<td><p>Content only in the file on side B (added in B).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ab</code></p></td>
+<td><p>optional</p></td>
+<td><p>Content in the file on both sides (unchanged).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>edit_a</code></p></td>
+<td><p>only present during a replace, i.e. both <code>a</code> and <code>b</code> are present</p></td>
+<td><p>Text sections deleted from side A as a <a href="#diff-intraline-info">DiffIntralineInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>edit_b</code></p></td>
+<td><p>only present during a replace, i.e. both <code>a</code> and <code>b</code> are present</p></td>
+<td><p>Text sections inserted in side B as a <a href="#diff-intraline-info">DiffIntralineInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>due_to_rebase</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Indicates whether this entry was introduced by a rebase.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>skip</code></p></td>
+<td><p>optional</p></td>
+<td><p>count of lines skipped on both sides when the file is too large to include all common lines.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>common</code></p></td>
+<td><p>optional</p></td>
+<td><p>Set to <code>true</code> if the region is common according to the requested ignore-whitespace parameter, but a and b contain differing amounts of whitespace. When present and true a and b are used instead of ab.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DiffFileMetaInfo
+
+The `DiffFileMetaInfo` entity contains meta information about a file
+diff.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td></td>
+<td><p>The name of the file.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>content_type</code></p></td>
+<td></td>
+<td><p>The content type of the file.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>lines</code></p></td>
+<td></td>
+<td><p>The total number of lines in the file.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the file in external sites as a list of <a href="rest-api-changes.html#web-link-info">WebLinkInfo</a> entries.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DiffInfo
+
+The `DiffInfo` entity contains information about the diff of a file in a
+revision.
+
+If the [weblinks-only](#weblinks-only) parameter is specified, only the
+`web_links` field is set.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>meta_a</code></p></td>
+<td><p>not present when the file is added</p></td>
+<td><p>Meta information about the file on side A as a <a href="#diff-file-meta-info">DiffFileMetaInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>meta_b</code></p></td>
+<td><p>not present when the file is deleted</p></td>
+<td><p>Meta information about the file on side B as a <a href="#diff-file-meta-info">DiffFileMetaInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>change_type</code></p></td>
+<td></td>
+<td><p>The type of change (<code>ADDED</code>, <code>MODIFIED</code>, <code>DELETED</code>, <code>RENAMED</code> <code>COPIED</code>, <code>REWRITE</code>).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>intraline_status</code></p></td>
+<td><p>only set when the <code>intraline</code> parameter was specified in the request</p></td>
+<td><p>Intraline status (<code>OK</code>, <code>ERROR</code>, <code>TIMEOUT</code>).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>diff_header</code></p></td>
+<td></td>
+<td><p>A list of strings representing the patch set diff header.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>content</code></p></td>
+<td></td>
+<td><p>The content differences in the file as a list of <a href="#diff-content">DiffContent</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the file diff in external sites as a list of <a href="rest-api-changes.html#diff-web-link-info">DiffWebLinkInfo</a> entries.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>binary</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the file is binary.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DiffIntralineInfo
+
+The `DiffIntralineInfo` entity contains information about intraline
+edits in a file.
+
+The information consists of a list of `<skip length, mark length>`
+pairs, where the skip length is the number of characters between the end
+of the previous edit and the start of this edit, and the mark length is
+the number of edited characters following the skip. The start of the
+edits is from the beginning of the related diff content lines.
+
+Note that the implied newline character at the end of each line is
+included in the length calculation, and thus it is possible for the
+edits to span newlines.
+
+### DiffWebLinkInfo
+
+The `DiffWebLinkInfo` entity describes a link on a diff screen to an
+external site.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>The link name.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>url</code></p></td>
+<td><p>The link URL.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>image_url</code></p></td>
+<td><p>URL to the icon of the link.</p></td>
+</tr>
+<tr class="even">
+<td><p>show_on_side_by_side_diff_view</p></td>
+<td><p>Whether the web link should be shown on the side-by-side diff screen.</p></td>
+</tr>
+<tr class="odd">
+<td><p>show_on_unified_diff_view</p></td>
+<td><p>Whether the web link should be shown on the unified diff screen.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EditFileInfo
+
+The `EditFileInfo` entity contains additional information of a file
+within a change edit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the diff info in external sites as a list of <a href="#web-link-info">WebLinkInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EditInfo
+
+The `EditInfo` entity contains information about a change edit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>commit</code></p></td>
+<td></td>
+<td><p>The commit of change edit as <a href="#commit-info">CommitInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>base_revision</code></p></td>
+<td></td>
+<td><p>The revision of the patch set the change edit is based on.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>fetch</code></p></td>
+<td><p>optional</p></td>
+<td><p>Information about how to fetch this patch set. The fetch information is provided as a map that maps the protocol name (&quot;<code>git</code>&quot;, &quot;<code>http</code>&quot;, &quot;<code>ssh</code>&quot;) to <a href="#fetch-info">FetchInfo</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>files</code></p></td>
+<td><p>optional</p></td>
+<td><p>The files of the change edit as a map that maps the file names to <a href="#file-info">FileInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### FetchInfo
+
+The `FetchInfo` entity contains information about how to fetch a patch
+set via a certain protocol.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td></td>
+<td><p>The URL of the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ref</code></p></td>
+<td></td>
+<td><p>The ref of the patch set.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commands</code></p></td>
+<td><p>optional</p></td>
+<td><p>The download commands for this patch set as a map that maps the command names to the commands.<br />
+Only set if <a href="#download-commands">download commands</a> are requested.</p></td>
+</tr>
+</tbody>
+</table>
+
+### FileInfo
+
+The `FileInfo` entity contains information about a file in a patch set.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td><p>optional</p></td>
+<td><p>The status of the file (&quot;<code>A</code>&quot;=Added, &quot;<code>D</code>&quot;=Deleted, &quot;<code>R</code>&quot;=Renamed, &quot;<code>C</code>&quot;=Copied, &quot;<code>W</code>&quot;=Rewritten).<br />
+Not set if the file was Modified (&quot;<code>M</code>&quot;).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>binary</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the file is binary.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>old_path</code></p></td>
+<td><p>optional</p></td>
+<td><p>The old file path.<br />
+Only set if the file was renamed or copied.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>lines_inserted</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of inserted lines.<br />
+Not set for binary files or if no lines were inserted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>lines_deleted</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of deleted lines.<br />
+Not set for binary files or if no lines were deleted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>size_delta</code></p></td>
+<td></td>
+<td><p>Number of bytes by which the file size increased/decreased.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>size</code></p></td>
+<td></td>
+<td><p>File size in bytes.</p></td>
+</tr>
+</tbody>
+</table>
+
+### FixInput
+
+The `FixInput` entity contains options for fixing commits using the [fix
+change](#fix-change) endpoint.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>delete_patch_set_if_commit_missing</code></p></td>
+<td><p>If true, delete patch sets from the database if they refer to missing commit options.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>expect_merged_as</code></p></td>
+<td><p>If set, check that the change is merged into the destination branch as this exact SHA-1. If not, insert a new patch set referring to this commit.</p></td>
+</tr>
+</tbody>
+</table>
+
+### FixSuggestionInfo
+
+The `FixSuggestionInfo` entity represents a suggested fix.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>fix_id</code></p></td>
+<td><p>generated, don’t set</p></td>
+<td><p>The <a href="#fix-id">UUID</a> of the suggested fix. It will be generated automatically and hence will be ignored if it’s set for input objects.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>description</code></p></td>
+<td></td>
+<td><p>A description of the suggested fix.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>replacements</code></p></td>
+<td></td>
+<td><p>A list of <a href="#fix-replacement-info">FixReplacementInfo</a> entities indicating how the content of one or several files should be modified. Within a file, they should refer to non-overlapping regions.</p></td>
+</tr>
+</tbody>
+</table>
+
+### FixReplacementInfo
+
+The `FixReplacementInfo` entity describes how the content of a file
+should be replaced by another content.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>path</code></p></td>
+<td><p>The path of the file which should be modified. Any file in the repository may be modified.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>range</code></p></td>
+<td><p>A <a href="#comment-range">CommentRange</a> indicating which content of the file should be replaced. Lines in the file are assumed to be separated by the line feed character, the carriage return character, the carriage return followed by the line feed character, or one of the other Unicode linebreak sequences supported by Java.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>replacement</code></p></td>
+<td><p>The content which should be used instead of the current one.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GitPersonInfo
+
+The `GitPersonInfo` entity contains information about the
+author/committer of a commit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>The name of the author/committer.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>email</code></p></td>
+<td><p>The email address of the author/committer.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>date</code></p></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when this identity was constructed.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tz</code></p></td>
+<td><p>The timezone offset from UTC of when this identity was constructed.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GroupBaseInfo
+
+The `GroupBaseInfo` entity contains base information about the group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td><p>The UUID of the group.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td><p>The name of the group.</p></td>
+</tr>
+</tbody>
+</table>
+
+### HashtagsInput
+
+The `HashtagsInput` entity contains information about hashtags to add
+to, and/or remove from, a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>add</code></p></td>
+<td><p>optional</p></td>
+<td><p>The list of hashtags to be added to the change.</p></td>
+</tr>
+<tr class="even">
+<td><p>`remove</p></td>
+<td><p>optional</p></td>
+<td><p>The list of hashtags to be removed from the change.</p></td>
+</tr>
+</tbody>
+</table>
+
+### IncludedInInfo
+
+The `IncludedInInfo` entity contains information about the branches a
+change was merged into and tags it was tagged with.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>branches</code></p></td>
+<td></td>
+<td><p>The list of branches this change was merged into. Each branch is listed without the <em>refs/head/</em> prefix.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tags</code></p></td>
+<td></td>
+<td><p>The list of tags this change was tagged with. Each tag is listed without the <em>refs/tags/</em> prefix.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>external</code></p></td>
+<td><p>optional</p></td>
+<td><p>A map that maps a name to a list of external systems that include this change, e.g. a list of servers on which this change is deployed.</p></td>
+</tr>
+</tbody>
+</table>
+
+### LabelInfo
+
+The `LabelInfo` entity contains information about a label on a change,
+always corresponding to the current patch set.
+
+There are two options that control the contents of `LabelInfo`:
+[`LABELS`](#labels) and [`DETAILED_LABELS`](#detailed-labels).
+
+  - For a quick summary of the state of labels, use `LABELS`.
+
+  - For detailed information about labels, including exact numeric votes
+    for all users and the allowed range of votes for the current user,
+    use `DETAILED_LABELS`.
+
+#### Common fields
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>optional</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the label is optional. Optional means the label may be set, but it’s neither necessary for submission nor does it block submission if set.</p></td>
+</tr>
+</tbody>
+</table>
+
+#### Fields set by `LABELS`
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>approved</code></p></td>
+<td><p>optional</p></td>
+<td><p>One user who approved this label on the change (voted the maximum value) as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>rejected</code></p></td>
+<td><p>optional</p></td>
+<td><p>One user who rejected this label on the change (voted the minimum value) as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>recommended</code></p></td>
+<td><p>optional</p></td>
+<td><p>One user who recommended this label on the change (voted positively, but not the maximum value) as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>disliked</code></p></td>
+<td><p>optional</p></td>
+<td><p>One user who disliked this label on the change (voted negatively, but not the minimum value) as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>blocking</code></p></td>
+<td><p>optional</p></td>
+<td><p>If <code>true</code>, the label blocks submit operation. If not set, the default is false.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The voting value of the user who recommended/disliked this label on the change if it is not &quot;<code>+1</code>&quot;/&quot;<code>-1</code>&quot;.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>default_value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The default voting value for the label. This value may be outside the range specified in permitted_labels.</p></td>
+</tr>
+</tbody>
+</table>
+
+#### Fields set by `DETAILED_LABELS`
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>all</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of all approvals for this label as a list of <a href="#approval-info">ApprovalInfo</a> entities. Items in this list may not represent actual votes cast by users; if a user votes on any label, a corresponding ApprovalInfo will appear in this list for all labels.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>values</code></p></td>
+<td><p>optional</p></td>
+<td><p>A map of all values that are allowed for this label. The map maps the values (&quot;<code>-2</code>&quot;, &quot;<code>-1</code>&quot;, &quot; <code>0</code>&quot;, &quot;<code>+1</code>&quot;, &quot;<code>+2</code>&quot;) to the value descriptions.</p></td>
+</tr>
+</tbody>
+</table>
+
+### MergeableInfo
+
+The `MergeableInfo` entity contains information about the mergeability
+of a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>submit_type</code></p></td>
+<td></td>
+<td><p>Submit type used for this change, can be <code>MERGE_IF_NECESSARY</code>, <code>FAST_FORWARD_ONLY</code>, <code>REBASE_IF_NECESSARY</code>, <code>REBASE_ALWAYS</code>, <code>MERGE_ALWAYS</code> or <code>CHERRY_PICK</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>strategy</code></p></td>
+<td><p>optional</p></td>
+<td><p>The strategy of the merge, can be <code>recursive</code>, <code>resolve</code>, <code>simple-two-way-in-core</code>, <code>ours</code> or <code>theirs</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>mergeable</code></p></td>
+<td></td>
+<td><p><code>true</code> if this change is cleanly mergeable, <code>false</code> otherwise</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_merged</code></p></td>
+<td><p>optional</p></td>
+<td><p><code>true</code> if this change is already merged, <code>false</code> otherwise</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>content_merged</code></p></td>
+<td><p>optional</p></td>
+<td><p><code>true</code> if the content of this change is already merged, <code>false</code> otherwise</p></td>
+</tr>
+<tr class="even">
+<td><p><code>conflicts</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of paths with conflicts</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>mergeable_into</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of other branch names where this change could merge cleanly</p></td>
+</tr>
+</tbody>
+</table>
+
+### MergeInput
+
+The `MergeInput` entity contains information about the merge
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>source</code></p></td>
+<td></td>
+<td><p>The source to merge from, e.g. a complete or abbreviated commit SHA-1, a complete reference name, a short reference name under refs/heads, refs/tags, or refs/remotes namespace, etc.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>strategy</code></p></td>
+<td><p>optional</p></td>
+<td><p>The strategy of the merge, can be <code>recursive</code>, <code>resolve</code>, <code>simple-two-way-in-core</code>, <code>ours</code> or <code>theirs</code>, default will use project settings.</p></td>
+</tr>
+</tbody>
+</table>
+
+### MergePatchSetInput
+
+The `MergePatchSetInput` entity contains information about updating a
+new change by creating a new merge commit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>subject</code></p></td>
+<td><p>optional</p></td>
+<td><p>The new subject for the change, if not specified, will reuse the current patch set’s subject</p></td>
+</tr>
+<tr class="even">
+<td><p><code>inheritParent</code></p></td>
+<td><p>optional, default to <code>false</code></p></td>
+<td><p>Use the current patch set’s first parent as the merge tip when set to <code>true</code>. Otherwise, use the current branch tip of the destination branch.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>merge</code></p></td>
+<td></td>
+<td><p>The detail of the source commit for merge as a <a href="#merge-input">MergeInput</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### MoveInput
+
+The `MoveInput` entity contains information for moving a change to a new
+branch.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>destination_branch</code></p></td>
+<td></td>
+<td><p>Destination branch</p></td>
+</tr>
+<tr class="even">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>A message to be posted in this change’s comments</p></td>
+</tr>
+</tbody>
+</table>
+
+### NotifyInfo
+
+The `NotifyInfo` entity contains detailed information about who should
+be notified about an update. These notifications are sent out even if a
+`notify` option in the request input disables normal notifications.
+`NotifyInfo` entities are normally contained in a `notify_details` map
+in the request input where the key is the recipient type. The recipient
+type can be `TO`, `CC` and `BCC`.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>accounts</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="rest-api-accounts.html#account-id">account IDs</a> that identify the accounts that should be should be notified.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PrivateInput
+
+The `PrivateInput` entity contains information for changing the private
+flag on a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message describing why the private flag was changed.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProblemInfo
+
+The `ProblemInfo` entity contains a description of a potential
+consistency problem with a change. These are not related to the code
+review process, but rather indicate some inconsistency in Gerrit’s
+database or repository metadata related to the enclosing change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td></td>
+<td><p>Plaintext message describing the problem with the change.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>status</code></p></td>
+<td><p>optional</p></td>
+<td><p>The status of fixing the problem (<code>FIXED</code>, <code>FIX_FAILED</code>). Only set if a fix was attempted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>outcome</code></p></td>
+<td><p>optional</p></td>
+<td><p>If <code>status</code> is set, an additional plaintext message describing the outcome of the fix.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PublishChangeEditInput
+
+The `PublishChangeEditInput` entity contains options for the publishing
+of change edit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the change edit is published.<br />
+Allowed values are <code>NONE</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PureRevertInfo
+
+The `PureRevertInfo` entity describes the result of a pure revert check.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>is_pure_revert</code></p></td>
+<td><p>Outcome of the check as boolean.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PushCertificateInfo
+
+The `PushCertificateInfo` entity contains information about a push
+certificate provided when the user pushed for review with `git push
+--signed HEAD:refs/for/<branch>`. Only used when signed push is
+[enabled](config-gerrit.html#receive.enableSignedPush) on the server.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>certificate</code></p></td>
+<td><p>Signed certificate payload and GPG signature block.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>key</code></p></td>
+<td><p>Information about the key that signed the push, along with any problems found while checking the signature or the key itself, as a <a href="rest-api-accounts.html#gpg-key-info">GpgKeyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RangeInfo
+
+The `RangeInfo` entity stores the coordinates of a range.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>start</code></p></td>
+<td><p>First index.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>end</code></p></td>
+<td><p>Last index.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RebaseInput
+
+The `RebaseInput` entity contains information for changing parent when
+rebasing.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>base</code></p></td>
+<td><p>optional</p></td>
+<td><p>The new parent revision. This can be a ref or a SHA1 to a concrete patchset.<br />
+Alternatively, a change number can be specified, in which case the current patch set is inferred.<br />
+Empty string is used for rebasing directly on top of the target branch, which effectively breaks dependency towards a parent change.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RelatedChangeAndCommitInfo
+
+The `RelatedChangeAndCommitInfo` entity contains information about a
+related change and commit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>project</code></p></td>
+<td></td>
+<td><p>The project of the change or commit.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>change_id</code></p></td>
+<td><p>optional</p></td>
+<td><p>The Change-Id of the change.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit</code></p></td>
+<td></td>
+<td><p>The commit as a <a href="#commit-info">CommitInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_change_number</code></p></td>
+<td><p>optional</p></td>
+<td><p>The change number.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>_revision_number</code></p></td>
+<td><p>optional</p></td>
+<td><p>The revision number.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_current_revision_number</code></p></td>
+<td><p>optional</p></td>
+<td><p>The current revision number.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td><p>optional</p></td>
+<td><p>The status of the change. The status of the change is one of (<code>NEW</code>, <code>MERGED</code>, <code>ABANDONED</code>).</p></td>
+</tr>
+</tbody>
+</table>
+
+### RelatedChangesInfo
+
+The `RelatedChangesInfo` entity contains information about related
+changes.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>changes</code></p></td>
+<td><p>A list of <a href="#related-change-and-commit-info">RelatedChangeAndCommitInfo</a> entities describing the related changes. Sorted by git commit order, newest to oldest. Empty if there are no related changes.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RestoreInput
+
+The `RestoreInput` entity contains information for restoring a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message to be added as review comment to the change when restoring the change.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RevertInput
+
+The `RevertInput` entity contains information for reverting a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message to be added as review comment to the change when reverting the change.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReviewInfo
+
+The `ReviewInfo` entity contains information about a review.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>labels</code></p></td>
+<td><p>The labels of the review as a map that maps the label names to the voting values.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReviewerUpdateInfo
+
+The `ReviewerUpdateInfo` entity contains information about updates to
+change’s reviewers set.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>updated</code></p></td>
+<td><p>Timestamp of the update.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>updated_by</code></p></td>
+<td><p>The account which modified state of the reviewer in question as <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>reviewer</code></p></td>
+<td><p>The reviewer account added or removed from the change as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>state</code></p></td>
+<td><p>The reviewer state, one of <code>REVIEWER</code>, <code>CC</code> or <code>REMOVED</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReviewInput
+
+The `ReviewInput` entity contains information for adding a review to a
+revision.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>The message to be added as review comment.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>tag</code></p></td>
+<td><p>optional</p></td>
+<td><p>Apply this tag to the review comment message, votes, and inline comments. Tags may be used by CI or other automated systems to distinguish them from human reviews. Comments with specific tag values can be filtered out in the web UI.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>labels</code></p></td>
+<td><p>optional</p></td>
+<td><p>The votes that should be added to the revision as a map that maps the label names to the voting values.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>comments</code></p></td>
+<td><p>optional</p></td>
+<td><p>The comments that should be added as a map that maps a file path to a list of <a href="#comment-input">CommentInput</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>robot_comments</code></p></td>
+<td><p>optional</p></td>
+<td><p>The robot comments that should be added as a map that maps a file path to a list of <a href="#robot-comment-input">RobotCommentInput</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>strict_labels</code></p></td>
+<td><p><code>true</code> if not set</p></td>
+<td><p>Whether all labels are required to be within the user’s permitted ranges based on access controls.<br />
+If <code>true</code>, attempting to use a label not granted to the user will fail the entire modify operation early.<br />
+If <code>false</code>, the operation will execute anyway, but the proposed labels will be modified to be the &quot;best&quot; value allowed by the access controls.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>drafts</code></p></td>
+<td><p>optional</p></td>
+<td><p>Draft handling that defines how draft comments are handled that are already in the database but that were not also described in this input.<br />
+Allowed values are <code>DELETE</code>, <code>PUBLISH</code>, <code>PUBLISH_ALL_REVISIONS</code> and <code>KEEP</code>. All values except <code>PUBLISH_ALL_REVISIONS</code> operate only on drafts for a single revision.<br />
+Only <code>KEEP</code> is allowed when used in conjunction with <code>on_behalf_of</code>.<br />
+If not set, the default is <code>DELETE</code>, unless <code>on_behalf_of</code> is set, in which case the default is <code>KEEP</code> and any other value is disallowed.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the review is stored.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>omit_duplicate_comments</code></p></td>
+<td><p>optional</p></td>
+<td><p>If <code>true</code>, comments with the same content at the same place will be omitted.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>on_behalf_of</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="rest-api-accounts.html#account-id">{account-id}</a> the review should be posted on behalf of. To use this option the caller must have been granted <code>labelAs-NAME</code> permission for all keys of labels.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewers</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="rest-api-changes.html#reviewer-input">ReviewerInput</a> representing reviewers that should be added to the change.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ready</code></p></td>
+<td><p>optional</p></td>
+<td><p>If true, and if the change is work in progress, then start review. It is an error for both <code>ready</code> and <code>work_in_progress</code> to be true.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>work_in_progress</code></p></td>
+<td><p>optional</p></td>
+<td><p>If true, mark the change as work in progress. It is an error for both <code>ready</code> and <code>work_in_progress</code> to be true.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReviewResult
+
+The `ReviewResult` entity contains information regarding the updates
+that were made to a review.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>labels</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of labels to values after the review was posted. Null if any reviewer additions were rejected.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewers</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of account or group identifier to <a href="rest-api-changes.html#add-reviewer-result">AddReviewerResult</a> representing the outcome of adding as a reviewer. Absent if no reviewer additions were requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ready</code></p></td>
+<td><p>optional</p></td>
+<td><p>If true, the change was moved from WIP to ready for review as a result of this action. Not set if false.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReviewerInfo
+
+The `ReviewerInfo` entity contains information about a reviewer and its
+votes on a change.
+
+`ReviewerInfo` has the same fields as
+[AccountInfo](rest-api-accounts.html#account-info) and includes
+[detailed account information](#detailed-accounts). In addition
+`ReviewerInfo` has the following fields:
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>approvals</code></p></td>
+<td><p>The approvals of the reviewer as a map that maps the label names to the approval values (&quot;<code>-2</code>&quot;, &quot;<code>-1</code>&quot;, &quot;<code>0</code>&quot;, &quot;<code>+1</code>&quot;, &quot;<code>+2</code>&quot;).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_account_id</code></p></td>
+<td><p>This field is inherited from <code>AccountInfo</code> but is optional here if an unregistered reviewer was added by email. See <a href="rest-api-changes.html#add-reviewer">add-reviewer</a> for details.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReviewerInput
+
+The `ReviewerInput` entity contains information for adding a reviewer to
+a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>reviewer</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api-accounts.html#account-id">ID</a> of one account that should be added as reviewer or the <a href="rest-api-groups.html#group-id">ID</a> of one group for which all members should be added as reviewers.<br />
+If an ID identifies both an account and a group, only the account is added as reviewer to the change.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>state</code></p></td>
+<td><p>optional</p></td>
+<td><p>Add reviewer in this state. Possible reviewer states are <code>REVIEWER</code> and <code>CC</code>. If not given, defaults to <code>REVIEWER</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>confirmed</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether adding the reviewer is confirmed.<br />
+The Gerrit server may be configured to <a href="config-gerrit.html#addreviewer.maxWithoutConfirmation">require a confirmation</a> when adding a group as reviewer that has many members.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the reviewer is added.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RevisionInfo
+
+The `RevisionInfo` entity contains information about a patch set. Not
+all fields are returned by default. Additional fields can be obtained by
+adding `o` parameters as described in [Query Changes](#list-changes).
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>kind</code></p></td>
+<td></td>
+<td><p>The change kind. Valid values are <code>REWORK</code>, <code>TRIVIAL_REBASE</code>, <code>MERGE_FIRST_PARENT_UPDATE</code>, <code>NO_CODE_CHANGE</code>, and <code>NO_CHANGE</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_number</code></p></td>
+<td></td>
+<td><p>The patch set number.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>created</code></p></td>
+<td></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when the patch set was created.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>uploader</code></p></td>
+<td></td>
+<td><p>The uploader of the patch set as an <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ref</code></p></td>
+<td></td>
+<td><p>The Git reference for the patch set.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>fetch</code></p></td>
+<td></td>
+<td><p>Information about how to fetch this patch set. The fetch information is provided as a map that maps the protocol name (&quot;<code>git</code>&quot;, &quot;<code>http</code>&quot;, &quot;<code>ssh</code>&quot;) to <a href="#fetch-info">FetchInfo</a> entities. This information is only included if a plugin implementing the <a href="intro-project-owner.html#download-commands">download commands</a> interface is installed.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commit</code></p></td>
+<td><p>optional</p></td>
+<td><p>The commit of the patch set as <a href="#commit-info">CommitInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>files</code></p></td>
+<td><p>optional</p></td>
+<td><p>The files of the patch set as a map that maps the file names to <a href="#file-info">FileInfo</a> entities. Only set if <a href="#current-files">CURRENT_FILES</a> or <a href="#all-files">ALL_FILES</a> option is requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>actions</code></p></td>
+<td><p>optional</p></td>
+<td><p>Actions the caller might be able to perform on this revision. The information is a map of view name to <a href="#action-info">ActionInfo</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reviewed</code></p></td>
+<td><p>optional</p></td>
+<td><p>Indicates whether the caller is authenticated and has commented on the current revision. Only set if <a href="#reviewed">REVIEWED</a> option is requested.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>messageWithFooter</code></p></td>
+<td><p>optional</p></td>
+<td><p>If the <a href="#commit-footers">COMMIT_FOOTERS</a> option is requested and this is the current patch set, contains the full commit message with Gerrit-specific commit footers, as if this revision were submitted using the <a href="project-configuration.html#cherry_pick">Cherry Pick</a> submit type.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>push_certificate</code></p></td>
+<td><p>optional</p></td>
+<td><p>If the <a href="#push-certificates">PUSH_CERTIFICATES</a> option is requested, contains the push certificate provided by the user when uploading this patch set as a <a href="#push-certificate-info">PushCertificateInfo</a> entity. This field is always set if the option is requested; if no push certificate was provided, it is set to an empty object.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of this patchset, as displayed in the patchset selector menu. May be null if no description is set.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RobotCommentInfo
+
+The `RobotCommentInfo` entity contains information about a robot inline
+comment.
+
+`RobotCommentInfo` has the same fields as [CommentInfo](#comment-info).
+In addition `RobotCommentInfo` has the following fields:
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>robot_id</code></p></td>
+<td></td>
+<td><p>The ID of the robot that generated this comment.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>robot_run_id</code></p></td>
+<td></td>
+<td><p>An ID of the run of the robot.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td><p>optional</p></td>
+<td><p>URL to more information.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>properties</code></p></td>
+<td><p>optional</p></td>
+<td><p>Robot specific properties as map that maps arbitrary keys to values.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>fix_suggestions</code></p></td>
+<td><p>optional</p></td>
+<td><p>Suggested fixes for this robot comment as a list of <a href="#fix-suggestion-info">FixSuggestionInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RobotCommentInput
+
+The `RobotCommentInput` entity contains information for creating an
+inline robot comment.
+
+`RobotCommentInput` has the same fields as
+[RobotCommentInfo](#robot-comment-info).
+
+### RuleInput
+
+The `RuleInput` entity contains information to test a Prolog rule.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>rule</code></p></td>
+<td></td>
+<td><p>Prolog code to execute instead of the code in <code>refs/meta/config</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>filters</code></p></td>
+<td><p><code>RUN</code> if not set</p></td>
+<td><p>When <code>RUN</code> filter rules in the parent projects are called to post-process the results of the project specific rule. This behavior matches how the rule will execute if installed.<br />
+If <code>SKIP</code> the parent filters are not called, allowing the test to return results from the input rule.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SubmitInfo
+
+The `SubmitInfo` entity contains information about the change status
+after submitting.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td></td>
+<td><p>The status of the change after submitting is <code>MERGED</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>on_behalf_of</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="rest-api-accounts.html#account-id">{account-id}</a> of the user on whose behalf the action should be done. To use this option the caller must have been granted both <code>Submit</code> and <code>Submit (On Behalf Of)</code> permissions. The user named by <code>on_behalf_of</code> does not need to be granted the <code>Submit</code> permission. This feature is aimed for CI solutions: the CI account can be granted both permissions, so individual users don’t need <code>Submit</code> permission themselves. Still the changes can be submitted on behalf of real users and not with the identity of the CI account.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SubmitInput
+
+The `SubmitInput` entity contains information for submitting a change.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>on_behalf_of</code></p></td>
+<td><p>optional</p></td>
+<td><p>If set, submit the change on behalf of the given user. The value may take any format <a href="rest-api-accounts.html#account-id">accepted by the accounts REST API</a>. Using this option requires <a href="access-control.html#category_submit_on_behalf_of">Submit (On Behalf Of)</a> permission on the branch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>notify</code></p></td>
+<td><p>optional</p></td>
+<td><p>Notify handling that defines to whom email notifications should be sent after the change is submitted.<br />
+Allowed values are <code>NONE</code>, <code>OWNER</code>, <code>OWNER_REVIEWERS</code> and <code>ALL</code>.<br />
+If not set, the default is <code>ALL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>notify_details</code></p></td>
+<td><p>optional</p></td>
+<td><p>Additional information about whom to notify about the update as a map of recipient type to <a href="#notify-info">NotifyInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SubmitRecord
+
+The `SubmitRecord` entity describes results from a submit\_rule. Fields
+in this entity roughly correspond to the fields set by `LABELS` in
+[LabelInfo](#label-info).
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td></td>
+<td><p><code>OK</code>, the change can be submitted.<br />
+<code>NOT_READY</code>, additional labels are required before submit.<br />
+<code>CLOSED</code>, closed changes cannot be submitted.<br />
+<code>RULE_ERROR</code>, rule code failed with an error.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ok</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of labels that are approved; an <a href="rest-api-accounts.html#account-info">AccountInfo</a> identifies the voter chosen by the rule.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>reject</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of labels that are preventing submit; <a href="rest-api-accounts.html#account-info">AccountInfo</a> identifies voter.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>need</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of labels that need to be given to submit. The value is currently an empty object.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>may</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of labels that can be used, but do not affect submit. <a href="rest-api-accounts.html#account-info">AccountInfo</a> identifies voter, if the label has been applied.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>impossible</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of labels that should have been in <code>need</code> but cannot be used by any user because of access restrictions. The value is currently an empty object.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>error_message</code></p></td>
+<td><p>optional</p></td>
+<td><p>When status is RULE_ERROR this message provides some text describing the failure of the rule predicate.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SubmittedTogetherInfo
+
+The `SubmittedTogetherInfo` entity contains information about a
+collection of changes that would be submitted together.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>changes</code></p></td>
+<td><p>A list of ChangeInfo entities representing the changes to be submitted together.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>non_visible_changes</code></p></td>
+<td><p>The number of changes to be submitted together that the current user cannot see. (This count includes changes that are visible to the current user when their reason for being submitted together involves changes the user cannot see.)</p></td>
+</tr>
+</tbody>
+</table>
+
+### SuggestedReviewerInfo
+
+The `SuggestedReviewerInfo` entity contains information about a reviewer
+that can be added to a change (an account or a group).
+
+`SuggestedReviewerInfo` has either the `account` field that contains the
+[AccountInfo](rest-api-accounts.html#account-info) entity, or the
+`group` field that contains the
+[GroupBaseInfo](rest-api-changes.html#group-base-info) entity.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>account</code></p></td>
+<td><p>optional</p></td>
+<td><p>An <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity, if the suggestion is an account.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>group</code></p></td>
+<td><p>optional</p></td>
+<td><p>A <a href="rest-api-changes.html#group-base-info">GroupBaseInfo</a> entity, if the suggestion is a group.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>count</code></p></td>
+<td></td>
+<td><p>The total number of accounts in the suggestion. This is <code>1</code> if <code>account</code> is present. If <code>group</code> is present, the total number of accounts that are members of the group is returned (this count includes members of nested groups).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>confirm</code></p></td>
+<td><p>optional</p></td>
+<td><p>True if <code>group</code> is present and <code>count</code> is above the threshold where the <code>confirmed</code> flag must be passed to add the group as a reviewer.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TopicInput
+
+The `TopicInput` entity contains information for setting a topic.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>topic</code></p></td>
+<td><p>optional</p></td>
+<td><p>The topic.<br />
+The topic will be deleted if not set.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TrackingIdInfo
+
+The `TrackingIdInfo` entity describes a reference to an external
+tracking system.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>system</code></p></td>
+<td><p>The name of the external tracking system.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>id</code></p></td>
+<td><p>The tracking id.</p></td>
+</tr>
+</tbody>
+</table>
+
+### VotingRangeInfo
+
+The `VotingRangeInfo` entity describes the continuous voting range from
+min to max values.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>min</code></p></td>
+<td><p>The minimum voting value.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>max</code></p></td>
+<td><p>The maximum voting value.</p></td>
+</tr>
+</tbody>
+</table>
+
+### WebLinkInfo
+
+The `WebLinkInfo` entity describes a link to an external site.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>The link name.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>url</code></p></td>
+<td><p>The link URL.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>image_url</code></p></td>
+<td><p>URL to the icon of the link.</p></td>
+</tr>
+</tbody>
+</table>
+
+### WorkInProgressInput
+
+The `WorkInProgressInput` entity contains additional information for a
+change set to WorkInProgress/ReadyForReview.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message to be added as a review comment to the change being set WorkInProgress/ReadyForReview.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-config.md b/jekyll-source/pages/gerrit/rest-api-config.md
new file mode 100644
index 0000000..d192985
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-config.md
@@ -0,0 +1,2462 @@
+---
+title: " Gerrit Code Review - /config/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-config.html
+---
+This page describes the config related REST endpoints. Please also take
+note of the general information on the [REST API](rest-api.html).
+
+## Config Endpoints
+
+### Get Version
+
+*GET /config/server/version*
+
+Returns the version of the Gerrit server.
+
+**Request.**
+
+``` 
+  GET /config/server/version HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "2.7"
+```
+
+### Get Server Info
+
+*GET /config/server/info*
+
+Returns the information about the Gerrit server configuration.
+
+**Request.**
+
+``` 
+  GET /config/server/info HTTP/1.0
+```
+
+As result a [ServerInfo](#server-info) entity is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "accounts": {
+      "visibility": "ALL"
+    },
+    "auth": {
+      "auth_type": "LDAP",
+      "use_contributor_agreements": true,
+      "contributor_agreements": [
+        {
+          "name": "Individual",
+          "description": "If you are going to be contributing code on your own, this is the one you want. You can sign this one online.",
+          "url": "static/cla_individual.html"
+        }
+      ],
+      "editable_account_fields": [
+        "FULL_NAME",
+        "REGISTER_NEW_EMAIL"
+      ]
+    },
+    "download": {
+      "schemes": {
+        "anonymous http": {
+          "url": "http://gerrithost:8080/${project}",
+          "commands": {
+            "Checkout": "git fetch http://gerrithost:8080/${project} ${ref} \u0026\u0026 git checkout FETCH_HEAD",
+            "Format Patch": "git fetch http://gerrithost:8080/${project} ${ref} \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD",
+            "Pull": "git pull http://gerrithost:8080/${project} ${ref}",
+            "Cherry Pick": "git fetch http://gerrithost:8080/${project} ${ref} \u0026\u0026 git cherry-pick FETCH_HEAD"
+          },
+          "clone_commands": {
+            "Clone": "git clone http://gerrithost:8080/${project}",
+            "Clone with commit-msg hook": "git clone http://gerrithost:8080/${project} \u0026\u0026 scp -p -P 29418 jdoe@gerrithost:hooks/commit-msg ${project}/.git/hooks/"
+          }
+        },
+        "http": {
+          "url": "http://jdoe@gerrithost:8080/${project}",
+          "is_auth_required": true,
+          "is_auth_supported": true,
+          "commands": {
+            "Checkout": "git fetch http://jdoe@gerrithost:8080/${project} ${ref} \u0026\u0026 git checkout FETCH_HEAD",
+            "Format Patch": "git fetch http://jdoe@gerrithost:8080/${project} ${ref} \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD",
+            "Pull": "git pull http://jdoe@gerrithost:8080/${project} ${ref}",
+            "Cherry Pick": "git fetch http://jdoe@gerrithost:8080/${project} ${ref} \u0026\u0026 git cherry-pick FETCH_HEAD"
+          },
+          "clone_commands": {
+            "Clone": "git clone http://jdoe@gerrithost:8080/${project}",
+            "Clone with commit-msg hook": "git clone http://jdoe@gerrithost:8080/${project} \u0026\u0026 scp -p -P 29418 jdoe@gerrithost:hooks/commit-msg ${project}/.git/hooks/"
+          }
+        },
+        "ssh": {
+          "url": "ssh://jdoe@gerrithost:29418/${project}",
+          "is_auth_required": true,
+          "is_auth_supported": true,
+          "commands": {
+            "Checkout": "git fetch ssh://jdoe@gerrithost:29418/${project} ${ref} \u0026\u0026 git checkout FETCH_HEAD",
+            "Format Patch": "git fetch ssh://jdoe@gerrithost:29418/${project} ${ref} \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD",
+            "Pull": "git pull ssh://jdoe@gerrithost:29418/${project} ${ref}",
+            "Cherry Pick": "git fetch ssh://jdoe@gerrithost:29418/${project} ${ref} \u0026\u0026 git cherry-pick FETCH_HEAD"
+          },
+          "clone_commands": {
+            "Clone": "git clone ssh://jdoe@gerrithost:29418/${project}",
+            "Clone with commit-msg hook": "git clone ssh://jdoe@gerrithost:29418/${project} \u0026\u0026 scp -p -P 29418 jdoe@gerrithost:hooks/commit-msg ${project}/.git/hooks/"
+          }
+        }
+      },
+      "archives": [
+        "tgz",
+        "tar",
+        "tbz2",
+        "txz"
+      ]
+    },
+    "gerrit": {
+      "all_projects": "All-Projects",
+      "all_users": "All-Users"
+      "doc_search": true,
+      "web_uis": [
+        "gwt"
+      ]
+    },
+    "sshd": {},
+    "suggest": {
+      "from": 0
+    },
+    "user": {
+      "anonymous_coward_name": "Anonymous Coward"
+    }
+  }
+```
+
+### Check Consistency
+
+*POST /config/server/check.consistency*
+
+Runs consistency checks and returns detected problems.
+
+Input for the consistency checks that should be run must be provided in
+the request body inside a
+[ConsistencyCheckInput](#consistency-check-input) entity.
+
+**Request.**
+
+``` 
+  POST /config/server/check.consistency HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "check_accounts": {},
+    "check_account_external_ids": {}
+  }
+```
+
+As result a [ConsistencyCheckInfo](#consistency-check-info) entity is
+returned that contains detected consistency problems.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "check_accounts_result": {
+      "problems": [
+        {
+          "status": "ERROR",
+          "message": "Account \u00271000024\u0027 has no external ID for its preferred email \u0027foo.bar@example.com\u0027"
+        }
+      ]
+    }
+    "check_account_external_ids_result": {
+      "problems": [
+        {
+          "status": "ERROR",
+          "message": "External ID \u0027uuid:ccb8d323-1361-45aa-8874-41987a660c46\u0027 belongs to account that doesn\u0027t exist: 1000012"
+        }
+      ]
+    }
+  }
+```
+
+### Confirm Email
+
+*PUT /config/server/email.confirm*
+
+Confirms that the user owns an email address.
+
+The email token must be provided in the request body inside an
+[EmailConfirmationInput](#email-confirmation-input) entity.
+
+**Request.**
+
+``` 
+  PUT /config/server/email.confirm HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "token": "Enim+QNbAo6TV8Hur8WwoUypI6apG7qBPvF+bw==$MTAwMDAwNDp0ZXN0QHRlc3QuZGU="
+  }
+```
+
+The response is "`204 No Content`".
+
+If the token is invalid or if it’s the token of another user the request
+fails and the response is "`422 Unprocessable Entity`".
+
+### List Caches
+
+*GET /config/server/caches/*
+
+Lists the caches of the server. Caches defined by plugins are included.
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [View Caches](access-control.html#capability_viewCaches)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+As result a map of [CacheInfo](#cache-info) entities is returned.
+
+The entries in the map are sorted by cache name.
+
+**Request.**
+
+``` 
+  GET /config/server/caches/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "accounts": {
+      "type": "MEM",
+      "entries": {
+        "mem": 4
+      },
+      "average_get": "2.5ms",
+      "hit_ratio": {
+        "mem": 94
+      }
+    },
+    "adv_bases": {
+      "type": "MEM",
+      "entries": {},
+      "hit_ratio": {}
+    },
+    "change_kind": {
+      "type": "DISK",
+      "entries": {
+        "space": "0.00k"
+      },
+      "hit_ratio": {}
+    },
+    "changes": {
+      "type": "MEM",
+      "entries": {},
+      "hit_ratio": {}
+    },
+    "conflicts": {
+      "type": "DISK",
+      "entries": {
+        "mem": 2,
+        "disk": 3,
+        "space": "2.75k"
+      },
+      "hit_ratio": {
+        "mem": 0,
+        "disk": 100
+      }
+    },
+    "diff": {
+      "type": "DISK",
+      "entries": {
+        "mem": 177,
+        "disk": 253,
+        "space": "170.97k"
+      },
+      "average_get": "1.1ms",
+      "hit_ratio": {
+        "mem": 67,
+        "disk": 100
+      }
+    },
+    "diff_intraline": {
+      "type": "DISK",
+      "entries": {
+        "mem": 1,
+        "disk": 1,
+        "space": "0.37k"
+      },
+      "average_get": "6.8ms",
+      "hit_ratio": {
+        "mem": 0
+      }
+    },
+    "git_tags": {
+      "type": "DISK",
+      "entries": {
+        "space": "0.00k"
+      },
+      "hit_ratio": {}
+    },
+    groups": {
+      "type": "MEM",
+      "entries": {
+        "mem": 27
+      },
+      "average_get": "183.2us",
+      "hit_ratio": {
+        "mem": 12
+      }
+    },
+    "groups_byinclude": {
+      "type": "MEM",
+      "entries": {},
+      "hit_ratio": {}
+    },
+    "groups_byname": {
+      "type": "MEM",
+      "entries": {},
+      "hit_ratio": {}
+    },
+    "groups_byuuid": {
+      "type": "MEM",
+      "entries": {
+        "mem": 25
+      },
+      "average_get": "173.4us",
+      "hit_ratio": {
+        "mem": 13
+      }
+    },
+    "groups_external": {
+      "type": "MEM",
+      "entries": {},
+      "hit_ratio": {}
+    },
+    groups_members": {
+      "type": "MEM",
+      "entries": {
+        "mem": 4
+      },
+      "average_get": "697.8us",
+      "hit_ratio": {
+        "mem": 82
+      }
+    },
+    "permission_sort": {
+      "type": "MEM",
+      "entries": {
+        "mem": 16
+      },
+      "hit_ratio": {
+        "mem": 96
+      }
+    },
+    "plugin_resources": {
+      "type": "MEM",
+      "entries": {
+        "mem": 2
+      },
+      "hit_ratio": {
+        "mem": 83
+      }
+    },
+    "project_list": {
+      "type": "MEM",
+      "entries": {
+        "mem": 1
+      },
+      "average_get": "18.6ms",
+      "hit_ratio": {
+        "mem": 0
+      }
+    },
+    "projects": {
+      "type": "MEM",
+      "entries": {
+        "mem": 35
+      },
+      "average_get": "8.6ms",
+      "hit_ratio": {
+        "mem": 99
+      }
+    },
+    "quota-repo_size": {
+      "type": "DISK",
+      "entries": {
+        "space": "0.00k"
+      },
+      "hit_ratio": {}
+    },
+    "sshkeys": {
+      "type": "MEM",
+      "entries": {
+        "mem": 1
+      },
+      "average_get": "3.2ms",
+      "hit_ratio": {
+        "mem": 50
+      }
+    },
+    "web_sessions": {
+      "type": "DISK",
+      "entries": {
+        "mem": 1,
+        "disk": 2,
+        "space": "0.78k"
+      },
+      "hit_ratio": {
+        "mem": 82
+      }
+    }
+  }
+```
+
+It is possible to get different output formats by specifying the
+`format` option:
+
+  - `LIST`:
+    
+    Returns the cache names as JSON list.
+    
+    The cache names are lexicographically sorted.
+    
+    **Request.**
+    
+    ``` 
+      GET /config/server/caches/?format=LIST HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        "accounts",
+        "adv_bases",
+        "change_kind",
+        "changes",
+        "conflicts",
+        "diff",
+        "diff_intraline",
+        "git_tags",
+        "groups",
+        "groups_byinclude",
+        "groups_byname",
+        "groups_byuuid",
+        "groups_external",
+        "groups_members",
+        "permission_sort",
+        "plugin_resources",
+        "project_list",
+        "projects",
+        "quota-repo_size",
+        "sshkeys",
+        "web_sessions"
+      ]
+    ```
+
+  - `TEXT_LIST`:
+    
+    Returns the cache names as a UTF-8 list that is base64 encoded. The
+    cache names are delimited by *\\n*.
+    
+    The cache names are lexicographically sorted.
+    
+    **Request.**
+    
+    ``` 
+      GET /config/server/caches/?format=TEXT_LIST HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Type: text/plain; charset=UTF-8
+    
+      YWNjb3VudHMKYW...ViX3Nlc3Npb25z
+    ```
+    
+    E.g. this could be used to flush all
+    caches:
+    
+    ``` 
+      for c in $(curl --user jdoe:TNAuLkXsIV7w http://gerrit/a/config/server/caches/?format=TEXT_LIST | base64 -D)
+      do
+        curl --user jdoe:TNAuLkXsIV7w -X POST http://gerrit/a/config/server/caches/$c/flush
+      done
+    ```
+
+### Cache Operations
+
+*POST /config/server/caches/*
+
+Executes a cache operation that is specified in the request body in a
+[CacheOperationInput](#cache-operation-input) entity.
+
+#### Flush All Caches
+
+**Request.**
+
+``` 
+  POST /config/server/caches/ HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "operation": "FLUSH_ALL"
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+```
+
+#### Flush Several Caches At Once
+
+**Request.**
+
+``` 
+  POST /config/server/caches/ HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "operation": "FLUSH",
+    "caches": [
+      "projects",
+      "project_list"
+    ]
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+```
+
+### Get Cache
+
+*GET /config/server/caches/[{cache-name}](#cache-name)*
+
+Retrieves information about a cache.
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [View Caches](access-control.html#capability_viewCaches)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+As result a [CacheInfo](#cache-info) entity is returned.
+
+**Request.**
+
+``` 
+  GET /config/server/caches/projects HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "name": "projects",
+    "type": "MEM",
+    "entries": {
+      "mem": 35
+    },
+    "average_get": " 8.6ms",
+    "hit_ratio": {
+      "mem": 99
+    }
+  }
+```
+
+### Flush Cache
+
+*POST /config/server/caches/[{cache-name}](#cache-name)/flush*
+
+Flushes a cache.
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [Flush Caches](access-control.html#capability_flushCaches) (any
+    cache except "web\_sessions")
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+    (any cache including "web\_sessions")
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer) (any
+    cache including "web\_sessions")
+
+**Request.**
+
+``` 
+  POST /config/server/caches/projects/flush HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+```
+
+### Get Summary
+
+*GET /config/server/summary*
+
+Retrieves a summary of the current server state.
+
+The caller must be a member of a group that is granted the [Administrate
+Server](access-control.html#capability_administrateServer) capability.
+
+The following options are supported:
+
+  - `jvm`:
+    
+    Includes a JVM summary.
+
+  - `gc`:
+    
+    Requests a Java garbage collection before computing the information
+    about the Java memory heap.
+
+**Request.**
+
+``` 
+  GET /config/server/summary?jvm HTTP/1.0
+```
+
+As result a [SummaryInfo](#summary-info) entity is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "task_summary": {
+      "total": 2,
+      "sleeping": 2
+    },
+    "mem_summary": {
+      "total": "341.06m",
+      "used": "57.16m",
+      "free": "283.90m",
+      "buffers": "0.00k",
+      "max": "1.67g",
+    }
+    "thread_summary": {
+      "cpus": 8,
+      "threads": 44,
+      "counts": {
+        "HTTP": {
+          "RUNNABLE": 3,
+          "TIMED_WAITING": 2
+        },
+        "SSH-Interactive-Worker": {
+          "WAITING": 1
+        },
+        "Other": {
+          "WAITING": 10,
+          "RUNNABLE": 2,
+          "TIMED_WAITING": 25
+        },
+        "SshCommandStart": {
+          "WAITING": 1
+        }
+      }
+    },
+    "jvm_summary": {
+      "vm_vendor": "Oracle Corporation",
+      "vm_name": "Java HotSpot(TM) 64-Bit Server VM",
+      "vm_version": "23.25-b01",
+      "os_name": "Mac OS X",
+      "os_version": "10.8.5",
+      "os_arch": "x86_64",
+      "user": "gerrit",
+      "host": "GERRIT",
+      "current_working_directory": "/Users/gerrit/site",
+      "site": "/Users/gerrit/site"
+    }
+  }
+```
+
+### List Capabilities
+
+*GET /config/server/capabilities*
+
+Lists the capabilities that are available in the system. There are two
+kinds of capabilities: core and plugin-owned capabilities.
+
+As result a map of [CapabilityInfo](#capability-info) entities is
+returned.
+
+The entries in the map are sorted by capability ID.
+
+**Request.**
+
+``` 
+  GET /config/server/capabilities/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "accessDatabase": {
+      "id": "accessDatabase",
+      "name": "Access Database"
+    },
+    "administrateServer": {
+      "id": "administrateServer",
+      "name": "Administrate Server"
+    },
+    "createAccount": {
+      "id": "createAccount",
+      "name": "Create Account"
+    },
+    "createGroup": {
+      "id": "createGroup",
+      "name": "Create Group"
+    },
+    "createProject": {
+      "id": "createProject",
+      "name": "Create Project"
+    },
+    "emailReviewers": {
+      "id": "emailReviewers",
+      "name": "Email Reviewers"
+    },
+    "flushCaches": {
+      "id": "flushCaches",
+      "name": "Flush Caches"
+    },
+    "killTask": {
+      "id": "killTask",
+      "name": "Kill Task"
+    },
+    "priority": {
+      "id": "priority",
+      "name": "Priority"
+    },
+    "queryLimit": {
+      "id": "queryLimit",
+      "name": "Query Limit"
+    },
+    "runGC": {
+      "id": "runGC",
+      "name": "Run Garbage Collection"
+    },
+    "streamEvents": {
+      "id": "streamEvents",
+      "name": "Stream Events"
+    },
+    "viewCaches": {
+      "id": "viewCaches",
+      "name": "View Caches"
+    },
+    "viewConnections": {
+      "id": "viewConnections",
+      "name": "View Connections"
+    },
+    "viewPlugins": {
+      "id": "viewPlugins",
+      "name": "View Plugins"
+    },
+    "viewQueue": {
+      "id": "viewQueue",
+      "name": "View Queue"
+    }
+  }
+```
+
+### List Tasks
+
+*GET /config/server/tasks/*
+
+Lists the tasks from the background work queues that the Gerrit daemon
+is currently performing, or will perform in the near future.
+
+Gerrit contains an internal scheduler, similar to cron, that it uses to
+queue and dispatch both short and long term tasks.
+
+Tasks that are completed or canceled exit the queue very quickly once
+they enter this state, but it can be possible to observe tasks in these
+states.
+
+End-users may see a task only if they can also see the project the task
+is associated with. Tasks operating on other projects, or that do not
+have a specific project, are hidden.
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [View Queue](access-control.html#capability_viewQueue)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+As result a list of [TaskInfo](#task-info) entities is returned.
+
+The entries in the list are sorted by task state, remaining delay and
+command.
+
+**Request.**
+
+``` 
+  GET /config/server/tasks/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "1e688bea",
+      "state": "SLEEPING",
+      "start_time": "2014-06-11 12:58:51.991000000",
+      "delay": 3453,
+      "command": "Reload Submit Queue"
+    },
+    {
+      "id": "3e6d4ffa",
+      "state": "SLEEPING",
+      "start_time": "2014-06-11 12:58:51.508000000",
+      "delay": 3287966,
+      "command": "Log File Compressor"
+    }
+  ]
+```
+
+### Get Task
+
+*GET /config/server/tasks/[{task-id}](#task-id)*
+
+Retrieves a task from the background work queue that the Gerrit daemon
+is currently performing, or will perform in the near future.
+
+End-users may see a task only if they can also see the project the task
+is associated with. Tasks operating on other projects, or that do not
+have a specific project, are hidden.
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [View Queue](access-control.html#capability_viewQueue)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+As result a [TaskInfo](#task-info) entity is returned.
+
+**Request.**
+
+``` 
+  GET /config/server/tasks/1e688bea HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "1e688bea",
+    "state": "SLEEPING",
+    "start_time": "2014-06-11 12:58:51.991000000",
+    "delay": 3453,
+    "command": "Reload Submit Queue"
+  }
+```
+
+### Delete Task
+
+*DELETE /config/server/tasks/[{task-id}](#task-id)*
+
+Kills a task from the background work queue that the Gerrit daemon is
+currently performing, or will perform in the near future.
+
+The caller must be a member of a group that is granted one of the
+following capabilities:
+
+  - [Kill Task](access-control.html#capability_kill)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+End-users may see a task only if they can also see the project the task
+is associated with. Tasks operating on other projects, or that do not
+have a specific project, are hidden.
+
+Members of a group granted one of the following capabilities may view
+all tasks:
+
+  - [View Queue](access-control.html#capability_viewQueue)
+
+  - [Maintain Server](access-control.html#capability_maintainServer)
+
+  - [Administrate
+    Server](access-control.html#capability_administrateServer)
+
+**Request.**
+
+``` 
+  DELETE /config/server/tasks/1e688bea HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Top Menus
+
+*GET /config/server/top-menus*
+
+Returns the list of additional top menu entries.
+
+**Request.**
+
+``` 
+  GET /config/server/top-menus HTTP/1.0
+```
+
+As response a list of the additional top menu entries as
+[TopMenuEntryInfo](#top-menu-entry-info) entities is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "name": "Top Menu Entry",
+      "items": [
+        {
+          "url": "http://gerrit.googlecode.com/",
+          "name": "Gerrit",
+          "target": "_blank"
+        }
+      ]
+    }
+  ]
+```
+
+### Get Default User Preferences
+
+*GET /config/server/preferences*
+
+Returns the default user preferences for the server.
+
+**Request.**
+
+``` 
+  GET /a/config/server/preferences HTTP/1.0
+```
+
+As response a [PreferencesInfo](rest-api-accounts.html#preferences-info)
+is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "changes_per_page": 25,
+    "show_site_header": true,
+    "use_flash_clipboard": true,
+    "download_command": "CHECKOUT",
+    "date_format": "STD",
+    "time_format": "HHMM_12",
+    "diff_view": "SIDE_BY_SIDE",
+    "size_bar_in_change_table": true,
+    "review_category_strategy": "NONE",
+    "mute_common_path_prefixes": true,
+    "publish_comments_on_push": true,
+    "my": [
+      {
+        "url": "#/dashboard/self",
+        "name": "Changes"
+      },
+      {
+        "url": "#/q/has:draft",
+        "name": "Draft Comments"
+      },
+      {
+        "url": "#/q/has:edit",
+        "name": "Edits"
+      },
+      {
+        "url": "#/q/is:watched+is:open",
+        "name": "Watched Changes"
+      },
+      {
+        "url": "#/q/is:starred",
+        "name": "Starred Changes"
+      },
+      {
+        "url": "#/groups/self",
+        "name": "Groups"
+      }
+    ],
+    "email_strategy": "ENABLED"
+  }
+```
+
+### Set Default User Preferences
+
+*PUT /config/server/preferences*
+
+Sets the default user preferences for the server.
+
+The new user preferences must be provided in the request body as a
+[PreferencesInput](rest-api-accounts.html#preferences-input) entity.
+
+To be allowed to set default preferences, a user must be a member of a
+group that is granted the [Administrate
+Server](access-control.html#capability_administrateServer) capability.
+
+**Request.**
+
+``` 
+  PUT /a/config/server/preferences HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "changes_per_page": 50
+  }
+```
+
+As response a [PreferencesInfo](rest-api-accounts.html#preferences-info)
+is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "changes_per_page": 50,
+    "show_site_header": true,
+    "use_flash_clipboard": true,
+    "download_command": "CHECKOUT",
+    "date_format": "STD",
+    "time_format": "HHMM_12",
+    "diff_view": "SIDE_BY_SIDE",
+    "size_bar_in_change_table": true,
+    "review_category_strategy": "NONE",
+    "mute_common_path_prefixes": true,
+    "publish_comments_on_push": true,
+    "my": [
+      {
+        "url": "#/dashboard/self",
+        "name": "Changes"
+      },
+      {
+        "url": "#/q/has:draft",
+        "name": "Draft Comments"
+      },
+      {
+        "url": "#/q/has:edit",
+        "name": "Edits"
+      },
+      {
+        "url": "#/q/is:watched+is:open",
+        "name": "Watched Changes"
+      },
+      {
+        "url": "#/q/is:starred",
+        "name": "Starred Changes"
+      },
+      {
+        "url": "#/groups/self",
+        "name": "Groups"
+      }
+    ],
+    "email_strategy": "ENABLED"
+  }
+```
+
+### Get Default Diff Preferences
+
+*GET /config/server/preferences.diff*
+
+Returns the default diff preferences for the server.
+
+**Request.**
+
+``` 
+  GET /a/config/server/preferences.diff HTTP/1.0
+```
+
+As response a
+[DiffPreferencesInfo](rest-api-accounts.html#diff-preferences-info) is
+returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "context": 10,
+    "tab_size": 8,
+    "line_length": 100,
+    "cursor_blink_rate": 0,
+    "intraline_difference": true,
+    "show_line_endings": true,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "auto_hide_diff_table_header": true,
+    "theme": "DEFAULT",
+    "ignore_whitespace": "IGNORE_NONE"
+  }
+```
+
+### Set Default Diff Preferences
+
+*PUT /config/server/preferences.diff*
+
+Sets the default diff preferences for the server.
+
+The new diff preferences must be provided in the request body as a
+[DiffPreferencesInput](rest-api-accounts.html#diff-preferences-input)
+entity.
+
+To be allowed to set default diff preferences, a user must be a member
+of a group that is granted the [Administrate
+Server](access-control.html#capability_administrateServer) capability.
+
+**Request.**
+
+``` 
+  PUT /a/config/server/preferences.diff HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "context": 10,
+    "tab_size": 8,
+    "line_length": 80,
+    "cursor_blink_rate": 0,
+    "intraline_difference": true,
+    "show_line_endings": true,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "auto_hide_diff_table_header": true,
+    "theme": "DEFAULT",
+    "ignore_whitespace": "IGNORE_NONE"
+  }
+```
+
+As response a
+[DiffPreferencesInfo](rest-api-accounts.html#diff-preferences-info) is
+returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "context": 10,
+    "tab_size": 8,
+    "line_length": 80,
+    "cursor_blink_rate": 0,
+    "intraline_difference": true,
+    "show_line_endings": true,
+    "show_tabs": true,
+    "show_whitespace_errors": true,
+    "syntax_highlighting": true,
+    "auto_hide_diff_table_header": true,
+    "theme": "DEFAULT",
+    "ignore_whitespace": "IGNORE_NONE"
+  }
+```
+
+## IDs
+
+### {cache-name}
+
+The name of the cache.
+
+If the cache is defined by a plugin the cache name must include the
+plugin name: "\<plugin-name\>-\<cache-name\>".
+
+Gerrit core caches can optionally be prefixed with "gerrit":
+"gerrit-\<cache-name\>".
+
+### {task-id}
+
+The ID of the task (hex string).
+
+## JSON Entities
+
+### AccountsConfigInfo
+
+The `AccountsConfigInfo` entity contains information about Gerrit
+configuration from the [accounts](config-gerrit.html#accounts) section.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>visibility</code></p></td>
+<td><p><a href="config-gerrit.html#accounts.visibility">Visibility setting for accounts</a>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AuthInfo
+
+The `AuthInfo` entity contains information about the authentication
+configuration of the Gerrit server.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>type</code></p></td>
+<td></td>
+<td><p>The <a href="config-gerrit.html#auth.type">authentication type</a> that is configured on the server. Can be <code>OPENID</code>, <code>OPENID_SSO</code>, <code>OAUTH</code>, <code>HTTP</code>, <code>HTTP_LDAP</code>, <code>CLIENT_SSL_CERT_LDAP</code>, <code>LDAP</code>, <code>LDAP_BIND</code>, <code>CUSTOM_EXTENSION</code> or <code>DEVELOPMENT_BECOME_ANY_ACCOUNT</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_contributor_agreements</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether <a href="config-gerrit.html#auth.contributorAgreements">contributor agreements</a> are required.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>contributor_agreements</code></p></td>
+<td><p>not set if <code>use_contributor_agreements</code> is <code>false</code></p></td>
+<td><p>List of contributor agreements as <a href="rest-api-accounts.html#contributor-agreement-info">ContributorAgreementInfo</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>editable_account_fields</code></p></td>
+<td></td>
+<td><p>List of account fields that are editable. Possible values are <code>FULL_NAME</code>, <code>USER_NAME</code> and <code>REGISTER_NEW_EMAIL</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>login_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.loginUrl">login URL</a>. Only set if <a href="config-gerrit.html#auth.type">authentication type</a> is <code>HTTP</code> or <code>HTTP_LDAP</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>login_text</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.loginText">login text</a>. Only set if <a href="config-gerrit.html#auth.type">authentication type</a> is <code>HTTP</code> or <code>HTTP_LDAP</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>switch_account_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.switchAccountUrl">URL to switch accounts</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>register_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.registerUrl">register URL</a>. Only set if <a href="config-gerrit.html#auth.type">authentication type</a> is <code>LDAP</code>, <code>LDAP_BIND</code> or <code>CUSTOM_EXTENSION</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>register_text</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.registerText">register text</a>. Only set if <a href="config-gerrit.html#auth.type">authentication type</a> is <code>LDAP</code>, <code>LDAP_BIND</code> or <code>CUSTOM_EXTENSION</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>edit_full_name_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.editFullNameUrl">URL to edit the full name</a>. Only set if <a href="config-gerrit.html#auth.type">authentication type</a> is <code>LDAP</code>, <code>LDAP_BIND</code> or <code>CUSTOM_EXTENSION</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>http_password_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.httpPasswordUrl">URL to obtain an HTTP password</a>. Only set if <a href="config-gerrit.html#auth.type">authentication type</a> is <code>CUSTOM_EXTENSION</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>git_basic_auth_policy</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#auth.gitBasicAuthPolicy">policy</a> to authenticate Git over HTTP and REST API requests when <a href="config-gerrit.html#auth.type">authentication type</a> is <code>LDAP</code>. Can be <code>HTTP</code>, <code>LDAP</code> or <code>HTTP_LDAP</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CacheInfo
+
+The `CacheInfo` entity contains information about a cache.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>not set if returned in a map where the cache name is used as map key</p></td>
+<td><p>The cache name. If the cache is defined by a plugin the cache name includes the plugin name: &quot;&lt;plugin-name&gt;-&lt;cache-name&gt;&quot;.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>type</code></p></td>
+<td></td>
+<td><p>The type of the cache (<code>MEM</code>: in memory cache, <code>DISK</code>: disk cache).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>entries</code></p></td>
+<td></td>
+<td><p>Information about the entries in the cache as a <a href="#entries-info">EntriesInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>average_get</code></p></td>
+<td><p>optional</p></td>
+<td><p>The average duration of getting one entry from the cache. The value is returned with a standard time unit abbreviation (<code>ns</code>: nanoseconds, <code>us</code>: microseconds, <code>ms</code>: milliseconds, <code>s</code>: seconds).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>hit_ratio</code></p></td>
+<td></td>
+<td><p>Information about the hit ratio as a <a href="#hit-ration-info">HitRatioInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CacheOperationInput
+
+The `CacheOperationInput` entity contains information about an operation
+that should be executed on caches.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>operation</code></p></td>
+<td></td>
+<td><p>The cache operation that should be executed:</p>
+<p><code>FLUSH_ALL</code>: Flushes all caches, except the <code>web_sessions</code> cache.</p>
+<p><code>FLUSH</code>: Flushes the specified caches.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>caches</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of cache names. This list defines the caches on which the specified operation should be executed. Whether this list must be specified depends on the operation being executed.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CapabilityInfo
+
+The `CapabilityInfo` entity contains information about a capability.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td><p>capability ID</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td><p>capability name</p></td>
+</tr>
+</tbody>
+</table>
+
+### ChangeConfigInfo
+
+The `ChangeConfigInfo` entity contains information about Gerrit
+configuration from the [change](config-gerrit.html#change) section.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>allow_blame</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p><a href="config-gerrit.html#change.allowBlame">Whether blame on side by side diff is allowed</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>large_change</code></p></td>
+<td></td>
+<td><p><a href="config-gerrit.html#change.largeChange">Number of changed lines from which on a change is considered as a large change</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>private_by_default</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Returns true if changes are by default created as private. See <a href="config-gerrit.html#change.privateByDefault">privateByDefault</a></p></td>
+</tr>
+<tr class="even">
+<td><p><code>reply_label</code></p></td>
+<td></td>
+<td><p><a href="config-gerrit.html#change.replyTooltip">Label name for the reply button</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>reply_tooltip</code></p></td>
+<td></td>
+<td><p><a href="config-gerrit.html#change.replyTooltip">Tooltip for the reply button</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>update_delay</code></p></td>
+<td></td>
+<td><p><a href="config-gerrit.html#change.updateDelay">How often in seconds the web interface should poll for updates to the currently open change</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>submit_whole_topic</code></p></td>
+<td></td>
+<td><p><a href="config-gerrit.html#change.submitWholeTopic">A configuration if the whole topic is submitted</a>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### CheckAccountExternalIdsInput
+
+The `CheckAccountExternalIdsInput` entity contains input for the account
+external IDs consistency check.
+
+Currently this entity contains no fields.
+
+### CheckAccountExternalIdsResultInfo
+
+The `CheckAccountExternalIdsResultInfo` entity contains the result of
+running the account external IDs consistency check.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>problems</code></p></td>
+<td><p>A list of <a href="#consistency-problem-info">ConsistencyProblemInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ConsistencyCheckInfo
+
+The `ConsistencyCheckInfo` entity contains the results of running
+consistency checks.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>check_accounts_result</code></p></td>
+<td><p>optional</p></td>
+<td><p>The result of running the account consistency check as a <a href="#check-accounts-result-info">CheckAccountsResultInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>check_account_external_ids_result</code></p></td>
+<td><p>optional</p></td>
+<td><p>The result of running the account external ID consistency check as a <a href="#check-account-external-ids-result-info">CheckAccountExternalIdsResultInfo</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ConsistencyCheckInput
+
+The `ConsistencyCheckInput` entity contains information about which
+consistency checks should be run.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>check_accounts</code></p></td>
+<td><p>optional</p></td>
+<td><p>Input for the account consistency check as <a href="#check-accounts-input">CheckAccountsInput</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>check_account_external_ids</code></p></td>
+<td><p>optional</p></td>
+<td><p>Input for the account external ID consistency check as <a href="#check-account-external-ids-input">CheckAccountExternalIdsInput</a> entity.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ConsistencyProblemInfo
+
+The `ConsistencyProblemInfo` entity contains information about a
+consistency problem.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td><p>The status of the consistency problem.<br />
+Possible values are <code>ERROR</code> and <code>WARNING</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>message</code></p></td>
+<td><p>Message describing the consistency problem.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DownloadInfo
+
+The `DownloadInfo` entity contains information about supported download
+options.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>schemes</code></p></td>
+<td><p>The supported download schemes as a map which maps the scheme name to a of <a href="#download-scheme-info">DownloadSchemeInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>archives</code></p></td>
+<td><p>List of supported archive formats. Possible values are <code>tgz</code>, <code>tar</code>, <code>tbz2</code> and <code>txz</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DownloadSchemeInfo
+
+The `DownloadSchemeInfo` entity contains information about a supported
+download scheme and its commands.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td></td>
+<td><p>placeholder for the project name.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>is_auth_required</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether this download scheme requires authentication.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>is_auth_supported</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether this download scheme supports authentication.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commands</code></p></td>
+<td></td>
+<td><p>Download commands as a map which maps the command name to the download placeholder for the (change) ref.</p>
+<p>Empty, if accessed anonymously and the download scheme requires authentication.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>clone_commands</code></p></td>
+<td></td>
+<td><p>Clone commands as a map which maps the command name to the clone placeholder for <em>bar</em>).</p>
+<p>Empty, if accessed anonymously and the download scheme requires authentication.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EmailConfirmationInput
+
+The `EmailConfirmationInput` entity contains information for confirming
+an email address.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>token</code></p></td>
+<td><p>The token that was sent by mail to a newly registered email address.</p></td>
+</tr>
+</tbody>
+</table>
+
+### EntriesInfo
+
+The `EntriesInfo` entity contains information about the entries in a
+cache.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>mem</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of cache entries that are held in memory.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>disk</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of cache entries on the disk. For non-disk caches this value is not set; for disk caches it is only set if there are entries in the cache.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>space</code></p></td>
+<td><p>optional</p></td>
+<td><p>The space that is consumed by the cache on disk. The value is returned with a unit abbreviation (<code>k</code>: kilobytes, <code>m</code>: megabytes, <code>g</code>: gigabytes). Only set for disk caches.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GerritInfo
+
+The `GerritInfo` entity contains information about Gerrit configuration
+from the [gerrit](config-gerrit.html#gerrit) section.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>all_projects_name</code></p></td>
+<td></td>
+<td><p>Name of the <a href="config-gerrit.html#gerrit.allProjects">root project</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>all_users_name</code></p></td>
+<td></td>
+<td><p>Name of the <a href="config-gerrit.html#gerrit.allUsers">project in which meta data of all users is stored</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>doc_search</code></p></td>
+<td></td>
+<td><p>Whether documentation search is available.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>doc_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>Custom base URL where Gerrit server documentation is located. (Documentation may still be available at /Documentation relative to the Gerrit base path even if this value is unset.)</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>edit_gpg_keys</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether to enable the web UI for editing GPG keys.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>report_bug_url</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="config-gerrit.html#gerrit.reportBugUrl">URL to report bugs</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>report_bug_text</code></p></td>
+<td><p>optional, not set if default</p></td>
+<td><p><a href="config-gerrit.html#gerrit.reportBugText">Display text for report bugs link</a>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>web_uis</code></p></td>
+<td></td>
+<td><p>List of web UIs supported by the HTTP server. Possible values are <code>GWT</code> and <code>POLYGERRIT</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### HitRatioInfo
+
+The `HitRatioInfo` entity contains information about the hit ratio of a
+cache.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>mem</code></p></td>
+<td></td>
+<td><p>Hit ratio for cache entries that are held in memory (0 &lt;= value &lt;= 100).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>disk</code></p></td>
+<td><p>optional</p></td>
+<td><p>Hit ratio for cache entries that are held on disk (0 &lt;= value &lt;= 100). Only set for disk caches.</p></td>
+</tr>
+</tbody>
+</table>
+
+### JvmSummaryInfo
+
+The `JvmSummaryInfo` entity contains information about the JVM.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>vm_vendor</code></p></td>
+<td></td>
+<td><p>The vendor of the virtual machine.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>vm_name</code></p></td>
+<td></td>
+<td><p>The name of the virtual machine.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>vm_version</code></p></td>
+<td></td>
+<td><p>The version of the virtual machine.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>os_name</code></p></td>
+<td></td>
+<td><p>The name of the operating system.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>os_version</code></p></td>
+<td></td>
+<td><p>The version of the operating system.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>os_arch</code></p></td>
+<td></td>
+<td><p>The architecture of the operating system.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>user</code></p></td>
+<td></td>
+<td><p>The user that is running Gerrit.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>host</code></p></td>
+<td><p>optional</p></td>
+<td><p>The host on which Gerrit is running.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>current_working_directory</code></p></td>
+<td></td>
+<td><p>The current working directory.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>site</code></p></td>
+<td></td>
+<td><p>The path to the review site.</p></td>
+</tr>
+</tbody>
+</table>
+
+### MemSummaryInfo
+
+The `MemSummaryInfo` entity contains information about the current
+memory usage.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>total</code></p></td>
+<td></td>
+<td><p>The total size of the memory. The value is returned with a unit abbreviation (<code>k</code>: kilobytes, <code>m</code>: megabytes, <code>g</code>: gigabytes).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>used</code></p></td>
+<td></td>
+<td><p>The size of used memory. The value is returned with a unit abbreviation (<code>k</code>: kilobytes, <code>m</code>: megabytes, <code>g</code>: gigabytes).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>free</code></p></td>
+<td></td>
+<td><p>The size of free memory. The value is returned with a unit abbreviation (<code>k</code>: kilobytes, <code>m</code>: megabytes, <code>g</code>: gigabytes).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>buffers</code></p></td>
+<td></td>
+<td><p>The size of memory used for JGit buffers. The value is returned with a unit abbreviation (<code>k</code>: kilobytes, <code>m</code>: megabytes, <code>g</code>: gigabytes).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>max</code></p></td>
+<td></td>
+<td><p>The maximal memory size. The value is returned with a unit abbreviation (<code>k</code>: kilobytes, <code>m</code>: megabytes, <code>g</code>: gigabytes).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>open_files</code></p></td>
+<td><p>optional</p></td>
+<td><p>The number of open files.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PluginConfigInfo
+
+The `PluginConfigInfo` entity contains information about Gerrit
+extensions by plugins.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>has_avatars</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether an avatar provider is registered.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReceiveInfo
+
+The `ReceiveInfo` entity contains information about the configuration of
+git-receive-pack behavior on the server.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>enableSignedPush</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether signed push validation support is enabled on the server; see the <a href="config-gerrit.html#receive.certNonceSeed">global configuration</a> for details.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ServerInfo
+
+The `ServerInfo` entity contains information about the configuration of
+the Gerrit server.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>accounts</code></p></td>
+<td></td>
+<td><p>Information about the configuration from the <a href="config-gerrit.html#accounts">accounts</a> section as <a href="#accounts-config-info">AccountsConfigInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>auth</code></p></td>
+<td></td>
+<td><p>Information about the authentication configuration as <a href="#auth-info">AuthInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>change</code></p></td>
+<td></td>
+<td><p>Information about the configuration from the <a href="config-gerrit.html#change">change</a> section as <a href="#change-config-info">ChangeConfigInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>download</code></p></td>
+<td></td>
+<td><p>Information about the configured download options as <a href="#download-info">DownloadInfo</a> entity. information about Gerrit</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>gerrit</code></p></td>
+<td></td>
+<td><p>Information about the configuration from the <a href="config-gerrit.html#gerrit">gerrit</a> section as <a href="#gerrit-info">GerritInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>note_db_enabled</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the NoteDb storage backend is fully enabled.</p></td>
+</tr>
+<tr class="odd">
+<td><p>`plugin `</p></td>
+<td></td>
+<td><p>Information about Gerrit extensions by plugins as <a href="#plugin-config-info">PluginConfigInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>receive</code></p></td>
+<td><p>optional</p></td>
+<td><p>Information about the receive-pack configuration as a <a href="#receive-info">ReceiveInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>sshd</code></p></td>
+<td><p>optional</p></td>
+<td><p>Information about the configuration from the <a href="config-gerrit.html#sshd">sshd</a> section as <a href="#sshd-info">SshdInfo</a> entity. Not set if SSHD is disabled.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>suggest</code></p></td>
+<td></td>
+<td><p>Information about the configuration from the <a href="config-gerrit.html#suggest">suggest</a> section as <a href="#suggest-info">SuggestInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>url_aliases</code></p></td>
+<td><p>optional</p></td>
+<td><p>A map of URL aliases, where a regular expression for an URL token is mapped to a target URL token. The target URL token can contain placeholders for the groups matched by the regular expression: <code>$1</code> for the first matched group, <code>$2</code> for the second matched group, etc.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>user</code></p></td>
+<td></td>
+<td><p>Information about the configuration from the <a href="config-gerrit.html#user">user</a> section as <a href="#user-config-info">UserConfigInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>default_theme</code></p></td>
+<td><p>optional</p></td>
+<td><p>URL to a default PolyGerrit UI theme plugin, if available. Located in <code>/static/gerrit-theme.html</code> by default.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SshdInfo
+
+The `SshdInfo` entity contains information about Gerrit configuration
+from the [sshd](config-gerrit.html#sshd) section.
+
+This entity doesn’t contain any data, but the presence of this (empty)
+entity in the [ServerInfo](#server-info) entity means that SSHD is
+enabled on the server.
+
+### SuggestInfo
+
+The `SuggestInfo` entity contains information about Gerrit configuration
+from the [suggest](config-gerrit.html#suggest) section.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>from</code></p></td>
+<td><p>The <a href="config-gerrit.html#suggest.from">number of characters</a> that a user must have typed before suggestions are provided.</p></td>
+</tr>
+</tbody>
+</table>
+
+### SummaryInfo
+
+The `SummaryInfo` entity contains information about the current state of
+the server.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>task_summary</code></p></td>
+<td></td>
+<td><p>Summary about current tasks as a <a href="#task-summary-info">TaskSummaryInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>mem_summary</code></p></td>
+<td></td>
+<td><p>Summary about current memory usage as a <a href="#mem-summary-info">MemSummaryInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>thread_summary</code></p></td>
+<td></td>
+<td><p>Summary about current threads as a <a href="#thread-summary-info">ThreadSummaryInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>jvm_summary</code></p></td>
+<td><p>optional</p></td>
+<td><p>Summary about the JVM <a href="#jvm-summary-info">JvmSummaryInfo</a> entity. Only set if the <code>jvm</code> option was set.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TaskInfo
+
+The `TaskInfo` entity contains information about a task in a background
+work queue.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The ID of the task.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>state</code></p></td>
+<td></td>
+<td><p>The state of the task, can be <code>DONE</code>, <code>CANCELLED</code>, <code>RUNNING</code>, <code>READY</code>, <code>SLEEPING</code> and <code>OTHER</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>start_time</code></p></td>
+<td></td>
+<td><p>The start time of the task.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>delay</code></p></td>
+<td></td>
+<td><p>The remaining delay of the task.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>command</code></p></td>
+<td></td>
+<td><p>The command of the task.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>remote_name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The remote name. May only be set for tasks that are associated with a project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>project</code></p></td>
+<td><p>optional</p></td>
+<td><p>The project the task is associated with.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TaskSummaryInfo
+
+The `TaskSummaryInfo` entity contains information about the current
+tasks.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>total</code></p></td>
+<td><p>optional</p></td>
+<td><p>Total number of current tasks.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>running</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of currently running tasks.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ready</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of currently ready tasks.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>sleeping</code></p></td>
+<td><p>optional</p></td>
+<td><p>Number of currently sleeping tasks.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ThreadSummaryInfo
+
+The `ThreadSummaryInfo` entity contains information about the current
+threads.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>cpus</code></p></td>
+<td><p>The number of available processors.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>threads</code></p></td>
+<td><p>The total number of current threads.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>counts</code></p></td>
+<td><p>Detailed thread counts as a map that maps a thread kind to a map that maps a thread state to the thread count. The thread kinds group the counts by threads that have the same name prefix (<code>H2</code>, <code>HTTP</code>, <code>IntraLineDiff</code>, <code>ReceiveCommits</code>, <code>SSH git-receive-pack</code>, <code>SSH git-upload-pack</code>, <code>SSH-Interactive-Worker</code>, <code>SSH-Stream-Worker</code>, <code>SshCommandStart</code>, <code>sshd-SshServer</code>). The counts for other threads are available under the thread kind <code>Other</code>. Counts for the following thread states can be included: <code>NEW</code>, <code>RUNNABLE</code>, <code>BLOCKED</code>, <code>WAITING</code>, <code>TIMED_WAITING</code> and <code>TERMINATED</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TopMenuEntryInfo
+
+The `TopMenuEntryInfo` entity contains information about a top menu
+entry.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>Name of the top menu entry.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>items</code></p></td>
+<td><p>List of <a href="#top-menu-item-info">menu items</a>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TopMenuItemInfo
+
+The `TopMenuItemInfo` entity contains information about a menu item in a
+top menu entry.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td></td>
+<td><p>The URL of the menu item link.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td></td>
+<td><p>The name of the menu item.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>target</code></p></td>
+<td></td>
+<td><p>Target attribute of the menu item link.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>id</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <code>id</code> attribute of the menu item link.</p></td>
+</tr>
+</tbody>
+</table>
+
+### UserConfigInfo
+
+The `UserConfigInfo` entity contains information about Gerrit
+configuration from the [user](config-gerrit.html#user) section.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>anonymous_coward_name</code></p></td>
+<td><p><a href="config-gerrit.html#user.anonymousCoward">Username</a> that is displayed in the Gerrit Web UI and in e-mail notifications if the full name of the user is not set.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-documentation.md b/jekyll-source/pages/gerrit/rest-api-documentation.md
new file mode 100644
index 0000000..bddd5b0
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-documentation.md
@@ -0,0 +1,159 @@
+---
+title: " Gerrit Code Review - /Documentation/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-documentation.html
+---
+This page describes the documentation search related REST endpoints.
+Please also take note of the general information on the [REST
+API](rest-api.html).
+
+Please note that this feature is only usable with documentation
+built-in. You’ll need to `bazel build withdocs` or `bazel build release`
+to test this feature.
+
+## Documentation Search Endpoints
+
+### Search Documentation
+
+*GET /Documentation/*
+
+With `q` parameter, search our documentation index for the terms.
+
+A list of [DocResult](#doc-result) entities is returned describing the
+results.
+
+**Request.**
+
+``` 
+  GET /Documentation/?q=test HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "title": "Gerrit Code Review - REST API Developers\u0027 Notes",
+      "url": "Documentation/dev-rest-api.html"
+    },
+    {
+      "title": "Gerrit Code Review - REST API",
+      "url": "Documentation/rest-api.html"
+    },
+    {
+      "title": "Gerrit Code Review - JavaScript API",
+      "url": "Documentation/js-api.html"
+    },
+    {
+      "title": "Gerrit Code Review - /plugins/ REST API",
+      "url": "Documentation/rest-api-plugins.html"
+    },
+    {
+      "title": "Gerrit Code Review - /config/ REST API",
+      "url": "Documentation/rest-api-config.html"
+    },
+    {
+      "title": "Gerrit Code Review for Git",
+      "url": "Documentation/index.html"
+    },
+    {
+      "title": "Gerrit Code Review - /access/ REST API",
+      "url": "Documentation/rest-api-access.html"
+    },
+    {
+      "title": "Gerrit Code Review - Plugin Development",
+      "url": "Documentation/dev-plugins.html"
+    },
+    {
+      "title": "Gerrit Code Review - Developer Setup",
+      "url": "Documentation/dev-readme.html"
+    },
+    {
+      "title": "Gerrit Code Review - Hooks",
+      "url": "Documentation/config-hooks.html"
+    },
+    {
+      "title": "Gerrit Code Review - /groups/ REST API",
+      "url": "Documentation/rest-api-groups.html"
+    },
+    {
+      "title": "Gerrit Code Review - /accounts/ REST API",
+      "url": "Documentation/rest-api-accounts.html"
+    },
+    {
+      "title": "Gerrit Code Review - /projects/ REST API",
+      "url": "Documentation/rest-api-documentation.html"
+    },
+    {
+      "title": "Gerrit Code Review - /projects/ REST API",
+      "url": "Documentation/rest-api-projects.html"
+    },
+    {
+      "title": "Gerrit Code Review - Prolog Submit Rules Cookbook",
+      "url": "Documentation/prolog-cookbook.html"
+    },
+    {
+      "title": "Gerrit Code Review - /changes/ REST API",
+      "url": "Documentation/rest-api-changes.html"
+    },
+    {
+      "title": "Gerrit Code Review - Configuration",
+      "url": "Documentation/config-gerrit.html"
+    },
+    {
+      "title": "Gerrit Code Review - Access Controls",
+      "url": "Documentation/access-control.html"
+    },
+    {
+      "title": "Gerrit Code Review - Licenses",
+      "url": "Documentation/licenses.html"
+    }
+  ]
+```
+
+get::/Documentation/?q=keyword
+
+## JSON Entities
+
+### DocResult
+
+The `DocResult` entity contains information about a document.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>title</code></p></td>
+<td></td>
+<td><p>The title of the document.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>url</code></p></td>
+<td></td>
+<td><p>The URL of the document.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-groups.md b/jekyll-source/pages/gerrit/rest-api-groups.md
new file mode 100644
index 0000000..4428681
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-groups.md
@@ -0,0 +1,1772 @@
+---
+title: " Gerrit Code Review - /groups/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-groups.html
+---
+This page describes the group related REST endpoints. Please also take
+note of the general information on the [REST API](rest-api.html).
+
+## Group Endpoints
+
+### List Groups
+
+*GET /groups/*
+
+Lists the groups accessible by the caller. This is the same as using the
+[ls-groups](cmd-ls-groups.html) command over SSH, and accepts the same
+options as query parameters.
+
+As result a map is returned that maps the group names to
+[GroupInfo](#group-info) entries. The entries in the map are sorted by
+group name.
+
+**Request.**
+
+``` 
+  GET /groups/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "Administrators": {
+      "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "options": {
+      },
+      "description": "Gerrit Site Administrators",
+      "group_id": 1,
+      "owner": "Administrators",
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    },
+    "Anonymous Users": {
+      "id": "global%3AAnonymous-Users",
+      "url": "#/admin/groups/uuid-global%3AAnonymous-Users",
+      "options": {
+      },
+      "description": "Any user, signed-in or not",
+      "group_id": 2,
+      "owner": "Administrators",
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    },
+    "MyProject_Committers": {
+      "id": "834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7",
+      "url": "#/admin/groups/uuid-834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7",
+      "options": {
+        "visible_to_all": true,
+      },
+      "group_id": 6,
+      "owner": "MyProject_Committers",
+      "owner_id": "834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    },
+    "Non-Interactive Users": {
+      "id": "5057f3cbd3519d6ab69364429a89ffdffba50f73",
+      "url": "#/admin/groups/uuid-5057f3cbd3519d6ab69364429a89ffdffba50f73",
+      "options": {
+      },
+      "description": "Users who perform batch actions on Gerrit",
+      "group_id": 4,
+      "owner": "Administrators",
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    },
+    "Project Owners": {
+      "id": "global%3AProject-Owners",
+      "url": "#/admin/groups/uuid-global%3AProject-Owners",
+      "options": {
+      },
+      "description": "Any owner of the project",
+      "group_id": 5,
+      "owner": "Administrators",
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    },
+    "Registered Users": {
+      "id": "global%3ARegistered-Users",
+      "url": "#/admin/groups/uuid-global%3ARegistered-Users",
+      "options": {
+      },
+      "description": "Any signed-in user",
+      "group_id": 3,
+      "owner": "Administrators",
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    }
+  }
+```
+
+get::/groups/
+
+#### Group Options
+
+Additional fields can be obtained by adding `o` parameters, each option
+requires more lookups and slows down the query response time to the
+client so they are generally disabled by default. Optional fields are:
+
+  - `INCLUDES`: include list of direct subgroups.
+
+<!-- end list -->
+
+  - `MEMBERS`: include list of direct group members.
+
+#### Check if a group is owned by the calling user
+
+By setting the option `owned` and specifying a group to inspect with the
+option `group`/`g`, it is possible to find out if this group is owned by
+the calling user.
+
+\[NOTE\] Earlier the `group`/`g` option was named `query`/`q`. Using
+`query`/`q` still works, but this option is deprecated and may be
+removed in future. Hence all users should be adapted to use `group`/`g`
+instead.
+
+**Request.**
+
+``` 
+  GET /groups/?owned&q=MyProject-Committers HTTP/1.0
+```
+
+If the group is owned by the calling user, the returned map contains
+this group. If the calling user doesn’t own this group an empty map is
+returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "MyProject-Committers": {
+      "id": "9999c971bb4ab872aab759d8c49833ee6b9ff320",
+      "url": "#/admin/groups/uuid-9999c971bb4ab872aab759d8c49833ee6b9ff320",
+      "options": {
+        "visible_to_all": true
+      },
+      "description":"contains all committers for MyProject",
+      "group_id": 551,
+      "owner": "MyProject-Owners",
+      "owner_id": "7ca042f4d5847936fcb90ca91057673157fd06fc",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    }
+  }
+```
+
+#### Group Limit
+
+The `/groups/` URL also accepts a limit integer in the `n` parameter.
+This limits the results to show `n` groups.
+
+Query the first 25 groups in group list.
+
+``` 
+  GET /groups/?n=25 HTTP/1.0
+```
+
+The `/groups/` URL also accepts a start integer in the `S` parameter.
+The results will skip `S` groups from group list.
+
+Query 25 groups starting from index 50.
+
+``` 
+  GET /groups/?n=25&S=50 HTTP/1.0
+```
+
+#### Suggest Group
+
+The `suggest` or `s` option indicates a user-entered string that should
+be auto-completed to group names. If this option is set and `n` is not
+set, then `n` defaults to 10.
+
+When using this option, the `project` or `p` option can be used to name
+the current project, to allow context-dependent suggestions.
+
+Not compatible with `visible-to-all`, `owned`, `user`, `match`, `group`,
+or `S`. (Attempts to use one of those options combined with `suggest`
+will error out.)
+
+**Request.**
+
+``` 
+  GET /groups/?suggest=ad&p=All-Projects HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "Administrators": {
+      "url": "#/admin/groups/uuid-59b92f35489e62c80d1ab1bf0c2d17843038df8b",
+      "options": {},
+      "description": "Gerrit Site Administrators",
+      "group_id": 1,
+      "owner": "Administrators",
+      "owner_id": "59b92f35489e62c80d1ab1bf0c2d17843038df8b",
+      "created_on": "2013-02-01 09:59:32.126000000",
+      "id": "59b92f35489e62c80d1ab1bf0c2d17843038df8b"
+    }
+  }
+```
+
+  - Regex(r)  
+    Limit the results to those groups that match the specified regex.
+    
+    Boundary matchers *^* and *$* are implicit. For example: the regex
+    *test.\** will match any groups that start with *test* and regex
+    *.\*test* will match any group that end with *test*.
+    
+    The match is case sensitive.
+    
+    List all groups that match regex `test.*group`:
+    
+    **Request.**
+    
+    ``` 
+      GET /groups/?r=test.*group HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "test/some-group": {
+          "url": "#/admin/groups/uuid-59b92f35489e62c80d1ab1bf0c2d17843038df8b",
+          "options": {},
+          "description": "Gerrit Site Administrators",
+          "group_id": 1,
+          "owner": "Administrators",
+          "owner_id": "59b92f35489e62c80d1ab1bf0c2d17843038df8b",
+          "created_on": "2013-02-01 09:59:32.126000000",
+          "id": "59b92f35489e62c80d1ab1bf0c2d17843038df8b"
+        }
+        "test/some-other-group": {
+          "url": "#/admin/groups/uuid-99b92f35489e62c80d1ab1bf0c2d17843038df8b",
+          "options": {},
+          "description": "Gerrit Site Administrators",
+          "group_id": 1,
+          "owner": "Administrators",
+          "owner_id": "99b92f35489e62c80d1ab1bf0c2d17843038df8b",
+          "created_on": "2014-02-01 09:59:32.126000000",
+          "id": "99b92f35489e62c80d1ab1bf0c2d17843038df8b"
+        }
+      }
+    ```
+
+  - Substring(m)  
+    Limit the results to those groups that match the specified
+    substring.
+    
+    The match is case insensitive.
+    
+    List all groups that match substring `test/`:
+    
+    **Request.**
+    
+    ``` 
+      GET /groups/?m=test%2F HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "test/test": {
+          "url": "#/admin/groups/uuid-786a95e85f9a2223a96545f10003f396aba871f2",
+          "options": {},
+          "group_id": 15,
+          "owner": "test/test",
+          "owner_id": "786a95e85f9a2223a96545f10003f396aba871f2",
+          "created_on": "2017-07-11 13:56:24.000000000",
+          "id": "786a95e85f9a2223a96545f10003f396aba871f2"
+        }
+      }
+    ```
+
+### Query Groups
+
+*GET /groups/?query2=\<query\>*
+
+Queries internal groups visible to the caller. The [query
+string](user-search-groups.html#_search_operators) must be provided by
+the `query2` parameter. The `start` and `limit` parameters can be used
+to skip/limit results.
+
+As result a list of [GroupInfo](#group-info) entities is returned.
+
+\[NOTE\] `query2` is a temporary name and in future this option may be
+renamed to `query`. `query2` was chosen to maintain backwards
+compatibility with the deprecated `query` parameter on the [List
+Groups](#list-groups) endpoint.
+
+**Request.**
+
+``` 
+  GET /groups/?query2=inname:test HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "url": "#/admin/groups/uuid-68236a40ca78de8be630312d8ba50250bc5638ae",
+      "options": {},
+      "description": "Group for running tests on MyProject",
+      "group_id": 20,
+      "owner": "MyProject-Test-Group",
+      "owner_id": "59b92f35489e62c80d1ab1bf0c2d17843038df8b",
+      "created_on": "2013-02-01 09:59:32.126000000",
+      "id": "68236a40ca78de8be630312d8ba50250bc5638ae"
+    },
+    {
+      "url": "#/admin/groups/uuid-99a534526313324a2667025c3f4e089199b736aa",
+      "options": {},
+      "description": "Testers for ProjectX",
+      "group_id": 17,
+      "owner": "ProjectX-Testers",
+      "owner_id": "59b92f35489e62c80d1ab1bf0c2d17843038df8b",
+      "created_on": "2013-02-01 09:59:32.126000000",
+      "id": "99a534526313324a2667025c3f4e089199b736aa"
+    }
+  ]
+```
+
+If the number of groups matching the query exceeds either the internal
+limit or a supplied `limit` query parameter, the last group object has a
+`_more_groups: true` JSON field set.
+
+#### Group Limit
+
+The `/groups/?query2=<query>` URL also accepts a limit integer in the
+`limit` parameter. This limits the results to `limit` groups.
+
+Query the first 25 groups in group list.
+
+``` 
+  GET /groups/?query2=<query>&limit=25 HTTP/1.0
+```
+
+The `/groups/` URL also accepts a start integer in the `start`
+parameter. The results will skip `start` groups from group list.
+
+Query 25 groups starting from index 50.
+
+``` 
+  GET /groups/?query2=<query>&limit=25&start=50 HTTP/1.0
+```
+
+#### Group Options
+
+Additional fields can be obtained by adding `o` parameters. Each option
+requires more lookups and slows down the query response time to the
+client so they are generally disabled by default. The supported fields
+are described in the context of the [List Groups](#group-options) REST
+endpoint.
+
+### Get Group
+
+*GET /groups/[{group-id}](#group-id)*
+
+Retrieves a group.
+
+**Request.**
+
+``` 
+  GET /groups/6a1e70e1a88782771a91808c8af9bbb7a9871389 HTTP/1.0
+```
+
+As response a [GroupInfo](#group-info) entity is returned that describes
+the group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "name": "Administrators",
+    "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "options": {
+    },
+    "description": "Gerrit Site Administrators",
+    "group_id": 1,
+    "owner": "Administrators",
+    "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "created_on": "2013-02-01 09:59:32.126000000"
+  }
+```
+
+### Create Group
+
+*PUT /groups/[{group-name}](#group-name)*
+
+Creates a new Gerrit internal group.
+
+In the request body additional data for the group can be provided as
+[GroupInput](#group-input).
+
+**Request.**
+
+``` 
+  PUT /groups/MyProject-Committers HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "description": "contains all committers for MyProject",
+    "visible_to_all": true,
+    "owner": "MyProject-Owners",
+    "owner_id": "7ca042f4d5847936fcb90ca91057673157fd06fc"
+  }
+```
+
+As response the [GroupInfo](#group-info) entity is returned that
+describes the created group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "9999c971bb4ab872aab759d8c49833ee6b9ff320",
+    "name": "MyProject-Committers",
+    "url": "#/admin/groups/uuid-9999c971bb4ab872aab759d8c49833ee6b9ff320",
+    "options": {
+      "visible_to_all": true
+    },
+    "description":"contains all committers for MyProject",
+    "group_id": 551,
+    "owner": "MyProject-Owners",
+    "owner_id": "7ca042f4d5847936fcb90ca91057673157fd06fc",
+    "created_on": "2013-02-01 09:59:32.126000000"
+  }
+```
+
+If the group creation fails because the name is already in use the
+response is "`409 Conflict`".
+
+### Get Group Detail
+
+*GET /groups/[{group-id}](#group-id)/detail*
+
+Retrieves a group with the direct [members](#members) and the directly
+[included groups](#includes).
+
+**Request.**
+
+``` 
+  GET /groups/6a1e70e1a88782771a91808c8af9bbb7a9871389/detail HTTP/1.0
+```
+
+As response a [GroupInfo](#group-info) entity is returned that describes
+the group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "name": "Administrators",
+    "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "options": {
+    },
+    "description": "Gerrit Site Administrators",
+    "group_id": 1,
+    "owner": "Administrators",
+    "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "created_on": "2013-02-01 09:59:32.126000000",
+    "members": [
+      {
+        "_account_id": 1000097,
+        "name": "Jane Roe",
+        "email": "jane.roe@example.com",
+        "username": "jane"
+      },
+      {
+        "_account_id": 1000096,
+        "name": "John Doe",
+        "email": "john.doe@example.com"
+        "username": "john"
+      }
+    ],
+    "includes": []
+  }
+```
+
+### Get Group Name
+
+*GET /groups/[{group-id}](#group-id)/name*
+
+Retrieves the name of a group.
+
+**Request.**
+
+``` 
+  GET /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/name HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "MyProject-Committers"
+```
+
+### Rename Group
+
+*PUT /groups/[{group-id}](#group-id)/name*
+
+Renames a Gerrit internal group.
+
+The new group name must be provided in the request body.
+
+**Request.**
+
+``` 
+  PUT /groups/MyProject-Committers/name HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "name": "My-Project-Committers"
+  }
+```
+
+As response the new group name is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "My-Project-Committers"
+```
+
+If renaming the group fails because the new name is already in use the
+response is "`409 Conflict`".
+
+### Get Group Description
+
+*GET /groups/[{group-id}](#group-id)/description*
+
+Retrieves the description of a
+group.
+
+**Request.**
+
+``` 
+  GET /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/description HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "contains all committers for MyProject"
+```
+
+If the group does not have a description an empty string is returned.
+
+### Set Group Description
+
+*PUT /groups/[{group-id}](#group-id)/description*
+
+Sets the description of a Gerrit internal group.
+
+The new group description must be provided in the request
+body.
+
+**Request.**
+
+``` 
+  PUT /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/description HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "description": "The committers of MyProject."
+  }
+```
+
+As response the new group description is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "The committers of MyProject."
+```
+
+If the description was deleted the response is "`204 No Content`".
+
+### Delete Group Description
+
+*DELETE /groups/[{group-id}](#group-id)/description*
+
+Deletes the description of a Gerrit internal
+group.
+
+**Request.**
+
+``` 
+  DELETE /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/description HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Group Options
+
+*GET /groups/[{group-id}](#group-id)/options*
+
+Retrieves the options of a group.
+
+**Request.**
+
+``` 
+  GET /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/options HTTP/1.0
+```
+
+As response a [GroupOptionsInfo](#group-options-info) entity is returned
+that describes the options of the group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "visible_to_all": true
+  }
+```
+
+### Set Group Options
+
+*PUT /groups/[{group-id}](#group-id)/options*
+
+Sets the options of a Gerrit internal group.
+
+The new group options must be provided in the request body as a
+[GroupOptionsInput](#group-options-input) entity.
+
+**Request.**
+
+``` 
+  PUT /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/options HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "visible_to_all": true
+  }
+```
+
+As response the new group options are returned as a
+[GroupOptionsInfo](#group-options-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "visible_to_all": true
+  }
+```
+
+### Get Group Owner
+
+*GET /groups/[{group-id}](#group-id)/owner*
+
+Retrieves the owner group of a Gerrit internal group.
+
+**Request.**
+
+``` 
+  GET /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/owner HTTP/1.0
+```
+
+As response a [GroupInfo](#group-info) entity is returned that describes
+the owner group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "name": "Administrators",
+    "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "options": {
+    },
+    "description": "Gerrit Site Administrators",
+    "group_id": 1,
+    "owner": "Administrators",
+    "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "created_on": "2013-02-01 09:59:32.126000000"
+  }
+```
+
+### Set Group Owner
+
+*PUT /groups/[{group-id}](#group-id)/owner*
+
+Sets the owner group of a Gerrit internal group.
+
+The new owner group must be provided in the request body.
+
+The new owner can be specified by name, by group UUID or by the legacy
+numeric group ID.
+
+**Request.**
+
+``` 
+  PUT /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/owner HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "owner": "6a1e70e1a88782771a91808c8af9bbb7a9871389"
+  }
+```
+
+As response a [GroupInfo](#group-info) entity is returned that describes
+the new owner group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "name": "Administrators",
+    "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "options": {
+    },
+    "description": "Gerrit Site Administrators",
+    "group_id": 1,
+    "owner": "Administrators",
+    "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "created_on": "2013-02-01 09:59:32.126000000"
+  }
+```
+
+### Get Audit Log
+
+*GET /groups/[{group-id}](#group-id)/log.audit*
+
+Gets the audit log of a Gerrit internal
+group.
+
+**Request.**
+
+``` 
+  GET /groups/9999c971bb4ab872aab759d8c49833ee6b9ff320/log.audit HTTP/1.0
+```
+
+As response a list of [GroupAuditEventInfo](#group-audit-event-info)
+entities is returned that describes the audit events of the group. The
+returned audit events are sorted by date in reverse order so that the
+newest audit event comes first.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "member": {
+        "url": "#/admin/groups/uuid-fdda826a0815859ab48d22a05a43472f0f55f89a",
+        "options": {},
+        "group_id": 3,
+        "owner": "Administrators",
+        "owner_id": "e56678641565e7f59dd5c6878f5bcbc842bf150a",
+        "created_on": "2013-02-01 09:59:32.126000000",
+        "id": "fdda826a0815859ab48d22a05a43472f0f55f89a",
+        "name": "MyGroup"
+      },
+      "type": "REMOVE_GROUP",
+      "user": {
+        "_account_id": 1000000,
+        "name": "Administrator",
+        "email": "admin@example.com",
+        "username": "admin"
+      },
+      "date": "2015-07-03 09:22:26.348000000"
+    },
+    {
+      "member": {
+        "url": "#/admin/groups/uuid-fdda826a0815859ab48d22a05a43472f0f55f89a",
+        "options": {},
+        "group_id": 3,
+        "owner": "Administrators",
+        "owner_id": "e56678641565e7f59dd5c6878f5bcbc842bf150a",
+        "created_on": "2013-02-01 09:59:32.126000000",
+        "id": "fdda826a0815859ab48d22a05a43472f0f55f89a",
+        "name": "MyGroup"
+      },
+      "type": "ADD_GROUP",
+      "user": {
+        "_account_id": 1000000,
+        "name": "Administrator",
+        "email": "admin@example.com",
+        "username": "admin"
+      },
+      "date": "2015-07-03 08:43:36.592000000"
+    },
+    {
+      "member": {
+        "_account_id": 1000000,
+        "name": "Administrator",
+        "email": "admin@example.com",
+        "username": "admin"
+      },
+      "type": "ADD_USER",
+      "user": {
+        "_account_id": 1000001,
+        "name": "John Doe",
+        "email": "john.doe@example.com",
+        "username": "jdoe"
+      },
+      "date": "2015-07-01 13:36:36.602000000"
+    }
+  ]
+```
+
+### Index Group
+
+*POST /groups/[{group-id}](#group-id)/index*
+
+Adds or updates the internal group in the secondary index.
+
+**Request.**
+
+``` 
+  POST /groups/fdda826a0815859ab48d22a05a43472f0f55f89a/index HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## Group Member Endpoints
+
+### List Group Members
+
+*GET /groups/[{group-id}](#group-id)/members/*
+
+Lists the direct members of a Gerrit internal group.
+
+As result a list of detailed
+[AccountInfo](rest-api-accounts.html#account-info) entries is returned.
+The entries in the list are sorted by full name, preferred email and id.
+
+**Request.**
+
+``` 
+  GET /groups/834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7/members/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "_account_id": 1000097,
+      "name": "Jane Roe",
+      "email": "jane.roe@example.com",
+      "username": "jane"
+    },
+    {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com",
+      "username": "john"
+    }
+  ]
+```
+
+get::/groups/1/members/
+
+To resolve the included groups of a group recursively and to list all
+members the parameter `recursive` can be set.
+
+Members from included external groups and from included groups which are
+not visible to the calling user are
+ignored.
+
+**Request.**
+
+``` 
+  GET /groups/834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7/members/?recursive HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "_account_id": 1000097,
+      "name": "Jane Roe",
+      "email": "jane.roe@example.com",
+      "username": "jane"
+    },
+    {
+      "_account_id": 1000096,
+      "name": "John Doe",
+      "email": "john.doe@example.com",
+      "username": "john"
+    },
+    {
+      "_account_id": 1000098,
+      "name": "Richard Roe",
+      "email": "richard.roe@example.com",
+      "username": "rroe"
+    }
+  ]
+```
+
+### Get Group Member
+
+*GET
+/groups/[{group-id}](#group-id)/members/[{account-id}](rest-api-accounts.html#account-id)*
+
+Retrieves a group
+member.
+
+**Request.**
+
+``` 
+  GET /groups/834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7/members/1000096 HTTP/1.0
+```
+
+As response a detailed
+[AccountInfo](rest-api-accounts.html#account-info) entity is returned
+that describes the group member.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000096,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "john"
+  }
+```
+
+### Add Group Member
+
+*PUT
+/groups/[{group-id}](#group-id)/members/[{account-id}](rest-api-accounts.html#account-id)*
+
+Adds a user as member to a Gerrit internal group.
+
+**Request.**
+
+``` 
+  PUT /groups/MyProject-Committers/members/John%20Doe HTTP/1.0
+```
+
+As response a detailed
+[AccountInfo](rest-api-accounts.html#account-info) entity is returned
+that describes the group member.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "_account_id": 1000037,
+    "name": "John Doe",
+    "email": "john.doe@example.com",
+    "username": "john"
+  }
+```
+
+The request also succeeds if the user is already a member of this group,
+but then the HTTP response code is `200 OK`.
+
+### Add Group Members
+
+*POST /groups/[{group-id}](#group-id)/members*
+
+OR
+
+*POST /groups/[{group-id}](#group-id)/members.add*
+
+Adds one or several users to a Gerrit internal group.
+
+The users to be added to the group must be provided in the request body
+as a [MembersInput](#members-input) entity.
+
+**Request.**
+
+``` 
+  POST /groups/MyProject-Committers/members.add HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "members": [
+      "jane.roe@example.com",
+      "john.doe@example.com"
+    ]
+  }
+```
+
+As response a list of detailed
+[AccountInfo](rest-api-accounts.html#account-info) entities is returned
+that describes the group members that were specified in the
+[MembersInput](#members-input). An
+[AccountInfo](rest-api-accounts.html#account-info) entity is returned
+for each user specified in the input, independently of whether the user
+was newly added to the group or whether the user was already a member of
+the group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "_account_id": 1000057,
+      "name": "Jane Roe",
+      "email": "jane.roe@example.com",
+      "username": "jane"
+    },
+    {
+      "_account_id": 1000037,
+      "name": "John Doe",
+      "email": "john.doe@example.com",
+      "username": "john"
+    }
+  ]
+```
+
+### Remove Group Member
+
+*DELETE
+/groups/[{group-id}](#group-id)/members/[{account-id}](rest-api-accounts.html#account-id)*
+
+Removes a user from a Gerrit internal group.
+
+**Request.**
+
+``` 
+  DELETE /groups/MyProject-Committers/members/John%20Doe HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Remove Group Members
+
+*POST /groups/[{group-id}](#group-id)/members.delete*
+
+Removes one or several users from a Gerrit internal group.
+
+The users to be removed from the group must be provided in the request
+body as a [MembersInput](#members-input) entity.
+
+**Request.**
+
+``` 
+  POST /groups/MyProject-Committers/members.delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "members": [
+      "jane.roe@example.com",
+      "john.doe@example.com"
+    ]
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## Subgroup Endpoints
+
+### List Subgroups
+
+*GET /groups/[{group-id}](#group-id)/groups/*
+
+Lists the direct subgroups of a group.
+
+As result a list of [GroupInfo](#group-info) entries is returned. The
+entries in the list are sorted by group name and UUID.
+
+**Request.**
+
+``` 
+  GET /groups/834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7/groups/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "7ca042f4d5847936fcb90ca91057673157fd06fc",
+      "name": "MyProject-Verifiers",
+      "url": "#/admin/groups/uuid-7ca042f4d5847936fcb90ca91057673157fd06fc",
+      "options": {
+      },
+      "group_id": 38,
+      "owner": "MyProject-Verifiers",
+      "owner_id": "7ca042f4d5847936fcb90ca91057673157fd06fc",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    }
+  ]
+```
+
+### Get Subgroup
+
+*GET /groups/[{group-id}](#group-id)/groups/[{group-id}](#group-id)*
+
+Retrieves a
+subgroup.
+
+**Request.**
+
+``` 
+  GET /groups/834ec36dd5e0ed21a2ff5d7e2255da082d63bbd7/groups/7ca042f4d5847936fcb90ca91057673157fd06fc HTTP/1.0
+```
+
+As response a [GroupInfo](#group-info) entity is returned that describes
+the subgroup.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "7ca042f4d5847936fcb90ca91057673157fd06fc",
+    "name": "MyProject-Verifiers",
+    "url": "#/admin/groups/uuid-7ca042f4d5847936fcb90ca91057673157fd06fc",
+    "options": {
+    },
+    "group_id": 38,
+    "owner": "Administrators",
+    "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "created_on": "2013-02-01 09:59:32.126000000"
+  }
+```
+
+### Add Subgroup
+
+*PUT /groups/[{group-id}](#group-id)/groups/[{group-id}](#group-id)*
+
+Adds an internal or external group as subgroup to a Gerrit internal
+group. External groups must be specified using the UUID.
+
+**Request.**
+
+``` 
+  PUT /groups/MyProject-Committers/groups/MyGroup HTTP/1.0
+```
+
+As response a [GroupInfo](#group-info) entity is returned that describes
+the subgroup.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "name": "MyGroup",
+    "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "options": {
+    },
+    "group_id": 8,
+    "owner": "Administrators",
+    "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+    "created_on": "2013-02-01 09:59:32.126000000"
+  }
+```
+
+The request also succeeds if the group is already a subgroup of this
+group.
+
+### Add Subgroups
+
+*POST /groups/[{group-id}](#group-id)/groups*
+
+OR
+
+*POST /groups/[{group-id}](#group-id)/groups.add*
+
+Adds one or several groups as subgroups to a Gerrit internal group.
+
+The subgroups to be added must be provided in the request body as a
+[GroupsInput](#groups-input) entity.
+
+**Request.**
+
+``` 
+  POST /groups/MyProject-Committers/groups.add HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "groups": [
+      "MyGroup",
+      "MyOtherGroup"
+    ]
+  }
+```
+
+As response a list of [GroupInfo](#group-info) entities is returned that
+describes the groups that were specified in the
+[GroupsInput](#groups-input). A [GroupInfo](#group-info) entity is
+returned for each group specified in the input, independently of whether
+the group was newly added as subgroup or whether the group was already a
+subgroup of the group.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "name": "MyGroup",
+      "url": "#/admin/groups/uuid-6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "options": {
+      },
+      "group_id": 8,
+      "owner": "Administrators",
+      "owner_id": "6a1e70e1a88782771a91808c8af9bbb7a9871389",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    },
+    {
+      "id": "5057f3cbd3519d6ab69364429a89ffdffba50f73",
+      "name": "MyOtherGroup",
+      "url": "#/admin/groups/uuid-5057f3cbd3519d6ab69364429a89ffdffba50f73",
+      "options": {
+      },
+      "group_id": 10,
+      "owner": "MyOtherGroup",
+      "owner_id": "5057f3cbd3519d6ab69364429a89ffdffba50f73",
+      "created_on": "2013-02-01 09:59:32.126000000"
+    }
+  ]
+```
+
+### Remove Subgroup
+
+*DELETE /groups/[{group-id}](#group-id)/groups/[{group-id}](#group-id)*
+
+Removes a subgroup from a Gerrit internal group.
+
+**Request.**
+
+``` 
+  DELETE /groups/MyProject-Committers/groups/MyGroup HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Remove Subgroups
+
+*POST /groups/[{group-id}](#group-id)/groups.delete*
+
+Removes one or several subgroups from a Gerrit internal group.
+
+The subgroups to be removed must be provided in the request body as a
+[GroupsInput](#groups-input) entity.
+
+**Request.**
+
+``` 
+  POST /groups/MyProject-Committers/groups.delete HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "groups": [
+      "MyGroup",
+      "MyOtherGroup"
+    ]
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## IDs
+
+### {group-id}
+
+Identifier for a group.
+
+This can be:
+
+  - the UUID of the group
+
+  - the legacy numeric ID of the group
+
+  - the name of the group if it is unique
+
+### {group-name}
+
+Group name that uniquely identifies one group.
+
+## JSON Entities
+
+### GroupAuditEventInfo
+
+The `GroupAuditEventInfo` entity contains information about an audit
+event of a group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>member</code></p></td>
+<td><p>The group member that is added/removed. If <code>type</code> is <code>ADD_USER</code> or <code>REMOVE_USER</code> the member is returned as detailed <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity, if <code>type</code> is <code>ADD_GROUP</code> or <code>REMOVE_GROUP</code> the member is returned as <a href="#group-info">GroupInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>type</code></p></td>
+<td><p>The event type, can be: <code>ADD_USER</code>, <code>REMOVE_USER</code>, <code>ADD_GROUP</code> or <code>REMOVE_GROUP</code>.</p>
+<p><code>ADD_USER</code>: A user was added as member to the group.</p>
+<p><code>REMOVE_USER</code>: A user member was removed from the group.</p>
+<p><code>ADD_GROUP</code>: A group was included as member in the group.</p>
+<p><code>REMOVE_GROUP</code>: An included group was removed from the group.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>user</code></p></td>
+<td><p>The user that did the add/remove as detailed <a href="rest-api-accounts.html#account-info">AccountInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>date</code></p></td>
+<td><p>The timestamp of the event.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GroupInfo
+
+The `GroupInfo` entity contains information about a group. This can be a
+Gerrit internal group, or an external group that is known to Gerrit.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The URL encoded UUID of the group.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td><p>not set if returned in a map where the group name is used as map key</p></td>
+<td><p>The name of the group.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td><p>optional</p></td>
+<td><p>URL to information about the group. Typically a URL to a web page that permits users to apply to join the group, or manage their membership.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>options</code></p></td>
+<td></td>
+<td><p><a href="#group-options-info">Options of the group</a></p></td>
+</tr>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>only for internal groups</p></td>
+<td><p>The description of the group.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>group_id</code></p></td>
+<td><p>only for internal groups</p></td>
+<td><p>The numeric ID of the group.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>owner</code></p></td>
+<td><p>only for internal groups</p></td>
+<td><p>The name of the owner group.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>owner_id</code></p></td>
+<td><p>only for internal groups</p></td>
+<td><p>The URL encoded UUID of the owner group.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>created_on</code></p></td>
+<td><p>only for internal groups</p></td>
+<td><p>The <a href="rest-api.html#timestamp">timestamp</a> of when the group was created.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>_more_groups</code></p></td>
+<td><p>optional, only for internal groups, not set if <code>false</code></p></td>
+<td><p>Whether the query would deliver more results if not limited.<br />
+Only set on the last group that is returned by a <a href="#query-groups">group query</a>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>members</code></p></td>
+<td><p>optional, only for internal groups</p></td>
+<td><p>A list of <a href="rest-api-accounts.html#account-info">AccountInfo</a> entities describing the direct members.<br />
+Only set if <a href="#members">members</a> are requested.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>includes</code></p></td>
+<td><p>optional, only for internal groups</p></td>
+<td><p>A list of <a href="#group-info">GroupInfo</a> entities describing the direct subgroups.<br />
+Only set if <a href="#includes">subgroups</a> are requested.</p></td>
+</tr>
+</tbody>
+</table>
+
+The type of a group can be deduced from the group’s UUID:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td><p>UUID matches &quot;^[0-9a-f]{40}$&quot;</p></td>
+<td><p>Gerrit internal group</p></td>
+</tr>
+<tr class="even">
+<td><p>UUID starts with &quot;global:&quot;</p></td>
+<td><p>Gerrit system group</p></td>
+</tr>
+<tr class="odd">
+<td><p>UUID starts with &quot;ldap:&quot;</p></td>
+<td><p>LDAP group</p></td>
+</tr>
+<tr class="even">
+<td><p>UUID starts with &quot;&lt;prefix&gt;:&quot;</p></td>
+<td><p>other external group</p></td>
+</tr>
+</tbody>
+</table>
+
+### GroupInput
+
+The *GroupInput* entity contains information for the creation of a new
+internal group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The name of the group (not encoded).<br />
+If set, must match the group name in the URL.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of the group.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>visible_to_all</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether the group is visible to all registered users.<br />
+<code>false</code> if not set.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>owner_id</code></p></td>
+<td><p>optional</p></td>
+<td><p>The URL encoded ID of the owner group.<br />
+This can be a group UUID, a legacy numeric group ID or a unique group name.<br />
+If not set, the new group will be self-owned.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>members</code></p></td>
+<td><p>optional</p></td>
+<td><p>The initial members in a list of<br />
+<a href="rest-api-accounts.html#account-id">account ids</a>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GroupOptionsInfo
+
+Options of the group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>visible_to_all</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the group is visible to all registered users.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GroupOptionsInput
+
+New options for a group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>visible_to_all</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the group is visible to all registered users.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GroupsInput
+
+The `GroupsInput` entity contains information about groups that should
+be included into a group or that should be deleted from a group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>_one_group</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="#group-id">id</a> of one group that should be included or deleted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>groups</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="#group-id">group ids</a> that identify the groups that should be included or deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### MembersInput
+
+The `MembersInput` entity contains information about accounts that
+should be added as members to a group or that should be deleted from the
+group.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>_one_member</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="rest-api-accounts.html#account-id">id</a> of one account that should be added or deleted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>members</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of <a href="rest-api-accounts.html#account-id">account ids</a> that identify the accounts that should be added or deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-plugins.md b/jekyll-source/pages/gerrit/rest-api-plugins.md
new file mode 100644
index 0000000..bb7fecc
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-plugins.md
@@ -0,0 +1,517 @@
+---
+title: " Gerrit Code Review - /plugins/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-plugins.html
+---
+This page describes the plugin related REST endpoints. Please also take
+note of the general information on the [REST API](rest-api.html).
+
+## Plugin Endpoints
+
+Gerrit REST endpoints for installed plugins are available under
+*/plugins/[{plugin-id}](#plugin-id)/gerrit~\<endpoint-id\>*. The
+`gerrit~` prefix ensures that the Gerrit REST endpoints for plugins do
+not clash with any REST endpoint that a plugin may offer under its
+namespace.
+
+### List Plugins
+
+*GET /plugins/*
+
+Lists the plugins installed on the Gerrit server. Only the enabled
+plugins are returned unless the `all` option is specified.
+
+To be allowed to see the installed plugins, a user must be a member of a
+group that is granted the *View Plugins* capability or the *Administrate
+Server* capability.
+
+As result a map is returned that maps the plugin IDs to
+[PluginInfo](#plugin-info) entries. The entries in the map are sorted by
+plugin ID.
+
+**Request.**
+
+``` 
+  GET /plugins/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "delete-project": {
+      "id": "delete-project",
+      "index_url": "plugins/delete-project/",
+      "filename": "delete-project.jar",
+      "version": "2.9-SNAPSHOT"
+    }
+  }
+```
+
+#### Plugin Options
+
+  - All(a)  
+    List all plugins including those that are disabled.
+
+**Request.**
+
+``` 
+  GET /plugins/?all HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "delete-project": {
+      "id": "delete-project",
+      "index_url": "plugins/delete-project/",
+      "filename": "delete-project.jar",
+      "version": "2.9-SNAPSHOT"
+    },
+    "reviewers-by-blame": {
+      "id": "reviewers-by-blame",
+      "index_url": "plugins/reviewers-by-blame/",
+      "filename": "reviewers-by-blame.jar",
+      "version": "2.9-SNAPSHOT",
+      "disabled": true
+    }
+  }
+```
+
+  - Limit(n)  
+    Limit the number of plugins to be included in the results.
+    
+    Query the first plugin in the plugin list:
+    
+    **Request.**
+    
+    ``` 
+      GET /plugins/?n=1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "delete-project": {
+          "id": "delete-project",
+          "index_url": "plugins/delete-project/",
+          "filename": "delete-project.jar",
+          "version": "2.9-SNAPSHOT"
+        }
+      }
+    ```
+
+  - Prefix(p)  
+    Limit the results to those plugins that start with the specified
+    prefix.
+    
+    The match is case sensitive. May not be used together with `m` or
+    `r`.
+    
+    List all plugins that start with `delete`:
+    
+    **Request.**
+    
+    ``` 
+      GET /plugins/?p=delete HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "delete-project": {
+          "id": "delete-project",
+          "index_url": "plugins/delete-project/",
+          "filename": "delete-project.jar",
+          "version": "2.9-SNAPSHOT"
+        }
+      }
+    ```
+    
+    E.g. this feature can be used by suggestion client UI’s to limit
+    results.
+
+  - Regex(r)  
+    Limit the results to those plugins that match the specified regex.
+    
+    Boundary matchers *^* and *$* are implicit. For example: the regex
+    *test.\** will match any plugins that start with *test* and regex
+    *.\*test* will match any project that end with *test*.
+    
+    The match is case sensitive. May not be used together with `m` or
+    `p`.
+    
+    List all plugins that match regex `some.*plugin`:
+    
+    **Request.**
+    
+    ``` 
+      GET /plugins/?r=some.*plugin HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "some-plugin": {
+          "id": "some-plugin",
+          "index_url": "plugins/some-plugin/",
+          "filename": "some-plugin.jar",
+          "version": "2.9-SNAPSHOT"
+        },
+        "some-other-plugin": {
+          "id": "some-other-plugin",
+          "index_url": "plugins/some-other-plugin/",
+          "filename": "some-other-plugin.jar",
+          "version": "2.9-SNAPSHOT"
+        }
+      }
+    ```
+
+  - Skip(S)  
+    Skip the given number of plugins from the beginning of the list.
+    
+    Query the second plugin in the plugin list:
+    
+    **Request.**
+    
+    ``` 
+      GET /plugins/?all&n=1&S=1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "reviewers-by-blame": {
+          "id": "reviewers-by-blame",
+          "index_url": "plugins/reviewers-by-blame/",
+          "filename": "reviewers-by-blame.jar",
+          "version": "2.9-SNAPSHOT",
+          "disabled": true
+        }
+      }
+    ```
+
+  - Substring(m)  
+    Limit the results to those plugins that match the specified
+    substring.
+    
+    The match is case insensitive. May not be used together with `r` or
+    `p`.
+    
+    List all plugins that match substring `project`:
+    
+    **Request.**
+    
+    ``` 
+      GET /plugins/?m=project HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "delete-project": {
+          "id": "delete-project",
+          "index_url": "plugins/delete-project/",
+          "filename": "delete-project.jar",
+          "version": "2.9-SNAPSHOT"
+        }
+      }
+    ```
+
+### Install Plugin
+
+*PUT /plugins/[{plugin-id}](#plugin-id)*
+
+Installs a new plugin on the Gerrit server. If a plugin with the
+specified name already exists it is overwritten. Note: if the plugin
+provides its own name in the MANIFEST file, then the plugin name from
+the MANIFEST file has precedence over the {plugin-id} above.
+
+The plugin jar can either be sent as binary data in the request body or
+a URL to the plugin jar must be provided in the request body inside a
+[PluginInput](#plugin-input) entity.
+
+**Request.**
+
+``` 
+  PUT /plugins/delete-project HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "url": "file:///gerrit/plugins/delete-project/delete-project-2.8.jar"
+  }
+```
+
+To provide the plugin jar as binary data in the request body the
+following curl command can be
+used:
+
+``` 
+  curl --user admin:TNNuLkWsIV8w -X PUT --data-binary @delete-project-2.8.jar 'http://gerrit:8080/a/plugins/delete-project'
+```
+
+As response a [PluginInfo](#plugin-info) entity is returned that
+describes the plugin.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "delete-project",
+    "version": "2.8"
+  }
+```
+
+If an existing plugin was overwritten the response is "`200 OK`".
+
+### Get Plugin Status
+
+*GET /plugins/[{plugin-id}](#plugin-id)/gerrit~status*
+
+Retrieves the status of a plugin on the Gerrit server.
+
+**Request.**
+
+``` 
+  GET /plugins/delete-project/gerrit~status HTTP/1.0
+```
+
+As response a [PluginInfo](#plugin-info) entity is returned that
+describes the plugin.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "delete-project",
+    "version": "2.8"
+  }
+```
+
+### Enable Plugin
+
+*POST /plugins/[{plugin-id}](#plugin-id)/gerrit~enable*
+
+Enables a plugin on the Gerrit server.
+
+**Request.**
+
+``` 
+  POST /plugins/delete-project/gerrit~enable HTTP/1.0
+```
+
+As response a [PluginInfo](#plugin-info) entity is returned that
+describes the plugin.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "delete-project",
+    "version": "2.8"
+  }
+```
+
+### Disable Plugin
+
+*POST /plugins/[{plugin-id}](#plugin-id)/gerrit~disable*
+
+OR
+
+*DELETE /plugins/[{plugin-id}](#plugin-id)*
+
+Disables a plugin on the Gerrit server.
+
+**Request.**
+
+``` 
+  POST /plugins/delete-project/gerrit~disable HTTP/1.0
+```
+
+As response a [PluginInfo](#plugin-info) entity is returned that
+describes the plugin.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "delete-project",
+    "version": "2.8",
+    "disabled": true
+  }
+```
+
+### Reload Plugin
+
+*POST /plugins/[{plugin-id}](#plugin-id)/gerrit~reload*
+
+Reloads a plugin on the Gerrit server.
+
+**Request.**
+
+``` 
+  POST /plugins/delete-project/gerrit~reload HTTP/1.0
+```
+
+As response a [PluginInfo](#plugin-info) entity is returned that
+describes the plugin.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "delete-project",
+    "version": "2.8",
+    "disabled": true
+  }
+```
+
+## IDs
+
+### {plugin-id}
+
+The ID of the plugin.
+
+## JSON Entities
+
+### PluginInfo
+
+The `PluginInfo` entity describes a plugin.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The ID of the plugin.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>version</code></p></td>
+<td></td>
+<td><p>The version of the plugin.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>index_url</code></p></td>
+<td><p>optional</p></td>
+<td><p>URL of the plugin’s default page.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>filename</code></p></td>
+<td><p>optional</p></td>
+<td><p>The plugin’s filename.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>disabled</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether the plugin is disabled.</p></td>
+</tr>
+</tbody>
+</table>
+
+### PluginInput
+
+The `PluginInput` entity describes a plugin that should be installed.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>url</code></p></td>
+<td><p>URL to the plugin jar.</p></td>
+</tr>
+</tbody>
+</table>
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api-projects.md b/jekyll-source/pages/gerrit/rest-api-projects.md
new file mode 100644
index 0000000..d8f6480
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api-projects.md
@@ -0,0 +1,4003 @@
+---
+title: " Gerrit Code Review - /projects/ REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api-projects.html
+---
+This page describes the project related REST endpoints. Please also take
+note of the general information on the [REST API](rest-api.html).
+
+## Project Endpoints
+
+### List Projects
+
+*GET /projects/*
+
+Lists the projects accessible by the caller. This is the same as using
+the [ls-projects](cmd-ls-projects.html) command over SSH, and accepts
+the same options as query parameters.
+
+As result a map is returned that maps the project names to
+[ProjectInfo](#project-info) entries. The entries in the map are sorted
+by project name.
+
+**Request.**
+
+``` 
+  GET /projects/?d HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "external/bison": {
+      "id": "external%2Fbison",
+      "description": "GNU parser generator"
+    },
+    "external/gcc": {
+      "id": "external%2Fgcc"
+    },
+    "external/openssl": {
+      "id": "external%2Fopenssl",
+      "description": "encryption\ncrypto routines"
+    },
+    "test": {
+      "id": "test",
+      "description": "\u003chtml\u003e is escaped"
+    }
+  }
+```
+
+#### Project Options
+
+  - Branch(b)  
+    Limit the results to the projects having the specified branch and
+    include the sha1 of the branch in the results.
+    
+    Get projects that have a *master* branch:
+    
+    **Request.**
+    
+        GET /projects/?b=master HTTP/1.0
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "some-project": {
+          "id": "some-project",
+          "branches": {
+            "master": "c5ed9dfcbf002ca0e432d788dab6ca2387829ca7"
+          }
+        },
+        "some-other-project": {
+          "id": "some-other-project",
+          "branches": {
+            "master": "ef1c270142f9581ecf768f4193fc8f8a81102ec2"
+          }
+        },
+      }
+    ```
+
+  - Description(d)  
+    Include project description in the results.
+    
+    Get all the projects with their description:
+    
+    **Request.**
+    
+        GET /projects/?d HTTP/1.0
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "some-project": {
+          "id": "some-project",
+          "description": "Description of some project."
+        },
+        "some-other-project": {
+          "id": "some-other-project",
+           "description": "Description of some other project."
+          }
+        },
+      }
+    ```
+
+  - Limit(n)  
+    Limit the number of projects to be included in the results.
+    
+    Query the first project in the project list:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/?n=1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "some-project": {
+          "id": "some-project"
+        }
+      }
+    ```
+
+  - Prefix(p)  
+    Limit the results to those projects that start with the specified
+    prefix.
+    
+    The match is case sensitive. May not be used together with `m` or
+    `r`.
+    
+    List all projects that start with `platform/`:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/?p=platform%2F HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "platform/drivers": {
+          "id": "platform%2Fdrivers"
+        },
+        "platform/tools": {
+          "id": "platform%2Ftools"
+        }
+      }
+    ```
+    
+    E.g. this feature can be used by suggestion client UI’s to limit
+    results.
+
+  - Regex(r)  
+    Limit the results to those projects that match the specified regex.
+    
+    Boundary matchers *^* and *$* are implicit. For example: the regex
+    *test.\** will match any projects that start with *test* and regex
+    *.\*test* will match any project that end with *test*.
+    
+    The match is case sensitive. May not be used together with `m` or
+    `p`.
+    
+    List all projects that match regex `test.*project`:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/?r=test.*project HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "test/some-project": {
+          "id": "test%2Fsome-project"
+        },
+        "test/some-other-project": {
+          "id": "test%2Fsome-other-project"
+        }
+      }
+    ```
+
+  - Skip(S)  
+    Skip the given number of projects from the beginning of the list.
+    
+    Query the second project in the project list:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/?n=1&S=1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "some-other-project": {
+          "id": "some-other-project"
+        }
+      }
+    ```
+
+  - Substring(m)  
+    Limit the results to those projects that match the specified
+    substring.
+    
+    The match is case insensitive. May not be used together with `r` or
+    `p`.
+    
+    List all projects that match substring `test/`:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/?m=test%2F HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "test/some-project": {
+          "id": "test%2Fsome-project"
+        },
+        "some-path/test/some-other-project": {
+          "id": "some-path%2Ftest%2Fsome-other-project"
+        }
+      }
+    ```
+
+  - Tree(t)  
+    Get projects inheritance in a tree-like format. This option does not
+    work together with the branch option.
+    
+    Get all the projects with tree option:
+    
+    **Request.**
+    
+        GET /projects/?t HTTP/1.0
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "All-Projects" {
+          "id": "All-Projects"
+        },
+        "child-project": {
+          "id": "child-project",
+          "parent":"parent-project"
+        },
+        "parent-project": {
+          "id": "parent-project",
+          "parent":"All-Projects"
+        }
+      }
+    ```
+
+  - Type(type)  
+    Get projects with specified type: ALL, CODE, PERMISSIONS.
+    
+    Get all the projects of type *PERMISSIONS*:
+    
+    **Request.**
+    
+        GET /projects/?type=PERMISSIONS HTTP/1.0
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      {
+        "All-Projects" {
+          "id": "All-Projects"
+        },
+        "some-parent-project": {
+          "id": "some-parent-project"
+        }
+      }
+    ```
+
+### Get Project
+
+*GET /projects/[{project-name}](#project-name)*
+
+Retrieves a project.
+
+**Request.**
+
+``` 
+  GET /projects/plugins%2Freplication HTTP/1.0
+```
+
+As response a [ProjectInfo](#project-info) entity is returned that
+describes the project.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "plugins%2Freplication",
+    "name": "plugins/replication",
+    "parent": "Public-Plugins",
+    "description": "Copies to other servers using the Git protocol",
+    "state": "ACTIVE",
+    "labels": {
+      "Code-Review": {
+        "values": {
+          " 0": "No score",
+          "+1": "Approved"
+        },
+        "default_value": 0
+      }
+    }
+  }
+```
+
+### Create Project
+
+*PUT /projects/[{project-name}](#project-name)*
+
+Creates a new project.
+
+In the request body additional data for the project can be provided as
+[ProjectInput](#project-input).
+
+**Request.**
+
+``` 
+  PUT /projects/MyProject HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "description": "This is a demo project.",
+    "submit_type": "CHERRY_PICK",
+    "owners": [
+      "MyProject-Owners"
+    ]
+  }
+```
+
+As response the [ProjectInfo](#project-info) entity is returned that
+describes the created project.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "MyProject",
+    "name": "MyProject",
+    "parent": "All-Projects",
+    "description": "This is a demo project.",
+    "labels": {
+      "Code-Review": {
+        "values": {
+          " 0": "No score",
+          "+1": "Approved"
+        },
+        "default_value": 0
+      }
+    }
+  }
+```
+
+### Get Project Description
+
+*GET /projects/[{project-name}](#project-name)/description*
+
+Retrieves the description of a project.
+
+**Request.**
+
+``` 
+  GET /projects/plugins%2Freplication/description HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Copies to other servers using the Git protocol"
+```
+
+If the project does not have a description an empty string is returned.
+
+### Set Project Description
+
+*PUT /projects/[{project-name}](#project-name)/description*
+
+Sets the description of a project.
+
+The new project description must be provided in the request body inside
+a [ProjectDescriptionInput](#project-description-input) entity.
+
+**Request.**
+
+``` 
+  PUT /projects/plugins%2Freplication/description HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "description": "Plugin for Gerrit that handles the replication.",
+    "commit_message": "Update the project description"
+  }
+```
+
+As response the new project description is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Plugin for Gerrit that handles the replication."
+```
+
+If the description was deleted the response is "`204 No Content`".
+
+### Delete Project Description
+
+*DELETE /projects/[{project-name}](#project-name)/description*
+
+Deletes the description of a project.
+
+The request body does not need to include a
+[ProjectDescriptionInput](#project-description-input) entity if no
+commit message is specified.
+
+Please note that some proxies prohibit request bodies for DELETE
+requests. In this case, if you want to specify a commit message, use
+[PUT](#set-project-description) to delete the description.
+
+**Request.**
+
+``` 
+  DELETE /projects/plugins%2Freplication/description HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Get Project Parent
+
+*GET /projects/[{project-name}](#project-name)/parent*
+
+Retrieves the name of a project’s parent project. For the `All-Projects`
+root project an empty string is returned.
+
+**Request.**
+
+``` 
+  GET /projects/plugins%2Freplication/parent HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "All-Projects"
+```
+
+### Set Project Parent
+
+*PUT /projects/[{project-name}](#project-name)/parent*
+
+Sets the parent project for a project.
+
+The new name of the parent project must be provided in the request body
+inside a [ProjectParentInput](#project-parent-input) entity.
+
+**Request.**
+
+``` 
+  PUT /projects/plugins%2Freplication/parent HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "parent": "Public-Plugins",
+    "commit_message": "Update the project parent"
+  }
+```
+
+As response the new parent project name is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "Public-Plugins"
+```
+
+### Get HEAD
+
+*GET /projects/[{project-name}](#project-name)/HEAD*
+
+Retrieves for a project the name of the branch to which `HEAD` points.
+
+**Request.**
+
+``` 
+  GET /projects/plugins%2Freplication/HEAD HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "refs/heads/master"
+```
+
+### Set HEAD
+
+*PUT /projects/[{project-name}](#project-name)/HEAD*
+
+Sets `HEAD` for a project.
+
+The new ref to which `HEAD` should point must be provided in the request
+body inside a [HeadInput](#head-input) entity.
+
+**Request.**
+
+``` 
+  PUT /projects/plugins%2Freplication/HEAD HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "ref": "refs/heads/stable"
+  }
+```
+
+As response the new ref to which `HEAD` points is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  "refs/heads/stable"
+```
+
+### Get Repository Statistics
+
+*GET /projects/[{project-name}](#project-name)/statistics.git*
+
+Return statistics for the repository of a project.
+
+**Request.**
+
+``` 
+  GET /projects/plugins%2Freplication/statistics.git HTTP/1.0
+```
+
+The repository statistics are returned as a
+[RepositoryStatisticsInfo](#repository-statistics-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "number_of_loose_objects": 127,
+    "number_of_loose_refs": 15,
+    "number_of_pack_files": 15,
+    "number_of_packed_objects": 67,
+    "number_of_packed_refs": 0,
+    "size_of_loose_objects": 29466,
+    "size_of_packed_objects": 9646
+  }
+```
+
+### Get Config
+
+*GET /projects/[{project-name}](#project-name)/config*
+
+Gets some configuration information about a project. Note that this
+config info is not simply the contents of `project.config`; it generally
+contains fields that may have been inherited from parent projects.
+
+**Request.**
+
+``` 
+  GET /projects/myproject/config
+```
+
+A [ConfigInfo](#config-info) entity is returned that describes the
+project configuration. Some fields are only visible to users that have
+read access to `refs/meta/config`.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "description": "demo project",
+    "use_contributor_agreements": {
+      "value": true,
+      "configured_value": "TRUE",
+      "inherited_value": false
+    },
+    "use_content_merge": {
+      "value": true,
+      "configured_value": "INHERIT",
+      "inherited_value": true
+    },
+    "use_signed_off_by": {
+      "value": false,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "create_new_change_for_all_not_in_target": {
+      "value": false,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "require_change_id": {
+      "value": false,
+      "configured_value": "FALSE",
+      "inherited_value": true
+    },
+    "max_object_size_limit": {
+      "value": "15m",
+      "configured_value": "15m",
+      "inherited_value": "20m"
+    },
+    "submit_type": "MERGE_IF_NECESSARY",
+    "state": "ACTIVE",
+    "commentlinks": {},
+    "plugin_config": {
+      "helloworld": {
+        "language": {
+          "display_name": "Preferred Language",
+          "type": "STRING",
+          "value": "en"
+        }
+      }
+    },
+    "actions": {
+      "cookbook~hello-project": {
+        "method": "POST",
+        "label": "Say hello",
+        "title": "Say hello in different languages",
+        "enabled": true
+      }
+    }
+  }
+```
+
+### Set Config
+
+*PUT /projects/[{project-name}](#project-name)/config*
+
+Sets the configuration of a project.
+
+The new configuration must be provided in the request body as a
+[ConfigInput](#config-input) entity.
+
+**Request.**
+
+``` 
+  PUT /projects/myproject/config HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "description": "demo project",
+    "use_contributor_agreements": "FALSE",
+    "use_content_merge": "INHERIT",
+    "use_signed_off_by": "INHERIT",
+    "create_new_change_for_all_not_in_target": "INHERIT",
+    "enable_signed_push": "INHERIT",
+    "require_signed_push": "INHERIT",
+    "reject_implicit_merges": "INHERIT",
+    "require_change_id": "TRUE",
+    "max_object_size_limit": "10m",
+    "submit_type": "REBASE_IF_NECESSARY",
+    "state": "ACTIVE"
+  }
+```
+
+As response the new configuration is returned as a
+[ConfigInfo](#config-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "use_contributor_agreements": {
+      "value": false,
+      "configured_value": "FALSE",
+      "inherited_value": false
+    },
+    "use_content_merge": {
+      "value": true,
+      "configured_value": "INHERIT",
+      "inherited_value": true
+    },
+    "use_signed_off_by": {
+      "value": false,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "create_new_change_for_all_not_in_target": {
+      "value": true,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "require_change_id": {
+      "value": true,
+      "configured_value": "TRUE",
+      "inherited_value": true
+    },
+    "enable_signed_push": {
+      "value": true,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "require_signed_push": {
+      "value": false,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "reject_implicit_merges": {
+      "value": false,
+      "configured_value": "INHERIT",
+      "inherited_value": false
+    },
+    "max_object_size_limit": {
+      "value": "10m",
+      "configured_value": "10m",
+      "inherited_value": "20m"
+    },
+    "submit_type": "REBASE_IF_NECESSARY",
+    "state": "ACTIVE",
+    "commentlinks": {}
+  }
+```
+
+### Run GC
+
+*POST /projects/[{project-name}](#project-name)/gc*
+
+Run the Git garbage collection for the repository of a project.
+
+Options for the Git garbage collection can be specified in the request
+body as a [GCInput](#gc-input) entity.
+
+**Request.**
+
+``` 
+  POST /projects/plugins%2Freplication/gc HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "show_progress": true
+  }
+```
+
+The response is the streamed output of the garbage collection.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  collecting garbage for "plugins/replication":
+  Pack refs:              100% (21/21)
+  Counting objects:       20
+  Finding sources:        100% (20/20)
+  Getting sizes:          100% (13/13)
+  Compressing objects:     83% (5/6)
+  Writing objects:        100% (20/20)
+  Selecting commits:      100% (7/7)
+  Building bitmaps:       100% (7/7)
+  Finding sources:        100% (41/41)
+  Getting sizes:          100% (25/25)
+  Compressing objects:     52% (12/23)
+  Writing objects:        100% (41/41)
+  Prune loose objects also found in pack files: 100% (36/36)
+  Prune loose, unreferenced objects: 100% (36/36)
+  done.
+```
+
+#### Asynchronous Execution
+
+The option `async` allows to schedule a background task that
+asynchronously executes a Git garbage collection.
+
+The `Location` header of the response refers to the [background
+task](rest-api-config.html#get-task) which allows to inspect the
+progress of its execution. In case of asynchronous execution the
+`show_progress` option is ignored.
+
+**Request.**
+
+``` 
+  POST /projects/plugins%2Freplication/gc HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "async": true
+  }
+```
+
+The response is empty.
+
+**Response.**
+
+``` 
+  HTTP/1.1 202 Accepted
+  Content-Disposition: attachment
+  Location: https:<host>/a/config/server/tasks/383a0602
+```
+
+### Ban Commit
+
+*PUT /projects/[{project-name}](#project-name)/ban*
+
+Marks commits as banned for the project. If a commit is banned Gerrit
+rejects every push that includes this commit with [contains banned
+commit …](error-contains-banned-commit.html).
+
+> **Note**
+> 
+> This REST endpoint only marks the commits as banned, but it does not
+> remove the commits from the history of any central branch. This needs
+> to be done manually.
+
+The commits to be banned must be specified in the request body as a
+[BanInput](#ban-input) entity.
+
+The caller must be project owner.
+
+**Request.**
+
+``` 
+  PUT /projects/plugins%2Freplication/ban HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "commits": [
+      "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96",
+      "cf5b56541f84b8b57e16810b18daca9c3adc377b"
+    ],
+    "reason": "Violates IP"
+  }
+```
+
+As response a [BanResultInfo](#ban-result-info) entity is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "newly_banned": [
+      "a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96",
+      "cf5b56541f84b8b57e16810b18daca9c3adc377b"
+    ]
+  }
+```
+
+### List Access Rights for Project
+
+*GET
+/projects/[{project-name}](rest-api-projects.html#project-name)/access*
+
+Lists the access rights for a single project.
+
+As result a [ProjectAccessInfo](#project-access-info) entity is
+returned.
+
+**Request.**
+
+``` 
+  GET /projects/MyProject/access HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "revision": "61157ed63e14d261b6dca40650472a9b0bd88474",
+    "inherits_from": {
+      "id": "All-Projects",
+      "name": "All-Projects",
+      "description": "Access inherited by all other projects."
+    },
+    "local": {
+        "refs/*": {
+          "permissions": {
+            "read": {
+              "rules": {
+                "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": {
+                  "action": "ALLOW",
+                  "force": false
+                },
+                "global:Anonymous-Users": {
+                  "action": "ALLOW",
+                  "force": false
+                }
+              }
+            }
+          }
+        }
+    },
+    "is_owner": true,
+    "owner_of": [
+      "refs/*"
+    ],
+    "can_upload": true,
+    "can_add": true,
+    "config_visible": true,
+    "groups": {
+      "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": {
+        "url": "#/admin/groups/uuid-c2ce4749a32ceb82cd6adcce65b8216e12afb41c",
+        "options": {},
+        "description": "Users who perform batch actions on Gerrit",
+        "group_id": 2,
+        "owner": "Administrators",
+        "owner_id": "d5b7124af4de52924ed397913e2c3b37bf186948",
+        "created_on": "2009-06-08 23:31:00.000000000",
+        "name": "Non-Interactive Users"
+      },
+      "global:Anonymous-Users": {
+        "options": {},
+        "name": "Anonymous Users"
+      }
+    }
+  }
+```
+
+### Add, Update and Delete Access Rights for Project
+
+*POST
+/projects/[{project-name}](rest-api-projects.html#project-name)/access*
+
+Sets access rights for the project using the diff schema provided by
+[ProjectAccessInput](#project-access-input). Deductions are used to
+remove access sections, permissions or permission rules. The backend
+will remove the entity with the finest granularity in the request,
+meaning that if an access section without permissions is posted, the
+access section will be removed; if an access section with a permission
+but no permission rules is posted, the permission will be removed; if an
+access section with a permission and a permission rule is posted, the
+permission rule will be removed.
+
+Additionally, access sections and permissions will be cleaned up after
+applying the deductions by removing items that have no child elements.
+
+After removals have been applied, additions will be applied.
+
+As result a [ProjectAccessInfo](#project-access-info) entity is
+returned.
+
+**Request.**
+
+``` 
+  POST /projects/MyProject/access HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "remove": [
+      "refs/*": {
+        "permissions": {
+          "read": {
+            "rules": {
+              "c2ce4749a32ceb82cd6adcce65b8216e12afb41c": {
+                "action": "ALLOW"
+              }
+            }
+          }
+        }
+      }
+    ]
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "revision": "61157ed63e14d261b6dca40650472a9b0bd88474",
+    "inherits_from": {
+      "id": "All-Projects",
+      "name": "All-Projects",
+      "description": "Access inherited by all other projects."
+    },
+    "local": {
+        "refs/*": {
+          "permissions": {
+            "read": {
+              "rules": {
+                "global:Anonymous-Users": {
+                  "action": "ALLOW",
+                  "force": false
+                }
+              }
+            }
+          }
+        }
+    },
+    "is_owner": true,
+    "owner_of": [
+      "refs/*"
+    ],
+    "can_upload": true,
+    "can_add": true,
+    "config_visible": true,
+    "groups": {
+      "global:Anonymous-Users": {
+        "options": {},
+        "name": "Anonymous Users"
+      }
+    }
+  }
+```
+
+### Create Access Rights Change for review.
+
+'PUT
+/projects/[{project-name}](rest-api-projects.html#project-name)/access:review
+
+Sets access rights for the project using the diff schema provided by
+[ProjectAccessInput](#project-access-input)
+
+This takes the same input as [Update Access Rights](#set-access), but
+creates a pending change for review. Like [Create
+Change](#create-change), it returns a [ChangeInfo](#change-info) entity
+describing the resulting change.
+
+**Request.**
+
+``` 
+  PUT /projects/MyProject/access:review HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "add":{
+      "refs/heads/*":{
+        "permissions":{
+          "read":{
+            "rules":{
+              "global:Anonymous-Users": {
+                "action":"DENY",
+                "force":false
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "testproj~refs%2Fmeta%2Fconfig~Ieaf185bf90a1fc3b58461e399385e158a20b31a2",
+    "project": "testproj",
+    "branch": "refs/meta/config",
+    "hashtags": [],
+    "change_id": "Ieaf185bf90a1fc3b58461e399385e158a20b31a2",
+    "subject": "Review access change",
+    "status": "NEW",
+    "created": "2017-09-07 14:31:11.852000000",
+    "updated": "2017-09-07 14:31:11.852000000",
+    "submit_type": "CHERRY_PICK",
+    "mergeable": true,
+    "insertions": 2,
+    "deletions": 0,
+    "unresolved_comment_count": 0,
+    "has_review_started": true,
+    "_number": 7,
+    "owner": {
+      "_account_id": 1000000
+    }
+  }
+```
+
+### Check Access
+
+*POST /projects/MyProject/check.access*
+
+Runs access checks for other users. This requires the [Administrate
+Server](access-control.html#capability_administrateServer) global
+capability.
+
+Input for the access checks that should be run must be provided in the
+request body inside a [AccessCheckInput](#access-check-input) entity.
+
+**Request.**
+
+``` 
+  POST /projects/MyProject/check.access HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "account": "Kristen.Burns@gerritcodereview.com",
+    "ref": "refs/heads/secret/bla"
+  }
+```
+
+The result is a [AccessCheckInfo](#access-check-info) entity detailing
+the read access of the given user for the given project (or project-ref
+combination).
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "message": "user Kristen Burns \u003cKristen.Burns@gerritcodereview.com\u003e (1000098) cannot see ref refs/heads/secret/bla in project MyProject",
+    "status": 403
+  }
+```
+
+### Index all changes in a project
+
+Adds or updates all the changes belonging to a project in the secondary
+index. The indexing task is executed asynchronously in background, so
+this command returns immediately.
+
+**Request.**
+
+``` 
+  POST /projects/MyProject/index HTTP/1.0
+```
+
+**Response.**
+
+    HTTP/1.1 202 Accepted
+    Content-Disposition: attachment
+
+## Branch Endpoints
+
+### List Branches
+
+*GET /projects/[{project-name}](#project-name)/branches/*
+
+List the branches of a project.
+
+As result a list of [BranchInfo](#branch-info) entries is returned.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/branches/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "ref": "HEAD",
+      "revision": "master"
+    },
+    {
+      "ref": "refs/meta/config",
+      "revision": "76016386a0d8ecc7b6be212424978bb45959d668"
+    },
+    {
+      "ref": "refs/heads/master",
+      "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
+    },
+    {
+      "ref": "refs/heads/stable",
+      "revision": "64ca533bd0eb5252d2fee83f63da67caae9b4674",
+      "can_delete": true
+    }
+  ]
+```
+
+#### Branch Options
+
+  - Limit(n)  
+    Limit the number of branches to be included in the results.
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/testproject/branches?n=1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "HEAD",
+          "revision": "master",
+          "can_delete": false
+        }
+      ]
+    ```
+
+  - Skip(S)  
+    Skip the given number of branches from the beginning of the list.
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/testproject/branches?n=1&s=0 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "HEAD",
+          "revision": "master",
+          "can_delete": false
+        }
+      ]
+    ```
+
+  - Substring(m)  
+    Limit the results to those branches that match the specified
+    substring.
+    
+    The match is case insensitive. May not be used together with `r`.
+    
+    List all branches that match substring `test`:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/testproject/branches?m=test HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "refs/heads/test1",
+          "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d",
+          "can_delete": true
+        }
+      ]
+    ```
+
+  - Regex(r)  
+    Limit the results to those branches that match the specified regex.
+    Boundary matchers *^* and *$* are implicit. For example: the regex
+    *t\** will match any branches that start with *t* and regex *\*t*
+    will match any branches that end with *t*.
+    
+    The match is case sensitive. May not be used together with `m`.
+    
+    List all branches that match regex `t.*1`:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/testproject/branches?r=t.*1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "refs/heads/test1",
+          "revision": "9c9d08a438e55e52f33b608415e6dddd9b18550d",
+          "can_delete": true
+        }
+      ]
+    ```
+
+### Get Branch
+
+*GET
+/projects/[{project-name}](#project-name)/branches/[{branch-id}](#branch-id)*
+
+Retrieves a branch of a project.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/branches/master HTTP/1.0
+```
+
+As response a [BranchInfo](#branch-info) entity is returned that
+describes the branch.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "ref": "refs/heads/master",
+    "revision": "67ebf73496383c6777035e374d2d664009e2aa5c"
+  }
+```
+
+### Create Branch
+
+*PUT
+/projects/[{project-name}](#project-name)/branches/[{branch-id}](#branch-id)*
+
+Creates a new branch.
+
+In the request body additional data for the branch can be provided as
+[BranchInput](#branch-input).
+
+**Request.**
+
+``` 
+  PUT /projects/MyProject/branches/stable HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "revision": "76016386a0d8ecc7b6be212424978bb45959d668"
+  }
+```
+
+As response a [BranchInfo](#branch-info) entity is returned that
+describes the created branch.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "ref": "refs/heads/stable",
+    "revision": "76016386a0d8ecc7b6be212424978bb45959d668",
+    "can_delete": true
+  }
+```
+
+### Delete Branch
+
+*DELETE
+/projects/[{project-name}](#project-name)/branches/[{branch-id}](#branch-id)*
+
+Deletes a branch.
+
+**Request.**
+
+``` 
+  DELETE /projects/MyProject/branches/stable HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Delete Branches
+
+*POST /projects/[{project-name}](#project-name)/branches:delete*
+
+Delete one or more branches.
+
+The branches to be deleted must be provided in the request body as a
+[DeleteBranchesInput](#delete-branches-input) entity.
+
+**Request.**
+
+``` 
+  POST /projects/MyProject/branches:delete HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "branches": [
+      "stable-1.0",
+      "stable-2.0"
+    ]
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+If some branches could not be deleted, the response is "`409 Conflict`"
+and the error message is contained in the response body.
+
+### Get Content
+
+*GET
+/projects/[{project-name}](#project-name)/branches/[{branch-id}](#branch-id)/files/[{file-id}](rest-api-changes.html#file-id)/content*
+
+Gets the content of a file from the HEAD revision of a certain
+branch.
+
+**Request.**
+
+``` 
+  GET /projects/gerrit/branches/master/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
+```
+
+The content is returned as base64 encoded string.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
+```
+
+### Get Mergeable Information
+
+*GET
+/projects/[{project-name}](#project-name)/branches/[{branch-id}](#branch-id)/mergeable*
+
+Gets whether the source is mergeable with the target branch.
+
+The `source` query parameter is required, which can be anything that
+could be resolved to a commit, see examples of the `source` attribute in
+[MergeInput](rest-api-changes.html#merge-input).
+
+Also takes an optional parameter `strategy`, which can be `recursive`,
+`resolve`, `simple-two-way-in-core`, `ours` or `theirs`, default will
+use project
+settings.
+
+**Request.**
+
+``` 
+  GET /projects/test/branches/master/mergeable?source=testbranch&strategy=recursive HTTP/1.0
+```
+
+As response a [MergeableInfo](rest-api-changes.html#mergeable-info)
+entity is returned.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "submit_type": "MERGE_IF_NECESSARY",
+    "strategy": "recursive",
+    "mergeable": true,
+    "commit_merged": false,
+    "content_merged": false
+  }
+```
+
+or when there were conflicts.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "submit_type": "MERGE_IF_NECESSARY",
+    "strategy": "recursive",
+    "mergeable": false,
+    "conflicts": [
+      "common.txt",
+      "shared.txt"
+    ]
+  }
+```
+
+or when the *testbranch* has been already merged.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "submit_type": "MERGE_IF_NECESSARY",
+    "strategy": "recursive",
+    "mergeable": true,
+    "commit_merged": true,
+    "content_merged": true
+  }
+```
+
+or when only the content of *testbranch* has been merged.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "submit_type": "MERGE_IF_NECESSARY",
+    "strategy": "recursive",
+    "mergeable": true,
+    "commit_merged": false,
+    "content_merged": true
+  }
+```
+
+### Get Reflog
+
+*GET
+/projects/[{project-name}](#project-name)/branches/[{branch-id}](#branch-id)/reflog*
+
+Gets the reflog of a certain branch.
+
+The caller must be project owner.
+
+**Request.**
+
+``` 
+  GET /projects/gerrit/branches/master/reflog HTTP/1.0
+```
+
+As response a list of [ReflogEntryInfo](#reflog-entry-info) entities is
+returned that describe the reflog entries. The reflog entries are
+returned in reverse order.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "old_id": "976ced8f4fc0909d7e1584d18455299545881d60",
+      "new_id": "2eaa94bac536654eb592c941e33b91f925698d16",
+      "who": {
+        "name": "Jane Roe",
+        "email": "jane.roe@example.com",
+        "date": "2014-06-30 11:53:43.000000000",
+        "tz": 120
+      },
+      "comment": "merged: fast forward"
+    },
+    {
+      "old_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29",
+      "new_id": "976ced8f4fc0909d7e1584d18455299545881d60",
+      "who": {
+        "name": "John Doe",
+        "email": "john.doe@example.com",
+        "date": "2013-10-02 10:45:26.000000000",
+        "tz": 120
+      },
+      "comment": "merged: fast forward"
+    },
+    {
+      "old_id": "0000000000000000000000000000000000000000",
+      "new_id": "c271c6a7161b74f85560c5899c8c73ee89ca5e29",
+      "who": {
+        "name": "John Doe",
+        "email": "john.doe@example.com",
+        "date": "2013-09-30 19:08:44.000000000",
+        "tz": 120
+      },
+      "comment": ""
+    }
+  ]
+```
+
+The get reflog endpoint also accepts a limit integer in the `n`
+parameter. This limits the results to show the last `n` reflog entries.
+
+Query the last 25 reflog entries.
+
+``` 
+  GET /projects/gerrit/branches/master/reflog?n=25 HTTP/1.0
+```
+
+The reflog can also be filtered by timestamp by specifying the `from`
+and `to` parameters. The timestamp for `from` and `to` must be given as
+UTC in the following format:
+`yyyyMMdd_HHmm`.
+
+``` 
+  GET /projects/gerrit/branches/master/reflog?from=20130101_0000&to=20140101_0000=25 HTTP/1.0
+```
+
+## Child Project Endpoints
+
+### List Child Projects
+
+*GET /projects/[{project-name}](#project-name)/children/*
+
+List the direct child projects of a project.
+
+**Request.**
+
+``` 
+  GET /projects/Public-Plugins/children/ HTTP/1.0
+```
+
+As result a list of [ProjectInfo](#project-info) entries is returned
+that describe the child projects.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "plugins%2Freplication",
+      "name": "plugins/replication",
+      "parent": "Public-Plugins",
+      "description": "Copies to other servers using the Git protocol"
+    },
+    {
+      "id": "plugins%2Freviewnotes",
+      "name": "plugins/reviewnotes",
+      "parent": "Public-Plugins",
+      "description": "Annotates merged commits using notes on refs/notes/review."
+    },
+    {
+      "id": "plugins%2Fsingleusergroup",
+      "name": "plugins/singleusergroup",
+      "parent": "Public-Plugins",
+      "description": "GroupBackend enabling users to be directly added to access rules"
+    }
+  ]
+```
+
+To resolve the child projects of a project recursively the parameter
+`recursive` can be set.
+
+Child projects that are not visible to the calling user are ignored and
+are not resolved further.
+
+**Request.**
+
+``` 
+  GET /projects/Public-Projects/children/?recursive HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "gerrit",
+      "name": "gerrit",
+      "parent": "Public-Projects",
+      "description": "Gerrit Code Review"
+    },
+    {
+      "id": "plugins%2Freplication",
+      "name": "plugins/replication",
+      "parent": "Public-Plugins",
+      "description": "Copies to other servers using the Git protocol"
+    },
+    {
+      "id": "plugins%2Freviewnotes",
+      "name": "plugins/reviewnotes",
+      "parent": "Public-Plugins",
+      "description": "Annotates merged commits using notes on refs/notes/review."
+    },
+    {
+      "id": "plugins%2Fsingleusergroup",
+      "name": "plugins/singleusergroup",
+      "parent": "Public-Plugins",
+      "description": "GroupBackend enabling users to be directly added to access rules"
+    },
+    {
+      "id": "Public-Plugins",
+      "name": "Public-Plugins",
+      "parent": "Public-Projects",
+      "description": "Parent project for plugins/*"
+    }
+  ]
+```
+
+### Get Child Project
+
+*GET
+/projects/[{project-name}](#project-name)/children/[{project-name}](#project-name)*
+
+Retrieves a child project. If a non-direct child project should be
+retrieved the parameter `recursive` must be set.
+
+**Request.**
+
+``` 
+  GET /projects/Public-Plugins/children/plugins%2Freplication HTTP/1.0
+```
+
+As response a [ProjectInfo](#project-info) entity is returned that
+describes the child project.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "plugins%2Freplication",
+    "name": "plugins/replication",
+    "parent": "Public-Plugins",
+    "description": "Copies to other servers using the Git protocol"
+  }
+```
+
+## Tag Endpoints
+
+### Create Tag
+
+*PUT /projects/[{project-name}](#project-name)/tags/[{tag-id}](#tag-id)*
+
+Create a new tag on the project.
+
+In the request body additional data for the tag can be provided as
+[TagInput](#tag-input).
+
+If a message is provided in the input, the tag is created as an
+annotated tag with the current user as tagger. Signed tags are not
+supported.
+
+**Request.**
+
+``` 
+  PUT /projects/MyProject/tags/v1.0 HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message": "annotation",
+    "revision": "c83117624b5b5d8a7f86093824e2f9c1ed309d63"
+  }
+```
+
+As response a [TagInfo](#tag-info) entity is returned that describes the
+created tag.
+
+**Response.**
+
+``` 
+  HTTP/1.1 201 Created
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+
+  "object": "d48d304adc4b6674e11dc2c018ea05fcbdda32fd",
+  "message": "annotation",
+  "tagger": {
+    "name": "David Pursehouse",
+    "email": "dpursehouse@collab.net",
+    "date": "2016-06-06 01:22:03.000000000",
+    "tz": 540
+  },
+  "ref": "refs/tags/v1.0",
+  "revision": "c83117624b5b5d8a7f86093824e2f9c1ed309d63"
+  }
+```
+
+### List Tags
+
+*GET /projects/[{project-name}](#project-name)/tags/*
+
+List the tags of a project.
+
+As result a list of [TagInfo](#tag-info) entries is returned.
+
+Only includes tags under the `refs/tags/` namespace.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/tags/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "ref": "refs/tags/v1.0",
+      "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
+      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+      "message": "Annotated tag",
+      "tagger": {
+        "name": "David Pursehouse",
+        "email": "david.pursehouse@sonymobile.com",
+        "date": "2014-10-06 07:35:03.000000000",
+        "tz": 540
+      }
+    },
+    {
+      "ref": "refs/tags/v2.0",
+      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
+    },
+    {
+      "ref": "refs/tags/v3.0",
+      "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
+      "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+      "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----",
+      "tagger": {
+        "name": "David Pursehouse",
+        "email": "david.pursehouse@sonymobile.com",
+        "date": "2014-10-06 09:02:16.000000000",
+        "tz": 540
+      }
+    }
+  ]
+```
+
+#### Tag Options
+
+  - Limit(n)  
+    Limit the number of tags to be included in the results.
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/work%2Fmy-project/tags?n=2 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "refs/tags/v1.0",
+          "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
+          "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+          "message": "Annotated tag",
+          "tagger": {
+            "name": "David Pursehouse",
+            "email": "david.pursehouse@sonymobile.com",
+            "date": "2014-10-06 07:35:03.000000000",
+            "tz": 540
+          }
+        },
+        {
+          "ref": "refs/tags/v2.0",
+          "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
+        }
+      ]
+    ```
+
+  - Skip(S)  
+    Skip the given number of tags from the beginning of the list.
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/work%2Fmy-project/tags?n=2&s=1 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "refs/tags/v2.0",
+          "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
+        },
+        {
+          "ref": "refs/tags/v3.0",
+          "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
+          "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+          "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----",
+          "tagger": {
+            "name": "David Pursehouse",
+            "email": "david.pursehouse@sonymobile.com",
+            "date": "2014-10-06 09:02:16.000000000",
+            "tz": 540
+          }
+        }
+      ]
+    ```
+
+  - Substring(m)  
+    Limit the results to those tags that match the specified substring.
+    
+    The match is case insensitive. May not be used together with `r`.
+    
+    List all tags that match substring `v2`:
+
+\+ .Request
+
+``` 
+  GET /projects/testproject/tags?m=v2 HTTP/1.0
+```
+
+\+ .Response
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "ref": "refs/tags/v2.0",
+      "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
+    },
+  ]
+```
+
+  - Regex(r)  
+    Limit the results to those tags that match the specified regex.
+    Boundary matchers *^* and *$* are implicit. For example: the regex
+    *t\** will match any tags that start with *t* and regex *\*t* will
+    match any tags that end with *t*.
+    
+    The match is case sensitive. May not be used together with `m`.
+    
+    List all tags that match regex `v.*0`:
+    
+    **Request.**
+    
+    ``` 
+      GET /projects/testproject/tags?r=v.*0 HTTP/1.0
+    ```
+    
+    **Response.**
+    
+    ``` 
+      HTTP/1.1 200 OK
+      Content-Disposition: attachment
+      Content-Type: application/json; charset=UTF-8
+    
+      )]}'
+      [
+        {
+          "ref": "refs/tags/v1.0",
+          "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
+          "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+          "message": "Annotated tag",
+          "tagger": {
+            "name": "David Pursehouse",
+            "email": "david.pursehouse@sonymobile.com",
+            "date": "2014-10-06 07:35:03.000000000",
+            "tz": 540
+          }
+        },
+        {
+          "ref": "refs/tags/v2.0",
+          "revision": "1624f5af8ae89148d1a3730df8c290413e3dcf30"
+        },
+        {
+          "ref": "refs/tags/v3.0",
+          "revision": "c628685b3c5a3614571ecb5c8fceb85db9112313",
+          "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+          "message": "Signed tag\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\niQEcBAABAgAGBQJUMlqYAAoJEPI2qVPgglptp7MH/j+KFcittFbxfSnZjUl8n5IZ\nveZo7wE+syjD9sUbMH4EGv0WYeVjphNTyViBof+stGTNkB0VQzLWI8+uWmOeiJ4a\nzj0LsbDOxodOEMI5tifo02L7r4Lzj++EbqtKv8IUq2kzYoQ2xjhKfFiGjeYOn008\n9PGnhNblEHZgCHguGR6GsfN8bfA2XNl9B5Ysl5ybX1kAVs/TuLZR4oDMZ/pW2S75\nhuyNnSgcgq7vl2gLGefuPs9lxkg5Fj3GZr7XPZk4pt/x1oiH7yXxV4UzrUwg2CC1\nfHrBlNbQ4uJNY8TFcwof52Z0cagM5Qb/ZSLglHbqEDGA68HPqbwf5z2hQyU2/U4\u003d\n\u003dZtUX\n-----END PGP SIGNATURE-----",
+          "tagger": {
+            "name": "David Pursehouse",
+            "email": "david.pursehouse@sonymobile.com",
+            "date": "2014-10-06 09:02:16.000000000",
+            "tz": 540
+          }
+        }
+      ]
+    ```
+
+### Get Tag
+
+*GET /projects/[{project-name}](#project-name)/tags/[{tag-id}](#tag-id)*
+
+Retrieves a tag of a project.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/tags/v1.0 HTTP/1.0
+```
+
+As response a [TagInfo](#tag-info) entity is returned that describes the
+tag.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "ref": "refs/tags/v1.0",
+    "revision": "49ce77fdcfd3398dc0dedbe016d1a425fd52d666",
+    "object": "1624f5af8ae89148d1a3730df8c290413e3dcf30",
+    "message": "Annotated tag",
+    "tagger": {
+      "name": "David Pursehouse",
+      "email": "david.pursehouse@sonymobile.com",
+      "date": "2014-10-06 07:35:03.000000000",
+      "tz": 540
+    }
+  }
+```
+
+### Delete Tag
+
+*DELETE
+/projects/[{project-name}](#project-name)/tags/[{tag-id}](#tag-id)*
+
+Deletes a tag.
+
+**Request.**
+
+``` 
+  DELETE /projects/MyProject/tags/v1.0 HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+### Delete Tags
+
+*POST /projects/[{project-name}](#project-name)/tags:delete*
+
+Delete one or more tags.
+
+The tags to be deleted must be provided in the request body as a
+[DeleteTagsInput](#delete-tags-input) entity.
+
+**Request.**
+
+``` 
+  POST /projects/MyProject/tags:delete HTTP/1.0
+  Content-Type: application/json;charset=UTF-8
+
+  {
+    "tags": [
+      "v1.0",
+      "v2.0"
+    ]
+  }
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+If some tags could not be deleted, the response is "`409 Conflict`" and
+the error message is contained in the response body.
+
+## Commit Endpoints
+
+### Get Commit
+
+*GET
+/projects/[{project-name}](#project-name)/commits/[{commit-id}](#commit-id)*
+
+Retrieves a commit of a project.
+
+The commit must be visible to the
+caller.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96 HTTP/1.0
+```
+
+As response a [CommitInfo](rest-api-changes.html#commit-info) entity is
+returned that describes the commit.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "commit": "184ebe53805e102605d11f6b143486d15c23a09c",
+    "parents": [
+      {
+        "commit": "1eee2c9d8f352483781e772f35dc586a69ff5646",
+        "subject": "Migrate contributor agreements to All-Projects."
+      }
+    ],
+    "author": {
+      "name": "Shawn O. Pearce",
+      "email": "sop@google.com",
+      "date": "2012-04-24 18:08:08.000000000",
+      "tz": -420
+    },
+    "committer": {
+      "name": "Shawn O. Pearce",
+      "email": "sop@google.com",
+      "date": "2012-04-24 18:08:08.000000000",
+      "tz": -420
+    },
+    "subject": "Use an EventBus to manage star icons",
+    "message": "Use an EventBus to manage star icons\n\nImage widgets that need to ..."
+  }
+```
+
+### Get Included In
+
+*GET
+/projects/[{project-name}](#project-name)/commits/[{commit-id}](#commit-id)/in*
+
+Retrieves the branches and tags in which a change is included. As result
+an [IncludedInInfo](rest-api-changes.html#included-in-info) entity is
+returned.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/in HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json;charset=UTF-8
+
+  )]}'
+  {
+    "branches": [
+      "master"
+    ],
+    "tags": []
+  }
+```
+
+### Get Content
+
+*GET
+/projects/[{project-name}](#project-name)/commits/[{commit-id}](#commit-id)/files/[{file-id}](rest-api-changes.html#file-id)/content*
+
+Gets the content of a file from a certain
+commit.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/files/gerrit-server%2Fsrc%2Fmain%2Fjava%2Fcom%2Fgoogle%2Fgerrit%2Fserver%2Fproject%2FRefControl.java/content HTTP/1.0
+```
+
+The content is returned as base64 encoded string.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: text/plain; charset=UTF-8
+
+  Ly8gQ29weXJpZ2h0IChDKSAyMDEwIFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY...
+```
+
+### Cherry Pick Commit
+
+*POST
+/projects/[{project-name}](#project-name)/commits/[{commit-id}](#commit-id)/cherrypick*
+
+Cherry-picks a commit of a project to a destination branch.
+
+The destination branch must be provided in the request body inside a
+[CherryPickInput](rest-api-changes.html#cherrypick-input) entity. If the
+commit message is not set, the commit message of the source commit will
+be
+used.
+
+**Request.**
+
+``` 
+  POST /projects/work%2Fmy-project/commits/a8a477efffbbf3b44169bb9a1d3a334cbbd9aa96/cherrypick HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "message" : "Implementing Feature X",
+    "destination" : "release-branch"
+  }
+```
+
+As response a [ChangeInfo](rest-api-changes.html#change-info) entity is
+returned that describes the resulting cherry-picked change.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "myProject~master~I8473b95934b5732ac55d26311a706c9c2bde9941",
+    "project": "myProject",
+    "branch": "release-branch",
+    "change_id": "I8473b95934b5732ac55d26311a706c9c2bde9941",
+    "subject": "Implementing Feature X",
+    "status": "NEW",
+    "created": "2013-02-01 09:59:32.126000000",
+    "updated": "2013-02-21 11:16:36.775000000",
+    "mergeable": true,
+    "insertions": 12,
+    "deletions": 11,
+    "_number": 3965,
+    "owner": {
+      "name": "John Doe"
+    }
+  }
+```
+
+## Dashboard Endpoints
+
+### List Dashboards
+
+*GET /projects/[{project-name}](#project-name)/dashboards/*
+
+List custom dashboards for a project.
+
+As result a list of [DashboardInfo](#dashboard-info) entries is
+returned.
+
+List all dashboards for the `work/my-project` project:
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/dashboards/ HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  [
+    {
+      "id": "main:closed",
+      "ref": "main",
+      "path": "closed",
+      "description": "Merged and abandoned changes in last 7 weeks",
+      "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
+      "is_default": true,
+      "title": "Closed changes",
+      "sections": [
+        {
+          "name": "Merged",
+          "query": "status:merged age:7w"
+        },
+        {
+          "name": "Abandoned",
+          "query": "status:abandoned age:7w"
+        }
+      ]
+    }
+  ]
+```
+
+get::/projects/All-Projects/dashboards/
+
+### Get Dashboard
+
+*GET
+/projects/[{project-name}](#project-name)/dashboards/[{dashboard-id}](#dashboard-id)*
+
+Retrieves a project dashboard. The dashboard can be defined on that
+project or be inherited from a parent project.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/dashboards/main:closed HTTP/1.0
+```
+
+As response a [DashboardInfo](#dashboard-info) entity is returned that
+describes the dashboard.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "main:closed",
+    "ref": "main",
+    "path": "closed",
+    "description": "Merged and abandoned changes in last 7 weeks",
+    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
+    "is_default": true,
+    "title": "Closed changes",
+    "sections": [
+      {
+        "name": "Merged",
+        "query": "status:merged age:7w"
+      },
+      {
+        "name": "Abandoned",
+        "query": "status:abandoned age:7w"
+      }
+    ]
+  }
+```
+
+To retrieve the default dashboard of a project use `default` as
+dashboard-id.
+
+**Request.**
+
+``` 
+  GET /projects/work%2Fmy-project/dashboards/default HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "main:closed",
+    "ref": "main",
+    "path": "closed",
+    "description": "Merged and abandoned changes in last 7 weeks",
+    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
+    "is_default": true,
+    "title": "Closed changes",
+    "sections": [
+      {
+        "name": "Merged",
+        "query": "status:merged age:7w"
+      },
+      {
+        "name": "Abandoned",
+        "query": "status:abandoned age:7w"
+      }
+    ]
+  }
+```
+
+### Set Dashboard
+
+*PUT
+/projects/[{project-name}](#project-name)/dashboards/[{dashboard-id}](#dashboard-id)*
+
+Updates/Creates a project dashboard.
+
+Currently only supported for the `default` dashboard.
+
+The creation/update information for the dashboard must be provided in
+the request body as a [DashboardInput](#dashboard-input) entity.
+
+**Request.**
+
+``` 
+  PUT /projects/work%2Fmy-project/dashboards/default HTTP/1.0
+  Content-Type: application/json; charset=UTF-8
+
+  {
+    "id": "main:closed",
+    "commit_message": "Define the default dashboard"
+  }
+```
+
+As response the new/updated dashboard is returned as a
+[DashboardInfo](#dashboard-info) entity.
+
+**Response.**
+
+``` 
+  HTTP/1.1 200 OK
+  Content-Disposition: attachment
+  Content-Type: application/json; charset=UTF-8
+
+  )]}'
+  {
+    "id": "main:closed",
+    "ref": "main",
+    "path": "closed",
+    "description": "Merged and abandoned changes in last 7 weeks",
+    "url": "/dashboard/?title\u003dClosed+changes\u0026Merged\u003dstatus:merged+age:7w\u0026Abandoned\u003dstatus:abandoned+age:7w",
+    "is_default": true,
+    "title": "Closed changes",
+    "sections": [
+      {
+        "name": "Merged",
+        "query": "status:merged age:7w"
+      },
+      {
+        "name": "Abandoned",
+        "query": "status:abandoned age:7w"
+      }
+    ]
+  }
+```
+
+### Delete Dashboard
+
+*DELETE
+/projects/[{project-name}](#project-name)/dashboards/[{dashboard-id}](#dashboard-id)*
+
+Deletes a project dashboard.
+
+Currently only supported for the `default` dashboard.
+
+The request body does not need to include a
+[DashboardInput](#dashboard-input) entity if no commit message is
+specified.
+
+Please note that some proxies prohibit request bodies for DELETE
+requests.
+
+**Request.**
+
+``` 
+  DELETE /projects/work%2Fmy-project/dashboards/default HTTP/1.0
+```
+
+**Response.**
+
+``` 
+  HTTP/1.1 204 No Content
+```
+
+## IDs
+
+### {branch-id}
+
+The name of a branch or `HEAD`. The prefix `refs/heads/` can be omitted.
+
+### {commit-id}
+
+Commit ID.
+
+### {tag-id}
+
+The name of a tag. The prefix `refs/tags/` can be omitted.
+
+### {dashboard-id}
+
+The ID of a dashboard in the format *\<ref\>:\<path\>*.
+
+A special dashboard ID is `default` which represents the default
+dashboard of a project.
+
+### {project-name}
+
+The name of the project.
+
+If the name ends with `.git`, the suffix will be automatically removed.
+
+## JSON Entities
+
+### AccessCheckInfo
+
+The `AccessCheckInfo` entity is the result of an access check.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>status</code></p></td>
+<td></td>
+<td><p>The HTTP status code for the access. 200 means success, 403 means denied and 404 means the project does not exist.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>A clarifying message if <code>status</code> is not 200.</p></td>
+</tr>
+</tbody>
+</table>
+
+### AccessCheckInput
+
+The `AccessCheckInput` entity is either an account or (account, ref)
+tuple for which we want to check access.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="14%" />
+<col width="71%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>account</code></p></td>
+<td></td>
+<td><p>The account for which to check access</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ref</code></p></td>
+<td><p>optional</p></td>
+<td><p>The refname for which to check access</p></td>
+</tr>
+</tbody>
+</table>
+
+### BanInput
+
+The `BanInput` entity contains information for banning commits in a
+project.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>commits</code></p></td>
+<td></td>
+<td><p>List of commits to be banned.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>reason</code></p></td>
+<td><p>optional</p></td>
+<td><p>Reason for banning the commits.</p></td>
+</tr>
+</tbody>
+</table>
+
+### BanResultInfo
+
+The `BanResultInfo` entity describes the result of banning commits.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>newly_banned</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of newly banned commits.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>already_banned</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of commits that were already banned.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>ignored</code></p></td>
+<td><p>optional</p></td>
+<td><p>List of object IDs that were ignored.</p></td>
+</tr>
+</tbody>
+</table>
+
+### BranchInfo
+
+The `BranchInfo` entity contains information about a branch.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>ref</code></p></td>
+<td></td>
+<td><p>The ref of the branch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>revision</code></p></td>
+<td></td>
+<td><p>The revision to which the branch points.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>can_delete</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the calling user can delete this branch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the branch in external sites as a list of <a href="rest-api-changes.html#web-link-info">WebLinkInfo</a> entries.</p></td>
+</tr>
+</tbody>
+</table>
+
+### BranchInput
+
+The `BranchInput` entity contains information for the creation of a new
+branch.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>ref</code></p></td>
+<td><p>optional</p></td>
+<td><p>The name of the branch. The prefix <code>refs/heads/</code> can be omitted.<br />
+If set, must match the branch ID in the URL.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>revision</code></p></td>
+<td><p>optional</p></td>
+<td><p>The base revision of the new branch.<br />
+If not set, <code>HEAD</code> will be used as base revision.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ConfigInfo
+
+The `ConfigInfo` entity contains information about the effective project
+configuration.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_contributor_agreements</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether authors must complete a contributor agreement on the site before pushing any commits or changes to this project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>use_content_merge</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether Gerrit will try to perform a 3-way merge of text file content when a file has been modified by both the destination branch and the change being submitted. This option only takes effect if submit type is not FAST_FORWARD_ONLY.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_signed_off_by</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether each change must contain a Signed-off-by line from either the author or the uploader in the commit message.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>create_new_change_for_all_not_in_target</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether a new change is created for every commit not in target branch.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>require_change_id</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether a valid <a href="user-changeid.html">Change-Id</a> footer in any commit uploaded for review is required. This does not apply to commits pushed directly to a branch or tag.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>enable_signed_push</code></p></td>
+<td><p>optional, not set if signed push is disabled</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether signed push validation is enabled on the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>require_signed_push</code></p></td>
+<td><p>optional, not set if signed push is disabled</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether signed push validation is required on the project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>reject_implicit_merges</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether implicit merges should be rejected on changes pushed to the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>private_by_default</code></p></td>
+<td></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that tells whether all new changes are set as private by default.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>max_object_size_limit</code></p></td>
+<td></td>
+<td><p>The <a href="config-gerrit.html#receive.maxObjectSizeLimit">max object size limit</a> of this project as a <a href="#max-object-size-limit-info">MaxObjectSizeLimitInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>submit_type</code></p></td>
+<td></td>
+<td><p>The default submit type of the project, can be <code>MERGE_IF_NECESSARY</code>, <code>FAST_FORWARD_ONLY</code>, <code>REBASE_IF_NECESSARY</code>, <code>REBASE_ALWAYS</code>, <code>MERGE_ALWAYS</code> or <code>CHERRY_PICK</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>match_author_to_committer_date</code></p></td>
+<td><p>optional</p></td>
+<td><p><a href="#inherited-boolean-info">InheritedBooleanInfo</a> that indicates whether a change’s author date will be changed to match its submitter date upon submit.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>state</code></p></td>
+<td><p>optional</p></td>
+<td><p>The state of the project, can be <code>ACTIVE</code>, <code>READ_ONLY</code> or <code>HIDDEN</code>.<br />
+Not set if the project state is <code>ACTIVE</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>commentlinks</code></p></td>
+<td></td>
+<td><p>Map with the comment link configurations of the project. The name of the comment link configuration is mapped to the comment link configuration, which has the same format as the <a href="config-gerrit.html#_a_id_commentlink_a_section_commentlink">commentlink section</a> of <code>gerrit.config</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>theme</code></p></td>
+<td><p>optional</p></td>
+<td><p>The theme that is configured for the project as a <a href="#theme-info">ThemeInfo</a> entity.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>plugin_config</code></p></td>
+<td><p>optional</p></td>
+<td><p>Plugin configuration as map which maps the plugin name to a map of parameter names to <a href="#config-parameter-info">ConfigParameterInfo</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>actions</code></p></td>
+<td><p>optional</p></td>
+<td><p>Actions the caller might be able to perform on this project. The information is a map of view names to <a href="rest-api-changes.html#action-info">ActionInfo</a> entities.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ConfigInput
+
+The `ConfigInput` entity describes a new project configuration.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The new description of the project.<br />
+If not set, the description is removed.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_contributor_agreements</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether authors must complete a contributor agreement on the site before pushing any commits or changes to this project.<br />
+Can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERIT</code>.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>use_content_merge</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether Gerrit will try to perform a 3-way merge of text file content when a file has been modified by both the destination branch and the change being submitted. This option only takes effect if submit type is not FAST_FORWARD_ONLY.<br />
+Can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERIT</code>.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_signed_off_by</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether each change must contain a Signed-off-by line from either the author or the uploader in the commit message.<br />
+Can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERIT</code>.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>create_new_change_for_all_not_in_target</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether a new change will be created for every commit not in target branch.<br />
+Can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERIT</code>.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>require_change_id</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether a valid <a href="user-changeid.html">Change-Id</a> footer in any commit uploaded for review is required. This does not apply to commits pushed directly to a branch or tag.<br />
+Can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERIT</code>.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>reject_implicit_merges</code></p></td>
+<td><p>optional</p></td>
+<td><p>Whether a check for implicit merges will be performed when changes are pushed for review.<br />
+Can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERIT</code>.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>max_object_size_limit</code></p></td>
+<td><p>optional</p></td>
+<td><p>The <a href="config-gerrit.html#receive.maxObjectSizeLimit">max object size limit</a> of this project as a <a href="#max-object-size-limit-info">MaxObjectSizeLimitInfo</a> entity.<br />
+If set to <code>0</code>, the max object size limit is removed.<br />
+If not set, this setting is not updated.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>submit_type</code></p></td>
+<td><p>optional</p></td>
+<td><p>The default submit type of the project, can be <code>MERGE_IF_NECESSARY</code>, <code>FAST_FORWARD_ONLY</code>, <code>REBASE_IF_NECESSARY</code>, <code>REBASE_ALWAYS</code>, <code>MERGE_ALWAYS</code> or <code>CHERRY_PICK</code>.<br />
+If not set, the submit type is not updated.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>state</code></p></td>
+<td><p>optional</p></td>
+<td><p>The state of the project, can be <code>ACTIVE</code>, <code>READ_ONLY</code> or <code>HIDDEN</code>.<br />
+Not set if the project state is <code>ACTIVE</code>.<br />
+If not set, the project state is not updated.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>plugin_config_values</code></p></td>
+<td><p>optional</p></td>
+<td><p>Plugin configuration values as map which maps the plugin name to a map of parameter names to values.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ConfigParameterInfo
+
+The `ConfigParameterInfo` entity describes a project configuration
+parameter.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>display_name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The display name of the configuration parameter.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of the configuration parameter.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>warning</code></p></td>
+<td><p>optional</p></td>
+<td><p>Warning message for the configuration parameter.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>type</code></p></td>
+<td></td>
+<td><p>The type of the configuration parameter. Can be <code>STRING</code>, <code>INT</code>, <code>LONG</code>, <code>BOOLEAN</code>, <code>LIST</code> or <code>ARRAY</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The value of the configuration parameter as string. If the parameter is inheritable this is the effective value which is deduced from <code>configured_value</code> and <code>inherited_value</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>values</code></p></td>
+<td><p>optional</p></td>
+<td><p>The list of values. Only set if the <code>type</code> is <code>ARRAY</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>editable</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the value is editable.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>permitted_values</code></p></td>
+<td><p>optional</p></td>
+<td><p>The list of permitted values. Only set if the <code>type</code> is <code>LIST</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>inheritable</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the configuration parameter can be inherited.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>configured_value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The value of the configuration parameter that is configured on this project, only set if <code>inheritable</code> is true.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>inherited_value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The inherited value of the configuration parameter, only set if <code>inheritable</code> is true.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>permitted_values</code></p></td>
+<td><p>optional</p></td>
+<td><p>The list of permitted values, only set if the <code>type</code> is <code>LIST</code>.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DashboardInfo
+
+The `DashboardInfo` entity contains information about a project
+dashboard.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The ID of the dashboard. The ID has the format <em>&lt;ref&gt;:&lt;path&gt;</em>, where ref and path are URL encoded.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>project</code></p></td>
+<td></td>
+<td><p>The name of the project for which this dashboard is returned.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>defining_project</code></p></td>
+<td></td>
+<td><p>The name of the project in which this dashboard is defined. This is different from <code>project</code> if the dashboard is inherited from a parent project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>ref</code></p></td>
+<td></td>
+<td><p>The name of the ref in which the dashboard is defined, without the <code>refs/meta/dashboards/</code> prefix, which is common for all dashboard refs.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>path</code></p></td>
+<td></td>
+<td><p>The path of the file in which the dashboard is defined.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of the dashboard.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>foreach</code></p></td>
+<td><p>optional</p></td>
+<td><p>Subquery that applies to all sections in the dashboard.<br />
+Tokens such as <code>${project}</code> are not resolved.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>url</code></p></td>
+<td></td>
+<td><p>The URL under which the dashboard can be opened in the Gerrit Web UI.<br />
+The URL is relative to the canonical web URL.<br />
+Tokens in the queries such as <code>${project}</code> are resolved.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>is_default</code></p></td>
+<td><p>not set if <code>false</code></p></td>
+<td><p>Whether this is the default dashboard of the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>title</code></p></td>
+<td><p>optional</p></td>
+<td><p>The title of the dashboard.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>sections</code></p></td>
+<td></td>
+<td><p>The list of <a href="#dashboard-section-info">sections</a> in the dashboard.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DashboardInput
+
+The `DashboardInput` entity contains information to create/update a
+project dashboard.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td><p>optional</p></td>
+<td><p>URL encoded ID of a dashboard to which this dashboard should link to.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message that should be used to commit the change of the dashboard.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DashboardSectionInfo
+
+The `DashboardSectionInfo` entity contains information about a section
+in a dashboard.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>The title of the section.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>query</code></p></td>
+<td><p>The query of the section.<br />
+Tokens such as <code>${project}</code> are not resolved.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DeleteBranchesInput
+
+The `DeleteBranchesInput` entity contains information about branches
+that should be deleted.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>branches</code></p></td>
+<td><p>A list of branch names that identify the branches that should be deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### DeleteTagsInput
+
+The `DeleteTagsInput` entity contains information about tags that should
+be deleted.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>tags</code></p></td>
+<td><p>A list of tag names that identify the tags that should be deleted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### GCInput
+
+The `GCInput` entity contains information to run the Git garbage
+collection.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>show_progress</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether progress information should be shown.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>aggressive</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether an aggressive garbage collection should be done.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>async</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the garbage collection should run asynchronously.</p></td>
+</tr>
+</tbody>
+</table>
+
+### HeadInput
+
+The `HeadInput` entity contains information for setting `HEAD` for a
+project.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>ref</code></p></td>
+<td><p>The ref to which <code>HEAD</code> should be set, the <code>refs/heads</code> prefix can be omitted.</p></td>
+</tr>
+</tbody>
+</table>
+
+### InheritedBooleanInfo
+
+A boolean value that can also be inherited.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>value</code></p></td>
+<td></td>
+<td><p>The effective boolean value.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>configured_value</code></p></td>
+<td></td>
+<td><p>The configured value, can be <code>TRUE</code>, <code>FALSE</code> or <code>INHERITED</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>inherited_value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The boolean value inherited from the parent.<br />
+Not set if there is no parent.</p></td>
+</tr>
+</tbody>
+</table>
+
+### LabelTypeInfo
+
+The `LabelTypeInfo` entity contains metadata about the labels that a
+project has.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>values</code></p></td>
+<td></td>
+<td><p>Map of the available values to their description.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>default_value</code></p></td>
+<td></td>
+<td><p>The default value of this label.</p></td>
+</tr>
+</tbody>
+</table>
+
+### MaxObjectSizeLimitInfo
+
+The `MaxObjectSizeLimitInfo` entity contains information about the [max
+object size limit](config-gerrit.html#receive.maxObjectSizeLimit) of a
+project.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The effective value of the max object size limit as a formatted string.<br />
+Not set if there is no limit for the object size.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>configured_value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The max object size limit that is configured on the project as a formatted string.<br />
+Not set if there is no limit for the object size configured on project level.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>inherited_value</code></p></td>
+<td><p>optional</p></td>
+<td><p>The max object size limit that is inherited as a formatted string.<br />
+Not set if there is no global limit for the object size.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectAccessInput
+
+The `ProjectAccessInput` describes changes that should be applied to a
+project access config.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>remove</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of deductions to be applied to the project access as <a href="rest-api-access.html#project-access-info">ProjectAccessInfo</a> entities.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>add</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of additions to be applied to the project access as <a href="rest-api-access.html#project-access-info">ProjectAccessInfo</a> entities.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>A commit message for this change.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>parent</code></p></td>
+<td><p>optional</p></td>
+<td><p>A new parent for the project to inherit from. Changing the parent project requires administrative privileges.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectDescriptionInput
+
+The `ProjectDescriptionInput` entity contains information for setting a
+project description.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The project description.<br />
+The project description will be deleted if not set.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message that should be used to commit the change of the project description in the <code>project.config</code> file to the <code>refs/meta/config</code> branch.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectInfo
+
+The `ProjectInfo` entity contains information about a project.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>id</code></p></td>
+<td></td>
+<td><p>The URL encoded project name.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>name</code></p></td>
+<td><p>not set if returned in a map where the project name is used as map key</p></td>
+<td><p>The name of the project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>parent</code></p></td>
+<td><p>optional</p></td>
+<td><p>The name of the parent project.<br />
+<code>?-&lt;n&gt;</code> if the parent project is not visible (<code>&lt;n&gt;</code> is a number which is increased for each non-visible project).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of the project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>state</code></p></td>
+<td><p>optional</p></td>
+<td><p><code>ACTIVE</code>, <code>READ_ONLY</code> or <code>HIDDEN</code>.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>branches</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of branch names to HEAD revisions.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>labels</code></p></td>
+<td><p>optional</p></td>
+<td><p>Map of label names to <a href="#label-type-info">LabelTypeInfo</a> entries. This field is filled for <a href="#create-project">Create Project</a> and <a href="#get-project">Get Project</a> calls.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the project in external sites as a list of <a href="rest-api-changes.html#web-link-info">WebLinkInfo</a> entries.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectInput
+
+The `ProjectInput` entity contains information for the creation of a new
+project.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>name</code></p></td>
+<td><p>optional</p></td>
+<td><p>The name of the project (not encoded).<br />
+If set, must match the project name in the URL.<br />
+If name ends with <code>.git</code> the suffix will be automatically removed.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>parent</code></p></td>
+<td><p>optional</p></td>
+<td><p>The name of the parent project.<br />
+If not set, the <code>All-Projects</code> project will be the parent project.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>description</code></p></td>
+<td><p>optional</p></td>
+<td><p>The description of the project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>permissions_only</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether a permission-only project should be created.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>create_empty_commit</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether an empty initial commit should be created.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>submit_type</code></p></td>
+<td><p>optional</p></td>
+<td><p>The submit type that should be set for the project (<code>MERGE_IF_NECESSARY</code>, <code>REBASE_IF_NECESSARY</code>, <code>REBASE_ALWAYS</code>, <code>FAST_FORWARD_ONLY</code>, <code>MERGE_ALWAYS</code>, <code>CHERRY_PICK</code>).<br />
+If not set, <code>MERGE_IF_NECESSARY</code> is set as submit type unless <a href="config-gerrit.html#repository.name.defaultSubmitType">repository.&lt;name&gt;.defaultSubmitType</a> is set to a different value.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>branches</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of branches that should be initially created.<br />
+For the branch names the <code>refs/heads/</code> prefix can be omitted.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>owners</code></p></td>
+<td><p>optional</p></td>
+<td><p>A list of groups that should be assigned as project owner.<br />
+Each group in the list must be specified as <a href="rest-api-groups.html#group-id">group-id</a>.<br />
+If not set, the <a href="config-gerrit.html#repository.name.ownerGroup">groups that are configured as default owners</a> are set as project owners.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>use_contributor_agreements</code></p></td>
+<td><p><code>INHERIT</code> if not set</p></td>
+<td><p>Whether contributor agreements should be used for the project (<code>TRUE</code>, <code>FALSE</code>, <code>INHERIT</code>).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_signed_off_by</code></p></td>
+<td><p><code>INHERIT</code> if not set</p></td>
+<td><p>Whether the usage of <em>Signed-Off-By</em> footers is required for the project (<code>TRUE</code>, <code>FALSE</code>, <code>INHERIT</code>).</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>create_new_change_for_all_not_in_target</code></p></td>
+<td><p><code>INHERIT</code> if not set</p></td>
+<td><p>Whether a new change is created for every commit not in target branch for the project (<code>TRUE</code>, <code>FALSE</code>, <code>INHERIT</code>).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>use_content_merge</code></p></td>
+<td><p><code>INHERIT</code> if not set</p></td>
+<td><p>Whether content merge should be enabled for the project (<code>TRUE</code>, <code>FALSE</code>, <code>INHERIT</code>).<br />
+<code>FALSE</code>, if the <code>submit_type</code> is <code>FAST_FORWARD_ONLY</code>.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>require_change_id</code></p></td>
+<td><p><code>INHERIT</code> if not set</p></td>
+<td><p>Whether the usage of Change-Ids is required for the project (<code>TRUE</code>, <code>FALSE</code>, <code>INHERIT</code>).</p></td>
+</tr>
+<tr class="even">
+<td><p><code>max_object_size_limit</code></p></td>
+<td><p>optional</p></td>
+<td><p>Max allowed Git object size for this project. Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>plugin_config_values</code></p></td>
+<td><p>optional</p></td>
+<td><p>Plugin configuration values as map which maps the plugin name to a map of parameter names to values.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ProjectParentInput
+
+The `ProjectParentInput` entity contains information for setting a
+project parent.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>parent</code></p></td>
+<td></td>
+<td><p>The name of the parent project.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>commit_message</code></p></td>
+<td><p>optional</p></td>
+<td><p>Message that should be used to commit the change of the project parent in the <code>project.config</code> file to the <code>refs/meta/config</code> branch.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ReflogEntryInfo
+
+The `ReflogEntryInfo` entity describes an entry in a reflog.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>old_id</code></p></td>
+<td><p>The old commit ID.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>new_id</code></p></td>
+<td><p>The new commit ID.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>who</code></p></td>
+<td><p>The user performing the change as a <a href="rest-api-changes.html#git-person-info">GitPersonInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>comment</code></p></td>
+<td><p>Comment of the reflog entry.</p></td>
+</tr>
+</tbody>
+</table>
+
+### RepositoryStatisticsInfo
+
+The `RepositoryStatisticsInfo` entity contains information about
+statistics of a Git repository.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="85%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>number_of_loose_objects</code></p></td>
+<td><p>Number of loose objects.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>number_of_loose_refs</code></p></td>
+<td><p>Number of loose refs.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>number_of_pack_files</code></p></td>
+<td><p>Number of pack files.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>number_of_packed_objects</code></p></td>
+<td><p>Number of packed objects.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>number_of_packed_refs</code></p></td>
+<td><p>Number of packed refs.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>size_of_loose_objects</code></p></td>
+<td><p>Size of loose objects in bytes.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>size_of_packed_objects</code></p></td>
+<td><p>Size of packed objects in bytes.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TagInfo
+
+The `TagInfo` entity contains information about a tag.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>ref</code></p></td>
+<td></td>
+<td><p>The ref of the tag.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>revision</code></p></td>
+<td></td>
+<td><p>For lightweight tags, the revision of the commit to which the tag points. For annotated tags, the revision of the tag object.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>object</code></p></td>
+<td><p>Only set for annotated tags.</p></td>
+<td><p>The revision of the object to which the tag points.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>message</code></p></td>
+<td><p>Only set for annotated tags.</p></td>
+<td><p>The tag message. For signed tags, includes the signature.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>tagger</code></p></td>
+<td><p>Only set for annotated tags, if present in the tag.</p></td>
+<td><p>The tagger as a <a href="rest-api-changes.html#git-person-info">GitPersonInfo</a> entity.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>can_delete</code></p></td>
+<td><p><code>false</code> if not set</p></td>
+<td><p>Whether the calling user can delete this tag.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>web_links</code></p></td>
+<td><p>optional</p></td>
+<td><p>Links to the tag in external sites as a list of <a href="rest-api-changes.html#web-link-info">WebLinkInfo</a> entries.</p></td>
+</tr>
+</tbody>
+</table>
+
+### TagInput
+
+The `TagInput` entity contains information for creating a tag.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>ref</code></p></td>
+<td></td>
+<td><p>The name of the tag. The leading <code>refs/tags/</code> is optional.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>revision</code></p></td>
+<td><p>optional</p></td>
+<td><p>The revision to which the tag should point. If not specified, the project’s <code>HEAD</code> will be used.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>message</code></p></td>
+<td><p>optional</p></td>
+<td><p>The tag message. When set, the tag will be created as an annotated tag.</p></td>
+</tr>
+</tbody>
+</table>
+
+### ThemeInfo
+
+The `ThemeInfo` entity describes a theme.
+
+<table>
+<colgroup>
+<col width="14%" />
+<col width="28%" />
+<col width="57%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Field Name</th>
+<th></th>
+<th>Description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p><code>css</code></p></td>
+<td><p>optional</p></td>
+<td><p>The path to the <code>GerritSite.css</code> file.</p></td>
+</tr>
+<tr class="even">
+<td><p><code>header</code></p></td>
+<td><p>optional</p></td>
+<td><p>The path to the <code>GerritSiteHeader.html</code> file.</p></td>
+</tr>
+<tr class="odd">
+<td><p><code>footer</code></p></td>
+<td><p>optional</p></td>
+<td><p>The path to the <code>GerritSiteFooter.html</code> file.</p></td>
+</tr>
+</tbody>
+</table>
+
+    GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/rest-api.md b/jekyll-source/pages/gerrit/rest-api.md
new file mode 100644
index 0000000..3b58bba
--- /dev/null
+++ b/jekyll-source/pages/gerrit/rest-api.md
@@ -0,0 +1,217 @@
+---
+title: " Gerrit Code Review - REST API"
+sidebar: gerritdoc_sidebar
+permalink: rest-api.html
+---
+Gerrit Code Review comes with a REST like API available over HTTP. The
+API is suitable for automated tools to build upon, as well as supporting
+some ad-hoc scripting use cases.
+
+See also: [REST API Developers' Notes](dev-rest-api.html).
+
+## Endpoints
+
+  - [/access/](rest-api-access.html)  
+    Access Right related REST endpoints
+
+  - [/accounts/](rest-api-accounts.html)  
+    Account related REST endpoints
+
+  - [/changes/](rest-api-changes.html)  
+    Change related REST endpoints
+
+  - [/config/](rest-api-config.html)  
+    Config related REST endpoints
+
+  - [/groups/](rest-api-groups.html)  
+    Group related REST endpoints
+
+  - [/plugins/](rest-api-plugins.html)  
+    Plugin related REST endpoints
+
+  - [/projects/](rest-api-projects.html)  
+    Project related REST endpoints
+
+  - [/Documentation/](rest-api-documentation.html)  
+    Documentation related REST endpoints
+
+## Protocol Details
+
+### Authentication
+
+By default all REST endpoints assume anonymous access and filter results
+to correspond to what anonymous users can read (which may be nothing at
+all).
+
+Users (and programs) can authenticate with HTTP passwords by prefixing
+the endpoint URL with `/a/`. For example to authenticate to
+`/projects/`, request the URL `/a/projects/`. Gerrit will use HTTP basic
+authentication with the HTTP password from the user’s account settings
+page. This form of authentication bypasses the need for XSRF tokens.
+
+An authorization cookie may be presented in the request URL inside the
+`access_token` query parameter. XSRF tokens are not required when a
+valid `access_token` is used in the URL.
+
+### CORS
+
+Cross-site scripting may be supported if the administrator has
+configured
+[site.allowOriginRegex](config-gerrit.html#site.allowOriginRegex).
+
+Approved web applications running from an allowed origin can rely on
+CORS preflight to authorize requests requiring cookie based
+authentication, or mutations (POST, PUT, DELETE). Mutations require a
+valid XSRF token in the `X-Gerrit-Auth` request header.
+
+Alternatively applications can use `access_token` in the URL (see above)
+to authorize requests. Mutations sent as POST with a request content
+type of `text/plain` can skip CORS preflight. Gerrit accepts additional
+query parameters `$m` to override the correct method (PUT, POST, DELETE)
+and `$ct` to specify the actual content type, such as `application/json;
+charset=UTF-8`.
+Example:
+
+``` 
+    POST /changes/42/topic?$m=PUT&$ct=application/json%3B%20charset%3DUTF-8&access_token=secret HTTP/1.1
+        Content-Type: text/plain
+        Content-Length: 23
+
+        {"topic": "new-topic"}
+```
+
+### Preconditions
+
+Clients can request PUT to create a new resource and not overwrite an
+existing one by adding `If-None-Match: *` to the request HTTP headers.
+If the named resource already exists the server will respond with HTTP
+412 Precondition Failed.
+
+### Output Format
+
+JSON responses are encoded using UTF-8 and use content type
+`application/json`.
+
+By default most APIs return pretty-printed JSON, which uses extra
+whitespace to make the output more readable for humans.
+
+Compact JSON can be requested by setting the `pp=0` query parameter, or
+by setting the `Accept` HTTP request header to include
+`application/json`:
+
+``` 
+  GET /projects/ HTTP/1.0
+  Accept: application/json
+```
+
+Producing (and parsing) the non-pretty compact format is more efficient,
+so tools should request it whenever possible.
+
+To prevent against Cross Site Script Inclusion (XSSI) attacks, the JSON
+response body starts with a magic prefix line that must be stripped
+before feeding the rest of the response body to a JSON parser:
+
+``` 
+  )]}'
+  [ ... valid JSON ... ]
+```
+
+Responses will be gzip compressed by the server if the HTTP
+`Accept-Encoding` request header is set to `gzip`. This may save on
+network transfer time for larger responses.
+
+### Input Format
+
+Unknown JSON parameters will simply be ignored by Gerrit without causing
+an exception. This also applies to case-sensitive parameters, such as
+map keys.
+
+### Timestamp
+
+Timestamps are given in UTC and have the format "*yyyy-mm-dd
+hh:mm:ss.fffffffff*" where "*ffffffffff*" represents nanoseconds.
+
+### Encoding
+
+All IDs that appear in the URL of a REST call (e.g. project name, group
+name) must be URL encoded.
+
+### Response Codes
+
+The Gerrit REST endpoints use HTTP status codes as described in the
+[HTTP
+specification](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
+
+In most cases, the response body of an error response will be a
+plaintext, human-readable error message.
+
+Here are examples that show how HTTP status codes are used in the
+context of the Gerrit REST API.
+
+#### 400 Bad Request
+
+"`400 Bad Request`" is returned if the request is not understood by the
+server due to malformed syntax.
+
+E.g. "`400 Bad Request`" is returned if JSON input is expected but the
+*Content-Type* of the request is not *application/json* or the request
+body doesn’t contain valid JSON.
+
+"`400 Bad Request`" is also returned if required input fields are not
+set or if options are set which cannot be used together.
+
+#### 403 Forbidden
+
+"`403 Forbidden`" is returned if the operation is not allowed because
+the calling user does not have sufficient permissions.
+
+E.g. some REST endpoints require that the calling user has certain
+[global capabilities](access-control.html#global_capabilities) assigned.
+
+"`403 Forbidden`" is also returned if `self` is used as account ID and
+the REST call was done without authentication.
+
+#### 404 Not Found
+
+"`404 Not Found`" is returned if the resource that is specified by the
+URL is not found or is not visible to the calling user. A resource
+cannot be found if the URL contains a non-existing ID or view.
+
+#### 405 Method Not Allowed
+
+"`405 Method Not Allowed`" is returned if the resource exists but
+doesn’t support the operation.
+
+E.g. some of the `/groups/` endpoints are only supported for Gerrit
+internal groups; if they are invoked for an external group the response
+is "`405 Method Not Allowed`".
+
+#### 409 Conflict
+
+"`409 Conflict`" is returned if the request cannot be completed because
+the current state of the resource doesn’t allow the operation.
+
+E.g. if you try to submit a change that is abandoned, this fails with
+"`409 Conflict`" because the state of the change doesn’t allow the
+submit operation.
+
+"`409 Conflict`" is also returned if you try to create a resource but
+the name is already occupied by an existing resource.
+
+#### 412 Precondition Failed
+
+"`412 Precondition Failed`" is returned if a precondition from the
+request header fields is not fulfilled, as described in the
+[Preconditions](#preconditions) section.
+
+#### 422 Unprocessable Entity
+
+"`422 Unprocessable Entity`" is returned if the ID of a resource that is
+specified in the request body cannot be resolved.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/tutorial-index.html b/jekyll-source/pages/gerrit/tutorial-index.html
new file mode 100644
index 0000000..0303ff5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/tutorial-index.html
@@ -0,0 +1,120 @@
+---
+title: Gerrit Tutorials
+keywords: gerrit tutorials
+sidebar: gerritdoc_sidebar
+toc: false
+permalink: tutorial-index.html
+folder: gerrit
+---
+    <div class="row">
+        <div class="col-lg-12">
+          <nbsp;><br>
+        <!-- if we decide a page title is necessary, it goes here.
+          <h2 class="page-header">Gerrit Documentation</h2>
+        -->
+          </div>
+        <div class="col-md-6">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-review-ui.html">Reviewing Changes</a></h4>
+                  <p>This is a guide through Gerrit's review UI.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-inline-edit.html">Manipulating Changes in the Browser</a></h4>
+                  <p>Learn about the workflow for creating and amending changes.</p>
+                </div>
+            </div>
+           <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-upload.html">Uploading Changes</a></h4>
+                  <p>Quickly get up to speed on how to upload changes using Gerrit.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-signedoffby.html">Signed-off-by Lines</a></h4>
+                  <p>Get an overview of how Gerrit uses signed-off-by lines.</p>
+                </div>
+            </div>
+        </div>
+        <div class="col-md-6">
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-search.html">Searching Changes</a></h4>
+                  <p>Learn how to search various changes in Gerrit.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-notify.html">Subscribing to Email Notifications</a></h4>
+                  <p>Stay on top of changes through Gerrit's email notificaitons.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-changeid.html">Understanding Change IDs</a></h4>
+                  <p>This guide describes how Gerrit tracks related commits using
+                  Change Ids.</p>
+                </div>
+            </div>
+            <div class="media">
+                <div class="pull-left">
+                    <span class="fa-stack fa-2x">
+                          <i class="fa fa-circle fa-stack-2x text-primary"></i>
+                          <i class="fa fa-book fa-stack-1x fa-inverse"></i>
+                    </span>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><a href="user-change-cleanup.html">Change Cleanup</a></h4>
+                  <p>Gerrit administratos can implement change cleanups to
+                  address old or outdated changes.</p>
+                </div>
+            </div>
+        </div>
+    </div>
+
+
diff --git a/jekyll-source/pages/gerrit/user-change-cleanup.md b/jekyll-source/pages/gerrit/user-change-cleanup.md
new file mode 100644
index 0000000..e26fca5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-change-cleanup.md
@@ -0,0 +1,32 @@
+---
+title: " Gerrit Code Review - Change Cleanup"
+sidebar: gerritdoc_sidebar
+permalink: user-change-cleanup.html
+---
+Gerrit administrators may configure [change
+cleanups](config-gerrit.html#changeCleanup) that are executed
+periodically.
+
+## Auto-Abandon
+
+This cleanup job automatically abandons open changes that have been
+inactive for a defined time.
+
+Abandoning old inactive changes has the following advantages:
+
+  - it signals change authors that changes are considered outdated
+
+  - it keeps dashboards clean
+
+  - it reduces the load on the server (for open changes the mergeability
+    flag is recomputed whenever a change is merged)
+
+If a change is still wanted it can be restored by clicking on the
+`Restore` button.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-changeid.md b/jekyll-source/pages/gerrit/user-changeid.md
new file mode 100644
index 0000000..fb285e5
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-changeid.md
@@ -0,0 +1,185 @@
+---
+title: " Gerrit Code Review - Change-Ids"
+sidebar: gerritdoc_sidebar
+permalink: user-changeid.html
+---
+## Description
+
+Gerrit needs to identify commits that belong to the same review. For
+instance, when a change needs to be modified, a second commit can be
+uploaded to address the reported issues. Gerrit allows attaching those 2
+commits to the same change, and relies upon a Change-Id line at the
+bottom of a commit message to do so. With this Change-Id, Gerrit can
+automatically associate a new version of a change back to its original
+review, even across cherry-picks and rebases.
+
+To be picked up by Gerrit, a Change-Id line must be in the footer (last
+paragraph) of a commit message, and may be mixed together with
+[Signed-off-by](user-signedoffby.html), Acked-by, or other such lines.
+For example:
+
+``` 
+  $ git log -1
+  commit 29a6bb1a059aef021ac39d342499191278518d1d
+  Author: A. U. Thor <author@example.com>
+  Date: Thu Aug 20 12:46:50 2009 -0700
+
+      Improve foo widget by attaching a bar.
+
+      We want a bar, because it improves the foo by providing more
+      wizbangery to the dowhatimeanery.
+
+      Bug: #42
+      Change-Id: Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
+      Signed-off-by: A. U. Thor <author@example.com>
+      CC: R. E. Viewer <reviewer@example.com>
+```
+
+In the above example, `Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b` is the
+identity assigned to this change. It is independent of the commit id. To
+avoid confusion with commit ids, Change-Ids are typically prefixed with
+an uppercase `I`.
+
+Note that a Change-Id is not necessarily unique within a Gerrit
+instance. It can be reused among different repositories or branches (see
+below, [change-upload](user-changeid.html)).
+
+## Creation
+
+Change-Ids are created at commit time on the client side. A standard
+*commit-msg* hook is provided by Gerrit, and can be installed in the
+local Git repository to automatically generate and insert a Change-Id
+line during `git commit`, when none is defined yet.
+
+To install the hook, copy it from Gerrit’s daemon by executing one of
+the following commands while being in the root directory of the local
+Git
+    repository:
+
+    $ curl -Lo .git/hooks/commit-msg http://review.example.com/tools/hooks/commit-msg
+
+or:
+
+    $ scp -p -P 29418 john.doe@review.example.com:hooks/commit-msg .git/hooks/
+
+Then ensure that the execute bit is set on the hook script:
+
+    $ chmod u+x .git/hooks/commit-msg
+
+For more details, see [commit-msg](cmd-hook-commit-msg.html).
+
+## Change Upload
+
+During upload by pushing to `+refs/for/*+` or `+refs/heads/*+`, Gerrit
+will try to find an existing review the uploaded commit relates to. For
+an existing review to match, the following properties have to match:
+
+  - Change-Id
+
+  - Repository name
+
+  - Branch name
+
+The following applies in the different scenarios:
+
+  - Create a new change
+    
+    If no matching review is found, Gerrit will create a new change for
+    review.
+
+  - Update an existing change
+    
+    If a matching review is found, Gerrit will add the new commit as a
+    new patch set on the existing change.
+
+  - Close an existing change
+    
+    If a matching review is found, and the commit is being pushed
+    directly to refs/heads/\*, the existing change is updated with the
+    new commit, and the change is closed and marked as merged.
+
+If a Change-Id line is not present in the commit message, Gerrit will
+automatically generate its own Change-Id and display it on the web. This
+line can be manually copied and inserted into an updated commit message
+if additional revisions to a change are required.
+
+By default, Gerrit will prevent pushing for review if no Change-Id is
+provided, with the following
+    message:
+
+    ! [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit
+    message footer)
+
+However, repositories can be configured to allow commits without
+Change-Ids in the commit message by setting "Require Change-Id in commit
+message" to "FALSE".
+
+For more details on using git push to upload changes to Gerrit, see
+[creating changes by git push](user-upload.html#push_create).
+
+## Git Tasks
+
+### Creating a new commit
+
+When creating a new commit, ensure the *commit-msg* hook has been
+installed in your repository (see above), and don’t put a Change-Id line
+in the commit message. When you exit the editor, git will call the hook,
+which will automatically generate and insert a unique Change-Id line.
+You can inspect the modified message after the commit is complete by
+executing `git show`.
+
+### Amending a commit
+
+When amending a commit with `git commit --amend`, leave the Change-Id
+line unmodified in the commit message. This will allow Gerrit to
+automatically update the change with the amended commit.
+
+### Rebasing a commit
+
+When rebasing a commit, leave the Change-Id line unmodified in the
+commit message. This will allow Gerrit to automatically update the
+change with the rebased commit.
+
+### Squashing commits
+
+When squashing several commits together, try to preserve only one
+Change-Id line, and remove the others from the commit message. When
+faced with multiple lines, try to preserve a line which was already
+uploaded to Gerrit Code Review, and thus has a corresponding change that
+reviewers have already examined and left comments on. If you aren’t sure
+which lines Gerrit knows about, try copying and pasting the lines into
+the search box at the top-right of the web interface.
+
+If Gerrit already knows about more than one Change-Id, pick one to keep
+in the squashed commit message, and manually abandon the other changes
+through the web interface.
+
+### Cherry-picking a commit
+
+When cherry-picking a commit, leave the Change-Id line alone to have
+Gerrit treat the cherry-picked commit as a replacement for the existing
+change. This can be very useful if the project has a fast-forward-only
+merge policy, and the submitter is downloading and cherry-picking
+individual changes prior to submission, such as by
+[gerrit-cherry-pick](cmd-cherry-pick.html).
+
+Or, you may wish to delete the Change-Id line and force a new Change-Id
+to be generated automatically, thus creating an entirely new change
+record for review. This may be useful when backporting a change from the
+current development branch to a maintenance release branch.
+
+### Updating an old commit
+
+If a commit was created before the availability of Change-Id support, or
+was created in a Git repository that was missing the *commit-msg* hook,
+simply copy the "`Change-Id: I...`" line from the first line of the
+Description section of the change and amend it to the bottom of the
+commit message. Any subsequent uploads of the commit will be
+automatically associated with the prior change.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-dashboards.md b/jekyll-source/pages/gerrit/user-dashboards.md
new file mode 100644
index 0000000..2b5c6d2
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-dashboards.md
@@ -0,0 +1,159 @@
+---
+title: " Gerrit Code Review - Dashboards"
+sidebar: gerritdoc_sidebar
+permalink: user-dashboards.html
+---
+## Custom Dashboards
+
+A custom dashboard is shown in a layout similar to the per-user
+dashboard, but the sections are entirely configured from the URL.
+Because of this custom dashboards are stateless on the server side.
+Users or projects can simply trade URLs using an external system like a
+project wiki, or site administrators can put the links into the site’s
+`GerritHeader.html` or `GerritFooter.html`.
+
+Dashboards are available via URLs
+like:
+
+``` 
+  /#/dashboard/?title=Custom+View&To+Review=reviewer:john.doe@example.com&Pending+In+myproject=project:myproject+is:open
+```
+
+This opens a view showing the title "Custom View" with two sections, "To
+Review" and "Pending in myproject":
+
+``` 
+  Custom View
+
+  To Review
+
+    Results of `reviewer:john.doe@example.com`
+
+  Pending In myproject
+
+    Results of `project:myproject is:open`
+```
+
+The dashboard URLs are easy to configure. All keys and values in the URL
+are encoded as query parameters. Set the page and window title using an
+optional `title=Text` parameter.
+
+Each section’s title is defined by the parameter name, the section
+display order is defined by the order the parameters appear in the URL,
+and the query results are defined by the parameter value. To limit the
+number of rows in a query use `limit:N`, otherwise the entire result set
+will be shown (up to the user’s query limit).
+
+Parameters may be separated from each other using any of the following
+characters, as some users may find one more readable than another: `&`
+or `;` or `,`
+
+The special `foreach=...` parameter is designed to facilitate more
+easily writing similar queries in a dashboard. The value of the foreach
+parameter will be used in every query in the dashboard by appending it
+to their ends with a space (ANDing it with the queries).
+
+Example custom dashboard using foreach to constrain a dashboard to
+changes for the current
+user:
+
+``` 
+  /#/dashboard/?title=Mine&foreach=owner:self&My+Pending=is:open&My+Merged=is:merged
+```
+
+## Project Dashboards
+
+It is possible to share custom dashboards at a project level. To do this
+define the dashboards in a `+refs/meta/dashboards/*+` branch of the
+project. For each dashboard create a config file. The file path/name
+will be used as name (equivalent to a title in a custom dashboard) for
+the dashboard.
+
+Example of a dashboard config file:
+
+    [dashboard]
+      description = Most recent open and merged changes.
+    [section "Open Changes"]
+      query = status:open project:myProject limit:15
+    [section "Merged Changes"]
+      query = status:merged project:myProject limit:15
+
+Once defined, project dashboards are accessible using stable URLs by
+using the project name, refname and pathname of the dashboard via URLs ,
+e.g. create a dashboard config file named `Main` and push it to
+`refs/meta/dashboards/Site` branch of All-Projects, then access it like:
+
+``` 
+  /#/projects/All-Projects,dashboards/Site:Main
+```
+
+Project dashboards are inherited from ancestor projects unless
+overridden by dashboards with the same ref and name. This makes it easy
+to define common dashboards for every project by simply defining project
+dashboards on the All-Projects project.
+
+### Token `${project}`
+
+Project dashboard queries may contain the special `${project}` token
+which will be replaced with the name of the project to which the
+dashboard is being applied. This is useful for defining dashboards
+designed to be inherited. With this token, it is possible to cause a
+query in a project dashboard to be restricted to only changes for the
+project in which an inherited dashboard is being applied by simply
+adding `project:${project}` to the query in the dashboard.
+
+The `${project}` token can also be used in the [dashboard
+title](#dashboard.title) and in the [dashboard
+description](#dashboard.description).
+
+### Section `dashboard`
+
+  - dashboard.title  
+    The title of the dashboard.
+    
+    If not specified the path of the dashboard config file is used as
+    title.
+
+  - dashboard.description  
+    The description of the dashboard.
+
+  - dashboard.foreach  
+    The value of the foreach parameter gets appended to every query in
+    the dashboard.
+    
+    Example dashboard config section to constrain the entire dashboard
+    to the project to which it is applied:
+    
+        [dashboard]
+          foreach = project:${project}
+
+### Section `section`
+
+  - section.\<name\>.query  
+    The change query that should be used to populate the section with
+    the given name.
+
+## Project Default Dashboard
+
+It is possible to define a default dashboard for a project in the
+projects `project.config` file in the `refs/meta/config` branch:
+
+    [dashboard]
+      default = refs/meta/dashboards/main:default
+
+The dashboard set as the default dashboard will be inherited as the
+default dashboard by child projects if they do not define their own
+default dashboard. The `local-default` entry makes it possible to define
+a different default dashboard that is only used by this project but not
+inherited to the child projects.
+
+    [dashboard]
+      default = refs/meta/dashboards/main:default
+      local-default = refs/meta/dashboards/main:local
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-inline-edit.md b/jekyll-source/pages/gerrit/user-inline-edit.md
new file mode 100644
index 0000000..ac04967
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-inline-edit.md
@@ -0,0 +1,190 @@
+---
+title: " Inline Edit"
+sidebar: gerritdoc_sidebar
+permalink: user-inline-edit.html
+---
+This page explains the workflow for creating and amending changes in the
+browser.
+
+## Creating a New Change
+
+A new change can be created directly in the browser, meaning it is not
+necessary to clone the whole repository to make trivial changes.
+
+The new change is created as a public [work-in-progress
+change](user-upload.html#wip).
+
+There are two different ways to create a new change:
+
+By clicking on the *Create Change* button in the project
+screen:
+
+![images/inline-edit-create-change-project-screen.png](images/inline-edit-create-change-project-screen.png)
+
+The user can select the branch on which the new change should be
+created:
+
+![images/inline-edit-create-change-project-screen-dialog.png](images/inline-edit-create-change-project-screen-dialog.png)
+
+By clicking the *Follow-Up* button on the change screen, to create a new
+change based on the selected
+change.
+
+![images/inline-edit-create-follow-up-change.png](images/inline-edit-create-follow-up-change.png)
+
+## Editing Changes
+
+To switch to edit mode, press the *Edit* button at the top of the file
+list:
+
+![images/inline-edit-enter-edit-mode-from-file-list.png](images/inline-edit-enter-edit-mode-from-file-list.png)
+
+While in edit mode, it is possible to add new files to the change by
+clicking the *Add…* button at the top of the file list.
+
+File changes can be reverted or files can be removed from the change or
+deleted files can be restored, by clicking the icons to the left of the
+file name.
+
+To switch from edit mode back to review mode, click the *Done Editing*
+button.
+
+![images/inline-edit-file-list-in-edit-mode.png](images/inline-edit-file-list-in-edit-mode.png)
+
+While in edit mode, clicking on a file name in the file list opens a
+full screen editor for that file.
+
+To save edits, click the *Save* button or press `CTRL-S`. To return to
+the change screen, click the *Close* button.
+
+Note that when editing the commit message, trailing blank lines will be
+stripped.
+
+![images/inline-edit-full-screen-editor.png](images/inline-edit-full-screen-editor.png)
+
+If there are unsaved edits when the *Close* button is pressed, a dialog
+will pop up asking to confirm the
+edits.
+
+![images/inline-edit-confirm-unsaved-edits.png](images/inline-edit-confirm-unsaved-edits.png)
+
+To discard the unsaved edits and return to the change screen, click the
+*OK* button. To continue editing, click *Cancel*.
+
+While in review mode, it is possible to switch directly to edit mode and
+into an editor for a file under review by clicking on the edit icon in
+the patch set list on the side-by-side diff
+view.
+
+![images/inline-edit-enter-edit-mode-from-diff.png](images/inline-edit-enter-edit-mode-from-diff.png)
+
+## Reviewing Change Edits
+
+Change edits are reviewed in the same way as regular patch sets, using
+the side-by-side diff screen. Change edits are shown as *edit* in the
+patch list on the diff
+screen:
+
+![images/inline-edit-edit-in-diff-screen-patch-list.png](images/inline-edit-edit-in-diff-screen-patch-list.png)
+
+and on the change
+screen:
+
+![images/inline-edit-edit-in-patch-list.png](images/inline-edit-edit-in-patch-list.png)
+
+Note that patch sets may exist that were created after the change edit
+was created.
+
+For example this sequence:
+
+`1 2 3 4 5 6 7 8 9 edit 10`
+
+means that the change edit was created on top of patch set number 9 and
+a regular patch set was uploaded later.
+
+## Change Edit Actions
+
+Change edits can be deleted, published and rebased, and a patch set that
+represents a change edit can be downloaded like a regular patch set.
+
+There is a special ref for a change edit. When the change edit is
+deleted, this ref is deleted as well. To delete a change edit click on
+the "Delete Edit" button.
+
+When a change edit is based on the current patch set, it can be
+published. By publishing a change edit it is promoted to a regular patch
+set. The special ref that represents the change edit is deleted on
+publish. To publish a change edit click on the "Publish Edit" button.
+This button is only shown when the change edit is based on the current
+patch set. Otherwise the change edit must first be rebased onto the
+current patch set.
+
+Only change edits that are based on the current patch set can be
+published. If in the meantime a new patch set was uploaded, the change
+edit must be rebased on top of the current patch set before it can be
+published. Rebasing a change edit is done by clicking on the "Rebase
+Edit" button. If the rebase results in conflicts, these conflicts cannot
+be resolved in the browser. In this case the change edit must be
+downloaded (see below) and the conflicts must be resolved in the local
+environment. The commit that contains the conflict resolution can then
+be uploaded by setting `edit` as option on the target ref:
+
+``` 
+  $ git push host HEAD:refs/for/master%edit
+```
+
+Like regular patch sets, change edits can be downloaded by the download
+commands (e.g. provided by the `download-commands` plugin). To download
+a change edit, select the desired scheme from the "Download" dropdown
+and copy the command to your terminal. Note: only change edit owners and
+users that were granted the
+[accessDatabase](access-control.html#capability_accessDatabase) global
+capability are able to access change edit refs.
+
+To search change edits from the UI the [has:edit](user-search.html#has)
+predicate can be used.
+
+Alternatively change edits can be accessed through "My ⇒ Edits"
+dashboard.
+
+## Not Implemented Features
+
+  - Support default configuration options for inline editor that an
+    administrator has set in `refs/users/default:preferences.config`
+    file.
+
+  - Allow to rename files that are already contained in the change (from
+    the file table). The same rename file dialog can be used with
+    preselected and disabled original file name.
+
+  - Changed files in change edit should be marked as changed in file
+    table in edit mode. One option is to use dirty icon or "\*" char in
+    front of changed files, another option is to use different hyperlink
+    color for changed files (red?), to avoid adding yet another column
+    to the file table
+
+  - Add navigation icons in header area of edit screen. When dozen files
+    need to be changed in context of change edit, this is not the best
+    workflow to open one file in edit screen, change it, save it, close
+    edit screen and select next file from the file table to edit. "←" |
+    "→" icons in header of edit screen could be used to navigate to the
+    next file to change from the file table. This would behave like the
+    navigation icons in side by side with the following logic on click:
+    
+      - "save-when-file-was-changed" or
+    
+      - "close-when-no-changes"
+
+  - Implement conflict resolution during rebase of change edit using
+    inline edit feature by creating new edit on top of current patch set
+    with auto merge content
+
+  - Similarly, reuse inline edit feature for conflict resolution during
+    rebase of regular patch sets
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-named-destinations.md b/jekyll-source/pages/gerrit/user-named-destinations.md
new file mode 100644
index 0000000..e73c7be
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-named-destinations.md
@@ -0,0 +1,33 @@
+---
+title: " Gerrit Code Review - Named Destinations"
+sidebar: gerritdoc_sidebar
+permalink: user-named-destinations.html
+---
+## User Named Destinations
+
+It is possible to define named destination sets on a user level. To do
+this, define the named destination sets in files named after each
+destination set in the `destinations` directory of the user’s account
+ref in the `All-Users` project. The user’s account ref is based on the
+user’s account id which is an integer. The account refs are sharded by
+the last two digits (`+nn+`) in the refname, leading to refs of the
+format `+refs/users/nn/accountid+`. The user’s destination files are a 2
+column tab delimited file. Each row in a destination file represents a
+single destination in the named set. The left column represents the ref
+of the destination, and the right column represents the project of the
+destination.
+
+Example destination file named `destinations/myreviews`:
+
+    # Ref                   Project
+    #
+    refs/heads/master       gerrit
+    refs/heads/stable-2.11  gerrit
+    refs/heads/master       plugins/cookbook-plugin
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-named-queries.md b/jekyll-source/pages/gerrit/user-named-queries.md
new file mode 100644
index 0000000..3fbe314
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-named-queries.md
@@ -0,0 +1,29 @@
+---
+title: " Gerrit Code Review - Named Queries"
+sidebar: gerritdoc_sidebar
+permalink: user-named-queries.html
+---
+## User Named Queries
+
+It is possible to define named queries on a user level. To do this,
+define the named queries in the `queries` file under the [user’s
+ref](intro-user.html#user-refs) in the `All-Users` project. The user’s
+queries file is a 2 column tab delimited file. The left column
+represents the name of the query, and the right column represents the
+query expression represented by the name.
+
+Example queries file:
+
+    # Name          Query
+    #
+    selfapproved    owner:self label:code-review+2,user=self
+    blocked         label:code-review-2 OR label:verified-1
+    # Note below how to reference your own named queries in other named queries
+    ready           label:code-review+2 label:verified+1 -query:blocked status:open
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-notify.md b/jekyll-source/pages/gerrit/user-notify.md
new file mode 100644
index 0000000..5a2219c
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-notify.md
@@ -0,0 +1,262 @@
+---
+title: " Gerrit Code Review - Email Notifications"
+sidebar: gerritdoc_sidebar
+permalink: user-notify.html
+---
+## Description
+
+Gerrit can automatically notify users by email when new changes are
+uploaded for review, after comments have been posted on a change, or
+after the change has been submitted to a branch.
+
+## User Level Settings
+
+Individual users can configure email subscriptions by editing watched
+projects through Settings \> Watched Projects with the web UI.
+
+Specific projects may be watched, or the special project `All-Projects`
+can be watched to watch all projects that are visible to the user.
+
+[Change search expressions](user-search.html) can be used to filter
+change notifications to specific subsets, for example `branch:master` to
+only see changes proposed for the master branch. If a filter would match
+at the `All-Projects` level as well as a specific project, the more
+specific project’s notification settings are used.
+
+Notification mails for new changes and new patch sets are not sent to
+the change owner.
+
+Notification mails for comments added on changes are not sent to the
+user who added the comment unless the user has enabled the *Every
+comment* option in the user preferences.
+
+## Project Level Settings
+
+Project owners and site administrators can configure project level
+notifications, enabling Gerrit Code Review to automatically send emails
+to team mailing lists, or groups of users. Project settings are stored
+inside of the `refs/meta/config` branch of each Git repository, and are
+placed inside of the `project.config` file.
+
+To edit the project level notify settings, ensure the project owner has
+Push permission already granted for the `refs/meta/config` branch.
+Consult [access controls](access-control.html) for details on how access
+permissions work.
+
+Initialize a temporary Git repository to edit the configuration:
+
+``` 
+  mkdir cfg_dir
+  cd cfg_dir
+  git init
+```
+
+Download the existing configuration from Gerrit:
+
+``` 
+  git fetch ssh://localhost:29418/project refs/meta/config
+  git checkout FETCH_HEAD
+```
+
+Enable notifications to an email address by adding to `project.config`,
+this can be done using the `git config`
+command:
+
+``` 
+  git config -f project.config --add notify.team.email team-address@example.com
+  git config -f project.config --add notify.team.email paranoid-manager@example.com
+```
+
+Examining the project.config file with any text editor should show a new
+notify section describing the email addresses to deliver to:
+
+``` 
+  [notify "team"]
+        email = team-address@example.com
+        email = paranoid-manager@example.com
+```
+
+Each notify section within a single project.config file must have a
+unique name. The section name itself does not matter and may later
+appear in the web UI. Naming a section after the email address or group
+it delivers to is typical. Multiple sections can be specified if
+different filters are needed.
+
+Commit the configuration change, and push it back:
+
+``` 
+  git commit -a -m "Notify team-address@example.com of changes"
+  git push ssh://localhost:29418/project HEAD:refs/meta/config
+```
+
+  - notify.\<name\>.email  
+    List of email addresses to send matching notifications to. Each
+    email address should be placed on its own line.
+    
+    Internal groups within Gerrit Code Review can also be named using
+    `group NAME` syntax. If this format is used the group’s UUID must
+    also appear in the corresponding `groups` file. Gerrit will expand
+    the group membership and BCC all current users.
+
+  - notify.\<name\>.type  
+    Types of notifications to send. If not specified, all notifications
+    are sent.
+    
+      - `new_changes`: Only newly created changes.
+    
+      - `new_patchsets`: Only newly created patch sets.
+    
+      - `all_comments`: Only comments on existing changes.
+    
+      - `submitted_changes`: Only changes that have been submitted.
+    
+      - `abandoned_changes`: Only changes that have been abandoned.
+    
+      - `all`: All notifications.
+    
+    Like email, this variable may be a list of options.
+
+  - notify.\<name\>.header  
+    Email header used to list the destination. If not set BCC is used.
+    Only one value may be specified. To use different headers for each
+    address list them in different notify blocks.
+    
+      - `to`: The standard To field is used; addresses are visible to
+        all.
+    
+      - `cc`: The standard CC field is used; addresses are visible to
+        all.
+    
+      - `bcc`: SMTP RCPT TO is used to hide the address.
+
+  - notify.\<name\>.filter  
+    [Change search expression](user-search.html) to match changes that
+    should be sent to the emails named in this section. Within a
+    Git-style configuration file double quotes around complex operator
+    values may need to be escaped, e.g. `filter =
+    branch:\"^(maint|stable)-.*\"`.
+
+When sending email to a bare email address in a notify block, Gerrit
+Code Review ignores read access controls and assumes the administrator
+has set the filtering options correctly. Project owners can implement
+security filtering by adding the `visibleto:groupname` predicate to the
+filter expression, for example:
+
+``` 
+  [notify "Developers"]
+        email = team-address@example.com
+        filter = visibleto:Developers
+```
+
+When sending email to an internal group, the internal group’s read
+access is automatically checked by Gerrit and therefore does not need to
+use the `visibleto:` operator in the filter.
+
+## Email Footers
+
+Notification emails related to changes include metadata about the change
+to support writing mail filters. This metadata is included in the form
+of footers in the message content. For HTML emails, these footers are
+hidden, but they can be examined by viewing the HTML source of messages.
+
+In this way users may apply filters and rules to their incoming Gerrit
+notifications using the values of these footers. For example a Gmail
+filter to find emails regarding reviews that you are a reviewer of might
+take the following form.
+
+``` 
+  "Gerrit-Reviewer: Your Name <your.email@example.com>"
+```
+
+  - Gerrit-MessageType  
+    The message type footer states the type of the message and will take
+    one of the following values.
+    
+      - abandon
+    
+      - comment
+    
+      - deleteReviewer
+    
+      - deleteVote
+    
+      - merged
+    
+      - newchange
+    
+      - newpatchset
+    
+      - restore
+    
+      - revert
+    
+      - setassignee
+
+  - Gerrit-Change-Id  
+    The change ID footer states the ID of the change, such as
+    `I3443af49fcdc16ca941ee7cf2b5e33c1106f3b1d`.
+
+  - Gerrit-Change-Number  
+    The change number footer states the numeric ID of the change, for
+    example `92191`.
+
+  - Gerrit-PatchSet  
+    The patch set footer states the number of the patch set that the
+    email relates to. For example, a notification email for a vote being
+    set on the seventh patch set will take a value of `7`.
+
+  - Gerrit-Owner  
+    The owner footer states the name and email address of the change’s
+    owner. For example, `Owner Name <owner@example.com>`.
+
+  - Gerrit-Reviewer  
+    The reviewer footers list the names and email addresses of the
+    change’s reviewrs. One footer is included for each reviewer. For
+    example, if a change has two reviewers, the footers might include:
+
+<!-- end list -->
+
+``` 
+  Gerrit-Reviewer: Reviewer One <one@example.com>
+  Gerrit-Reviewer: Reviewer Two <two@example.com>
+```
+
+  - Gerrit-CC  
+    The CC footers list the names and email addresses of those who have
+    been CC’d on the change. One footer is included for each reviewer.
+    For example, if a change CCs two users, the footers might include:
+
+<!-- end list -->
+
+``` 
+  Gerrit-CC: User One <one@example.com>
+  Gerrit-CC: User Two <two@example.com>
+```
+
+  - Gerrit-Project  
+    The project footer states the project to which the change belongs.
+
+  - Gerrit-Branch  
+    The branch footer states the abbreviated name of the branch that the
+    change targets.
+
+  - Gerrit-Comment-Date  
+    In comment emails, the comment date footer states the date that the
+    comment was posted.
+
+  - Gerrit-HasComments  
+    In comment emails, the has-comments footer states whether inline
+    comments had been posted in that notification using "Yes" or "No",
+    for example `Gerrit-HasComments: Yes`.
+
+  - Gerrit-HasLabels  
+    In comment emails, the has-labels footer states whether label votes
+    had been posted in that notification using "Yes" or "No", for
+    example `Gerrit-HasLabels: No`.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-review-ui.md b/jekyll-source/pages/gerrit/user-review-ui.md
new file mode 100644
index 0000000..4a526b4
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-review-ui.md
@@ -0,0 +1,1212 @@
+---
+title: " Review UI"
+sidebar: gerritdoc_sidebar
+permalink: user-review-ui.html
+---
+Reviewing changes is an important task and the Gerrit Web UI provides
+many functionalities to make the review process comfortable and
+efficient. This is a guide through the review UI that explains the
+different functions and UI elements.
+
+## Change Screen
+
+The change screen shows the details of a single change and provides
+various actions on
+it.
+
+![images/user-review-ui-change-screen.png](images/user-review-ui-change-screen.png)
+
+### Commit Message Block
+
+The focus of the change screen is on the commit message since this is
+the most important information about a change. The numeric change ID and
+the change status are displayed right above the commit
+message.
+
+![images/user-review-ui-change-screen-commit-message.png](images/user-review-ui-change-screen-commit-message.png)
+
+The numeric change ID is a link to the change and clicking on it
+refreshes the change screen. By copying the link location you can get
+the permalink of the
+change.
+
+![images/user-review-ui-change-screen-permalink.png](images/user-review-ui-change-screen-permalink.png)
+
+The change status shows the state of the change:
+
+  - `Needs <label>`:
+    
+    The change is in review and an approval on the shown label is still
+    required to make the change submittable.
+
+  - `Not <label>`:
+    
+    The change is in review and a veto vote on the shown label is
+    preventing the submit.
+
+  - `Not Current`:
+    
+    The currently viewed patch set is outdated.
+    
+    Please note that some operations, like voting, are not available on
+    outdated patch sets, but only on the current patch set.
+
+  - `Ready to Submit`:
+    
+    The change has all necessary approvals and may be submitted.
+
+  - `Merged`:
+    
+    The change was successfully merged into the destination branch.
+
+  - `Abandoned`:
+    
+    The change was abandoned.
+
+### Commit Info Block
+
+The commit info block shows information about the commit of the
+currently viewed patch set.
+
+It displays the author and the committer as links to a list of this
+person’s changes that have the same status as the currently viewed
+change.
+
+The commit ID, the parent commit(s) and the
+[Change-Id](user-changeid.html) are displayed with a copy-to-clipboard
+icon that allows the ID to be copied into the clipboard.
+
+If a Git web browser, such as gitweb or Gitiles, is configured, there is
+also a link to the commit in the Git web
+browser.
+
+![images/user-review-ui-change-screen-commit-info.png](images/user-review-ui-change-screen-commit-info.png)
+
+If a merge commit is viewed this is highlighted by an
+icon.
+
+![images/user-review-ui-change-screen-commit-info-merge-commit.png](images/user-review-ui-change-screen-commit-info-merge-commit.png)
+
+### Change Info Block
+
+The change info block contains detailed information about the change and
+offers actions on the
+change.
+
+![images/user-review-ui-change-screen-change-info.png](images/user-review-ui-change-screen-change-info.png)
+
+  - Change Owner:
+    
+    The owner of the change is displayed as a link to a list of the
+    owner’s changes that have the same status as the currently viewed
+    change.
+    
+    ![images/user-review-ui-change-screen-change-info-owner.png](images/user-review-ui-change-screen-change-info-owner.png)
+
+  - Reviewers:
+    
+    The reviewers of the change are displayed as chip tokens.
+    
+    For each reviewer there is a tooltip that shows on which labels the
+    reviewer is allowed to vote.
+    
+    New reviewers can be added by clicking on the `Add...` button.
+    Typing into the pop-up text field activates auto completion of user
+    and group names.
+    
+    Reviewers can be removed from the change by clicking on the `x` icon
+    in the reviewer’s chip token. Removing a reviewer also removes the
+    current votes of the reviewer. The removal of votes is recorded as a
+    message on the change.
+    
+    Removing reviewers is protected by permissions:
+    
+      - Users can always remove themselves.
+    
+      - The change owner may remove any zero or positive score.
+    
+      - Users with the [Remove
+        Reviewer](access-control.html#category_remove_reviewer) access
+        right, the branch owner, the project owner and Gerrit
+        administrators may remove
+    anyone.
+    
+    ![images/user-review-ui-change-screen-change-info-reviewers.png](images/user-review-ui-change-screen-change-info-reviewers.png)
+
+  - Project / Branch / Topic:
+    
+    The name of the project for which the change was done is displayed
+    as a link to the [default
+    dashboard](user-dashboards.html#project-default-dashboard) of the
+    project. If no default dashboard is defined, the link opens a list
+    of open changes on the project.
+    
+    Clicking on the settings icon on the right side navigates to the
+    project administration screen.
+    
+    The name of the destination branch is displayed as a link to a list
+    with all changes on this branch that have the same status as the
+    currently viewed change.
+    
+    If a topic was assigned to the change it is displayed below the
+    branch. By clicking on the edit icon the topic can be set. This
+    requires the [Edit Topic
+    Name](access-control.html#category_edit_topic_name) access right. To
+    be able to set a topic on a closed change, the `Edit Topic Name`
+    must be assigned with the `force`
+    flag.
+    
+    ![images/user-review-ui-change-screen-change-info-project-branch-topic.png](images/user-review-ui-change-screen-change-info-project-branch-topic.png)
+
+  - Submit Strategy:
+    
+    The [submit strategy](project-setup.html#submit_type) that will be
+    used to submit the change. The submit strategy is only displayed for
+    open
+    changes.
+    
+    ![images/user-review-ui-change-screen-change-info-submit-strategy.png](images/user-review-ui-change-screen-change-info-submit-strategy.png)
+    
+    If a change cannot be merged due to path conflicts this is
+    highlighted by a bold red `Cannot Merge`
+    label.
+    
+    ![images/user-review-ui-change-screen-change-info-cannot-merge.png](images/user-review-ui-change-screen-change-info-cannot-merge.png)
+
+  - Time of Last
+    Update:
+    
+    ![images/user-review-ui-change-screen-change-info-last-update.png](images/user-review-ui-change-screen-change-info-last-update.png)
+
+  - Actions:
+    
+    Depending on the change state and the permissions of the user,
+    different actions are available on the change:
+    
+      - `Submit`:
+        
+        Submits the change and adds it to the merge queue. If possible
+        the change is merged into the destination branch.
+        
+        The `Submit` button is available if the change is submittable
+        and the [Submit](access-control.html#category_submit) access
+        right is assigned.
+    
+      - `Revert`:
+        
+        Reverts the change via creating a new one.
+        
+        The `Revert` button is available if the change has been
+        submitted.
+        
+        When the `Revert` button is pressed, a panel will appear to
+        allow the user to enter a commit message for the reverting
+        change.
+        
+        Once a revert change is created, the original author and any
+        reviewers of the original change are added as reviewers and a
+        message is posted to the original change linking to the revert.
+    
+      - `Abandon`:
+        
+        Abandons the change.
+        
+        The `Abandon` button is only available if the change is open and
+        the [Abandon](access-control.html#category_abandon) access right
+        is assigned.
+        
+        When a change is abandoned, a panel appears that allows one to
+        type a comment message to explain why the change is being
+        abandoned.
+    
+      - `Restore`:
+        
+        Restores the change.
+        
+        The `Restore` button is only available if the change is
+        abandoned and the
+        [Abandon](access-control.html#category_abandon) and the
+        [Push](access-control.html#category_push) access right is
+        assigned.
+        
+        When a change is restored, a panel appears that allows one to
+        type a comment message to explain why the change is being
+        restored.
+    
+      - `Rebase`:
+        
+        Rebases the change. The rebase is always done with content merge
+        enabled. If the rebase is successful a new patch set with the
+        rebased commit is created. If the rebase fails, there are
+        conflicts that have to be resolved manually.
+        
+        If the change does not depend on another open change, it is
+        rebased onto the tip of the destination branch.
+        
+        If the change depends on another open change, it is rebased onto
+        the current patch set of that other change.
+        
+        It is possible to change parent revision of a change. The new
+        parent revision can be another change towards the same target
+        branch, or the tip of the target branch.
+        
+        The `Rebase` button is only available if the
+        [Rebase](access-control.html#category_rebase) access right is
+        assigned. Rebasing merge commits is not supported.
+    
+      - `Cherry-Pick`:
+        
+        Allows to cherry-pick the change to another branch. The
+        destination branch can be selected from a dialog. Cherry-picking
+        a change creates a new open change on the selected destination
+        branch.
+        
+        It is also possible to cherry-pick a change to the same branch.
+        This is effectively the same as rebasing it to the current tip
+        of the destination branch. This can be used to remove
+        dependencies on other open changes.
+        
+        Users can only cherry-pick changes to branches for which they
+        are allowed to upload changes for review.
+    
+      - `Delete Change` / `Delete Revision`:
+        
+        Deletes the change.
+        
+        For open or abandoned changes, the `Delete Change` button will
+        be available and if the user is the change owner and is granted
+        the [Delete Own
+        Changes](access-control.html#category_delete_own_changes)
+        permission or if they are an administrator.
+    
+      - Further actions may be available if plugins are
+    installed.
+    
+    ![images/user-review-ui-change-screen-change-info-actions.png](images/user-review-ui-change-screen-change-info-actions.png)
+
+  - Labels & Votes:
+    
+    Approving votes are colored green; veto votes are colored
+    red.
+    
+    ![images/user-review-ui-change-screen-change-info-labels.png](images/user-review-ui-change-screen-change-info-labels.png)
+
+### File List
+
+The file list shows the files that are modified in the currently viewed
+patch
+set.
+
+![images/user-review-ui-change-screen-file-list.png](images/user-review-ui-change-screen-file-list.png)
+
+In addition to the modified files the file list contains magic files
+that are generated by Gerrit and which don’t exist in the repository.
+The magic files contain additional commit data that should be reviewable
+and allow users to comment on this data. The magic files are always
+listed first. The following magic files exist:
+
+  - `Commit Message`:
+    
+    The commit message and headers with the parent commit(s), the author
+    information and the committer information.
+
+  - `Merge List` (for merge commits only):
+    
+    The list of commits that are being integrated into the destination
+    branch by submitting the merge commit.
+
+The checkboxes in front of the file names allow files to be marked as
+reviewed.
+
+![images/user-review-ui-change-screen-file-list-mark-as-reviewed.png](images/user-review-ui-change-screen-file-list-mark-as-reviewed.png)
+
+The type of a file modification is indicated by the character in front
+of the file name:
+
+  - *no character* (Modified):
+    
+    The file existed before this change and is modified.
+
+  - `A` (Added):
+    
+    The file is newly added.
+
+  - `D` (Deleted):
+    
+    The file is deleted.
+
+  - `R` (Renamed):
+    
+    The file is renamed.
+
+  - `C` (Copied):
+    
+    The file is new and is copied from an existing
+file.
+
+![images/user-review-ui-change-screen-file-list-modification-type.png](images/user-review-ui-change-screen-file-list-modification-type.png)
+
+If a file is renamed or copied, the name of the original file is
+displayed in gray below the file
+name.
+
+![images/user-review-ui-change-screen-file-list-rename.png](images/user-review-ui-change-screen-file-list-rename.png)
+
+Repeating path segments are grayed
+out.
+
+![images/user-review-ui-change-screen-file-list-repeating-paths.png](images/user-review-ui-change-screen-file-list-repeating-paths.png)
+
+Inline comments on a file are shown in the `Comments` column.
+
+Draft comments, i.e. comments that have been written by the current user
+but not yet published, are highlighted in red.
+
+New comments from other users, that were published after the current
+user last reviewed this change, are highlighted in
+bold.
+
+![images/user-review-ui-change-screen-file-list-comments.png](images/user-review-ui-change-screen-file-list-comments.png)
+
+The size of the modifications in the files can be seen in the `Size`
+column. The footer row shows the total size of the change.
+
+The size information is useful to easily spot the files that contain the
+most modifications; these files are likely to be the most relevant files
+for this change. The total change size gives an estimate of how long a
+review of this change may take.
+
+When the "Show Change Sizes As Colored Bars" user preference is enabled,
+the `Size` column shows the sum of inserted and deleted lines as one
+number. In addition, the change size is shown as a bar. The size of the
+bar indicates the amount of changed lines, and its coloring shows the
+proportion of insertions (green) to deletions (red).
+
+When the "Show Change Sizes As Colored Bars" user preference is
+disabled, the colored bar is not shown. For added and renamed files, the
+`Size` column shows the number of inserted and deleted lines. For new
+files, the column only shows the total number of lines in the new file.
+No size is shown for binary files and deleted
+files.
+
+![images/user-review-ui-change-screen-file-list-size.png](images/user-review-ui-change-screen-file-list-size.png)
+
+In the header of the file list, the `Diff Against` selection can be
+changed. This selection allows one to choose if the currently viewed
+patch set should be compared against its base or against another patch
+set of this change. The file list is updated accordingly.
+
+The file list header also provides an `Open All` button that opens the
+diff views for all files in the file
+list.
+
+![images/user-review-ui-change-screen-file-list-header.png](images/user-review-ui-change-screen-file-list-header.png)
+
+### Patch Sets
+
+The change screen only presents one patch set at a time. Which patch set
+is currently viewed can be seen from the `Patch Sets` drop-down panel in
+the change header. It shows the number of the currently viewed patch set
+and the total number of patch sets, in the form: "current patch
+set/number of patch sets".
+
+If a non-current patch set is viewed this is indicated by the [Not
+Current](#not-current) change state. Please note that some operations
+are only available on the current patch
+set.
+
+![images/user-review-ui-change-screen-patch-sets.png](images/user-review-ui-change-screen-patch-sets.png)
+
+Another indication is a highlighted drop-down
+label.
+
+![images/user-review-ui-change-screen-not-current.png](images/user-review-ui-change-screen-not-current.png)
+
+The patch set drop-down list shows the list of patch sets and allows to
+switch between them. The patch sets are sorted in descending order so
+that the current patch set is always on top.
+
+Draft patch sets are marked with
+`DRAFT`.
+
+![images/user-review-ui-change-screen-patch-set-list.png](images/user-review-ui-change-screen-patch-set-list.png)
+
+### Download
+
+The `Download` drop-down panel in the change header offers commands and
+links for downloading the currently viewed patch
+set.
+
+![images/user-review-ui-change-screen-download-commands.png](images/user-review-ui-change-screen-download-commands.png)
+
+The available download commands depend on the installed Gerrit plugins.
+The most popular plugin for download commands, the
+[download-commands](https://gerrit-review.googlesource.com/#/admin/projects/plugins/download-commands)
+plugin, provides commands to checkout, pull and cherry-pick a patch set.
+
+Each command has a copy-to-clipboard icon that allows the command to be
+copied into the clipboard. This makes it easy to paste and execute the
+command on a Git command line.
+
+If several download schemes are configured on the server (e.g. SSH and
+HTTP) there is a drop-down list to switch between the download schemes.
+Gerrit automatically remembers the download scheme that was last chosen
+and selects this download scheme the next time the download commands
+drop-down panel is opened.
+
+The `Patch-File` links provide the Git patch file for the currently
+viewed patch set for download. The patch file can be base64 encoded or
+zipped.
+
+The `Archive` links allow one to download an archive with the contents
+of the currently viewed patch set. The archive is offered in several
+formats (e.g. tar and tbz2); which formats are available depends on the
+configuration of the
+server.
+
+![images/user-review-ui-change-screen-download-commands-list.png](images/user-review-ui-change-screen-download-commands-list.png)
+
+### Included In
+
+For merged changes the `Included In` drop-down panel is available in the
+change
+header.
+
+![images/user-review-ui-change-screen-included-in.png](images/user-review-ui-change-screen-included-in.png)
+
+The `Included In` drop-down panel shows the branches and tags in which
+the change is included. E.g. if a change fixes a bug, this allows to
+quickly see in which released versions the bug-fix is contained
+(assuming that every release is
+tagged).
+
+![images/user-review-ui-change-screen-included-in-list.png](images/user-review-ui-change-screen-included-in-list.png)
+
+### Star Change
+
+The star icon in the change header allows to mark the change as a
+favorite. Clicking on the star icon again, unstars the
+change.
+
+![images/user-review-ui-change-screen-star.png](images/user-review-ui-change-screen-star.png)
+
+Starring a change turns on email notifications for this change.
+
+Starred changed are listed under `My` \> `Starred Changes`. and can be
+queried by the [is:starred](user-search.html#is) search operator.
+
+### Related Changes
+
+If there are changes that are related to the currently viewed change
+they are displayed in the third column of the change screen.
+
+There are several lists of related changes and a tab control is used to
+display each list of related changes in its own tab.
+
+The following tabs may be displayed:
+
+  - `Related Changes`:
+    
+    This tab page shows changes on which the current change depends
+    (ancestors) and open changes that depend on the current change
+    (descendants). For merge commits it also shows the closed changes
+    that will be merged into the destination branch by submitting the
+    merge commit.
+    
+    The changes are sorted in the same way as the output of *git log*.
+    This means the relationship between the changes can be inferred from
+    the position of the changes in the list. Changes listed above the
+    current change are descendants; changes below the current change are
+    ancestors.
+    
+    For merged changes this tab is only shown if there are open
+    descendants.
+    
+    ![images/user-review-ui-change-screen-related-changes.png](images/user-review-ui-change-screen-related-changes.png)
+    
+    Related changes may be decorated with an icon to signify
+    dependencies on outdated patch sets, or commits that are not
+    associated to changes under review:
+    
+      - Orange Dot:
+        
+        The selected patch set of the change is outdated; it is not the
+        current patch set of the change.
+        
+        If an ancestor change is marked with an orange dot it means that
+        the currently viewed patch set depends on a outdated patch set
+        of the ancestor change. This is because a new patch set for the
+        ancestor change was uploaded in the meantime and as result the
+        currently viewed patch set now needs to be rebased.
+        
+        If a descendant change is marked with an orange dot it means
+        that an old patch set of the descendant change depends on the
+        currently viewed patch set. It may be that the descendant was
+        rebased in the meantime and with the new patch set this
+        dependency was removed.
+    
+      - Green Tilde:
+        
+        The selected patch set of the change is an indirect descendant
+        of the currently viewed patch set; it has a dependency to
+        another patch set of this change. E.g. this could mean that a
+        new patch set was uploaded for this change and the descendant
+        change now needs to be rebased. Please note that following the
+        link to an indirect descendant change may result in a completely
+        different related changes listing.
+    
+      - Black Dot:
+        
+        Indicates a closed ancestor, e.g. the commit was directly pushed
+        into the repository bypassing code review, or the ancestor
+        change was reviewed and submitted on another branch. The latter
+        may indicate that the user has accidentally pushed the commit to
+        the wrong branch, e.g. the commit was done on `branch-a`, but
+        was then pushed to `refs/for/branch-b`. A black dot is also
+        present if the change was abandoned.
+    
+      - Strikethrough Subject:
+        
+        When the commit is abandoned, its subject line will be striked
+        through.
+    
+    ![images/user-review-ui-change-screen-related-changes-indicators.png](images/user-review-ui-change-screen-related-changes-indicators.png)
+
+  - `Conflicts With`:
+    
+    This tab page shows changes that conflict with the current change.
+    Non-mergeable changes are filtered out; only conflicting changes
+    that are mergeable are shown.
+    
+    If this change is merged, its conflicting changes will have merge
+    conflicts and must be rebased. The rebase of the other changes with
+    the conflict resolution must then be done
+    manually.
+    
+    ![images/user-review-ui-change-screen-conflicts-with.png](images/user-review-ui-change-screen-conflicts-with.png)
+
+  - `Same Topic`:
+    
+    This tab page shows changes that have the same topic as the current
+    change. Only open changes are included in the
+    list.
+    
+    ![images/user-review-ui-change-screen-same-topic.png](images/user-review-ui-change-screen-same-topic.png)
+
+  - `Submitted Together`:
+    
+    This tab page shows changes that will be submitted together with the
+    currently viewed change, when clicking the submit button. It
+    includes ancestors of the current patch set.
+    
+    This may include changes and its ancestors with the same topic if
+    `change.submitWholeTopic` is enabled. Only open changes with the
+    same topic are included in the list.
+
+  - `Cherry-Picks`:
+    
+    This tab page shows changes with the same
+    [Change-Id](user-changeid.html) for the current project.
+    
+    Abandoned changes are filtered out.
+    
+    For each change in this list the destination branch is shown as a
+    prefix in front of the change
+    subject.
+    
+    ![images/user-review-ui-change-screen-cherry-picks.png](images/user-review-ui-change-screen-cherry-picks.png)
+
+If there are no related changes for a tab, the tab is not displayed.
+
+### Reply
+
+The `Reply...` button in the change header allows to reply to the
+currently viewed patch set; one can add a summary comment, publish
+inline draft comments, and vote on the
+labels.
+
+![images/user-review-ui-change-screen-reply.png](images/user-review-ui-change-screen-reply.png)
+
+Clicking on the `Reply...` button opens a popup panel.
+
+A text box allows to type a summary comment for the currently viewed
+patch set. Some basic markdown-like syntax is supported which renders
+indented lines preformatted, lines starting with "- " or "\* " as list
+items, and lines starting with "\> " as block quotes (also see replying
+to [messages](#reply-to-message) and [inline
+comments](#reply-inline-comment)).
+
+Note that you can set the text and tooltip of the button in
+[gerrit.config](config-gerrit.html#change.replyLabel).
+
+If the current patch set is viewed, radio buttons are displayed for each
+label on which the user is allowed to vote. Voting on non-current patch
+sets is not possible.
+
+The inline draft comments that will be published are displayed in a
+separate section so that they can be reviewed before publishing. There
+are links to navigate to the inline comments which can be used if a
+comment needs to be edited.
+
+The `Post` button publishes the comments and the
+votes.
+
+![images/user-review-ui-change-screen-replying.png](images/user-review-ui-change-screen-replying.png)
+
+If a user can approve a label that is still required, a quick approve
+button appears in the change header that allows to add this missing
+approval by a single click. The quick approve button only appears if
+there is a single label that is still required and can be approved by
+the user.
+
+E.g. if a change requires approvals on the *Code-Review* and the
+*Verified* labels, and there is already a *+1 Verified* vote, then if
+the user is allowed to vote the max score on *Code-Review*, a
+`Code-Review+2` quick approve button appears that approves the
+*Code-Review* label if clicked.
+
+Using the quick approve button also publishes all inline draft comments;
+a summary comment is only added if the reply popup panel is open when
+the quick approve button is
+clicked.
+
+![images/user-review-ui-change-screen-quick-approve.png](images/user-review-ui-change-screen-quick-approve.png)
+
+### History
+
+The history of the change can be seen in the lower part of the screen.
+
+The history contains messages for all kinds of change updates, e.g. a
+message is added when a new patch set is uploaded or when a review was
+done.
+
+Messages with new comments from other users, that were published after
+the current user last reviewed this change, are automatically
+expanded.
+
+![images/user-review-ui-change-screen-history.png](images/user-review-ui-change-screen-history.png)
+
+It is possible to directly reply to a change message by clicking on the
+reply icon in the right upper corner of a change message. This opens the
+reply popup panel and prefills the text box with the quoted comment.
+Then the reply can be written below the quoted comment or inserted
+inline. Lines starting with "\> " will be rendered as a block quote.
+Please note that for a correct rendering it is important to leave a
+blank line between a quoted block and the reply to
+it.
+
+![images/user-review-ui-change-screen-reply-to-comment.png](images/user-review-ui-change-screen-reply-to-comment.png)
+
+Inline comments are directly displayed in the change history and there
+are links to navigate to the inline
+comments.
+
+![images/user-review-ui-change-screen-inline-comments.png](images/user-review-ui-change-screen-inline-comments.png)
+
+The `Expand All` button expands all messages; the `Collapse All` button
+collapses all messages.
+
+### Update Notification
+
+The change screen automatically polls for updates to the currently
+viewed change. If there is an update the user is informed by a popup
+panel in the bottom right corner.
+
+The polling frequency depends on the server configuration; by default it
+is 30 seconds. Polling may also be completely disabled by the
+administrator.
+
+![images/user-review-ui-change-screen-change-update.png](images/user-review-ui-change-screen-change-update.png)
+
+### Plugin Extensions
+
+Gerrit plugins may extend the change screen; they can add buttons for
+additional actions to the change info block and display arbitrary UI
+controls below the change info
+block.
+
+![images/user-review-ui-change-screen-plugin-extensions.png](images/user-review-ui-change-screen-plugin-extensions.png)
+
+## Side-by-Side Diff Screen
+
+The side-by-side diff screen shows a single patch; the old file version
+is displayed on the left side of the screen; the new file version is
+displayed on the right side of the screen.
+
+This screen allows to review a patch and to comment on
+it.
+
+![images/user-review-ui-side-by-side-diff-screen.png](images/user-review-ui-side-by-side-diff-screen.png)
+
+In the screen header the project name and the name of the viewed patch
+file are shown.
+
+If a Git web browser is configured on the server, the project name and
+the file path are displayed as links to the project and the folder in
+the Git web
+browser.
+
+![images/user-review-ui-side-by-side-diff-screen-project-and-file.png](images/user-review-ui-side-by-side-diff-screen-project-and-file.png)
+
+The checkbox in front of the project name and the file name allows the
+patch to be marked as reviewed. The [Mark Reviewed](#mark-reviewed) diff
+preference allows to control whether the files should be automatically
+marked as reviewed when they are
+viewed.
+
+![images/user-review-ui-side-by-side-diff-screen-reviewed.png](images/user-review-ui-side-by-side-diff-screen-reviewed.png)
+
+The scrollbar shows patch diffs and inline comments as annotations. This
+provides a good overview of the lines in the patch that are relevant for
+reviewing. By clicking on an annotation one can quickly navigate to the
+corresponding line in the
+patch.
+
+![images/user-review-ui-side-by-side-diff-screen-scrollbar.png](images/user-review-ui-side-by-side-diff-screen-scrollbar.png)
+
+A gap between lines in the file content that is caused by aligning the
+left and right side or by displaying inline comments is shown as a
+vertical red bar in the line number column. This prevents a gap from
+being mistaken for blank lines in the
+file
+
+![images/user-review-ui-side-by-side-diff-screen-red-bar.png](images/user-review-ui-side-by-side-diff-screen-red-bar.png)
+
+In the header, on each side, the list of patch sets is shown. Clicking
+on a patch set changes the selection for the patch set comparison and
+the screen is refreshed to show the diff between the selected patch
+sets. The currently selected patch set is highlighted by a light blue
+background.
+
+On the left side `Base` can be selected to compare a patch set against
+its base. For merge commits `Auto Merge` is available instead which
+allows to compare the patch against the result of the auto merge. The
+auto merge version may contain Git conflict markers and is useful for
+reviewing how conflicts are resolved by a patch.
+
+Reviewers that are reviewing a patch for the first time look at its diff
+against its base; reviewers that have reviewed an old patch version
+before, may see what has changed since that version by comparing the old
+patch against the current
+patch.
+
+![images/user-review-ui-side-by-side-diff-screen-patch-sets.png](images/user-review-ui-side-by-side-diff-screen-patch-sets.png)
+
+The download icon next to the patch set list allows to download the
+patch. Unless the mime type of the file is configured as safe, the
+download file is a zip archive that contains the patch file.
+
+If the compared patches are identical, this is highlighted by a red `No
+Differences` label in the screen
+header.
+
+![images/user-review-ui-side-by-side-diff-screen-no-differences.png](images/user-review-ui-side-by-side-diff-screen-no-differences.png)
+
+If a file was renamed, the old and new file paths are shown in the
+header together with a similarity index that shows how much of the file
+content is
+unmodified.
+
+![images/user-review-ui-side-by-side-diff-screen-rename.png](images/user-review-ui-side-by-side-diff-screen-rename.png)
+
+For navigating between the patches in a patch set there are navigation
+buttons on the right side of the screen header. The left arrow button
+navigates to the previous patch; the right arrow button navigates to the
+next patch. The arrow up button leads back to the change screen. In all
+cases the selection for the patch set comparison is
+kept.
+
+![images/user-review-ui-side-by-side-diff-screen-navigation.png](images/user-review-ui-side-by-side-diff-screen-navigation.png)
+
+### Inline Comments
+
+Inline comments are displayed directly in the patch file under the code
+that is commented. Inline comments can be placed on lines or on code
+blocks.
+
+If an inline comment relates to a code block, this code block is
+highlighted by a yellow background.
+
+Code blocks with comments may overlap. This means it is possible to
+attach several comments to the same code.
+
+The lines of the patch file are linkable. To link to a certain line in
+the patch file, *@\<line-number\>* must be appended to the patch link,
+e.g.
+`http://host:8080/#/c/56857/2/Documentation/user-review-ui.txt@665`. To
+link to a line in the old file version, *@a\<line-number\>* must be
+appended to the patch link. These links can be used to directly link to
+certain inline comments.
+
+If the diff preference [Expand All Comments](#expand-all-comments) is
+set to `Expand`, all inline comments will be automatically
+expanded.
+
+![images/user-review-ui-side-by-side-diff-screen-inline-comments.png](images/user-review-ui-side-by-side-diff-screen-inline-comments.png)
+
+In the header of the comment box, the name of the comment author and the
+timestamp of the comment are shown. If avatars are configured on the
+server, the avatar image of the comment author is displayed in the top
+left corner. Below the actual comment there are buttons to reply to the
+comment.
+
+![images/user-review-ui-side-by-side-diff-screen-comment-box.png](images/user-review-ui-side-by-side-diff-screen-comment-box.png)
+
+Clicking on the `Reply` button opens an editor to type the reply.
+
+Quoting is supported, but only by manually copying & pasting the old
+comment that should be quoted and prefixing every line by "\> ". Please
+note that for a correct rendering it is important to leave a blank line
+between a quoted block and the reply to it.
+
+Clicking on the `Save` button saves the comment as a draft. To make it
+visible to other users it must be published from the change screen by
+[replying](#reply) to the change.
+
+The `Cancel` button cancels the editing and discards any changes to the
+draft comment.
+
+Clicking on the `Discard` button deletes the inline draft
+comment.
+
+![images/user-review-ui-side-by-side-diff-screen-comment-reply.png](images/user-review-ui-side-by-side-diff-screen-comment-reply.png)
+
+Draft comments are marked by the text "Draft" in the header in the place
+of the comment author.
+
+A draft comment can be edited by clicking on the `Edit` button, or
+deleted by clicking on the `Discard`
+button.
+
+![images/user-review-ui-side-by-side-diff-screen-comment-edit.png](images/user-review-ui-side-by-side-diff-screen-comment-edit.png)
+
+Clicking on the `Done` button is a quick way to reply with "Done" to a
+comment. This is used to mark a comment as addressed by a follow-up
+patch
+set.
+
+![images/user-review-ui-side-by-side-diff-screen-replied-done.png](images/user-review-ui-side-by-side-diff-screen-replied-done.png)
+
+To add a new inline comment there are several possibilities:
+
+  - select a code block and press *c*
+
+  - select a code block and click on the popup comment icon
+
+  - go to a line, by clicking on it or by [key
+    navigation](#key-navigation), and press *c*
+
+  - click on a line number
+
+There are many ways to select code for commenting on it. The most
+frequently used methods are:
+
+  - by mouse:
+    
+      - click and drag with the mouse to select a block
+    
+      - double-click on a word to select it
+    
+      - double-click and drag with the mouse to select a code block
+        word-wise
+    
+      - triple-click on a line to select it
+    
+      - triple-click and drag with the mouse to select a code block
+        line-wise
+
+  - by keys (the same keys that are used for visual selection in Vim):
+    
+      - press *v* + arrow keys (or *h*, *j*, *k*, *l*) to select a block
+    
+      - press *V* + arrow keys (or *j*, *k*) to select a code block
+        line-wise
+    
+      - type *bvw* to select a
+word
+
+![images/user-review-ui-side-by-side-diff-screen-comment.png](images/user-review-ui-side-by-side-diff-screen-comment.png)
+
+For typing the new comment, a new comment box is shown under the code
+that is commented.
+
+Clicking on the `Save` button saves the new comment as a draft. To make
+it visible to other users it must be published from the change screen by
+[replying](#reply) to the change.
+
+Clicking on the `Discard` button deletes the new
+comment.
+
+![images/user-review-ui-side-by-side-diff-screen-commented.png](images/user-review-ui-side-by-side-diff-screen-commented.png)
+
+### File Level Comments
+
+Comments that apply to a whole file can be added on file level.
+
+File level comments are added by clicking on the comment icon in the
+header above the
+file.
+
+![images/user-review-ui-side-by-side-diff-screen-file-level-comment.png](images/user-review-ui-side-by-side-diff-screen-file-level-comment.png)
+
+Clicking on the comment icon opens a comment box for typing the file
+level
+comment.
+
+![images/user-review-ui-side-by-side-diff-screen-file-level-commented.png](images/user-review-ui-side-by-side-diff-screen-file-level-commented.png)
+
+### Search
+
+For searching within a patch file, a Vim-like search is supported.
+Typing `/` opens the search box. Typing in the search box immediately
+highlights matches in the patch file with a yellow background. Using
+JavaScript regular expressions in the search term is supported. The
+search is case insensitive. After confirming the search by `ENTER` one
+can navigate between the matches by `n` / `N` to go to the next /
+previous match. Skipped lines are automatically expanded if they contain
+a match and one navigates to it.
+
+For additional possibilities to search please check the [Vim
+documentation](http://www.vim.org/docs.php). There are other useful ways
+to search, e.g. while the cursor is on a word, pressing `*` or `#`
+searches for the next or previous occurrence of the word.
+
+Searching by `Ctrl-F` finds matches only in the visible area of the
+screen unless the [Render](#render) diff preference is set to
+`Slow`.
+
+![images/user-review-ui-side-by-side-diff-screen-search.png](images/user-review-ui-side-by-side-diff-screen-search.png)
+
+### Key Navigation
+
+Vim-like commands can be used to navigate within a patch file:
+
+  - `h` / `j` / `k` / `l` moves the cursor left / down / up / right
+
+  - `0` / `$` moves the cursor to the start / end of the line
+
+  - `gg` / `G` moves to cursor to the start / end of the file
+
+  - `Ctrl-D` / `Ctrl-U` scrolls downwards / upwards
+
+Please check the [Vim documentation](http://www.vim.org/docs.php) for
+further information.
+
+### Diff Preferences
+
+There are several options to control how patch diffs should be rendered.
+Users can configure their preferences in the diff preferences. The diff
+preferences can be accessed by clicking on the settings icon in the
+screen
+header.
+
+![images/user-review-ui-side-by-side-diff-screen-preferences.png](images/user-review-ui-side-by-side-diff-screen-preferences.png)
+
+The diff preferences popup allows to change the diff preferences. By
+clicking on the `Save` button changes to the diff preferences are saved
+permanently. Clicking on the `Apply` button applies the new diff
+preferences to the current screen, but they are discarded when the
+screen is refreshed. The `Save` button is only available if the user is
+signed
+in.
+
+![images/user-review-ui-side-by-side-diff-screen-preferences-popup.png](images/user-review-ui-side-by-side-diff-screen-preferences-popup.png)
+
+The following diff preferences can be configured:
+
+  - `Theme`:
+    
+    Controls the theme that is used to render the file content.
+    
+    E.g. users could choose to work with a dark
+    theme.
+    
+    ![images/user-review-ui-side-by-side-diff-screen-dark-theme.png](images/user-review-ui-side-by-side-diff-screen-dark-theme.png)
+
+  - `Ignore Whitespace`:
+    
+    Controls whether differences in whitespace should be ignored or not.
+    
+      - `None`:
+        
+        All differences in whitespace are highlighted.
+    
+      - `At Line End`:
+        
+        Whitespace differences at the end of lines are ignored.
+    
+      - `Leading, At Line End`:
+        
+        Whitespace differences at the beginning and end of lines are
+        ignored.
+    
+      - `All`:
+        
+        All differences in whitespace are ignored.
+
+  - `Tab Width`:
+    
+    Controls how many spaces should be displayed for a tab.
+
+  - `Columns`:
+    
+    Sets the preferred line length. At this position a vertical dashed
+    line is displayed so that one can easily detect lines the exceed the
+    preferred line
+    length.
+    
+    ![images/user-review-ui-side-by-side-diff-screen-column.png](images/user-review-ui-side-by-side-diff-screen-column.png)
+
+  - `Lines Of Context`:
+    
+    The number of context lines that should be displayed before and
+    after any diff. If the `entire file` checkbox is selected, the full
+    file is rendered.
+    
+    Skipped common lines can be expanded by clicking on the placeholder
+    for the skipped lines.
+    
+    Clicking on "… skipped \<n\> common lines …" expands the complete
+    block of skipped lines.
+    
+    If many lines are skipped there are additional links to expand the
+    context by ten lines before and after the skipped
+    block.
+    
+    ![images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png](images/user-review-ui-side-by-side-diff-screen-expand-skipped-lines.png)
+
+  - `Intraline Difference`:
+    
+    Controls whether intraline differences should be
+    highlighted.
+    
+    ![images/user-review-ui-side-by-side-diff-screen-intraline-difference.png](images/user-review-ui-side-by-side-diff-screen-intraline-difference.png)
+
+  - `Syntax Highlighting`:
+    
+    Controls whether syntax highlighting should be enabled.
+    
+    The language for the syntax highlighting is automatically detected
+    from the file extension. The language can also be set manually by
+    selecting it from the `Language` drop-down
+    list.
+    
+    ![images/user-review-ui-side-by-side-diff-screen-syntax-coloring.png](images/user-review-ui-side-by-side-diff-screen-syntax-coloring.png)
+
+  - `Whitespace Errors`:
+    
+    Controls whether whitespace errors are highlighted.
+
+  - `Show Tabs`:
+    
+    Controls whether tabs are highlighted.
+
+  - `Line Numbers`:
+    
+    Controls whether line numbers are shown.
+
+  - `Empty Pane`:
+    
+    Controls whether empty panes are shown or not. The Left pane is
+    empty when a file was added; the right pane is empty when a file was
+    deleted.
+
+  - `Left Side`:
+    
+    Controls whether the left side is shown. This preference is not
+    persistent and is ignored by the `Save` button. Every time a patch
+    diff is opened, this preference is reset to `Show`.
+
+  - `Top Menu`:
+    
+    Controls whether the top menu is shown.
+
+  - `Auto Hide Diff Table Header`:
+    
+    Controls whether the diff table header should be automatically
+    hidden when scrolling down more than half of a page.
+
+  - `Mark Reviewed`:
+    
+    Controls whether the files of the patch set should be automatically
+    marked as reviewed when they are viewed.
+
+  - `Expand All Comments`:
+    
+    Controls whether all comments should be automatically expanded.
+
+  - `Render`:
+    
+    Controls how patch files that exceed the screen size are rendered.
+    
+    If `Fast` is selected file contents which are outside of the visible
+    area are not attached to the browser’s DOM tree. This makes the
+    rendering fast, but searching by `Ctrl+F` only finds content which
+    is in the visible area.
+    
+    If `Slow` is selected all file contents are attached to the
+    browser’s DOM tree, which makes the rendering slow for large
+    files. The advantage of this setting is that `Ctrl+F` can be used to
+    search in the complete file.
+    
+    Large files that exceed 4000 lines will not be fully rendered.
+
+  - `Line Wrapping`:
+    
+    Controls whether to enable line wrapping or not.
+    
+    If `false` is selected then line wrapping is disabled. This is the
+    default option.
+    
+    If `true` is selected then line wrapping is enabled.
+
+## Keyboard Shortcuts
+
+Navigation within the review UI can be completely done by keys, and most
+actions can be controlled by keyboard shortcuts. Typing `?` opens a
+popup that shows a list of available keyboard shortcuts:
+
+  - Change
+    Screen
+    
+    ![images/user-review-ui-change-screen-keyboard-shortcuts.png](images/user-review-ui-change-screen-keyboard-shortcuts.png)
+
+  - Side-by-Side Diff
+    Screen
+    
+    ![images/user-review-ui-side-by-side-diff-screen-keyboard-shortcuts.png](images/user-review-ui-side-by-side-diff-screen-keyboard-shortcuts.png)
+    
+    In addition, Vim-like commands can be used to
+    [navigate](#key-navigation) and [search](#search) within a patch
+    file.
+
+## New Review UI vs. Old Review UI
+
+There are some important conceptual differences between the old and new
+review UIs:
+
+  - The old change screen directly shows all patch sets of the change.
+    With the new change screen only a single patch set is displayed;
+    users can switch between the patch sets by choosing another patch
+    set from the [Patch Sets](#patch-sets) drop down panel in the screen
+    header.
+
+  - On the old side-by-side diff screen, new comments are inserted by
+    double-clicking on a line. With the new side-by-side diff screen
+    double-click is used to select a word for commenting on it; there
+    are [several ways to insert new comments](#add-inline-comment), e.g.
+    by selecting a code block and clicking on the popup comment icon.
+
+Limitations of the new review UI:
+
+  - The new side-by-side diff screen cannot render images.
+
+  - The new side-by-side diff screen isn’t able to highlight line
+    endings.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-search-accounts.md b/jekyll-source/pages/gerrit/user-search-accounts.md
new file mode 100644
index 0000000..ca0b1e7
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-search-accounts.md
@@ -0,0 +1,93 @@
+---
+title: " Gerrit Code Review - Searching Accounts"
+sidebar: gerritdoc_sidebar
+permalink: user-search-accounts.html
+---
+## Basic Account Search
+
+Similar to many popular search engines on the web, just enter some text
+and let Gerrit figure out the meaning:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Description</th>
+<th>Examples</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Name</p></td>
+<td><p>John</p></td>
+</tr>
+<tr class="even">
+<td><p>Email address</p></td>
+<td><p><a href="mailto:jdoe@example.com">jdoe@example.com</a></p></td>
+</tr>
+<tr class="odd">
+<td><p>Username</p></td>
+<td><p>jdoe</p></td>
+</tr>
+<tr class="even">
+<td><p>Account-Id</p></td>
+<td><p>1000096</p></td>
+</tr>
+<tr class="odd">
+<td><p>Own account</p></td>
+<td><p>self</p></td>
+</tr>
+</tbody>
+</table>
+
+## Search Operators
+
+Operators act as restrictions on the search. As more operators are added
+to the same query string, they further restrict the returned results.
+Search can also be performed by typing only a text with no operator,
+which will match against a variety of fields.
+
+  - email:'EMAIL'  
+    Matches accounts that have the email address *EMAIL* or an email
+    address that starts with *EMAIL*.
+
+  - is:active  
+    Matches accounts that are active.
+
+  - is:inactive  
+    Matches accounts that are inactive.
+
+  - name:'NAME'  
+    Matches accounts that have any name part *NAME*. The name parts
+    consist of any part of the full name and the email addresses.
+
+  - username:'USERNAME'  
+    Matches accounts that have the username *USERNAME*.
+
+## Magical Operators
+
+  - is:visible  
+    Magical internal flag to prove the current user has access to read
+    the account. This flag is always added to any query.
+
+  - is:active  
+    Matches accounts that are active. If neither [is:active](#is-active)
+    nor [is:inactive](#is-inactive) is contained in a query, `is:active`
+    is automatically added so that by default only active accounts are
+    matched.
+
+  - limit:'CNT'  
+    Limit the returned results to no more than *CNT* records. This is
+    automatically set to the page size configured in the current user’s
+    preferences. Including it in a web query may lead to unpredictable
+    results with regards to pagination.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-search-groups.md b/jekyll-source/pages/gerrit/user-search-groups.md
new file mode 100644
index 0000000..ce081f9
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-search-groups.md
@@ -0,0 +1,95 @@
+---
+title: " Gerrit Code Review - Searching Groups"
+sidebar: gerritdoc_sidebar
+permalink: user-search-groups.html
+---
+Group queries only match internal groups. External groups and system
+groups are not included in the query result.
+
+## Basic Group Search
+
+Similar to many popular search engines on the web, just enter some text
+and let Gerrit figure out the meaning:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Description</th>
+<th>Examples</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Name</p></td>
+<td><p>Foo-Verifiers</p></td>
+</tr>
+<tr class="even">
+<td><p>UUID</p></td>
+<td><p>6a1e70e1a88782771a91808c8af9bbb7a9871389</p></td>
+</tr>
+<tr class="odd">
+<td><p>Description</p></td>
+<td><p>deprecated</p></td>
+</tr>
+</tbody>
+</table>
+
+## Search Operators
+
+Operators act as restrictions on the search. As more operators are added
+to the same query string, they further restrict the returned results.
+Search can also be performed by typing only a text with no operator,
+which will match against a variety of fields.
+
+  - description:'DESCRIPTION'  
+    Matches groups that have a description that contains *DESCRIPTION*
+    (case-insensitive).
+
+  - inname:'NAMEPART'  
+    Matches groups that have a name part that starts with *NAMEPART*
+    (case-insensitive).
+
+  - is:visibletoall  
+    Matches groups that are in the groups options marked as visible to
+    all registered users.
+
+  - name:'NAME'  
+    Matches groups that have the name *NAME* (case-insensitive).
+
+  - owner:'OWNER'  
+    Matches groups that are owned by the group whose name best matches
+    *OWNER* or that has the UUID *OWNER*.
+
+  - uuid:'UUID'  
+    Matches groups that have the UUID *UUID*.
+
+  - member:'MEMBER'  
+    Matches groups that have the account represented by *MEMBER* as a
+    member.
+
+  - subgroup:'SUBGROUP'  
+    Matches groups that have a subgroup whose name best matches
+    *SUBGROUP* or whose UUID is *SUBGROUP*.
+
+## Magical Operators
+
+  - is:visible  
+    Magical internal flag to prove the current user has access to read
+    the group. This flag is always added to any query.
+
+  - limit:'CNT'  
+    Limit the returned results to no more than *CNT* records. This is
+    automatically set to the page size configured in the current user’s
+    preferences. Including it in a web query may lead to unpredictable
+    results with regards to pagination.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-search.md b/jekyll-source/pages/gerrit/user-search.md
new file mode 100644
index 0000000..b0c73a6
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-search.md
@@ -0,0 +1,600 @@
+---
+title: " Gerrit Code Review - Searching Changes"
+sidebar: gerritdoc_sidebar
+permalink: user-search.html
+---
+## Default Searches
+
+Most basic searches can be viewed by clicking on a link along the top
+menu bar. The link will prefill the search box with a common search
+query, execute it, and present the results. If exactly one change
+matches the search, the change will be presented instead of a list.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Description</th>
+<th>Default Query</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>All &gt; Open</p></td>
+<td><p>status:open <em>(or is:open)</em></p></td>
+</tr>
+<tr class="even">
+<td><p>All &gt; Merged</p></td>
+<td><p>status:merged</p></td>
+</tr>
+<tr class="odd">
+<td><p>All &gt; Abandoned</p></td>
+<td><p>status:abandoned</p></td>
+</tr>
+<tr class="even">
+<td><p>My &gt; Watched Changes</p></td>
+<td><p>status:open is:watched</p></td>
+</tr>
+<tr class="odd">
+<td><p>My &gt; Starred Changes</p></td>
+<td><p>is:starred</p></td>
+</tr>
+<tr class="even">
+<td><p>My &gt; Draft Comments</p></td>
+<td><p>has:draft</p></td>
+</tr>
+<tr class="odd">
+<td><p>Open changes in Foo</p></td>
+<td><p>status:open project:Foo</p></td>
+</tr>
+</tbody>
+</table>
+
+## Basic Change Search
+
+Similar to many popular search engines on the web, just enter some text
+and let Gerrit figure out the meaning:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th>Description</th>
+<th>Examples</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td><p>Legacy numerical id</p></td>
+<td><p>15183</p></td>
+</tr>
+<tr class="even">
+<td><p>Full or abbreviated Change-Id</p></td>
+<td><p>Ic0ff33</p></td>
+</tr>
+<tr class="odd">
+<td><p>Full or abbreviated commit SHA-1</p></td>
+<td><p>d81b32ef</p></td>
+</tr>
+<tr class="even">
+<td><p>Email address</p></td>
+<td><p><a href="mailto:user@example.com">user@example.com</a></p></td>
+</tr>
+<tr class="odd">
+<td><p>Approval requirement</p></td>
+<td><p>Code-Review&gt;=+2, Verified=1</p></td>
+</tr>
+</tbody>
+</table>
+
+## Search Operators
+
+Operators act as restrictions on the search. As more operators are added
+to the same query string, they further restrict the returned results.
+Search can also be performed by typing only a text with no operator,
+which will match against a variety of fields.
+
+  - age:'AGE'  
+    Amount of time that has expired since the change was last updated
+    with a review comment or new patch set. The age must be specified to
+    include a unit suffix, for example `age:2d`:
+    
+      - s, sec, second, seconds
+    
+      - m, min, minute, minutes
+    
+      - h, hr, hour, hours
+    
+      - d, day, days
+    
+      - w, week, weeks (`1 week` is treated as `7 days`)
+    
+      - mon, month, months (`1 month` is treated as `30 days`)
+    
+      - y, year, years (`1 year` is treated as `365 days`)
+
+  - assignee:'USER'  
+    Changes assigned to the given user.
+
+  - before:'TIME'/until:'TIME'  
+    Changes modified before the given *TIME*, inclusive. Must be in the
+    format `2006-01-02[ 15:04:05[.890][ -0700]]`; omitting the time
+    defaults to 00:00:00 and omitting the timezone defaults to UTC.
+
+  - after:'TIME'/since:'TIME'  
+    Changes modified after the given *TIME*, inclusive. Must be in the
+    format `2006-01-02[ 15:04:05[.890][ -0700]]`; omitting the time
+    defaults to 00:00:00 and omitting the timezone defaults to UTC.
+
+  - change:'ID'  
+    Either a legacy numerical *ID* such as 15183, or a newer style
+    Change-Id that was scraped out of the commit message.
+
+  - conflicts:'ID'  
+    Changes that conflict with change *ID*. Change *ID* can be specified
+    as a legacy numerical *ID* such as 15183, or a newer style Change-Id
+    that was scraped out of the commit message.
+
+  - destination:'NAME'  
+    Changes which match the current user’s destination named *NAME*.
+    (see [Named Destinations](user-named-destinations.html)).
+
+  - owner:'USER', o:'USER'  
+    Changes originally submitted by *USER*. The special case of
+    `owner:self` will find changes owned by the caller.
+
+  - ownerin:'GROUP'  
+    Changes originally submitted by a user in *GROUP*.
+
+  - query:'NAME'  
+    Changes which match the current user’s query named *NAME* (see
+    [Named Queries](user-named-queries.html)).
+
+  - reviewer:'USER', r:'USER'  
+    Changes that have been, or need to be, reviewed by *USER*. The
+    special case of `reviewer:self` will find changes where the caller
+    has been added as a reviewer.
+
+  - cc:'USER'  
+    Changes that have the given user CC’ed on them. The special case of
+    `cc:self` will find changes where the caller has been CC’ed.
+
+  - revertof:'ID'  
+    Changes that revert the change specified by the numeric *ID*.
+
+  - reviewerin:'GROUP'  
+    Changes that have been, or need to be, reviewed by a user in
+    *GROUP*.
+
+  - commit:'SHA1'  
+    Changes where *SHA1* is one of the patch sets of the change.
+
+  - project:'PROJECT', p:'PROJECT'  
+    Changes occurring in *PROJECT*. If *PROJECT* starts with `^` it
+    matches project names by regular expression. The [dk.brics.automaton
+    library](http://www.brics.dk/automaton/) is used for evaluation of
+    such patterns.
+
+  - projects:'PREFIX'  
+    Changes occurring in projects starting with *PREFIX*.
+
+  - parentproject:'PROJECT'  
+    Changes occurring in *PROJECT* or in one of the child projects of
+    *PROJECT*.
+
+  - branch:'BRANCH'  
+    Changes for *BRANCH*. The branch name is either the short name shown
+    in the web interface or the full name of the destination branch with
+    the traditional *refs/heads/* prefix.
+    
+    If *BRANCH* starts with `^` it matches branch names by regular
+    expression patterns. The [dk.brics.automaton
+    library](http://www.brics.dk/automaton/) is used for evaluation of
+    such patterns.
+
+  - intopic:'TOPIC'  
+    Changes whose designated topic contains *TOPIC*, using a full-text
+    search.
+    
+    If *TOPIC* starts with `^` it matches topic names by regular
+    expression patterns. The [dk.brics.automaton
+    library](http://www.brics.dk/automaton/) is used for evaluation of
+    such patterns.
+
+  - topic:'TOPIC'  
+    Changes whose designated topic matches *TOPIC* exactly. This is
+    often combined with *branch:* and *project:* operators to select all
+    related changes in a series.
+
+  - ref:'REF'  
+    Changes where the destination branch is exactly the given *REF*
+    name. Since *REF* is absolute from the top of the repository it must
+    start with *refs/*.
+    
+    If *REF* starts with `^` it matches reference names by regular
+    expression patterns. The [dk.brics.automaton
+    library](http://www.brics.dk/automaton/) is used for evaluation of
+    such patterns.
+
+  - tr:'ID', bug:'ID'  
+    Search for changes whose commit message contains *ID* and matches
+    one or more of the [trackingid
+    sections](config-gerrit.html#trackingid) in the server’s
+    configuration file. This is typically used to search for changes
+    that fix a bug or defect by the issue tracking system’s issue
+    identifier.
+
+  - label:'VALUE'  
+    Matches changes where the approval score *VALUE* has been set during
+    a review. See [labels](#labels) below for more detail on the format
+    of the argument.
+
+  - message:'MESSAGE'  
+    Changes that match *MESSAGE* arbitrary string in the commit message
+    body.
+
+  - comment:'TEXT'  
+    Changes that match *TEXT* string in any comment left by a reviewer.
+
+  - path:'PATH'  
+    Matches any change touching file at *PATH*. By default exact path
+    matching is used, but regular expressions can be enabled by starting
+    with `^`. For example, to match all XML files use `file:^.*\.xml$`.
+    The [dk.brics.automaton library](http://www.brics.dk/automaton/) is
+    used for the evaluation of such patterns.
+    
+    The `^` required at the beginning of the regular expression not only
+    denotes a regular expression, but it also has the usual meaning of
+    anchoring the match to the start of the string. To match all Java
+    files, use `file:^.*\.java`.
+    
+    The entire regular expression pattern, including the `^` character,
+    should be double quoted when using more complex construction (like
+    ones using a bracket expression). For example, to match all XML
+    files named like *name1.xml*, *name2.xml*, and *name3.xml* use
+    `file:"^name[1-3].xml"`.
+
+  - file:'NAME', f:'NAME'  
+    Matches any change touching a file containing the path component
+    *NAME*. For example a `file:src` will match changes that modify
+    files named `gerrit-server/src/main/java/Foo.java`. Name matching is
+    exact match, `file:Foo.java` finds any change touching a file named
+    exactly `Foo.java` and does not match `AbstractFoo.java`.
+    
+    Regular expression matching can be enabled by starting the string
+    with `^`. In this mode `file:` is an alias of `path:` (see above).
+
+  - star:'LABEL'  
+    Matches any change that was starred by the current user with the
+    label *LABEL*.
+    
+    E.g. if changes that are not interesting are marked with an `ignore`
+    star, they could be filtered out by *-star:ignore*.
+    
+    *star:star* is the same as *has:star* and *is:starred*.
+
+  - has:draft  
+    True if there is a draft comment saved by the current user.
+
+  - has:star  
+    Same as *is:starred* and *star:star*, true if the change has been
+    starred by the current user with the default label.
+
+  - has:stars  
+    True if the change has been starred by the current user with any
+    label.
+
+  - has:edit  
+    True if the change has inline edit created by the current user.
+
+  - has:unresolved  
+    True if the change has unresolved comments.
+
+  - is:assigned  
+    True if the change has an assignee.
+
+  - is:starred  
+    Same as *has:star*, true if the change has been starred by the
+    current user with the default label.
+
+  - is:unassigned  
+    True if the change does not have an assignee.
+
+  - is:watched  
+    True if this change matches one of the current user’s watch filters,
+    and thus is likely to notify the user when it updates.
+
+  - is:reviewed  
+    True if any user has commented on the change more recently than the
+    last update (comment or patch set) from the change owner.
+
+  - is:owner  
+    True on any change where the current user is the change owner. Same
+    as `owner:self`.
+
+  - is:reviewer  
+    True on any change where the current user is a reviewer. Same as
+    `reviewer:self`.
+
+  - is:open, is:pending  
+    True if the change is open.
+
+  - is:closed  
+    True if the change is either merged or abandoned.
+
+  - is:merged, is:abandoned  
+    Same as [status:'STATE'](#status).
+
+  - is:submittable  
+    True if the change is submittable according to the submit rules for
+    the project, for example if all necessary labels have been voted on.
+    
+    This operator only takes into account one change at a time, not any
+    related changes, and does not guarantee that the submit button will
+    appear for matching changes. To check whether a submit button
+    appears, use the [Get Revision
+    Actions](rest-api-changes.html#get-revision-actions) API.
+    
+    Equivalent to [submittable:ok](#submittable).
+
+  - is:mergeable  
+    True if the change has no merge conflicts and could be merged into
+    its destination branch.
+    
+    Mergeability of abandoned changes is not computed. This operator
+    will not find any abandoned but mergeable changes.
+
+  - is:ignored  
+    True if the change is ignored. Same as `star:ignore`.
+
+  - is:private  
+    True if the change is private, ie. only visible to owner and its
+    reviewers.
+
+  - is:wip  
+    True if the change is Work In Progress.
+
+  - status:open, status:pending  
+    True if the change state is *review in progress*.
+
+  - status:reviewed  
+    Same as *is:reviewed*, matches if any user has commented on the
+    change more recently than the last update (comment or patch set)
+    from the change owner.
+
+  - status:closed  
+    True if the change is either *merged* or *abandoned*.
+
+  - status:merged  
+    Change has been merged into the branch.
+
+  - status:abandoned  
+    Change has been abandoned.
+
+  - added:'RELATION'*LINES*, deleted:'RELATION'*LINES*,
+    delta/size:'RELATION'*LINES*  
+    True if the number of lines added/deleted/changed satisfies the
+    given relation for the given number of lines.
+    
+    For example, added:\>50 will be true for any change which adds at
+    least 50 lines.
+    
+    Valid relations are \>=, \>, ⇐, \<, or no relation, which will match
+    if the number of lines is exactly equal.
+
+  - commentby:'USER'  
+    Changes containing a top-level or inline comment by *USER*. The
+    special case of `commentby:self` will find changes where the caller
+    has commented.
+
+  - from:'USER'  
+    Changes containing a top-level or inline comment by *USER*, or owned
+    by *USER*. Equivalent to `(owner:USER OR commentby:USER)`.
+
+  - reviewedby:'USER'  
+    Changes where *USER* has commented on the change more recently than
+    the last update (comment or patch set) from the change owner.
+
+  - author:'AUTHOR'  
+    Changes where *AUTHOR* is the author of the current patch set.
+    *AUTHOR* may be the author’s exact email address, or part of the
+    name or email address.
+
+  - committer:'COMMITTER'  
+    Changes where *COMMITTER* is the committer of the current patch set.
+    *COMMITTER* may be the committer’s exact email address, or part of
+    the name or email address.
+
+  - submittable:'SUBMIT\_STATUS'  
+    Changes having the given submit record status after applying submit
+    rules. Valid statuses are in the `status` field of
+    [SubmitRecord](rest-api-changes.html#submit-record). This operator
+    only applies to the top-level status; individual label statuses can
+    be searched [by label](#labels).
+
+  - unresolved:'RELATION'*NUMBER*  
+    True if the number of unresolved comments satisfies the given
+    relation for the given number.
+    
+    For example, unresolved:\>0 will be true for any change which has at
+    least one unresolved comment while unresolved:0 will be true for any
+    change which has all comments resolved.
+    
+    Valid relations are \>=, \>, ⇐, \<, or no relation, which will match
+    if the number of unresolved comments is exactly equal.
+
+## Argument Quoting
+
+Operator values that are not bare words (roughly A-Z, a-z, 0-9, @,
+hyphen, dot and underscore) must be quoted for the query parser.
+
+Quoting is accepted as either double quotes (e.g. `message:"the value"`)
+or as matched curly braces (e.g. `message:{the value}`).
+
+## Boolean Operators
+
+Unless otherwise specified, operators are joined using the `AND` boolean
+operator, thereby restricting the search results.
+
+Parentheses can be used to force a particular precedence on complex
+operator expressions, otherwise OR has higher precedence than AND.
+
+### Negation
+
+Any operator can be negated by prefixing it with `-`, for example
+`-is:starred` is the exact opposite of `is:starred` and will therefore
+return changes that are **not** starred by the current user.
+
+The operator `NOT` (in all caps) is a synonym.
+
+### AND
+
+The boolean operator `AND` (in all caps) can be used to join two other
+operators together. This results in a restriction of the results,
+returning only changes that match both operators.
+
+### OR
+
+The boolean operator `OR` (in all caps) can be used to find changes that
+match either operator. This increases the number of results that are
+returned, as more changes are considered.
+
+## Labels
+
+Label operators can be used to match approval scores given during a code
+review. The specific set of supported labels depends on the server
+configuration, however the `Code-Review` label is provided out of the
+box.
+
+A label name is any of the following:
+
+  - The label name. Example: `label:Code-Review`.
+
+  - The label name followed by a *,* followed by a reviewer id or a
+    group id. To make it clear whether a user or group is being looked
+    for, precede the value by a user or group argument identifier
+    (*user=* or *group=*). If an LDAP group is being referenced make
+    sure to use *ldap/\<groupname\>*.
+
+A label name must be followed by either a score with optional operator,
+or a label status. The easiest way to explain this is by example.
+
+First, some examples of scores with operators:
+
+  - `label:Code-Review=2`; `label:Code-Review=+2`;
+    `label:Code-Review+2`  
+    Matches changes where there is at least one +2 score for
+    Code-Review. The + prefix is optional for positive score values. If
+    the + is used, the = operator is optional.
+
+  - `label:Code-Review=-2`; `label:Code-Review-2`  
+    Matches changes where there is at least one -2 score for
+    Code-Review. Because the negative sign is required, the = operator
+    is optional.
+
+  - `label:Code-Review=1`  
+    Matches changes where there is at least one +1 score for
+    Code-Review. Scores of +2 are not matched, even though they are
+    higher.
+
+  - `label:Code-Review>=1`  
+    Matches changes with either a +1, +2, or any higher score.
+    
+    Instead of a numeric vote, you can provide a label status
+    corresponding to one of the fields in the
+    [SubmitRecord](rest-api-changes.html#submit-record) REST API entity.
+
+  - `label:Non-Author-Code-Review=need`  
+    Matches changes where the submit rules indicate that a label named
+    `Non-Author-Code-Review` is needed. (See the [Prolog
+    Cookbook](prolog-cookbook.html#NonAuthorCodeReview) for how this
+    label can be configured.)
+
+  - `label:Code-Review=+2,aname`; `label:Code-Review=ok,aname`  
+    Matches changes with a +2 code review where the reviewer or group is
+    aname.
+
+  - `label:Code-Review=2,user=jsmith`  
+    Matches changes with a +2 code review where the reviewer is jsmith.
+
+  - `label:Code-Review=+2,user=owner`;
+    `label:Code-Review=ok,user=owner`; `label:Code-Review=+2,owner`;
+    `label:Code-Review=ok,owner`  
+    The special "owner" parameter corresponds to the change owner.
+    Matches all changes that have a +2 vote from the change owner.
+
+  - `label:Code-Review=+1,group=ldap/linux.workflow`  
+    Matches changes with a +1 code review where the reviewer is in the
+    ldap/linux.workflow group.
+
+  - `label:Code-Review<=-1`  
+    Matches changes with either a -1, -2, or any lower score.
+
+  - `is:open label:Code-Review+2 label:Verified+1 NOT label:Verified-1
+    NOT label:Code-Review-2`; `is:open label:Code-Review=ok
+    label:Verified=ok`  
+    Matches changes that are ready to be submitted according to one
+    common label configuration. (For a more general check, use
+    [submittable:ok](#submittable).)
+
+  - `is:open (label:Verified-1 OR label:Code-Review-2)`; `is:open
+    (label:Verified=reject OR label:Code-Review:reject)`  
+    Changes that are blocked from submission due to a blocking score.
+
+## Magical Operators
+
+Most of these operators exist to support features of Gerrit Code Review,
+and are not meant to be accessed by the average end-user. However, they
+are recognized by the query parser, and may prove useful in limited
+contexts to administrators or power-users.
+
+  - visibleto:'USER-or-GROUP'  
+    Matches changes that are visible to *USER* or to anyone who is a
+    member of *GROUP*. Here group names may be specified as either an
+    internal group name, or if LDAP is being used, an external LDAP
+    group name. The value may be wrapped in double quotes to include
+    spaces or other special characters. For example, to match an LDAP
+    group: `visibleto:"CN=Developers, DC=example, DC=com"`.
+    
+    This operator may be useful to test access control rules, however a
+    change can only be matched if both the current user and the supplied
+    user or group can see it. This is due to the implicit *is:visible*
+    clause that is always added by the server.
+
+  - is:visible  
+    Magical internal flag to prove the current user has access to read
+    the change. This flag is always added to any query.
+
+  - starredby:'USER'  
+    Matches changes that have been starred by *USER* with the default
+    label. The special case `starredby:self` applies to the caller.
+
+  - watchedby:'USER'  
+    Matches changes that *USER* has configured watch filters for. The
+    special case `watchedby:self` applies to the caller.
+
+  - draftby:'USER'  
+    Matches changes that *USER* has left unpublished draft comments on.
+    Since the drafts are unpublished, it is not possible to see the
+    draft text, or even how many drafts there are. The special case of
+    `draftby:self` will find changes where the caller has created a
+    draft comment.
+
+  - limit:'CNT'  
+    Limit the returned results to no more than *CNT* records. This is
+    automatically set to the page size configured in the current user’s
+    preferences. Including it in a web query may lead to unpredictable
+    results with regards to pagination.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-signedoffby.md b/jekyll-source/pages/gerrit/user-signedoffby.md
new file mode 100644
index 0000000..fae5eae
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-signedoffby.md
@@ -0,0 +1,177 @@
+---
+title: " Gerrit Code Review - Signed-off-by Lines"
+sidebar: gerritdoc_sidebar
+permalink: user-signedoffby.html
+---
+> **Note**
+> 
+> This document was literally taken from [linux-2.6
+> Documentation/SubmittingPatches](http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches;hb=4e8a2372f9255a1464ef488ed925455f53fbdaa1)
+> and is covered by the GPLv2.
+
+## Signed-off-by:
+
+To improve tracking of who did what, especially with patches that can
+percolate to their final resting place in the kernel through several
+layers of maintainers, we’ve introduced a "sign-off" procedure on
+patches that are being emailed around.
+
+The sign-off is a simple line at the end of the explanation for the
+patch, which certifies that you wrote it or otherwise have the right to
+pass it on as a open-source patch. The rules are pretty simple: if you
+can certify the below:
+
+``` 
+        Developer's Certificate of Origin 1.1
+
+        By making a contribution to this project, I certify that:
+
+        (a) The contribution was created in whole or in part by me and I
+            have the right to submit it under the open source license
+            indicated in the file; or
+
+        (b) The contribution is based upon previous work that, to the best
+            of my knowledge, is covered under an appropriate open source
+            license and I have the right under that license to submit that
+            work with modifications, whether created in whole or in part
+            by me, under the same open source license (unless I am
+            permitted to submit under a different license), as indicated
+            in the file; or
+
+        (c) The contribution was provided directly to me by some other
+            person who certified (a), (b) or (c) and I have not modified
+            it.
+
+        (d) I understand and agree that this project and the contribution
+            are public and that a record of the contribution (including all
+            personal information I submit with it, including my sign-off) is
+            maintained indefinitely and may be redistributed consistent with
+            this project or the open source license(s) involved.
+```
+
+then you just add a line saying
+
+``` 
+        Signed-off-by: Random J Developer <random@developer.example.org>
+```
+
+using your real name (sorry, no pseudonyms or anonymous contributions.)
+
+Some people also put extra tags at the end. They’ll just be ignored for
+now, but you can do this to mark internal company procedures or just
+point out some special detail about the sign-off.
+
+If you are a subsystem or branch maintainer, sometimes you need to
+slightly modify patches you receive in order to merge them, because the
+code is not exactly the same in your tree and the submitters'. If you
+stick strictly to rule (c), you should ask the submitter to rediff, but
+this is a totally counter-productive waste of time and energy. Rule (b)
+allows you to adjust the code, but then it is very impolite to change
+one submitter’s code and make him endorse your bugs. To solve this
+problem, it is recommended that you add a line between the last
+Signed-off-by header and yours, indicating the nature of your changes.
+While there is nothing mandatory about this, it seems like prepending
+the description with your mail and/or name, all enclosed in square
+brackets, is noticeable enough to make it obvious that you are
+responsible for last-minute changes. Example :
+
+``` 
+        Signed-off-by: Random J Developer <random@developer.example.org>
+        [lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
+        Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>
+```
+
+This practice is particularly helpful if you maintain a stable branch
+and want at the same time to credit the author, track changes, merge the
+fix, and protect the submitter from complaints. Note that under no
+circumstances can you change the author’s identity (the From header), as
+it is the one which appears in the changelog.
+
+## Acked-by:, Cc:
+
+The Signed-off-by: tag indicates that the signer was involved in the
+development of the patch, or that he/she was in the patch’s delivery
+path.
+
+If a person was not directly involved in the preparation or handling of
+a patch but wishes to signify and record their approval of it then they
+can arrange to have an Acked-by: line added to the patch’s changelog.
+
+Acked-by: is often used by the maintainer of the affected code when that
+maintainer neither contributed to nor forwarded the patch.
+
+Acked-by: is not as formal as Signed-off-by:. It is a record that the
+acker has at least reviewed the patch and has indicated acceptance.
+Hence patch mergers will sometimes manually convert an acker’s "yep,
+looks good to me" into an Acked-by:.
+
+Acked-by: does not necessarily indicate acknowledgment of the entire
+patch. For example, if a patch affects multiple subsystems and has an
+Acked-by: from one subsystem maintainer then this usually indicates
+acknowledgment of just the part which affects that maintainer’s code.
+Judgment should be used here. When in doubt people should refer to the
+original discussion in the mailing list archives.
+
+If a person has had the opportunity to comment on a patch, but has not
+provided such comments, you may optionally add a "Cc:" tag to the patch.
+This is the only tag which might be added without an explicit action by
+the person it names. This tag documents that potentially interested
+parties have been included in the discussion
+
+## Reported-by:, Tested-by: and Reviewed-by:
+
+If this patch fixes a problem reported by somebody else, consider adding
+a Reported-by: tag to credit the reporter for their contribution. Please
+note that this tag should not be added without the reporter’s
+permission, especially if the problem was not reported in a public
+forum. That said, if we diligently credit our bug reporters, they will,
+hopefully, be inspired to help us again in the future.
+
+A Tested-by: tag indicates that the patch has been successfully tested
+(in some environment) by the person named. This tag informs maintainers
+that some testing has been performed, provides a means to locate testers
+for future patches, and ensures credit for the testers.
+
+Reviewed-by:, instead, indicates that the patch has been reviewed and
+found acceptable according to the Reviewer’s Statement:
+
+``` 
+        Reviewer's statement of oversight
+
+        By offering my Reviewed-by: tag, I state that:
+
+         (a) I have carried out a technical review of this patch to
+             evaluate its appropriateness and readiness for inclusion into
+             the mainline kernel.
+
+         (b) Any problems, concerns, or questions relating to the patch
+             have been communicated back to the submitter.  I am satisfied
+             with the submitter's response to my comments.
+
+         (c) While there may be things that could be improved with this
+             submission, I believe that it is, at this time, (1) a
+             worthwhile modification to the kernel, and (2) free of known
+             issues which would argue against its inclusion.
+
+         (d) While I have reviewed the patch and believe it to be sound, I
+             do not (unless explicitly stated elsewhere) make any
+             warranties or guarantees that it will achieve its stated
+             purpose or function properly in any given situation.
+```
+
+A Reviewed-by tag is a statement of opinion that the patch is an
+appropriate modification of the kernel without any remaining serious
+technical issues. Any interested reviewer (who has done the work) can
+offer a Reviewed-by tag for a patch. This tag serves to give credit to
+reviewers and to inform maintainers of the degree of review which has
+been done on the patch. Reviewed-by: tags, when supplied by reviewers
+known to understand the subject area and to perform thorough reviews,
+will normally increase the likelihood of your patch getting into the
+kernel.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-submodules.md b/jekyll-source/pages/gerrit/user-submodules.md
new file mode 100644
index 0000000..31aa0d1
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-submodules.md
@@ -0,0 +1,280 @@
+---
+title: " Gerrit Code Review - Superproject subscription to submodules updates"
+sidebar: gerritdoc_sidebar
+permalink: user-submodules.html
+---
+## Description
+
+Gerrit supports a custom git superproject feature for tracking
+submodules. This feature is useful for automatic updates on
+superprojects whenever a change is merged on tracked submodules.
+
+When a superproject is subscribed to a submodule, it is not required to
+push/merge commits to this superproject to update the gitlink to the
+submodule. Whenever a commit is merged in a submodule, its subscribed
+superproject is updated by Gerrit.
+
+Imagine a superproject called *super* having a branch called *dev*
+having subscribed to a submodule *sub* on a branch *dev-of-sub*. When a
+commit is merged in branch *dev-of-sub* of *sub* project, Gerrit
+automatically creates a new commit on branch *dev* of *super* updating
+the gitlink to point to the just merged commit.
+
+To take advantage of this feature, one should:
+
+1.  ensure superproject subscriptions are enabled on the server via
+    [submodule.enableSuperProjectSubscriptions](config-gerrit.html#submodule.enableSuperProjectSubscriptions)
+
+2.  configure the submodule to allow having a superproject subscribed
+
+3.  ensure the .gitmodules file of the superproject includes
+    
+    1.  a branch field
+    
+    2.  a url that starts with the
+        [`gerrit.canonicalWebUrl`](config-gerrit.html#gerrit.canonicalWebUrl)
+
+When a commit in a project is merged, Gerrit checks for superprojects
+that are subscribed to the the project and automatically updates those
+superprojects with a commit that updates the gitlink for the project.
+
+This feature is enabled by default and can be disabled via
+[submodule.enableSuperProjectSubscriptions](config-gerrit.html#submodule.enableSuperProjectSubscriptions)
+in the server configuration.
+
+## Git submodules overview
+
+Submodules are a Git feature that allows an external repository to be
+attached inside a repository at a specific path. The objective here is
+to provide a brief overview, further details can be found in the
+official Git submodule documentation.
+
+Imagine a repository called *super* and another one called *sub*. Also
+consider *sub* available in a running Gerrit instance on "server". With
+this feature, one could attach *sub* inside of *super* repository at
+path *sub* by executing the following command when being inside *super*:
+
+    git submodule add ssh://server/sub sub
+
+Still considering the above example, after its execution notice that
+inside the local repository *super* the *sub* folder is considered a
+gitlink to the external repository *sub*. Also notice a file called
+.gitmodules is created (it is a configuration file containing the
+subscription of *sub*). To provide the SHA-1 each gitlink points to in
+the external repository, one should use the command:
+
+    git submodule status
+
+In the example provided, if *sub* is updated and *super* is supposed to
+see the latest SHA-1 (considering here *sub* has only the master
+branch), one should then commit the modified gitlink for *sub* in the
+*super* project. Actually it would not even need to be an external
+update, one could move to *sub* folder (inside *super*), modify its
+content, commit, then move back to *super* and commit the modified
+gitlink for *sub*.
+
+## Creating a new subscription
+
+### Ensure the subscription is allowed
+
+Gerrit has a complex access control system, where different repositories
+can be accessed by different groups of people. To ensure that the
+submodule related information is allowed to be exposed in the
+superproject, the submodule needs to be configured to enable the
+superproject subscription. In a submodule client, checkout the
+refs/meta/config branch and edit the subscribe capabilities in the
+*project.config* file:
+
+``` 
+    git fetch <remote> refs/meta/config:refs/meta/config
+    git checkout refs/meta/config
+    $EDITOR project.config
+```
+
+and add the following lines:
+
+``` 
+  [allowSuperproject "<superproject>"]
+    matching = <refspec>
+```
+
+where the *superproject* should be the exact project name of the
+superproject. The refspec defines which branches of the submodule are
+allowed to be subscribed to which branches of the superproject. See
+below for [details](#acl_refspec). Push the configuration for review and
+submit the change:
+
+``` 
+  git add project.config
+  git commit -m "Allow <superproject> to subscribe"
+  git push <remote> HEAD:refs/for/refs/meta/config
+```
+
+After the change is integrated a superproject subscription is possible.
+
+The configuration is inherited from parent projects, such that you can
+have a configuration in the "All-Projects" project like:
+
+``` 
+    [allowSuperproject "my-only-superproject"]
+        matching = refs/heads/*:refs/heads/*
+```
+
+and then you don’t have to worry about configuring the individual
+projects any more. Child projects cannot negate the parent’s
+configuration.
+
+### Defining the submodule branch
+
+Since Gerrit manages subscriptions in the branch scope, we could have a
+scenario having a project called *super* having a branch *integration*
+subscribed to a project called *sub* in branch *integration*, and also
+having the same *super* project but in branch *dev* subscribed to the
+*sub* project in a branch called *local-dev*.
+
+After adding the git submodule to a super project, one should edit the
+.gitmodules file to add a branch field to each submodule section which
+is supposed to be subscribed.
+
+As the branch field is a Gerrit-specific field it will not be filled
+automatically by the git submodule command, so one needs to edit it
+manually. Its value should indicate the branch of a submodule project
+that when updated will trigger automatic update of its registered
+gitlink.
+
+The branch value could be "*.*" if the submodule project branch has the
+same name as the destination branch of the commit having
+gitlinks/.gitmodules file.
+
+If the intention is to make use of the Gerrit feature described here,
+one should always be sure to update the .gitmodules file after adding
+submodules to a super project.
+
+If a git submodule is added but the branch field is not added to the
+.gitmodules file, Gerrit will not create a subscription for the
+submodule and there will be no automatic updates to the superproject.
+
+Whenever a commit is merged to a project, its project config is checked
+to see if any potential superprojects are allowed to subscribe to it. If
+so, the superproject is checked if a valid subscription exists by
+checking the .gitmodules file for the a submodule which includes a
+`branch` field and a url pointing to this server.
+
+### The RefSpec in the allowSuperproject section
+
+There are two options for specifying which branches can be subscribed
+to. The most common is to set
+`allowSuperproject.<superproject>.matching` to a Git-style refspec,
+which has the same syntax as the refspecs used for pushing in Git.
+Regular expressions as found in the ACL configuration are not supported.
+
+The most restrictive refspec is allowing one specific branch of the
+submodule to be subscribed to one specific branch of the superproject:
+
+``` 
+  [allowSuperproject "<superproject>"]
+    matching = refs/heads/<submodule-branch>:refs/heads/<superproject-branch>
+```
+
+If you want to allow for a 1:1 mapping, i.e. *master* maps to *master*,
+*stable* maps to *stable*, but not allowing *master* to be subscribed to
+*stable*:
+
+``` 
+  [allowSuperproject "<superproject>"]
+    matching = refs/heads/*:refs/heads/*
+```
+
+To allow all refs matching one pattern to subscribe to all refs matching
+another pattern, set `allowSuperproject.<superproject>.all` to the
+patterns concatenated with a colon. For example, to make a single branch
+available for subscription from all branches of the superproject:
+
+``` 
+  [allowSuperproject "<superproject>"]
+     all = refs/heads/<submodule-branch>:refs/heads/*
+```
+
+To make all branches available for subscription from all branches of the
+superproject:
+
+``` 
+  [allowSuperproject "<superproject>"]
+     all = refs/heads/*:refs/heads/*
+```
+
+### Subscription Limitations
+
+Gerrit will only automatically update superprojects where the submodules
+are hosted on the same Gerrit instance as the superproject. Gerrit
+determines this by checking that the URL of the submodule specified in
+the .gitmodules file starts with
+[`gerrit.canonicalWebUrl`](config-gerrit.html#gerrit.canonicalWebUrl).
+The protocol part is ignored in this check.
+
+It is currently not possible to use the submodule subscription feature
+with a canonical web URL that differs from the first part of the
+submodule URL. Instead relative submodules should be used.
+
+The Gerrit instance administrator should ensure that the canonical web
+URL value is specified in its configuration file. Users should ensure
+that they use the correct hostname of the running Gerrit instance when
+adding submodule subscriptions.
+
+When converting an existing submodule to use subscription by adding a
+`branch` field into the .gitmodules file, Gerrit does not change the
+revision of the submodule (i.e. update the superproject’s gitlink) until
+the next time the branch of the submodule advances. In other words, if
+the currently used revision of the submodule is not the branch’s head,
+adding a subscription will not cause an immediate update to the head. In
+this case the revision must be manually updated at the same time as
+adding the subscription.
+
+### Relative submodules
+
+To enable easier usage of Gerrit mirrors and/or distribution over
+several protocols, such as plain git and HTTP(S) as well as SSH, one can
+use relative submodules. This means that instead of providing the entire
+URL to the submodule a relative path is stated in the .gitmodules file.
+
+Gerrit will try to match the entire project name of the submodule
+including directories. Therefore it is important to supply the full path
+name of the Gerrit project, not only relative to the super repository.
+See the following example:
+
+We have a super repository placed under a sub directory.
+
+    product/super_repository.git
+
+To this repository we wish add a submodule "deeper" into the directory
+structure.
+
+    product/framework/subcomponent.git
+
+Now we need to edit the .gitmodules to include the complete path to the
+Gerrit project. Observe that we need to use two "../" to include the
+complete Gerrit project path.
+
+    path = subcomponent.git
+    url = ../../product/framework/subcomponent.git
+    branch = master
+
+In contrast the following will not setup proper submodule subscription,
+even if the submodule will be successfully cloned by git from Gerrit.
+
+    path = subcomponent.git
+    url = ../framework/subcomponent.git
+    branch = master
+
+## Removing Subscriptions
+
+To remove a subscription, either disable the subscription from the
+submodules configuration or remove the submodule or information thereof
+(such as the branch field) in the superproject.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pages/gerrit/user-upload.md b/jekyll-source/pages/gerrit/user-upload.md
new file mode 100644
index 0000000..bad9387
--- /dev/null
+++ b/jekyll-source/pages/gerrit/user-upload.md
@@ -0,0 +1,698 @@
+---
+title: " Gerrit Code Review - Uploading Changes"
+sidebar: gerritdoc_sidebar
+permalink: user-upload.html
+---
+Gerrit supports three methods of uploading changes:
+
+  - Use `repo upload`, to create changes for review
+
+  - Use `git push`, to create changes for review
+
+  - Use `git push`, and bypass code review
+
+All three methods rely on authentication, which must first be configured
+by the uploading user.
+
+Gerrit supports two protocols for uploading changes; SSH and HTTP/HTTPS.
+These may not all be available for you, depending on the server
+configuration.
+
+## HTTP/HTTPS
+
+On Gerrit installations that do not support SSH authentication, the user
+must authenticate via HTTP/HTTPS.
+
+The user is authenticated using standard BasicAuth. Depending on the
+value of [auth.gitBasicAuthPolicy](#auth.gitBasicAuthPolicy),
+credentials are validated using:
+
+  - The randomly generated HTTP password on the `HTTP Password` tab in
+    the user settings page if `gitBasicAuthPolicy` is `HTTP`.
+
+  - The LDAP password if `gitBasicAuthPolicy` is `LDAP`
+
+  - Both, the HTTP and the LDAP passwords (in this order) if
+    `gitBasicAuthPolicy` is `HTTP_LDAP`.
+
+When gitBasicAuthPolicy is not `LDAP`, the user’s HTTP credentials can
+be regenerated by going to `Settings`, and then accessing the `HTTP
+Password` tab. Revocation can effectively be done by regenerating the
+password and then forgetting it.
+
+For Gerrit installations where an [HTTP password
+URL](config-gerrit.html#auth.httpPasswordUrl) is configured, the
+password can be obtained by clicking on `Obtain Password` and then
+following the site-specific instructions. On sites where this URL is not
+configured, the password can be obtained by clicking on `Generate
+Password`.
+
+## SSH
+
+To upload changes over SSH, Gerrit supports two forms of authentication:
+a user’s public key or kerberos.
+
+Unless your Gerrit instance is configured to support
+[kerberos](config-gerrit.html#sshd.kerberosKeytab) in your domain, only
+public key authentication can be used.
+
+### Public keys
+
+To register a new SSH key for use with Gerrit, paste the contents of
+your `id_rsa.pub` or `id_dsa.pub` file into the text box and click the
+add button. Gerrit only understands SSH version 2 public keys. Keys may
+be supplied in either the OpenSSH format (key starts with `ssh-rsa` or
+`ssh-dss`) or the RFC 4716 format (file starts with `---- BEGIN SSH2
+PUBLIC KEY ----`).
+
+Typically SSH keys are stored in your home directory, under `~/.ssh`. If
+you don’t have any keys yet, you can create a new one and protect it
+with a passphrase:
+
+``` 
+  ssh-keygen -t rsa
+```
+
+Then copy the content of the public key file onto your clipboard, and
+paste it into Gerrit’s web interface:
+
+``` 
+  cat ~/.ssh/id_rsa.pub
+```
+
+> **Tip**
+> 
+> Users who frequently upload changes will also want to consider
+> starting an `ssh-agent`, and adding their private key to the list
+> managed by the agent, to reduce the frequency of entering the key’s
+> passphrase. Consult `man ssh-agent`, or your SSH client’s
+> documentation, for more details on configuration of the agent process
+> and how to add the private key.
+
+### Kerberos
+
+A kerberos-enabled server configuration allows for zero configuration in
+an existing single-sign-on environment.
+
+Your SSH client should be configured to enable kerberos authentication.
+For OpenSSH clients, this is controlled by the option
+`GSSAPIAuthentication` which should be set to `yes`.
+
+Some Linux distributions have packaged OpenSSH to enable this by default
+(e.g. Debian, Ubuntu). If this is not the case for your distribution,
+enable it for Gerrit with this entry in your local SSH configuration:
+
+``` 
+  Host gerrit.mydomain.tld
+      GSSAPIAuthentication yes
+```
+
+### Testing Connections
+
+To verify your SSH authentication is working correctly, try using an SSH
+client to connect to Gerrit’s SSHD port. By default Gerrit runs on port
+29418, using the same hostname as the web server:
+
+``` 
+  $ ssh -p 29418 sshusername@hostname
+
+    ****    Welcome to Gerrit Code Review    ****
+
+    Hi John Doe, you have successfully connected over SSH.
+
+    Unfortunately, interactive shells are disabled.
+    To clone a hosted Git repository, use:
+
+    git clone ssh://sshusername@hostname:29418/REPOSITORY_NAME.git
+
+  Connection to hostname closed.
+```
+
+In the command above, `sshusername` was configured as `Username` on the
+`Profile` tab of the `Settings` screen. If it is not set, propose a name
+and use `Select Username` to select the name.
+
+To determine the port number Gerrit is running on, visit the special
+information URL `http://'hostname'/ssh_info`, and copy the port number
+from the second field:
+
+``` 
+  $ curl http://hostname/ssh_info
+  hostname 29418
+```
+
+If you are developing an automated tool to perform uploads to Gerrit,
+let the user supply the hostname or the web address for Gerrit, and
+obtain the port number on the fly from the `/ssh_info` URL. The returned
+output from this URL is always `'hostname' SP 'port'`, or
+`NOT_AVAILABLE` if the SSHD server is not currently running.
+
+### OpenSSH Host entry
+
+If you are frequently uploading changes to the same Gerrit server,
+consider adding an SSH `Host` entry in your OpenSSH client configuration
+(`~/.ssh/config`) for that Gerrit server. It allows you use a single
+alias defining your username, hostname and port number whenever you’re
+accessing this Gerrit server in an SSH context (also command line SSH or
+SCP). Use this for easier to remember, shorter URLs, e.g.:
+
+``` 
+  $ cat ~/.ssh/config
+  ...
+  Host mygerrit
+      Hostname git.example.com
+      Port 29418
+      User john.doe
+
+  $ git clone mygerrit:myproject
+
+  $ ssh mygerrit gerrit version
+
+  $ scp -p mygerrit:hooks/commit-msg .git/hooks/
+```
+
+## git push
+
+### Create Changes
+
+To create new changes for review, simply push to the project’s magical
+`refs/for/'branch'` ref using any Git client
+tool:
+
+``` 
+  git push ssh://sshusername@hostname:29418/projectname HEAD:refs/for/branch
+```
+
+E.g. `john.doe` can use git push to upload new changes for the
+`experimental` branch of project `kernel/common`, hosted at the
+`git.example.com` Gerrit
+server:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental
+```
+
+Each new commit uploaded by the `git push` client will be converted into
+a change record on the server. The remote ref `refs/for/experimental` is
+not actually created by Gerrit, even though the client’s status messages
+may say otherwise.
+
+Other users (e.g. project owners) who have configured Gerrit to notify
+them of new changes will be automatically sent an email message when the
+push is completed.
+
+### Push Options
+
+Additional options may be specified when pushing changes.
+
+#### Email Notifications
+
+Uploaders can control to whom email notifications are sent by setting
+the `notify` option:
+
+  - `NONE`: No email notification will be sent to anyone.
+
+  - `OWNER`: Only the change owner is notified.
+
+  - `OWNER_REVIEWERS`: Only owners and reviewers will be notified. This
+    includes all reviewers, existing reviewers of the change and new
+    reviewers that are added by the `reviewer` option or by mentioning
+    in the commit message.
+
+  - `ALL`: All email notifications will be sent. This includes
+    notifications to watchers, users that have starred the change, CCs
+    and the committer and author of the uploaded commit.
+
+By default all email notifications are
+sent.
+
+``` 
+  git push ssh://bot@git.example.com:29418/kernel/common HEAD:refs/for/master%notify=NONE
+```
+
+In addition uploaders can explicitly specify accounts that should be
+notified, regardless of the value that is given for the `notify` option.
+To notify a specific account specify it by an `notify-to='email'`,
+`notify-cc='email'` or `notify-bcc='email'` option. These options can be
+specified as many times as necessary to cover all interested parties.
+Gerrit will automatically avoid sending duplicate email notifications,
+such as if one of the specified accounts had also requested to receive
+all new change notifications. The accounts that are specified by
+`notify-to='email'`, `notify-cc='email'` and `notify-bcc='email'` will
+only be notified about this one push. They are not added as [reviewers
+or CCs](#reviewers), hence they are not automatically signed up to be
+notified on further updates of the
+change.
+
+``` 
+  git push ssh://bot@git.example.com:29418/kernel/common HEAD:refs/for/master%notify=NONE,notify-to=a@a.com
+```
+
+#### Topic
+
+To include a short tag associated with all of the changes in the same
+group, such as the local topic branch name, append it after the
+destination branch name or add it with the command line flag
+`--push-option`, aliased to `-o`. In this example the short topic tag
+*driver/i42* will be saved on each change this push creates or
+updates:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental%topic=driver/i42
+
+  // this is the same as:
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental -o topic=driver/i42
+```
+
+#### Private Changes
+
+To push a private change or to turn a change private on push the
+`private` option can be
+specified:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%private
+```
+
+Omitting the `private` option when pushing updates to a private change
+doesn’t make change non-private again. To remove the private flag from a
+change on push, explicitly specify the `remove-private`
+option:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%remove-private
+```
+
+#### Work-In-Progress Changes
+
+To push a wip change or to turn a change to wip the `work-in-progress`
+(or `wip`) option can be
+specified:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%wip
+```
+
+Omitting the `wip` option when pushing updates to a wip change doesn’t
+make change ready again. To remove the `wip` flag from a change on push,
+explicitly specify the `ready`
+option:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%ready
+```
+
+#### Message
+
+A comment message can be applied to the change by using the `message`
+(or `m`)
+option:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental%m=This_is_a_rebase_on_master
+```
+
+> **Note**
+> 
+> git push refs parameter does not allow spaces. Use the *\_* character
+> instead, it will then be applied as "This is a rebase on master".
+
+#### Publish Draft Comments
+
+If you have draft comments on the change(s) that are updated by the
+push, the `publish-comments` option will cause them to be
+published:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental%publish-comments
+```
+
+The default for this option can be set as a [user
+preference](intro-user.html#publish-comments-on-push). If the preference
+is set so the default behavior is to publish, this can be overridden
+with the `no-publish-comments` (or `np`) option.
+
+#### Review Labels
+
+Review labels can be applied to the change by using the `label` (or `l`)
+option in the
+reference:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental%l=Verified+1
+```
+
+The `l='label[score]'` option may be specified more than once to apply
+multiple review
+labels.
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental%l=Code-Review+1,l=Verified+1
+```
+
+The value is optional. If not specified, it defaults to +1 (if the label
+range allows it).
+
+#### Change Edits
+
+A change edit can be pushed by specifying the `edit` (or `e`) option on
+the
+reference:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%edit
+```
+
+There is at most one change edit per user and change. In order to push a
+change edit the change must already exist.
+
+> **Note**
+> 
+> When a change edit already exists for a change then pushing with
+> `%edit` replaces the existing change edit. This option is useful to
+> rebase a change edit on the newest patch set when the rebase of the
+> change edit in the web UI fails due to conflicts.
+
+#### Reviewers
+
+Specific reviewers can be requested and/or additional *carbon copies* of
+the notification message may be sent by including the `reviewer` (or
+`r`) and `cc` options in the
+reference:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/experimental%r=a@a.com,cc=b@o.com
+```
+
+The `r='email'` and `cc='email'` options may be specified as many times
+as necessary to cover all interested parties. Gerrit will automatically
+avoid sending duplicate email notifications, such as if one of the
+specified reviewers or CC addresses had also requested to receive all
+new change notifications.
+
+If you are frequently sending changes to the same parties and/or
+branches, consider adding a custom remote block to your project’s
+`.git/config` file:
+
+``` 
+  $ cat .git/config
+  ...
+  [remote "exp"]
+    url = ssh://john.doe@git.example.com:29418/kernel/common
+    push = HEAD:refs/for/experimental%r=a@a.com,cc=b@o.com
+
+  $ git push exp
+```
+
+### Replace Changes
+
+To add an additional patch set to a change, ensure Change-Id lines were
+created in the original commit messages, and just use `git push URL
+HEAD:refs/for/...` as [described above](#push_create). Gerrit Code
+Review will automatically match the commits back to their original
+changes by taking advantage of the Change-Id lines.
+
+If Change-Id lines are not present in the commit messages, consider
+amending the message and copying the line from the change’s page on the
+web, and then using `git push` as described above.
+
+If Change-Id lines are not available, then the user must use the manual
+mapping technique described below.
+
+For more about Change-Ids, see [Change-Id Lines](user-changeid.html).
+
+#### Manual Replacement Mapping
+
+> **Note**
+> 
+> The remainder of this section describes a manual method of replacing
+> changes by matching each commit name to an existing change number.
+> End-users should instead prefer to use Change-Id lines in their commit
+> messages, as the process is then fully automated by Gerrit during
+> normal uploads.
+> 
+> See above for the preferred technique of replacing changes.
+
+To add an additional patch set to a change, replacing it with an updated
+version of the same logical modification, send the new commit to the
+change’s ref. For example, to add the commit whose SHA-1 starts with
+`c0ffee` as a new patch set for change number `1979`, use the push
+refspec `c0ffee:refs/changes/1979` as
+below:
+
+``` 
+  git push ssh://sshusername@hostname:29418/projectname c0ffee:refs/changes/1979
+```
+
+This form can be combined together with `refs/for/'branchname'` (above)
+to simultaneously create new changes and replace changes during one
+network transaction.
+
+For example, consider the following sequence of events:
+
+``` 
+  $ git commit -m A                    ; # create 3 commits
+  $ git commit -m B
+  $ git commit -m C
+
+  $ git push ... HEAD:refs/for/master  ; # upload for review
+  ... A is 1500 ...
+  ... B is 1501 ...
+  ... C is 1502 ...
+
+  $ git rebase -i HEAD~3               ; # edit "A", insert D before B
+                                       ; # now series is A'-D-B'-C'
+  $ git push ...
+      HEAD:refs/for/master
+      HEAD~3:refs/changes/1500
+      HEAD~1:refs/changes/1501
+      HEAD~0:refs/changes/1502         ; # upload replacements
+```
+
+At the final step during the push Gerrit will attach A' as a new patch
+set on change 1500; B' as a new patch set on change 1501; C' as a new
+patch set on 1502; and D will be created as a new change.
+
+Ensuring D is created as a new change requires passing the refspec
+`HEAD:refs/for/branchname`, otherwise Gerrit will ignore D and won’t do
+anything with it. For this reason it is a good idea to always include
+the create change refspec when uploading replacements.
+
+### Bypass Review
+
+Changes (and annotated tags) can be pushed directly into a repository,
+bypassing the review process. This is primarily useful for a project
+owner to create new branches, create annotated tags for releases, or to
+force-update a branch whose history needed to be rewritten.
+
+Gerrit restricts direct pushes that bypass review to:
+
+  - `+refs/heads/*+`: any branch can be updated, created, deleted, or
+    rewritten by the pusher.
+
+  - `+refs/tags/*+`: annotated tag objects pointing to any other type of
+    Git object can be created.
+
+To push branches, the proper access rights must be configured first.
+Here follows a few examples of how to configure this in Gerrit:
+
+  - Update: Any existing branch can be fast-forwarded to a new commit.
+    This is the safest mode as commits cannot be discarded. Creation of
+    new branches is rejected. Can be configured with
+    [*Push*](access-control.html#category_push_direct) access.
+
+  - Create: Allows creation of a new branch if the name does not already
+    designate an existing branch name. Needs [*Create
+    Reference*](access-control.html#category_create) configured. Please
+    note that once created, this permission doesn’t grant the right to
+    update the branch with further commits (see above for update
+    details).
+
+  - Delete: Implies Update, but also allows an existing branch to be
+    deleted. Since a force push is effectively a delete followed by a
+    create, but performed atomically on the server and logged, this also
+    permits forced push updates to branches. To grant this access,
+    configure [*Push*](access-control.html#category_push_direct) with
+    the *Force* option ticked.
+
+To push annotated tags, the `Create Annotated Tag` project right must be
+granted to one (or more) of the user’s groups. There is only one level
+of access in this category.
+
+Project owners may wish to grant themselves `Create Annotated Tag` only
+at times when a new release is being prepared, and otherwise grant
+nothing at all. This ensures that accidental pushes don’t make undesired
+changes to the public repository.
+
+### Skip Validation
+
+Even when a user has permission to push directly to a branch [bypassing
+review](#bypass_review), by default Gerrit will still validate any new
+commits, for example to check author/committer identities, and run
+[validation plugins](config-validation.html#new-commit-validation). This
+behavior can be bypassed with a push option:
+
+    git push -o skip-validation HEAD:master
+
+Using the `skip-validation` option requires the user to have a specific
+set of permissions, **in addition** to those permissions already
+required to bypass review:
+
+  - [Forge Author](access-control.html#category_forge_author)
+
+  - [Forge Committer](access-control.html#category_forge_committer)
+
+  - [Forge Server](access-control.html#category_forge_server)
+
+  - [Push Merge Commits](access-control.html#category_push_merge)
+
+Plus these additional requirements on the project:
+
+  - Project must not [require
+    Signed-off-by](project-configuration.html#require-signed-off-by).
+
+  - Project must not have `refs/meta/reject-commits`.
+
+This option only applies when pushing directly to a branch bypassing
+review. Validation also occurs when pushing new changes for review, and
+that type of validation cannot be skipped.
+
+The `skip-validation` option is always required when pushing [more than
+a certain number of commits](error-too-many-commits.html). This is the
+recommended approach when pushing lots of old history, since some
+validators would require rewriting history in order to make them pass.
+
+### Auto-Merge during Push
+
+Changes can be directly submitted on push. This is primarily useful for
+teams that don’t want to do code review but want to use Gerrit’s submit
+strategies to handle contention on busy branches. Using `%submit`
+creates a change and submits it
+immediately:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%submit
+```
+
+On auto-merge of a change neither labels nor submit rules are checked.
+If the merge fails the change stays open, but when pushing a new patch
+set the merge can be reattempted by using `%submit` again.
+
+This requires the caller to have
+[Submit](access-control.html#category_submit) permission on
+`refs/for/<ref>` (e.g. on `refs/for/refs/heads/master`). Note how this
+is different from the `Submit` permission on `refs/heads/<ref>`, and in
+particular you typically do not want to apply the `Submit` permission on
+`refs/*` (unless you are ok with bypassing submit rules).
+
+### Selecting Merge Base
+
+By default new changes are opened only for new unique commits that have
+never before been seen by the Gerrit server. Clients may override that
+behavior and force new changes to be created by setting the merge base
+SHA-1 using the *%base*
+argument:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%base=$(git rev-parse origin/master)
+```
+
+It is also possible to specify more than one *%base* argument. This may
+be useful when pushing a merge commit. Note that the *%* character has
+only to be provided once, for the first *%base*
+argument:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common HEAD:refs/for/master%base=commit-id1,base=commit-id2
+```
+
+### Creating Changes for Merged Commits
+
+Normally, changes are only created for commits that have not yet been
+merged into the branch. In some cases, you may want to review a change
+that has already been merged. A new change for a merged commit can be
+created by using the *%merged*
+argument:
+
+``` 
+  git push ssh://john.doe@git.example.com:29418/kernel/common my-merged-commit:refs/for/master%merged
+```
+
+This only creates one merged change at a time, corresponding to exactly
+`my-merged-commit`. It doesn’t walk all of history up to that point,
+which could be slow and create lots of unintended new changes. To create
+multiple new changes, run push multiple times.
+
+## repo upload
+
+repo is a multiple repository management tool, most commonly used by the
+Android Open Source Project. For more details, see [using
+repo](http://source.android.com/source/using-repo.html).
+
+### Create Changes
+
+To upload changes to a project using `repo`, ensure the manifest’s
+review field has been configured to point to the Gerrit server. Only the
+hostname or the web address needs to be given in the manifest file.
+During upload `repo` will automatically determine the correct port
+number by reading `http://'reviewhostname'/ssh_info` when its invoked.
+
+Each new commit uploaded by `repo upload` will be converted into a
+change record on the server. Other users (e.g. project owners) who have
+configured Gerrit to notify them of new changes will be automatically
+sent an email message. Additional notifications can be sent through
+command line options.
+
+For more details on using `repo upload`, see `repo help upload`.
+
+### Replace Changes
+
+To replace changes, ensure Change-Id lines were created in the commit
+messages, and just use `repo upload`. Gerrit Code Review will
+automatically match the commits back to their original changes by taking
+advantage of their Change-Id lines.
+
+If Change-Id lines are not present in the commit messages, consider
+amending the message and copying the line from the change’s page on the
+web.
+
+If Change-Id lines are not available, then the user must use the much
+more [manual mapping technique](#manual_replacement_mapping) offered by
+using `git push` to a specific `refs/changes/change#` reference.
+
+For more about Change-Ids, see [Change-Id Lines](user-changeid.html).
+
+## Gritty Details
+
+As Gerrit implements the entire SSH and Git server stack within its own
+process space, Gerrit maintains complete control over how the repository
+is updated, and what responses are sent to the `git push` client invoked
+by the end-user, or by `repo upload`. This allows Gerrit to provide
+magical refs, such as `+refs/for/*+` for new change submission and
+`+refs/changes/*+` for change replacement. When a push request is
+received to create a ref in one of these namespaces Gerrit performs its
+own logic to update the database, and then lies to the client about the
+result of the operation. A successful result causes the client to
+believe that Gerrit has created the ref, but in reality Gerrit hasn’t
+created the ref at all.
+
+By implementing the entire server stack, Gerrit is also able to perform
+project level access control checks (to verify the end-user is permitted
+to access a project) prior to advertising the available refs, and
+potentially leaking information to a snooping client. Clients cannot
+tell the difference between *project not found* and *project exists, but
+access is denied*.
+
+Gerrit can also ensure users have completed a valid Contributor
+Agreement prior to accepting any transferred objects, and if an
+agreement is required, but not completed, it aborts the network
+connection before data is sent. This ensures that project owners can be
+certain any object available in their repository has been supplied under
+at least one valid agreement.
+
+## GERRIT
+
+Part of [Gerrit Code Review](index.html)
+
+## SEARCHBOX
+
diff --git a/jekyll-source/pdf-all.sh b/jekyll-source/pdf-all.sh
new file mode 100644
index 0000000..1311770
--- /dev/null
+++ b/jekyll-source/pdf-all.sh
@@ -0,0 +1 @@
+. pdf-mydoc.sh; . pdf-product1.sh; .  pdf-product2.sh;
\ No newline at end of file
diff --git a/jekyll-source/pdf-mydoc.sh b/jekyll-source/pdf-mydoc.sh
new file mode 100644
index 0000000..48a4c6d
--- /dev/null
+++ b/jekyll-source/pdf-mydoc.sh
@@ -0,0 +1,14 @@
+# Note that .sh scripts work only on Mac. If you're on Windows, install Git Bash and use that as your client.
+
+echo 'Killing all Jekyll instances'
+kill -9 $(ps aux | grep '[j]ekyll' | awk '{print $2}')
+clear
+
+echo "Building PDF-friendly HTML site for Mydoc ...";
+bundle exec jekyll serve --detach --config _config.yml,pdfconfigs/config_mydoc_pdf.yml;
+echo "done";
+
+echo "Building the PDF ...";
+prince --javascript --input-list=_site/pdfconfigs/prince-list.txt -o pdf/mydoc.pdf;
+
+echo "Done. Look in the pdf directory to see if it printed successfully."
diff --git a/jekyll-source/pdf-product1.sh b/jekyll-source/pdf-product1.sh
new file mode 100644
index 0000000..ae5c674
--- /dev/null
+++ b/jekyll-source/pdf-product1.sh
@@ -0,0 +1,11 @@
+echo 'Killing all Jekyll instances'
+kill -9 $(ps aux | grep '[j]ekyll' | awk '{print $2}')
+clear
+
+echo "Building PDF-friendly HTML site for Product1 ...";
+bundle exec jekyll serve --detach --config _config.yml,pdfconfigs/config_product1_pdf.yml;
+echo "done";
+
+echo "Building the PDF ...";
+prince --javascript --input-list=_site/pdfconfigs/prince-list.txt -o pdf/product1.pdf;
+echo "done";
diff --git a/jekyll-source/pdf-product2.sh b/jekyll-source/pdf-product2.sh
new file mode 100644
index 0000000..2bdbc73
--- /dev/null
+++ b/jekyll-source/pdf-product2.sh
@@ -0,0 +1,11 @@
+echo 'Killing all Jekyll instances'
+kill -9 $(ps aux | grep '[j]ekyll' | awk '{print $2}')
+clear
+
+echo "Building PDF-friendly HTML site for Product2 ...";
+bundle exec jekyll serve --detach --config _config.yml,pdfconfigs/config_product2_pdf.yml;
+echo "done";
+
+echo "Building the PDF ...";
+prince --javascript --input-list=_site/pdfconfigs/prince-list.txt -o pdf/product2.pdf;
+echo "done";
diff --git a/jekyll-source/pdf/mydoc.pdf b/jekyll-source/pdf/mydoc.pdf
new file mode 100644
index 0000000..a4a9f71
--- /dev/null
+++ b/jekyll-source/pdf/mydoc.pdf
Binary files differ
diff --git a/jekyll-source/pdf/product1.pdf b/jekyll-source/pdf/product1.pdf
new file mode 100644
index 0000000..8a306e9
--- /dev/null
+++ b/jekyll-source/pdf/product1.pdf
Binary files differ
diff --git a/jekyll-source/pdf/product2.pdf b/jekyll-source/pdf/product2.pdf
new file mode 100644
index 0000000..e7c0962
--- /dev/null
+++ b/jekyll-source/pdf/product2.pdf
Binary files differ
diff --git a/jekyll-source/pdfconfigs/config_mydoc_pdf.yml b/jekyll-source/pdfconfigs/config_mydoc_pdf.yml
new file mode 100644
index 0000000..3a61d05
--- /dev/null
+++ b/jekyll-source/pdfconfigs/config_mydoc_pdf.yml
@@ -0,0 +1,20 @@
+destination: _site/
+url: "http://127.0.0.1:4010"
+baseurl: "/mydoc-pdf"
+port: 4010
+output: pdf
+product: mydoc
+print_title: Jekyll theme for documentation — mydoc product
+print_subtitle: version 6.0
+output: pdf
+defaults:
+  -
+    scope:
+      path: ""
+      type: "pages"
+    values:
+      layout: "page_print"
+      comments: true
+      search: true
+
+pdf_sidebar: mydoc_sidebar
diff --git a/jekyll-source/pdfconfigs/config_product1_pdf.yml b/jekyll-source/pdfconfigs/config_product1_pdf.yml
new file mode 100644
index 0000000..04ba870
--- /dev/null
+++ b/jekyll-source/pdfconfigs/config_product1_pdf.yml
@@ -0,0 +1,20 @@
+destination: _site/
+url: "http://127.0.0.1:4011"
+baseurl: "/product1-pdf"
+port: 4011
+output: pdf
+product: product1
+print_title: Product 1 documentation
+print_subtitle: version 1.0
+output: pdf
+defaults:
+  -
+    scope:
+      path: ""
+      type: "pages"
+    values:
+      layout: "page_print"
+      comments: true
+      search: true
+
+pdf_sidebar: product1_sidebar
diff --git a/jekyll-source/pdfconfigs/config_product2_pdf.yml b/jekyll-source/pdfconfigs/config_product2_pdf.yml
new file mode 100644
index 0000000..725537d
--- /dev/null
+++ b/jekyll-source/pdfconfigs/config_product2_pdf.yml
@@ -0,0 +1,20 @@
+destination: _site/
+url: "http://127.0.0.1:4012"
+baseurl: "/product2-pdf"
+port: 4012
+output: pdf
+product: product2
+print_title: Product 2 documentation
+print_subtitle: version 1.0
+output: pdf
+defaults:
+  -
+    scope:
+      path: ""
+      type: "pages"
+    values:
+      layout: "page_print"
+      comments: true
+      search: true
+
+pdf_sidebar: product2_sidebar
diff --git a/jekyll-source/pdfconfigs/prince-list.txt b/jekyll-source/pdfconfigs/prince-list.txt
new file mode 100644
index 0000000..0ca0247
--- /dev/null
+++ b/jekyll-source/pdfconfigs/prince-list.txt
@@ -0,0 +1,82 @@
+---
+layout: none
+search: exclude
+---
+
+
+ {% assign sidebar = site.data.sidebars[site.pdf_sidebar].entries %}
+
+   {% for entry in sidebar %}
+
+   {% for folder in entry.folders %}
+      {% if folder.output contains "pdf" %}
+              {% for folderitem in folder.folderitems %}
+                 {% if folderitem.output contains "pdf"  %}
+                    {{site.url}}{{site.baseurl}}{{folderitem.url}}
+                          {% for subfolders in folderitem.subfolders %}
+                             {% if subfolders.output contains "pdf" %}
+                                        {% for subfolderitem in subfolders.subfolderitems %}
+                                           {% if subfolderitem.output contains "pdf" %}
+                                              {{site.url}}{{site.baseurl}}{{subfolderitem.url}}
+                                           {% endif %}
+                                        {% endfor %}
+                             {% endif %}
+                          {% endfor %}
+                {% endif %}
+             {% endfor %}
+      {% endif %}
+  {% endfor %}
+ {% endfor %}
+
+
+
+{% comment %}
+
+ {% assign sidebar = site.data.sidebars[page.sidebar].entries %}
+
+   {% for entry in sidebar %}
+   {% for folder in entry.folders %}
+   {% if folder.output contains "web" %}
+   <li>
+       <a href="#">{{ folder.title }}</a>
+       <ul>
+           {% for folderitem in folder.folderitems %}
+           {% if folderitem.output contains "web" %}
+           {% if folderitem.external_url %}
+           <li><a href="{{folderitem.external_url}}" target="_blank">{{folderitem.title}}</a></li>
+           {% elsif page.url == folderitem.url %}
+           <li class="active"><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+           {% elsif folderitem.type == "empty" %}
+           <li><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+
+           {% else %}
+           <li><a href="{{folderitem.url | remove: "/"}}">{{folderitem.title}}</a></li>
+           {% endif %}
+           {% for subfolders in folderitem.subfolders %}
+           {% if subfolders.output contains "web" %}
+           <li class="subfolders">
+               <a href="#">{{ subfolders.title }}</a>
+               <ul>
+                   {% for subfolderitem in subfolders.subfolderitems %}
+                   {% if subfolderitem.output contains "web" %}
+                   {% if subfolderitem.external_url %}
+                   <li><a href="{{subfolderitem.external_url}}" target="_blank">{{subfolderitem.title}}</a></li>
+                   {% elsif page.url == subfolderitem.url %}
+                   <li class="active"><a href="{{subfolderitem.url | remove: "/"}}">{{subfolderitem.title}}</a></li>
+                   {% else %}
+                   <li><a href="{{subfolderitem.url | remove: "/"}}">{{subfolderitem.title}}</a></li>
+                   {% endif %}
+                   {% endif %}
+                   {% endfor %}
+               </ul>
+           </li>
+           {% endif %}
+           {% endfor %}
+           {% endif %}
+           {% endfor %}
+       </ul>
+    </li>
+      {% endif %}
+       {% endfor %}
+       {% endfor %}
+{% endcomment %}
diff --git a/jekyll-source/pdfconfigs/titlepage.html b/jekyll-source/pdfconfigs/titlepage.html
new file mode 100644
index 0000000..3534bc2
--- /dev/null
+++ b/jekyll-source/pdfconfigs/titlepage.html
@@ -0,0 +1,22 @@
+---
+type: title
+search: exclude
+permalink: /titlepage.html/
+---
+<div class="printTitleArea">
+    <div class="printTitle">{{site.print_title}}</div>
+    <div class="printSubtitle">{{site.print_subtitle}}</div>
+    <div class="lastGeneratedDate">Last generated: {{ site.time | date: '%B %d, %Y' }}</div>
+    <hr />
+
+    <div class="printTitleImage">
+        <img src="{{site.url}}/{{site.baseurl}}/images/company_logo_big.png" alt="Company Logo"/>
+    </div>
+
+    <div class="copyrightBoilerplate">
+        <p>&copy; {{ site.time | date: "%Y" }} {{site.company_name}}. This is a boilerplate copyright statement... All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher, except in the case of brief quotations embodied in critical reviews and certain other noncommercial uses permitted by copyright law.
+        </p>
+
+    </div>
+
+</div>
diff --git a/jekyll-source/pdfconfigs/tocpage.html b/jekyll-source/pdfconfigs/tocpage.html
new file mode 100644
index 0000000..5affb96
--- /dev/null
+++ b/jekyll-source/pdfconfigs/tocpage.html
@@ -0,0 +1,44 @@
+---
+type: frontmatter
+search: exclude
+permalink: /tocpage.html/
+---
+
+<!-- new page -->
+<div id="navig">
+    <h1>Table of Contents</h1>
+
+    {% assign sidebar = site.data.sidebars[site.pdf_sidebar].entries %}
+
+    <ul id="mysidebar" class="nav">
+        {% for entry in sidebar %}
+        {% for folder in entry.folders %}
+        {% if folder.output contains "pdf" and folder.type != "frontmatter" %}
+        <li class="sectionHead">{{ folder.title }}
+            <ul>
+                {% for folderitem in folder.folderitems %}
+                {% if folderitem.output contains "pdf" and folderitem.type != "frontmatter"%}
+                <li><a href="{{folderitem.url | prepend: site.baseurl}}">{{folderitem.title}}</a>
+                    {% for subfolders in folderitem.subfolders %}
+                    {% if subfolders.output contains "pdf" and subfolders.type != "frontmatter" %}
+                <li class="sectionHead">{{ subfolders.title }}
+                    <ul>
+                        {% for subfolderitem in subfolders.subfolderitems%}
+                        {% if subfolderitem.output contains "pdf" and subfolderitem.type != "frontmatter"%}
+                        <li><a href="{{subfolderitem.url | prepend: site.baseurl}}">{{subfolderitem.title}}</a></li>
+                        {% endif %}
+                        {% endfor %}
+                    </ul>
+                </li>
+                {% endif %}
+                {% endfor %}
+                </li>
+                {% endif %}
+                {% endfor %}
+            </ul>
+        </li>
+        {% endif %}
+        {% endfor %}
+        {% endfor %}
+    </ul>
+</div>
diff --git a/jekyll-source/search.json b/jekyll-source/search.json
new file mode 100644
index 0000000..a7f7dd0
--- /dev/null
+++ b/jekyll-source/search.json
@@ -0,0 +1,33 @@
+---
+title: search
+layout: none
+search: exclude
+---
+
+[
+{% for page in site.pages %}
+{% unless page.search == "exclude" %}
+{
+"title": "{{ page.title | escape }}",
+"tags": "{{ page.tags }}",
+"keywords": "{{page.keywords}}",
+"url": "{{ page.url | remove: "/"}}",
+"summary": "{{page.summary | strip }}"
+}
+{% unless forloop.last and site.posts.size < 1 %},{% endunless %}
+{% endunless %}
+{% endfor %}
+
+{% for post in site.posts %}
+
+{
+"title": "{{ post.title | escape }}",
+"tags": "{{ post.tags }}",
+"keywords": "{{post.keywords}}",
+"url": "{{ post.url | remove: "/" }}",
+"summary": "{{post.summary | strip }}"
+}
+{% unless forloop.last %},{% endunless %}
+{% endfor %}
+
+]
diff --git a/jekyll-source/sitemap.xml b/jekyll-source/sitemap.xml
new file mode 100644
index 0000000..38a04d6
--- /dev/null
+++ b/jekyll-source/sitemap.xml
@@ -0,0 +1,24 @@
+---
+layout: none
+search: exclude
+---
+
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+  {% for post in site.posts %}
+  {% unless post.search == "exclude" %}
+  <url>
+    <loc>{{site.url}}{{post.url}}</loc>
+  </url>
+  {% endunless %}
+  {% endfor %}
+
+
+  {% for page in site.pages %}
+  {% unless page.search == "exclude" %}
+  <url>
+    <loc>{{site.url}}{{ page.url}}</loc>
+  </url>
+  {% endunless %}
+  {% endfor %}
+</urlset>
\ No newline at end of file
diff --git a/jekyll-source/tooltips.html b/jekyll-source/tooltips.html
new file mode 100644
index 0000000..40bab9b
--- /dev/null
+++ b/jekyll-source/tooltips.html
@@ -0,0 +1,80 @@
+---
+layout: none
+search: exclude
+---
+
+<html>
+<head>
+<title> Tooltip Demo</title>
+<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
+<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
+
+<script type="text/javascript">
+$(document).ready(function(){
+
+/*Bootstrap popovers are initialized with the following script. In the options, I'm setting the placement to be on the right, the trigger to be hover rather than click, and to allow HTML from the JSON data source. */
+
+    $('[data-toggle="popover"]').popover({
+        placement : 'right',
+        trigger: 'hover',
+        html: true
+    });
+
+/* Set the location where mydoc_tooltips_source.json is. */
+var url = "tooltips.json";
+
+$.get( url, function( data ) {
+
+ /* Bootstrap popover text is defined inside a data-content attribute inside an element. That's 
+ why I'm using attr here. If you just want to insert content on the page, use append and remove the data-content argument from the parentheses.*/
+
+    $.each(data.entries, function(i, page) {
+        if (page.doc_id == "basketball") {
+            $( "#basketball" ).attr( "data-content", page.body );
+        }
+
+        if (page.doc_id == "baseball") {
+            $( "#baseball" ).attr( "data-content", page.body );
+        }
+        if (page.doc_id == "football") {
+            $( "#football" ).attr( "data-content", page.body );
+        }
+
+        if (page.doc_id == "soccer") {
+            $( "#soccer" ).attr( "data-content", page.body );
+        }
+
+
+        });
+    });
+
+ 
+});
+</script>
+
+<style>
+body {padding-left:50px;}
+</style>
+
+</head>
+<body>
+
+<h1>Tooltip Demo</h1>
+
+<p>This page is purposely separated out from the rest of theme so you can see the bare minimum code to add to a page, without all the other theme's code getting in the way.</p>
+
+<p>Content in the tooltips (actually "popovers" according to Bootstrap lingo) can be pulled in dynamically by placing the JSON file on a remote host. </p>
+
+<div class="alert alert-info" role="alert"><b>Note:</b> Make sure you view the file source so you can read the notes I've added in code comments.</div>
+
+<!-- the glyphicon class provides the info icon.-->
+
+<p>Basketball <span class="glyphicon glyphicon-info-sign" id="basketball" data-toggle="popover"></span></p>
+
+<p>Baseball <span class="glyphicon glyphicon-info-sign" id="baseball" data-toggle="popover"></span></p>
+
+<p>Football <span class="glyphicon glyphicon-info-sign" id="football" data-toggle="popover"></span></p>
+
+<p>Soccer <span class="glyphicon glyphicon-info-sign" id="soccer" data-toggle="popover"></span></p>
+
diff --git a/jekyll-source/tooltips.json b/jekyll-source/tooltips.json
new file mode 100644
index 0000000..cee21d3
--- /dev/null
+++ b/jekyll-source/tooltips.json
@@ -0,0 +1,19 @@
+---
+layout: null
+search: exclude
+---
+
+{
+"entries":
+[
+{% for page in site.tooltips %}
+{
+"doc_id": "{{ page.doc_id }}",
+"body": "{{ page.content | strip_newlines | replace: '\', '\\\\' | replace: '"', '\\"' }}"
+} {% unless forloop.last %},{% endunless %}
+{% endfor %}
+]
+}
+
+
+
diff --git a/jekyll-source/update.sh b/jekyll-source/update.sh
new file mode 100755
index 0000000..42a3bec
--- /dev/null
+++ b/jekyll-source/update.sh
@@ -0,0 +1,4 @@
+git add .
+git status
+git commit -m "content update"
+git push
\ No newline at end of file
diff --git a/jekyll-source/var/build.sh b/jekyll-source/var/build.sh
new file mode 100644
index 0000000..137b92c
--- /dev/null
+++ b/jekyll-source/var/build.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+apt-get update && \
+apt-get install -y libfontconfig zip npm git apt-transport-https ca-certificates curl openssl && \
+npm i -g npm && \
+npm cache clean -f && \
+npm install -g n && \
+n stable && \
+node --version && \
+npm --version && \
+bundle install
\ No newline at end of file
diff --git a/jekyll-test/404.html b/jekyll-test/404.html
deleted file mode 100644
index 8c23b91..0000000
--- a/jekyll-test/404.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-  <title>Your awesome title</title>
-  <meta name="description" content="Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search resu...">
-
-  <link rel="stylesheet" href="/assets/main.css">
-  <link rel="canonical" href="http://localhost:4000/404.html">
-  <link rel="alternate" type="application/rss+xml" title="Your awesome title" href="/feed.xml">
-  
-  
-</head>
-
-
-  <body>
-
-    <header class="site-header" role="banner">
-
-  <div class="wrapper">
-    
-    
-    <a class="site-title" href="/">Your awesome title</a>
-  
-    
-      <nav class="site-nav">
-        <input type="checkbox" id="nav-trigger" class="nav-trigger" />
-        <label for="nav-trigger">
-          <span class="menu-icon">
-            <svg viewBox="0 0 18 15" width="18px" height="15px">
-              <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
-              <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
-              <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
-            </svg>
-          </span>
-        </label>
-
-        <div class="trigger">
-          
-            
-            
-          
-            
-            
-            <a class="page-link" href="/about/">About</a>
-            
-          
-            
-            
-          
-            
-            
-          
-            
-            
-          
-        </div>
-      </nav>
-    
-  </div>
-</header>
-
-
-    <main class="page-content" aria-label="Content">
-      <div class="wrapper">
-        <style type="text/css" media="screen">
-  .container {
-    margin: 10px auto;
-    max-width: 600px;
-    text-align: center;
-  }
-  h1 {
-    margin: 30px 0;
-    font-size: 4em;
-    line-height: 1;
-    letter-spacing: -1px;
-  }
-</style>
-
-<div class="container">
-  <h1>404</h1>
-
-  <p><strong>Page not found :(</strong></p>
-  <p>The requested page could not be found.</p>
-</div>
-
-      </div>
-    </main>
-
-    <footer class="site-footer">
-
-  <div class="wrapper">
-
-    <h2 class="footer-heading">Your awesome title</h2>
-
-    <div class="footer-col-wrapper">
-      <div class="footer-col footer-col-1">
-        <ul class="contact-list">
-          <li>
-            
-              Your awesome title
-            
-            </li>
-            
-            <li><a href="mailto:your-email@example.com">your-email@example.com</a></li>
-            
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-2">
-        <ul class="social-media-list">
-          
-          <li>
-            <a href="https://github.com/jekyll"><span class="icon icon--github"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
-</span><span class="username">jekyll</span></a>
-
-          </li>
-          
-
-          
-          <li>
-            <a href="https://twitter.com/jekyllrb"><span class="icon icon--twitter"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
-</span><span class="username">jekyllrb</span></a>
-
-          </li>
-          
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-3">
-        <p>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
-</p>
-      </div>
-    </div>
-
-  </div>
-
-</footer>
-
-
-  </body>
-
-</html>
diff --git a/jekyll-test/about/index.html b/jekyll-test/about/index.html
deleted file mode 100644
index a1a5b40..0000000
--- a/jekyll-test/about/index.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-  <title>About</title>
-  <meta name="description" content="Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search resu...">
-
-  <link rel="stylesheet" href="/assets/main.css">
-  <link rel="canonical" href="http://localhost:4000/about/">
-  <link rel="alternate" type="application/rss+xml" title="Your awesome title" href="/feed.xml">
-  
-  
-</head>
-
-
-  <body>
-
-    <header class="site-header" role="banner">
-
-  <div class="wrapper">
-    
-    
-    <a class="site-title" href="/">Your awesome title</a>
-  
-    
-      <nav class="site-nav">
-        <input type="checkbox" id="nav-trigger" class="nav-trigger" />
-        <label for="nav-trigger">
-          <span class="menu-icon">
-            <svg viewBox="0 0 18 15" width="18px" height="15px">
-              <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
-              <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
-              <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
-            </svg>
-          </span>
-        </label>
-
-        <div class="trigger">
-          
-            
-            
-          
-            
-            
-            <a class="page-link" href="/about/">About</a>
-            
-          
-            
-            
-          
-            
-            
-          
-            
-            
-          
-        </div>
-      </nav>
-    
-  </div>
-</header>
-
-
-    <main class="page-content" aria-label="Content">
-      <div class="wrapper">
-        <article class="post">
-
-  <header class="post-header">
-    <h1 class="post-title">About</h1>
-  </header>
-
-  <div class="post-content">
-    <p>This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at <a href="https://jekyllrb.com/">jekyllrb.com</a></p>
-
-<p>You can find the source code for Minima at GitHub:
-<a href="https://github.com/jekyll">jekyll</a> /
-<a href="https://github.com/jekyll/minima">minima</a></p>
-
-<p>You can find the source code for Jekyll at GitHub:
-<a href="https://github.com/jekyll">jekyll</a> /
-<a href="https://github.com/jekyll/jekyll">jekyll</a></p>
-
-
-  </div>
-
-</article>
-
-      </div>
-    </main>
-
-    <footer class="site-footer">
-
-  <div class="wrapper">
-
-    <h2 class="footer-heading">Your awesome title</h2>
-
-    <div class="footer-col-wrapper">
-      <div class="footer-col footer-col-1">
-        <ul class="contact-list">
-          <li>
-            
-              Your awesome title
-            
-            </li>
-            
-            <li><a href="mailto:your-email@example.com">your-email@example.com</a></li>
-            
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-2">
-        <ul class="social-media-list">
-          
-          <li>
-            <a href="https://github.com/jekyll"><span class="icon icon--github"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
-</span><span class="username">jekyll</span></a>
-
-          </li>
-          
-
-          
-          <li>
-            <a href="https://twitter.com/jekyllrb"><span class="icon icon--twitter"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
-</span><span class="username">jekyllrb</span></a>
-
-          </li>
-          
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-3">
-        <p>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
-</p>
-      </div>
-    </div>
-
-  </div>
-
-</footer>
-
-
-  </body>
-
-</html>
diff --git a/jekyll-test/assets/main.css b/jekyll-test/assets/main.css
deleted file mode 100644
index 9491c61..0000000
--- a/jekyll-test/assets/main.css
+++ /dev/null
@@ -1,186 +0,0 @@
-/** Reset some basic elements */
-body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }
-
-/** Basic styling */
-body { font: 400 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; color: #111; background-color: #fdfdfd; -webkit-text-size-adjust: 100%; -webkit-font-feature-settings: "kern" 1; -moz-font-feature-settings: "kern" 1; -o-font-feature-settings: "kern" 1; font-feature-settings: "kern" 1; font-kerning: normal; }
-
-/** Set `margin-bottom` to maintain vertical rhythm */
-h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, .highlight { margin-bottom: 15px; }
-
-/** Images */
-img { max-width: 100%; vertical-align: middle; }
-
-/** Figures */
-figure > img { display: block; }
-
-figcaption { font-size: 14px; }
-
-/** Lists */
-ul, ol { margin-left: 30px; }
-
-li > ul, li > ol { margin-bottom: 0; }
-
-/** Headings */
-h1, h2, h3, h4, h5, h6 { font-weight: 400; }
-
-/** Links */
-a { color: #2a7ae2; text-decoration: none; }
-a:visited { color: #1756a9; }
-a:hover { color: #111; text-decoration: underline; }
-.social-media-list a:hover { text-decoration: none; }
-.social-media-list a:hover .username { text-decoration: underline; }
-
-/** Blockquotes */
-blockquote { color: #828282; border-left: 4px solid #e8e8e8; padding-left: 15px; font-size: 18px; letter-spacing: -1px; font-style: italic; }
-blockquote > :last-child { margin-bottom: 0; }
-
-/** Code formatting */
-pre, code { font-size: 15px; border: 1px solid #e8e8e8; border-radius: 3px; background-color: #eef; }
-
-code { padding: 1px 5px; }
-
-pre { padding: 8px 12px; overflow-x: auto; }
-pre > code { border: 0; padding-right: 0; padding-left: 0; }
-
-/** Wrapper */
-.wrapper { max-width: -webkit-calc(800px - (30px * 2)); max-width: calc(800px - (30px * 2)); margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }
-@media screen and (max-width: 800px) { .wrapper { max-width: -webkit-calc(800px - (30px)); max-width: calc(800px - (30px)); padding-right: 15px; padding-left: 15px; } }
-
-/** Clearfix */
-.wrapper:after, .footer-col-wrapper:after { content: ""; display: table; clear: both; }
-
-/** Icons */
-.icon > svg { display: inline-block; vertical-align: middle; }
-.icon > svg path { fill: #828282; }
-
-.social-media-list .icon { padding-right: 5px; }
-.social-media-list li + li { padding-top: 5px; }
-
-/** Site header */
-.site-header { border-top: 5px solid #424242; border-bottom: 1px solid #e8e8e8; min-height: 55.95px; position: relative; }
-
-.site-title { font-size: 26px; font-weight: 300; line-height: 54px; letter-spacing: -1px; margin-bottom: 0; float: left; }
-.site-title, .site-title:visited { color: #424242; }
-
-.site-nav { float: right; line-height: 54px; }
-.site-nav .nav-trigger { display: none; }
-.site-nav .menu-icon { display: none; }
-.site-nav .page-link { color: #111; line-height: 1.5; }
-.site-nav .page-link:not(:last-child) { margin-right: 20px; }
-@media screen and (max-width: 600px) { .site-nav { position: absolute; top: 9px; right: 15px; background-color: #fdfdfd; border: 1px solid #e8e8e8; border-radius: 5px; text-align: right; }
-  .site-nav label[for="nav-trigger"] { display: block; float: right; width: 36px; height: 36px; z-index: 2; cursor: pointer; }
-  .site-nav .menu-icon { display: block; float: right; width: 36px; height: 26px; line-height: 0; padding-top: 10px; text-align: center; }
-  .site-nav .menu-icon > svg path { fill: #424242; }
-  .site-nav input ~ .trigger { clear: both; display: none; }
-  .site-nav input:checked ~ .trigger { display: block; padding-bottom: 5px; }
-  .site-nav .page-link { display: block; padding: 5px 10px; margin-left: 20px; }
-  .site-nav .page-link:not(:last-child) { margin-right: 0; } }
-
-/** Site footer */
-.site-footer { border-top: 1px solid #e8e8e8; padding: 30px 0; }
-
-.footer-heading { font-size: 18px; margin-bottom: 15px; }
-
-.contact-list, .social-media-list { list-style: none; margin-left: 0; }
-
-.footer-col-wrapper { font-size: 15px; color: #828282; margin-left: -15px; }
-
-.footer-col { float: left; margin-bottom: 15px; padding-left: 15px; }
-
-.footer-col-1 { width: -webkit-calc(35% - (30px / 2)); width: calc(35% - (30px / 2)); }
-
-.footer-col-2 { width: -webkit-calc(20% - (30px / 2)); width: calc(20% - (30px / 2)); }
-
-.footer-col-3 { width: -webkit-calc(45% - (30px / 2)); width: calc(45% - (30px / 2)); }
-
-@media screen and (max-width: 800px) { .footer-col-1, .footer-col-2 { width: -webkit-calc(50% - (30px / 2)); width: calc(50% - (30px / 2)); }
-  .footer-col-3 { width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }
-@media screen and (max-width: 600px) { .footer-col { float: none; width: -webkit-calc(100% - (30px / 2)); width: calc(100% - (30px / 2)); } }
-/** Page content */
-.page-content { padding: 30px 0; }
-
-.page-heading { font-size: 20px; }
-
-.post-list { margin-left: 0; list-style: none; }
-.post-list > li { margin-bottom: 30px; }
-
-.post-meta { font-size: 14px; color: #828282; }
-
-.post-link { display: block; font-size: 24px; }
-
-/** Posts */
-.post-header { margin-bottom: 30px; }
-
-.post-title { font-size: 42px; letter-spacing: -1px; line-height: 1; }
-@media screen and (max-width: 800px) { .post-title { font-size: 36px; } }
-
-.post-content { margin-bottom: 30px; }
-.post-content h2 { font-size: 32px; }
-@media screen and (max-width: 800px) { .post-content h2 { font-size: 28px; } }
-.post-content h3 { font-size: 26px; }
-@media screen and (max-width: 800px) { .post-content h3 { font-size: 22px; } }
-.post-content h4 { font-size: 20px; }
-@media screen and (max-width: 800px) { .post-content h4 { font-size: 18px; } }
-
-/** Syntax highlighting styles */
-.highlight { background: #fff; }
-.highlighter-rouge .highlight { background: #eef; }
-.highlight .c { color: #998; font-style: italic; }
-.highlight .err { color: #a61717; background-color: #e3d2d2; }
-.highlight .k { font-weight: bold; }
-.highlight .o { font-weight: bold; }
-.highlight .cm { color: #998; font-style: italic; }
-.highlight .cp { color: #999; font-weight: bold; }
-.highlight .c1 { color: #998; font-style: italic; }
-.highlight .cs { color: #999; font-weight: bold; font-style: italic; }
-.highlight .gd { color: #000; background-color: #fdd; }
-.highlight .gd .x { color: #000; background-color: #faa; }
-.highlight .ge { font-style: italic; }
-.highlight .gr { color: #a00; }
-.highlight .gh { color: #999; }
-.highlight .gi { color: #000; background-color: #dfd; }
-.highlight .gi .x { color: #000; background-color: #afa; }
-.highlight .go { color: #888; }
-.highlight .gp { color: #555; }
-.highlight .gs { font-weight: bold; }
-.highlight .gu { color: #aaa; }
-.highlight .gt { color: #a00; }
-.highlight .kc { font-weight: bold; }
-.highlight .kd { font-weight: bold; }
-.highlight .kp { font-weight: bold; }
-.highlight .kr { font-weight: bold; }
-.highlight .kt { color: #458; font-weight: bold; }
-.highlight .m { color: #099; }
-.highlight .s { color: #d14; }
-.highlight .na { color: #008080; }
-.highlight .nb { color: #0086B3; }
-.highlight .nc { color: #458; font-weight: bold; }
-.highlight .no { color: #008080; }
-.highlight .ni { color: #800080; }
-.highlight .ne { color: #900; font-weight: bold; }
-.highlight .nf { color: #900; font-weight: bold; }
-.highlight .nn { color: #555; }
-.highlight .nt { color: #000080; }
-.highlight .nv { color: #008080; }
-.highlight .ow { font-weight: bold; }
-.highlight .w { color: #bbb; }
-.highlight .mf { color: #099; }
-.highlight .mh { color: #099; }
-.highlight .mi { color: #099; }
-.highlight .mo { color: #099; }
-.highlight .sb { color: #d14; }
-.highlight .sc { color: #d14; }
-.highlight .sd { color: #d14; }
-.highlight .s2 { color: #d14; }
-.highlight .se { color: #d14; }
-.highlight .sh { color: #d14; }
-.highlight .si { color: #d14; }
-.highlight .sx { color: #d14; }
-.highlight .sr { color: #009926; }
-.highlight .s1 { color: #d14; }
-.highlight .ss { color: #990073; }
-.highlight .bp { color: #999; }
-.highlight .vc { color: #008080; }
-.highlight .vg { color: #008080; }
-.highlight .vi { color: #008080; }
-.highlight .il { color: #099; }
diff --git a/jekyll-test/feed.xml b/jekyll-test/feed.xml
deleted file mode 100644
index 0232f62..0000000
--- a/jekyll-test/feed.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.5.2">Jekyll</generator><link href="http://localhost:4000/feed.xml" rel="self" type="application/atom+xml" /><link href="http://localhost:4000/" rel="alternate" type="text/html" /><updated>2017-10-03T07:18:51-07:00</updated><id>http://localhost:4000/</id><title type="html">Your awesome title</title><subtitle>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
-</subtitle><entry><title type="html">Welcome to Jekyll!</title><link href="http://localhost:4000/jekyll/update/2017/10/03/welcome-to-jekyll.html" rel="alternate" type="text/html" title="Welcome to Jekyll!" /><published>2017-10-03T07:15:42-07:00</published><updated>2017-10-03T07:15:42-07:00</updated><id>http://localhost:4000/jekyll/update/2017/10/03/welcome-to-jekyll</id><content type="html" xml:base="http://localhost:4000/jekyll/update/2017/10/03/welcome-to-jekyll.html">&lt;p&gt;You’ll find this post in your &lt;code class=&quot;highlighter-rouge&quot;&gt;_posts&lt;/code&gt; directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run &lt;code class=&quot;highlighter-rouge&quot;&gt;jekyll serve&lt;/code&gt;, which launches a web server and auto-regenerates your site when a file is updated.&lt;/p&gt;
-
-&lt;p&gt;To add new posts, simply add a file in the &lt;code class=&quot;highlighter-rouge&quot;&gt;_posts&lt;/code&gt; directory that follows the convention &lt;code class=&quot;highlighter-rouge&quot;&gt;YYYY-MM-DD-name-of-post.ext&lt;/code&gt; and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.&lt;/p&gt;
-
-&lt;p&gt;Jekyll also offers powerful support for code snippets:&lt;/p&gt;
-
-&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;print_hi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
-  &lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hi, &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
-&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
-&lt;span class=&quot;n&quot;&gt;print_hi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'Tom'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
-&lt;span class=&quot;c1&quot;&gt;#=&amp;gt; prints 'Hi, Tom' to STDOUT.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;
-
-&lt;p&gt;Check out the &lt;a href=&quot;https://jekyllrb.com/docs/home&quot;&gt;Jekyll docs&lt;/a&gt; for more info on how to get the most out of Jekyll. File all bugs/feature requests at &lt;a href=&quot;https://github.com/jekyll/jekyll&quot;&gt;Jekyll’s GitHub repo&lt;/a&gt;. If you have questions, you can ask them on &lt;a href=&quot;https://talk.jekyllrb.com/&quot;&gt;Jekyll Talk&lt;/a&gt;.&lt;/p&gt;</content><author><name></name></author><summary type="html">You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.</summary></entry></feed>
\ No newline at end of file
diff --git a/jekyll-test/index.html b/jekyll-test/index.html
deleted file mode 100644
index e1cc2cf..0000000
--- a/jekyll-test/index.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-  <title>Your awesome title</title>
-  <meta name="description" content="Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search resu...">
-
-  <link rel="stylesheet" href="/assets/main.css">
-  <link rel="canonical" href="http://localhost:4000/">
-  <link rel="alternate" type="application/rss+xml" title="Your awesome title" href="/feed.xml">
-  
-  
-</head>
-
-
-  <body>
-
-    <header class="site-header" role="banner">
-
-  <div class="wrapper">
-    
-    
-    <a class="site-title" href="/">Your awesome title</a>
-  
-    
-      <nav class="site-nav">
-        <input type="checkbox" id="nav-trigger" class="nav-trigger" />
-        <label for="nav-trigger">
-          <span class="menu-icon">
-            <svg viewBox="0 0 18 15" width="18px" height="15px">
-              <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
-              <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
-              <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
-            </svg>
-          </span>
-        </label>
-
-        <div class="trigger">
-          
-            
-            
-          
-            
-            
-            <a class="page-link" href="/about/">About</a>
-            
-          
-            
-            
-          
-            
-            
-          
-            
-            
-          
-        </div>
-      </nav>
-    
-  </div>
-</header>
-
-
-    <main class="page-content" aria-label="Content">
-      <div class="wrapper">
-        <div class="home">
-
-  <h1 class="page-heading">Posts</h1>
-  
-  
-
-
-  <ul class="post-list">
-    
-      <li>
-        
-        <span class="post-meta">Oct 3, 2017</span>
-
-        <h2>
-          <a class="post-link" href="/jekyll/update/2017/10/03/welcome-to-jekyll.html">Welcome to Jekyll!</a>
-        </h2>
-      </li>
-    
-  </ul>
-
-  <p class="rss-subscribe">subscribe <a href="/feed.xml">via RSS</a></p>
-
-</div>
-
-      </div>
-    </main>
-
-    <footer class="site-footer">
-
-  <div class="wrapper">
-
-    <h2 class="footer-heading">Your awesome title</h2>
-
-    <div class="footer-col-wrapper">
-      <div class="footer-col footer-col-1">
-        <ul class="contact-list">
-          <li>
-            
-              Your awesome title
-            
-            </li>
-            
-            <li><a href="mailto:your-email@example.com">your-email@example.com</a></li>
-            
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-2">
-        <ul class="social-media-list">
-          
-          <li>
-            <a href="https://github.com/jekyll"><span class="icon icon--github"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
-</span><span class="username">jekyll</span></a>
-
-          </li>
-          
-
-          
-          <li>
-            <a href="https://twitter.com/jekyllrb"><span class="icon icon--twitter"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
-</span><span class="username">jekyllrb</span></a>
-
-          </li>
-          
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-3">
-        <p>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
-</p>
-      </div>
-    </div>
-
-  </div>
-
-</footer>
-
-
-  </body>
-
-</html>
diff --git a/jekyll-test/jekyll/update/2017/10/03/welcome-to-jekyll.html b/jekyll-test/jekyll/update/2017/10/03/welcome-to-jekyll.html
deleted file mode 100644
index 44a88d1..0000000
--- a/jekyll-test/jekyll/update/2017/10/03/welcome-to-jekyll.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-  <title>Welcome to Jekyll!</title>
-  <meta name="description" content="You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different wa...">
-
-  <link rel="stylesheet" href="/assets/main.css">
-  <link rel="canonical" href="http://localhost:4000/jekyll/update/2017/10/03/welcome-to-jekyll.html">
-  <link rel="alternate" type="application/rss+xml" title="Your awesome title" href="/feed.xml">
-  
-  
-</head>
-
-
-  <body>
-
-    <header class="site-header" role="banner">
-
-  <div class="wrapper">
-    
-    
-    <a class="site-title" href="/">Your awesome title</a>
-  
-    
-      <nav class="site-nav">
-        <input type="checkbox" id="nav-trigger" class="nav-trigger" />
-        <label for="nav-trigger">
-          <span class="menu-icon">
-            <svg viewBox="0 0 18 15" width="18px" height="15px">
-              <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
-              <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
-              <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
-            </svg>
-          </span>
-        </label>
-
-        <div class="trigger">
-          
-            
-            
-          
-            
-            
-            <a class="page-link" href="/about/">About</a>
-            
-          
-            
-            
-          
-            
-            
-          
-            
-            
-          
-        </div>
-      </nav>
-    
-  </div>
-</header>
-
-
-    <main class="page-content" aria-label="Content">
-      <div class="wrapper">
-        <article class="post" itemscope itemtype="http://schema.org/BlogPosting">
-
-  <header class="post-header">
-    <h1 class="post-title" itemprop="name headline">Welcome to Jekyll!</h1>
-    <p class="post-meta">
-      <time datetime="2017-10-03T07:15:42-07:00" itemprop="datePublished">
-        
-        Oct 3, 2017
-      </time>
-      </p>
-  </header>
-
-  <div class="post-content" itemprop="articleBody">
-    <p>You’ll find this post in your <code class="highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p>
-
-<p>To add new posts, simply add a file in the <code class="highlighter-rouge">_posts</code> directory that follows the convention <code class="highlighter-rouge">YYYY-MM-DD-name-of-post.ext</code> and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p>
-
-<p>Jekyll also offers powerful support for code snippets:</p>
-
-<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span>
-  <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span>
-<span class="k">end</span>
-<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span>
-<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span></code></pre></figure>
-
-<p>Check out the <a href="https://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p>
-
-
-  </div>
-
-  
-</article>
-
-      </div>
-    </main>
-
-    <footer class="site-footer">
-
-  <div class="wrapper">
-
-    <h2 class="footer-heading">Your awesome title</h2>
-
-    <div class="footer-col-wrapper">
-      <div class="footer-col footer-col-1">
-        <ul class="contact-list">
-          <li>
-            
-              Your awesome title
-            
-            </li>
-            
-            <li><a href="mailto:your-email@example.com">your-email@example.com</a></li>
-            
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-2">
-        <ul class="social-media-list">
-          
-          <li>
-            <a href="https://github.com/jekyll"><span class="icon icon--github"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/></svg>
-</span><span class="username">jekyll</span></a>
-
-          </li>
-          
-
-          
-          <li>
-            <a href="https://twitter.com/jekyllrb"><span class="icon icon--twitter"><svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="#828282" d="M15.969,3.058c-0.586,0.26-1.217,0.436-1.878,0.515c0.675-0.405,1.194-1.045,1.438-1.809c-0.632,0.375-1.332,0.647-2.076,0.793c-0.596-0.636-1.446-1.033-2.387-1.033c-1.806,0-3.27,1.464-3.27,3.27 c0,0.256,0.029,0.506,0.085,0.745C5.163,5.404,2.753,4.102,1.14,2.124C0.859,2.607,0.698,3.168,0.698,3.767 c0,1.134,0.577,2.135,1.455,2.722C1.616,6.472,1.112,6.325,0.671,6.08c0,0.014,0,0.027,0,0.041c0,1.584,1.127,2.906,2.623,3.206 C3.02,9.402,2.731,9.442,2.433,9.442c-0.211,0-0.416-0.021-0.615-0.059c0.416,1.299,1.624,2.245,3.055,2.271 c-1.119,0.877-2.529,1.4-4.061,1.4c-0.264,0-0.524-0.015-0.78-0.046c1.447,0.928,3.166,1.469,5.013,1.469 c6.015,0,9.304-4.983,9.304-9.304c0-0.142-0.003-0.283-0.009-0.423C14.976,4.29,15.531,3.714,15.969,3.058z"/></svg>
-</span><span class="username">jekyllrb</span></a>
-
-          </li>
-          
-        </ul>
-      </div>
-
-      <div class="footer-col footer-col-3">
-        <p>Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
-</p>
-      </div>
-    </div>
-
-  </div>
-
-</footer>
-
-
-  </body>
-
-</html>
