diff --git a/README.md b/README.md
index 4622ae3aecb21af5fb32d90aedb91d2961860898..68c8f64bb480dd555f384ce3796a0a3d6af0be53 100644
--- a/README.md
+++ b/README.md
@@ -56,7 +56,8 @@ In this project, host-specific settings are defined in the `scipost-host-setting
     "SERVER_EMAIL": "",
     "JOURNALS_DIR": "<journals_dir>",
     "CROSSREF_LOGIN_ID": "",
-    "CROSSREF_LOGIN_PASSWORD": ""
+    "CROSSREF_LOGIN_PASSWORD": "",
+    "HAYSTACK_PATH": "<haystack_dir>"
 }
 ```
 
@@ -110,3 +111,18 @@ can use them.
 (scipostenv) $ ./manage.py makemigration
 (scipostenv) $ ./manage.py migrate
 ```
+
+## Documentation
+Project documentation can be found in `docs` and can be rendered using
+[Sphinx](http://www.sphinx-doc.org/). Note that rendering documentation is only
+available from the virtual environment - and only when the host settings have
+been configured.
+
+To build the documentation, run:
+
+```shell
+(scipostenv) $ cd docs
+(scipostenv) $ make html
+```
+
+After this, generated documentation should be available in `docs/_build/html`.
diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle
deleted file mode 100644
index ef3131bf04df499c64d0e46c8bb4ee76de188c05..0000000000000000000000000000000000000000
Binary files a/docs/_build/doctrees/environment.pickle and /dev/null differ
diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree
deleted file mode 100644
index fcae77ed1e84bf5e488047d5a1ae225a1cf211cb..0000000000000000000000000000000000000000
Binary files a/docs/_build/doctrees/index.doctree and /dev/null differ
diff --git a/docs/_build/doctrees/modules/models.doctree b/docs/_build/doctrees/modules/models.doctree
deleted file mode 100644
index e20433445773022400c62eea6b976307ff0c7dbd..0000000000000000000000000000000000000000
Binary files a/docs/_build/doctrees/modules/models.doctree and /dev/null differ
diff --git a/docs/_build/doctrees/modules/views.doctree b/docs/_build/doctrees/modules/views.doctree
deleted file mode 100644
index f261a7ae45fbaa86aa5294b8eb331d7ddd4ca64d..0000000000000000000000000000000000000000
Binary files a/docs/_build/doctrees/modules/views.doctree and /dev/null differ
diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo
deleted file mode 100644
index 437c337e812e68f9a64439c305546bd46c62e678..0000000000000000000000000000000000000000
--- a/docs/_build/html/.buildinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-# Sphinx build info version 1
-# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: cd905be45edcdbc0b95fc6ff854e3c2b
-tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/_build/html/_modules/commentaries/models.html b/docs/_build/html/_modules/commentaries/models.html
deleted file mode 100644
index 6ee2cdcbe582537a81dad570b6fe0905d2f4bb87..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/commentaries/models.html
+++ /dev/null
@@ -1,375 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>commentaries.models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>commentaries.models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for commentaries.models</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">models</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span>
-<span class="kn">from</span> <span class="nn">django.contrib.postgres.fields</span> <span class="k">import</span> <span class="n">JSONField</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Template</span><span class="p">,</span> <span class="n">Context</span>
-
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">,</span> <span class="n">SCIPOST_JOURNALS_SPECIALIZATIONS</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">Contributor</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">SCIPOST_SUBJECT_AREAS</span>
-
-
-
-<span class="n">COMMENTARY_TYPES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;published&#39;</span><span class="p">,</span> <span class="s1">&#39;published paper&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;preprint&#39;</span><span class="p">,</span> <span class="s1">&#39;arXiv preprint&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-
-<div class="viewcode-block" id="Commentary"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#commentaries.models.Commentary">[docs]</a><span class="k">class</span> <span class="nc">Commentary</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    A Commentary contains all the contents of a SciPost Commentary page for a given publication.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">requested_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                      <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;requested_by&#39;</span><span class="p">)</span>
-    <span class="n">vetted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">vetted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="nb">type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">9</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">COMMENTARY_TYPES</span><span class="p">)</span> <span class="c1"># published paper or arxiv preprint</span>
-    <span class="n">discipline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;physics&#39;</span><span class="p">)</span>
-    <span class="n">domain</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">)</span>
-<span class="c1">#    specialization = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_SPECIALIZATIONS)</span>
-    <span class="n">subject_area</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;Phys:QP&#39;</span><span class="p">)</span>
-    <span class="n">open_for_commenting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">pub_title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;title&#39;</span><span class="p">)</span>
-    <span class="n">arxiv_identifier</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
-                                        <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;arXiv identifier (including version nr)&quot;</span><span class="p">,</span>
-                                        <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">arxiv_link</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">URLField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;arXiv link (including version nr)&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">pub_DOI</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;DOI of the original publication&#39;</span><span class="p">,</span>
-                               <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">pub_DOI_link</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">URLField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;DOI link to the original publication&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">metadata</span> <span class="o">=</span> <span class="n">JSONField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="p">{},</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">arxiv_or_DOI_string</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span>
-        <span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
-        <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;string form of arxiv nr or DOI for commentary url&#39;</span><span class="p">,</span>
-        <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">author_list</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">)</span>
-    <span class="c1"># Authors which have been mapped to contributors:</span>
-    <span class="n">authors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                      <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_com&#39;</span><span class="p">)</span>
-    <span class="n">authors_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                             <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_com_claims&#39;</span><span class="p">)</span>
-    <span class="n">authors_false_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                   <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_com_false_claims&#39;</span><span class="p">)</span>
-    <span class="n">journal</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">volume</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">pages</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">50</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">pub_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;date of original publication&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">pub_abstract</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;abstract&#39;</span><span class="p">)</span>
-    <span class="n">latest_activity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
-        <span class="n">verbose_name_plural</span> <span class="o">=</span> <span class="s1">&#39;Commentaries&#39;</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_table</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for display in Commentary page itself</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;table&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Title: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ pub_title }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Author(s): &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ author_list }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;As Contributors: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;td&gt;&#39;</span>
-            <span class="k">for</span> <span class="n">auth</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/contributor/&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">auth</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;&gt;&#39;</span> <span class="o">+</span> <span class="n">auth</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span>
-                           <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">auth</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/a&gt;,&amp;nbsp;&#39;</span><span class="p">)</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/td&gt;&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;td&gt;(none claimed)&lt;/td&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/tr&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;published&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Journal ref.: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ journal }} {{ volume }}, &#39;</span>
-                       <span class="s1">&#39;{{ pages }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                       <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;DOI: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;{{ pub_DOI_link }}&quot; &#39;</span>
-                       <span class="s1">&#39;target=&quot;_blank&quot;&gt;{{ pub_DOI_link }}&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#39;</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;preprint&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;tr&gt;&lt;td&gt;arxiv Link: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;{{ arxiv_link }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ arxiv_link }}&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_date</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Date: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ pub_date }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/table&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span>
-                <span class="s1">&#39;pub_title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                <span class="p">})</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;published&#39;</span><span class="p">:</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;journal&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">journal</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;volume&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">volume</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;pages&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pages</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;pub_DOI_link&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI_link</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;pub_date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_date</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;preprint&#39;</span><span class="p">:</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;arxiv_link&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for display in search lists</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;scipost_url&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">scipost_url</span><span class="p">(),</span> <span class="s1">&#39;pub_title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span><span class="p">,</span>
-                           <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;latest_activity&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">latest_activity</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)})</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;{{ scipost_url }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ pub_title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;published&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;, {{ journal }} {{ volume }}, {{ pages }}&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;journal&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">journal</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;volume&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">volume</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;pages&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pages</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;preprint&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;, &lt;a href=&quot;{{ arxiv_link }}&quot;&gt;{{ arxiv_link }}&lt;/a&gt;&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;arxiv_link&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/p&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_date</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt; (published {{ pub_date }}) - &#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;pub_date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pub_date</span><span class="p">)</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;latest activity: {{ latest_activity }}&lt;/p&gt;&#39;</span>
-                   <span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">simple_header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for display in Lists</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;scipost_url&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">scipost_url</span><span class="p">(),</span> <span class="s1">&#39;pub_title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_title</span><span class="p">,</span>
-                           <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">})</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;{{ scipost_url }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ pub_title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;published&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;, {{ journal }} {{ volume }}, {{ pages }}&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;journal&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">journal</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;volume&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">volume</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;pages&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pages</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;preprint&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;, &lt;a href=&quot;{{ arxiv_link }}&quot;&gt;{{ arxiv_link }}&lt;/a&gt;&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;arxiv_link&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/p&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="Commentary.parse_links_into_urls"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#commentaries.models.Commentary.parse_links_into_urls">[docs]</a>    <span class="k">def</span> <span class="nf">parse_links_into_urls</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot; Takes the arXiv nr or DOI and turns it into the urls &quot;&quot;&quot;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI_link</span> <span class="o">=</span> <span class="s1">&#39;http://dx.doi.org/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_DOI</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span> <span class="o">=</span> <span class="s1">&#39;arXiv:&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span> <span class="o">=</span> <span class="s1">&#39;http://arxiv.org/abs/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier</span>
-        <span class="k">else</span><span class="p">:</span> <span class="c1"># should never come here</span>
-            <span class="k">pass</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">save</span><span class="p">()</span></div>
-
-<div class="viewcode-block" id="Commentary.scipost_url"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#commentaries.models.Commentary.scipost_url">[docs]</a>    <span class="k">def</span> <span class="nf">scipost_url</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot; Returns the url of the SciPost Commentary Page &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="s1">&#39;/commentary/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span></div>
-
-<div class="viewcode-block" id="Commentary.scipost_url_full"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#commentaries.models.Commentary.scipost_url_full">[docs]</a>    <span class="k">def</span> <span class="nf">scipost_url_full</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot; Returns the url of the SciPost Commentary Page &quot;&quot;&quot;</span>
-        <span class="k">return</span> <span class="s1">&#39;https://scipost.org/commentary/&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span></div></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/commentaries/views.html b/docs/_build/html/_modules/commentaries/views.html
deleted file mode 100644
index 5bc079cb0b80be03d341a5052a5de431bc4738e7..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/commentaries/views.html
+++ /dev/null
@@ -1,646 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>commentaries.views &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>commentaries.views</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for commentaries.views</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">datetime</span>
-<span class="kn">import</span> <span class="nn">feedparser</span>
-<span class="kn">import</span> <span class="nn">re</span>
-<span class="kn">import</span> <span class="nn">requests</span>
-
-<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="k">import</span> <span class="n">Q</span>
-<span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">get_object_or_404</span><span class="p">,</span> <span class="n">render</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth</span> <span class="k">import</span> <span class="n">authenticate</span><span class="p">,</span> <span class="n">login</span><span class="p">,</span> <span class="n">logout</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.decorators</span> <span class="k">import</span> <span class="n">login_required</span><span class="p">,</span> <span class="n">permission_required</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span>
-<span class="kn">from</span> <span class="nn">django.core.mail</span> <span class="k">import</span> <span class="n">EmailMessage</span>
-<span class="kn">from</span> <span class="nn">django.core.urlresolvers</span> <span class="k">import</span> <span class="n">reverse</span>
-<span class="kn">from</span> <span class="nn">django.http</span> <span class="k">import</span> <span class="n">HttpResponse</span><span class="p">,</span> <span class="n">HttpResponseRedirect</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">redirect</span>
-<span class="kn">from</span> <span class="nn">django.views.decorators.csrf</span> <span class="k">import</span> <span class="n">csrf_protect</span>
-<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="k">import</span> <span class="n">Avg</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="n">Commentary</span>
-<span class="kn">from</span> <span class="nn">.forms</span> <span class="k">import</span> <span class="n">RequestCommentaryForm</span><span class="p">,</span> <span class="n">DOIToQueryForm</span><span class="p">,</span> <span class="n">IdentifierToQueryForm</span>
-<span class="kn">from</span> <span class="nn">.forms</span> <span class="k">import</span> <span class="n">VetCommentaryForm</span><span class="p">,</span> <span class="n">CommentarySearchForm</span><span class="p">,</span> <span class="n">commentary_refusal_dict</span>
-
-<span class="kn">from</span> <span class="nn">comments.models</span> <span class="k">import</span> <span class="n">Comment</span>
-<span class="kn">from</span> <span class="nn">comments.forms</span> <span class="k">import</span> <span class="n">CommentForm</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">Contributor</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">title_dict</span>
-<span class="kn">from</span> <span class="nn">scipost.forms</span> <span class="k">import</span> <span class="n">AuthenticationForm</span>
-
-
-<span class="c1">################</span>
-<span class="c1"># Commentaries</span>
-<span class="c1">################</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_request_commentary_pages&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">request_commentary</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-            <span class="n">existing_commentary</span> <span class="o">=</span> <span class="kc">None</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_DOI&#39;</span><span class="p">]:</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;You must provide either a DOI (for a published paper) &#39;</span>
-                                <span class="s1">&#39;or an arXiv identifier (for a preprint).&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier&#39;</span><span class="p">]</span> <span class="ow">and</span>
-                  <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span>
-                   <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">())):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;There already exists a Commentary Page on this preprint, see&#39;</span>
-                <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span>
-                    <span class="n">Commentary</span><span class="p">,</span>
-                    <span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier&#39;</span><span class="p">])</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_DOI&#39;</span><span class="p">]</span> <span class="ow">and</span>
-                  <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">pub_DOI</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_DOI&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">()):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;There already exists a Commentary Page on this publication, see&#39;</span>
-                <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">pub_DOI</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_DOI&#39;</span><span class="p">])</span>
-            <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span>
-                <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span>
-                <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                           <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-                           <span class="s1">&#39;existing_commentary&#39;</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            
-            <span class="c1"># Otherwise we can create the Commentary</span>
-            <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-            <span class="n">commentary</span> <span class="o">=</span> <span class="n">Commentary</span> <span class="p">(</span>
-                <span class="n">requested_by</span> <span class="o">=</span> <span class="n">contributor</span><span class="p">,</span>
-                <span class="nb">type</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;type&#39;</span><span class="p">],</span>
-                <span class="n">discipline</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;discipline&#39;</span><span class="p">],</span>
-                <span class="n">domain</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;domain&#39;</span><span class="p">],</span>
-                <span class="n">subject_area</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;subject_area&#39;</span><span class="p">],</span>
-                <span class="n">pub_title</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_title&#39;</span><span class="p">],</span>
-                <span class="n">arxiv_identifier</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier&#39;</span><span class="p">],</span>
-                <span class="n">pub_DOI</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_DOI&#39;</span><span class="p">],</span>
-                <span class="n">metadata</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;metadata&#39;</span><span class="p">],</span>
-                <span class="n">author_list</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;author_list&#39;</span><span class="p">],</span>
-                <span class="n">journal</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;journal&#39;</span><span class="p">],</span>
-                <span class="n">volume</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;volume&#39;</span><span class="p">],</span>
-                <span class="n">pages</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pages&#39;</span><span class="p">],</span>
-                <span class="n">pub_date</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_date&#39;</span><span class="p">],</span>
-                <span class="n">pub_abstract</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_abstract&#39;</span><span class="p">],</span>
-                <span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="p">)</span>
-            <span class="n">commentary</span><span class="o">.</span><span class="n">parse_links_into_urls</span><span class="p">()</span>
-            <span class="n">commentary</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Thank you for your request for a Commentary Page&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Your request will soon be handled by an Editor. &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to your &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;personal page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span>
-    <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span>
-    <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_request_commentary_pages&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="prefill_using_DOI"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#commentaries.views.prefill_using_DOI">[docs]</a><span class="k">def</span> <span class="nf">prefill_using_DOI</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Probes CrossRef API with the DOI, to pre-fill the form. &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">doiform</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="c1"># Check if given doi is of expected form:</span>
-            <span class="n">doipattern</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s2">&quot;^10.[0-9]{4,9}/[-._;()/:a-zA-Z0-9]+&quot;</span><span class="p">)</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-            <span class="n">existing_commentary</span> <span class="o">=</span> <span class="kc">None</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">doipattern</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">]):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The DOI you entered is improperly formatted.&#39;</span>
-            <span class="k">elif</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">pub_DOI</span><span class="o">=</span><span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;There already exists a Commentary Page on this publication, see&#39;</span>
-                <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">pub_DOI</span><span class="o">=</span><span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">])</span>
-            <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span>
-                <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                           <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-                           <span class="s1">&#39;existing_commentary&#39;</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            
-            <span class="c1"># Otherwise we query Crossref for the information:</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">queryurl</span> <span class="o">=</span> <span class="s1">&#39;http://api.crossref.org/works/</span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">]</span>
-                <span class="n">doiquery</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">queryurl</span><span class="p">)</span>
-                <span class="n">doiqueryJSON</span> <span class="o">=</span> <span class="n">doiquery</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
-                <span class="n">metadata</span> <span class="o">=</span> <span class="n">doiqueryJSON</span>
-                <span class="n">pub_title</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;title&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
-                <span class="n">authorlist</span> <span class="o">=</span> <span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;author&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;given&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                              <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;author&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;family&#39;</span><span class="p">])</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;author&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:]:</span>
-                    <span class="n">authorlist</span> <span class="o">+=</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">&#39;given&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">&#39;family&#39;</span><span class="p">]</span>
-                <span class="n">journal</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;container-title&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
-                
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">volume</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;volume&#39;</span><span class="p">]</span>
-                <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-                    <span class="n">volume</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-                
-                <span class="n">pages</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">pages</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;article-number&#39;</span><span class="p">]</span> <span class="c1"># for Phys Rev</span>
-                <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-                    <span class="k">pass</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">pages</span> <span class="o">=</span> <span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;page&#39;</span><span class="p">]</span>
-                <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-                    <span class="k">pass</span>
-                
-                <span class="n">pub_date</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">pub_date</span> <span class="o">=</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;issued&#39;</span><span class="p">][</span><span class="s1">&#39;date-parts&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">])</span> <span class="o">+</span> <span class="s1">&#39;-&#39;</span> <span class="o">+</span>
-                                <span class="nb">str</span><span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;issued&#39;</span><span class="p">][</span><span class="s1">&#39;date-parts&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]))</span>
-                    <span class="k">try</span><span class="p">:</span>
-                        <span class="n">pub_date</span> <span class="o">+=</span> <span class="s1">&#39;-&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">doiqueryJSON</span><span class="p">[</span><span class="s1">&#39;message&#39;</span><span class="p">][</span><span class="s1">&#39;issued&#39;</span><span class="p">][</span><span class="s1">&#39;date-parts&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">2</span><span class="p">])</span>
-                    <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span>
-                        <span class="k">pass</span>
-                <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span>
-                    <span class="k">pass</span>
-                <span class="n">pub_DOI</span> <span class="o">=</span> <span class="n">doiform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">]</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">(</span>
-                    <span class="n">initial</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;published&#39;</span><span class="p">,</span> <span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="n">metadata</span><span class="p">,</span>
-                             <span class="s1">&#39;pub_title&#39;</span><span class="p">:</span> <span class="n">pub_title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="n">authorlist</span><span class="p">,</span>
-                             <span class="s1">&#39;journal&#39;</span><span class="p">:</span> <span class="n">journal</span><span class="p">,</span> <span class="s1">&#39;volume&#39;</span><span class="p">:</span> <span class="n">volume</span><span class="p">,</span>
-                             <span class="s1">&#39;pages&#39;</span><span class="p">:</span> <span class="n">pages</span><span class="p">,</span> <span class="s1">&#39;pub_date&#39;</span><span class="p">:</span> <span class="n">pub_date</span><span class="p">,</span>
-                             <span class="s1">&#39;pub_DOI&#39;</span><span class="p">:</span> <span class="n">pub_DOI</span><span class="p">})</span>
-                <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,}</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pub_title</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span>
-                <span class="k">pass</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">pass</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;commentaries:request_commentary&#39;</span><span class="p">))</span></div>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_request_commentary_pages&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="prefill_using_identifier"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#commentaries.views.prefill_using_identifier">[docs]</a><span class="k">def</span> <span class="nf">prefill_using_identifier</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Probes arXiv with the identifier, to pre-fill the form. &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">identifierform</span> <span class="o">=</span> <span class="n">IdentifierToQueryForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="c1"># Check if given identifier is of expected form:</span>
-            <span class="c1"># we allow 1 or 2 digits for version</span>
-            <span class="n">identifierpattern_new</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s2">&quot;^[0-9]{4,}.[0-9]{4,5}v[0-9]{1,2}$&quot;</span><span class="p">)</span>
-            <span class="n">identifierpattern_old</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s2">&quot;^[-.a-z]+/[0-9]{7,}v[0-9]{1,2}$&quot;</span><span class="p">)</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-            <span class="n">existing_commentary</span> <span class="o">=</span> <span class="kc">None</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">identifierpattern_new</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])</span> <span class="ow">or</span>
-                    <span class="n">identifierpattern_old</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;The identifier you entered is improperly formatted &#39;</span>
-                                <span class="s1">&#39;(did you forget the version number?).&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span>
-                  <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">exists</span><span class="p">()):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;There already exists a Commentary Page on this preprint, see&#39;</span>
-                <span class="n">existing_commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span>
-                    <span class="n">Commentary</span><span class="p">,</span> <span class="n">arxiv_identifier</span><span class="o">=</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])</span>
-            <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span>
-                <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                           <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-                           <span class="s1">&#39;existing_commentary&#39;</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            <span class="c1"># Otherwise we query arXiv for the information:</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">queryurl</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;http://export.arxiv.org/api/query?id_list=</span><span class="si">%s</span><span class="s1">&#39;</span>
-                            <span class="o">%</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])</span>
-                <span class="n">arxivquery</span> <span class="o">=</span> <span class="n">feedparser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">queryurl</span><span class="p">)</span>
-                
-                <span class="c1"># If paper has been published, should comment on published version</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">arxiv_journal_ref</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;arxiv_journal_ref&#39;</span><span class="p">]</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This paper has been published as &#39;</span> <span class="o">+</span> <span class="n">arxiv_journal_ref</span>
-                                    <span class="o">+</span> <span class="s1">&#39;. Please comment on the published version.&#39;</span><span class="p">)</span>
-                <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span>
-                    <span class="k">pass</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">arxiv_doi</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;arxiv_doi&#39;</span><span class="p">]</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This paper has been published under DOI &#39;</span> <span class="o">+</span> <span class="n">arxiv_DOI</span>
-                                    <span class="o">+</span> <span class="s1">&#39;. Please comment on the published version.&#39;</span><span class="p">)</span>
-                <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">):</span>
-                    <span class="k">pass</span>
-                
-                <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span>
-                    <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span>
-                    <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span>
-                    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-                               <span class="s1">&#39;existing_commentary&#39;</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span>
-                    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-                
-                <span class="c1"># otherwise prefill the form:</span>
-                <span class="n">metadata</span> <span class="o">=</span> <span class="n">arxivquery</span>
-                <span class="n">pub_title</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;title&#39;</span><span class="p">]</span>
-                <span class="n">authorlist</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:]:</span>
-                    <span class="n">authorlist</span> <span class="o">+=</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-                <span class="n">arxiv_link</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;id&#39;</span><span class="p">]</span>
-                <span class="n">abstract</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;summary&#39;</span><span class="p">]</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">(</span>
-                    <span class="n">initial</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;type&#39;</span><span class="p">:</span> <span class="s1">&#39;preprint&#39;</span><span class="p">,</span> <span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="n">metadata</span><span class="p">,</span>
-                             <span class="s1">&#39;pub_title&#39;</span><span class="p">:</span> <span class="n">pub_title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="n">authorlist</span><span class="p">,</span>
-                             <span class="s1">&#39;arxiv_identifier&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">],</span>
-                             <span class="s1">&#39;arxiv_link&#39;</span><span class="p">:</span> <span class="n">arxiv_link</span><span class="p">,</span> <span class="s1">&#39;pub_abstract&#39;</span><span class="p">:</span> <span class="n">abstract</span><span class="p">})</span>
-                <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">}</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">pub_title</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            <span class="k">except</span> <span class="p">(</span><span class="ne">IndexError</span><span class="p">,</span> <span class="ne">KeyError</span><span class="p">,</span> <span class="ne">ValueError</span><span class="p">):</span> <span class="c1"># something went wrong with processing the arXiv data</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;An error occurred while processing the arXiv data. Are you sure this identifier exists?&#39;</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">()</span>
-                <span class="n">doiform</span> <span class="o">=</span> <span class="n">DOIToQueryForm</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;doiform&#39;</span><span class="p">:</span> <span class="n">doiform</span><span class="p">,</span> <span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                           <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-                           <span class="s1">&#39;existing_commentary&#39;</span><span class="p">:</span> <span class="n">existing_commentary</span><span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">pass</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;commentaries:request_commentary&#39;</span><span class="p">))</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_vet_commentary_requests&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_commentary_requests</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">commentary_to_vet</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">vetted</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span> <span class="c1"># only handle one at a time</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">VetCommentaryForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">contributor</span><span class="p">,</span> <span class="s1">&#39;commentary_to_vet&#39;</span><span class="p">:</span> <span class="n">commentary_to_vet</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/vet_commentary_requests.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_vet_commentary_requests&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_commentary_request_ack</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">commentary_id</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">VetCommentaryForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">commentary</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">commentary_id</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;action_option&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-                <span class="c1"># accept the commentary as is</span>
-                <span class="n">commentary</span><span class="o">.</span><span class="n">vetted</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">commentary</span><span class="o">.</span><span class="n">vetted_by</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-                <span class="n">commentary</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-                <span class="n">commentary</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                              <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-                              <span class="o">+</span> <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">The Commentary Page you have requested, &#39;</span>
-                              <span class="s1">&#39;concerning publication with title &#39;</span>
-                              <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_title</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">author_list</span>
-                              <span class="o">+</span> <span class="s1">&#39;, has been activated at https://scipost.org/commentary/&#39;</span>
-                              <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">commentary</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span><span class="p">)</span>
-                              <span class="o">+</span> <span class="s1">&#39;. You are now welcome to submit your comments.&#39;</span>
-                              <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">Thank you for your contribution, </span><span class="se">\n</span><span class="s1">The SciPost Team.&#39;</span><span class="p">)</span>
-                <span class="n">emailmessage</span> <span class="o">=</span> <span class="n">EmailMessage</span><span class="p">(</span><span class="s1">&#39;SciPost Commentary Page activated&#39;</span><span class="p">,</span> <span class="n">email_text</span><span class="p">,</span>
-                                            <span class="s1">&#39;SciPost commentaries &lt;commentaries@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                            <span class="p">[</span><span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">],</span>
-                                            <span class="p">[</span><span class="s1">&#39;commentaries@scipost.org&#39;</span><span class="p">],</span>
-                                            <span class="n">reply_to</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;commentaries@scipost.org&#39;</span><span class="p">])</span>
-                <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;action_option&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-                <span class="c1"># re-edit the form starting from the data provided</span>
-                <span class="n">form2</span> <span class="o">=</span> <span class="n">RequestCommentaryForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;pub_title&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_title</span><span class="p">,</span>
-                                                       <span class="s1">&#39;arxiv_link&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="o">.</span><span class="n">arxiv_link</span><span class="p">,</span>
-                                                       <span class="s1">&#39;pub_DOI_link&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_DOI_link</span><span class="p">,</span>
-                                                       <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                                                       <span class="s1">&#39;pub_date&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_date</span><span class="p">,</span>
-                                                       <span class="s1">&#39;pub_abstract&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_abstract</span><span class="p">})</span>
-                <span class="n">commentary</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-                <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                              <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-                              <span class="o">+</span> <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">The Commentary Page you have requested, &#39;</span>
-                              <span class="s1">&#39;concerning publication with title &#39;</span> <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_title</span>
-                              <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">author_list</span>
-                              <span class="o">+</span> <span class="s1">&#39;, has been activated (with slight modifications to your submitted details).&#39;</span>
-                              <span class="s1">&#39; You are now welcome to submit your comments.&#39;</span>
-                              <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">Thank you for your contribution, </span><span class="se">\n</span><span class="s1">The SciPost Team.&#39;</span><span class="p">)</span>
-                <span class="n">emailmessage</span> <span class="o">=</span> <span class="n">EmailMessage</span><span class="p">(</span><span class="s1">&#39;SciPost Commentary Page activated&#39;</span><span class="p">,</span> <span class="n">email_text</span><span class="p">,</span>
-                                            <span class="s1">&#39;SciPost commentaries &lt;commentaries@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                            <span class="p">[</span><span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">],</span>
-                                            <span class="p">[</span><span class="s1">&#39;commentaries@scipost.org&#39;</span><span class="p">],</span>
-                                            <span class="n">reply_to</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;commentaries@scipost.org&#39;</span><span class="p">])</span>
-                <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form2</span> <span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/request_commentary.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;action_option&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;2&#39;</span><span class="p">:</span>
-                <span class="c1"># the commentary request is simply rejected</span>
-                <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                              <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-                              <span class="o">+</span> <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">The Commentary Page you have requested, &#39;</span>
-                              <span class="s1">&#39;concerning publication with title &#39;</span>
-                              <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">pub_title</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="n">commentary</span><span class="o">.</span><span class="n">author_list</span>
-                              <span class="o">+</span> <span class="s1">&#39;, has not been activated for the following reason: &#39;</span>
-                              <span class="o">+</span> <span class="n">commentary_refusal_dict</span><span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;refusal_reason&#39;</span><span class="p">])]</span>
-                              <span class="o">+</span> <span class="s1">&#39;.</span><span class="se">\n\n</span><span class="s1">Thank you for your interest, </span><span class="se">\n</span><span class="s1">The SciPost Team.&#39;</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_response_field&#39;</span><span class="p">]:</span>
-                    <span class="n">email_text</span> <span class="o">+=</span> <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">Further explanations: &#39;</span> <span class="o">+</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_response_field&#39;</span><span class="p">]</span>
-                <span class="n">emailmessage</span> <span class="o">=</span> <span class="n">EmailMessage</span><span class="p">(</span><span class="s1">&#39;SciPost Commentary Page activated&#39;</span><span class="p">,</span> <span class="n">email_text</span><span class="p">,</span>
-                                            <span class="s1">&#39;SciPost commentaries &lt;commentaries@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                            <span class="p">[</span><span class="n">commentary</span><span class="o">.</span><span class="n">requested_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">],</span>
-                                            <span class="p">[</span><span class="s1">&#39;commentaries@scipost.org&#39;</span><span class="p">],</span>
-                                            <span class="n">reply_to</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;comentaries@scipost.org&#39;</span><span class="p">])</span>
-                <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                <span class="n">commentary</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;SciPost Commentary request vetted.&#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to the &#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;commentaries:vet_commentary_requests&#39;</span><span class="p">),</span>
-               <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;Commentary requests page&#39;</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">commentaries</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentarySearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">()</span> <span class="ow">and</span> <span class="n">form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">():</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">pub_title__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_title_keyword&#39;</span><span class="p">],</span>
-                <span class="n">author_list__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_author&#39;</span><span class="p">],</span>
-                <span class="n">pub_abstract__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_abstract_keyword&#39;</span><span class="p">],</span>
-                <span class="n">vetted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                <span class="p">)</span>
-            <span class="n">commentary_search_list</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-pub_date&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="p">[]</span>
-
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentarySearchForm</span><span class="p">()</span>
-        <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="p">[]</span>
-
-    <span class="n">comment_recent_list</span> <span class="o">=</span> <span class="p">(</span><span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;1&#39;</span><span class="p">)</span>
-                           <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">)[:</span><span class="mi">10</span><span class="p">])</span>
-
-    <span class="n">commentary_recent_list</span> <span class="o">=</span> <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">vetted</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-                              <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-latest_activity&#39;</span><span class="p">)[:</span><span class="mi">10</span><span class="p">])</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;commentary_search_list&#39;</span><span class="p">:</span> <span class="n">commentary_search_list</span><span class="p">,</span>
-               <span class="s1">&#39;comment_recent_list&#39;</span><span class="p">:</span> <span class="n">comment_recent_list</span><span class="p">,</span>
-               <span class="s1">&#39;commentary_recent_list&#39;</span><span class="p">:</span> <span class="n">commentary_recent_list</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/commentaries.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">browse</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">discipline</span><span class="p">,</span> <span class="n">nrweeksback</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentarySearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">()</span> <span class="ow">and</span> <span class="n">form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">():</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">pub_title__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_title_keyword&#39;</span><span class="p">],</span>
-                <span class="n">author_list__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_author&#39;</span><span class="p">],</span>
-                <span class="n">pub_abstract__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;pub_abstract_keyword&#39;</span><span class="p">],</span>
-                <span class="n">vetted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                <span class="p">)</span>
-            <span class="n">commentary_search_list</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-pub_date&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="p">[]</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;commentary_search_list&#39;</span><span class="p">:</span> <span class="n">commentary_search_list</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/commentaries.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentarySearchForm</span><span class="p">()</span>
-    <span class="n">commentary_browse_list</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">vetted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">discipline</span><span class="o">=</span><span class="n">discipline</span><span class="p">,</span>
-        <span class="n">latest_activity__gte</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">weeks</span><span class="o">=-</span><span class="nb">int</span><span class="p">(</span><span class="n">nrweeksback</span><span class="p">))</span>
-        <span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;discipline&#39;</span><span class="p">:</span> <span class="n">discipline</span><span class="p">,</span> <span class="s1">&#39;nrweeksback&#39;</span><span class="p">:</span> <span class="n">nrweeksback</span><span class="p">,</span>
-               <span class="s1">&#39;commentary_browse_list&#39;</span><span class="p">:</span> <span class="n">commentary_browse_list</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/commentaries.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">commentary_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_or_DOI_string</span><span class="p">):</span>
-    <span class="n">commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">arxiv_or_DOI_string</span><span class="o">=</span><span class="n">arxiv_or_DOI_string</span><span class="p">)</span>
-    <span class="n">comments</span> <span class="o">=</span> <span class="n">commentary</span><span class="o">.</span><span class="n">comment_set</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">author</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-            <span class="n">newcomment</span> <span class="o">=</span> <span class="n">Comment</span><span class="p">(</span><span class="n">commentary</span><span class="o">=</span><span class="n">commentary</span><span class="p">,</span> <span class="n">author</span><span class="o">=</span><span class="n">author</span><span class="p">,</span>
-                <span class="n">is_rem</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_rem&#39;</span><span class="p">],</span>
-                <span class="n">is_que</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_que&#39;</span><span class="p">],</span>
-                <span class="n">is_ans</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_ans&#39;</span><span class="p">],</span>
-                <span class="n">is_obj</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_obj&#39;</span><span class="p">],</span>
-                <span class="n">is_rep</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_rep&#39;</span><span class="p">],</span>
-                <span class="n">is_val</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_val&#39;</span><span class="p">],</span>
-                <span class="n">is_lit</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_lit&#39;</span><span class="p">],</span>
-                <span class="n">is_sug</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_sug&#39;</span><span class="p">],</span>
-                <span class="n">comment_text</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;comment_text&#39;</span><span class="p">],</span>
-                <span class="n">remarks_for_editors</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remarks_for_editors&#39;</span><span class="p">],</span>
-                <span class="n">date_submitted</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="p">)</span>
-            <span class="n">newcomment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">author</span><span class="o">.</span><span class="n">nr_comments</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">author</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">author</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Thank you for contributing a Comment.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="s1">&#39;It will soon be vetted by an Editor.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Back to the &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span>
-                           <span class="s1">&#39;commentaries:commentary&#39;</span><span class="p">,</span>
-                           <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_or_DOI_string&#39;</span><span class="p">:</span> <span class="n">newcomment</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span><span class="p">}</span>
-                       <span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39; Commentary page you came from&#39;</span>
-                   <span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentForm</span><span class="p">()</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">author_replies</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">commentary</span><span class="o">=</span><span class="n">commentary</span><span class="p">,</span>
-                                                <span class="n">is_author_reply</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                <span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-    <span class="k">except</span> <span class="n">Comment</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-        <span class="n">author_replies</span> <span class="o">=</span> <span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;commentary&#39;</span><span class="p">:</span> <span class="n">commentary</span><span class="p">,</span>
-               <span class="s1">&#39;comments&#39;</span><span class="p">:</span> <span class="n">comments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">),</span>
-               <span class="s1">&#39;author_replies&#39;</span><span class="p">:</span> <span class="n">author_replies</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;commentaries/commentary_detail.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/comments/models.html b/docs/_build/html/_modules/comments/models.html
deleted file mode 100644
index f46b9843f69e6f17156bf0bb9bd4cc9b6a1d8b73..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/comments/models.html
+++ /dev/null
@@ -1,532 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>comments.models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>comments.models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for comments.models</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">models</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">get_object_or_404</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Template</span><span class="p">,</span> <span class="n">Context</span>
-<span class="kn">from</span> <span class="nn">django.utils.safestring</span> <span class="k">import</span> <span class="n">mark_safe</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="kn">from</span> <span class="nn">commentaries.models</span> <span class="k">import</span> <span class="n">Commentary</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">Contributor</span>
-<span class="kn">from</span> <span class="nn">submissions.models</span> <span class="k">import</span> <span class="n">Submission</span><span class="p">,</span> <span class="n">Report</span>
-<span class="kn">from</span> <span class="nn">theses.models</span> <span class="k">import</span> <span class="n">ThesisLink</span>
-
-<span class="n">COMMENT_CATEGORIES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;ERR&#39;</span><span class="p">,</span> <span class="s1">&#39;erratum&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;REM&#39;</span><span class="p">,</span> <span class="s1">&#39;remark&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;QUE&#39;</span><span class="p">,</span> <span class="s1">&#39;question&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;ANS&#39;</span><span class="p">,</span> <span class="s1">&#39;answer to question&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;OBJ&#39;</span><span class="p">,</span> <span class="s1">&#39;objection&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;REP&#39;</span><span class="p">,</span> <span class="s1">&#39;reply to objection&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;VAL&#39;</span><span class="p">,</span> <span class="s1">&#39;validation or rederivation&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;LIT&#39;</span><span class="p">,</span> <span class="s1">&#39;pointer to related literature&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;SUG&#39;</span><span class="p">,</span> <span class="s1">&#39;suggestion for further work&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-
-<span class="n">COMMENT_STATUS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;vetted&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;not yet vetted (pending)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;rejected (unclear)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;rejected (incorrect)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;rejected (not useful)&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">comment_status_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">COMMENT_STATUS</span><span class="p">)</span>
-
-<div class="viewcode-block" id="Comment"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#comments.models.Comment">[docs]</a><span class="k">class</span> <span class="nc">Comment</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; A Comment is an unsollicited note, submitted by a Contributor,</span>
-<span class="sd">    on a particular publication or in reply to an earlier Comment. &quot;&quot;&quot;</span>
-    <span class="c1"># status:</span>
-    <span class="c1"># 1: vetted</span>
-    <span class="c1"># 0: unvetted</span>
-    <span class="c1"># -1: rejected (unclear)</span>
-    <span class="c1"># -2: rejected (incorrect)</span>
-    <span class="c1"># -3: rejected (not useful)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">vetted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                  <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                  <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;comment_vetted_by&#39;</span><span class="p">)</span>
-    <span class="c1"># a Comment is either for a Commentary or Submission</span>
-    <span class="n">commentary</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">thesislink</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">ThesisLink</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">is_author_reply</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">in_reply_to_comment</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">in_reply_to_report</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Report</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">author</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">anonymous</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;Publish anonymously&#39;</span><span class="p">)</span>
-    <span class="c1"># Categories:</span>
-    <span class="n">is_cor</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;correction/erratum&#39;</span><span class="p">)</span>
-    <span class="n">is_rem</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;remark&#39;</span><span class="p">)</span>
-    <span class="n">is_que</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;question&#39;</span><span class="p">)</span>
-    <span class="n">is_ans</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;answer to question&#39;</span><span class="p">)</span>
-    <span class="n">is_obj</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;objection&#39;</span><span class="p">)</span>
-    <span class="n">is_rep</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;reply to objection&#39;</span><span class="p">)</span>
-    <span class="n">is_val</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;validation or rederivation&#39;</span><span class="p">)</span>
-    <span class="n">is_lit</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;pointer to related literature&#39;</span><span class="p">)</span>
-    <span class="n">is_sug</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;suggestion for further work&#39;</span><span class="p">)</span>
-    <span class="n">comment_text</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                           <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;optional remarks for the Editors only&#39;</span><span class="p">)</span>
-    <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="s1">&#39;date submitted&#39;</span><span class="p">)</span>
-    <span class="c1"># Opinions</span>
-    <span class="n">nr_A</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">in_agreement</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                          <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;in_agreement&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">nr_N</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">in_notsure</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                        <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;in_notsure&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">nr_D</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">in_disagreement</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                             <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;in_disagreement&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="s1">&#39;by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                <span class="s1">&#39; on &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span>   <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">comment_text</span><span class="p">[:</span><span class="mi">30</span><span class="p">])</span>
-
-
-    <span class="k">def</span> <span class="nf">update_opinions</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">contributor_id</span><span class="p">,</span> <span class="n">opinion</span><span class="p">):</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">in_agreement</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">in_notsure</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">in_disagreement</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">opinion</span> <span class="o">==</span> <span class="s1">&#39;A&#39;</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">in_agreement</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="n">opinion</span> <span class="o">==</span> <span class="s1">&#39;N&#39;</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">in_notsure</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="k">elif</span> <span class="n">opinion</span> <span class="o">==</span> <span class="s1">&#39;D&#39;</span><span class="p">:</span>
-            <span class="bp">self</span><span class="o">.</span><span class="n">in_disagreement</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">nr_A</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_agreement</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">nr_N</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_notsure</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">nr_D</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_disagreement</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-
-    <span class="k">def</span> <span class="nf">opinions_as_ul</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">        &lt;ul class=&quot;opinionsDisplay&quot;&gt;</span>
-<span class="s1">        &lt;li style=&quot;background-color: #000099&quot;&gt;Agree {{ nr_A }}&lt;/li&gt;</span>
-<span class="s1">        &lt;li style=&quot;background-color: #555555&quot;&gt;Not sure {{ nr_N }}&lt;/li&gt;</span>
-<span class="s1">        &lt;li style=&quot;background-color: #990000&quot;&gt;Disagree {{ nr_D }}&lt;/li&gt;</span>
-<span class="s1">        &lt;/ul&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span> <span class="p">({</span><span class="s1">&#39;nr_A&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr_A</span><span class="p">,</span> <span class="s1">&#39;nr_N&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr_N</span><span class="p">,</span> <span class="s1">&#39;nr_D&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr_D</span><span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">opinions_as_ul_tiny</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">        &lt;ul class=&quot;opinionsDisplay&quot;&gt;</span>
-<span class="s1">        &lt;li style=&quot;background-color: #000099; font-size: 8px; padding: 2px;&quot;&gt;Agree {{ nr_A }}&lt;/li&gt;</span>
-<span class="s1">        &lt;li style=&quot;background-color: #555555; font-size: 8px; padding: 2px;&quot;&gt;Not sure {{ nr_N }}&lt;/li&gt;</span>
-<span class="s1">        &lt;li style=&quot;background-color: #990000; font-size: 8px; padding: 2px;&quot;&gt;Disagree {{ nr_D }}&lt;/li&gt;</span>
-<span class="s1">        &lt;/ul&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span> <span class="p">({</span><span class="s1">&#39;nr_A&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr_A</span><span class="p">,</span> <span class="s1">&#39;nr_N&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr_N</span><span class="p">,</span> <span class="s1">&#39;nr_D&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr_D</span><span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">print_identifier</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for display</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;commentid&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;h3&gt;&lt;a id=&quot;comment_id{{ id }}&quot;&gt;&lt;/a&gt;&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">})</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_author_reply</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;Author &#39;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; &lt;a href=&quot;/contributor/{{ author_id }}&quot;&gt;&#39;</span>
-                       <span class="o">+</span> <span class="s1">&#39;{{ first_name }} {{ last_name }}&lt;/a&gt; on &#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;author_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;{{ date_comment_submitted }}&#39;</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_comment_submitted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; (in reply to &lt;a href=&quot;#comment_id{{ in_reply_to_comment_id }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ in_reply_to_comment_first_name }} &#39;</span>
-                       <span class="s1">&#39;{{ in_reply_to_comment_last_name }} on &#39;</span>
-                       <span class="s1">&#39;{{ in_reply_to_comment_date }}&lt;/a&gt;)&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment_id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span>
-                                                         <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span>
-                                                        <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span>
-                                                   <span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; (in reply to &lt;a href=&quot;#report_id{{ in_reply_to_report_id }}&quot;&gt;&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report_id</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;{{ in_reply_to_report_first_name }} {{ in_reply_to_report_last_name}}&#39;</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span>
-                                                            <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">)</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span>
-                                                           <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;Report {{ in_reply_to_report_id }}&#39;</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report_id</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; on {{ date_report_submitted }}&lt;/a&gt;)&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_report_submitted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/h3&gt;&lt;/div&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">print_identifier_for_vetting</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for display, same as print_identifier but named even if anonymous, not linked</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;commentid&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;h3&gt;&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">()</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_author_reply</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;Author &#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; &lt;a href=&quot;/contributor/{{ author_id }}&quot;&gt;{{ first_name }} {{ last_name }}&lt;/a&gt; on &#39;</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;author_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">id</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;{{ date_submitted }}&#39;</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_submitted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; (in reply to &lt;a href=&quot;#comment_id{{ in_reply_to_comment_id }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ in_reply_to_comment_first_name }} {{ in_reply_to_comment_last_name }} &#39;</span>
-                       <span class="s1">&#39;on {{ in_reply_to_comment_date }}&lt;/a&gt;)&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment_id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span>
-                                                         <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span>
-                                                        <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_comment_date&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_comment</span>
-                                                   <span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; (in reply to &lt;a href=&quot;#report_id{{ in_reply_to_report_id }}&quot;&gt;&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report_id</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;{{ in_reply_to_report_first_name }} {{ in_reply_to_report_last_name}}&#39;</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span>
-                                                            <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">)</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span>
-                                                           <span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;Report {{ in_reply_to_report_id }}&#39;</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;in_reply_to_report_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report_id</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/a&gt; on {{ date_submitted }})&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_submitted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">in_reply_to_report</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/h3&gt;&lt;/div&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for search lists</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="s1">&#39;&lt;li&gt;&#39;</span>
-        <span class="c1">#header += &#39;&lt;div class=&quot;flex-container&quot;&gt;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;Nr {{ id }}&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">})</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;, &lt;div class=&quot;opinionsDisplay&quot;&gt;&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">opinions_as_ul_tiny</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;&lt;/div&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">status</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;, status: &lt;span style=&quot;color:red&quot;&gt;&#39;</span>
-                       <span class="o">+</span> <span class="n">comment_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">status</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/span&gt;&#39;</span><span class="p">)</span>
-        <span class="n">text_cut</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">comment_text</span><span class="p">[:</span><span class="mi">50</span><span class="p">]</span>
-        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">comment_text</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">50</span><span class="p">:</span>
-            <span class="n">text_cut</span> <span class="o">+=</span> <span class="s1">&#39;...&#39;</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;text_cut&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">text_cut</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_submitted&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;: &#39;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; &lt;a href=&quot;/contributor/{{ author_id }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ first_name }} {{ last_name }}&lt;/a&gt;, &#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;author_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}#comment_id{{ id }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39; </span><span class="se">\&quot;</span><span class="s1">{{ text_cut }}</span><span class="se">\&quot;</span><span class="s1">&lt;/a&gt;&lt;p&gt;submitted on {{ date_submitted }}&#39;</span><span class="p">)</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; in submission on &lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot;&#39;</span>
-                       <span class="s1">&#39; class=&quot;pubtitleli&quot;&gt;{{ submission_title }}&lt;/a&gt; by &#39;</span>
-                       <span class="s1">&#39;{{ submission_author_list }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;submission_title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;submission_author_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/commentary/{{ commentary_url }}#comment_id{{ id }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39; </span><span class="se">\&quot;</span><span class="s1">{{ text_cut }}</span><span class="se">\&quot;</span><span class="s1">&lt;/a&gt;&lt;p&gt;submitted on {{ date_submitted }}&#39;</span><span class="p">)</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; in commentary on &lt;a href=&quot;/commentary/{{ commentary_url }}&quot;&#39;</span>
-                       <span class="s1">&#39; class=&quot;pubtitleli&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ commentary_pub_title }}&lt;/a&gt; by {{ commentary_author_list }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_pub_title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">pub_title</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_author_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">author_list</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/thesis/{{ thesislink_id }}#comment_id{{ id }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39; </span><span class="se">\&quot;</span><span class="s1">{{ text_cut }}</span><span class="se">\&quot;</span><span class="s1">&lt;/a&gt;&lt;p&gt;submitted on {{ date_submitted }}&#39;</span><span class="p">)</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; in thesislink on &lt;a href=&quot;/thesis/{{ thesislink_id }}&quot; class=&quot;pubtitleli&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ thesislink_title }}&lt;/a&gt; by {{ thesislink_author }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;thesislink_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;thesislink_title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">title</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;thesislink_author&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">author</span>
-        <span class="c1">#header += &#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">simple_header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for Lists</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="s1">&#39;&lt;li&gt;&#39;</span>
-        <span class="c1">#header += &#39;&lt;div class=&quot;flex-container&quot;&gt;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({})</span>
-        <span class="n">text_cut</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">comment_text</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span>
-        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">comment_text</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">30</span><span class="p">:</span>
-            <span class="n">text_cut</span> <span class="o">+=</span> <span class="s1">&#39;...&#39;</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;text_cut&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">text_cut</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; &lt;a href=&quot;/contributor/{{ author_id }}&quot;&gt;{{ first_name }} {{ last_name }}&lt;/a&gt;, &#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;author_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}#comment_id{{ id }}&quot;&gt; &#39;</span>
-                       <span class="s1">&#39;</span><span class="se">\&quot;</span><span class="s1">{{ text_cut }}</span><span class="se">\&quot;</span><span class="s1">&lt;/a&gt;&#39;</span>
-                       <span class="s1">&#39; in submission on &lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; class=&quot;pubtitleli&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ submission_title }}&lt;/a&gt; by {{ submission_author_list }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;submission_title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;submission_author_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/commentary/{{ commentary_url }}#comment_id{{ id }}&quot;&gt; &#39;</span>
-                       <span class="s1">&#39;</span><span class="se">\&quot;</span><span class="s1">{{ text_cut }}</span><span class="se">\&quot;</span><span class="s1">&lt;/a&gt;&#39;</span>
-                       <span class="s1">&#39; in commentary on &lt;a href=&quot;/commentary/{{ commentary_url }}&quot; class=&quot;pubtitleli&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;{{ commentary_pub_title }}&lt;/a&gt; by {{ commentary_author_list }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">arxiv_or_DOI_string</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_pub_title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">pub_title</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_author_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">author_list</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;a href=&quot;/thesis/{{ thesislink_id }}#comment_id{{ id }}&quot;&gt; </span><span class="se">\&quot;</span><span class="s1">{{ text_cut }}</span><span class="se">\&quot;</span><span class="s1">&lt;/a&gt;&#39;</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; in thesislink on &lt;a href=&quot;/thesis/{{ thesislink_id }}&quot; class=&quot;pubtitleli&quot;&gt;&#39;</span> <span class="o">+</span>
-                       <span class="s1">&#39;{{ thesislink_title }}&lt;/a&gt; by {{ thesislink_author }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;thesislink_id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">id</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;thesislink_title&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">title</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;thesislink_author&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">author</span>
-        <span class="c1">#header += &#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">categories_as_ul</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;commentcategorydisplay&quot;&gt;&lt;h4&gt;Category:&lt;/h4&gt;&lt;ul&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_rem</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;remark&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_que</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;question&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_ans</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;answer to question&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_obj</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;objection&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_rep</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;reply to objection&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_cor</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;correction&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_val</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;validation or rederivation&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_lit</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;pointer to related literature&lt;/li&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_sug</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;suggestion for further work&lt;/li&gt;&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&lt;/div&gt;&#39;</span>
-        <span class="k">return</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">output</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/index.html b/docs/_build/html/_modules/index.html
deleted file mode 100644
index 85e4bafeff9a499578fd2d78a1d6055ca8ee7ab0..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/index.html
+++ /dev/null
@@ -1,202 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Overview: module code &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../genindex.html"/>
-        <link rel="search" title="Search" href="../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../index.html"/> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
-    <li>Overview: module code</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>All modules for which code is available</h1>
-<ul><li><a href="commentaries/models.html">commentaries.models</a></li>
-<li><a href="commentaries/views.html">commentaries.views</a></li>
-<li><a href="comments/models.html">comments.models</a></li>
-<li><a href="journals/models.html">journals.models</a></li>
-<li><a href="journals/views.html">journals.views</a></li>
-<li><a href="scipost/models.html">scipost.models</a></li>
-<li><a href="scipost/views.html">scipost.views</a></li>
-<li><a href="submissions/models.html">submissions.models</a></li>
-<li><a href="submissions/views.html">submissions.views</a></li>
-<li><a href="theses/models.html">theses.models</a></li>
-</ul>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/journals/models.html b/docs/_build/html/_modules/journals/models.html
deleted file mode 100644
index c66dfb0ef90e4c77be0565123994de0f3a9ba235..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/journals/models.html
+++ /dev/null
@@ -1,547 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>journals.models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>journals.models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for journals.models</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">django.contrib.postgres.fields</span> <span class="k">import</span> <span class="n">ArrayField</span><span class="p">,</span> <span class="n">JSONField</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">models</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Template</span><span class="p">,</span> <span class="n">Context</span>
-<span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span> <span class="n">subject_areas_dict</span><span class="p">,</span> <span class="n">TITLE_CHOICES</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">ChoiceArrayField</span><span class="p">,</span> <span class="n">Contributor</span>
-
-
-<div class="viewcode-block" id="UnregisteredAuthor"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.UnregisteredAuthor">[docs]</a><span class="k">class</span> <span class="nc">UnregisteredAuthor</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">first_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
-    <span class="n">last_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_name</span></div>
-
-
-<span class="n">SCIPOST_JOURNALS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;SciPost Physics Select&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Physics Select&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">journals_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_JOURNALS</span><span class="p">)</span>
-
-<span class="k">class</span> <span class="nc">JournalNameError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span>
-
-<span class="k">def</span> <span class="nf">journal_name_abbrev_citation</span><span class="p">(</span><span class="n">journal_name</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">journal_name</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics&#39;</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;SciPost Phys.&#39;</span>
-    <span class="k">elif</span> <span class="n">journal_name</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Select&#39;</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;SciPost Phys. Sel.&#39;</span>
-    <span class="k">elif</span> <span class="n">journal_name</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;SciPost Phys. Lect. Notes&#39;</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="n">JournalNameError</span><span class="p">(</span><span class="n">journal_name</span><span class="p">)</span>
-
-<span class="k">def</span> <span class="nf">journal_name_abbrev_doi</span><span class="p">(</span><span class="n">journal_name</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">journal_name</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics&#39;</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;SciPostPhys&#39;</span>
-    <span class="k">elif</span> <span class="n">journal_name</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Select&#39;</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;SciPostPhysSel&#39;</span>
-    <span class="k">elif</span> <span class="n">journal_name</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;SciPostPhysLectNotes&#39;</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="n">JournalNameError</span><span class="p">(</span><span class="n">journal_name</span><span class="p">)</span>
-
-<span class="k">class</span> <span class="nc">PaperNumberError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">nr</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">nr</span> <span class="o">=</span> <span class="n">nr</span>
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr</span>
-
-<span class="k">def</span> <span class="nf">paper_nr_string</span><span class="p">(</span><span class="n">nr</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">nr</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;00&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">nr</span> <span class="o">&lt;</span> <span class="mi">100</span><span class="p">:</span>
-        <span class="k">return</span> <span class="s1">&#39;0&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">nr</span> <span class="o">&lt;</span> <span class="mi">1000</span><span class="p">:</span>
-        <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="k">raise</span> <span class="n">PaperNumberError</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span>
-
-<span class="k">class</span> <span class="nc">PaperNumberingError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">nr</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">nr</span> <span class="o">=</span> <span class="n">nr</span>
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">nr</span>
-
-<span class="n">SCIPOST_JOURNALS_SUBMIT</span> <span class="o">=</span> <span class="p">(</span> <span class="c1"># Same as SCIPOST_JOURNALS, but SP Select deactivated</span>
-    <span class="p">(</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">journals_submit_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_JOURNALS_SUBMIT</span><span class="p">)</span>
-
-<span class="n">SCIPOST_JOURNALS_DOMAINS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;E&#39;</span><span class="p">,</span> <span class="s1">&#39;Experimental&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;T&#39;</span><span class="p">,</span> <span class="s1">&#39;Theoretical&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;C&#39;</span><span class="p">,</span> <span class="s1">&#39;Computational&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;ET&#39;</span><span class="p">,</span> <span class="s1">&#39;Exp. &amp; Theor.&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;EC&#39;</span><span class="p">,</span> <span class="s1">&#39;Exp. &amp; Comp.&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;TC&#39;</span><span class="p">,</span> <span class="s1">&#39;Theor. &amp; Comp.&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;ETC&#39;</span><span class="p">,</span> <span class="s1">&#39;Exp., Theor. &amp; Comp.&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">journals_domains_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">)</span>
-
-<span class="n">SCIPOST_JOURNALS_SPECIALIZATIONS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;A&#39;</span><span class="p">,</span> <span class="s1">&#39;Atomic, Molecular and Optical Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;B&#39;</span><span class="p">,</span> <span class="s1">&#39;Biophysics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;C&#39;</span><span class="p">,</span> <span class="s1">&#39;Condensed Matter Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;F&#39;</span><span class="p">,</span> <span class="s1">&#39;Fluid Dynamics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;G&#39;</span><span class="p">,</span> <span class="s1">&#39;Gravitation, Cosmology and Astroparticle Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;H&#39;</span><span class="p">,</span> <span class="s1">&#39;High-Energy Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;M&#39;</span><span class="p">,</span> <span class="s1">&#39;Mathematical Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;N&#39;</span><span class="p">,</span> <span class="s1">&#39;Nuclear Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Q&#39;</span><span class="p">,</span> <span class="s1">&#39;Quantum Statistical Mechanics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;S&#39;</span><span class="p">,</span> <span class="s1">&#39;Statistical and Soft Matter Physics&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">journals_spec_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_JOURNALS_SPECIALIZATIONS</span><span class="p">)</span>
-
-
-
-<div class="viewcode-block" id="Journal"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.Journal">[docs]</a><span class="k">class</span> <span class="nc">Journal</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_JOURNALS</span><span class="p">,</span>
-                            <span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">doi_string</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">issn</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;2542-4653&#39;</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span></div>
-
-
-<div class="viewcode-block" id="Volume"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.Volume">[docs]</a><span class="k">class</span> <span class="nc">Volume</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">in_journal</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Journal</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">number</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">start_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">until_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">doi_string</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_journal</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; Vol. &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">number</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="Issue"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.Issue">[docs]</a><span class="k">class</span> <span class="nc">Issue</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">in_volume</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Volume</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">number</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">unique</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">start_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">until_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">doi_string</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="c1"># absolute path on filesystem: (JOURNALS_DIR)/journal/vol/issue/</span>
-    <span class="n">path</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">text</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_volume</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; issue &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">number</span><span class="p">)</span>
-        <span class="c1">#if self.until_date &gt;= timezone.now().date():</span>
-        <span class="c1">#    text += &#39; (in progress)&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="o">.</span><span class="n">month</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">month</span><span class="p">:</span>
-            <span class="n">text</span> <span class="o">+=</span> <span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%B&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">text</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%B&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;-&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%B&#39;</span><span class="p">)</span> <span class="o">+</span>
-                     <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">text</span>
-
-    <span class="k">def</span> <span class="nf">period</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">text</span> <span class="o">=</span> <span class="s1">&#39;up to {{ until_month }} {{ year }}&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;until_month&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%B&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;year&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="Publication"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.Publication">[docs]</a><span class="k">class</span> <span class="nc">Publication</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">accepted_submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">OneToOneField</span><span class="p">(</span><span class="s1">&#39;submissions.Submission&#39;</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">in_issue</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Issue</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">paper_nr</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">()</span>
-    <span class="n">discipline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;physics&#39;</span><span class="p">)</span>
-    <span class="n">domain</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">)</span>
-    <span class="n">subject_area</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span>
-                                    <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;Primary subject area&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;Phys:QP&#39;</span><span class="p">)</span>
-    <span class="n">secondary_areas</span> <span class="o">=</span> <span class="n">ChoiceArrayField</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
-                                                        <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">),</span>
-                                       <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
-    <span class="n">author_list</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;author list&quot;</span><span class="p">)</span>
-    <span class="c1"># Authors which have been mapped to contributors:</span>
-    <span class="n">authors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_pub&#39;</span><span class="p">)</span>
-    <span class="n">authors_unregistered</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">UnregisteredAuthor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                   <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_unregistered&#39;</span><span class="p">)</span>
-    <span class="n">first_author</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">first_author_unregistered</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">UnregisteredAuthor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                                   <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;first_author_unregistered&#39;</span><span class="p">)</span>
-    <span class="n">authors_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                             <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_pub_claims&#39;</span><span class="p">)</span>
-    <span class="n">authors_false_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                   <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_pub_false_claims&#39;</span><span class="p">)</span>
-    <span class="n">abstract</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">pdf_file</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">FileField</span><span class="p">(</span><span class="n">upload_to</span><span class="o">=</span><span class="s1">&#39;UPLOADS/PUBLICATIONS/%Y/%m/&#39;</span><span class="p">,</span> <span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">)</span>
-    <span class="n">metadata</span> <span class="o">=</span> <span class="n">JSONField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="p">{},</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">metadata_xml</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="c1"># for Crossref deposit</span>
-    <span class="n">BiBTeX_entry</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">doi_label</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="c1"># Used for file name</span>
-    <span class="n">doi_string</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">submission_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;submission date&#39;</span><span class="p">)</span>
-    <span class="n">acceptance_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;acceptance date&#39;</span><span class="p">)</span>
-    <span class="n">publication_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;publication date&#39;</span><span class="p">)</span>
-    <span class="n">latest_activity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">citedby</span> <span class="o">=</span> <span class="n">JSONField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="p">{},</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">citation</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span>
-                  <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span>
-                  <span class="o">+</span> <span class="s1">&#39;, published &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">))</span>
-        <span class="k">return</span> <span class="n">header</span>
-
-    <span class="k">def</span> <span class="nf">citation</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-                <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">)</span>
-                <span class="c1">#+ &#39;(&#39; + str(self.in_issue.number) + &#39;)&#39;</span>
-                <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">)</span>
-                <span class="o">+</span> <span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span> <span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">citation_for_web</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">citation</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;{{ abbrev }} &lt;strong&gt;{{ volume_nr }}&lt;/strong&gt;&#39;</span>
-                    <span class="c1">#&#39;({{ issue_nr }})&#39;</span>
-                    <span class="s1">&#39;, {{ paper_nr }} ({{ year }})&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">citation</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">(</span>
-            <span class="p">{</span><span class="s1">&#39;abbrev&#39;</span><span class="p">:</span> <span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">),</span>
-             <span class="s1">&#39;volume_nr&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">),</span>
-             <span class="s1">&#39;issue_nr&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">number</span><span class="p">),</span>
-             <span class="s1">&#39;paper_nr&#39;</span><span class="p">:</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">),</span>
-             <span class="s1">&#39;year&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">),})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">citation_for_web_linked</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">citation</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">scipost:publication_detail</span><span class="se">\&#39;</span><span class="s1"> doi_string=doi_string %}&quot;&gt;&#39;</span>
-                    <span class="s1">&#39;{{ abbrev }} &lt;strong&gt;{{ volume_nr }}&lt;/strong&gt;&#39;</span>
-                    <span class="c1">#&#39;({{ issue_nr }})&#39;</span>
-                    <span class="s1">&#39;, {{ paper_nr }} ({{ year }})&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">citation</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">(</span>
-            <span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,</span>
-             <span class="s1">&#39;abbrev&#39;</span><span class="p">:</span> <span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">),</span>
-             <span class="s1">&#39;volume_nr&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">),</span>
-             <span class="s1">&#39;issue_nr&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">number</span><span class="p">),</span>
-             <span class="s1">&#39;paper_nr&#39;</span><span class="p">:</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">),</span>
-             <span class="s1">&#39;year&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">),})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="c1"># def doi_label_as_str(self):</span>
-    <span class="c1">#     label = (</span>
-    <span class="c1">#         journal_name_abbrev_doi(self.in_issue.in_volume.in_journal.name)</span>
-    <span class="c1">#         + &#39;.&#39; + str(self.in_issue.in_volume.number)</span>
-    <span class="c1">#         + &#39;.&#39; + str(self.in_issue.number)</span>
-    <span class="c1">#         + &#39;.&#39; + paper_nr_string(self.paper_nr) )</span>
-    <span class="c1">#     return label</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li class=&quot;publicationHeader&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p class=&quot;publicationTitle&quot;&gt;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">scipost:publication_detail</span><span class="se">\&#39;</span><span class="s1"> doi_string=doi_string %}&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p class=&quot;publicationAuthors&quot;&gt;{{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p class=&quot;publicationReference&quot;&gt;{{ citation }} &amp;nbsp;&amp;nbsp;&#39;</span>
-                  <span class="s1">&#39;|&amp;nbsp;published {{ pub_date }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p class=&quot;publicationAbstract&quot;&gt;{{ abstract }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;ul class=&quot;publicationClickables&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;&lt;button class=&quot;toggleAbstractButton&quot;&gt;Toggle abstract&lt;/button&gt;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li class=&quot;publicationPDF&quot;&gt;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">scipost:publication_pdf</span><span class="se">\&#39;</span><span class="s1"> doi_string=doi_string %}&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;/ul&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;citation&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">citation</span><span class="p">,</span>
-                           <span class="s1">&#39;pub_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%d</span><span class="s1"> %B %Y&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;abstract&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">abstract</span><span class="p">,</span>
-                       <span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="Publication.details"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.Publication.details">[docs]</a>    <span class="k">def</span> <span class="nf">details</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">        This method is called from the publication_detail template.</span>
-<span class="sd">        It provides all the details for a publication.</span>
-<span class="sd">        &quot;&quot;&quot;</span>
-        <span class="n">pub_details</span> <span class="o">=</span> <span class="p">(</span>
-            <span class="s1">&#39;&lt;p class=&quot;publicationTitle&quot;&gt;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">scipost:publication_detail</span><span class="se">\&#39;</span><span class="s1"> doi_string=doi_string %}&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-            <span class="s1">&#39;&lt;p class=&quot;publicationAuthors&quot;&gt;{{ author_list }}&lt;/p&gt;&#39;</span>
-            <span class="s1">&#39;&lt;p class=&quot;publicationReference&quot;&gt;{{ citation }} &amp;nbsp;&amp;nbsp;&#39;</span>
-            <span class="s1">&#39;|&amp;nbsp;published {{ pub_date}}&lt;/p&gt;&#39;</span>
-            <span class="s1">&#39;&lt;ul class=&quot;publicationClickables&quot;&gt;&#39;</span>
-            <span class="s1">&#39;&lt;li&gt;doi:  {{ doi_string }}&lt;/li&gt;&#39;</span>
-            <span class="s1">&#39;&lt;li class=&quot;publicationPDF&quot;&gt;&#39;</span>
-            <span class="s1">&#39;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">scipost:publication_pdf</span><span class="se">\&#39;</span><span class="s1"> doi_string=doi_string %}&quot; target=&quot;_blank&quot;&gt;pdf&lt;/a&gt;&#39;</span>
-            <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-            <span class="s1">&#39;&lt;li&gt;&lt;a href=&quot;#openModal&quot;&gt;BiBTeX&lt;/a&gt;&lt;/li&gt;&#39;</span>
-            <span class="s1">&#39;&lt;li&gt;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">submissions:submission</span><span class="se">\&#39;</span><span class="s1"> arxiv_identifier_w_vn_nr=&#39;</span>
-            <span class="s1">&#39;arxiv_identifier_w_vn_nr %}&quot;&gt;Submissions/Reports&lt;/a&gt;&lt;/li&gt;&#39;</span>
-            <span class="s1">&#39;&lt;/ul&gt;&lt;br/&gt;&lt;hr class=&quot;hr6&quot;/&gt;&#39;</span>
-            <span class="s1">&#39;&lt;h3&gt;Abstract:&lt;/h3&gt;&#39;</span>
-            <span class="s1">&#39;&lt;p class=&quot;publicationAbstract&quot;&gt;{{ abstract }}&lt;/p&gt;&#39;</span>
-            <span class="s1">&#39;&lt;div id=&quot;openModal&quot; class=&quot;modalDialog&quot;&gt;&lt;div&gt;&#39;</span>
-            <span class="s1">&#39;&lt;a href=&quot;#close&quot; title=&quot;Close&quot; class=&quot;close&quot;&gt;X&lt;/a&gt;&#39;</span>
-            <span class="s1">&#39;&lt;h2&gt;BiBTeX&lt;/h2&gt;&lt;p&gt;{{ BiBTeX|linebreaks }}&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-        <span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">pub_details</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;citation&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">citation_for_web</span><span class="p">,</span>
-                           <span class="s1">&#39;pub_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%d</span><span class="s1"> %B %Y&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;abstract&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">abstract</span><span class="p">,</span>
-                           <span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,</span>
-                           <span class="s1">&#39;BiBTeX&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">BiBTeX_entry</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted_submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span>
-                       <span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-    <span class="k">def</span> <span class="nf">citations_as_ul</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;ul&gt;&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({})</span>
-        <span class="n">nr</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="k">for</span> <span class="n">cit</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">citedby</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;{{ auth_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;auth_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="p">(</span><span class="n">cit</span><span class="p">[</span><span class="s1">&#39;first_author_given_name&#39;</span><span class="p">]</span>
-                                          <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;first_author_surname&#39;</span><span class="p">])</span>
-            <span class="k">if</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;multiauthors&#39;</span><span class="p">]:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; &lt;em&gt;et al.&lt;/em&gt;&#39;</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;, &lt;em&gt;{{ title_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}&lt;/em&gt;, &lt;br/&gt;&#39;</span>
-                       <span class="s1">&#39;{{ journal_abbrev_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }} &#39;</span>
-                       <span class="s1">&#39;&lt;strong&gt;{{ volume_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}&lt;/strong&gt;, &#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;title_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;article_title&#39;</span><span class="p">]</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;journal_abbrev_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;journal_abbreviation&#39;</span><span class="p">]</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;volume_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;volume&#39;</span><span class="p">]</span>
-            <span class="k">if</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;first_page&#39;</span><span class="p">]:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;{{ first_page_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}&#39;</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;first_page_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;first_page&#39;</span><span class="p">]</span>
-            <span class="k">elif</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;item_number&#39;</span><span class="p">]:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;{{ item_number_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}&#39;</span>
-                <span class="n">context</span><span class="p">[</span><span class="s1">&#39;item_number_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;item_number&#39;</span><span class="p">]</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; ({{ year_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}) &#39;</span>
-                       <span class="s1">&#39;&lt;a href=&quot;https://doi.org/{{ doi_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; }}&quot; &#39;</span>
-                       <span class="s1">&#39;target=&quot;_blank&quot;&gt;[Crossref]&lt;/a&gt;&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;year_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;year&#39;</span><span class="p">]</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;doi_&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr</span><span class="p">)]</span> <span class="o">=</span> <span class="n">cit</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">]</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-            <span class="n">nr</span> <span class="o">+=</span> <span class="mi">1</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="Deposit"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#journals.models.Deposit">[docs]</a><span class="k">class</span> <span class="nc">Deposit</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Each time a Crossref deposit is made for a Publication,</span>
-<span class="sd">    a Deposit object instance is created containing the Publication&#39;s</span>
-<span class="sd">    current version of the metadata_xml field.</span>
-<span class="sd">    All deposit history is thus contained here.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">doi_batch_id</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">metadata_xml</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">deposition_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="n">deposition_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-%D&#39;</span><span class="p">)</span> <span class="o">+</span>
-                <span class="s1">&#39; for &#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/journals/views.html b/docs/_build/html/_modules/journals/views.html
deleted file mode 100644
index 1e5e9a2e9005c346308fd305df2ae3e3218779ad..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/journals/views.html
+++ /dev/null
@@ -1,1025 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>journals.views &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>journals.views</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for journals.views</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">datetime</span>
-<span class="kn">import</span> <span class="nn">hashlib</span>
-<span class="kn">import</span> <span class="nn">os</span>
-<span class="kn">import</span> <span class="nn">random</span>
-<span class="kn">import</span> <span class="nn">requests</span>
-<span class="kn">import</span> <span class="nn">string</span>
-<span class="kn">import</span> <span class="nn">xml.etree.ElementTree</span> <span class="k">as</span> <span class="nn">ET</span>
-
-<span class="kn">from</span> <span class="nn">django.conf</span> <span class="k">import</span> <span class="n">settings</span>
-<span class="c1">#from django.core import serializers</span>
-<span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">get_object_or_404</span><span class="p">,</span> <span class="n">render</span><span class="p">,</span> <span class="n">redirect</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth</span> <span class="k">import</span> <span class="n">authenticate</span><span class="p">,</span> <span class="n">login</span><span class="p">,</span> <span class="n">logout</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span>
-<span class="kn">from</span> <span class="nn">django.core.files</span> <span class="k">import</span> <span class="n">File</span>
-<span class="kn">from</span> <span class="nn">django.core.mail</span> <span class="k">import</span> <span class="n">EmailMessage</span>
-<span class="kn">from</span> <span class="nn">django.core.urlresolvers</span> <span class="k">import</span> <span class="n">reverse</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">transaction</span>
-<span class="kn">from</span> <span class="nn">django.http</span> <span class="k">import</span> <span class="n">HttpResponse</span><span class="p">,</span> <span class="n">HttpResponseRedirect</span>
-<span class="kn">from</span> <span class="nn">django.views.decorators.csrf</span> <span class="k">import</span> <span class="n">csrf_protect</span>
-<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="k">import</span> <span class="n">Avg</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">.forms</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="kn">from</span> <span class="nn">journals.utils</span> <span class="k">import</span> <span class="n">JournalUtils</span>
-
-<span class="kn">from</span> <span class="nn">submissions.models</span> <span class="k">import</span> <span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-<span class="kn">from</span> <span class="nn">submissions.models</span> <span class="k">import</span> <span class="n">Submission</span>
-
-<span class="kn">from</span> <span class="nn">guardian.decorators</span> <span class="k">import</span> <span class="n">permission_required</span>
-<span class="kn">from</span> <span class="nn">guardian.decorators</span> <span class="k">import</span> <span class="n">permission_required_or_403</span>
-<span class="kn">from</span> <span class="nn">guardian.shortcuts</span> <span class="k">import</span> <span class="n">assign_perm</span>
-
-
-
-<span class="c1"># from requests.adapters import HTTPAdapter</span>
-<span class="c1"># from requests.packages.urllib3.poolmanager import PoolManager</span>
-<span class="c1"># import ssl</span>
-
-<span class="c1"># class MyAdapter(HTTPAdapter):</span>
-<span class="c1">#     def init_poolmanager(self, connections, maxsize, block=False):</span>
-<span class="c1">#         self.poolmanager = PoolManager(num_pools=connections,</span>
-<span class="c1">#                                        maxsize=maxsize,</span>
-<span class="c1">#                                        block=block,</span>
-<span class="c1">#                                        ssl_version=ssl.PROTOCOL_TLSv1)</span>
-
-<span class="c1">############</span>
-<span class="c1"># Journals</span>
-<span class="c1">############</span>
-
-
-<span class="c1"># Utilities</span>
-
-
-<span class="c1"># @permission_required(&#39;scipost.can_publish_accepted_submission&#39;, return_403=True)</span>
-<span class="c1"># @transaction.atomic</span>
-<span class="c1"># def open_new_issue(request):</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     For a Journal/Volume, creates a new issue.</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-
-<span class="c1">#     settings.JOURNALS_DIR</span>
-<span class="c1">#     + journal_name_abbrev_doi(publication.in_issue.in_volume.in_journal.name)</span>
-<span class="c1">#     + &#39;/&#39; + str(publication.in_issue.in_volume.number)</span>
-<span class="c1">#     + &#39;/&#39; + str(publication.in_issue.number)</span>
-
-
-<span class="k">def</span> <span class="nf">journals</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/journals.html&#39;</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">scipost_physics</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="c1">#issues = Issue.objects.filter(</span>
-    <span class="c1">#    in_volume__in_journal__name=&#39;SciPost Physics&#39;).order_by(&#39;-until_date&#39;)</span>
-    <span class="n">current_issue</span> <span class="o">=</span> <span class="n">Issue</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">in_volume__in_journal__name</span><span class="o">=</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">,</span>
-        <span class="n">start_date__lte</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-        <span class="n">until_date__gte</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-until_date&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-    <span class="n">latest_issue</span> <span class="o">=</span> <span class="n">Issue</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">in_volume__in_journal__name</span><span class="o">=</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">,</span>
-        <span class="n">until_date__lte</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-until_date&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-    <span class="c1">#recent_papers = Publication.objects.filter(</span>
-    <span class="c1">#    #in_issue=latest_issue).order_by(&#39;paper_nr&#39;)</span>
-    <span class="c1">#    in_issue__in_volume__in_journal__name=&#39;SciPost Physics&#39;).order_by(&#39;-publication_date&#39;)[:20]</span>
-    <span class="c1">#accepted_SP_submissions = Submission.objects.filter(</span>
-    <span class="c1">#    submitted_to_journal=&#39;SciPost Physics&#39;, status=&#39;accepted&#39;</span>
-    <span class="c1">#).order_by(&#39;-latest_activity&#39;)</span>
-    <span class="c1">#current_SP_submissions = Submission.objects.filter(</span>
-    <span class="c1">#    submitted_to_journal=&#39;SciPost Physics&#39;</span>
-    <span class="c1">#    ).exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-    <span class="c1">#    ).order_by(&#39;-submission_date&#39;)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span>
-        <span class="c1">#&#39;issues&#39;: issues,</span>
-        <span class="s1">&#39;current_issue&#39;</span><span class="p">:</span> <span class="n">current_issue</span><span class="p">,</span>
-        <span class="s1">&#39;latest_issue&#39;</span><span class="p">:</span> <span class="n">latest_issue</span><span class="p">,</span>
-        <span class="c1">#&#39;recent_papers&#39;: recent_papers,</span>
-        <span class="c1">#&#39;accepted_SP_submissions&#39;: accepted_SP_submissions,</span>
-        <span class="c1">#&#39;current_SP_submissions&#39;: current_SP_submissions,</span>
-    <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">scipost_physics_issues</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">issues</span> <span class="o">=</span> <span class="n">Issue</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">in_volume__in_journal__name</span><span class="o">=</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-until_date&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;issues&#39;</span><span class="p">:</span> <span class="n">issues</span><span class="p">,}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics_issues.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="scipost_physics_recent"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.scipost_physics_recent">[docs]</a><span class="k">def</span> <span class="nf">scipost_physics_recent</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Display page for the most recent 20 publications in SciPost Physics.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="c1">#latest_issue = Issue.objects.filter(</span>
-    <span class="c1">#    in_volume__in_journal__name=&#39;SciPost Physics&#39;).order_by(&#39;-until_date&#39;).first()</span>
-    <span class="n">recent_papers</span> <span class="o">=</span> <span class="n">Publication</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="c1">#in_issue=latest_issue).order_by(&#39;-publication_date&#39;)</span>
-        <span class="n">in_issue__in_volume__in_journal__name</span><span class="o">=</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-publication_date&#39;</span><span class="p">)[:</span><span class="mi">20</span><span class="p">]</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="c1">#&#39;latest_issue&#39;: latest_issue,</span>
-               <span class="s1">&#39;recent_papers&#39;</span><span class="p">:</span> <span class="n">recent_papers</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics_recent.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="scipost_physics_accepted"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.scipost_physics_accepted">[docs]</a><span class="k">def</span> <span class="nf">scipost_physics_accepted</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Display page for submissions to SciPost Physics which</span>
-<span class="sd">    have been accepted but are not yet published.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">accepted_SP_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">submitted_to_journal</span><span class="o">=</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="s1">&#39;accepted&#39;</span>
-    <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-latest_activity&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;accepted_SP_submissions&#39;</span><span class="p">:</span> <span class="n">accepted_SP_submissions</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics_accepted.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1"># def scipost_physics_submissions(request):</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     Display page for submissions to SciPost Physics which</span>
-<span class="c1">#     have been accepted but are not yet published.</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     current_SP_submissions = Submission.objects.filter(</span>
-<span class="c1">#         submitted_to_journal=&#39;SciPost Physics&#39;</span>
-<span class="c1">#         ).exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-<span class="c1">#         ).order_by(&#39;-submission_date&#39;)</span>
-<span class="c1">#     context = {&#39;current_SP_submissions&#39;: current_SP_submissions}</span>
-<span class="c1">#     return render(request, &#39;journals/scipost_physics_submissions.html&#39;, context)</span>
-
-
-<span class="k">def</span> <span class="nf">scipost_physics_info_for_authors</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics_info_for_authors.html&#39;</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">scipost_physics_about</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics_about.html&#39;</span><span class="p">)</span>
-
-
-
-<span class="k">def</span> <span class="nf">scipost_physics_issue_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">volume_nr</span><span class="p">,</span> <span class="n">issue_nr</span><span class="p">):</span>
-    <span class="n">issue</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Issue</span><span class="p">,</span> <span class="n">in_volume__in_journal__name</span><span class="o">=</span><span class="s1">&#39;SciPost Physics&#39;</span><span class="p">,</span>
-                               <span class="n">number</span><span class="o">=</span><span class="n">issue_nr</span><span class="p">)</span>
-    <span class="n">papers</span> <span class="o">=</span> <span class="n">issue</span><span class="o">.</span><span class="n">publication_set</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;paper_nr&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;issue&#39;</span><span class="p">:</span> <span class="n">issue</span><span class="p">,</span> <span class="s1">&#39;papers&#39;</span><span class="p">:</span> <span class="n">papers</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/scipost_physics_issue_detail.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-
-<span class="c1">#######################</span>
-<span class="c1"># Publication process #</span>
-<span class="c1">#######################</span>
-
-<span class="c1"># @permission_required(&#39;scipost.can_publish_accepted_submission&#39;, return_403=True)</span>
-<span class="c1"># @transaction.atomic</span>
-<span class="c1"># def publishing_workspace(request):</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     Page containing post-acceptance publishing workflow items.</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     accepted_submissions = Submission.objects.filter(status=&#39;accepted&#39;)</span>
-<span class="c1">#     context = {&#39;accepted_submissions&#39;: accepted_submissions,}</span>
-<span class="c1">#     return render(request, &#39;journals/publishing_workspace.html&#39;, context)</span>
-
-<div class="viewcode-block" id="upload_proofs"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.upload_proofs">[docs]</a><span class="k">def</span> <span class="nf">upload_proofs</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    TODO</span>
-<span class="sd">    Called by a member of the Production Team.</span>
-<span class="sd">    Upload the production version .pdf of a submission.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/upload_proofs.html&#39;</span><span class="p">)</span></div>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="initiate_publication"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.initiate_publication">[docs]</a><span class="k">def</span> <span class="nf">initiate_publication</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Called by an Editorial Administrator.</span>
-<span class="sd">    Publish the manuscript after proofs have been accepted.</span>
-<span class="sd">    This method prefills a ValidatePublicationForm for further</span>
-<span class="sd">    processing (verification in validate_publication method).</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">initiate_publication_form</span> <span class="o">=</span> <span class="n">InitiatePublicationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">initiate_publication_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span>
-                <span class="n">pk</span><span class="o">=</span><span class="n">initiate_publication_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;accepted_submission&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
-            <span class="n">current_issue</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Issue</span><span class="p">,</span>
-                            <span class="n">pk</span><span class="o">=</span><span class="n">initiate_publication_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;to_be_issued_in&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
-            <span class="c1"># Determine next available paper number:</span>
-            <span class="c1">#papers_in_current_issue = Publication.objects.filter(in_issue=current_issue)</span>
-            <span class="n">papers_in_current_volume</span> <span class="o">=</span> <span class="n">Publication</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">in_issue__in_volume</span><span class="o">=</span><span class="n">current_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="p">)</span>
-            <span class="n">paper_nr</span> <span class="o">=</span> <span class="mi">1</span>
-            <span class="c1">#while papers_in_current_issue.filter(paper_nr=paper_nr).exists():</span>
-            <span class="k">while</span> <span class="n">papers_in_current_volume</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">paper_nr</span><span class="o">=</span><span class="n">paper_nr</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-                <span class="n">paper_nr</span> <span class="o">+=</span> <span class="mi">1</span>
-                <span class="k">if</span> <span class="n">paper_nr</span> <span class="o">&gt;</span> <span class="mi">999</span><span class="p">:</span>
-                    <span class="k">raise</span> <span class="n">PaperNumberingError</span><span class="p">(</span><span class="n">paper_nr</span><span class="p">)</span>
-            <span class="n">doi_label</span> <span class="o">=</span> <span class="p">(</span>
-                <span class="n">journal_name_abbrev_doi</span><span class="p">(</span><span class="n">current_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-                <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">current_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">)</span>
-                <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">current_issue</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span> <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="n">paper_nr</span><span class="p">)</span>
-            <span class="p">)</span>
-            <span class="n">doi_string</span><span class="o">=</span><span class="s1">&#39;10.21468/&#39;</span> <span class="o">+</span> <span class="n">doi_label</span>
-            <span class="n">BiBTeX_entry</span> <span class="o">=</span> <span class="p">(</span>
-                <span class="s1">&#39;@Article{&#39;</span> <span class="o">+</span> <span class="n">doi_label</span> <span class="o">+</span> <span class="s1">&#39;,</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">title={{&#39;</span> <span class="o">+</span> <span class="n">submission</span><span class="o">.</span><span class="n">title</span> <span class="o">+</span> <span class="s1">&#39;}},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">author={&#39;</span> <span class="o">+</span> <span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;,&#39;</span><span class="p">,</span> <span class="s1">&#39; and&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">journal={&#39;</span>
-                <span class="o">+</span> <span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="n">current_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
-                <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">volume={&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">current_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">issue={&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">current_issue</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">pages={&#39;</span> <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="n">paper_nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">year={&#39;</span> <span class="o">+</span> <span class="n">current_issue</span><span class="o">.</span><span class="n">until_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">publisher=</span><span class="si">{SciPost}</span><span class="s1">,</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">doi={&#39;</span> <span class="o">+</span> <span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;</span><span class="se">\t</span><span class="s1">url={https://scipost.org/&#39;</span> <span class="o">+</span> <span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;},</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="s1">&#39;}</span><span class="se">\n</span><span class="s1">&#39;</span>
-            <span class="p">)</span>
-            <span class="n">initial</span> <span class="o">=</span> <span class="p">{</span>
-                <span class="s1">&#39;accepted_submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span>
-                <span class="s1">&#39;in_issue&#39;</span><span class="p">:</span> <span class="n">current_issue</span><span class="p">,</span>
-                <span class="s1">&#39;paper_nr&#39;</span><span class="p">:</span> <span class="n">paper_nr</span><span class="p">,</span>
-                <span class="s1">&#39;discipline&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">discipline</span><span class="p">,</span>
-                <span class="s1">&#39;domain&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">domain</span><span class="p">,</span>
-                <span class="s1">&#39;subject_area&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">subject_area</span><span class="p">,</span>
-                <span class="s1">&#39;secondary_areas&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">secondary_areas</span><span class="p">,</span>
-                <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                <span class="s1">&#39;abstract&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">abstract</span><span class="p">,</span>
-                <span class="s1">&#39;BiBTeX_entry&#39;</span><span class="p">:</span> <span class="n">BiBTeX_entry</span><span class="p">,</span>
-                <span class="s1">&#39;doi_label&#39;</span><span class="p">:</span> <span class="n">doi_label</span><span class="p">,</span>
-                <span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">doi_string</span><span class="p">,</span>
-                <span class="s1">&#39;submission_date&#39;</span><span class="p">:</span> <span class="n">initiate_publication_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;original_submission_date&#39;</span><span class="p">],</span>
-                <span class="s1">&#39;acceptance_date&#39;</span><span class="p">:</span> <span class="n">initiate_publication_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;acceptance_date&#39;</span><span class="p">],</span>
-                <span class="s1">&#39;publication_date&#39;</span><span class="p">:</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="s1">&#39;latest_activity&#39;</span><span class="p">:</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-            <span class="p">}</span>
-            <span class="n">validate_publication_form</span> <span class="o">=</span> <span class="n">ValidatePublicationForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="n">initial</span><span class="p">)</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;validate_publication_form&#39;</span><span class="p">:</span> <span class="n">validate_publication_form</span><span class="p">,}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/validate_publication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was not filled validly.&#39;</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;initiate_publication_form&#39;</span><span class="p">:</span> <span class="n">initiate_publication_form</span><span class="p">,</span>
-                       <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/initiate_publication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">initiate_publication_form</span> <span class="o">=</span> <span class="n">InitiatePublicationForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;initiate_publication_form&#39;</span><span class="p">:</span> <span class="n">initiate_publication_form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/initiate_publication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="validate_publication"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.validate_publication">[docs]</a><span class="k">def</span> <span class="nf">validate_publication</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    This creates a Publication instance from the ValidatePublicationForm,</span>
-<span class="sd">    pre-filled by the initiate_publication method above.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="c1"># TODO: move from uploads to Journal folder</span>
-    <span class="c1"># TODO: create metadata</span>
-    <span class="c1"># TODO: set DOI, register with Crossref</span>
-    <span class="c1"># TODO: add funding info</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">validate_publication_form</span> <span class="o">=</span> <span class="n">ValidatePublicationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">FILES</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">validate_publication_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">publication</span> <span class="o">=</span> <span class="n">validate_publication_form</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># Fill in remaining data</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">pdf_file</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">FILES</span><span class="p">[</span><span class="s1">&#39;pdf_file&#39;</span><span class="p">]</span>
-            <span class="n">submission</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">accepted_submission</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="o">*</span><span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">())</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="o">*</span><span class="n">submission</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">all</span><span class="p">())</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="o">*</span><span class="n">submission</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">all</span><span class="p">())</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># Move file to final location</span>
-            <span class="n">initial_path</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">pdf_file</span><span class="o">.</span><span class="n">path</span>
-            <span class="n">new_dir</span> <span class="o">=</span>  <span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">path</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span>
-                        <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">))</span>
-            <span class="n">new_path</span> <span class="o">=</span> <span class="n">new_dir</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_label</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;_&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;.pdf&#39;</span>
-            <span class="n">os</span><span class="o">.</span><span class="n">makedirs</span><span class="p">(</span><span class="n">new_dir</span><span class="p">)</span>
-            <span class="n">os</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="n">initial_path</span><span class="p">,</span> <span class="n">new_path</span><span class="p">)</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">pdf_file</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">new_path</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># Mark the submission as having been published:</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">accepted_submission</span><span class="o">.</span><span class="n">published_as</span> <span class="o">=</span> <span class="n">publication</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">accepted_submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;published&#39;</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">accepted_submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># TODO: Create a Commentary Page</span>
-            <span class="c1"># Email authors</span>
-            <span class="n">JournalUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">})</span>
-            <span class="n">JournalUtils</span><span class="o">.</span><span class="n">send_authors_paper_published_email</span><span class="p">()</span>
-            <span class="n">ack_header</span> <span class="o">=</span> <span class="s1">&#39;The publication has been validated.&#39;</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="n">ack_header</span><span class="p">,}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was invalid.&#39;</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-                       <span class="s1">&#39;validate_publication_form&#39;</span><span class="p">:</span> <span class="n">validate_publication_form</span><span class="p">,</span>
-                       <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/validate_publication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">validate_publication_form</span> <span class="o">=</span> <span class="n">ValidatePublicationForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;validate_publication_form&#39;</span><span class="p">:</span> <span class="n">validate_publication_form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/validate_publication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">mark_first_author</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">publication_id</span><span class="p">,</span> <span class="n">contributor_id</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">publication_id</span><span class="p">)</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">first_author</span> <span class="o">=</span> <span class="n">contributor</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">first_author_unregistered</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:publication_detail&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}))</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">mark_first_author_unregistered</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">publication_id</span><span class="p">,</span> <span class="n">unregistered_author_id</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">publication_id</span><span class="p">)</span>
-    <span class="n">unregistered_author</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">UnregisteredAuthor</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">unregistered_author_id</span><span class="p">)</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">first_author</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">first_author_unregistered</span> <span class="o">=</span> <span class="n">unregistered_author</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:publication_detail&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}))</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="add_author"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.add_author">[docs]</a><span class="k">def</span> <span class="nf">add_author</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">publication_id</span><span class="p">,</span> <span class="n">contributor_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">unregistered_author_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    If not all authors are registered Contributors or if they have not</span>
-<span class="sd">    all claimed authorship, this method allows editorial administrators</span>
-<span class="sd">    to associated them to the publication.</span>
-<span class="sd">    This is important for the Crossref metadata, in which all authors must appear.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">publication_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">contributor_id</span><span class="p">:</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-        <span class="n">publication</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:publication_detail&#39;</span><span class="p">,</span>
-                                <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}))</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">UnregisteredAuthorForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">contributors_found</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">user__last_name__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">])</span>
-            <span class="n">unregistered_authors_found</span> <span class="o">=</span> <span class="n">UnregisteredAuthor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">last_name__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">])</span>
-            <span class="n">new_unreg_author_form</span> <span class="o">=</span> <span class="n">UnregisteredAuthorForm</span><span class="p">(</span>
-                <span class="n">initial</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">],</span>
-                         <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">],})</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Please fill in the form properly&#39;</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">UnregisteredAuthorForm</span><span class="p">()</span>
-        <span class="n">contributors_found</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="n">unregistered_authors_found</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="n">new_unreg_author_form</span> <span class="o">=</span> <span class="n">UnregisteredAuthorForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-               <span class="s1">&#39;contributors_found&#39;</span><span class="p">:</span> <span class="n">contributors_found</span><span class="p">,</span>
-               <span class="s1">&#39;unregistered_authors_found&#39;</span><span class="p">:</span> <span class="n">unregistered_authors_found</span><span class="p">,</span>
-               <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-               <span class="s1">&#39;new_unreg_author_form&#39;</span><span class="p">:</span> <span class="n">new_unreg_author_form</span><span class="p">,}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/add_author.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">add_unregistered_author</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">publication_id</span><span class="p">,</span> <span class="n">unregistered_author_id</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">publication_id</span><span class="p">)</span>
-    <span class="n">unregistered_author</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">UnregisteredAuthor</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">unregistered_author_id</span><span class="p">)</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">unregistered_authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">unregistered_author</span><span class="p">)</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:publication_detail&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}))</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">add_new_unreg_author</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">publication_id</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">publication_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">new_unreg_author_form</span> <span class="o">=</span> <span class="n">UnregisteredAuthorForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">new_unreg_author_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">new_unreg_author</span> <span class="o">=</span> <span class="n">UnregisteredAuthor</span><span class="p">(</span>
-                <span class="n">first_name</span> <span class="o">=</span> <span class="n">new_unreg_author_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">],</span>
-                <span class="n">last_name</span> <span class="o">=</span> <span class="n">new_unreg_author_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">],)</span>
-            <span class="n">new_unreg_author</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">authors_unregistered</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">new_unreg_author</span><span class="p">)</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:publication_detail&#39;</span><span class="p">,</span>
-                                    <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}))</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Method add_new_unreg_author can only be called with POST.&#39;</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="create_citation_list_metadata"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.create_citation_list_metadata">[docs]</a><span class="k">def</span> <span class="nf">create_citation_list_metadata</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Called by an Editorial Administrator.</span>
-<span class="sd">    This populates the citation_list dictionary entry</span>
-<span class="sd">    in the metadata field in a Publication instance.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">bibitems_form</span> <span class="o">=</span> <span class="n">CitationListBibitemsForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">FILES</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">bibitems_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;citation_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
-            <span class="n">entries_list</span> <span class="o">=</span> <span class="n">bibitems_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;latex_bibitems&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">&#39;\doi{&#39;</span><span class="p">)</span>
-            <span class="n">nentries</span> <span class="o">=</span> <span class="mi">1</span>
-            <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">entries_list</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span> <span class="c1"># drop first bit before first \doi{</span>
-                <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;citation_list&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span>
-                    <span class="p">{</span><span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="s1">&#39;ref&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nentries</span><span class="p">),</span>
-                     <span class="s1">&#39;doi&#39;</span><span class="p">:</span> <span class="n">entry</span><span class="o">.</span><span class="n">partition</span><span class="p">(</span><span class="s1">&#39;}&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">],}</span>
-                <span class="p">)</span>
-                <span class="n">nentries</span> <span class="o">+=</span> <span class="mi">1</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">bibitems_form</span> <span class="o">=</span> <span class="n">CitationListBibitemsForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-               <span class="s1">&#39;bibitems_form&#39;</span><span class="p">:</span> <span class="n">bibitems_form</span><span class="p">,</span>
-    <span class="p">}</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;citation_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;citation_list&#39;</span><span class="p">]</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/create_citation_list_metadata.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="create_funding_info_metadata"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.create_funding_info_metadata">[docs]</a><span class="k">def</span> <span class="nf">create_funding_info_metadata</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Called by an Editorial Administrator.</span>
-<span class="sd">    This populates the funding_info dictionary entry</span>
-<span class="sd">    in the metadata field in a Publication instance.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">funding_info_form</span> <span class="o">=</span> <span class="n">FundingInfoForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">funding_info_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;funding_statement&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">funding_info_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;funding_statement&#39;</span><span class="p">]</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-    <span class="n">initial</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;funding_statement&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">,}</span>
-    <span class="n">funding_statement</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;funding_statement&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;funding_statement&#39;</span><span class="p">]</span>
-        <span class="n">funding_statement</span> <span class="o">=</span> <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;funding_statement&#39;</span><span class="p">]</span>
-    <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-        <span class="k">pass</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-               <span class="s1">&#39;funding_info_form&#39;</span><span class="p">:</span> <span class="n">FundingInfoForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="n">initial</span><span class="p">),</span>
-               <span class="s1">&#39;funding_statement&#39;</span><span class="p">:</span> <span class="n">funding_statement</span><span class="p">,}</span>
-
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/create_funding_info_metadata.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="create_metadata_xml"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.create_metadata_xml">[docs]</a><span class="k">def</span> <span class="nf">create_metadata_xml</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    To be called by an EdAdmin after the citation_list,</span>
-<span class="sd">    funding_info entries have been filled.</span>
-<span class="sd">    Populates the metadata_xml field of a Publication instance.</span>
-<span class="sd">    The contents can then be sent to Crossref for registration.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">create_metadata_xml_form</span> <span class="o">=</span> <span class="n">CreateMetadataXMLForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">create_metadata_xml_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">metadata_xml</span> <span class="o">=</span> <span class="n">create_metadata_xml_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span>
-            <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:publication_detail&#39;</span><span class="p">,</span>
-                                    <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;doi_string&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}))</span>
-
-    <span class="c1"># create a doi_batch_id</span>
-    <span class="n">salt</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span>
-        <span class="n">salt</span> <span class="o">=</span> <span class="n">salt</span> <span class="o">+</span> <span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">ascii_letters</span><span class="p">)</span>
-    <span class="n">salt</span> <span class="o">=</span> <span class="n">salt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>
-    <span class="n">idsalt</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">10</span><span class="p">]</span>
-    <span class="n">idsalt</span> <span class="o">=</span> <span class="n">idsalt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>
-    <span class="n">doi_batch_id</span> <span class="o">=</span> <span class="n">hashlib</span><span class="o">.</span><span class="n">sha1</span><span class="p">(</span><span class="n">salt</span><span class="o">+</span><span class="n">idsalt</span><span class="p">)</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span>
-
-    <span class="c1">#publication.metadata_xml = (</span>
-    <span class="n">initial</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">:</span> <span class="s1">&#39;&#39;</span><span class="p">}</span>
-    <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-        <span class="s1">&#39;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;doi_batch version=&quot;4.3.7&quot; xmlns=&quot;http://www.crossref.org/schema/4.3.7&quot; &#39;</span>
-        <span class="s1">&#39;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; &#39;</span>
-        <span class="s1">&#39;xsi:schemaLocation=&quot;http://www.crossref.org/schema/4.3.7 &#39;</span>
-        <span class="s1">&#39;http://www.crossref.org/shema/deposit/crossref4.3.7.xsd&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;head&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;doi_batch_id&gt;&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">doi_batch_id</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/doi_batch_id&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;timestamp&gt;&#39;</span> <span class="o">+</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">%H%M%S&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/timestamp&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;depositor&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;depositor_name&gt;scipost&lt;/depositor_name&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;email_address&gt;admin@scipost.org&lt;/email_address&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/depositor&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;registrant&gt;scipost&lt;/registrant&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/head&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;body&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;journal&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;journal_metadata&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;full_title&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/full_title&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;abbrev_title&gt;&#39;</span>
-        <span class="o">+</span> <span class="n">journal_name_abbrev_citation</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">name</span><span class="p">)</span> <span class="o">+</span>
-        <span class="s1">&#39;&lt;/abbrev_title&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;issn&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">issn</span> <span class="o">+</span> <span class="s1">&#39;&lt;/issn&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;doi_data&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;doi&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;&lt;/doi&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;resource&gt;https://scipost.org/&#39;</span>
-        <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">in_journal</span><span class="o">.</span><span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;&lt;/resource&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/doi_data&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/journal_metadata&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;journal_issue&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;publication_date media_type=</span><span class="se">\&#39;</span><span class="s1">online</span><span class="se">\&#39;</span><span class="s1">&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;year&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/year&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/publication_date&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;journal_volume&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;volume&gt;&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">in_volume</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/volume&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/journal_volume&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;issue&gt;&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">in_issue</span><span class="o">.</span><span class="n">number</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/issue&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/journal_issue&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;journal_article publication_type=</span><span class="se">\&#39;</span><span class="s1">full_text</span><span class="se">\&#39;</span><span class="s1">&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;titles&gt;&lt;title&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">title</span> <span class="o">+</span> <span class="s1">&#39;&lt;/title&gt;&lt;/titles&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;contributors&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-    <span class="p">)</span>
-    <span class="c1"># Precondition: all authors MUST be listed in authors field of publication instance,</span>
-    <span class="c1"># this to be checked by EdAdmin before publishing.</span>
-    <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">publication</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-        <span class="k">if</span> <span class="n">author</span> <span class="o">==</span> <span class="n">publication</span><span class="o">.</span><span class="n">first_author</span><span class="p">:</span>
-            <span class="c1">#publication.metadata_xml += (</span>
-            <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-                <span class="s1">&#39;&lt;person_name sequence=</span><span class="se">\&#39;</span><span class="s1">first</span><span class="se">\&#39;</span><span class="s1"> contributor_role=</span><span class="se">\&#39;</span><span class="s1">author</span><span class="se">\&#39;</span><span class="s1">&gt; &#39;</span>
-                <span class="s1">&#39;&lt;given_name&gt;&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/given_name&gt; &#39;</span>
-                <span class="s1">&#39;&lt;surname&gt;&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/surname&gt; &#39;</span>
-            <span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="c1">#publication.metadata_xml += (</span>
-            <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-                <span class="s1">&#39;&lt;person_name sequence=</span><span class="se">\&#39;</span><span class="s1">additional</span><span class="se">\&#39;</span><span class="s1"> contributor_role=</span><span class="se">\&#39;</span><span class="s1">author</span><span class="se">\&#39;</span><span class="s1">&gt; &#39;</span>
-                <span class="s1">&#39;&lt;given_name&gt;&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/given_name&gt; &#39;</span>
-                <span class="s1">&#39;&lt;surname&gt;&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/surname&gt; &#39;</span>
-            <span class="p">)</span>
-        <span class="k">if</span> <span class="n">author</span><span class="o">.</span><span class="n">orcid_id</span><span class="p">:</span>
-            <span class="c1">#publication.metadata_xml += &#39;&lt;ORCID&gt;http://orcid.org&#39; + author.orcid_id + &#39;&lt;/ORCID&gt;&#39;</span>
-            <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;ORCID&gt;http://orcid.org/&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="o">.</span><span class="n">orcid_id</span> <span class="o">+</span> <span class="s1">&#39;&lt;/ORCID&gt;&#39;</span>
-        <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/person_name&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-
-    <span class="k">for</span> <span class="n">author_unreg</span> <span class="ow">in</span> <span class="n">publication</span><span class="o">.</span><span class="n">authors_unregistered</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-        <span class="k">if</span> <span class="n">author_unreg</span> <span class="o">==</span> <span class="n">publication</span><span class="o">.</span><span class="n">first_author_unregistered</span><span class="p">:</span>
-            <span class="c1">#publication.metadata_xml += (</span>
-            <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-                <span class="s1">&#39;&lt;person_name sequence=</span><span class="se">\&#39;</span><span class="s1">first</span><span class="se">\&#39;</span><span class="s1"> contributor_role=</span><span class="se">\&#39;</span><span class="s1">author</span><span class="se">\&#39;</span><span class="s1">&gt; &#39;</span>
-                <span class="s1">&#39;&lt;given_name&gt;&#39;</span> <span class="o">+</span> <span class="n">author_unreg</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/given_name&gt; &#39;</span>
-                <span class="s1">&#39;&lt;surname&gt;&#39;</span> <span class="o">+</span> <span class="n">author_unreg</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/surname&gt; &#39;</span>
-            <span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="c1">#publication.metadata_xml += (</span>
-            <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-                <span class="s1">&#39;&lt;person_name sequence=</span><span class="se">\&#39;</span><span class="s1">additional</span><span class="se">\&#39;</span><span class="s1"> contributor_role=</span><span class="se">\&#39;</span><span class="s1">author</span><span class="se">\&#39;</span><span class="s1">&gt; &#39;</span>
-                <span class="s1">&#39;&lt;given_name&gt;&#39;</span> <span class="o">+</span> <span class="n">author_unreg</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/given_name&gt; &#39;</span>
-                <span class="s1">&#39;&lt;surname&gt;&#39;</span> <span class="o">+</span> <span class="n">author_unreg</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/surname&gt; &#39;</span>
-            <span class="p">)</span>
-        <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/person_name&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-    <span class="c1">#publication.metadata_xml += &#39;&lt;/contributors&gt;\n&#39;</span>
-    <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/contributors&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-
-    <span class="c1">#publication.metadata_xml += (</span>
-    <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-        <span class="s1">&#39;&lt;publication_date media_type=</span><span class="se">\&#39;</span><span class="s1">online</span><span class="se">\&#39;</span><span class="s1">&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;month&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%m&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/month&gt;&#39;</span>
-        <span class="s1">&#39;&lt;day&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/day&gt;&#39;</span>
-        <span class="s1">&#39;&lt;year&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">publication_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/year&gt;&#39;</span>
-        <span class="s1">&#39;&lt;/publication_date&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;publisher_item&gt;&lt;item_number item_number_type=&quot;article_number&quot;&gt;&#39;</span>
-        <span class="o">+</span> <span class="n">paper_nr_string</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">paper_nr</span><span class="p">)</span> <span class="o">+</span>
-        <span class="s1">&#39;&lt;/item_number&gt;&lt;/publisher_item&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;doi_data&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;doi&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;&lt;/doi&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;resource&gt;https://scipost.org/&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;&lt;/resource&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;collection property=&quot;crawler-based&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;item crawler=&quot;iParadigms&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;resource&gt;https://scipost.org/&#39;</span>
-        <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;/pdf&lt;/resource&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/item&gt;&lt;/collection&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/doi_data&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-    <span class="p">)</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;citation_list&#39;</span><span class="p">]:</span>
-            <span class="c1">#publication.metadata_xml += &#39;&lt;citation_list&gt;\n&#39;</span>
-            <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;citation_list&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-            <span class="k">for</span> <span class="n">ref</span> <span class="ow">in</span> <span class="n">publication</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;citation_list&#39;</span><span class="p">]:</span>
-                <span class="c1">#publication.metadata_xml += (</span>
-                <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-                    <span class="s1">&#39;&lt;citation key=&quot;&#39;</span> <span class="o">+</span> <span class="n">ref</span><span class="p">[</span><span class="s1">&#39;key&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&quot;&gt;&#39;</span>
-                    <span class="s1">&#39;&lt;doi&gt;&#39;</span> <span class="o">+</span> <span class="n">ref</span><span class="p">[</span><span class="s1">&#39;doi&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/doi&gt;&#39;</span>
-                    <span class="s1">&#39;&lt;/citation&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-                <span class="p">)</span>
-        <span class="c1">#publication.metadata_xml += &#39;&lt;/citation_list&gt;\n&#39;</span>
-        <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/citation_list&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-    <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-        <span class="k">pass</span>
-    <span class="c1">#publication.metadata_xml += (</span>
-    <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="p">(</span>
-        <span class="s1">&#39;&lt;/journal_article&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="s1">&#39;&lt;/journal&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-    <span class="p">)</span>
-    <span class="c1">#publication.metadata_xml += &#39;&lt;/body&gt;\n&lt;/doi_batch&gt;&#39;</span>
-    <span class="n">initial</span><span class="p">[</span><span class="s1">&#39;metadata_xml&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/body&gt;</span><span class="se">\n</span><span class="s1">&lt;/doi_batch&gt;&#39;</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="c1">#else:</span>
-    <span class="c1">#   errormessage = &#39;The form was invalidly filled.&#39;</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-               <span class="s1">&#39;create_metadata_xml_form&#39;</span><span class="p">:</span> <span class="n">CreateMetadataXMLForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="n">initial</span><span class="p">),</span>
-               <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/create_metadata_xml.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1"># @permission_required(&#39;scipost.can_publish_accepted_submission&#39;, return_403=True)</span>
-<span class="c1"># @transaction.atomic</span>
-<span class="c1"># def test_metadata_xml_deposit(request, doi_string):</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     Prior to the actual Crossref metadata deposit,</span>
-<span class="c1">#     test the metadata_xml using the Crossref test server.</span>
-<span class="c1">#     Makes use of the python requests module.</span>
-<span class="c1">#     &quot;&quot;&quot;</span>
-<span class="c1">#     publication = get_object_or_404 (Publication, doi_string=doi_string)</span>
-<span class="c1">#     url = &#39;http://test.crossref.org/servlet/deposit&#39;</span>
-<span class="c1">#     #headers = {&#39;Content-type&#39;: &#39;multipart/form-data&#39;}</span>
-<span class="c1">#     params = {&#39;operation&#39;: &#39;doMDUpload&#39;,</span>
-<span class="c1">#               &#39;login_id&#39;: settings.CROSSREF_LOGIN_ID,</span>
-<span class="c1">#               &#39;login_passwd&#39;: settings.CROSSREF_LOGIN_PASSWORD,</span>
-<span class="c1">#           }</span>
-<span class="c1">#     #files = {&#39;fname&#39;: (&#39;metadata.xml&#39;, publication.metadata_xml, &#39;multipart/form-data&#39;, {&#39;Expires&#39;: &#39;0&#39;})}</span>
-<span class="c1">#     files = {&#39;fname&#39;: (&#39;metadata.xml&#39;, publication.metadata_xml, &#39;multipart/form-data&#39;)}</span>
-<span class="c1">#     r = requests.post(url,</span>
-<span class="c1">#                       params=params,</span>
-<span class="c1">#                       files=files,</span>
-<span class="c1">#                       #verify=settings.CERTFILE,</span>
-<span class="c1">#                       #verify=False,</span>
-<span class="c1">#     )</span>
-<span class="c1">#     #s = requests.Session()</span>
-<span class="c1">#     #s.mount(&#39;https://&#39;, MyAdapter())</span>
-<span class="c1">#     #r = s.post(url, params=params, files=files)</span>
-<span class="c1">#     response_headers = r.headers</span>
-<span class="c1">#     response_text = r.text</span>
-<span class="c1">#     context = {&#39;publication&#39;: publication,</span>
-<span class="c1">#                &#39;response_headers&#39;: response_headers,</span>
-<span class="c1">#                &#39;response_text&#39;: response_text,</span>
-<span class="c1">#     }</span>
-<span class="c1">#     return render(request, &#39;journals/test_metadata_xml_deposit.html&#39;, context)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="metadata_xml_deposit"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#journals.views.metadata_xml_deposit">[docs]</a><span class="k">def</span> <span class="nf">metadata_xml_deposit</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">,</span> <span class="n">option</span><span class="o">=</span><span class="s1">&#39;test&#39;</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Crossref metadata deposit.</span>
-<span class="sd">    If test==True, test the metadata_xml using the Crossref test server.</span>
-<span class="sd">    Makes use of the python requests module.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">option</span><span class="o">==</span><span class="s1">&#39;deposit&#39;</span><span class="p">:</span>
-        <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://doi.crossref.org/servlet/deposit&#39;</span>
-    <span class="k">elif</span> <span class="n">option</span><span class="o">==</span><span class="s1">&#39;test&#39;</span><span class="p">:</span>
-        <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://test.crossref.org/servlet/deposit&#39;</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;metadata_xml_deposit can only be called with options test or deposit&#39;</span><span class="p">,}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-
-    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;operation&#39;</span><span class="p">:</span> <span class="s1">&#39;doMDUpload&#39;</span><span class="p">,</span>
-              <span class="s1">&#39;login_id&#39;</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">CROSSREF_LOGIN_ID</span><span class="p">,</span>
-              <span class="s1">&#39;login_passwd&#39;</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">CROSSREF_LOGIN_PASSWORD</span><span class="p">,</span>
-          <span class="p">}</span>
-    <span class="n">files</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;fname&#39;</span><span class="p">:</span> <span class="p">(</span><span class="s1">&#39;metadata.xml&#39;</span><span class="p">,</span> <span class="n">publication</span><span class="o">.</span><span class="n">metadata_xml</span><span class="p">,</span> <span class="s1">&#39;multipart/form-data&#39;</span><span class="p">)}</span>
-    <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url</span><span class="p">,</span>
-                      <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">,</span>
-                      <span class="n">files</span><span class="o">=</span><span class="n">files</span><span class="p">,</span>
-    <span class="p">)</span>
-    <span class="n">response_headers</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">headers</span>
-    <span class="n">response_text</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">text</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;option&#39;</span><span class="p">:</span> <span class="n">option</span><span class="p">,</span>
-               <span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-               <span class="s1">&#39;response_headers&#39;</span><span class="p">:</span> <span class="n">response_headers</span><span class="p">,</span>
-               <span class="s1">&#39;response_text&#39;</span><span class="p">:</span> <span class="n">response_text</span><span class="p">,</span>
-    <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/metadata_xml_deposit.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_publish_accepted_submission&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">harvest_citedby_links</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-    <span class="c1"># create a doi_batch_id</span>
-    <span class="n">salt</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span>
-        <span class="n">salt</span> <span class="o">=</span> <span class="n">salt</span> <span class="o">+</span> <span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">ascii_letters</span><span class="p">)</span>
-    <span class="n">salt</span> <span class="o">=</span> <span class="n">salt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>
-    <span class="n">idsalt</span> <span class="o">=</span> <span class="n">publication</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">10</span><span class="p">]</span>
-    <span class="n">idsalt</span> <span class="o">=</span> <span class="n">idsalt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>
-    <span class="n">doi_batch_id</span> <span class="o">=</span> <span class="n">hashlib</span><span class="o">.</span><span class="n">sha1</span><span class="p">(</span><span class="n">salt</span><span class="o">+</span><span class="n">idsalt</span><span class="p">)</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span>
-    <span class="n">query_xml</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;?xml version = &quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;query_batch version=&quot;2.0&quot; xmlns = &quot;http://www.crossref.org/qschema/2.0&quot;&#39;</span>
-                 <span class="s1">&#39;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&#39;</span>
-                 <span class="s1">&#39;xsi:schemaLocation=&quot;http://www.crossref.org/qschema/2.0 &#39;</span>
-                 <span class="s1">&#39;http://www.crossref.org/qschema/crossref_query_input2.0.xsd&quot;&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;head&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;email_address&gt;admin@scipost.org&lt;/email_address&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;doi_batch_id&gt;&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">doi_batch_id</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/doi_batch_id&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;/head&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;body&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;fl_query alert=&quot;false&quot;&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;doi&gt;&#39;</span> <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span> <span class="o">+</span> <span class="s1">&#39;&lt;/doi&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;/fl_query&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;/body&gt;&#39;</span>
-                 <span class="s1">&#39;&lt;/query_batch&gt;&#39;</span><span class="p">)</span>
-    <span class="n">url</span> <span class="o">=</span> <span class="s1">&#39;http://doi.crossref.org/servlet/getForwardLinks&#39;</span>
-    <span class="n">params</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;usr&#39;</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">CROSSREF_LOGIN_ID</span><span class="p">,</span>
-              <span class="s1">&#39;pwd&#39;</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">CROSSREF_LOGIN_PASSWORD</span><span class="p">,</span>
-              <span class="s1">&#39;qdata&#39;</span><span class="p">:</span> <span class="n">query_xml</span><span class="p">,</span>
-              <span class="s1">&#39;doi&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_string</span><span class="p">,}</span>
-    <span class="n">r</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">params</span><span class="o">=</span><span class="n">params</span><span class="p">,)</span>
-    <span class="n">response_headers</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">headers</span>
-    <span class="c1">#response_text = bytes(r.text, &#39;utf-8&#39;).decode(&#39;unicode_escape&#39;)</span>
-    <span class="n">response_text</span> <span class="o">=</span> <span class="n">r</span><span class="o">.</span><span class="n">text</span>
-    <span class="n">response_deserialized</span> <span class="o">=</span> <span class="n">ET</span><span class="o">.</span><span class="n">fromstring</span><span class="p">(</span><span class="n">r</span><span class="o">.</span><span class="n">text</span><span class="p">)</span>
-    <span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;{http://www.crossref.org/qrschema/2.0}&#39;</span>
-    <span class="n">citations</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="k">for</span> <span class="n">link</span> <span class="ow">in</span> <span class="n">response_deserialized</span><span class="o">.</span><span class="n">iter</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;forward_link&#39;</span><span class="p">):</span>
-        <span class="n">doi</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;doi&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="n">article_title</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;article_title&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="n">journal_abbreviation</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span>
-            <span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_abbreviation&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="n">volume</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;volume&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">first_page</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;first_page&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="k">except</span><span class="p">:</span>
-            <span class="n">first_page</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">item_number</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;item_number&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="k">except</span><span class="p">:</span>
-            <span class="n">item_number</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span>
-                <span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;contributors&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">iter</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;contributor&#39;</span><span class="p">):</span>
-            <span class="k">if</span> <span class="n">author</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;sequence&#39;</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;first&#39;</span><span class="p">:</span>
-                <span class="n">first_author_given_name</span> <span class="o">=</span> <span class="n">author</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;given_name&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-                <span class="n">first_author_surname</span> <span class="o">=</span> <span class="n">author</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;surname&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">multiauthors</span> <span class="o">=</span> <span class="kc">True</span>
-        <span class="n">year</span> <span class="o">=</span> <span class="n">link</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;journal_cite&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">prefix</span> <span class="o">+</span> <span class="s1">&#39;year&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">text</span>
-        <span class="n">citations</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s1">&#39;doi&#39;</span><span class="p">:</span> <span class="n">doi</span><span class="p">,</span>
-                          <span class="s1">&#39;article_title&#39;</span><span class="p">:</span> <span class="n">article_title</span><span class="p">,</span>
-                          <span class="s1">&#39;journal_abbreviation&#39;</span><span class="p">:</span> <span class="n">journal_abbreviation</span><span class="p">,</span>
-                          <span class="s1">&#39;first_author_given_name&#39;</span><span class="p">:</span> <span class="n">first_author_given_name</span><span class="p">,</span>
-                          <span class="s1">&#39;first_author_surname&#39;</span><span class="p">:</span> <span class="n">first_author_surname</span><span class="p">,</span>
-                          <span class="s1">&#39;multiauthors&#39;</span><span class="p">:</span> <span class="n">multiauthors</span><span class="p">,</span>
-                          <span class="s1">&#39;volume&#39;</span><span class="p">:</span> <span class="n">volume</span><span class="p">,</span>
-                          <span class="s1">&#39;first_page&#39;</span><span class="p">:</span> <span class="n">first_page</span><span class="p">,</span>
-                          <span class="s1">&#39;item_number&#39;</span><span class="p">:</span> <span class="n">item_number</span><span class="p">,</span>
-                          <span class="s1">&#39;year&#39;</span><span class="p">:</span> <span class="n">year</span><span class="p">,})</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">citedby</span> <span class="o">=</span> <span class="n">citations</span>
-    <span class="n">publication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,</span>
-               <span class="s1">&#39;response_headers&#39;</span><span class="p">:</span> <span class="n">response_headers</span><span class="p">,</span>
-               <span class="s1">&#39;response_text&#39;</span><span class="p">:</span> <span class="n">response_text</span><span class="p">,</span>
-               <span class="s1">&#39;response_deserialized&#39;</span><span class="p">:</span> <span class="n">response_deserialized</span><span class="p">,</span>
-               <span class="s1">&#39;citations&#39;</span><span class="p">:</span> <span class="n">citations</span><span class="p">,</span>
-    <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/harvest_citedby_links.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-
-<span class="c1">###########</span>
-<span class="c1"># Viewing #</span>
-<span class="c1">###########</span>
-
-<span class="k">def</span> <span class="nf">publication_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/publication_detail.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">publication_pdf</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_string</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_string</span><span class="o">=</span><span class="n">doi_string</span><span class="p">)</span>
-    <span class="n">pdf</span> <span class="o">=</span> <span class="n">File</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">pdf_file</span><span class="p">)</span>
-    <span class="n">response</span> <span class="o">=</span> <span class="n">HttpResponse</span><span class="p">(</span><span class="n">pdf</span><span class="p">,</span> <span class="n">content_type</span><span class="o">=</span><span class="s1">&#39;application/pdf&#39;</span><span class="p">)</span>
-    <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Content-Disposition&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filename=&#39;</span>
-                                       <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_label</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;_&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;.pdf&#39;</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">response</span>
-
-
-<span class="k">def</span> <span class="nf">publication_detail_from_doi_label</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_label</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_label</span><span class="o">=</span><span class="n">doi_label</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication&#39;</span><span class="p">:</span> <span class="n">publication</span><span class="p">,}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;journals/publication_detail.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">publication_pdf_from_doi_label</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">doi_label</span><span class="p">):</span>
-    <span class="n">publication</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Publication</span><span class="p">,</span> <span class="n">doi_label</span><span class="o">=</span><span class="n">doi_label</span><span class="p">)</span>
-    <span class="n">pdf</span> <span class="o">=</span> <span class="n">File</span><span class="p">(</span><span class="n">publication</span><span class="o">.</span><span class="n">pdf_file</span><span class="p">)</span>
-    <span class="n">response</span> <span class="o">=</span> <span class="n">HttpResponse</span><span class="p">(</span><span class="n">pdf</span><span class="p">,</span> <span class="n">content_type</span><span class="o">=</span><span class="s1">&#39;application/pdf&#39;</span><span class="p">)</span>
-    <span class="n">response</span><span class="p">[</span><span class="s1">&#39;Content-Disposition&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;filename=&#39;</span>
-                                       <span class="o">+</span> <span class="n">publication</span><span class="o">.</span><span class="n">doi_label</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">,</span> <span class="s1">&#39;_&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;.pdf&#39;</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">response</span>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/scipost/models.html b/docs/_build/html/_modules/scipost/models.html
deleted file mode 100644
index 598ec65200d2cabd39bef1847dee3e1c9b893d81..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/scipost/models.html
+++ /dev/null
@@ -1,1057 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>scipost.models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>scipost.models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for scipost.models</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">datetime</span>
-
-<span class="kn">from</span> <span class="nn">django</span> <span class="k">import</span> <span class="n">forms</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span><span class="p">,</span> <span class="n">Group</span>
-<span class="kn">from</span> <span class="nn">django.contrib.postgres.fields</span> <span class="k">import</span> <span class="n">ArrayField</span><span class="p">,</span> <span class="n">JSONField</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">models</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Template</span><span class="p">,</span> <span class="n">Context</span>
-<span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.utils.safestring</span> <span class="k">import</span> <span class="n">mark_safe</span>
-
-<span class="kn">from</span> <span class="nn">django_countries.fields</span> <span class="k">import</span> <span class="n">CountryField</span>
-
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="o">*</span>
-
-
-<span class="n">SCIPOST_DISCIPLINES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;physics&#39;</span><span class="p">,</span> <span class="s1">&#39;Physics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;astrophysics&#39;</span><span class="p">,</span> <span class="s1">&#39;Astrophysics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;mathematics&#39;</span><span class="p">,</span> <span class="s1">&#39;Mathematics&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;computerscience&#39;</span><span class="p">,</span> <span class="s1">&#39;Computer Science&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">disciplines_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">)</span>
-
-<span class="n">SCIPOST_SUBJECT_AREAS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;Physics&#39;</span><span class="p">,</span> <span class="p">(</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:AE&#39;</span><span class="p">,</span> <span class="s1">&#39;Atomic, Molecular and Optical Physics - Experiment&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:AT&#39;</span><span class="p">,</span> <span class="s1">&#39;Atomic, Molecular and Optical Physics - Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:BI&#39;</span><span class="p">,</span> <span class="s1">&#39;Biophysics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:CE&#39;</span><span class="p">,</span> <span class="s1">&#39;Condensed Matter Physics - Experiment&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:CT&#39;</span><span class="p">,</span> <span class="s1">&#39;Condensed Matter Physics - Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:FD&#39;</span><span class="p">,</span> <span class="s1">&#39;Fluid Dynamics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:GR&#39;</span><span class="p">,</span> <span class="s1">&#39;Gravitation, Cosmology and Astroparticle Physics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:HE&#39;</span><span class="p">,</span> <span class="s1">&#39;High-Energy Physics - Experiment&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:HT&#39;</span><span class="p">,</span> <span class="s1">&#39;High-Energy Physics- Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:HP&#39;</span><span class="p">,</span> <span class="s1">&#39;High-Energy Physics - Phenomenology&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:MP&#39;</span><span class="p">,</span> <span class="s1">&#39;Mathematical Physics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:NE&#39;</span><span class="p">,</span> <span class="s1">&#39;Nuclear Physics - Experiment&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:NT&#39;</span><span class="p">,</span> <span class="s1">&#39;Nuclear Physics - Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:QP&#39;</span><span class="p">,</span> <span class="s1">&#39;Quantum Physics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Phys:SM&#39;</span><span class="p">,</span> <span class="s1">&#39;Statistical and Soft Matter Physics&#39;</span><span class="p">),</span>
-        <span class="p">)</span>
-     <span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Astrophysics&#39;</span><span class="p">,</span> <span class="p">(</span>
-        <span class="p">(</span><span class="s1">&#39;Astro:GA&#39;</span><span class="p">,</span> <span class="s1">&#39;Astrophysics of Galaxies&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Astro:CO&#39;</span><span class="p">,</span> <span class="s1">&#39;Cosmology and Nongalactic Astrophysics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Astro:EP&#39;</span><span class="p">,</span> <span class="s1">&#39;Earth and Planetary Astrophysics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Astro:HE&#39;</span><span class="p">,</span> <span class="s1">&#39;High Energy Astrophysical Phenomena&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Astro:IM&#39;</span><span class="p">,</span> <span class="s1">&#39;Instrumentation and Methods for Astrophysics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Astro:SR&#39;</span><span class="p">,</span> <span class="s1">&#39;Solar and Stellar Astrophysics&#39;</span><span class="p">),</span>
-        <span class="p">)</span>
-     <span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Mathematics&#39;</span><span class="p">,</span> <span class="p">(</span>
-        <span class="p">(</span><span class="s1">&#39;Math:AG&#39;</span><span class="p">,</span> <span class="s1">&#39;Algebraic Geometry&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:AT&#39;</span><span class="p">,</span> <span class="s1">&#39;Algebraic Topology&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:AP&#39;</span><span class="p">,</span> <span class="s1">&#39;Analysis of PDEs&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:CT&#39;</span><span class="p">,</span> <span class="s1">&#39;Category Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:CA&#39;</span><span class="p">,</span> <span class="s1">&#39;Classical Analysis and ODEs&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:CO&#39;</span><span class="p">,</span> <span class="s1">&#39;Combinatorics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:AC&#39;</span><span class="p">,</span> <span class="s1">&#39;Commutative Algebra&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:CV&#39;</span><span class="p">,</span> <span class="s1">&#39;Complex Variables&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:DG&#39;</span><span class="p">,</span> <span class="s1">&#39;Differential Geometry&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:DS&#39;</span><span class="p">,</span> <span class="s1">&#39;Dynamical Systems&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:FA&#39;</span><span class="p">,</span> <span class="s1">&#39;Functional Analysis&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:GM&#39;</span><span class="p">,</span> <span class="s1">&#39;General Mathematics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:GN&#39;</span><span class="p">,</span> <span class="s1">&#39;General Topology&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:GT&#39;</span><span class="p">,</span> <span class="s1">&#39;Geometric Topology&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:GR&#39;</span><span class="p">,</span> <span class="s1">&#39;Group Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:HO&#39;</span><span class="p">,</span> <span class="s1">&#39;History and Overview&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:IT&#39;</span><span class="p">,</span> <span class="s1">&#39;Information Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:KT&#39;</span><span class="p">,</span> <span class="s1">&#39;K-Theory and Homology&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:LO&#39;</span><span class="p">,</span> <span class="s1">&#39;Logic&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:MP&#39;</span><span class="p">,</span> <span class="s1">&#39;Mathematical Physics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:MG&#39;</span><span class="p">,</span> <span class="s1">&#39;Metric Geometry&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:NT&#39;</span><span class="p">,</span> <span class="s1">&#39;Number Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:NA&#39;</span><span class="p">,</span> <span class="s1">&#39;Numerical Analysis&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:OA&#39;</span><span class="p">,</span> <span class="s1">&#39;Operator Algebras&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:OC&#39;</span><span class="p">,</span> <span class="s1">&#39;Optimization and Control&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:PR&#39;</span><span class="p">,</span> <span class="s1">&#39;Probability&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:QA&#39;</span><span class="p">,</span> <span class="s1">&#39;Quantum Algebra&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:RT&#39;</span><span class="p">,</span> <span class="s1">&#39;Representation Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:RA&#39;</span><span class="p">,</span> <span class="s1">&#39;Rings and Algebras&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:SP&#39;</span><span class="p">,</span> <span class="s1">&#39;Spectral Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:ST&#39;</span><span class="p">,</span> <span class="s1">&#39;Statistics Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Math:SG&#39;</span><span class="p">,</span> <span class="s1">&#39;Symplectic Geometry&#39;</span><span class="p">),</span>
-        <span class="p">)</span>
-     <span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Computer Science&#39;</span><span class="p">,</span> <span class="p">(</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:AI&#39;</span><span class="p">,</span> <span class="s1">&#39;Artificial Intelligence&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:CC&#39;</span><span class="p">,</span> <span class="s1">&#39;Computational Complexity&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:CE&#39;</span><span class="p">,</span> <span class="s1">&#39;Computational Engineering, Finance, and Science&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:CG&#39;</span><span class="p">,</span> <span class="s1">&#39;Computational Geometry&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:GT&#39;</span><span class="p">,</span> <span class="s1">&#39;Computer Science and Game Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:CV&#39;</span><span class="p">,</span> <span class="s1">&#39;Computer Vision and Pattern Recognition&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:CY&#39;</span><span class="p">,</span> <span class="s1">&#39;Computers and Society&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:CR&#39;</span><span class="p">,</span> <span class="s1">&#39;Cryptography and Security&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:DS&#39;</span><span class="p">,</span> <span class="s1">&#39;Data Structures and Algorithms&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:DB&#39;</span><span class="p">,</span> <span class="s1">&#39;Databases&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:DL&#39;</span><span class="p">,</span> <span class="s1">&#39;Digital Libraries&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:DM&#39;</span><span class="p">,</span> <span class="s1">&#39;Discrete Mathematics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:DC&#39;</span><span class="p">,</span> <span class="s1">&#39;Distributed, Parallel, and Cluster Computing&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:ET&#39;</span><span class="p">,</span> <span class="s1">&#39;Emerging Technologies&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:FL&#39;</span><span class="p">,</span> <span class="s1">&#39;Formal Languages and Automata Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:GL&#39;</span><span class="p">,</span> <span class="s1">&#39;General Literature&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:GR&#39;</span><span class="p">,</span> <span class="s1">&#39;Graphics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:AR&#39;</span><span class="p">,</span> <span class="s1">&#39;Hardware Architecture&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:HC&#39;</span><span class="p">,</span> <span class="s1">&#39;Human-Computer Interaction&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:IR&#39;</span><span class="p">,</span> <span class="s1">&#39;Information Retrieval&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:IT&#39;</span><span class="p">,</span> <span class="s1">&#39;Information Theory&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:LG&#39;</span><span class="p">,</span> <span class="s1">&#39;Learning&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:LO&#39;</span><span class="p">,</span> <span class="s1">&#39;Logic in Computer Science&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:MS&#39;</span><span class="p">,</span> <span class="s1">&#39;Mathematical Software&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:MA&#39;</span><span class="p">,</span> <span class="s1">&#39;Multiagent Systems&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:MM&#39;</span><span class="p">,</span> <span class="s1">&#39;Multimedia&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:NI&#39;</span><span class="p">,</span> <span class="s1">&#39;Networking and Internet Architecture&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:NE&#39;</span><span class="p">,</span> <span class="s1">&#39;Neural and Evolutionary Computing&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:NA&#39;</span><span class="p">,</span> <span class="s1">&#39;Numerical Analysis&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:OS&#39;</span><span class="p">,</span> <span class="s1">&#39;Operating Systems&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:OH&#39;</span><span class="p">,</span> <span class="s1">&#39;Other Computer Science&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:PF&#39;</span><span class="p">,</span> <span class="s1">&#39;Performance&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:PL&#39;</span><span class="p">,</span> <span class="s1">&#39;Programming Languages&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:RO&#39;</span><span class="p">,</span> <span class="s1">&#39;Robotics&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:SI&#39;</span><span class="p">,</span> <span class="s1">&#39;Social and Information Networks&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:SE&#39;</span><span class="p">,</span> <span class="s1">&#39;Software Engineering&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:SD&#39;</span><span class="p">,</span> <span class="s1">&#39;Sound&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:SC&#39;</span><span class="p">,</span> <span class="s1">&#39;Symbolic Computation&#39;</span><span class="p">),</span>
-        <span class="p">(</span><span class="s1">&#39;Comp:SY&#39;</span><span class="p">,</span> <span class="s1">&#39;Systems and Control&#39;</span><span class="p">),</span>
-        <span class="p">)</span>
-     <span class="p">),</span>
-<span class="p">)</span>
-<span class="n">subject_areas_raw_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">)</span>
-
-<span class="c1"># Make dict of the form {&#39;Phys:AT&#39;: &#39;Atomic...&#39;, ...}</span>
-<span class="n">subject_areas_dict</span> <span class="o">=</span> <span class="p">{}</span>
-<span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">subject_areas_raw_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-    <span class="n">subject_areas_dict</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span><span class="n">subject_areas_raw_dict</span><span class="p">[</span><span class="n">k</span><span class="p">]))</span>
-
-
-<div class="viewcode-block" id="ChoiceArrayField"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.ChoiceArrayField">[docs]</a><span class="k">class</span> <span class="nc">ChoiceArrayField</span><span class="p">(</span><span class="n">ArrayField</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    A field that allows us to store an array of choices.</span>
-<span class="sd">    Uses Django 1.9&#39;s postgres ArrayField</span>
-<span class="sd">    and a MultipleChoiceField for its formfield.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-
-    <span class="k">def</span> <span class="nf">formfield</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="n">defaults</span> <span class="o">=</span> <span class="p">{</span>
-            <span class="s1">&#39;form_class&#39;</span><span class="p">:</span> <span class="n">forms</span><span class="o">.</span><span class="n">MultipleChoiceField</span><span class="p">,</span>
-            <span class="s1">&#39;widget&#39;</span><span class="p">:</span> <span class="n">forms</span><span class="o">.</span><span class="n">CheckboxSelectMultiple</span><span class="p">,</span>
-            <span class="s1">&#39;choices&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">base_field</span><span class="o">.</span><span class="n">choices</span><span class="p">,</span>
-        <span class="p">}</span>
-        <span class="n">defaults</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="k">return</span> <span class="nb">super</span><span class="p">(</span><span class="n">ArrayField</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">formfield</span><span class="p">(</span><span class="o">**</span><span class="n">defaults</span><span class="p">)</span></div>
-
-
-<span class="n">CONTRIBUTOR_STATUS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="c1"># status determine the type of Contributor:</span>
-    <span class="c1"># 0: newly registered (unverified; not allowed to submit, comment or vote)</span>
-    <span class="c1"># 1: contributor has been vetted through</span>
-    <span class="c1">#</span>
-    <span class="c1"># Negative status denotes rejected requests or:</span>
-    <span class="c1"># -1: not a professional scientist (&gt;= PhD student in known university)</span>
-    <span class="c1"># -2: other account already exists for this person</span>
-    <span class="c1"># -3: barred from SciPost (abusive behaviour)</span>
-    <span class="c1"># -4: disabled account (deceased)</span>
-    <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;newly registered&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;normal user&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;not a professional scientist&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;other account already exists&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;barred from SciPost&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span> <span class="s1">&#39;account disabled&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-
-<span class="n">TITLE_CHOICES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;PR&#39;</span><span class="p">,</span> <span class="s1">&#39;Prof.&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;DR&#39;</span><span class="p">,</span> <span class="s1">&#39;Dr&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;MR&#39;</span><span class="p">,</span> <span class="s1">&#39;Mr&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;MRS&#39;</span><span class="p">,</span> <span class="s1">&#39;Mrs&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">title_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">TITLE_CHOICES</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="Contributor"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Contributor">[docs]</a><span class="k">class</span> <span class="nc">Contributor</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    All users of SciPost are Contributors.</span>
-<span class="sd">    Permissions determine the sub-types.</span>
-<span class="sd">    username, password, email, first_name and last_name are inherited from User.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">user</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">OneToOneField</span><span class="p">(</span><span class="n">User</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">invitation_key</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span>
-                                      <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">activation_key</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">key_expires</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">CONTRIBUTOR_STATUS</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">TITLE_CHOICES</span><span class="p">)</span>
-    <span class="n">discipline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span>
-                                  <span class="n">default</span><span class="o">=</span><span class="s1">&#39;physics&#39;</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;Main discipline&#39;</span><span class="p">)</span>
-    <span class="n">expertises</span> <span class="o">=</span> <span class="n">ChoiceArrayField</span><span class="p">(</span>
-        <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">),</span>
-        <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">orcid_id</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;ORCID id&quot;</span><span class="p">,</span>
-                                <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">country_of_employment</span> <span class="o">=</span> <span class="n">CountryField</span><span class="p">()</span>
-    <span class="n">affiliation</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;affiliation&#39;</span><span class="p">)</span>
-    <span class="n">address</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;address&quot;</span><span class="p">,</span>
-                               <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">personalwebpage</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">URLField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;personal web page&#39;</span><span class="p">,</span>
-                                      <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">vetted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;self&#39;</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                  <span class="n">related_name</span><span class="o">=</span><span class="s2">&quot;contrib_vetted_by&quot;</span><span class="p">,</span>
-                                  <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">accepts_SciPost_emails</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span>
-        <span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-        <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;I accept to receive SciPost emails&quot;</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s1">&#39;</span><span class="si">%s</span><span class="s1">, </span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">is_currently_available</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">unav_periods</span> <span class="o">=</span> <span class="n">UnavailabilityPeriod</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">contributor</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
-
-        <span class="n">today</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">today</span><span class="p">()</span>
-        <span class="k">for</span> <span class="n">unav</span> <span class="ow">in</span> <span class="n">unav_periods</span><span class="p">:</span>
-            <span class="k">if</span> <span class="n">unav</span><span class="o">.</span><span class="n">start</span> <span class="o">&lt;</span> <span class="n">today</span> <span class="ow">and</span> <span class="n">unav</span><span class="o">.</span><span class="n">end</span> <span class="o">&gt;</span> <span class="n">today</span><span class="p">:</span>
-                <span class="k">return</span> <span class="kc">False</span>
-        <span class="k">return</span> <span class="kc">True</span>
-
-    <span class="k">def</span> <span class="nf">private_info_as_table</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">            &lt;table&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Title: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ title }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;First name: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ first_name }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Last name: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ last_name }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Email: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ email }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;ORCID id: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ orcid_id }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Country of employment: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;</span>
-<span class="s1">            &lt;td&gt;{{ country_of_employment }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Affiliation: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ affiliation }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Address: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ address }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Personal web page: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ personalwebpage }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Accept SciPost emails: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ accepts_SciPost_emails }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;/table&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span>
-            <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="n">title_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">],</span>
-            <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-            <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-            <span class="s1">&#39;email&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">,</span>
-            <span class="s1">&#39;orcid_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">orcid_id</span><span class="p">,</span>
-            <span class="s1">&#39;country_of_employment&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">country_of_employment</span><span class="o">.</span><span class="n">name</span><span class="p">),</span>
-            <span class="s1">&#39;affiliation&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">affiliation</span><span class="p">,</span>
-            <span class="s1">&#39;address&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">address</span><span class="p">,</span>
-            <span class="s1">&#39;personalwebpage&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">personalwebpage</span><span class="p">,</span>
-            <span class="s1">&#39;accepts_SciPost_emails&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepts_SciPost_emails</span><span class="p">,</span>
-        <span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="Contributor.public_info_as_table"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Contributor.public_info_as_table">[docs]</a>    <span class="k">def</span> <span class="nf">public_info_as_table</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot;Prints out all publicly-accessible info as a table.&quot;&quot;&quot;</span>
-        
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">            &lt;table&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Title: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ title }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;First name: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ first_name }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Last name: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ last_name }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;ORCID id: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ orcid_id }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Country of employment: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;</span>
-<span class="s1">            &lt;td&gt;{{ country_of_employment }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Affiliation: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ affiliation }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;tr&gt;&lt;td&gt;Personal web page: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ personalwebpage }}&lt;/td&gt;&lt;/tr&gt;</span>
-<span class="s1">            &lt;/table&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span>
-                <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="n">title_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">],</span>
-                <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                <span class="s1">&#39;email&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">,</span>
-                <span class="s1">&#39;orcid_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">orcid_id</span><span class="p">,</span>
-                <span class="s1">&#39;country_of_employment&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">country_of_employment</span><span class="o">.</span><span class="n">name</span><span class="p">),</span>
-                <span class="s1">&#39;affiliation&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">affiliation</span><span class="p">,</span>
-                <span class="s1">&#39;address&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">address</span><span class="p">,</span>
-                <span class="s1">&#39;personalwebpage&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">personalwebpage</span>
-                <span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-    <span class="k">def</span> <span class="nf">discipline_as_string</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="n">disciplines_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">discipline</span><span class="p">]</span>
-
-    <span class="k">def</span> <span class="nf">expertises_as_ul</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;ul&gt;&#39;</span>
-        <span class="k">for</span> <span class="n">exp</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expertises</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;li&gt;</span><span class="si">%s</span><span class="s1">&lt;/li&gt;&#39;</span> <span class="o">%</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="n">exp</span><span class="p">]</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&#39;</span>
-        <span class="k">return</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">assignments_summary_as_td</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">assignments</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">editorialassignment_set</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-        <span class="n">nr_ongoing</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">completed</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_last_12mo</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">date_created__gt</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timezone</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">365</span><span class="p">))</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_accepted</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_accepted_last_12mo</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">date_created__gt</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timezone</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">365</span><span class="p">))</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_refused</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">accepted</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_refused_last_12mo</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">accepted</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">date_created__gt</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timezone</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">365</span><span class="p">))</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_ignored</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">accepted</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_ignored_last_12mo</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">accepted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">date_created__gt</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timezone</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">365</span><span class="p">))</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_completed</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">completed</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_completed_last_12mo</span> <span class="o">=</span> <span class="n">assignments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">completed</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">date_created__gt</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">-</span> <span class="n">timezone</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">365</span><span class="p">))</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span>
-            <span class="s1">&#39;nr_ongoing&#39;</span><span class="p">:</span> <span class="n">nr_ongoing</span><span class="p">,</span>
-            <span class="s1">&#39;nr_total&#39;</span><span class="p">:</span> <span class="n">assignments</span><span class="o">.</span><span class="n">count</span><span class="p">(),</span>
-            <span class="s1">&#39;nr_last_12mo&#39;</span><span class="p">:</span> <span class="n">nr_last_12mo</span><span class="p">,</span>
-            <span class="s1">&#39;nr_accepted&#39;</span><span class="p">:</span> <span class="n">nr_accepted</span><span class="p">,</span>
-            <span class="s1">&#39;nr_accepted_last_12mo&#39;</span><span class="p">:</span> <span class="n">nr_accepted_last_12mo</span><span class="p">,</span>
-            <span class="s1">&#39;nr_refused&#39;</span><span class="p">:</span> <span class="n">nr_refused</span><span class="p">,</span>
-            <span class="s1">&#39;nr_refused_last_12mo&#39;</span><span class="p">:</span> <span class="n">nr_refused_last_12mo</span><span class="p">,</span>
-            <span class="s1">&#39;nr_ignored&#39;</span><span class="p">:</span> <span class="n">nr_ignored</span><span class="p">,</span>
-            <span class="s1">&#39;nr_ignored_last_12mo&#39;</span><span class="p">:</span> <span class="n">nr_ignored_last_12mo</span><span class="p">,</span>
-            <span class="s1">&#39;nr_completed&#39;</span><span class="p">:</span> <span class="n">nr_completed</span><span class="p">,</span>
-            <span class="s1">&#39;nr_completed_last_12mo&#39;</span><span class="p">:</span> <span class="n">nr_completed_last_12mo</span><span class="p">,</span>
-        <span class="p">})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;td&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">expertises</span><span class="p">:</span>
-            <span class="k">for</span> <span class="n">expertise</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">expertises</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="n">expertise</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;br/&gt;&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ nr_ongoing }}&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ nr_last_12mo }} / {{ nr_total }}&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ nr_accepted_last_12mo }} / {{ nr_accepted }}&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ nr_refused_last_12mo }} / {{ nr_refused }}&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ nr_ignored_last_12mo }} / {{ nr_ignored }}&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ nr_completed_last_12mo }} / {{ nr_completed }}&lt;/td&gt;</span><span class="se">\n</span><span class="s1">&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="UnavailabilityPeriod"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.UnavailabilityPeriod">[docs]</a><span class="k">class</span> <span class="nc">UnavailabilityPeriod</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">start</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">()</span>
-    <span class="n">end</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">()</span></div>
-
-
-<div class="viewcode-block" id="Remark"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Remark">[docs]</a><span class="k">class</span> <span class="nc">Remark</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">recommendation</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;submissions.EICRecommendation&#39;</span><span class="p">,</span>
-                                       <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                       <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">()</span>
-    <span class="n">remark</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="n">title_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39; on &#39;</span>
-                <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span>
-
-    <span class="k">def</span> <span class="nf">as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;li&gt;{{ by }}&lt;p&gt;{{ remark }}&lt;/p&gt;&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;by&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="p">),</span>
-                           <span class="s1">&#39;remark&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">remark</span><span class="p">})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">##################</span>
-<span class="c1">## Invitations ###</span>
-<span class="c1">##################</span>
-
-<span class="n">INVITATION_TYPE</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;F&#39;</span><span class="p">,</span> <span class="s1">&#39;Editorial Fellow&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;C&#39;</span><span class="p">,</span> <span class="s1">&#39;Contributor&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;R&#39;</span><span class="p">,</span> <span class="s1">&#39;Refereeing&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;ci&#39;</span><span class="p">,</span> <span class="s1">&#39;cited in submission&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;cp&#39;</span><span class="p">,</span> <span class="s1">&#39;cited in publication&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-
-<span class="n">INVITATION_STYLE</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;F&#39;</span><span class="p">,</span> <span class="s1">&#39;formal&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;P&#39;</span><span class="p">,</span> <span class="s1">&#39;personal&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-
-<div class="viewcode-block" id="DraftInvitation"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.DraftInvitation">[docs]</a><span class="k">class</span> <span class="nc">DraftInvitation</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Draft of an invitation, filled in by an officer.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">TITLE_CHOICES</span><span class="p">)</span>
-    <span class="n">first_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">last_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">email</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">EmailField</span><span class="p">()</span>
-    <span class="n">invitation_type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">INVITATION_TYPE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;C&#39;</span><span class="p">)</span>
-    <span class="n">cited_in_submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;submissions.Submission&#39;</span><span class="p">,</span>
-                                            <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                            <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">cited_in_publication</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;journals.Publication&#39;</span><span class="p">,</span>
-                                             <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                             <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">drafted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">date_drafted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">processed</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">invitation_type</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="RegistrationInvitation"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.RegistrationInvitation">[docs]</a><span class="k">class</span> <span class="nc">RegistrationInvitation</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Invitation to particular persons for registration</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">TITLE_CHOICES</span><span class="p">)</span>
-    <span class="n">first_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">last_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">email</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">EmailField</span><span class="p">()</span>
-    <span class="n">invitation_type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">INVITATION_TYPE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;C&#39;</span><span class="p">)</span>
-    <span class="n">cited_in_submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;submissions.Submission&#39;</span><span class="p">,</span>
-                                            <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                            <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">cited_in_publication</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;journals.Publication&#39;</span><span class="p">,</span>
-                                             <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                             <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">message_style</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">INVITATION_STYLE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;F&#39;</span><span class="p">)</span>
-    <span class="n">personal_message</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">invitation_key</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">key_expires</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">date_sent</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">invited_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">nr_reminders</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">date_last_reminded</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">responded</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">declined</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">invitation_type</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span>
-                <span class="o">+</span> <span class="s1">&#39; on &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_sent</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">))</span></div>
-
-
-
-<span class="n">AUTHORSHIP_CLAIM_STATUS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;accepted&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;not yet vetted (pending)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;rejected&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-
-<div class="viewcode-block" id="AuthorshipClaim"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.AuthorshipClaim">[docs]</a><span class="k">class</span> <span class="nc">AuthorshipClaim</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">claimant</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                 <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                 <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;claimant&#39;</span><span class="p">)</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;submissions.Submission&#39;</span><span class="p">,</span>
-                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">commentary</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;commentaries.Commentary&#39;</span><span class="p">,</span>
-                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">thesislink</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="s1">&#39;theses.ThesisLink&#39;</span><span class="p">,</span>
-                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">vetted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span>
-                                   <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">AUTHORSHIP_CLAIM_STATUS</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span></div>
-
-
-<span class="n">SCIPOST_FROM_ADDRESSES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;Admin&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;J.-S. Caux&#39;</span><span class="p">,</span> <span class="s1">&#39;J.-S. Caux &lt;jscaux@scipost.org&gt;&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;J. van Wezel&#39;</span><span class="p">,</span> <span class="s1">&#39;J. van Wezel &lt;vanwezel@scipost.org&gt;&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">SciPost_from_addresses_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SCIPOST_FROM_ADDRESSES</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="PrecookedEmail"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.PrecookedEmail">[docs]</a><span class="k">class</span> <span class="nc">PrecookedEmail</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Each instance contains an email template in both plain and html formats.</span>
-<span class="sd">    Can only be created by Admins.</span>
-<span class="sd">    For further use in scipost:send_precooked_email method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">email_subject</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
-    <span class="n">email_text</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">email_text_html</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">date_created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">emailed_to</span> <span class="o">=</span> <span class="n">ArrayField</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">EmailField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">date_last_used</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">deprecated</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">email_subject</span></div>
-
-
-<span class="c1">#############</span>
-<span class="c1"># NewsItems #</span>
-<span class="c1">#############</span>
-
-<div class="viewcode-block" id="NewsItem"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.NewsItem">[docs]</a><span class="k">class</span> <span class="nc">NewsItem</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">()</span>
-    <span class="n">headline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
-    <span class="n">blurb</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">followup_link</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">URLField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">followup_link_text</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">headline</span>
-
-<div class="viewcode-block" id="NewsItem.descriptor_full"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.NewsItem.descriptor_full">[docs]</a>    <span class="k">def</span> <span class="nf">descriptor_full</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot; For News page. &quot;&quot;&quot;</span>
-        <span class="n">descriptor</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;div class=&quot;flex-greybox640&quot;&gt;&#39;</span>
-                      <span class="s1">&#39;&lt;h3 class=&quot;NewsHeadline&quot;&gt;{{ headline }}&lt;/h3&gt;&#39;</span>
-                      <span class="s1">&#39;&lt;p&gt;{{ date }}&lt;/p&gt;&#39;</span>
-                      <span class="s1">&#39;&lt;p&gt;{{ blurb }}&lt;/p&gt;&#39;</span>
-                  <span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;headline&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">headline</span><span class="p">,</span>
-                           <span class="s1">&#39;date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;blurb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">blurb</span><span class="p">,})</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">followup_link</span><span class="p">:</span>
-            <span class="n">descriptor</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;{{ followup_link }}&quot;&gt;{{ followup_link_text }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;followup_link&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">followup_link</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;followup_link_text&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">followup_link_text</span>
-        <span class="n">descriptor</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/div&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">descriptor</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="NewsItem.descriptor_small"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.NewsItem.descriptor_small">[docs]</a>    <span class="k">def</span> <span class="nf">descriptor_small</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot; For index page. &quot;&quot;&quot;</span>
-        <span class="n">descriptor</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;h3 class=&quot;NewsHeadline&quot;&gt;{{ headline }}&lt;/h3&gt;&#39;</span>
-                      <span class="s1">&#39;&lt;p&gt;{{ date }}&lt;/p&gt;&#39;</span>
-                      <span class="s1">&#39;&lt;p&gt;{{ blurb }}&lt;/p&gt;&#39;</span>
-                  <span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;headline&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">headline</span><span class="p">,</span>
-                           <span class="s1">&#39;date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;blurb&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">blurb</span><span class="p">,})</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">followup_link</span><span class="p">:</span>
-            <span class="n">descriptor</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;{{ followup_link }}&quot;&gt;{{ followup_link_text }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;followup_link&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">followup_link</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;followup_link_text&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">followup_link_text</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">descriptor</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div></div>
-
-
-
-<span class="c1">#########</span>
-<span class="c1"># Lists #</span>
-<span class="c1">#########</span>
-
-<div class="viewcode-block" id="List"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.List">[docs]</a><span class="k">class</span> <span class="nc">List</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    A collection of commentaries, submissions, thesislinks, comments, etc</span>
-<span class="sd">    defined by a Contributor, for use in Graphs, etc</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">owner</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">private</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">teams_with_access</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;scipost.Team&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
-    <span class="n">description</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">submissions</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;submissions.Submission&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                         <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;list_submissions&#39;</span><span class="p">)</span>
-    <span class="n">commentaries</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;commentaries.Commentary&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                          <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;list_commentaries&#39;</span><span class="p">)</span>
-    <span class="n">thesislinks</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;theses.ThesisLink&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                         <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;list_thesislinks&#39;</span><span class="p">)</span>
-    <span class="n">comments</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;comments.Comment&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                      <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;list_comments&#39;</span><span class="p">)</span>
-
-    <span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
-        <span class="n">default_permissions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;add&#39;</span><span class="p">,</span> <span class="s1">&#39;view&#39;</span><span class="p">,</span> <span class="s1">&#39;change&#39;</span><span class="p">,</span> <span class="s1">&#39;delete&#39;</span><span class="p">]</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s1">&#39;</span><span class="si">%s</span><span class="s1"> (owner: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">)&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                           <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">        &lt;p&gt;List &lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl &#39;scipost:list&#39; list_id=id %}&quot;&gt;{{ title }}</span>
-<span class="s1">        &lt;/a&gt; (owner: {{ first_name }} {{ last_name }})&lt;/p&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                           <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">        &lt;li&gt;&lt;p&gt;List &lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl &#39;scipost:list&#39; list_id=id %}&quot;&gt;</span>
-<span class="s1">        {{ title }}&lt;/a&gt; (owner: {{ first_name }} {{ last_name }})&lt;/p&gt;&lt;/li&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">contents</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;p&gt;&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">description</span> <span class="o">+</span> <span class="s1">&#39;&lt;/p&gt;&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;hr class=&quot;hr6&quot;/&gt;&#39;</span>
-        <span class="n">emptylist</span> <span class="o">=</span> <span class="kc">True</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">submissions</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-            <span class="n">emptylist</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;Submissions:&lt;ul&gt;&#39;</span>
-            <span class="k">for</span> <span class="n">submission</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">submissions</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="n">submission</span><span class="o">.</span><span class="n">simple_header_as_li</span><span class="p">()</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&lt;/p&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentaries</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-            <span class="n">emptylist</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;Commentaries:&lt;ul&gt;&#39;</span>
-            <span class="k">for</span> <span class="n">commentary</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">commentaries</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="n">commentary</span><span class="o">.</span><span class="n">simple_header_as_li</span><span class="p">()</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&lt;/p&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislinks</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-            <span class="n">emptylist</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;Thesislinks:&lt;ul&gt;&#39;</span>
-            <span class="k">for</span> <span class="n">thesislink</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">thesislinks</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="n">thesislink</span><span class="o">.</span><span class="n">simple_header_as_li</span><span class="p">()</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&lt;/p&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-            <span class="n">emptylist</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;Comments:&lt;ul&gt;&#39;</span>
-            <span class="k">for</span> <span class="n">comment</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="n">comment</span><span class="o">.</span><span class="n">simple_header_as_li</span><span class="p">()</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/ul&gt;&lt;/p&gt;&#39;</span>
-        <span class="k">if</span> <span class="n">emptylist</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;br/&gt;&lt;h3&gt;This List is empty.&lt;/h3&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">#########</span>
-<span class="c1"># Teams #</span>
-<span class="c1">#########</span>
-
-<div class="viewcode-block" id="Team"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Team">[docs]</a><span class="k">class</span> <span class="nc">Team</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Team of Contributors, to enable private collaborations.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">leader</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">members</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;team_members&#39;</span><span class="p">)</span>
-    <span class="n">name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
-    <span class="n">established</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
-        <span class="n">default_permissions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;add&#39;</span><span class="p">,</span> <span class="s1">&#39;view&#39;</span><span class="p">,</span> <span class="s1">&#39;change&#39;</span><span class="p">,</span> <span class="s1">&#39;delete&#39;</span><span class="p">]</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">+</span> <span class="s1">&#39; (led by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">leader</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">leader</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&lt;p&gt;Team {{ name }}, led by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">leader</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                  <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">leader</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;Members: &#39;</span>
-        <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">members</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;(none yet, except for the leader)&#39;</span>
-        <span class="k">else</span> <span class="p">:</span>
-            <span class="k">for</span> <span class="n">member</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">members</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="n">member</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">member</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/p&gt;&lt;/li&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">##########</span>
-<span class="c1"># Graphs #</span>
-<span class="c1">##########</span>
-
-<div class="viewcode-block" id="Graph"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Graph">[docs]</a><span class="k">class</span> <span class="nc">Graph</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    A Graph is a collection of Nodes with directed arrows,</span>
-<span class="sd">    representing e.g. a reading list, exploration path, etc.</span>
-<span class="sd">    If private, only the teams in teams_with_access can see/edit it.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">owner</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">private</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">teams_with_access</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Team</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
-    <span class="n">description</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
-        <span class="n">default_permissions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;add&#39;</span><span class="p">,</span> <span class="s1">&#39;view&#39;</span><span class="p">,</span> <span class="s1">&#39;change&#39;</span><span class="p">,</span> <span class="s1">&#39;delete&#39;</span><span class="p">]</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="s1">&#39;</span><span class="si">%s</span><span class="s1"> (owner: </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">)&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">],</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                           <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="s1">&#39;&#39;&#39;</span>
-<span class="s1">        &lt;li&gt;&lt;p&gt;Graph &lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl &#39;scipost:graph&#39; graph_id=id %}&quot;&gt;</span>
-<span class="s1">        {{ title }}&lt;/a&gt; (owner: {{ first_name }} {{ last_name }})&lt;/li&gt;</span>
-<span class="s1">        &#39;&#39;&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">contents</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">description</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<div class="viewcode-block" id="Node"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Node">[docs]</a><span class="k">class</span> <span class="nc">Node</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Node of a graph (directed).</span>
-<span class="sd">    Each node is composed of a set of submissions, commentaries, thesislinks.</span>
-<span class="sd">    Accessibility rights are set in the Graph ForeignKey.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">graph</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="n">added_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="n">created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
-    <span class="n">description</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">submissions</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;submissions.Submission&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                         <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;node_submissions&#39;</span><span class="p">)</span>
-    <span class="n">commentaries</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;commentaries.Commentary&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                          <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;node_commentaries&#39;</span><span class="p">)</span>
-    <span class="n">thesislinks</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span><span class="p">(</span><span class="s1">&#39;theses.ThesisLink&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                         <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;node_thesislinks&#39;</span><span class="p">)</span>
-
-    <span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
-        <span class="n">default_permissions</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;add&#39;</span><span class="p">,</span> <span class="s1">&#39;view&#39;</span><span class="p">,</span> <span class="s1">&#39;change&#39;</span><span class="p">,</span> <span class="s1">&#39;delete&#39;</span><span class="p">]</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">20</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">[:</span><span class="mi">20</span><span class="p">]</span>
-
-    <span class="k">def</span> <span class="nf">header_as_p</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;graph_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;p class=&quot;node_p&quot; id=&quot;node_id{{ id }}&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;a href=&quot;{</span><span class="si">% u</span><span class="s1">rl </span><span class="se">\&#39;</span><span class="s1">scipost:graph</span><span class="se">\&#39;</span><span class="s1"> graph_id=graph_id %}&quot;&gt;{{ name }}&lt;/a&gt;&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">contents</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;graph_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
-                           <span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
-                           <span class="s1">&#39;description&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">description</span><span class="p">})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;div class=&quot;node_contents node_id{{ id }}&quot;&gt;&#39;</span>
-                  <span class="o">+</span> <span class="s1">&#39;&lt;h3&gt;{{ name }}&lt;/h3&gt;&lt;p&gt;{{ description }}&lt;/p&gt;&lt;/div&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">contents_small</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;div style=&quot;font-size: 60%&quot;&gt;&#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">contents</span> <span class="o">+</span> <span class="s1">&#39;&lt;/div&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">()</span></div>
-
-
-<span class="n">ARC_LENGTHS</span> <span class="o">=</span> <span class="p">[</span>
-<span class="c1">#    (4, &#39;4&#39;), (8, &#39;8&#39;), (16, &#39;16&#39;), (32, &#39;32&#39;), (64, &#39;64&#39;), (128, &#39;128&#39;)</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;1&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;2&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;3&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="s1">&#39;4&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="s1">&#39;5&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="s1">&#39;6&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">7</span><span class="p">,</span> <span class="s1">&#39;7&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="s1">&#39;8&#39;</span><span class="p">),</span>
-    <span class="p">]</span>
-
-<div class="viewcode-block" id="Arc"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.Arc">[docs]</a><span class="k">class</span> <span class="nc">Arc</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Arc of a graph, linking two nodes.</span>
-<span class="sd">    The length is user-adjustable.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">graph</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="n">added_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="n">created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">source</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Node</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;source&#39;</span><span class="p">)</span>
-    <span class="n">target</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Node</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;target&#39;</span><span class="p">)</span>
-    <span class="n">length</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">ARC_LENGTHS</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">32</span><span class="p">)</span></div>
-
-
-
-<span class="c1">#######################</span>
-<span class="c1"># Affiliation Objects #</span>
-<span class="c1">#######################</span>
-
-<div class="viewcode-block" id="AffiliationObject"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.AffiliationObject">[docs]</a><span class="k">class</span> <span class="nc">AffiliationObject</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">country</span> <span class="o">=</span> <span class="n">CountryField</span><span class="p">()</span>
-    <span class="n">institution</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">128</span><span class="p">)</span>
-    <span class="n">subunit</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">128</span><span class="p">)</span></div>
-
-
-<span class="c1">#############################</span>
-<span class="c1"># Supporting Partners Board #</span>
-<span class="c1">#############################</span>
-
-<span class="n">PARTNER_TYPES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;Int. Fund. Agency&#39;</span><span class="p">,</span> <span class="s1">&#39;International Funding Agency&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Nat. Fund. Agency&#39;</span><span class="p">,</span> <span class="s1">&#39;National Funding Agency&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Nat. Library&#39;</span><span class="p">,</span> <span class="s1">&#39;National Library&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Univ. Library&#39;</span><span class="p">,</span> <span class="s1">&#39;University Library&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Res. Library&#39;</span><span class="p">,</span> <span class="s1">&#39;Research Library&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Consortium&#39;</span><span class="p">,</span> <span class="s1">&#39;Consortium&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Foundation&#39;</span><span class="p">,</span> <span class="s1">&#39;Foundation&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Individual&#39;</span><span class="p">,</span> <span class="s1">&#39;Individual&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">partner_types_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">PARTNER_TYPES</span><span class="p">)</span>
-
-<span class="n">PARTNER_STATUS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;Prospective&#39;</span><span class="p">,</span> <span class="s1">&#39;Prospective&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Active&#39;</span><span class="p">,</span> <span class="s1">&#39;Active&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Inactive&#39;</span><span class="p">,</span> <span class="s1">&#39;Inactive&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">partner_status_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">PARTNER_STATUS</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="SupportingPartner"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.SupportingPartner">[docs]</a><span class="k">class</span> <span class="nc">SupportingPartner</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Supporting Partners.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">partner_type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">32</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">PARTNER_TYPES</span><span class="p">)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">PARTNER_STATUS</span><span class="p">)</span>
-    <span class="n">institution</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">256</span><span class="p">)</span>
-    <span class="n">institution_acronym</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
-    <span class="n">institution_address</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">)</span>
-    <span class="n">consortium_members</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">contact_person</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">institution_acronym</span> <span class="o">+</span> <span class="s1">&#39; (&#39;</span> <span class="o">+</span> <span class="n">partner_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">status</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span></div>
-
-<span class="n">SPB_MEMBERSHIP_AGREEMENT_STATUS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;Submitted&#39;</span><span class="p">,</span> <span class="s1">&#39;Request submitted by Partner&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Pending&#39;</span><span class="p">,</span> <span class="s1">&#39;Sent to Partner, response pending&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Signed&#39;</span><span class="p">,</span> <span class="s1">&#39;Signed by Partner&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Honoured&#39;</span><span class="p">,</span> <span class="s1">&#39;Honoured: payment of Partner received&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">SPB_membership_agreement_status_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SPB_MEMBERSHIP_AGREEMENT_STATUS</span><span class="p">)</span>
-
-<span class="n">SPB_MEMBERSHIP_DURATION</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">365</span><span class="p">),</span> <span class="s1">&#39;1 year&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">730</span><span class="p">),</span> <span class="s1">&#39;2 years&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1095</span><span class="p">),</span> <span class="s1">&#39;3 years&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1460</span><span class="p">),</span> <span class="s1">&#39;4 years&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1825</span><span class="p">),</span> <span class="s1">&#39;5 years&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">spb_membership_duration_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SPB_MEMBERSHIP_DURATION</span><span class="p">)</span>
-
-<div class="viewcode-block" id="SPBMembershipAgreement"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#scipost.models.SPBMembershipAgreement">[docs]</a><span class="k">class</span> <span class="nc">SPBMembershipAgreement</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Agreement for membership of the Supporting Partners Board.</span>
-<span class="sd">    A new instance is created each time an Agreement is made or renewed.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">partner</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">SupportingPartner</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SPB_MEMBERSHIP_AGREEMENT_STATUS</span><span class="p">)</span>
-    <span class="n">date_requested</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">()</span>
-    <span class="n">start_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">()</span>
-    <span class="n">duration</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DurationField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">SPB_MEMBERSHIP_DURATION</span><span class="p">)</span>
-    <span class="n">offered_yearly_contribution</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">partner</span><span class="p">)</span> <span class="o">+</span>
-                <span class="s1">&#39; [&#39;</span> <span class="o">+</span> <span class="n">spb_membership_duration_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">duration</span><span class="p">]</span> <span class="o">+</span>
-                <span class="s1">&#39; from &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">start_date</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;]&#39;</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/scipost/views.html b/docs/_build/html/_modules/scipost/views.html
deleted file mode 100644
index 1d04abba2651726451ff49431aafc6e6136216ae..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/scipost/views.html
+++ /dev/null
@@ -1,1869 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>scipost.views &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>scipost.views</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for scipost.views</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">datetime</span>
-<span class="kn">import</span> <span class="nn">hashlib</span>
-<span class="kn">import</span> <span class="nn">random</span>
-<span class="kn">import</span> <span class="nn">re</span>
-<span class="kn">import</span> <span class="nn">string</span>
-
-<span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">get_object_or_404</span><span class="p">,</span> <span class="n">render</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth</span> <span class="k">import</span> <span class="n">authenticate</span><span class="p">,</span> <span class="n">login</span><span class="p">,</span> <span class="n">logout</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.decorators</span> <span class="k">import</span> <span class="n">login_required</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span><span class="p">,</span> <span class="n">Group</span><span class="p">,</span> <span class="n">Permission</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.views</span> <span class="k">import</span> <span class="n">password_reset</span><span class="p">,</span> <span class="n">password_reset_confirm</span>
-<span class="kn">from</span> <span class="nn">django.core.exceptions</span> <span class="k">import</span> <span class="n">MultipleObjectsReturned</span><span class="p">,</span> <span class="n">ObjectDoesNotExist</span><span class="p">,</span> <span class="n">PermissionDenied</span>
-<span class="kn">from</span> <span class="nn">django.core</span> <span class="k">import</span> <span class="n">mail</span>
-<span class="kn">from</span> <span class="nn">django.core.mail</span> <span class="k">import</span> <span class="n">EmailMessage</span><span class="p">,</span> <span class="n">EmailMultiAlternatives</span>
-<span class="kn">from</span> <span class="nn">django.core.paginator</span> <span class="k">import</span> <span class="n">Paginator</span><span class="p">,</span> <span class="n">EmptyPage</span><span class="p">,</span> <span class="n">PageNotAnInteger</span>
-<span class="kn">from</span> <span class="nn">django.core.urlresolvers</span> <span class="k">import</span> <span class="n">reverse</span>
-<span class="kn">from</span> <span class="nn">django.http</span> <span class="k">import</span> <span class="n">HttpResponse</span><span class="p">,</span> <span class="n">HttpResponseRedirect</span><span class="p">,</span> <span class="n">JsonResponse</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">redirect</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Context</span><span class="p">,</span> <span class="n">RequestContext</span><span class="p">,</span> <span class="n">Template</span>
-<span class="kn">from</span> <span class="nn">django.utils.http</span> <span class="k">import</span> <span class="n">is_safe_url</span>
-<span class="kn">from</span> <span class="nn">django.views.decorators.csrf</span> <span class="k">import</span> <span class="n">csrf_protect</span>
-<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="k">import</span> <span class="n">Avg</span>
-
-<span class="kn">from</span> <span class="nn">guardian.decorators</span> <span class="k">import</span> <span class="n">permission_required</span>
-<span class="kn">from</span> <span class="nn">guardian.decorators</span> <span class="k">import</span> <span class="n">permission_required_or_403</span>
-<span class="kn">from</span> <span class="nn">guardian.shortcuts</span> <span class="k">import</span> <span class="n">assign_perm</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">.forms</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="kn">from</span> <span class="nn">.global_methods</span> <span class="k">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">.utils</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="kn">from</span> <span class="nn">commentaries.models</span> <span class="k">import</span> <span class="n">Commentary</span>
-<span class="kn">from</span> <span class="nn">commentaries.forms</span> <span class="k">import</span> <span class="n">CommentarySearchForm</span>
-<span class="kn">from</span> <span class="nn">comments.models</span> <span class="k">import</span> <span class="n">Comment</span>
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">Publication</span>
-<span class="kn">from</span> <span class="nn">submissions.models</span> <span class="k">import</span> <span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-<span class="kn">from</span> <span class="nn">submissions.models</span> <span class="k">import</span> <span class="n">Submission</span><span class="p">,</span> <span class="n">EditorialAssignment</span>
-<span class="kn">from</span> <span class="nn">submissions.models</span> <span class="k">import</span> <span class="n">RefereeInvitation</span><span class="p">,</span> <span class="n">Report</span><span class="p">,</span> <span class="n">EICRecommendation</span>
-<span class="kn">from</span> <span class="nn">submissions.forms</span> <span class="k">import</span> <span class="n">SubmissionSearchForm</span>
-<span class="kn">from</span> <span class="nn">theses.models</span> <span class="k">import</span> <span class="n">ThesisLink</span>
-<span class="kn">from</span> <span class="nn">theses.forms</span> <span class="k">import</span> <span class="n">ThesisLinkSearchForm</span>
-
-
-<span class="c1">##############</span>
-<span class="c1"># Utilitites #</span>
-<span class="c1">##############</span>
-
-<span class="k">def</span> <span class="nf">is_registered</span><span class="p">(</span><span class="n">user</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Registered Contributors&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-
-<span class="k">def</span> <span class="nf">is_SP_Admin</span><span class="p">(</span><span class="n">user</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;SciPost Administrators&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-
-<span class="k">def</span> <span class="nf">is_MEC</span><span class="p">(</span><span class="n">user</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial College&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-
-<span class="k">def</span> <span class="nf">is_VE</span><span class="p">(</span><span class="n">user</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Vetting Editors&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-
-
-<span class="c1"># Global search</span>
-
-<div class="viewcode-block" id="normalize_query"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.normalize_query">[docs]</a><span class="k">def</span> <span class="nf">normalize_query</span><span class="p">(</span><span class="n">query_string</span><span class="p">,</span>
-                    <span class="n">findterms</span><span class="o">=</span><span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s1">r&#39;&quot;([^&quot;]+)&quot;|(\S+)&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">findall</span><span class="p">,</span>
-                    <span class="n">normspace</span><span class="o">=</span><span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s1">r&#39;\s{2,}&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">sub</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Splits a query string in individual keywords, keeping quoted words together. &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="p">[</span><span class="n">normspace</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">t</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">or</span> <span class="n">t</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">findterms</span><span class="p">(</span><span class="n">query_string</span><span class="p">)]</span></div>
-
-<div class="viewcode-block" id="get_query"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.get_query">[docs]</a><span class="k">def</span> <span class="nf">get_query</span><span class="p">(</span><span class="n">query_string</span><span class="p">,</span> <span class="n">search_fields</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Returns a query, namely a combination of Q objects. &quot;&quot;&quot;</span>
-    <span class="n">query</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="n">terms</span> <span class="o">=</span> <span class="n">normalize_query</span><span class="p">(</span><span class="n">query_string</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">term</span> <span class="ow">in</span> <span class="n">terms</span><span class="p">:</span>
-        <span class="n">or_query</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="k">for</span> <span class="n">field_name</span> <span class="ow">in</span> <span class="n">search_fields</span><span class="p">:</span>
-            <span class="n">q</span> <span class="o">=</span> <span class="n">Q</span><span class="p">(</span><span class="o">**</span><span class="p">{</span><span class="s2">&quot;</span><span class="si">%s</span><span class="s2">__icontains&quot;</span> <span class="o">%</span> <span class="n">field_name</span><span class="p">:</span> <span class="n">term</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">or_query</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="n">or_query</span> <span class="o">=</span> <span class="n">q</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">or_query</span> <span class="o">=</span> <span class="n">or_query</span> <span class="o">|</span> <span class="n">q</span>
-        <span class="k">if</span> <span class="n">query</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">query</span> <span class="o">=</span> <span class="n">or_query</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">query</span> <span class="o">=</span> <span class="n">query</span> <span class="o">&amp;</span> <span class="n">or_query</span>
-    <span class="k">return</span> <span class="n">query</span></div>
-
-
-<div class="viewcode-block" id="documentsSearchResults"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.documentsSearchResults">[docs]</a><span class="k">def</span> <span class="nf">documentsSearchResults</span><span class="p">(</span><span class="n">query</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Searches through commentaries, submissions and thesislinks.</span>
-<span class="sd">    Returns a Context object which can be further used in templates.</span>
-<span class="sd">    Naive implementation based on exact match of query.</span>
-<span class="sd">    NEEDS UPDATING with e.g. Haystack.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">publication_query</span> <span class="o">=</span> <span class="n">get_query</span><span class="p">(</span><span class="n">query</span><span class="p">,</span>
-                                  <span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">,</span> <span class="s1">&#39;abstract&#39;</span><span class="p">,</span> <span class="s1">&#39;doi_string&#39;</span><span class="p">])</span>
-    <span class="n">commentary_query</span> <span class="o">=</span> <span class="n">get_query</span><span class="p">(</span><span class="n">query</span><span class="p">,</span>
-                                 <span class="p">[</span><span class="s1">&#39;pub_title&#39;</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">,</span> <span class="s1">&#39;pub_abstract&#39;</span><span class="p">])</span>
-    <span class="n">submission_query</span> <span class="o">=</span> <span class="n">get_query</span><span class="p">(</span><span class="n">query</span><span class="p">,</span>
-                                 <span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">,</span> <span class="s1">&#39;abstract&#39;</span><span class="p">])</span>
-    <span class="n">thesislink_query</span> <span class="o">=</span> <span class="n">get_query</span><span class="p">(</span><span class="n">query</span><span class="p">,</span>
-                                 <span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">,</span> <span class="s1">&#39;author&#39;</span><span class="p">,</span> <span class="s1">&#39;abstract&#39;</span><span class="p">,</span> <span class="s1">&#39;supervisor&#39;</span><span class="p">])</span>
-    <span class="n">comment_query</span> <span class="o">=</span> <span class="n">get_query</span><span class="p">(</span><span class="n">query</span><span class="p">,</span>
-                              <span class="p">[</span><span class="s1">&#39;comment_text&#39;</span><span class="p">])</span>
-
-    <span class="n">publication_search_queryset</span> <span class="o">=</span> <span class="n">Publication</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">publication_query</span><span class="p">,</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-publication_date&#39;</span><span class="p">)</span>
-    <span class="n">commentary_search_queryset</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-    <span class="c1">#commentary_search_list = Commentary.objects.filter(</span>
-        <span class="n">commentary_query</span><span class="p">,</span>
-        <span class="n">vetted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-pub_date&#39;</span><span class="p">)</span>
-    <span class="n">submission_search_queryset</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-    <span class="c1">#submission_search_list = Submission.objects.filter(</span>
-        <span class="n">submission_query</span><span class="p">,</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">)</span>
-    <span class="n">thesislink_search_list</span> <span class="o">=</span> <span class="n">ThesisLink</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">thesislink_query</span><span class="p">,</span>
-        <span class="n">vetted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-defense_date&#39;</span><span class="p">)</span>
-    <span class="n">comment_search_list</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">comment_query</span><span class="p">,</span>
-        <span class="n">status__gte</span><span class="o">=</span><span class="s1">&#39;1&#39;</span><span class="p">,</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;publication_search_queryset&#39;</span><span class="p">:</span> <span class="n">publication_search_queryset</span><span class="p">,</span>
-               <span class="s1">&#39;commentary_search_queryset&#39;</span><span class="p">:</span> <span class="n">commentary_search_queryset</span><span class="p">,</span>
-               <span class="c1">#&#39;commentary_search_list&#39;: commentary_search_list,</span>
-               <span class="s1">&#39;submission_search_queryset&#39;</span><span class="p">:</span> <span class="n">submission_search_queryset</span><span class="p">,</span>
-               <span class="c1">#&#39;submission_search_list&#39;: submission_search_list,</span>
-               <span class="s1">&#39;thesislink_search_list&#39;</span><span class="p">:</span> <span class="n">thesislink_search_list</span><span class="p">,</span>
-               <span class="s1">&#39;comment_search_list&#39;</span><span class="p">:</span> <span class="n">comment_search_list</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">context</span></div>
-
-
-<div class="viewcode-block" id="search"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.search">[docs]</a><span class="k">def</span> <span class="nf">search</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; For the global search form in navbar &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="n">documentsSearchResults</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">])</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">session</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{}</span>
-    <span class="k">elif</span> <span class="s1">&#39;query&#39;</span> <span class="ow">in</span> <span class="n">request</span><span class="o">.</span><span class="n">session</span><span class="p">:</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="n">documentsSearchResults</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">session</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">])</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{}</span>
-
-    <span class="k">if</span> <span class="s1">&#39;publication_search_queryset&#39;</span> <span class="ow">in</span> <span class="n">context</span><span class="p">:</span>
-        <span class="n">publication_search_list_paginator</span> <span class="o">=</span> <span class="n">Paginator</span> <span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;publication_search_queryset&#39;</span><span class="p">],</span> <span class="mi">10</span><span class="p">)</span>
-        <span class="n">publication_search_list_page</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">GET</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;publication_search_list_page&#39;</span><span class="p">)</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">publication_search_list</span> <span class="o">=</span> <span class="n">publication_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span>
-                <span class="n">publication_search_list_page</span><span class="p">)</span>
-        <span class="k">except</span> <span class="n">PageNotAnInteger</span><span class="p">:</span>
-            <span class="n">publication_search_list</span> <span class="o">=</span> <span class="n">publication_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-        <span class="k">except</span> <span class="n">EmptyPage</span><span class="p">:</span>
-            <span class="n">publication_search_list</span> <span class="o">=</span> <span class="n">publication_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span>
-                <span class="n">publication_search_list_paginator</span><span class="o">.</span><span class="n">num_pages</span><span class="p">)</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;publication_search_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">publication_search_list</span>
-
-    <span class="k">if</span> <span class="s1">&#39;commentary_search_queryset&#39;</span> <span class="ow">in</span> <span class="n">context</span><span class="p">:</span>
-        <span class="n">commentary_search_list_paginator</span> <span class="o">=</span> <span class="n">Paginator</span> <span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_search_queryset&#39;</span><span class="p">],</span> <span class="mi">10</span><span class="p">)</span>
-        <span class="n">commentary_search_list_page</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">GET</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;commentary_search_list_page&#39;</span><span class="p">)</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="n">commentary_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span>
-                <span class="n">commentary_search_list_page</span><span class="p">)</span>
-        <span class="k">except</span> <span class="n">PageNotAnInteger</span><span class="p">:</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="n">commentary_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-        <span class="k">except</span> <span class="n">EmptyPage</span><span class="p">:</span>
-            <span class="n">commentary_search_list</span> <span class="o">=</span> <span class="n">commentary_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span>
-                <span class="n">commentary_search_list_paginator</span><span class="o">.</span><span class="n">num_pages</span><span class="p">)</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;commentary_search_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">commentary_search_list</span>
-
-    <span class="k">if</span> <span class="s1">&#39;submission_search_queryset&#39;</span> <span class="ow">in</span> <span class="n">context</span><span class="p">:</span>
-        <span class="n">submission_search_list_paginator</span> <span class="o">=</span> <span class="n">Paginator</span> <span class="p">(</span><span class="n">context</span><span class="p">[</span><span class="s1">&#39;submission_search_queryset&#39;</span><span class="p">],</span> <span class="mi">10</span><span class="p">)</span>
-        <span class="n">submission_search_list_page</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">GET</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;submission_search_list_page&#39;</span><span class="p">)</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="n">submission_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span>
-                <span class="n">submission_search_list_page</span><span class="p">)</span>
-        <span class="k">except</span> <span class="n">PageNotAnInteger</span><span class="p">:</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="n">submission_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
-        <span class="k">except</span> <span class="n">EmptyPage</span><span class="p">:</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="n">submission_search_list_paginator</span><span class="o">.</span><span class="n">page</span><span class="p">(</span>
-                <span class="n">submission_search_list_paginator</span><span class="o">.</span><span class="n">num_pages</span><span class="p">)</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;submission_search_list&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">submission_search_list</span>
-
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/search.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">#############</span>
-<span class="c1"># Main view</span>
-<span class="c1">#############</span>
-
-<div class="viewcode-block" id="index"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.index">[docs]</a><span class="k">def</span> <span class="nf">index</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Main page &quot;&quot;&quot;</span>
-    <span class="n">latest_newsitems</span> <span class="o">=</span> <span class="n">NewsItem</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">all</span><span class="p">()</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date&#39;</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
-    <span class="n">submission_search_form</span> <span class="o">=</span> <span class="n">SubmissionSearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-    <span class="n">commentary_search_form</span> <span class="o">=</span> <span class="n">CommentarySearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-    <span class="n">thesislink_search_form</span> <span class="o">=</span> <span class="n">ThesisLinkSearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;latest_newsitems&#39;</span><span class="p">:</span> <span class="n">latest_newsitems</span><span class="p">,</span>
-               <span class="s1">&#39;submission_search_form&#39;</span><span class="p">:</span> <span class="n">submission_search_form</span><span class="p">,</span>
-               <span class="s1">&#39;commentary_search_form&#39;</span><span class="p">:</span> <span class="n">commentary_search_form</span><span class="p">,</span>
-               <span class="s1">&#39;thesislink_search_form&#39;</span><span class="p">:</span> <span class="n">thesislink_search_form</span><span class="p">,</span>
-               <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/index.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-<span class="c1">###############</span>
-<span class="c1"># Information</span>
-<span class="c1">###############</span>
-
-<div class="viewcode-block" id="base"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.base">[docs]</a><span class="k">def</span> <span class="nf">base</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Skeleton for pages, used in template inheritance &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/base.html&#39;</span><span class="p">)</span></div>
-
-<span class="k">def</span> <span class="nf">news</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">newsitems</span> <span class="o">=</span> <span class="n">NewsItem</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">all</span><span class="p">()</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;newsitems&#39;</span><span class="p">:</span> <span class="n">newsitems</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/news.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-<span class="c1">################</span>
-<span class="c1"># Contributors:</span>
-<span class="c1">################</span>
-
-<span class="k">def</span> <span class="nf">register</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">is_authenticated</span><span class="p">():</span>
-        <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="s1">&#39;personal_page&#39;</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RegistrationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">})</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">password_mismatch</span><span class="p">():</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;Your passwords must match&#39;</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">username_already_taken</span><span class="p">():</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;This username is already in use&#39;</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_taken</span><span class="p">():</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;This email address is already in use&#39;</span><span class="p">})</span>
-            <span class="n">Utils</span><span class="o">.</span><span class="n">create_and_save_contributor</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-            <span class="n">Utils</span><span class="o">.</span><span class="n">send_registration_email</span><span class="p">()</span>
-            <span class="c1"># If this email was associated to an invitation, mark it as responded to</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">invitation</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                    <span class="n">email</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">])</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">responded</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">except</span> <span class="n">ObjectDoesNotExist</span><span class="p">:</span>
-                <span class="k">pass</span>
-            <span class="k">except</span> <span class="n">MultipleObjectsReturned</span><span class="p">:</span>
-                <span class="c1"># Delete the first invitation</span>
-                <span class="n">invitation_to_delete</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                    <span class="n">email</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-                <span class="n">invitation_to_delete</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Thanks for registering to SciPost.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="p">(</span><span class="s1">&#39;You will receive an email with a link to verify &#39;</span>
-                                       <span class="s1">&#39;your email address. Please visit this link within 48 hours. &#39;</span>
-                                       <span class="s1">&#39;Your credentials will thereafter be verified. &#39;</span>
-                                       <span class="s1">&#39;If your registration is vetted through by the &#39;</span>
-                                       <span class="s1">&#39;administrators, you will be enabled to contribute.&#39;</span><span class="p">),</span>
-                       <span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RegistrationForm</span><span class="p">()</span>
-    <span class="n">invited</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;invited&#39;</span><span class="p">:</span> <span class="n">invited</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="invitation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.invitation">[docs]</a><span class="k">def</span> <span class="nf">invitation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Register, by invitation &quot;&quot;&quot;</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">RegistrationInvitation</span><span class="p">,</span> <span class="n">invitation_key</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">invitation</span><span class="o">.</span><span class="n">responded</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This invitation token has already been used, &#39;</span>
-                        <span class="s1">&#39;or this email address is already associated to a registration.&#39;</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">invitation</span><span class="o">.</span><span class="n">key_expires</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The invitation key has expired.&#39;</span>
-    <span class="k">elif</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RegistrationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">})</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">password_mismatch</span><span class="p">():</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                                <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;invited&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
-                                 <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;Your passwords must match&#39;</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">username_already_taken</span><span class="p">():</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;invited&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
-                               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;This username is already in use&#39;</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_taken</span><span class="p">():</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;invited&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
-                               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;This email address is already in use&#39;</span><span class="p">})</span>
-            <span class="n">invitation</span><span class="o">.</span><span class="n">responded</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">Utils</span><span class="o">.</span><span class="n">create_and_save_contributor</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
-            <span class="n">Utils</span><span class="o">.</span><span class="n">send_registration_email</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Thanks for registering to SciPost.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="p">(</span><span class="s1">&#39;You will receive an email with a link to verify &#39;</span>
-                                       <span class="s1">&#39;your email address. Please visit this link within 48 hours. &#39;</span>
-                                       <span class="s1">&#39;Your credentials will thereafter be verified. &#39;</span>
-                                       <span class="s1">&#39;If your registration is vetted through by the &#39;</span>
-                                       <span class="s1">&#39;administrators, you will be enabled to contribute.&#39;</span><span class="p">),</span>
-                       <span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;form is invalidly filled&#39;</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                          <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;invited&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
-                           <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RegistrationForm</span><span class="p">()</span>
-        <span class="n">form</span><span class="o">.</span><span class="n">fields</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">initial</span> <span class="o">=</span> <span class="n">invitation</span><span class="o">.</span><span class="n">title</span>
-        <span class="n">form</span><span class="o">.</span><span class="n">fields</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">initial</span> <span class="o">=</span> <span class="n">invitation</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="n">form</span><span class="o">.</span><span class="n">fields</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">initial</span> <span class="o">=</span> <span class="n">invitation</span><span class="o">.</span><span class="n">first_name</span>
-        <span class="n">form</span><span class="o">.</span><span class="n">fields</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">initial</span> <span class="o">=</span> <span class="n">invitation</span><span class="o">.</span><span class="n">email</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-        <span class="n">welcome_message</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Welcome, &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">invitation</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                           <span class="o">+</span> <span class="n">invitation</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;, and thanks in advance for &#39;</span>
-                           <span class="s1">&#39;registering (by completing this form)&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/register.html&#39;</span><span class="p">,</span>
-                        <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;invited&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;key&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">,</span>
-                         <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">&#39;welcome_message&#39;</span><span class="p">:</span> <span class="n">welcome_message</span><span class="p">})</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/accept_invitation_error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-
-<div class="viewcode-block" id="activation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.activation">[docs]</a><span class="k">def</span> <span class="nf">activation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    After registration, an email verification link is sent.</span>
-<span class="sd">    Once clicked, the account is activated.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">activation_key</span><span class="o">=</span><span class="n">key</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">is_active</span> <span class="o">==</span> <span class="kc">False</span><span class="p">:</span>
-        <span class="k">if</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">contributor</span><span class="o">.</span><span class="n">key_expires</span><span class="p">:</span>
-            <span class="n">id_user</span> <span class="o">=</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">id</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;oldkey&#39;</span><span class="p">:</span> <span class="n">key</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/request_new_activation_link.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">is_active</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1">#return render(request, &#39;scipost/activation_ack.html&#39;)</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Your email address has been confirmed.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="p">(</span><span class="s1">&#39;Your SciPost account will soon be vetted. &#39;</span>
-                                       <span class="s1">&#39;You will soon receive an email from us.&#39;</span><span class="p">),</span>
-                       <span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/already_activated.html&#39;</span><span class="p">)</span></div>
-
-
-<span class="k">def</span> <span class="nf">request_new_activation_link</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">oldkey</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">activation_key</span><span class="o">=</span><span class="n">oldkey</span><span class="p">)</span>
-    <span class="c1"># Generate a new email activation key and link</span>
-    <span class="n">salt</span> <span class="o">=</span> <span class="s2">&quot;&quot;</span>
-    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">):</span>
-        <span class="n">salt</span> <span class="o">=</span> <span class="n">salt</span> <span class="o">+</span> <span class="n">random</span><span class="o">.</span><span class="n">choice</span><span class="p">(</span><span class="n">string</span><span class="o">.</span><span class="n">ascii_letters</span><span class="p">)</span>
-            <span class="c1">#salt = hashlib.sha1(str(random.random()).encode(&#39;utf8&#39;)).hexdigest()[:5]</span>
-    <span class="n">salt</span> <span class="o">=</span> <span class="n">salt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>
-    <span class="n">usernamesalt</span> <span class="o">=</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">username</span>
-    <span class="n">usernamesalt</span> <span class="o">=</span> <span class="n">usernamesalt</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;utf8&#39;</span><span class="p">)</span>
-    <span class="n">contributor</span><span class="o">.</span><span class="n">activation_key</span> <span class="o">=</span> <span class="n">hashlib</span><span class="o">.</span><span class="n">sha1</span><span class="p">(</span><span class="n">salt</span><span class="o">+</span><span class="n">usernamesalt</span><span class="p">)</span><span class="o">.</span><span class="n">hexdigest</span><span class="p">()</span>
-    <span class="n">contributor</span><span class="o">.</span><span class="n">key_expires</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span>
-        <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span> <span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M:%S&quot;</span><span class="p">)</span>
-    <span class="n">contributor</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                  <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">&#39;</span>
-                  <span class="s1">&#39;Your request for a new email activation link for registration to the SciPost &#39;</span>
-                  <span class="s1">&#39;publication portal has been received. You now need to visit this link within &#39;</span>
-                  <span class="s1">&#39;the next 48 hours: </span><span class="se">\n\n</span><span class="s1">&#39;</span>
-                  <span class="s1">&#39;https://scipost.org/activation/&#39;</span> <span class="o">+</span> <span class="n">contributor</span><span class="o">.</span><span class="n">activation_key</span> <span class="o">+</span>
-                  <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">Your registration will thereafter be vetted. Many thanks for your interest.&#39;</span>
-                  <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">The SciPost Team.&#39;</span><span class="p">)</span>
-    <span class="n">emailmessage</span> <span class="o">=</span> <span class="n">EmailMessage</span><span class="p">(</span><span class="s1">&#39;SciPost registration: new email activation link&#39;</span><span class="p">,</span>
-                                <span class="n">email_text</span><span class="p">,</span> <span class="s1">&#39;SciPost registration &lt;registration@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                <span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">,</span> <span class="s1">&#39;registration@scipost.org&#39;</span><span class="p">],</span>
-                                <span class="n">reply_to</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;registration@scipost.org&#39;</span><span class="p">])</span>
-    <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="c1">#return render (request, &#39;scipost/request_new_activation_link_ack.html&#39;)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;We have emailed you a new activation link.&#39;</span><span class="p">,</span>
-               <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="p">(</span><span class="s1">&#39;Please acknowledge it within its 48 hours validity &#39;</span>
-                               <span class="s1">&#39;window if you want us to proceed with vetting your registraion.&#39;</span><span class="p">),</span>
-           <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_vet_registration_requests&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_registration_requests</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">contributors_to_vet</span> <span class="o">=</span> <span class="p">(</span><span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span>
-                           <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">user__is_active</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-                           <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;key_expires&#39;</span><span class="p">))</span>
-    <span class="n">reg_cont_group</span> <span class="o">=</span> <span class="n">Group</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Registered Contributors&#39;</span><span class="p">)</span> <span class="c1"># TODO: remove this line?</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">VetRegistrationForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;contributors_to_vet&#39;</span><span class="p">:</span> <span class="n">contributors_to_vet</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/vet_registration_requests.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_vet_registration_requests&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_registration_request_ack</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">contributor_id</span><span class="p">):</span>
-    <span class="c1"># process the form</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">VetRegistrationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;promote_to_registered_contributor&#39;</span><span class="p">]:</span>
-                <span class="n">contributor</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="mi">1</span>
-                <span class="n">contributor</span><span class="o">.</span><span class="n">vetted_by</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span>
-                <span class="n">contributor</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="n">group</span> <span class="o">=</span> <span class="n">Group</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Registered Contributors&#39;</span><span class="p">)</span>
-                <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
-                <span class="c1"># Verify if there is a pending refereeing invitation</span>
-                <span class="n">pending_ref_inv_exists</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">pending_ref_inv</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                        <span class="n">invitation_key</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">invitation_key</span><span class="p">,</span> <span class="n">cancelled</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                    <span class="n">pending_ref_inv</span><span class="o">.</span><span class="n">referee</span> <span class="o">=</span> <span class="n">contributor</span>
-                    <span class="n">pending_ref_inv</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="k">except</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-                    <span class="n">pending_ref_inv_exists</span> <span class="o">=</span> <span class="kc">False</span>
-
-                <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                              <span class="o">+</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                              <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">Your registration to the SciPost publication portal &#39;</span>
-                              <span class="s1">&#39;has been accepted. &#39;</span>
-                              <span class="s1">&#39;You can now login at https://scipost.org and contribute. </span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">pending_ref_inv_exists</span><span class="p">:</span>
-                    <span class="n">email_text</span> <span class="o">+=</span> <span class="p">(</span>
-                        <span class="s1">&#39;Note that you have pending refereeing invitations; please navigate to &#39;</span>
-                        <span class="s1">&#39;https://scipost.org/submissions/accept_or_decline_ref_invitations &#39;</span>
-                        <span class="s1">&#39;(login required) to accept or decline them.</span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)</span>
-                <span class="n">email_text</span> <span class="o">+=</span> <span class="s1">&#39;Thank you very much in advance, </span><span class="se">\n</span><span class="s1">The SciPost Team.&#39;</span>
-                <span class="n">emailmessage</span> <span class="o">=</span> <span class="n">EmailMessage</span><span class="p">(</span><span class="s1">&#39;SciPost registration accepted&#39;</span><span class="p">,</span> <span class="n">email_text</span><span class="p">,</span>
-                                            <span class="s1">&#39;SciPost registration &lt;registration@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                            <span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">],</span>
-                                            <span class="n">bcc</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;registration@scipost.org&#39;</span><span class="p">],</span>
-                                            <span class="n">reply_to</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;registration@scipost.org&#39;</span><span class="p">])</span>
-                <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">ref_reason</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;refusal_reason&#39;</span><span class="p">])</span>
-                <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-                              <span class="o">+</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                              <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">Your registration to the SciPost publication portal &#39;</span>
-                              <span class="s1">&#39;has been turned down, the reason being: &#39;</span>
-                              <span class="o">+</span> <span class="n">reg_ref_dict</span><span class="p">[</span><span class="n">ref_reason</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;. You can however still view &#39;</span>
-                              <span class="s1">&#39;all SciPost contents, just not submit papers, &#39;</span>
-                              <span class="s1">&#39;comments or votes. We nonetheless thank you for your interest.&#39;</span>
-                              <span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">The SciPost Team.&#39;</span><span class="p">)</span>
-                <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_response_field&#39;</span><span class="p">]:</span>
-                    <span class="n">email_text</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;</span><span class="se">\n\n</span><span class="s1">Further explanations: &#39;</span>
-                                   <span class="o">+</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_response_field&#39;</span><span class="p">])</span>
-                <span class="n">emailmessage</span> <span class="o">=</span> <span class="n">EmailMessage</span><span class="p">(</span><span class="s1">&#39;SciPost registration: unsuccessful&#39;</span><span class="p">,</span>
-                                            <span class="n">email_text</span><span class="p">,</span>
-                                            <span class="s1">&#39;SciPost registration &lt;registration@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                            <span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">],</span>
-                                            <span class="n">bcc</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;registration@scipost.org&#39;</span><span class="p">],</span>
-                                            <span class="n">reply_to</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;registration@scipost.org&#39;</span><span class="p">])</span>
-                <span class="n">emailmessage</span><span class="o">.</span><span class="n">send</span><span class="p">(</span><span class="n">fail_silently</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                <span class="n">contributor</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;refusal_reason&#39;</span><span class="p">]</span>
-                <span class="n">contributor</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-    <span class="c1">#context = {}</span>
-    <span class="c1">#return render(request, &#39;scipost/vet_registration_request_ack.html&#39;, context)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;SciPost Registration request vetted.&#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Back to &#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:vet_registration_requests&#39;</span><span class="p">),</span>
-               <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;Registration requests page&#39;</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_draft_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="draft_registration_invitation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.draft_registration_invitation">[docs]</a><span class="k">def</span> <span class="nf">draft_registration_invitation</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    For officers to prefill registration invitations.</span>
-<span class="sd">    This is similar to the registration_invitations method,</span>
-<span class="sd">    which is used to complete the invitation process.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">draft_inv_form</span> <span class="o">=</span> <span class="n">DraftInvitationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">draft_inv_form</span><span class="p">})</span>
-        <span class="k">if</span> <span class="n">draft_inv_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_invited</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;DUPLICATE ERROR: &#39;</span>
-                                <span class="s1">&#39;This email address has already been used for an invitation&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_drafted</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;DUPLICATE ERROR: &#39;</span>
-                                <span class="s1">&#39;This email address has already been used for a draft invitation&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_taken</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;DUPLICATE ERROR: &#39;</span>
-                                <span class="s1">&#39;This email address is already associated to a Contributor&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">draft_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;invitation_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;F&#39;</span>
-                  <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">&#39;scipost.can_invite_Fellows&#39;</span><span class="p">)):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;You do not have the authorization to send a Fellow-type &#39;</span>
-                                <span class="s1">&#39;invitation. Consider Contributor, or cited (sub/pub). &#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">draft_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;invitation_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;R&#39;</span><span class="p">):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Referee-type invitations must be made by the Editor-in-charge &#39;</span>
-                                <span class="s1">&#39;at the relevant Submission</span><span class="se">\&#39;</span><span class="s1">s Editorial Page. &#39;</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">Utils</span><span class="o">.</span><span class="n">create_draft_invitation</span><span class="p">()</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Draft invitation saved.&#39;</span><span class="p">,</span>
-                           <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to the &#39;</span><span class="p">,</span>
-                           <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:draft_registration_invitation&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;drafting page&#39;</span><span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was not filled validly.&#39;</span>
-
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">draft_inv_form</span> <span class="o">=</span> <span class="n">DraftInvitationForm</span><span class="p">()</span>
-
-    <span class="n">sent_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;F&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv_fellows</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_contrib</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;C&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_contrib</span> <span class="o">=</span> <span class="n">sent_reg_inv_contrib</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_ref</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;R&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_ref</span> <span class="o">=</span> <span class="n">sent_reg_inv_ref</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;ci&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">sent_reg_inv_cited_sub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;cp&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">sent_reg_inv_cited_pub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="n">resp_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">resp_reg_inv_fellows</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;F&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_fellows</span> <span class="o">=</span> <span class="n">resp_reg_inv_fellows</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_contrib</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;C&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_contrib</span> <span class="o">=</span> <span class="n">resp_reg_inv_contrib</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_ref</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;R&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_ref</span> <span class="o">=</span> <span class="n">resp_reg_inv_ref</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;ci&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">resp_reg_inv_cited_sub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;cp&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">resp_reg_inv_cited_pub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="n">decl_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">responded</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-
-    <span class="n">names_reg_contributors</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;user__last_name&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">values_list</span><span class="p">(</span>
-        <span class="s1">&#39;user__first_name&#39;</span><span class="p">,</span> <span class="s1">&#39;user__last_name&#39;</span><span class="p">)</span>
-    <span class="n">existing_drafts</span> <span class="o">=</span> <span class="n">DraftInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">processed</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;draft_inv_form&#39;</span><span class="p">:</span> <span class="n">draft_inv_form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;decl_reg_inv&#39;</span><span class="p">:</span> <span class="n">decl_reg_inv</span><span class="p">,</span>
-               <span class="s1">&#39;names_reg_contributors&#39;</span><span class="p">:</span> <span class="n">names_reg_contributors</span><span class="p">,</span>
-               <span class="s1">&#39;existing_drafts&#39;</span><span class="p">:</span> <span class="n">existing_drafts</span><span class="p">,</span>
-    <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/draft_registration_invitation.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_manage_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="registration_invitations"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.registration_invitations">[docs]</a><span class="k">def</span> <span class="nf">registration_invitations</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">draft_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Overview and tools for administrators &quot;&quot;&quot;</span>
-    <span class="c1"># List invitations sent; send new ones</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="c1"># Send invitation from form information</span>
-        <span class="n">reg_inv_form</span> <span class="o">=</span> <span class="n">RegistrationInvitationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">reg_inv_form</span><span class="p">})</span>
-        <span class="k">if</span> <span class="n">reg_inv_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_invited</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;DUPLICATE ERROR: &#39;</span>
-                                <span class="s1">&#39;This email address has already been used for an invitation&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">Utils</span><span class="o">.</span><span class="n">email_already_taken</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;DUPLICATE ERROR: &#39;</span>
-                                <span class="s1">&#39;This email address is already associated to a Contributor&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">reg_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;invitation_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;F&#39;</span>
-                  <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">&#39;scipost.can_invite_Fellows&#39;</span><span class="p">)):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;You do not have the authorization to send a Fellow-type &#39;</span>
-                                <span class="s1">&#39;invitation. Consider Contributor, or cited (sub/pub). &#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">reg_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;invitation_type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;R&#39;</span><span class="p">):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Referee-type invitations must be made by the Editor-in-charge &#39;</span>
-                                <span class="s1">&#39;at the relevant Submission</span><span class="se">\&#39;</span><span class="s1">s Editorial Page. &#39;</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">Utils</span><span class="o">.</span><span class="n">create_invitation</span><span class="p">()</span>
-                <span class="n">Utils</span><span class="o">.</span><span class="n">send_registration_invitation_email</span><span class="p">()</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">draft</span> <span class="o">=</span> <span class="n">DraftInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span>
-                        <span class="n">email</span><span class="o">=</span><span class="n">reg_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">])</span>
-                    <span class="n">draft</span><span class="o">.</span><span class="n">processed</span> <span class="o">=</span> <span class="kc">True</span>
-                    <span class="n">draft</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="k">except</span> <span class="n">ObjectDoesNotExist</span><span class="p">:</span>
-                    <span class="k">pass</span>
-                <span class="k">except</span> <span class="n">MultipleObjectsReturned</span><span class="p">:</span>
-                    <span class="c1"># Delete the first invitation</span>
-                    <span class="n">draft_to_delete</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                        <span class="n">email</span><span class="o">=</span><span class="n">reg_inv_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-                    <span class="n">draft_to_delete</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-                <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="s1">&#39;registration_invitation_sent&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was not filled validly.&#39;</span>
-
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">initial</span> <span class="o">=</span> <span class="p">{}</span>
-        <span class="k">if</span> <span class="n">draft_id</span><span class="p">:</span>
-            <span class="n">draft</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">DraftInvitation</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">draft_id</span><span class="p">)</span>
-            <span class="n">initial</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                       <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                       <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                       <span class="s1">&#39;email&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">email</span><span class="p">,</span>
-                       <span class="s1">&#39;invitation_type&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">invitation_type</span><span class="p">,</span>
-                       <span class="s1">&#39;cited_in_submission&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">cited_in_submission</span><span class="p">,</span>
-                       <span class="s1">&#39;cited_in_publication&#39;</span><span class="p">:</span> <span class="n">draft</span><span class="o">.</span><span class="n">cited_in_publication</span><span class="p">,</span>
-                   <span class="p">}</span>
-        <span class="n">reg_inv_form</span> <span class="o">=</span> <span class="n">RegistrationInvitationForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="n">initial</span><span class="p">)</span>
-
-    <span class="n">sent_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;F&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_fellows</span> <span class="o">=</span> <span class="n">sent_reg_inv_fellows</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_contrib</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;C&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_contrib</span> <span class="o">=</span> <span class="n">sent_reg_inv_contrib</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_ref</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;R&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_ref</span> <span class="o">=</span> <span class="n">sent_reg_inv_ref</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;ci&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">sent_reg_inv_cited_sub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">sent_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">sent_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;cp&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_sent_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">sent_reg_inv_cited_pub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="n">resp_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">resp_reg_inv_fellows</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;F&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_fellows</span> <span class="o">=</span> <span class="n">resp_reg_inv_fellows</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_contrib</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;C&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_contrib</span> <span class="o">=</span> <span class="n">resp_reg_inv_contrib</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_ref</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;R&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_ref</span> <span class="o">=</span> <span class="n">resp_reg_inv_ref</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;ci&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_cited_sub</span> <span class="o">=</span> <span class="n">resp_reg_inv_cited_sub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-    <span class="n">resp_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">resp_reg_inv</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">invitation_type</span><span class="o">=</span><span class="s1">&#39;cp&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-    <span class="n">nr_resp_reg_inv_cited_pub</span> <span class="o">=</span> <span class="n">resp_reg_inv_cited_pub</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="n">decl_reg_inv</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">responded</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">declined</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="n">names_reg_contributors</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;user__last_name&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">values_list</span><span class="p">(</span>
-        <span class="s1">&#39;user__first_name&#39;</span><span class="p">,</span> <span class="s1">&#39;user__last_name&#39;</span><span class="p">)</span>
-    <span class="n">existing_drafts</span> <span class="o">=</span> <span class="n">DraftInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">processed</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;last_name&#39;</span><span class="p">)</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;reg_inv_form&#39;</span><span class="p">:</span> <span class="n">reg_inv_form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;sent_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">sent_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_sent_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">nr_sent_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_fellows&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_fellows</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_contrib&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_contrib</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_ref&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_ref</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_cited_sub&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_sub</span><span class="p">,</span>
-               <span class="s1">&#39;resp_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">resp_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;nr_resp_reg_inv_cited_pub&#39;</span><span class="p">:</span> <span class="n">nr_resp_reg_inv_cited_pub</span><span class="p">,</span>
-               <span class="s1">&#39;decl_reg_inv&#39;</span><span class="p">:</span> <span class="n">decl_reg_inv</span><span class="p">,</span>
-               <span class="s1">&#39;names_reg_contributors&#39;</span><span class="p">:</span> <span class="n">names_reg_contributors</span><span class="p">,</span>
-               <span class="s1">&#39;existing_drafts&#39;</span><span class="p">:</span> <span class="n">existing_drafts</span><span class="p">,</span>
-    <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/registration_invitations.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_manage_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="registration_invitations_cleanup"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.registration_invitations_cleanup">[docs]</a><span class="k">def</span> <span class="nf">registration_invitations_cleanup</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Compares the email addresses of invitations with those in the</span>
-<span class="sd">    database of registered Contributors. Flags overlaps.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">contributor_email_list</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">values_list</span><span class="p">(</span><span class="s1">&#39;user__email&#39;</span><span class="p">,</span> <span class="n">flat</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">invs_to_cleanup</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">responded</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">email__in</span><span class="o">=</span><span class="n">contributor_email_list</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;invs_to_cleanup&#39;</span><span class="p">:</span> <span class="n">invs_to_cleanup</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/registration_invitations_cleanup.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_manage_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="remove_registration_invitation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.remove_registration_invitation">[docs]</a><span class="k">def</span> <span class="nf">remove_registration_invitation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Remove an invitation (called from registration_invitations_cleanup).</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">RegistrationInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:registration_invitations_cleanup&#39;</span><span class="p">))</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_manage_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">edit_invitation_personal_message</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">RegistrationInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">ModifyPersonalMessageForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">invitation</span><span class="o">.</span><span class="n">personal_message</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;personal_message&#39;</span><span class="p">]</span>
-            <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:registration_invitations&#39;</span><span class="p">))</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was invalid.&#39;</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">ModifyPersonalMessageForm</span><span class="p">(</span>
-            <span class="n">initial</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;personal_message&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="o">.</span><span class="n">personal_message</span><span class="p">,})</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">,</span>
-               <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/edit_invitation_personal_message.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_manage_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="renew_registration_invitation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.renew_registration_invitation">[docs]</a><span class="k">def</span> <span class="nf">renew_registration_invitation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Renew an invitation (called from registration_invitations).</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">RegistrationInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="p">(</span><span class="n">invitation</span><span class="o">.</span><span class="n">invitation_type</span> <span class="o">==</span> <span class="s1">&#39;F&#39;</span>
-        <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">&#39;scipost.can_invite_Fellows&#39;</span><span class="p">)):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;You do not have the authorization to send a Fellow-type &#39;</span>
-                        <span class="s1">&#39;invitation. Consider Contributor, or cited (sub/pub). &#39;</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="n">invitation</span><span class="o">.</span><span class="n">invitation_type</span> <span class="o">==</span> <span class="s1">&#39;R&#39;</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Referee-type invitations must be made by the Editor-in-charge &#39;</span>
-                        <span class="s1">&#39;at the relevant Submission</span><span class="se">\&#39;</span><span class="s1">s Editorial Page. &#39;</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">errormessage</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-
-    <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">})</span>
-    <span class="n">Utils</span><span class="o">.</span><span class="n">send_registration_invitation_email</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:registration_invitations&#39;</span><span class="p">))</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_manage_registration_invitations&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="mark_reg_inv_as_declined"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.mark_reg_inv_as_declined">[docs]</a><span class="k">def</span> <span class="nf">mark_reg_inv_as_declined</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Mark an invitation as declined (called from registration_invitations.html).</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">RegistrationInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">responded</span> <span class="o">=</span> <span class="kc">True</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">declined</span> <span class="o">=</span> <span class="kc">True</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:registration_invitations&#39;</span><span class="p">))</span></div>
-
-
-<span class="k">def</span> <span class="nf">login_view</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">redirect_to</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;next&#39;</span><span class="p">,</span>
-                                   <span class="n">request</span><span class="o">.</span><span class="n">GET</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">&#39;next&#39;</span><span class="p">,</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">)))</span>
-    <span class="n">redirect_to</span> <span class="o">=</span> <span class="p">(</span><span class="n">redirect_to</span>
-                   <span class="k">if</span> <span class="n">is_safe_url</span><span class="p">(</span><span class="n">redirect_to</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">get_host</span><span class="p">())</span>
-                   <span class="k">else</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">))</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">username</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">[</span><span class="s1">&#39;username&#39;</span><span class="p">]</span>
-        <span class="n">password</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">[</span><span class="s1">&#39;password&#39;</span><span class="p">]</span>
-        <span class="n">user</span> <span class="o">=</span> <span class="n">authenticate</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="n">username</span><span class="p">,</span> <span class="n">password</span><span class="o">=</span><span class="n">password</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">user</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="n">is_registered</span><span class="p">(</span><span class="n">user</span><span class="p">):</span>
-            <span class="k">if</span> <span class="n">user</span><span class="o">.</span><span class="n">is_active</span><span class="p">:</span>
-                <span class="n">login</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">user</span><span class="p">)</span>
-                <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">contributor</span> <span class="p">}</span>
-                <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">redirect_to</span><span class="p">)</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/disabled_account.html&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/login_error.html&#39;</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">AuthenticationForm</span><span class="p">()</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/login.html&#39;</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;next&#39;</span><span class="p">:</span> <span class="n">redirect_to</span><span class="p">})</span>
-
-
-<span class="k">def</span> <span class="nf">logout_view</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">logout</span><span class="p">(</span><span class="n">request</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/logout.html&#39;</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">mark_unavailable_period</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">unav_form</span> <span class="o">=</span> <span class="n">UnavailabilityPeriodForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="k">if</span> <span class="n">unav_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">now</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">unav_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;start&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">unav_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;end&#39;</span><span class="p">]:</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The start date you have entered is later than the end date.&#39;</span>
-            <span class="k">elif</span> <span class="n">unav_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;end&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="n">now</span><span class="o">.</span><span class="n">date</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;You have entered an end date in the past.&#39;</span>
-            <span class="k">if</span> <span class="n">errormessage</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">unav</span> <span class="o">=</span> <span class="n">UnavailabilityPeriod</span><span class="p">(</span>
-                    <span class="n">contributor</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                    <span class="n">start</span><span class="o">=</span><span class="n">unav_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;start&#39;</span><span class="p">],</span>
-                    <span class="n">end</span><span class="o">=</span><span class="n">unav_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;end&#39;</span><span class="p">])</span>
-                <span class="n">unav</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Please enter valid dates (format: YYYY-MM-DD).&#39;</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="personal_page"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.personal_page">[docs]</a><span class="k">def</span> <span class="nf">personal_page</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    The Personal Page is the main view for accessing user functions.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">is_authenticated</span><span class="p">():</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-        <span class="c1"># Compile the unavailability periods:</span>
-        <span class="n">now</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-        <span class="n">unavailabilities</span> <span class="o">=</span> <span class="n">UnavailabilityPeriod</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">contributor</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">end__lt</span><span class="o">=</span><span class="n">now</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;start&#39;</span><span class="p">)</span>
-        <span class="n">unavailability_form</span> <span class="o">=</span> <span class="n">UnavailabilityPeriodForm</span><span class="p">()</span>
-        <span class="c1"># if an editor, count the number of actions required:</span>
-        <span class="n">nr_reg_to_vet</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">nr_reg_awaiting_validation</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">nr_submissions_to_assign</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">nr_recommendations_to_prepare_for_voting</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="k">if</span> <span class="n">is_SP_Admin</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">):</span>
-            <span class="n">intwodays</span> <span class="o">=</span> <span class="n">now</span> <span class="o">+</span> <span class="n">timezone</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
-            <span class="c1"># count the number of pending registration requests</span>
-            <span class="n">nr_reg_to_vet</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">user__is_active</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">nr_reg_awaiting_validation</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">user__is_active</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">key_expires__gte</span><span class="o">=</span><span class="n">now</span><span class="p">,</span>
-                <span class="n">key_expires__lte</span><span class="o">=</span><span class="n">intwodays</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">nr_submissions_to_assign</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;unassigned&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">nr_recommendations_to_prepare_for_voting</span> <span class="o">=</span> <span class="n">EICRecommendation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">submission__status__in</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;voting_in_preparation&#39;</span><span class="p">])</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_assignments_to_consider</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">active_assignments</span> <span class="o">=</span> <span class="kc">None</span>
-        <span class="n">nr_reports_to_vet</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="k">if</span> <span class="n">is_MEC</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">):</span>
-            <span class="n">nr_assignments_to_consider</span> <span class="o">=</span> <span class="p">(</span><span class="n">EditorialAssignment</span><span class="o">.</span><span class="n">objects</span>
-                                          <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">to</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">deprecated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                                          <span class="o">.</span><span class="n">count</span><span class="p">())</span>
-            <span class="n">active_assignments</span> <span class="o">=</span> <span class="n">EditorialAssignment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">to</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">completed</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-            <span class="n">nr_reports_to_vet</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">submission__editor_in_charge</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_commentary_page_requests_to_vet</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">nr_comments_to_vet</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">nr_thesislink_requests_to_vet</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="n">nr_authorship_claims_to_vet</span> <span class="o">=</span> <span class="mi">0</span>
-        <span class="k">if</span> <span class="n">is_VE</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">):</span>
-            <span class="n">nr_commentary_page_requests_to_vet</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">vetted</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">nr_comments_to_vet</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">nr_thesislink_requests_to_vet</span> <span class="o">=</span> <span class="n">ThesisLink</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">vetted</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">nr_authorship_claims_to_vet</span> <span class="o">=</span> <span class="n">AuthorshipClaim</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;0&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_ref_inv_to_consider</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">referee</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">cancelled</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">pending_ref_tasks</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">referee</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">fulfilled</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-        <span class="c1"># Verify if there exist objects authored by this contributor,</span>
-        <span class="c1"># whose authorship hasn&#39;t been claimed yet</span>
-        <span class="n">own_submissions</span> <span class="o">=</span> <span class="p">(</span><span class="n">Submission</span><span class="o">.</span><span class="n">objects</span>
-                           <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">],</span> <span class="n">is_current</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-                           <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">))</span>
-        <span class="n">own_commentaries</span> <span class="o">=</span> <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span>
-                            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                            <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-latest_activity&#39;</span><span class="p">))</span>
-        <span class="n">own_thesislinks</span> <span class="o">=</span> <span class="n">ThesisLink</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author_as_cont__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-        <span class="n">nr_submission_authorships_to_claim</span> <span class="o">=</span> <span class="p">(</span><span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">author_list__contains</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-                                              <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                              <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                              <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_false_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                              <span class="o">.</span><span class="n">count</span><span class="p">())</span>
-        <span class="n">nr_commentary_authorships_to_claim</span> <span class="o">=</span> <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">author_list__contains</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-                                              <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                              <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                              <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_false_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                              <span class="o">.</span><span class="n">count</span><span class="p">())</span>
-        <span class="n">nr_thesis_authorships_to_claim</span> <span class="o">=</span> <span class="p">(</span><span class="n">ThesisLink</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">author__contains</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-                                          <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">author_as_cont__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                          <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">author_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                          <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">author_false_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                          <span class="o">.</span><span class="n">count</span><span class="p">())</span>
-        <span class="n">own_comments</span> <span class="o">=</span> <span class="p">(</span><span class="n">Comment</span><span class="o">.</span><span class="n">objects</span>
-                        <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span><span class="n">is_author_reply</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                        <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">))</span>
-        <span class="n">own_authorreplies</span> <span class="o">=</span> <span class="p">(</span><span class="n">Comment</span><span class="o">.</span><span class="n">objects</span>
-                             <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span><span class="n">is_author_reply</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-                             <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">))</span>
-        <span class="n">lists_owned</span> <span class="o">=</span> <span class="n">List</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">owner</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">lists</span> <span class="o">=</span> <span class="n">List</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">teams_with_access__members__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-        <span class="n">teams_led</span> <span class="o">=</span> <span class="n">Team</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">leader</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">teams</span> <span class="o">=</span> <span class="n">Team</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">members__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-        <span class="n">graphs_owned</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">owner</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">graphs_private</span> <span class="o">=</span> <span class="n">Graph</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">Q</span><span class="p">(</span><span class="n">teams_with_access__leader</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span>
-                                              <span class="o">|</span> <span class="n">Q</span><span class="p">(</span><span class="n">teams_with_access__members__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">]))</span>
-        <span class="n">appellation</span> <span class="o">=</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">contributor</span><span class="p">,</span>
-                   <span class="s1">&#39;appellation&#39;</span><span class="p">:</span> <span class="n">appellation</span><span class="p">,</span>
-                   <span class="s1">&#39;unavailabilities&#39;</span><span class="p">:</span> <span class="n">unavailabilities</span><span class="p">,</span>
-                   <span class="s1">&#39;unavailability_form&#39;</span><span class="p">:</span> <span class="n">unavailability_form</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_reg_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_reg_to_vet</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_reg_awaiting_validation&#39;</span><span class="p">:</span> <span class="n">nr_reg_awaiting_validation</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_commentary_page_requests_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_commentary_page_requests_to_vet</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_comments_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_comments_to_vet</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_thesislink_requests_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_thesislink_requests_to_vet</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_authorship_claims_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_authorship_claims_to_vet</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_reports_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_reports_to_vet</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_submissions_to_assign&#39;</span><span class="p">:</span> <span class="n">nr_submissions_to_assign</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_recommendations_to_prepare_for_voting&#39;</span><span class="p">:</span> <span class="n">nr_recommendations_to_prepare_for_voting</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_assignments_to_consider&#39;</span><span class="p">:</span> <span class="n">nr_assignments_to_consider</span><span class="p">,</span>
-                   <span class="s1">&#39;active_assignments&#39;</span><span class="p">:</span> <span class="n">active_assignments</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_submission_authorships_to_claim&#39;</span><span class="p">:</span> <span class="n">nr_submission_authorships_to_claim</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_commentary_authorships_to_claim&#39;</span><span class="p">:</span> <span class="n">nr_commentary_authorships_to_claim</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_thesis_authorships_to_claim&#39;</span><span class="p">:</span> <span class="n">nr_thesis_authorships_to_claim</span><span class="p">,</span>
-                   <span class="s1">&#39;nr_ref_inv_to_consider&#39;</span><span class="p">:</span> <span class="n">nr_ref_inv_to_consider</span><span class="p">,</span>
-                   <span class="s1">&#39;pending_ref_tasks&#39;</span><span class="p">:</span> <span class="n">pending_ref_tasks</span><span class="p">,</span>
-                   <span class="s1">&#39;own_submissions&#39;</span><span class="p">:</span> <span class="n">own_submissions</span><span class="p">,</span>
-                   <span class="s1">&#39;own_commentaries&#39;</span><span class="p">:</span> <span class="n">own_commentaries</span><span class="p">,</span>
-                   <span class="s1">&#39;own_thesislinks&#39;</span><span class="p">:</span> <span class="n">own_thesislinks</span><span class="p">,</span>
-                   <span class="s1">&#39;own_comments&#39;</span><span class="p">:</span> <span class="n">own_comments</span><span class="p">,</span> <span class="s1">&#39;own_authorreplies&#39;</span><span class="p">:</span> <span class="n">own_authorreplies</span><span class="p">,</span>
-                   <span class="s1">&#39;lists_owned&#39;</span><span class="p">:</span> <span class="n">lists_owned</span><span class="p">,</span>
-                   <span class="s1">&#39;lists&#39;</span><span class="p">:</span> <span class="n">lists</span><span class="p">,</span>
-                   <span class="s1">&#39;teams_led&#39;</span><span class="p">:</span> <span class="n">teams_led</span><span class="p">,</span>
-                   <span class="s1">&#39;teams&#39;</span><span class="p">:</span> <span class="n">teams</span><span class="p">,</span>
-                   <span class="s1">&#39;graphs_owned&#39;</span><span class="p">:</span> <span class="n">graphs_owned</span><span class="p">,</span>
-                   <span class="s1">&#39;graphs_private&#39;</span><span class="p">:</span> <span class="n">graphs_private</span><span class="p">,</span>
-                   <span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/personal_page.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">AuthenticationForm</span><span class="p">()</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/login.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="k">def</span> <span class="nf">change_password</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">PasswordChangeForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">check_password</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;password_prev&#39;</span><span class="p">]):</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span>
-                    <span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/change_password.html&#39;</span><span class="p">,</span>
-                    <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-                     <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;The currently existing password you entered is incorrect&#39;</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;password_new&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;password_verif&#39;</span><span class="p">]:</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/change_password.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="s1">&#39;Your new password entries must match&#39;</span><span class="p">})</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">set_password</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;password_new&#39;</span><span class="p">])</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">ack</span> <span class="o">=</span> <span class="kc">True</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack&#39;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">PasswordChangeForm</span><span class="p">()</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack&#39;</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span> <span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/change_password.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">reset_password_confirm</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">uidb64</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">token</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">password_reset_confirm</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">template_name</span><span class="o">=</span><span class="s1">&#39;scipost/reset_password_confirm.html&#39;</span><span class="p">,</span>
-                                  <span class="n">uidb64</span><span class="o">=</span><span class="n">uidb64</span><span class="p">,</span> <span class="n">token</span><span class="o">=</span><span class="n">token</span><span class="p">,</span>
-                                  <span class="n">post_reset_redirect</span><span class="o">=</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:login&#39;</span><span class="p">))</span>
-
-<span class="k">def</span> <span class="nf">reset_password</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">password_reset</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">template_name</span><span class="o">=</span><span class="s1">&#39;scipost/reset_password.html&#39;</span><span class="p">,</span>
-        <span class="n">email_template_name</span><span class="o">=</span><span class="s1">&#39;scipost/reset_password_email.html&#39;</span><span class="p">,</span>
-        <span class="n">subject_template_name</span><span class="o">=</span><span class="s1">&#39;scipost/reset_password_subject.txt&#39;</span><span class="p">,</span>
-        <span class="n">post_reset_redirect</span><span class="o">=</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:login&#39;</span><span class="p">))</span>
-
-
-<span class="nd">@login_required</span>
-<span class="k">def</span> <span class="nf">update_personal_data</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">user_form</span> <span class="o">=</span> <span class="n">UpdateUserDataForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">cont_form</span> <span class="o">=</span> <span class="n">UpdatePersonalDataForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">user_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">()</span> <span class="ow">and</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span> <span class="o">=</span> <span class="n">user_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">=</span> <span class="n">user_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">=</span> <span class="n">user_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">discipline</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;discipline&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">expertises</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;expertises&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">orcid_id</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;orcid_id&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">country_of_employment</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;country_of_employment&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">address</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;address&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">affiliation</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;affiliation&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">personalwebpage</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;personalwebpage&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">accepts_SciPost_emails</span> <span class="o">=</span> <span class="n">cont_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;accepts_SciPost_emails&#39;</span><span class="p">]</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1">#return render(request, &#39;scipost/update_personal_data_ack.html&#39;)</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Your personal data has been updated.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to your &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;personal page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">user_form</span> <span class="o">=</span> <span class="n">UpdateUserDataForm</span><span class="p">(</span><span class="n">instance</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-        <span class="n">cont_form</span> <span class="o">=</span> <span class="n">UpdatePersonalDataForm</span><span class="p">(</span><span class="n">instance</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/update_personal_data.html&#39;</span><span class="p">,</span>
-                  <span class="p">{</span><span class="s1">&#39;user_form&#39;</span><span class="p">:</span> <span class="n">user_form</span><span class="p">,</span> <span class="s1">&#39;cont_form&#39;</span><span class="p">:</span> <span class="n">cont_form</span><span class="p">})</span>
-
-
-<span class="nd">@login_required</span>
-<div class="viewcode-block" id="claim_authorships"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.claim_authorships">[docs]</a><span class="k">def</span> <span class="nf">claim_authorships</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    The system auto-detects potential authorships (of submissions,</span>
-<span class="sd">    papers subject to commentaries, theses, ...).</span>
-<span class="sd">    The contributor must confirm/deny authorship from the</span>
-<span class="sd">    Personal Page.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-
-    <span class="n">submission_authorships_to_claim</span> <span class="o">=</span> <span class="p">(</span><span class="n">Submission</span><span class="o">.</span><span class="n">objects</span>
-                                       <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author_list__contains</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-                                       <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                       <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                       <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_false_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">]))</span>
-    <span class="n">sub_auth_claim_form</span> <span class="o">=</span> <span class="n">AuthorshipClaimForm</span><span class="p">()</span>
-    <span class="n">commentary_authorships_to_claim</span> <span class="o">=</span> <span class="p">(</span><span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span>
-                                       <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author_list__contains</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-                                       <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                       <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                       <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">authors_false_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">]))</span>
-    <span class="n">com_auth_claim_form</span> <span class="o">=</span> <span class="n">AuthorshipClaimForm</span><span class="p">()</span>
-    <span class="n">thesis_authorships_to_claim</span> <span class="o">=</span> <span class="p">(</span><span class="n">ThesisLink</span><span class="o">.</span><span class="n">objects</span>
-                                   <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author__contains</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">)</span>
-                                   <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">author_as_cont__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                   <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">author_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-                                   <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">author_false_claims__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">]))</span>
-    <span class="n">thesis_auth_claim_form</span> <span class="o">=</span> <span class="n">AuthorshipClaimForm</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission_authorships_to_claim&#39;</span><span class="p">:</span> <span class="n">submission_authorships_to_claim</span><span class="p">,</span>
-               <span class="s1">&#39;sub_auth_claim_form&#39;</span><span class="p">:</span> <span class="n">sub_auth_claim_form</span><span class="p">,</span>
-               <span class="s1">&#39;commentary_authorships_to_claim&#39;</span><span class="p">:</span> <span class="n">commentary_authorships_to_claim</span><span class="p">,</span>
-               <span class="s1">&#39;com_auth_claim_form&#39;</span><span class="p">:</span> <span class="n">com_auth_claim_form</span><span class="p">,</span>
-               <span class="s1">&#39;thesis_authorships_to_claim&#39;</span><span class="p">:</span> <span class="n">thesis_authorships_to_claim</span><span class="p">,</span>
-               <span class="s1">&#39;thesis_auth_claim_form&#39;</span><span class="p">:</span> <span class="n">thesis_auth_claim_form</span><span class="p">,</span>
-               <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/claim_authorships.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="k">def</span> <span class="nf">claim_sub_authorship</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">submission_id</span><span class="p">,</span> <span class="n">claim</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-        <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span><span class="n">pk</span><span class="o">=</span><span class="n">submission_id</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="n">newclaim</span> <span class="o">=</span> <span class="n">AuthorshipClaim</span><span class="p">(</span><span class="n">claimant</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">)</span>
-            <span class="n">newclaim</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">elif</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="s1">&#39;scipost:claim_authorships&#39;</span><span class="p">)</span>
-
-<span class="nd">@login_required</span>
-<span class="k">def</span> <span class="nf">claim_com_authorship</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">commentary_id</span><span class="p">,</span> <span class="n">claim</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-        <span class="n">commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span><span class="n">pk</span><span class="o">=</span><span class="n">commentary_id</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-            <span class="n">commentary</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="n">newclaim</span> <span class="o">=</span> <span class="n">AuthorshipClaim</span><span class="p">(</span><span class="n">claimant</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">commentary</span><span class="o">=</span><span class="n">commentary</span><span class="p">)</span>
-            <span class="n">newclaim</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">elif</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-            <span class="n">commentary</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">commentary</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="s1">&#39;scipost:claim_authorships&#39;</span><span class="p">)</span>
-
-<span class="nd">@login_required</span>
-<span class="k">def</span> <span class="nf">claim_thesis_authorship</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">thesis_id</span><span class="p">,</span> <span class="n">claim</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-        <span class="n">thesislink</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">ThesisLink</span><span class="p">,</span><span class="n">pk</span><span class="o">=</span><span class="n">thesis_id</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-            <span class="n">thesislink</span><span class="o">.</span><span class="n">author_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="n">newclaim</span> <span class="o">=</span> <span class="n">AuthorshipClaim</span><span class="p">(</span><span class="n">claimant</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">thesislink</span><span class="o">=</span><span class="n">thesislink</span><span class="p">)</span>
-            <span class="n">newclaim</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">elif</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-            <span class="n">thesislink</span><span class="o">.</span><span class="n">author_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">thesislink</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="s1">&#39;scipost:claim_authorships&#39;</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_vet_authorship_claims&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_authorship_claims</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">claims_to_vet</span> <span class="o">=</span> <span class="n">AuthorshipClaim</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;0&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;claims_to_vet&#39;</span><span class="p">:</span> <span class="n">claims_to_vet</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/vet_authorship_claims.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_vet_authorship_claims&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_authorship_claim</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">claim_id</span><span class="p">,</span> <span class="n">claim</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">vetting_contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-        <span class="n">claim_to_vet</span> <span class="o">=</span> <span class="n">AuthorshipClaim</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">claim_id</span><span class="p">)</span>
-
-        <span class="k">if</span> <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">submission</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span>
-            <span class="k">elif</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;-1&#39;</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">if</span> <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">commentary</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span>
-            <span class="k">elif</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;-1&#39;</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">commentary</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">if</span> <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">thesislink</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">author_claims</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">author_as_cont</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;1&#39;</span>
-            <span class="k">elif</span> <span class="n">claim</span> <span class="o">==</span> <span class="s1">&#39;0&#39;</span><span class="p">:</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">author_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">claim_to_vet</span><span class="o">.</span><span class="n">claimant</span><span class="p">)</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;-1&#39;</span>
-                <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">thesislink</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-        <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">vetted_by</span> <span class="o">=</span> <span class="n">vetting_contributor</span>
-        <span class="n">claim_to_vet</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="s1">&#39;scipost:vet_authorship_claims&#39;</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<div class="viewcode-block" id="contributor_info"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.contributor_info">[docs]</a><span class="k">def</span> <span class="nf">contributor_info</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">contributor_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Logged-in Contributors can see a digest of another</span>
-<span class="sd">    Contributor&#39;s activities/contributions by clicking</span>
-<span class="sd">    on the relevant name (in listing headers of Submissions, ...).</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-    <span class="n">contributor_publications</span> <span class="o">=</span> <span class="n">Publication</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-    <span class="n">contributor_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-    <span class="n">contributor_commentaries</span> <span class="o">=</span> <span class="n">Commentary</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">authors__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-    <span class="n">contributor_theses</span> <span class="o">=</span> <span class="n">ThesisLink</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author_as_cont__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-    <span class="n">contributor_comments</span> <span class="o">=</span> <span class="p">(</span><span class="n">Comment</span><span class="o">.</span><span class="n">objects</span>
-                            <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">is_author_reply</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-                            <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">))</span>
-    <span class="n">contributor_authorreplies</span> <span class="o">=</span> <span class="p">(</span><span class="n">Comment</span><span class="o">.</span><span class="n">objects</span>
-                                 <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">is_author_reply</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-                                 <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">))</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">contributor</span><span class="p">,</span>
-               <span class="s1">&#39;contributor_publications&#39;</span><span class="p">:</span> <span class="n">contributor_publications</span><span class="p">,</span>
-               <span class="s1">&#39;contributor_submissions&#39;</span><span class="p">:</span> <span class="n">contributor_submissions</span><span class="p">,</span>
-               <span class="s1">&#39;contributor_commentaries&#39;</span><span class="p">:</span> <span class="n">contributor_commentaries</span><span class="p">,</span>
-               <span class="s1">&#39;contributor_theses&#39;</span><span class="p">:</span> <span class="n">contributor_theses</span><span class="p">,</span>
-               <span class="s1">&#39;contributor_comments&#39;</span><span class="p">:</span> <span class="n">contributor_comments</span><span class="p">,</span>
-               <span class="s1">&#39;contributor_authorreplies&#39;</span><span class="p">:</span> <span class="n">contributor_authorreplies</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/contributor_info.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">####################</span>
-<span class="c1"># Email facilities #</span>
-<span class="c1">####################</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_email_group_members&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="email_group_members"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.email_group_members">[docs]</a><span class="k">def</span> <span class="nf">email_group_members</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Method to send bulk emails to (members of) selected groups</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">EmailGroupMembersForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="c1"># recipient_emails = []</span>
-            <span class="c1"># for member in form.cleaned_data[&#39;group&#39;].user_set.all():</span>
-            <span class="c1">#     recipient_emails.append(member.email)</span>
-            <span class="c1"># emailmessage = EmailMessage(</span>
-            <span class="c1">#     form.cleaned_data[&#39;email_subject&#39;],</span>
-            <span class="c1">#     form.cleaned_data[&#39;email_text&#39;],</span>
-            <span class="c1">#     &#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;,</span>
-            <span class="c1">#     [&#39;admin@scipost.org&#39;],</span>
-            <span class="c1">#     bcc=recipient_emails,</span>
-            <span class="c1">#     reply_to=[&#39;admin@scipost.org&#39;])</span>
-            <span class="c1"># emailmessage.send(fail_silently=False)</span>
-            <span class="c1"># with mail.get_connection() as connection:</span>
-            <span class="c1">#     for member in form.cleaned_data[&#39;group&#39;].user_set.all():</span>
-            <span class="c1">#         email_text = (&#39;Dear &#39; + title_dict[member.contributor.title] + &#39; &#39; +</span>
-            <span class="c1">#                       member.last_name + &#39;, \n\n&#39;</span>
-            <span class="c1">#                       + form.cleaned_data[&#39;email_text&#39;])</span>
-            <span class="c1">#         mail.EmailMessage(form.cleaned_data[&#39;email_subject&#39;],</span>
-            <span class="c1">#                           email_text, &#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;,</span>
-            <span class="c1">#                           [member.email], connection=connection).send()</span>
-            <span class="n">group_members</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;group&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">user_set</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-            <span class="n">p</span> <span class="o">=</span> <span class="n">Paginator</span><span class="p">(</span><span class="n">group_members</span><span class="p">,</span> <span class="mi">32</span><span class="p">)</span>
-            <span class="k">for</span> <span class="n">pagenr</span> <span class="ow">in</span> <span class="n">p</span><span class="o">.</span><span class="n">page_range</span><span class="p">:</span>
-                <span class="n">page</span> <span class="o">=</span> <span class="n">p</span><span class="o">.</span><span class="n">page</span><span class="p">(</span><span class="n">pagenr</span><span class="p">)</span>
-                <span class="k">with</span> <span class="n">mail</span><span class="o">.</span><span class="n">get_connection</span><span class="p">()</span> <span class="k">as</span> <span class="n">connection</span><span class="p">:</span>
-                    <span class="k">for</span> <span class="n">member</span> <span class="ow">in</span> <span class="n">page</span><span class="o">.</span><span class="n">object_list</span><span class="p">:</span>
-                        <span class="k">if</span> <span class="n">member</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">accepts_SciPost_emails</span><span class="p">:</span>
-                            <span class="n">email_text</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-                            <span class="n">email_text_html</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-                            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;personalize&#39;</span><span class="p">]:</span>
-                                <span class="n">email_text</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Dear &#39;</span> <span class="o">+</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">member</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                                              <span class="n">member</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;, </span><span class="se">\n\n</span><span class="s1">&#39;</span><span class="p">)</span>
-                                <span class="n">email_text_html</span> <span class="o">=</span> <span class="s1">&#39;Dear {{ title }} {{ last_name }},&lt;br/&gt;&#39;</span>
-                            <span class="n">email_text</span> <span class="o">+=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_text&#39;</span><span class="p">]</span>
-                            <span class="n">email_text_html</span> <span class="o">+=</span> <span class="s1">&#39;{{ email_text|linebreaks }}&#39;</span>
-                            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;include_scipost_summary&#39;</span><span class="p">]:</span>
-                                <span class="n">email_text</span> <span class="o">+=</span> <span class="n">SCIPOST_SUMMARY_FOOTER</span>
-                                <span class="n">email_text_html</span> <span class="o">+=</span> <span class="n">SCIPOST_SUMMARY_FOOTER_HTML</span>
-                            <span class="n">email_text_html</span> <span class="o">+=</span> <span class="n">EMAIL_FOOTER</span>
-                            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;personalize&#39;</span><span class="p">]:</span>
-                                <span class="n">email_text</span> <span class="o">+=</span> <span class="n">EMAIL_UNSUBSCRIBE_LINK_PLAIN</span>
-                                <span class="n">email_text_html</span> <span class="o">+=</span> <span class="n">EMAIL_UNSUBSCRIBE_LINK_HTML</span>
-                            <span class="n">email_context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span>
-                                <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="n">title_dict</span><span class="p">[</span><span class="n">member</span><span class="o">.</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">],</span>
-                                <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="n">member</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                                <span class="s1">&#39;email_text&#39;</span><span class="p">:</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_text&#39;</span><span class="p">],</span>
-                            <span class="p">})</span>
-                            <span class="n">html_template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">email_text_html</span><span class="p">)</span>
-                            <span class="n">html_version</span> <span class="o">=</span> <span class="n">html_template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">email_context</span><span class="p">)</span>
-                            <span class="c1"># mail.EmailMessage(form.cleaned_data[&#39;email_subject&#39;],</span>
-                            <span class="c1">#                   email_text, &#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;,</span>
-                            <span class="c1">#                   [member.email], connection=connection).send()</span>
-                            <span class="n">message</span> <span class="o">=</span> <span class="n">EmailMultiAlternatives</span><span class="p">(</span>
-                                <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_subject&#39;</span><span class="p">],</span>
-                                <span class="n">email_text</span><span class="p">,</span> <span class="s1">&#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;</span><span class="p">,</span>
-                                <span class="p">[</span><span class="n">member</span><span class="o">.</span><span class="n">email</span><span class="p">],</span> <span class="n">connection</span><span class="o">=</span><span class="n">connection</span><span class="p">)</span>
-                            <span class="n">message</span><span class="o">.</span><span class="n">attach_alternative</span><span class="p">(</span><span class="n">html_version</span><span class="p">,</span> <span class="s1">&#39;text/html&#39;</span><span class="p">)</span>
-                            <span class="n">message</span><span class="o">.</span><span class="n">send</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;The email has been sent.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to your &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;personal page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was invalidly filled.&#39;</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/email_group_members.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">EmailGroupMembersForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/email_group_members.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_email_particulars&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="email_particular"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.email_particular">[docs]</a><span class="k">def</span> <span class="nf">email_particular</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Method to send emails to individuals (registered or not)</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">EmailParticularForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">email_text</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_text&#39;</span><span class="p">]</span>
-            <span class="n">email_text_html</span> <span class="o">=</span> <span class="s1">&#39;{{ email_text|linebreaks }}&#39;</span>
-            <span class="n">email_context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;email_text&#39;</span><span class="p">:</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_text&#39;</span><span class="p">]})</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;include_scipost_summary&#39;</span><span class="p">]:</span>
-                <span class="n">email_text</span> <span class="o">+=</span> <span class="n">SCIPOST_SUMMARY_FOOTER</span>
-                <span class="n">email_text_html</span> <span class="o">+=</span> <span class="n">SCIPOST_SUMMARY_FOOTER_HTML</span>
-
-            <span class="n">email_text_html</span> <span class="o">+=</span> <span class="s1">&#39;&lt;br/&gt;&#39;</span> <span class="o">+</span> <span class="n">EMAIL_FOOTER</span>
-            <span class="n">html_template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">email_text_html</span><span class="p">)</span>
-            <span class="n">html_version</span> <span class="o">=</span> <span class="n">html_template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">email_context</span><span class="p">)</span>
-            <span class="n">message</span> <span class="o">=</span> <span class="n">EmailMultiAlternatives</span><span class="p">(</span>
-                <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_subject&#39;</span><span class="p">],</span>
-                <span class="n">email_text</span><span class="p">,</span> <span class="s1">&#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;</span><span class="p">,</span>
-                <span class="p">[</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_address&#39;</span><span class="p">]],</span>
-                <span class="n">bcc</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;admin@scipost.org&#39;</span><span class="p">])</span>
-            <span class="n">message</span><span class="o">.</span><span class="n">attach_alternative</span><span class="p">(</span><span class="n">html_version</span><span class="p">,</span> <span class="s1">&#39;text/html&#39;</span><span class="p">)</span>
-            <span class="n">message</span><span class="o">.</span><span class="n">send</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;The email has been sent.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to your &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;personal page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">EmailParticularForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/email_particular.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_email_particulars&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="send_precooked_email"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.send_precooked_email">[docs]</a><span class="k">def</span> <span class="nf">send_precooked_email</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Method to send precooked emails to individuals (registered or not)</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SendPrecookedEmailForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">precookedEmail</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_option&#39;</span><span class="p">]</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_address&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="n">precookedEmail</span><span class="o">.</span><span class="n">emailed_to</span><span class="p">:</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;This message has already been sent to this address&#39;</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span>
-                              <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-            <span class="n">precookedEmail</span><span class="o">.</span><span class="n">emailed_to</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_address&#39;</span><span class="p">])</span>
-            <span class="n">precookedEmail</span><span class="o">.</span><span class="n">date_last_used</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">date</span><span class="p">()</span>
-            <span class="n">precookedEmail</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">email_text</span> <span class="o">=</span> <span class="n">precookedEmail</span><span class="o">.</span><span class="n">email_text</span>
-            <span class="n">email_text_html</span> <span class="o">=</span> <span class="s1">&#39;{{ email_text|linebreaks }}&#39;</span>
-            <span class="n">email_context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;email_text&#39;</span><span class="p">:</span> <span class="n">precookedEmail</span><span class="o">.</span><span class="n">email_text_html</span><span class="p">})</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;include_scipost_summary&#39;</span><span class="p">]:</span>
-                <span class="n">email_text</span> <span class="o">+=</span> <span class="n">SCIPOST_SUMMARY_FOOTER</span>
-                <span class="n">email_text_html</span> <span class="o">+=</span> <span class="n">SCIPOST_SUMMARY_FOOTER_HTML</span>
-
-            <span class="n">email_text_html</span> <span class="o">+=</span> <span class="s1">&#39;&lt;br/&gt;&#39;</span> <span class="o">+</span> <span class="n">EMAIL_FOOTER</span>
-            <span class="n">html_template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">email_text_html</span><span class="p">)</span>
-            <span class="n">html_version</span> <span class="o">=</span> <span class="n">html_template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">email_context</span><span class="p">)</span>
-            <span class="n">message</span> <span class="o">=</span> <span class="n">EmailMultiAlternatives</span><span class="p">(</span>
-                <span class="n">precookedEmail</span><span class="o">.</span><span class="n">email_subject</span><span class="p">,</span>
-                <span class="c1">#email_text, &#39;SciPost Admin &lt;admin@scipost.org&gt;&#39;,</span>
-                <span class="n">email_text</span><span class="p">,</span>
-                <span class="n">SciPost_from_addresses_dict</span><span class="p">[</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;from_address&#39;</span><span class="p">]],</span>
-                <span class="p">[</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_address&#39;</span><span class="p">]],</span>
-                <span class="n">bcc</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;admin@scipost.org&#39;</span><span class="p">])</span>
-            <span class="n">message</span><span class="o">.</span><span class="n">attach_alternative</span><span class="p">(</span><span class="n">html_version</span><span class="p">,</span> <span class="s1">&#39;text/html&#39;</span><span class="p">)</span>
-            <span class="n">message</span><span class="o">.</span><span class="n">send</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;The email has been sent.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to your &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;personal page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">SendPrecookedEmailForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/send_precooked_email.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">#####################</span>
-<span class="c1"># Editorial College #</span>
-<span class="c1">#####################</span>
-
-
-<span class="k">def</span> <span class="nf">EdCol_bylaws</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/EdCol_by-laws.html&#39;</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_view_pool&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">Fellow_activity_overview</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">Fellow_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="n">Fellows</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">user__groups__name</span><span class="o">=</span><span class="s1">&#39;Editorial College&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;user__last_name&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;Fellows&#39;</span><span class="p">:</span> <span class="n">Fellows</span><span class="p">,}</span>
-    <span class="k">if</span> <span class="n">Fellow_id</span><span class="p">:</span>
-        <span class="n">Fellow</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">Fellow_id</span><span class="p">)</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;Fellow&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Fellow</span>
-        <span class="n">assignments_of_Fellow</span> <span class="o">=</span> <span class="n">EditorialAssignment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">to</span><span class="o">=</span><span class="n">Fellow</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_created&#39;</span><span class="p">)</span>
-        <span class="n">context</span><span class="p">[</span><span class="s1">&#39;assignments_of_Fellow&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">assignments_of_Fellow</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/Fellow_activity_overview.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="c1">#########</span>
-<span class="c1"># Lists #</span>
-<span class="c1">#########</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.add_list&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">create_list</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">listcreated</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="n">message</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">create_list_form</span> <span class="o">=</span> <span class="n">CreateListForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">create_list_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">newlist</span> <span class="o">=</span> <span class="n">List</span><span class="p">(</span><span class="n">owner</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                           <span class="n">title</span><span class="o">=</span><span class="n">create_list_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">],</span>
-                           <span class="n">description</span><span class="o">=</span><span class="n">create_list_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;description&#39;</span><span class="p">],</span>
-                           <span class="n">private</span><span class="o">=</span><span class="n">create_list_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;private&#39;</span><span class="p">],</span>
-                           <span class="n">created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
-            <span class="n">newlist</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">listcreated</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.change_list&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newlist</span><span class="p">)</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.view_list&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newlist</span><span class="p">)</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.delete_list&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newlist</span><span class="p">)</span>
-            <span class="n">message</span> <span class="o">=</span> <span class="s1">&#39;List &#39;</span> <span class="o">+</span> <span class="n">create_list_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; was successfully created.&#39;</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">create_list_form</span> <span class="o">=</span> <span class="n">CreateListForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;create_list_form&#39;</span><span class="p">:</span> <span class="n">create_list_form</span><span class="p">,</span> <span class="s1">&#39;listcreated&#39;</span><span class="p">:</span> <span class="n">listcreated</span><span class="p">,</span>
-               <span class="s1">&#39;message&#39;</span><span class="p">:</span> <span class="n">message</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/create_list.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;scipost.view_list&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">List</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;list_id&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">list</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">list_id</span><span class="p">):</span>
-    <span class="nb">list</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">List</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">list_id</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;list&#39;</span><span class="p">:</span> <span class="nb">list</span><span class="p">}</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">search_for_list_form</span> <span class="o">=</span> <span class="n">SearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">search_for_list_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">context</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">documentsSearchResults</span><span class="p">(</span><span class="n">search_for_list_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;query&#39;</span><span class="p">]))</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">search_for_list_form</span> <span class="o">=</span> <span class="n">SearchForm</span><span class="p">()</span>
-    <span class="n">context</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">&#39;search_for_list_form&#39;</span><span class="p">:</span> <span class="n">search_for_list_form</span><span class="p">})</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/list.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;scipost.change_list&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">List</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;list_id&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">list_add_element</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">list_id</span><span class="p">,</span> <span class="nb">type</span><span class="p">,</span> <span class="n">element_id</span><span class="p">):</span>
-    <span class="nb">list</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">List</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">list_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;C&#39;</span><span class="p">:</span>
-        <span class="n">commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">commentaries</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">commentary</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;S&#39;</span><span class="p">:</span>
-        <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">submissions</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">submission</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;T&#39;</span><span class="p">:</span>
-        <span class="n">thesislink</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">ThesisLink</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">thesislinks</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">thesislink</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;c&#39;</span><span class="p">:</span>
-        <span class="n">comment</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Comment</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">comment</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:list&#39;</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;list_id&#39;</span><span class="p">:</span> <span class="n">list_id</span><span class="p">}))</span>
-
-
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;scipost.change_list&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">List</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;list_id&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">list_remove_element</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">list_id</span><span class="p">,</span> <span class="nb">type</span><span class="p">,</span> <span class="n">element_id</span><span class="p">):</span>
-    <span class="nb">list</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">List</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">list_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;C&#39;</span><span class="p">:</span>
-        <span class="n">commentary</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Commentary</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">commentaries</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">commentary</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;S&#39;</span><span class="p">:</span>
-        <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">submissions</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">submission</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;T&#39;</span><span class="p">:</span>
-        <span class="n">thesislink</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">ThesisLink</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">thesislinks</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">thesislink</span><span class="p">)</span>
-    <span class="k">elif</span> <span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;c&#39;</span><span class="p">:</span>
-        <span class="n">comment</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Comment</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">element_id</span><span class="p">)</span>
-        <span class="nb">list</span><span class="o">.</span><span class="n">comments</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">comment</span><span class="p">)</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:list&#39;</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;list_id&#39;</span><span class="p">:</span> <span class="n">list_id</span><span class="p">}))</span>
-
-
-<span class="c1">#########</span>
-<span class="c1"># Teams #</span>
-<span class="c1">#########</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.add_team&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">create_team</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">create_team_form</span> <span class="o">=</span> <span class="n">CreateTeamForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">create_team_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">newteam</span> <span class="o">=</span> <span class="n">Team</span><span class="p">(</span><span class="n">leader</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                           <span class="n">name</span><span class="o">=</span><span class="n">create_team_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span>
-                           <span class="n">established</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
-            <span class="n">newteam</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.change_team&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newteam</span><span class="p">)</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.view_team&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newteam</span><span class="p">)</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.delete_team&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newteam</span><span class="p">)</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:add_team_member&#39;</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;team_id&#39;</span><span class="p">:</span> <span class="n">newteam</span><span class="o">.</span><span class="n">id</span><span class="p">}))</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">create_team_form</span> <span class="o">=</span> <span class="n">CreateTeamForm</span><span class="p">()</span>
-    <span class="n">add_team_member_form</span> <span class="o">=</span> <span class="n">AddTeamMemberForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;create_team_form&#39;</span><span class="p">:</span> <span class="n">create_team_form</span><span class="p">,</span>
-               <span class="s1">&#39;add_team_member_form&#39;</span><span class="p">:</span> <span class="n">add_team_member_form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/create_team.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;scipost.change_team&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">Team</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;team_id&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">add_team_member</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">team_id</span><span class="p">,</span> <span class="n">contributor_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="n">team</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Team</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">team_id</span><span class="p">)</span>
-    <span class="n">contributors_found</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="n">contributor_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-        <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-        <span class="n">team</span><span class="o">.</span><span class="n">members</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">contributor</span><span class="p">)</span>
-        <span class="n">team</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.view_team&#39;</span><span class="p">,</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">team</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:add_team_member&#39;</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;team_id&#39;</span><span class="p">:</span> <span class="n">team_id</span><span class="p">}))</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">add_team_member_form</span> <span class="o">=</span> <span class="n">AddTeamMemberForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">add_team_member_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">contributors_found</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">user__last_name__icontains</span><span class="o">=</span><span class="n">add_team_member_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">])</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">add_team_member_form</span> <span class="o">=</span> <span class="n">AddTeamMemberForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;team&#39;</span><span class="p">:</span> <span class="n">team</span><span class="p">,</span> <span class="s1">&#39;add_team_member_form&#39;</span><span class="p">:</span> <span class="n">add_team_member_form</span><span class="p">,</span>
-               <span class="s1">&#39;contributors_found&#39;</span><span class="p">:</span> <span class="n">contributors_found</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/add_team_member.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="c1">##########</span>
-<span class="c1"># Graphs #</span>
-<span class="c1">##########</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.add_graph&#39;</span><span class="p">,</span> <span class="n">return_403</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">create_graph</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">graphcreated</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="n">message</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">create_graph_form</span> <span class="o">=</span> <span class="n">CreateGraphForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">create_graph_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">newgraph</span> <span class="o">=</span> <span class="n">Graph</span><span class="p">(</span><span class="n">owner</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                             <span class="n">title</span><span class="o">=</span><span class="n">create_graph_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">],</span>
-                             <span class="n">description</span><span class="o">=</span><span class="n">create_graph_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;description&#39;</span><span class="p">],</span>
-                             <span class="n">private</span><span class="o">=</span><span class="n">create_graph_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;private&#39;</span><span class="p">],</span>
-                             <span class="n">created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
-            <span class="n">newgraph</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.change_graph&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newgraph</span><span class="p">)</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.view_graph&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newgraph</span><span class="p">)</span>
-            <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;scipost.delete_graph&#39;</span><span class="p">,</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">newgraph</span><span class="p">)</span>
-            <span class="n">graphcreated</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">message</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Graph &#39;</span> <span class="o">+</span> <span class="n">create_graph_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]</span>
-                       <span class="o">+</span> <span class="s1">&#39; was successfully created.&#39;</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">create_graph_form</span> <span class="o">=</span> <span class="n">CreateGraphForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;create_graph_form&#39;</span><span class="p">:</span> <span class="n">create_graph_form</span><span class="p">,</span> <span class="s1">&#39;graphcreated&#39;</span><span class="p">:</span> <span class="n">graphcreated</span><span class="p">,</span>
-               <span class="s1">&#39;message&#39;</span><span class="p">:</span> <span class="n">message</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/create_graph.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;scipost.view_graph&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;graph_id&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">graph</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">graph_id</span><span class="p">):</span>
-    <span class="n">graph</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">graph_id</span><span class="p">)</span>
-    <span class="n">nodes</span> <span class="o">=</span> <span class="n">Node</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">)</span>
-    <span class="n">arcs</span> <span class="o">=</span> <span class="n">Arc</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">attach_teams_form</span> <span class="o">=</span> <span class="n">ManageTeamsForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span>
-                                            <span class="n">contributor</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                                            <span class="n">initial</span><span class="o">=</span><span class="p">{</span>
-                                                <span class="s1">&#39;teams_with_access&#39;</span><span class="p">:</span> <span class="n">graph</span><span class="o">.</span><span class="n">teams_with_access</span><span class="o">.</span><span class="n">all</span><span class="p">()}</span>
-                                            <span class="p">)</span>
-        <span class="n">create_node_form</span> <span class="o">=</span> <span class="n">CreateNodeForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">create_arc_form</span> <span class="o">=</span> <span class="n">CreateArcForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span> <span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">attach_teams_form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">()</span> <span class="ow">and</span> <span class="n">attach_teams_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">graph</span><span class="o">.</span><span class="n">teams_with_access</span> <span class="o">=</span> <span class="n">attach_teams_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;teams_with_access&#39;</span><span class="p">]</span>
-            <span class="n">graph</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">elif</span> <span class="n">create_node_form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">()</span> <span class="ow">and</span> <span class="n">create_node_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">newnode</span> <span class="o">=</span> <span class="n">Node</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">,</span>
-                           <span class="n">added_by</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                           <span class="n">created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                           <span class="n">name</span><span class="o">=</span><span class="n">create_node_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">],</span>
-                           <span class="n">description</span><span class="o">=</span><span class="n">create_node_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;description&#39;</span><span class="p">])</span>
-            <span class="n">newnode</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-        <span class="k">elif</span> <span class="n">create_arc_form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">()</span> <span class="ow">and</span> <span class="n">create_arc_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">sourcenode</span> <span class="o">=</span> <span class="n">create_arc_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;source&#39;</span><span class="p">]</span>
-            <span class="n">targetnode</span> <span class="o">=</span> <span class="n">create_arc_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;target&#39;</span><span class="p">]</span>
-            <span class="k">if</span> <span class="n">sourcenode</span> <span class="o">!=</span> <span class="n">targetnode</span><span class="p">:</span>
-                <span class="n">newarc</span> <span class="o">=</span> <span class="n">Arc</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">,</span>
-                             <span class="n">added_by</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                             <span class="n">created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                             <span class="n">source</span><span class="o">=</span><span class="n">sourcenode</span><span class="p">,</span>
-                             <span class="n">target</span><span class="o">=</span><span class="n">targetnode</span><span class="p">,</span>
-                             <span class="n">length</span><span class="o">=</span><span class="n">create_arc_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;length&#39;</span><span class="p">]</span>
-                             <span class="p">)</span>
-                <span class="n">newarc</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">attach_teams_form</span> <span class="o">=</span> <span class="n">ManageTeamsForm</span><span class="p">(</span><span class="n">contributor</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                                            <span class="n">initial</span><span class="o">=</span><span class="p">{</span>
-                                                <span class="s1">&#39;teams_with_access&#39;</span><span class="p">:</span> <span class="n">graph</span><span class="o">.</span><span class="n">teams_with_access</span><span class="o">.</span><span class="n">all</span><span class="p">()}</span>
-                                            <span class="p">)</span>
-        <span class="n">create_node_form</span> <span class="o">=</span> <span class="n">CreateNodeForm</span><span class="p">()</span>
-        <span class="n">create_arc_form</span> <span class="o">=</span> <span class="n">CreateArcForm</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;graph&#39;</span><span class="p">:</span> <span class="n">graph</span><span class="p">,</span> <span class="s1">&#39;nodes&#39;</span><span class="p">:</span> <span class="n">nodes</span><span class="p">,</span>
-               <span class="s1">&#39;attach_teams_form&#39;</span><span class="p">:</span> <span class="n">attach_teams_form</span><span class="p">,</span>
-               <span class="s1">&#39;create_node_form&#39;</span><span class="p">:</span> <span class="n">create_node_form</span><span class="p">,</span>
-               <span class="s1">&#39;create_arc_form&#39;</span><span class="p">:</span> <span class="n">create_arc_form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/graph.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">edit_graph_node</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">node_id</span><span class="p">):</span>
-    <span class="n">node</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Node</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">node_id</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">&#39;scipost.change_graph&#39;</span><span class="p">,</span> <span class="n">node</span><span class="o">.</span><span class="n">graph</span><span class="p">):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;You do not have permission to edit this graph.&#39;</span>
-    <span class="k">elif</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">edit_node_form</span> <span class="o">=</span> <span class="n">CreateNodeForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span> <span class="n">instance</span><span class="o">=</span><span class="n">node</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">edit_node_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="o">=</span><span class="n">edit_node_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-            <span class="n">node</span><span class="o">.</span><span class="n">description</span><span class="o">=</span><span class="n">edit_node_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;description&#39;</span><span class="p">]</span>
-            <span class="n">node</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">create_node_form</span> <span class="o">=</span> <span class="n">CreateNodeForm</span><span class="p">()</span>
-            <span class="n">create_arc_form</span> <span class="o">=</span> <span class="n">CreateArcForm</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">node</span><span class="o">.</span><span class="n">graph</span><span class="p">)</span>
-            <span class="n">context</span> <span class="o">=</span>  <span class="p">{</span><span class="s1">&#39;create_node_form&#39;</span><span class="p">:</span> <span class="n">create_node_form</span><span class="p">,</span>
-                        <span class="s1">&#39;create_arc_form&#39;</span><span class="p">:</span> <span class="n">create_arc_form</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:graph&#39;</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;graph_id&#39;</span><span class="p">:</span> <span class="n">node</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">id</span><span class="p">}),</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">edit_node_form</span> <span class="o">=</span> <span class="n">CreateNodeForm</span><span class="p">(</span><span class="n">instance</span><span class="o">=</span><span class="n">node</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;graph&#39;</span><span class="p">:</span> <span class="n">graph</span><span class="p">,</span> <span class="s1">&#39;node&#39;</span><span class="p">:</span> <span class="n">node</span><span class="p">,</span> <span class="s1">&#39;edit_node_form&#39;</span><span class="p">:</span> <span class="n">edit_node_form</span><span class="p">,</span>
-               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/edit_graph_node.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">delete_graph_node</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">node_id</span><span class="p">):</span>
-    <span class="n">node</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Node</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">node_id</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">&#39;scipost.change_graph&#39;</span><span class="p">,</span> <span class="n">node</span><span class="o">.</span><span class="n">graph</span><span class="p">):</span>
-        <span class="k">raise</span> <span class="n">PermissionDenied</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="c1"># Remove all the graph arcs</span>
-        <span class="n">Arc</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">source</span><span class="o">=</span><span class="n">node</span><span class="p">)</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-        <span class="n">Arc</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">target</span><span class="o">=</span><span class="n">node</span><span class="p">)</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-        <span class="c1"># Delete node itself</span>
-        <span class="n">node</span><span class="o">.</span><span class="n">delete</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:graph&#39;</span><span class="p">,</span> <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;graph_id&#39;</span><span class="p">:</span> <span class="n">node</span><span class="o">.</span><span class="n">graph</span><span class="o">.</span><span class="n">id</span><span class="p">}))</span>
-
-
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;scipost.view_graph&#39;</span><span class="p">,</span> <span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;graph_id&#39;</span><span class="p">))</span>
-<div class="viewcode-block" id="api_graph"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#scipost.views.api_graph">[docs]</a><span class="k">def</span> <span class="nf">api_graph</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">graph_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Produce JSON data to plot graph &quot;&quot;&quot;</span>
-    <span class="n">graph</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Graph</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">graph_id</span><span class="p">)</span>
-    <span class="n">nodes</span> <span class="o">=</span> <span class="n">Node</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">)</span>
-    <span class="n">arcs</span> <span class="o">=</span> <span class="n">Arc</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">graph</span><span class="o">=</span><span class="n">graph</span><span class="p">)</span>
-    <span class="n">nodesjson</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="n">arcsjson</span> <span class="o">=</span> <span class="p">[]</span>
-    <span class="k">for</span> <span class="n">node</span> <span class="ow">in</span> <span class="n">nodes</span><span class="p">:</span>
-        <span class="n">nodesjson</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="n">node</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="n">node</span><span class="o">.</span><span class="n">id</span><span class="p">})</span>
-<span class="c1">#        for origin in node.arcs_in.all():</span>
-<span class="c1">#            links.append({&#39;source&#39;: origin.name, &#39;source_id&#39;: origin.id,</span>
-<span class="c1">#                          &#39;target&#39;: node.name, &#39;target_id&#39;: node.id})</span>
-    <span class="k">for</span> <span class="n">arc</span> <span class="ow">in</span> <span class="n">arcs</span><span class="p">:</span>
-        <span class="n">arcsjson</span><span class="o">.</span><span class="n">append</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="n">arc</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
-                         <span class="s1">&#39;source&#39;</span><span class="p">:</span> <span class="n">arc</span><span class="o">.</span><span class="n">source</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">&#39;source_id&#39;</span><span class="p">:</span> <span class="n">arc</span><span class="o">.</span><span class="n">source</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
-                         <span class="s1">&#39;target&#39;</span><span class="p">:</span> <span class="n">arc</span><span class="o">.</span><span class="n">target</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="s1">&#39;target_id&#39;</span><span class="p">:</span> <span class="n">arc</span><span class="o">.</span><span class="n">target</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
-                         <span class="s1">&#39;length&#39;</span><span class="p">:</span> <span class="n">arc</span><span class="o">.</span><span class="n">length</span><span class="p">})</span>
-    <span class="k">return</span> <span class="n">JsonResponse</span><span class="p">({</span><span class="s1">&#39;nodes&#39;</span><span class="p">:</span> <span class="n">nodesjson</span><span class="p">,</span> <span class="s1">&#39;arcs&#39;</span><span class="p">:</span> <span class="n">arcsjson</span><span class="p">},</span> <span class="n">safe</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></div>
-
-
-
-<span class="c1">#############################</span>
-<span class="c1"># Supporting Partners Board #</span>
-<span class="c1">#############################</span>
-
-<span class="k">def</span> <span class="nf">supporting_partners</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/supporting_partners.html&#39;</span><span class="p">)</span>
-
-<span class="nd">@login_required</span>
-<span class="k">def</span> <span class="nf">SPB_membership_request</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">SP_form</span> <span class="o">=</span> <span class="n">SupportingPartnerForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">membership_form</span> <span class="o">=</span> <span class="n">SPBMembershipForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">SP_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">()</span> <span class="ow">and</span> <span class="n">membership_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">partner</span> <span class="o">=</span> <span class="n">SupportingPartner</span><span class="p">(</span>
-                <span class="n">partner_type</span><span class="o">=</span><span class="n">SP_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;partner_type&#39;</span><span class="p">],</span>
-                <span class="n">status</span><span class="o">=</span><span class="s1">&#39;Prospective&#39;</span><span class="p">,</span>
-                <span class="n">institution</span><span class="o">=</span><span class="n">SP_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;institution&#39;</span><span class="p">],</span>
-                <span class="n">institution_acronym</span><span class="o">=</span><span class="n">SP_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;institution_acronym&#39;</span><span class="p">],</span>
-                <span class="n">institution_address</span><span class="o">=</span><span class="n">SP_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;institution_address&#39;</span><span class="p">],</span>
-                <span class="n">contact_person</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-            <span class="p">)</span>
-            <span class="n">partner</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">agreement</span> <span class="o">=</span> <span class="n">SPBMembershipAgreement</span><span class="p">(</span>
-                <span class="n">partner</span><span class="o">=</span><span class="n">partner</span><span class="p">,</span>
-                <span class="n">status</span><span class="o">=</span><span class="s1">&#39;Submitted&#39;</span><span class="p">,</span>
-                <span class="n">date_requested</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">date</span><span class="p">(),</span>
-                <span class="n">start_date</span><span class="o">=</span><span class="n">membership_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;start_date&#39;</span><span class="p">],</span>
-                <span class="n">duration</span><span class="o">=</span><span class="n">membership_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;duration&#39;</span><span class="p">],</span>
-                <span class="n">offered_yearly_contribution</span><span class="o">=</span><span class="n">membership_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;offered_yearly_contribution&#39;</span><span class="p">],</span>
-            <span class="p">)</span>
-            <span class="n">agreement</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">ack_message</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Thank you for your SPB Membership request. &#39;</span>
-                           <span class="s1">&#39;We will get back to you in the very near future &#39;</span>
-                           <span class="s1">&#39;with details of the proposed agreement.&#39;</span><span class="p">)</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="n">ack_message</span><span class="p">,}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The form was not filled properly.&#39;</span>
-
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">SP_form</span> <span class="o">=</span> <span class="n">SupportingPartnerForm</span><span class="p">()</span>
-        <span class="n">membership_form</span> <span class="o">=</span> <span class="n">SPBMembershipForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span>
-               <span class="s1">&#39;SP_form&#39;</span><span class="p">:</span> <span class="n">SP_form</span><span class="p">,</span>
-               <span class="s1">&#39;membership_form&#39;</span><span class="p">:</span> <span class="n">membership_form</span><span class="p">,}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/SPB_membership_request.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/submissions/models.html b/docs/_build/html/_modules/submissions/models.html
deleted file mode 100644
index a74808397a7504e543fded4d4b94302f73e2da0c..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/submissions/models.html
+++ /dev/null
@@ -1,1041 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>submissions.models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>submissions.models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for submissions.models</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.utils.safestring</span> <span class="k">import</span> <span class="n">mark_safe</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">models</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span>
-<span class="kn">from</span> <span class="nn">django.contrib.postgres.fields</span> <span class="k">import</span> <span class="n">ArrayField</span><span class="p">,</span> <span class="n">JSONField</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Template</span><span class="p">,</span> <span class="n">Context</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">ChoiceArrayField</span><span class="p">,</span> <span class="n">Contributor</span><span class="p">,</span> <span class="n">title_dict</span><span class="p">,</span> <span class="n">Remark</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">SCIPOST_SUBJECT_AREAS</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">subject_areas_dict</span><span class="p">,</span> <span class="n">TITLE_CHOICES</span>
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">SCIPOST_JOURNALS_SUBMIT</span><span class="p">,</span> <span class="n">SCIPOST_JOURNALS_DOMAINS</span>
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">SCIPOST_JOURNALS_SPECIALIZATIONS</span>
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">journals_submit_dict</span><span class="p">,</span> <span class="n">journals_domains_dict</span><span class="p">,</span> <span class="n">journals_spec_dict</span>
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">Publication</span>
-
-
-<span class="c1">###############</span>
-<span class="c1"># Submissions:</span>
-<span class="c1">###############</span>
-
-<span class="n">SUBMISSION_STATUS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;unassigned&#39;</span><span class="p">,</span> <span class="s1">&#39;Unassigned, undergoing pre-screening&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;assignment_failed&#39;</span><span class="p">,</span> <span class="s1">&#39;Failed to assign Editor-in-charge; manuscript rejected&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;EICassigned&#39;</span><span class="p">,</span> <span class="s1">&#39;Editor-in-charge assigned, manuscript under review&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;review_closed&#39;</span><span class="p">,</span> <span class="s1">&#39;Review period closed, editorial recommendation pending&#39;</span><span class="p">),</span>
-    <span class="c1"># If revisions required: resubmission creates a new Submission object</span>
-    <span class="p">(</span><span class="s1">&#39;revision_requested&#39;</span><span class="p">,</span> <span class="s1">&#39;Editor-in-charge has requested revision&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;resubmitted&#39;</span><span class="p">,</span> <span class="s1">&#39;Has been resubmitted&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;resubmitted_and_rejected&#39;</span><span class="p">,</span> <span class="s1">&#39;Has been resubmitted and subsequently rejected&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;resubmitted_and_rejected_visible&#39;</span><span class="p">,</span>
-     <span class="s1">&#39;Has been resubmitted and subsequently rejected (still publicly visible)&#39;</span><span class="p">),</span>
-    <span class="c1"># If acceptance/rejection:</span>
-    <span class="p">(</span><span class="s1">&#39;voting_in_preparation&#39;</span><span class="p">,</span> <span class="s1">&#39;Voting in preparation (eligible Fellows being selected)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;put_to_EC_voting&#39;</span><span class="p">,</span> <span class="s1">&#39;Undergoing voting at the Editorial College&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;EC_vote_completed&#39;</span><span class="p">,</span> <span class="s1">&#39;Editorial College voting rounded up&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;accepted&#39;</span><span class="p">,</span> <span class="s1">&#39;Publication decision taken: accept&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;rejected&#39;</span><span class="p">,</span> <span class="s1">&#39;Publication decision taken: reject&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;rejected_visible&#39;</span><span class="p">,</span> <span class="s1">&#39;Publication decision taken: reject (still publicly visible)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;published&#39;</span><span class="p">,</span> <span class="s1">&#39;Published&#39;</span><span class="p">),</span>
-    <span class="c1"># If withdrawn:</span>
-    <span class="p">(</span><span class="s1">&#39;withdrawn&#39;</span><span class="p">,</span> <span class="s1">&#39;Withdrawn by the Authors&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">submission_status_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SUBMISSION_STATUS</span><span class="p">)</span>
-
-<span class="n">SUBMISSION_STATUS_OUT_OF_POOL</span> <span class="o">=</span> <span class="p">[</span>
-    <span class="s1">&#39;assignment_failed&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;resubmitted&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;published&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;withdrawn&#39;</span><span class="p">,</span>
-<span class="p">]</span>
-
-<span class="c1"># Submissions which should not appear in search lists</span>
-<span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span> <span class="o">=</span> <span class="p">[</span>
-    <span class="s1">&#39;unassigned&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;assignment_failed&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;resubmitted&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;resubmitted_rejected&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;resubmitted_rejected_visible&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;rejected&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;published&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;withdrawn&#39;</span><span class="p">,</span>
-<span class="p">]</span>
-
-<span class="c1"># Submissions which should not be viewable (except by admins, Fellows and authors)</span>
-<span class="n">SUBMISSION_STATUS_PUBLICLY_INVISIBLE</span> <span class="o">=</span> <span class="p">[</span>
-    <span class="s1">&#39;unassigned&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;assignment_failed&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;resubmitted_rejected&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;rejected&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;published&#39;</span><span class="p">,</span>
-    <span class="s1">&#39;withdrawn&#39;</span><span class="p">,</span>
-<span class="p">]</span>
-
-
-<span class="c1"># SUBMISSION_ACTION_REQUIRED = (</span>
-<span class="c1">#     (&#39;assign_EIC&#39;, &#39;Editor-in-charge to be assigned&#39;),</span>
-<span class="c1"># #    (&#39;Fellow_accepts_or_refuse_assignment&#39;, &#39;Fellow must accept or refuse assignment&#39;),</span>
-<span class="c1">#     (&#39;EIC_runs_refereeing_round&#39;, &#39;Editor-in-charge to run refereeing round (inviting referees)&#39;),</span>
-<span class="c1">#     (&#39;EIC_closes_refereeing_round&#39;, &#39;Editor-in-charge to close refereeing round&#39;),</span>
-<span class="c1">#     (&#39;EIC_invites_author_response&#39;, &#39;Editor-in-charge invites authors to complete their replies&#39;),</span>
-<span class="c1">#     (&#39;EIC_formulates_editorial_recommendation&#39;,</span>
-<span class="c1">#      &#39;Editor-in-charge to formulate editorial recommendation&#39;),</span>
-<span class="c1">#     (&#39;EC_ratification&#39;, &#39;Editorial College ratifies editorial recommendation&#39;),</span>
-<span class="c1">#     (&#39;Decision_to_authors&#39;, &#39;Editor-in-charge forwards decision to authors&#39;),</span>
-<span class="c1">#     )</span>
-
-<span class="n">SUBMISSION_TYPE</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;Letter&#39;</span><span class="p">,</span> <span class="s1">&#39;Letter (broad-interest breakthrough results)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Article&#39;</span><span class="p">,</span> <span class="s1">&#39;Article (in-depth reports on specialized research)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Review&#39;</span><span class="p">,</span> <span class="s1">&#39;Review (candid snapshot of current research in a given area)&#39;</span><span class="p">),</span>
-<span class="p">)</span>
-<span class="n">submission_type_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">SUBMISSION_TYPE</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="Submission"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.Submission">[docs]</a><span class="k">class</span> <span class="nc">Submission</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">is_current</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">is_resubmission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">submitted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">editor_in_charge</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;EIC&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                         <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">submitted_to_journal</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_JOURNALS_SUBMIT</span><span class="p">,</span>
-                                            <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;Journal to be submitted to&quot;</span><span class="p">)</span>
-    <span class="n">submission_type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SUBMISSION_TYPE</span><span class="p">,</span>
-                                       <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="n">discipline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;physics&#39;</span><span class="p">)</span>
-    <span class="n">domain</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">)</span>
-<span class="c1">#    specialization = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_SPECIALIZATIONS)</span>
-    <span class="n">subject_area</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span>
-                                    <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;Primary subject area&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;Phys:QP&#39;</span><span class="p">)</span>
-    <span class="n">secondary_areas</span> <span class="o">=</span> <span class="n">ChoiceArrayField</span><span class="p">(</span>
-        <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">),</span>
-        <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SUBMISSION_STATUS</span><span class="p">)</span> <span class="c1"># set by Editors</span>
-    <span class="n">author_comments</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">list_of_changes</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">referees_suggested</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">referees_flagged</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">open_for_reporting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">reporting_deadline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">open_for_commenting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
-    <span class="n">author_list</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;author list&quot;</span><span class="p">)</span>
-    <span class="c1"># Authors which have been mapped to contributors:</span>
-    <span class="n">authors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_sub&#39;</span><span class="p">)</span>
-    <span class="n">authors_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                             <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_sub_claims&#39;</span><span class="p">)</span>
-    <span class="n">authors_false_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                   <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_sub_false_claims&#39;</span><span class="p">)</span>
-    <span class="n">abstract</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">arxiv_identifier_w_vn_nr</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;0000.00000v0&#39;</span><span class="p">)</span>
-    <span class="n">arxiv_identifier_wo_vn_nr</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;0000.00000&#39;</span><span class="p">)</span>
-    <span class="n">arxiv_vn_nr</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-    <span class="n">arxiv_link</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">URLField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;arXiv link (including version nr)&#39;</span><span class="p">)</span>
-    <span class="n">metadata</span> <span class="o">=</span> <span class="n">JSONField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="p">{},</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">submission_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;submission date&#39;</span><span class="p">)</span>
-    <span class="n">latest_activity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">class</span> <span class="nc">Meta</span><span class="p">:</span>
-        <span class="n">permissions</span> <span class="o">=</span> <span class="p">(</span>
-            <span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="s1">&#39;Can take editorial actions&#39;</span><span class="p">),</span>
-            <span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span>
-                  <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">30</span><span class="p">])</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_current</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (current version)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (deprecated version &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">arxiv_vn_nr</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (published as &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication</span><span class="o">.</span><span class="n">citation</span><span class="p">()</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span>
-        <span class="k">except</span> <span class="n">Publication</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-            <span class="k">pass</span>
-        <span class="k">return</span> <span class="n">header</span>
-
-    <span class="nd">@property</span>
-    <span class="k">def</span> <span class="nf">reporting_deadline_has_passed</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">if</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">reporting_deadline</span><span class="p">:</span>
-            <span class="k">return</span> <span class="kc">True</span>
-        <span class="k">return</span> <span class="kc">False</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_table</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for Submission page</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="s1">&#39;&lt;table&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Title: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ title }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Author(s): &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ author_list }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;As Contributors: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;td&gt;&#39;</span>
-            <span class="k">for</span> <span class="n">auth</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/contributor/&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">auth</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;&gt;&#39;</span> <span class="o">+</span> <span class="n">auth</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span>
-                           <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">auth</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&#39;</span><span class="p">)</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/td&gt;&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;td&gt;(none claimed)&lt;/td&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;arxiv Link: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;&lt;a href=&quot;{{ arxiv_link }}&quot; target=&quot;_blank&quot;&gt;{{ arxiv_link }}&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Date submitted: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ submission_date }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Submitted by: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ submitted_by }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Submitted to: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ to_journal }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Domain(s): &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ domain }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-<span class="c1">#                   &#39;&lt;tr&gt;&lt;td&gt;Specialization: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ spec }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Subject area: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ subject_area }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/table&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_link&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_link</span><span class="p">,</span> <span class="s1">&#39;submission_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission_date</span><span class="p">,</span>
-                           <span class="s1">&#39;submitted_by&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submitted_by</span><span class="p">,</span>
-                           <span class="s1">&#39;to_journal&#39;</span><span class="p">:</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">],</span>
-                           <span class="s1">&#39;domain&#39;</span><span class="p">:</span> <span class="n">journals_domains_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">domain</span><span class="p">],</span>
-<span class="c1">#                           &#39;spec&#39;: journals_spec_dict[self.specialization],</span>
-                           <span class="s1">&#39;subject_area&#39;</span><span class="p">:</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">subject_area</span><span class="p">],</span>
-                       <span class="p">})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for search lists</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Version {{ arxiv_vn_nr }}&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_current</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (current version)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (deprecated version {{ arxiv_vn_nr }})&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/p&gt;&lt;p&gt; Submitted {{ submission_date }} to {{ to_journal }}&#39;</span>
-                   <span class="s1">&#39; - latest activity: {{ latest_activity }}&lt;/p&gt;&#39;</span>
-                   <span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;submission_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission_date</span><span class="p">,</span>
-                           <span class="s1">&#39;to_journal&#39;</span><span class="p">:</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">],</span>
-                           <span class="s1">&#39;latest_activity&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">latest_activity</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li_for_authors</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># includes status specification</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Version {{ arxiv_vn_nr }}&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_current</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (current version)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (deprecated version {{ arxiv_vn_nr }})&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/p&gt;&lt;p&gt;Submitted {{ submission_date }} to {{ to_journal }}&#39;</span>
-                   <span class="s1">&#39; - latest activity: {{ latest_activity }}&lt;/p&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;p&gt;Status: {{ status }}&lt;/p&gt;&#39;</span>
-                   <span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;submission_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission_date</span><span class="p">,</span>
-                           <span class="s1">&#39;to_journal&#39;</span><span class="p">:</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">],</span>
-                           <span class="s1">&#39;latest_activity&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">latest_activity</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;status&#39;</span><span class="p">:</span> <span class="n">submission_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">status</span><span class="p">]})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">refereeing_status_as_p</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">nr_ref_invited</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_ref_accepted</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_ref_declined</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_invited_reports_in</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-                                                      <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_contrib_reports_in</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span>
-                                                      <span class="n">status</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_reports_awaiting_vetting</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">nr_reports_refused</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">status__lte</span><span class="o">=-</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;p&gt;Nr referees invited: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_invited</span><span class="p">)</span> <span class="o">+</span>
-                  <span class="s1">&#39; [&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_accepted</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; accepted/ &#39;</span> <span class="o">+</span>
-                  <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_declined</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; declined/ &#39;</span> <span class="o">+</span>
-                  <span class="nb">str</span><span class="p">(</span><span class="n">nr_ref_invited</span> <span class="o">-</span> <span class="n">nr_ref_accepted</span> <span class="o">-</span> <span class="n">nr_ref_declined</span><span class="p">)</span> <span class="o">+</span>
-                  <span class="s1">&#39; response pending]&lt;/p&gt;&#39;</span> <span class="o">+</span>
-                  <span class="s1">&#39;&lt;p&gt;Nr reports obtained: &#39;</span> <span class="o">+</span>
-                  <span class="nb">str</span><span class="p">(</span><span class="n">nr_invited_reports_in</span> <span class="o">+</span> <span class="n">nr_contrib_reports_in</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; [&#39;</span> <span class="o">+</span>
-                  <span class="nb">str</span><span class="p">(</span><span class="n">nr_invited_reports_in</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39; invited/ &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_contrib_reports_in</span><span class="p">)</span> <span class="o">+</span>
-                  <span class="s1">&#39; contributed], nr refused: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_reports_refused</span><span class="p">)</span> <span class="o">+</span>
-                  <span class="s1">&#39;, nr awaiting vetting: &#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">nr_reports_awaiting_vetting</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li_for_Fellows</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for submissions pool</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Version {{ arxiv_vn_nr }}&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_current</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (current version)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (deprecated version {{ arxiv_vn_nr }})&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/p&gt;&lt;p&gt; Submitted {{ submission_date }} to {{ to_journal }}&#39;</span>
-                  <span class="s1">&#39; - latest activity: {{ latest_activity }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;unassigned&#39;</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;p style=&quot;color: red&quot;&gt;Status: {{ status }}.&#39;</span>
-                       <span class="s1">&#39; You can volunteer to become Editor-in-charge by &#39;</span>
-                       <span class="s1">&#39;&lt;a href=&quot;/submissions/volunteer_as_EIC/{{ arxiv_identifier_w_vn_nr }}&quot;&gt;&#39;</span>
-                       <span class="s1">&#39;clicking here&lt;/a&gt;.&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;p&gt;Editor-in-charge: {{ EIC }}&lt;/p&gt;&lt;p&gt;Status: {{ status }}&lt;/p&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">refereeing_status_as_p</span><span class="p">()</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;submission_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission_date</span><span class="p">,</span>
-                           <span class="s1">&#39;to_journal&#39;</span><span class="p">:</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">],</span>
-                           <span class="s1">&#39;latest_activity&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">latest_activity</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;EIC&#39;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="p">),</span>
-                           <span class="s1">&#39;status&#39;</span><span class="p">:</span> <span class="n">submission_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">status</span><span class="p">]})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">simple_header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for Lists</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Version {{ arxiv_vn_nr }}&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_current</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (current version)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (deprecated version {{ arxiv_vn_nr }})&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/p&gt;&#39;</span>
-                   <span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_list</span><span class="p">})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">version_info_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for listing all versions of a Submission</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;version {{ arxiv_vn_nr }}&lt;/a&gt;&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_current</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (current version)&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; (deprecated version {{ arxiv_vn_nr }})&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/p&gt;&#39;</span>
-                   <span class="c1">#&#39;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">arxiv_vn_nr</span><span class="p">,})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">status_info_as_table</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="s1">&#39;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Current status: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ status }}&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;status&#39;</span><span class="p">:</span> <span class="n">submission_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">status</span><span class="p">],})</span>
-        <span class="k">try</span><span class="p">:</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;citation&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">publication</span><span class="o">.</span><span class="n">citation_for_web_linked</span><span class="p">()</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39; as {{ citation }}&#39;</span>
-        <span class="k">except</span> <span class="n">Publication</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-            <span class="k">pass</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-
-<span class="c1">######################</span>
-<span class="c1"># Editorial workflow #</span>
-<span class="c1">######################</span>
-
-<span class="n">ASSIGNMENT_BOOL</span> <span class="o">=</span> <span class="p">((</span><span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;Accept&#39;</span><span class="p">),</span> <span class="p">(</span><span class="kc">False</span><span class="p">,</span> <span class="s1">&#39;Decline&#39;</span><span class="p">))</span>
-<span class="n">ASSIGNMENT_NULLBOOL</span> <span class="o">=</span> <span class="p">((</span><span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;Response pending&#39;</span><span class="p">),</span> <span class="p">(</span><span class="kc">True</span><span class="p">,</span> <span class="s1">&#39;Accept&#39;</span><span class="p">),</span> <span class="p">(</span><span class="kc">False</span><span class="p">,</span> <span class="s1">&#39;Decline&#39;</span><span class="p">))</span>
-
-<span class="n">ASSIGNMENT_REFUSAL_REASONS</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;BUS&#39;</span><span class="p">,</span> <span class="s1">&#39;Too busy&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;VAC&#39;</span><span class="p">,</span> <span class="s1">&#39;Away on vacation&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;COI&#39;</span><span class="p">,</span> <span class="s1">&#39;Conflict of interest: coauthor in last 5 years&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;CCC&#39;</span><span class="p">,</span> <span class="s1">&#39;Conflict of interest: close colleague&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;NIR&#39;</span><span class="p">,</span> <span class="s1">&#39;Cannot give an impartial assessment&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;NIE&#39;</span><span class="p">,</span> <span class="s1">&#39;Not interested enough&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;DNP&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost should not even consider this paper&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">assignment_refusal_reasons_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">ASSIGNMENT_REFUSAL_REASONS</span><span class="p">)</span>
-
-<div class="viewcode-block" id="EditorialAssignment"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.EditorialAssignment">[docs]</a><span class="k">class</span> <span class="nc">EditorialAssignment</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">to</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">accepted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">NullBooleanField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">ASSIGNMENT_NULLBOOL</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="c1"># attribute `deprecated&#39; becomes True if another Fellow becomes Editor-in-charge</span>
-    <span class="n">deprecated</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">completed</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">refusal_reason</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">ASSIGNMENT_REFUSAL_REASONS</span><span class="p">,</span>
-                                      <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">date_created</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">date_answered</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39; to become EIC of &#39;</span> <span class="o">+</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span>
-                <span class="s1">&#39;, requested on &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_created</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">))</span>
-
-    <span class="k">def</span> <span class="nf">info_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                           <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">to</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                           <span class="s1">&#39;date_created&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_created</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)})</span>
-        <span class="n">info</span> <span class="o">=</span> <span class="s1">&#39;&lt;li&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted</span><span class="p">:</span>
-            <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39; style=&quot;color: green&quot;&#39;</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">deprecated</span><span class="p">:</span>
-            <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39; style=&quot;color: purple&quot;&#39;</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted</span> <span class="o">==</span> <span class="kc">False</span><span class="p">:</span>
-            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">refusal_reason</span> <span class="o">==</span> <span class="s1">&#39;NIE&#39;</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">refusal_reason</span> <span class="o">==</span> <span class="s1">&#39;DNP&#39;</span><span class="p">:</span>
-                <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39; style=&quot;color: #CC0000&quot;&#39;</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39; style=&quot;color: #FF7700&quot;&#39;</span>
-        <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39;&gt;{{ first_name }} {{ last_name }}, requested {{ date_created }}&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted</span><span class="p">:</span>
-            <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39;, accepted {{ date_answered }}&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_answered&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_answered</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">deprecated</span><span class="p">:</span>
-            <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39;, deprecated&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">refusal_reason</span><span class="p">:</span>
-            <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39;, declined {{ date_answered }}, reason: {{ reason }}&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_answered&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_answered</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;reason&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">assignment_refusal_reasons_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">refusal_reason</span><span class="p">]</span>
-        <span class="n">info</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">info</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">header_as_li_for_eic</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt; (submitted {{ date }} to {{ to_journal }})&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Status: {{ status }}&lt;/p&gt;&lt;p&gt;Manage this Submission from its &#39;</span>
-                  <span class="s1">&#39;&lt;a href=&quot;/submissions/editorial_page/{{ arxiv_identifier_w_vn_nr }}&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;Editorial Page&lt;/a&gt;.&#39;</span>
-                  <span class="s1">&#39;&lt;/p&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">submission_date</span><span class="p">,</span>
-                           <span class="s1">&#39;to_journal&#39;</span><span class="p">:</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">],</span>
-                           <span class="s1">&#39;status&#39;</span><span class="p">:</span> <span class="n">submission_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="p">]})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-<div class="viewcode-block" id="EditorialAssignment.header_as_li"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.EditorialAssignment.header_as_li">[docs]</a>    <span class="k">def</span> <span class="nf">header_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="sd">&quot;&quot;&quot; Same as above, but without link to Editorial Page. &quot;&quot;&quot;</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&lt;a href=&quot;/submission/{{ arxiv_identifier_w_vn_nr }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;by {{ author_list }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt; (submitted {{ date }} to {{ to_journal }})&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Status: {{ status }}&lt;/p&gt;&#39;</span>
-                  <span class="c1">#&#39;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-              <span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span>
-                           <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                           <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">,</span>
-                           <span class="s1">&#39;date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">submission_date</span><span class="p">,</span>
-                           <span class="s1">&#39;to_journal&#39;</span><span class="p">:</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">],</span>
-                           <span class="s1">&#39;status&#39;</span><span class="p">:</span> <span class="n">submission_status_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="p">]})</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div></div>
-
-
-<div class="viewcode-block" id="RefereeInvitation"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.RefereeInvitation">[docs]</a><span class="k">class</span> <span class="nc">RefereeInvitation</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">referee</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;referee&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">TITLE_CHOICES</span><span class="p">)</span>
-    <span class="n">first_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">last_name</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">30</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">email_address</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">EmailField</span><span class="p">()</span>
-    <span class="c1"># if Contributor not found, person is invited to register</span>
-    <span class="n">invitation_key</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">date_invited</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">invited_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;referee_invited_by&#39;</span><span class="p">,</span>
-                                   <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">nr_reminders</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">date_last_reminded</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">accepted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">NullBooleanField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">ASSIGNMENT_NULLBOOL</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-    <span class="n">date_responded</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">refusal_reason</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">ASSIGNMENT_REFUSAL_REASONS</span><span class="p">,</span>
-                                      <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">fulfilled</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="c1"># True if a Report has been submitted</span>
-    <span class="n">cancelled</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="c1"># True if EIC has deactivated invitation</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39; to referee &#39;</span> <span class="o">+</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span>
-                <span class="s1">&#39;, invited on &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_invited</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1">&#39;</span><span class="p">))</span>
-
-    <span class="c1"># def summary_as_li(self):</span>
-    <span class="c1">#     context = Context({&#39;first_name&#39;: self.first_name, &#39;last_name&#39;: self.last_name,</span>
-    <span class="c1">#                        &#39;date_invited&#39;: self.date_invited.strftime(&#39;%Y-%m-%d %H:%M&#39;)})</span>
-    <span class="c1">#     output = &#39;&lt;li&gt;{{ first_name }} {{ last_name }}, invited {{ date_invited }}, &#39;</span>
-    <span class="c1">#     if self.accepted is not None:</span>
-    <span class="c1">#         if self.accepted:</span>
-    <span class="c1">#             output += &#39;&lt;strong style=&quot;color: green&quot;&gt;task accepted&lt;/strong&gt; &#39;</span>
-    <span class="c1">#         else:</span>
-    <span class="c1">#             output += &#39;&lt;strong style=&quot;color: red&quot;&gt;task declined&lt;/strong&gt; &#39;</span>
-    <span class="c1">#         output += &#39;{{ date_responded }}&#39;</span>
-    <span class="c1">#         context[&#39;date_responded&#39;] = self.date_responded.strftime(&#39;%Y-%m-%d %H:%M&#39;)</span>
-    <span class="c1">#     else:</span>
-    <span class="c1">#         output += &#39;response pending&#39;</span>
-    <span class="c1">#     if self.fulfilled:</span>
-    <span class="c1">#         output += &#39;; Report has been delivered&#39;</span>
-    <span class="c1">#     template = Template(output)</span>
-    <span class="c1">#     return template.render(context)</span>
-
-    <span class="k">def</span> <span class="nf">summary_as_tds</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span> <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                           <span class="s1">&#39;date_invited&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_invited</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;td&gt;{{ first_name }} {{ last_name }}&lt;/td&gt;&lt;td&gt;invited &lt;br/&gt;&#39;</span>
-                  <span class="s1">&#39;{{ date_invited }}&lt;/td&gt;&lt;td&gt;&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">cancelled</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;strong style=&quot;color: red;&quot;&gt;cancelled&lt;/strong&gt;&#39;</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">accepted</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;strong style=&quot;color: green&quot;&gt;task accepted&lt;/strong&gt; &#39;</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;strong style=&quot;color: red&quot;&gt;task declined&lt;/strong&gt; &#39;</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;br/&gt;{{ date_responded }}&#39;</span>
-            <span class="n">context</span><span class="p">[</span><span class="s1">&#39;date_responded&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_responded</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;response pending&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">fulfilled</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;br/&gt;&lt;strong style=&quot;color: green&quot;&gt;task fulfilled&lt;/strong&gt;&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;/td&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">###########</span>
-<span class="c1"># Reports:</span>
-<span class="c1">###########</span>
-
-<span class="n">REFEREE_QUALIFICATION</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="s1">&#39;expert in this subject&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;very knowledgeable in this subject&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;knowledgeable in this subject&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;generally qualified&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;not qualified&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">ref_qualif_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">REFEREE_QUALIFICATION</span><span class="p">)</span>
-
-<span class="n">QUALITY_SPEC</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="s1">&#39;perfect&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="s1">&#39;excellent&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="s1">&#39;good&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;reasonable&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;acceptable&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;below threshold&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;mediocre&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">quality_spec_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">QUALITY_SPEC</span><span class="p">)</span>
-
-
-<span class="n">RANKING_CHOICES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="mi">101</span><span class="p">,</span> <span class="s1">&#39;-&#39;</span><span class="p">),</span> <span class="c1"># Only values between 0 and 100 are kept, anything outside those limits is discarded.</span>
-    <span class="p">(</span><span class="mi">100</span><span class="p">,</span> <span class="s1">&#39;top&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">80</span><span class="p">,</span> <span class="s1">&#39;high&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">60</span><span class="p">,</span> <span class="s1">&#39;good&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="s1">&#39;ok&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="s1">&#39;low&#39;</span><span class="p">),</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="s1">&#39;poor&#39;</span><span class="p">)</span>
-    <span class="p">)</span>
-<span class="n">ranking_choices_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">RANKING_CHOICES</span><span class="p">)</span>
-
-<span class="n">REPORT_REC</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;Publish as Tier I (top 10</span><span class="si">% o</span><span class="s1">f papers in this journal, qualifies as Select) NOTE: SELECT NOT YET OPEN, STARTS EARLY 2017&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;Publish as Tier II (top 50</span><span class="si">% o</span><span class="s1">f papers in this journal)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;Publish as Tier III (meets the criteria of this journal)&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s1">&#39;Ask for minor revision&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">,</span> <span class="s1">&#39;Ask for major revision&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;Reject&#39;</span><span class="p">)</span>
-    <span class="p">)</span>
-<span class="n">report_rec_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">REPORT_REC</span><span class="p">)</span>
-
-<div class="viewcode-block" id="Report"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.Report">[docs]</a><span class="k">class</span> <span class="nc">Report</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; Both types of reports, invited or contributed. &quot;&quot;&quot;</span>
-    <span class="c1"># status: see forms.py:REPORT_REFUSAL_CHOICES</span>
-    <span class="c1"># 1: vetted</span>
-    <span class="c1"># 0: unvetted</span>
-    <span class="c1"># -1: rejected (unclear)</span>
-    <span class="c1"># -2: rejected (incorrect)</span>
-    <span class="c1"># -3: rejected (not useful)</span>
-    <span class="c1"># -4: rejected (not academic in style)</span>
-    <span class="n">status</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">vetted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s2">&quot;report_vetted_by&quot;</span><span class="p">,</span>
-                                  <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="c1"># `invited&#39; filled from RefereeInvitation objects at moment of report submission</span>
-    <span class="n">invited</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="c1"># `flagged&#39; if author of report has been flagged by submission authors (surname check only)</span>
-    <span class="n">flagged</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="s1">&#39;date submitted&#39;</span><span class="p">)</span>
-    <span class="n">author</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">qualification</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span>
-        <span class="n">choices</span><span class="o">=</span><span class="n">REFEREE_QUALIFICATION</span><span class="p">,</span>
-        <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;Qualification to referee this: I am &quot;</span><span class="p">)</span>
-    <span class="c1"># Text-based reporting</span>
-    <span class="n">strengths</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">weaknesses</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">report</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-    <span class="n">requested_changes</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;requested changes&quot;</span><span class="p">)</span>
-    <span class="c1"># Qualities:</span>
-    <span class="n">validity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span>
-    <span class="n">significance</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span>
-    <span class="n">originality</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span>
-    <span class="n">clarity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">PositiveSmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">RANKING_CHOICES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mi">101</span><span class="p">)</span>
-    <span class="n">formatting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">QUALITY_SPEC</span><span class="p">,</span>
-                                          <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;Quality of paper formatting&quot;</span><span class="p">)</span>
-    <span class="n">grammar</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">QUALITY_SPEC</span><span class="p">,</span>
-                                       <span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;Quality of English grammar&quot;</span><span class="p">)</span>
-    <span class="c1">#</span>
-    <span class="n">recommendation</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">REPORT_REC</span><span class="p">)</span>
-    <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                           <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;optional remarks for the Editors only&#39;</span><span class="p">)</span>
-    <span class="n">anonymous</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;Publish anonymously&#39;</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39; on &#39;</span> <span class="o">+</span>
-                <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">50</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">50</span><span class="p">])</span>
-
-    <span class="k">def</span> <span class="nf">print_identifier</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;author_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
-                           <span class="s1">&#39;first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                           <span class="s1">&#39;last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                           <span class="s1">&#39;date_submitted&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;reportid&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;h3&gt;&lt;a id=&quot;report_id{{ id }}&quot;&gt;&lt;/a&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;Anonymous Report {{ id }}&#39;</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;a href=&quot;/contributor/{{ author_id }}&quot;&gt;{{ first_name }} {{ last_name }}&lt;/a&gt;&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; on {{ date_submitted }}&lt;/h3&gt;&lt;/div&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">print_contents</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;strengths&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">strengths</span><span class="p">,</span> <span class="s1">&#39;weaknesses&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">weaknesses</span><span class="p">,</span>
-                           <span class="s1">&#39;report&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">report</span><span class="p">,</span> <span class="s1">&#39;requested_changes&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">requested_changes</span><span class="p">})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;div class=&quot;row&quot;&gt;&lt;div class=&quot;col-2&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Strengths:&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;col-10&quot;&gt;&lt;p&gt;{{ strengths }}&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;row&quot;&gt;&lt;div class=&quot;col-2&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Weaknesses:&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;col-10&quot;&gt;&lt;p&gt;{{ weaknesses }}&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;row&quot;&gt;&lt;div class=&quot;col-2&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Report:&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;col-10&quot;&gt;&lt;p&gt;{{ report }}&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;row&quot;&gt;&lt;div class=&quot;col-2&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Requested changes:&lt;/p&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;col-10&quot;&gt;&lt;p&gt;{{ requested_changes }}&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;reportRatings&quot;&gt;&lt;ul&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;validity: &#39;</span> <span class="o">+</span> <span class="n">ranking_choices_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">validity</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;significance: &#39;</span> <span class="o">+</span> <span class="n">ranking_choices_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">significance</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;originality: &#39;</span> <span class="o">+</span> <span class="n">ranking_choices_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">originality</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;clarity: &#39;</span> <span class="o">+</span> <span class="n">ranking_choices_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">clarity</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;formatting: &#39;</span> <span class="o">+</span> <span class="n">quality_spec_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">formatting</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;li&gt;grammar: &#39;</span> <span class="o">+</span> <span class="n">quality_spec_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">grammar</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/li&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;/ul&gt;&lt;/div&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">print_contents_for_editors</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;author_id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">id</span><span class="p">,</span>
-                           <span class="s1">&#39;author_first_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                           <span class="s1">&#39;author_last_name&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                           <span class="s1">&#39;date_submitted&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">),</span>
-                           <span class="s1">&#39;remarks_for_editors&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">remarks_for_editors</span><span class="p">,</span>
-                       <span class="p">})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;div class=&quot;reportid&quot;&gt;</span><span class="se">\n</span><span class="s1">&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;h3&gt;&lt;a id=&quot;report_id{{ id }}&quot;&gt;&lt;/a&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">anonymous</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;(chose public anonymity) &#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;a href=&quot;/contributor/{{ author_id }}&quot;&gt;&#39;</span>
-                   <span class="s1">&#39;{{ author_first_name }} {{ author_last_name }}&lt;/a&gt;&#39;</span>
-                   <span class="s1">&#39; on {{ date_submitted }}&lt;/h3&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;div class=&quot;row&quot;&gt;&lt;div class=&quot;col-2&quot;&gt;Qualification:&lt;/p&gt;&lt;/div&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;div class=&quot;col-10&quot;&gt;&lt;p&gt;&#39;</span>
-                   <span class="o">+</span> <span class="n">ref_qualif_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">qualification</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#39;</span><span class="p">)</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">print_contents</span><span class="p">()</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;h3&gt;Remarks for editors&lt;/h3&gt;&lt;p&gt;{{ remarks_for_editors }}&lt;/p&gt;&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;&lt;h3&gt;Recommendation: &#39;</span> <span class="o">+</span> <span class="n">report_rec_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">recommendation</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/h3&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="c1">##########################</span>
-<span class="c1"># EditorialCommunication #</span>
-<span class="c1">##########################</span>
-
-<span class="n">ED_COMM_CHOICES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;EtoA&#39;</span><span class="p">,</span> <span class="s1">&#39;Editor-in-charge to Author&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;EtoR&#39;</span><span class="p">,</span> <span class="s1">&#39;Editor-in-charge to Referee&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;EtoS&#39;</span><span class="p">,</span> <span class="s1">&#39;Editor-in-charge to SciPost Editorial Administration&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;AtoE&#39;</span><span class="p">,</span> <span class="s1">&#39;Author to Editor-in-charge&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;RtoE&#39;</span><span class="p">,</span> <span class="s1">&#39;Referee to Editor-in-Charge&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;StoE&#39;</span><span class="p">,</span> <span class="s1">&#39;SciPost Editorial Administration to Editor-in-charge&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">ed_comm_choices_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">ED_COMM_CHOICES</span><span class="p">)</span>
-
-<div class="viewcode-block" id="EditorialCommunication"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.EditorialCommunication">[docs]</a><span class="k">class</span> <span class="nc">EditorialCommunication</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Each individual communication between Editor-in-charge</span>
-<span class="sd">    to and from Referees and Authors becomes an instance of this class.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">referee</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;referee_in_correspondence&#39;</span><span class="p">,</span>
-                                <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">comtype</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">ED_COMM_CHOICES</span><span class="p">)</span>
-    <span class="n">timestamp</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">text</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39; for submission &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span>
-                   <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">30</span><span class="p">])</span>
-        <span class="k">return</span> <span class="n">output</span>
-
-    <span class="k">def</span> <span class="nf">print_contents_as_li</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;timestamp&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">timestamp</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2"> %H:%M&quot;</span><span class="p">),</span>
-                           <span class="s1">&#39;text&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">text</span><span class="p">})</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="s1">&#39;&lt;li&gt;&lt;p&gt;&#39;</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;EtoA&#39;</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;From you to Authors&#39;</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;EtoR&#39;</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;From you to Referee &#39;</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span>
-            <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
-                <span class="k">pass</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;EtoS&#39;</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;From you to SciPost Ed Admin&#39;</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;AtoE&#39;</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;From Authors to you&#39;</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;RtoE&#39;</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;From Referee &#39;</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">output</span> <span class="o">+=</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                           <span class="bp">self</span><span class="o">.</span><span class="n">referee</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39; to you&#39;</span><span class="p">)</span>
-            <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
-                <span class="k">pass</span>
-        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;StoE&#39;</span><span class="p">:</span>
-            <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39;From SciPost Ed Admin to you&#39;</span>
-        <span class="n">output</span> <span class="o">+=</span> <span class="s1">&#39; on {{ timestamp }}&lt;/p&gt;&lt;p&gt;{{ text }}&lt;/p&gt;&#39;</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-
-
-
-<span class="c1">############################</span>
-<span class="c1"># Editorial Recommendation #</span>
-<span class="c1">############################</span>
-
-<span class="c1"># From the Editor-in-charge of a Submission</span>
-<div class="viewcode-block" id="EICRecommendation"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#submissions.models.EICRecommendation">[docs]</a><span class="k">class</span> <span class="nc">EICRecommendation</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="s1">&#39;date submitted&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-    <span class="n">remarks_for_authors</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">requested_changes</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s2">&quot;requested changes&quot;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">remarks_for_editorial_college</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span>
-        <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-        <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;optional remarks for the Editorial College&#39;</span><span class="p">)</span>
-    <span class="n">recommendation</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">SmallIntegerField</span><span class="p">(</span><span class="n">choices</span><span class="o">=</span><span class="n">REPORT_REC</span><span class="p">)</span>
-    <span class="c1"># Editorial Fellows who have assessed this recommendation:</span>
-    <span class="n">eligible_to_vote</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                               <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;eligible_to_vote&#39;</span><span class="p">)</span>
-    <span class="n">voted_for</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;voted_for&#39;</span><span class="p">)</span>
-    <span class="n">voted_against</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;voted_against&#39;</span><span class="p">)</span>
-    <span class="n">voted_abstain</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;voted_abstain&#39;</span><span class="p">)</span>
-    <span class="n">voting_deadline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="s1">&#39;date submitted&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">title</span><span class="p">[:</span><span class="mi">20</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; by &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">[:</span><span class="mi">30</span><span class="p">]</span> <span class="o">+</span>
-                <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="n">report_rec_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">recommendation</span><span class="p">])</span>
-
-    <span class="nd">@property</span>
-    <span class="k">def</span> <span class="nf">nr_for</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">voted_for</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="nd">@property</span>
-    <span class="k">def</span> <span class="nf">nr_against</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">voted_against</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="nd">@property</span>
-    <span class="k">def</span> <span class="nf">nr_abstained</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">voted_abstain</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-
-    <span class="k">def</span> <span class="nf">print_for_authors</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;h3&gt;Date: {{ date_submitted }}&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Remarks for authors&lt;/h3&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;p&gt;{{ remarks_for_authors }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Requested changes&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;{{ requested_changes }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Recommendation&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;{{ recommendation }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;date_submitted&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">),</span>
-                           <span class="s1">&#39;remarks_for_authors&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">remarks_for_authors</span><span class="p">,</span>
-                           <span class="s1">&#39;requested_changes&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">requested_changes</span><span class="p">,</span>
-                           <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">report_rec_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">recommendation</span><span class="p">],})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">print_for_Fellows</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">output</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;h3&gt;By {{ Fellow }}, formulated on {{ date_submitted }}&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Remarks for authors&lt;/h3&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;p&gt;{{ remarks_for_authors }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Requested changes&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;{{ requested_changes }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Remarks for Editorial College&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;{{ remarks_for_editorial_college }}&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;h3&gt;Recommendation&lt;/h3&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;{{ recommendation }}&lt;/p&gt;&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span>
-            <span class="s1">&#39;Fellow&#39;</span><span class="p">:</span> <span class="p">(</span><span class="n">title_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span>
-                       <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span>
-                       <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">),</span>
-            <span class="s1">&#39;date_submitted&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">date_submitted</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">),</span>
-            <span class="s1">&#39;remarks_for_authors&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">remarks_for_authors</span><span class="p">,</span>
-            <span class="s1">&#39;requested_changes&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">requested_changes</span><span class="p">,</span>
-            <span class="s1">&#39;remarks_for_editorial_college&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">remarks_for_editorial_college</span><span class="p">,</span>
-            <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">report_rec_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">recommendation</span><span class="p">],})</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/submissions/views.html b/docs/_build/html/_modules/submissions/views.html
deleted file mode 100644
index 306f8386348b3ce677de5eafa440f180dfe758c1..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/submissions/views.html
+++ /dev/null
@@ -1,1490 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>submissions.views &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>submissions.views</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for submissions.views</h1><div class="highlight"><pre>
-<span></span><span class="kn">import</span> <span class="nn">datetime</span>
-<span class="kn">import</span> <span class="nn">feedparser</span>
-<span class="kn">import</span> <span class="nn">re</span>
-<span class="kn">import</span> <span class="nn">requests</span>
-<span class="kn">import</span> <span class="nn">sys</span>
-
-<span class="kn">from</span> <span class="nn">django.contrib.auth</span> <span class="k">import</span> <span class="n">authenticate</span><span class="p">,</span> <span class="n">login</span><span class="p">,</span> <span class="n">logout</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.decorators</span> <span class="k">import</span> <span class="n">login_required</span><span class="p">,</span> <span class="n">permission_required</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span><span class="p">,</span> <span class="n">Group</span><span class="p">,</span> <span class="n">Permission</span>
-<span class="kn">from</span> <span class="nn">django.core.exceptions</span> <span class="k">import</span> <span class="n">PermissionDenied</span>
-<span class="kn">from</span> <span class="nn">django.core.mail</span> <span class="k">import</span> <span class="n">EmailMessage</span>
-<span class="kn">from</span> <span class="nn">django.core.urlresolvers</span> <span class="k">import</span> <span class="n">reverse</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">transaction</span>
-<span class="kn">from</span> <span class="nn">django.db.models</span> <span class="k">import</span> <span class="n">Avg</span>
-<span class="kn">from</span> <span class="nn">django.http</span> <span class="k">import</span> <span class="n">HttpResponse</span><span class="p">,</span> <span class="n">HttpResponseRedirect</span>
-<span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="k">import</span> <span class="n">get_object_or_404</span><span class="p">,</span> <span class="n">render</span><span class="p">,</span> <span class="n">redirect</span>
-<span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.utils.safestring</span> <span class="k">import</span> <span class="n">mark_safe</span>
-<span class="kn">from</span> <span class="nn">django.views.decorators.csrf</span> <span class="k">import</span> <span class="n">csrf_protect</span>
-
-<span class="kn">from</span> <span class="nn">guardian.decorators</span> <span class="k">import</span> <span class="n">permission_required_or_403</span>
-<span class="kn">from</span> <span class="nn">guardian.shortcuts</span> <span class="k">import</span> <span class="n">assign_perm</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">.forms</span> <span class="k">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">.utils</span> <span class="k">import</span> <span class="n">SubmissionUtils</span>
-
-<span class="kn">from</span> <span class="nn">comments.models</span> <span class="k">import</span> <span class="n">Comment</span>
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="n">journals_submit_dict</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="n">Contributor</span><span class="p">,</span> <span class="n">title_dict</span><span class="p">,</span> <span class="n">Remark</span><span class="p">,</span> <span class="n">RegistrationInvitation</span>
-
-<span class="kn">from</span> <span class="nn">scipost.utils</span> <span class="k">import</span> <span class="n">Utils</span>
-
-<span class="kn">from</span> <span class="nn">comments.forms</span> <span class="k">import</span> <span class="n">CommentForm</span>
-
-
-
-<span class="c1">###############</span>
-<span class="c1"># SUBMISSIONS:</span>
-<span class="c1">###############</span>
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_submit_manuscript&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">prefill_using_identifier</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s2">&quot;POST&quot;</span><span class="p">:</span>
-        <span class="n">identifierform</span> <span class="o">=</span> <span class="n">SubmissionIdentifierForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="c1"># we allow 1 or 2 digits for version</span>
-            <span class="n">identifierpattern</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="s2">&quot;^[0-9]{4,}.[0-9]{4,5}v[0-9]{1,2}$&quot;</span><span class="p">)</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">identifierpattern</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">]):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;The identifier you entered is improperly formatted &#39;</span>
-                                <span class="s1">&#39;(did you forget the version number?)&#39;</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">Submission</span><span class="o">.</span><span class="n">objects</span>
-                  <span class="c1">#.filter(arxiv_link__contains=identifierform.cleaned_data[&#39;identifier&#39;])</span>
-                  <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])</span>
-                  <span class="o">.</span><span class="n">exists</span><span class="p">()):</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;This preprint version has already been submitted to SciPost.&#39;</span>
-            <span class="k">if</span> <span class="n">errormessage</span> <span class="o">!=</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionForm</span><span class="p">()</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_manuscript.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-                               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-            <span class="c1"># Otherwise we query arXiv for the information:</span>
-            <span class="n">identifier_without_vn_nr</span> <span class="o">=</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">rpartition</span><span class="p">(</span><span class="s1">&#39;v&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
-            <span class="n">arxiv_vn_nr</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">rpartition</span><span class="p">(</span><span class="s1">&#39;v&#39;</span><span class="p">)[</span><span class="mi">2</span><span class="p">])</span>
-            <span class="n">is_resubmission</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="n">resubmessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-            <span class="n">previous_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">identifier_without_vn_nr</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-arxiv_vn_nr&#39;</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">previous_submissions</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
-                <span class="k">if</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;rejected&#39;</span><span class="p">,</span> <span class="s1">&#39;rejected_visible&#39;</span><span class="p">,]:</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;p&gt;This arXiv preprint has previously undergone refereeing &#39;</span>
-                                    <span class="s1">&#39;and has been rejected. Resubmission is only possible &#39;</span>
-                                    <span class="s1">&#39;if the manuscript has been substantially reworked into &#39;</span>
-                                    <span class="s1">&#39;a new arXiv submission with distinct identifier.&lt;/p&gt;&#39;</span><span class="p">)</span>
-                    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span>
-                                  <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">errormessage</span><span class="p">)})</span>
-                <span class="c1"># If the Editorial Recommendation hasn&#39;t been formulated, ask to wait</span>
-                <span class="k">if</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="s1">&#39;revision_requested&#39;</span><span class="p">:</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;p&gt;There exists a preprint with this arXiv identifier &#39;</span>
-                                    <span class="s1">&#39;but an earlier version number, which is still undergoing &#39;</span>
-                                    <span class="s1">&#39;peer refereeing.&lt;/p&gt;&#39;</span>
-                                    <span class="s1">&#39;&lt;p&gt;A resubmission can only be performed after request &#39;</span>
-                                    <span class="s1">&#39;from the Editor-in-charge. Please wait until the &#39;</span>
-                                    <span class="s1">&#39;closing of the previous refereeing round and &#39;</span>
-                                    <span class="s1">&#39;formulation of the Editorial Recommendation &#39;</span>
-                                    <span class="s1">&#39;before proceeding with a resubmission.&lt;/p&gt;&#39;</span><span class="p">)</span>
-                    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span>
-                                  <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">mark_safe</span><span class="p">(</span><span class="n">errormessage</span><span class="p">)})</span>
-                <span class="n">is_resubmission</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">resubmessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;There already exists a preprint with this arXiv identifier &#39;</span>
-                                <span class="s1">&#39;but a different version number. </span><span class="se">\n</span><span class="s1">Your Submission will be &#39;</span>
-                                <span class="s1">&#39;handled as a resubmission.&#39;</span><span class="p">)</span>
-            <span class="k">try</span><span class="p">:</span>
-                <span class="n">queryurl</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;http://export.arxiv.org/api/query?id_list=</span><span class="si">%s</span><span class="s1">&#39;</span>
-                            <span class="o">%</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">])</span>
-                <span class="n">arxivquery</span> <span class="o">=</span> <span class="n">feedparser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">queryurl</span><span class="p">)</span>
-                <span class="c1"># Flag error if preprint doesn&#39;t exist</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">test</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;title&#39;</span><span class="p">]</span>
-                <span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;A preprint associated to this identifier does not exist.&#39;</span>
-                <span class="k">except</span><span class="p">:</span>
-                    <span class="k">pass</span>
-                <span class="c1"># If paper has been published, should comment on published version</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">arxiv_journal_ref</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;arxiv_journal_ref&#39;</span><span class="p">]</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This paper has been published as &#39;</span> <span class="o">+</span> <span class="n">arxiv_journal_ref</span> <span class="o">+</span>
-                                    <span class="s1">&#39;. You cannot submit it to SciPost anymore.&#39;</span><span class="p">)</span>
-                <span class="k">except</span><span class="p">:</span>
-                    <span class="k">pass</span>
-                <span class="k">try</span><span class="p">:</span>
-                    <span class="n">arxiv_doi</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;arxiv_doi&#39;</span><span class="p">]</span>
-                    <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This paper has been published under DOI &#39;</span> <span class="o">+</span> <span class="n">arxiv_DOI</span>
-                                    <span class="o">+</span> <span class="s1">&#39;. You cannot submit it to SciPost anymore.&#39;</span><span class="p">)</span>
-                <span class="k">except</span><span class="p">:</span>
-                    <span class="k">pass</span>
-                <span class="k">if</span> <span class="n">errormessage</span> <span class="o">!=</span> <span class="s1">&#39;&#39;</span><span class="p">:</span>
-                    <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionForm</span><span class="p">()</span>
-                    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-                               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-                    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_manuscript.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-                <span class="c1"># otherwise prefill the form:</span>
-                <span class="c1"># metadata = arxivquery</span>
-                <span class="c1"># title = arxivquery[&#39;entries&#39;][0][&#39;title&#39;]</span>
-                <span class="c1"># authorlist = arxivquery[&#39;entries&#39;][0][&#39;authors&#39;][0][&#39;name&#39;]</span>
-                <span class="c1"># for author in arxivquery[&#39;entries&#39;][0][&#39;authors&#39;][1:]:</span>
-                <span class="c1">#     authorlist += &#39;, &#39; + author[&#39;name&#39;]</span>
-                <span class="c1"># arxiv_link = arxivquery[&#39;entries&#39;][0][&#39;id&#39;]</span>
-                <span class="c1"># abstract = arxivquery[&#39;entries&#39;][0][&#39;summary&#39;]</span>
-                <span class="c1"># form = SubmissionForm(</span>
-                <span class="c1">#     initial={&#39;is_resubmission&#39;: is_resubmission,</span>
-                <span class="c1">#              &#39;metadata&#39;: metadata,</span>
-                <span class="c1">#              &#39;title&#39;: title, &#39;author_list&#39;: authorlist,</span>
-                <span class="c1">#              &#39;arxiv_identifier_w_vn_nr&#39;: identifierform.cleaned_data[&#39;identifier&#39;],</span>
-                <span class="c1">#              &#39;arxiv_identifier_wo_vn_nr&#39;: identifier_without_vn_nr,</span>
-                <span class="c1">#              &#39;arxiv_vn_nr&#39;: arxiv_vn_nr,</span>
-                <span class="c1">#              &#39;arxiv_link&#39;: arxiv_link, &#39;abstract&#39;: abstract})</span>
-                <span class="n">metadata</span> <span class="o">=</span> <span class="n">arxivquery</span>
-                <span class="n">title</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;title&#39;</span><span class="p">]</span>
-                <span class="n">authorlist</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:]:</span>
-                    <span class="n">authorlist</span> <span class="o">+=</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-                <span class="n">arxiv_link</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;id&#39;</span><span class="p">]</span>
-                <span class="n">abstract</span> <span class="o">=</span> <span class="n">arxivquery</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;summary&#39;</span><span class="p">]</span>
-                <span class="n">initialdata</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;is_resubmission&#39;</span><span class="p">:</span> <span class="n">is_resubmission</span><span class="p">,</span>
-                             <span class="s1">&#39;metadata&#39;</span><span class="p">:</span> <span class="n">metadata</span><span class="p">,</span>
-                             <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author_list&#39;</span><span class="p">:</span> <span class="n">authorlist</span><span class="p">,</span>
-                             <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;identifier&#39;</span><span class="p">],</span>
-                             <span class="s1">&#39;arxiv_identifier_wo_vn_nr&#39;</span><span class="p">:</span> <span class="n">identifier_without_vn_nr</span><span class="p">,</span>
-                             <span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_vn_nr</span><span class="p">,</span>
-                             <span class="s1">&#39;arxiv_link&#39;</span><span class="p">:</span> <span class="n">arxiv_link</span><span class="p">,</span> <span class="s1">&#39;abstract&#39;</span><span class="p">:</span> <span class="n">abstract</span><span class="p">}</span>
-                <span class="k">if</span> <span class="n">is_resubmission</span><span class="p">:</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;submitted_to_journal&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">submitted_to_journal</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;submission_type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">submission_type</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;discipline&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">discipline</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;domain&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">domain</span>
-<span class="c1">#                    initialdata[&#39;specialization&#39;] = previous_submissions[0].specialization</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;subject_area&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">subject_area</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;secondary_areas&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">secondary_areas</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;referees_suggested&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">referees_suggested</span>
-                    <span class="n">initialdata</span><span class="p">[</span><span class="s1">&#39;referees_flagged&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">referees_flagged</span>
-                <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionForm</span><span class="p">(</span><span class="n">initial</span><span class="o">=</span><span class="n">initialdata</span><span class="p">)</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                           <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-                           <span class="s1">&#39;resubmessage&#39;</span><span class="p">:</span> <span class="n">resubmessage</span><span class="p">}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_manuscript.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-            <span class="k">except</span><span class="p">:</span>
-                <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Unexpected error in prefill_using_identifier:&quot;</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">()[</span><span class="mi">0</span><span class="p">])</span>
-                <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span>
-                           <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">SubmissionForm</span><span class="p">(),</span>
-                           <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,}</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_manuscript.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="k">pass</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:submit_manuscript&#39;</span><span class="p">))</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_submit_manuscript&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">submit_manuscript</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">submitted_by</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-            <span class="c1"># Verify if submitter is among the authors</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">submitted_by</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="ow">in</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;author_list&#39;</span><span class="p">]:</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;Your name does not match that of any of the authors. &#39;</span>
-                                <span class="s1">&#39;You are not authorized to submit this preprint.&#39;</span><span class="p">)</span>
-                <span class="n">identifierform</span> <span class="o">=</span> <span class="n">SubmissionIdentifierForm</span><span class="p">()</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_manuscript.html&#39;</span><span class="p">,</span>
-                              <span class="p">{</span><span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-                               <span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-            <span class="n">submission</span> <span class="o">=</span> <span class="n">Submission</span> <span class="p">(</span>
-                <span class="n">is_current</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
-                <span class="n">is_resubmission</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_resubmission&#39;</span><span class="p">],</span>
-                <span class="n">submitted_by</span> <span class="o">=</span> <span class="n">submitted_by</span><span class="p">,</span>
-                <span class="n">submitted_to_journal</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;submitted_to_journal&#39;</span><span class="p">],</span>
-                <span class="n">submission_type</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;submission_type&#39;</span><span class="p">],</span>
-                <span class="n">discipline</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;discipline&#39;</span><span class="p">],</span>
-                <span class="n">domain</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;domain&#39;</span><span class="p">],</span>
-<span class="c1">#                specialization = form.cleaned_data[&#39;specialization&#39;],</span>
-                <span class="n">subject_area</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;subject_area&#39;</span><span class="p">],</span>
-                <span class="n">secondary_areas</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;secondary_areas&#39;</span><span class="p">],</span>
-                <span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;unassigned&#39;</span><span class="p">,</span>
-                <span class="n">title</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">],</span>
-                <span class="n">author_list</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;author_list&#39;</span><span class="p">],</span>
-                <span class="n">abstract</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;abstract&#39;</span><span class="p">],</span>
-                <span class="n">arxiv_identifier_w_vn_nr</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">],</span>
-                <span class="n">arxiv_identifier_wo_vn_nr</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier_wo_vn_nr&#39;</span><span class="p">],</span>
-                <span class="n">arxiv_vn_nr</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_vn_nr&#39;</span><span class="p">],</span>
-                <span class="n">arxiv_link</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_link&#39;</span><span class="p">],</span>
-                <span class="n">metadata</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;metadata&#39;</span><span class="p">],</span>
-                <span class="n">submission_date</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remarks_for_editors&#39;</span><span class="p">],</span>
-                <span class="n">referees_suggested</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;referees_suggested&#39;</span><span class="p">],</span>
-                <span class="n">referees_flagged</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;referees_flagged&#39;</span><span class="p">],</span>
-                <span class="p">)</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">submitted_by</span><span class="p">)</span> <span class="c1"># must be author to be able to submit</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># If this is a resubmission, mark previous submissions as deprecated:</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_resubmission&#39;</span><span class="p">]:</span>
-                <span class="n">previous_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                    <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier_wo_vn_nr&#39;</span><span class="p">]</span>
-                <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">id</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-arxiv_vn_nr&#39;</span><span class="p">)</span>
-                <span class="k">for</span> <span class="n">sub</span> <span class="ow">in</span> <span class="n">previous_submissions</span><span class="p">:</span>
-                    <span class="n">sub</span><span class="o">.</span><span class="n">is_current</span> <span class="o">=</span> <span class="kc">False</span>
-                    <span class="n">sub</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">False</span>
-                    <span class="n">sub</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;resubmitted&#39;</span>
-                    <span class="n">sub</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="c1"># Handle this submission in same way as if assignment had been accepted</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">deadline</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">28</span><span class="p">)</span> <span class="c1"># for papers</span>
-                <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">submitted_to_journal</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">:</span>
-                    <span class="n">deadline</span> <span class="o">+=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">28</span><span class="p">)</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">=</span> <span class="n">deadline</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">open_for_commenting</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-                <span class="c1"># We keep the same (most recent) Editor-in-charge by default</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span> <span class="o">=</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">editor_in_charge</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;EICassigned&#39;</span>
-                <span class="c1"># Keep the info about authors:</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                    <span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">author</span><span class="p">)</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                    <span class="n">submission</span><span class="o">.</span><span class="n">authors_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">author</span><span class="p">)</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">previous_submissions</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                    <span class="n">submission</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">author</span><span class="p">)</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">author_comments</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;author_comments&#39;</span><span class="p">]</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">list_of_changes</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;list_of_changes&#39;</span><span class="p">]</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="n">assignment</span> <span class="o">=</span> <span class="n">EditorialAssignment</span><span class="p">(</span>
-                    <span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                    <span class="n">to</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="p">,</span>
-                    <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                    <span class="n">date_created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                    <span class="n">date_answered</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="p">)</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">})</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_authors_resubmission_ack_email</span><span class="p">()</span>
-                <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">submission</span><span class="p">)</span>
-                <span class="n">ed_admins</span> <span class="o">=</span> <span class="n">Group</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial Administrators&#39;</span><span class="p">)</span>
-                <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">ed_admins</span><span class="p">,</span> <span class="n">submission</span><span class="p">)</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_EIC_reappointment_email</span><span class="p">()</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">})</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_authors_submission_ack_email</span><span class="p">()</span>
-
-            <span class="c1">#return HttpResponseRedirect(reverse(&#39;submissions:submit_manuscript_ack&#39;))</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Thank you for your Submission to SciPost&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Your Submission will soon be handled by an Editor. &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to your &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;personal page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span> <span class="c1"># form is invalid</span>
-            <span class="k">pass</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionForm</span><span class="p">()</span>
-    <span class="n">identifierform</span> <span class="o">=</span> <span class="n">SubmissionIdentifierForm</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_manuscript.html&#39;</span><span class="p">,</span>
-                  <span class="p">{</span><span class="s1">&#39;identifierform&#39;</span><span class="p">:</span> <span class="n">identifierform</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">})</span>
-
-
-<div class="viewcode-block" id="submissions"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.submissions">[docs]</a><span class="k">def</span> <span class="nf">submissions</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">to_journal</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Main method for viewing Submissions.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionSearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">()</span> <span class="ow">and</span> <span class="n">form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">():</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">title__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title_keyword&#39;</span><span class="p">],</span>
-                <span class="n">author_list__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;author&#39;</span><span class="p">],</span>
-                <span class="n">abstract__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;abstract_keyword&#39;</span><span class="p">],</span>
-                <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span><span class="p">,</span>
-                <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="p">[]</span>
-
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionSearchForm</span><span class="p">()</span>
-        <span class="n">submission_search_list</span> <span class="o">=</span> <span class="p">[]</span>
-
-    <span class="n">submission_recent_list</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">latest_activity__gte</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=-</span><span class="mi">60</span><span class="p">)</span>
-    <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-    <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">is_current</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">)</span>
-    <span class="c1"># If doing a journal-specific listing:</span>
-    <span class="k">if</span> <span class="n">to_journal</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-        <span class="n">submission_recent_list</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submitted_to_journal</span><span class="o">=</span><span class="n">to_journal</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;submission_search_list&#39;</span><span class="p">:</span> <span class="n">submission_search_list</span><span class="p">,</span>
-               <span class="s1">&#39;submission_recent_list&#39;</span><span class="p">:</span> <span class="n">submission_recent_list</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submissions.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="k">def</span> <span class="nf">browse</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">discipline</span><span class="p">,</span> <span class="n">nrweeksback</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionSearchForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">()</span> <span class="ow">and</span> <span class="n">form</span><span class="o">.</span><span class="n">has_changed</span><span class="p">():</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">title__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title_keyword&#39;</span><span class="p">],</span>
-                <span class="n">author_list__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;author&#39;</span><span class="p">],</span>
-                <span class="n">abstract__icontains</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;abstract_keyword&#39;</span><span class="p">],</span>
-                <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span><span class="p">,</span>
-                <span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">submission_search_list</span> <span class="o">=</span> <span class="p">[]</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;submission_search_list&#39;</span><span class="p">:</span> <span class="n">submission_search_list</span> <span class="p">}</span>
-        <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submissions.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SubmissionSearchForm</span><span class="p">()</span>
-    <span class="n">submission_browse_list</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">discipline</span><span class="o">=</span><span class="n">discipline</span><span class="p">,</span>
-        <span class="n">latest_activity__gte</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">weeks</span><span class="o">=-</span><span class="nb">int</span><span class="p">(</span><span class="n">nrweeksback</span><span class="p">))</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="n">SUBMISSION_STATUS_PUBLICLY_UNLISTED</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">is_current</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span> <span class="s1">&#39;discipline&#39;</span><span class="p">:</span> <span class="n">discipline</span><span class="p">,</span> <span class="s1">&#39;nrweeksback&#39;</span><span class="p">:</span> <span class="n">nrweeksback</span><span class="p">,</span>
-               <span class="s1">&#39;submission_browse_list&#39;</span><span class="p">:</span> <span class="n">submission_browse_list</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submissions.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="k">def</span> <span class="nf">submission_detail_wo_vn_nr</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_wo_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_wo_vn_nr</span><span class="p">,</span>
-                                   <span class="n">is_current</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="k">return</span><span class="p">(</span><span class="n">submission_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">))</span>
-
-
-<span class="k">def</span> <span class="nf">submission_detail</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">is_author</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-    <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
-        <span class="n">is_author</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="k">if</span> <span class="p">(</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="ow">in</span> <span class="n">SUBMISSION_STATUS_PUBLICLY_INVISIBLE</span>
-        <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;SciPost Administrators&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-        <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial Administrators&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-        <span class="ow">and</span> <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial College&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-        <span class="ow">and</span> <span class="ow">not</span> <span class="n">is_author</span>
-    <span class="p">):</span>
-        <span class="k">raise</span> <span class="n">PermissionDenied</span>
-    <span class="n">other_versions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_wo_vn_nr</span>
-    <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
-    <span class="n">comments</span> <span class="o">=</span> <span class="n">submission</span><span class="o">.</span><span class="n">comment_set</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">author</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-            <span class="n">newcomment</span> <span class="o">=</span> <span class="n">Comment</span> <span class="p">(</span>
-                <span class="n">submission</span> <span class="o">=</span> <span class="n">submission</span><span class="p">,</span>
-                <span class="n">author</span> <span class="o">=</span> <span class="n">author</span><span class="p">,</span>
-                <span class="n">is_rem</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_rem&#39;</span><span class="p">],</span>
-                <span class="n">is_que</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_que&#39;</span><span class="p">],</span>
-                <span class="n">is_ans</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_ans&#39;</span><span class="p">],</span>
-                <span class="n">is_obj</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_obj&#39;</span><span class="p">],</span>
-                <span class="n">is_rep</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_rep&#39;</span><span class="p">],</span>
-                <span class="n">is_val</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_val&#39;</span><span class="p">],</span>
-                <span class="n">is_lit</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_lit&#39;</span><span class="p">],</span>
-                <span class="n">is_sug</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;is_sug&#39;</span><span class="p">],</span>
-                <span class="n">comment_text</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;comment_text&#39;</span><span class="p">],</span>
-                <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remarks_for_editors&#39;</span><span class="p">],</span>
-                <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="p">)</span>
-            <span class="n">newcomment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">author</span><span class="o">.</span><span class="n">nr_comments</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">author</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">author</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1">#request.session[&#39;arxiv_identifier_w_vn_nr&#39;] = submission.arxiv_identifier_w_vn_nr</span>
-            <span class="c1">#return HttpResponseRedirect(reverse(&#39;comments:comment_submission_ack&#39;))</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Thank you for contributing a Comment.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="s1">&#39;It will soon be vetted by an Editor.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Back to the &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span>
-                           <span class="s1">&#39;submissions:submission&#39;</span><span class="p">,</span>
-                           <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">newcomment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}</span>
-                       <span class="p">),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39; Submission page you came from&#39;</span>
-                   <span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">CommentForm</span><span class="p">()</span>
-
-    <span class="n">reports</span> <span class="o">=</span> <span class="n">submission</span><span class="o">.</span><span class="n">report_set</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">author_replies</span> <span class="o">=</span> <span class="n">Comment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                                <span class="n">is_author_reply</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                <span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
-    <span class="k">except</span> <span class="n">Comment</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-        <span class="n">author_replies</span> <span class="o">=</span> <span class="p">()</span>
-    <span class="c1"># To check in template whether the user can submit a report:</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">is_author</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-        <span class="n">is_author_unchecked</span> <span class="o">=</span> <span class="p">(</span><span class="ow">not</span> <span class="n">is_author</span>
-                               <span class="ow">and</span> <span class="ow">not</span> <span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">all</span><span class="p">())</span>
-                               <span class="ow">and</span> <span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">))</span>
-    <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
-        <span class="n">is_author</span> <span class="o">=</span> <span class="kc">False</span>
-        <span class="n">is_author_unchecked</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">recommendation</span> <span class="o">=</span> <span class="n">EICRecommendation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">)</span>
-    <span class="k">except</span> <span class="n">EICRecommendation</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-        <span class="n">recommendation</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span>
-               <span class="s1">&#39;other_versions&#39;</span><span class="p">:</span> <span class="n">other_versions</span><span class="p">,</span>
-               <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">recommendation</span><span class="p">,</span>
-               <span class="s1">&#39;comments&#39;</span><span class="p">:</span> <span class="p">(</span><span class="n">comments</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">is_author_reply</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                            <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-date_submitted&#39;</span><span class="p">)),</span>
-               <span class="s1">&#39;invited_reports&#39;</span><span class="p">:</span> <span class="n">reports</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span>
-               <span class="s1">&#39;contributed_reports&#39;</span><span class="p">:</span> <span class="n">reports</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status__gte</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">invited</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
-               <span class="s1">&#39;author_replies&#39;</span><span class="p">:</span> <span class="n">author_replies</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">,</span>
-               <span class="s1">&#39;is_author&#39;</span><span class="p">:</span> <span class="n">is_author</span><span class="p">,</span> <span class="s1">&#39;is_author_unchecked&#39;</span><span class="p">:</span> <span class="n">is_author_unchecked</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submission_detail.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="c1">######################</span>
-<span class="c1"># Editorial workflow #</span>
-<span class="c1">######################</span>
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_take_charge_of_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="editorial_workflow"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.editorial_workflow">[docs]</a><span class="k">def</span> <span class="nf">editorial_workflow</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Summary page for Editorial Fellows, containing a digest</span>
-<span class="sd">    of the actions to take to handle Submissions.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/editorial_workflow.html&#39;</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_view_pool&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<div class="viewcode-block" id="pool"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.pool">[docs]</a><span class="k">def</span> <span class="nf">pool</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    The Submissions pool contains all submissions which are undergoing</span>
-<span class="sd">    the editorial process, from submission</span>
-<span class="sd">    to publication acceptance or rejection.</span>
-<span class="sd">    All members of the Editorial College have access.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submissions_in_pool</span><span class="o">=</span><span class="p">(</span><span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-                         <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">status__in</span><span class="o">=</span><span class="n">SUBMISSION_STATUS_OUT_OF_POOL</span><span class="p">)</span>
-                         <span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">is_current</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-                         <span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;-submission_date&#39;</span><span class="p">))</span>
-    <span class="n">recommendations_undergoing_voting</span> <span class="o">=</span> <span class="p">(</span><span class="n">EICRecommendation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">submission__status__in</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;put_to_EC_voting&#39;</span><span class="p">]))</span>
-    <span class="n">recommendations_to_prepare_for_voting</span> <span class="o">=</span> <span class="p">(</span><span class="n">EICRecommendation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">submission__status__in</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;voting_in_preparation&#39;</span><span class="p">]))</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">assignments_to_consider</span> <span class="o">=</span> <span class="n">EditorialAssignment</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">to</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">deprecated</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">consider_assignment_form</span> <span class="o">=</span> <span class="n">ConsiderAssignmentForm</span><span class="p">()</span>
-    <span class="n">recs_to_vote_on</span> <span class="o">=</span> <span class="n">EICRecommendation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">eligible_to_vote__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span>
-        <span class="n">recommendation</span><span class="o">=-</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">recommendation</span><span class="o">=-</span><span class="mi">2</span><span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span>
-            <span class="n">voted_for__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span>
-            <span class="n">voted_against__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span>
-            <span class="n">voted_abstain__in</span><span class="o">=</span><span class="p">[</span><span class="n">contributor</span><span class="p">])</span>
-    <span class="n">rec_vote_form</span> <span class="o">=</span> <span class="n">RecommendationVoteForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submissions_in_pool&#39;</span><span class="p">:</span> <span class="n">submissions_in_pool</span><span class="p">,</span>
-               <span class="s1">&#39;recommendations_undergoing_voting&#39;</span><span class="p">:</span> <span class="n">recommendations_undergoing_voting</span><span class="p">,</span>
-               <span class="s1">&#39;recommendations_to_prepare_for_voting&#39;</span><span class="p">:</span> <span class="n">recommendations_to_prepare_for_voting</span><span class="p">,</span>
-               <span class="s1">&#39;assignments_to_consider&#39;</span><span class="p">:</span> <span class="n">assignments_to_consider</span><span class="p">,</span>
-               <span class="s1">&#39;consider_assignment_form&#39;</span><span class="p">:</span> <span class="n">consider_assignment_form</span><span class="p">,</span>
-               <span class="s1">&#39;recs_to_vote_on&#39;</span><span class="p">:</span> <span class="n">recs_to_vote_on</span><span class="p">,</span>
-               <span class="s1">&#39;rec_vote_form&#39;</span><span class="p">:</span> <span class="n">rec_vote_form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/pool.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_assign_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">assign_submission</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission_to_assign</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span>
-                                             <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="c1">#form = AssignSubmissionForm(discipline=submission_to_assign.discipline, subject_area=submission_to_assign.subject_area) # reactivate later on</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">AssignSubmissionForm</span><span class="p">(</span><span class="n">discipline</span><span class="o">=</span><span class="n">submission_to_assign</span><span class="o">.</span><span class="n">discipline</span><span class="p">)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission_to_assign&#39;</span><span class="p">:</span> <span class="n">submission_to_assign</span><span class="p">,</span>
-               <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/assign_submission.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_assign_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">assign_submission_ack</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span>
-                                   <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">AssignSubmissionForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span> <span class="n">discipline</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">discipline</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">suggested_editor_in_charge</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;editor_in_charge&#39;</span><span class="p">]</span>
-            <span class="c1"># TODO: check for possible co-authorships, disqualifying this suggested EIC</span>
-            <span class="k">if</span> <span class="ow">not</span> <span class="n">suggested_editor_in_charge</span><span class="o">.</span><span class="n">is_currently_available</span><span class="p">():</span>
-                <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This Fellow is marked as currently unavailable. &#39;</span>
-                                <span class="s1">&#39;Please go back and select another one.&#39;</span><span class="p">)</span>
-                <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-            <span class="n">ed_assignment</span> <span class="o">=</span> <span class="n">EditorialAssignment</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                                <span class="n">to</span><span class="o">=</span><span class="n">suggested_editor_in_charge</span><span class="p">,</span>
-                                                <span class="n">date_created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
-            <span class="n">ed_assignment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;assignment&#39;</span><span class="p">:</span> <span class="n">ed_assignment</span><span class="p">})</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_assignment_request_email</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Your assignment request has been sent successfully.&#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to the &#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:pool&#39;</span><span class="p">),</span>
-               <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;Submissions pool&#39;</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_take_charge_of_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">accept_or_decline_assignment_ack</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">assignment_id</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">assignment</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">EditorialAssignment</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">assignment_id</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;assignment_failed&#39;</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;This Submission has failed pre-screening and has been rejected.&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_assignment_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="n">title_dict</span><span class="p">[</span><span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                        <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                        <span class="s1">&#39; has already agreed to be Editor-in-charge of this Submission.&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_assignment_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">ConsiderAssignmentForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">assignment</span><span class="o">.</span><span class="n">date_answered</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;accept&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;True&#39;</span><span class="p">:</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">to</span> <span class="o">=</span> <span class="n">contributor</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;EICassigned&#39;</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span> <span class="o">=</span> <span class="n">contributor</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">deadline</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">28</span><span class="p">)</span> <span class="c1"># for papers</span>
-                <span class="k">if</span> <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">submitted_to_journal</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">:</span>
-                    <span class="n">deadline</span> <span class="o">+=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">28</span><span class="p">)</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">=</span> <span class="n">deadline</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">open_for_commenting</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;assignment&#39;</span><span class="p">:</span> <span class="n">assignment</span><span class="p">})</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">deprecate_other_assignments</span><span class="p">()</span>
-                <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="p">)</span>
-                <span class="n">ed_admins</span> <span class="o">=</span> <span class="n">Group</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial Administrators&#39;</span><span class="p">)</span>
-                <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">ed_admins</span><span class="p">,</span> <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="p">)</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_EIC_appointment_email</span><span class="p">()</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_author_prescreening_passed_email</span><span class="p">()</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">False</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">refusal_reason</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;refusal_reason&#39;</span><span class="p">]</span>
-                <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;unassigned&#39;</span>
-            <span class="n">assignment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">assignment</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;assignment&#39;</span><span class="p">:</span> <span class="n">assignment</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_assignment_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_take_charge_of_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="volunteer_as_EIC"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.volunteer_as_EIC">[docs]</a><span class="k">def</span> <span class="nf">volunteer_as_EIC</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Called when a Fellow volunteers while perusing the submissions pool.</span>
-<span class="sd">    This is an adapted version of the accept_or_decline_assignment_ack method.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;assignment_failed&#39;</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;This Submission has failed pre-screening and has been rejected.&#39;</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_assignment_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="n">title_dict</span><span class="p">[</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                        <span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                        <span class="s1">&#39; has already agreed to be Editor-in-charge of this Submission.&#39;</span><span class="p">)</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_assignment_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">assignment</span> <span class="o">=</span> <span class="n">EditorialAssignment</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                     <span class="n">to</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span>
-                                     <span class="n">accepted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                     <span class="n">date_created</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                                     <span class="n">date_answered</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">())</span>
-    <span class="n">deadline</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">28</span><span class="p">)</span> <span class="c1"># for papers</span>
-    <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">submitted_to_journal</span> <span class="o">==</span> <span class="s1">&#39;SciPost Physics Lecture Notes&#39;</span><span class="p">:</span>
-        <span class="n">deadline</span> <span class="o">+=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">28</span><span class="p">)</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;EICassigned&#39;</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span> <span class="o">=</span> <span class="n">contributor</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">True</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">=</span> <span class="n">deadline</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">open_for_commenting</span> <span class="o">=</span> <span class="kc">True</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-    <span class="n">assignment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;assignment&#39;</span><span class="p">:</span> <span class="n">assignment</span><span class="p">})</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">deprecate_other_assignments</span><span class="p">()</span>
-    <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="p">,</span> <span class="n">submission</span><span class="p">)</span>
-    <span class="n">ed_admins</span> <span class="o">=</span> <span class="n">Group</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial Administrators&#39;</span><span class="p">)</span>
-    <span class="n">assign_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">ed_admins</span><span class="p">,</span> <span class="n">submission</span><span class="p">)</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_EIC_appointment_email</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_author_prescreening_passed_email</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;assignment&#39;</span><span class="p">:</span> <span class="n">assignment</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_assignment_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_assign_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="assignment_failed"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.assignment_failed">[docs]</a><span class="k">def</span> <span class="nf">assignment_failed</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    No Editorial Fellow has accepted or volunteered to become Editor-in-charge.</span>
-<span class="sd">    The submission is rejected.</span>
-<span class="sd">    This method is called from pool.html by an Editorial Administrator.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;assignment_failed&#39;</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">})</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">deprecate_all_assignments</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">assignment_failed_email_authors</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/assignment_failed_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">editorial_page</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">other_versions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_wo_vn_nr</span>
-    <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">submission</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
-    <span class="n">ref_invitations</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">)</span>
-    <span class="n">nr_reports_to_vet</span> <span class="o">=</span> <span class="p">(</span><span class="n">Report</span><span class="o">.</span><span class="n">objects</span>
-                         <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">submission__editor_in_charge</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                         <span class="o">.</span><span class="n">count</span><span class="p">())</span>
-    <span class="n">communications</span> <span class="o">=</span> <span class="p">(</span><span class="n">EditorialCommunication</span><span class="o">.</span><span class="n">objects</span>
-                      <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">)</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;timestamp&#39;</span><span class="p">))</span>
-    <span class="k">try</span><span class="p">:</span>
-        <span class="n">recommendation</span> <span class="o">=</span> <span class="n">EICRecommendation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">)</span>
-    <span class="k">except</span> <span class="n">EICRecommendation</span><span class="o">.</span><span class="n">DoesNotExist</span><span class="p">:</span>
-        <span class="n">recommendation</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span>
-               <span class="s1">&#39;other_versions&#39;</span><span class="p">:</span> <span class="n">other_versions</span><span class="p">,</span>
-               <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">recommendation</span><span class="p">,</span>
-               <span class="s1">&#39;set_deadline_form&#39;</span><span class="p">:</span> <span class="n">SetRefereeingDeadlineForm</span><span class="p">(),</span>
-               <span class="s1">&#39;ref_invitations&#39;</span><span class="p">:</span> <span class="n">ref_invitations</span><span class="p">,</span>
-               <span class="s1">&#39;nr_reports_to_vet&#39;</span><span class="p">:</span> <span class="n">nr_reports_to_vet</span><span class="p">,</span>
-               <span class="s1">&#39;communications&#39;</span><span class="p">:</span> <span class="n">communications</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/editorial_page.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">select_referee</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">queryresults</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">ref_search_form</span> <span class="o">=</span> <span class="n">RefereeSelectForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">ref_search_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">contributors_found</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-                <span class="n">user__last_name__icontains</span><span class="o">=</span><span class="n">ref_search_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">])</span>
-            <span class="c1"># Check for recent co-authorship (thus referee disqualification)</span>
-            <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">metadata</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="n">sub_auth_boolean_str</span> <span class="o">=</span> <span class="s1">&#39;((&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="n">submission</span>
-                                               <span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-                                               <span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:]:</span>
-                    <span class="n">sub_auth_boolean_str</span> <span class="o">+=</span> <span class="s1">&#39;+OR+&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
-                <span class="n">sub_auth_boolean_str</span> <span class="o">+=</span> <span class="s1">&#39;)+AND+&#39;</span>
-                <span class="n">search_str</span> <span class="o">=</span> <span class="n">sub_auth_boolean_str</span> <span class="o">+</span> <span class="n">ref_search_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span>
-                <span class="n">queryurl</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;http://export.arxiv.org/api/query?search_query=au:</span><span class="si">%s</span><span class="s1">&#39;</span>
-                            <span class="o">%</span> <span class="n">search_str</span> <span class="o">+</span> <span class="s1">&#39;&amp;sortBy=submittedDate&amp;sortOrder=descending&#39;</span>
-                            <span class="s1">&#39;&amp;max_results=5&#39;</span><span class="p">)</span>
-                <span class="n">arxivquery</span> <span class="o">=</span> <span class="n">feedparser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">queryurl</span><span class="p">)</span>
-                <span class="n">queryresults</span> <span class="o">=</span> <span class="n">arxivquery</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">ref_search_form</span> <span class="o">=</span> <span class="n">RefereeSelectForm</span><span class="p">()</span>
-        <span class="n">contributors_found</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="n">ref_recruit_form</span> <span class="o">=</span> <span class="n">RefereeRecruitmentForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span> <span class="s1">&#39;ref_search_form&#39;</span><span class="p">:</span> <span class="n">ref_search_form</span><span class="p">,</span>
-               <span class="s1">&#39;contributors_found&#39;</span><span class="p">:</span> <span class="n">contributors_found</span><span class="p">,</span>
-               <span class="s1">&#39;ref_recruit_form&#39;</span><span class="p">:</span> <span class="n">ref_recruit_form</span><span class="p">,</span>
-               <span class="s1">&#39;queryresults&#39;</span><span class="p">:</span> <span class="n">queryresults</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/select_referee.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="recruit_referee"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.recruit_referee">[docs]</a><span class="k">def</span> <span class="nf">recruit_referee</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    If the Editor-in-charge does not find the desired referee among Contributors</span>
-<span class="sd">    (otherwise, the method send_refereeing_invitation below is used instead),</span>
-<span class="sd">    he/she can invite somebody by providing name + contact details.</span>
-<span class="sd">    This function emails a registration invitation to this person.</span>
-<span class="sd">    The pending refereeing invitation is then recognized upon registration,</span>
-<span class="sd">    using the invitation token.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">ref_recruit_form</span> <span class="o">=</span> <span class="n">RefereeRecruitmentForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="c1"># TODO check if email already taken</span>
-            <span class="n">ref_invitation</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="p">(</span>
-                <span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                <span class="n">title</span><span class="o">=</span><span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">],</span>
-                <span class="n">first_name</span><span class="o">=</span><span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">],</span>
-                <span class="n">last_name</span><span class="o">=</span><span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">],</span>
-                <span class="n">email_address</span><span class="o">=</span><span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_address&#39;</span><span class="p">],</span>
-                <span class="n">date_invited</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="n">invited_by</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="n">ref_invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># Create and send a registration invitation</span>
-            <span class="n">ref_inv_message_head</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;On behalf of the Editor-in-charge &#39;</span> <span class="o">+</span>
-                                    <span class="n">title_dict</span><span class="p">[</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">title</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span>
-                                    <span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span>
-                                    <span class="s1">&#39;, we would like to invite you to referee a Submission to &#39;</span>
-                                    <span class="o">+</span> <span class="n">journals_submit_dict</span><span class="p">[</span><span class="n">submission</span><span class="o">.</span><span class="n">submitted_to_journal</span><span class="p">]</span>
-                                    <span class="o">+</span> <span class="s1">&#39;, namely</span><span class="se">\n\n</span><span class="s1">&#39;</span> <span class="o">+</span> <span class="n">submission</span><span class="o">.</span><span class="n">title</span>
-                                    <span class="o">+</span> <span class="s1">&#39;</span><span class="se">\n</span><span class="s1">by &#39;</span> <span class="o">+</span> <span class="n">submission</span><span class="o">.</span><span class="n">author_list</span> <span class="o">+</span> <span class="s1">&#39;.&#39;</span><span class="p">)</span>
-            <span class="n">reg_invitation</span> <span class="o">=</span> <span class="n">RegistrationInvitation</span> <span class="p">(</span>
-                <span class="n">title</span> <span class="o">=</span> <span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">],</span>
-                <span class="n">first_name</span> <span class="o">=</span> <span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;first_name&#39;</span><span class="p">],</span>
-                <span class="n">last_name</span> <span class="o">=</span> <span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;last_name&#39;</span><span class="p">],</span>
-                <span class="n">email</span> <span class="o">=</span> <span class="n">ref_recruit_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_address&#39;</span><span class="p">],</span>
-                <span class="n">invitation_type</span> <span class="o">=</span> <span class="s1">&#39;R&#39;</span><span class="p">,</span>
-                <span class="n">invited_by</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                <span class="n">message_style</span> <span class="o">=</span> <span class="s1">&#39;F&#39;</span><span class="p">,</span>
-                <span class="n">personal_message</span> <span class="o">=</span> <span class="n">ref_inv_message_head</span><span class="p">,</span>
-            <span class="p">)</span>
-            <span class="n">reg_invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">Utils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">reg_invitation</span><span class="p">})</span>
-            <span class="n">Utils</span><span class="o">.</span><span class="n">send_registration_invitation_email</span><span class="p">()</span>
-            <span class="c1"># Copy the key to the refereeing invitation:</span>
-            <span class="n">ref_invitation</span><span class="o">.</span><span class="n">invitation_key</span> <span class="o">=</span> <span class="n">reg_invitation</span><span class="o">.</span><span class="n">invitation_key</span>
-            <span class="n">ref_invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="send_refereeing_invitation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.send_refereeing_invitation">[docs]</a><span class="k">def</span> <span class="nf">send_refereeing_invitation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span> <span class="n">contributor_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    This method is called by the EIC from the submission&#39;s editorial_page,</span>
-<span class="sd">    in the case where the referee is an identified Contributor.</span>
-<span class="sd">    For a referee who isn&#39;t a Contributor yet, the method recruit_referee above</span>
-<span class="sd">    is called instead.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">contributor_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">contributor</span><span class="o">.</span><span class="n">is_currently_available</span><span class="p">():</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This Contributor is marked as currently unavailable. &#39;</span>
-                        <span class="s1">&#39;Please go back and select another referee.&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                   <span class="n">referee</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span>
-                                   <span class="n">title</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">title</span><span class="p">,</span>
-                                   <span class="n">first_name</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span><span class="p">,</span>
-                                   <span class="n">last_name</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">,</span>
-                                   <span class="n">email_address</span><span class="o">=</span><span class="n">contributor</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">email</span><span class="p">,</span>
-                                   <span class="c1"># the key is only used for inviting unregistered users</span>
-                                   <span class="n">invitation_key</span><span class="o">=</span><span class="s1">&#39;notused&#39;</span><span class="p">,</span>
-                                   <span class="n">date_invited</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                                   <span class="n">invited_by</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">})</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_refereeing_invitation_email</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<div class="viewcode-block" id="ref_invitation_reminder"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.ref_invitation_reminder">[docs]</a><span class="k">def</span> <span class="nf">ref_invitation_reminder</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    This method is used by the Editor-in-charge from the editorial_page</span>
-<span class="sd">    when a referee has been invited but hasn&#39;t answered yet.</span>
-<span class="sd">    It can be used for registered as well as unregistered referees.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">RefereeInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">nr_reminders</span> <span class="o">+=</span> <span class="mi">1</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">date_last_reminded</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">})</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_ref_reminder_email</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_referee&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">accept_or_decline_ref_invitations</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">referee</span><span class="o">=</span><span class="n">contributor</span><span class="p">,</span> <span class="n">accepted</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">ConsiderRefereeInvitationForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;invitation_to_consider&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_ref_invitations.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_referee&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">accept_or_decline_ref_invitation_ack</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">RefereeInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">ConsiderRefereeInvitationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">invitation</span><span class="o">.</span><span class="n">date_responded</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;accept&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;True&#39;</span><span class="p">:</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="k">else</span><span class="p">:</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">accepted</span> <span class="o">=</span> <span class="kc">False</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">refusal_reason</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;refusal_reason&#39;</span><span class="p">]</span>
-            <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">})</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">email_referee_response_to_EIC</span><span class="p">()</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/accept_or_decline_ref_invitation_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<div class="viewcode-block" id="cancel_ref_invitation"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.cancel_ref_invitation">[docs]</a><span class="k">def</span> <span class="nf">cancel_ref_invitation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span> <span class="n">invitation_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    This method is used by the Editor-in-charge from the editorial_page</span>
-<span class="sd">    to remove a referee for the list of invited ones.</span>
-<span class="sd">    It can be used for registered as well as unregistered referees.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">invitation</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">RefereeInvitation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">invitation_id</span><span class="p">)</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">cancelled</span><span class="o">=</span><span class="kc">True</span>
-    <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;invitation&#39;</span><span class="p">:</span> <span class="n">invitation</span><span class="p">})</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_ref_cancellation_email</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">extend_refereeing_deadline</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span> <span class="n">days</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">+=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="n">days</span><span class="p">))</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">True</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">open_for_commenting</span> <span class="o">=</span> <span class="kc">True</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;EICassigned&#39;</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="k">def</span> <span class="nf">set_refereeing_deadline</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">SetRefereeingDeadlineForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;deadline&#39;</span><span class="p">]</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;deadline&#39;</span><span class="p">]</span> <span class="o">&gt;</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span><span class="o">.</span><span class="n">date</span><span class="p">():</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">open_for_commenting</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;EICassigned&#39;</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;New reporting deadline set.&#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to the &#39;</span><span class="p">,</span>
-                       <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                                                <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}),</span>
-                       <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;Submission</span><span class="se">\&#39;</span><span class="s1">s Editorial Page&#39;</span><span class="p">}</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;The set reporting deadline form was improperly filled&#39;</span>
-            <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<div class="viewcode-block" id="close_refereeing_round"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.close_refereeing_round">[docs]</a><span class="k">def</span> <span class="nf">close_refereeing_round</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Called by the Editor-in-charge when a satisfactory number of</span>
-<span class="sd">    reports have been gathered.</span>
-<span class="sd">    Automatically emails the authors to ask them if they want to</span>
-<span class="sd">    round off any replies to reports or comments before the</span>
-<span class="sd">    editorial recommendation is formulated.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">open_for_commenting</span> <span class="o">=</span> <span class="kc">False</span>
-    <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="s1">&#39;EICassigned&#39;</span><span class="p">:</span> <span class="c1"># only close if currently undergoing refereeing</span>
-        <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;review_closed&#39;</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-    <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                            <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span></div>
-
-
-<span class="nd">@login_required</span>
-<div class="viewcode-block" id="communication"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.communication">[docs]</a><span class="k">def</span> <span class="nf">communication</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">,</span> <span class="n">comtype</span><span class="p">,</span> <span class="n">referee_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Communication between editor-in-charge, author or referee</span>
-<span class="sd">    occurring during the submission refereeing.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">comtype</span> <span class="ow">in</span> <span class="n">ed_comm_choices_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Unknown type of cummunication.&#39;</span>
-    <span class="c1"># TODO: Verify that this is requested by an authorized contributor (eic, ref, author)</span>
-    <span class="k">elif</span> <span class="p">(</span><span class="n">comtype</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;EtoA&#39;</span><span class="p">,</span> <span class="s1">&#39;EtoR&#39;</span><span class="p">,</span> <span class="s1">&#39;EtoS&#39;</span><span class="p">]</span> <span class="ow">and</span>
-          <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">has_perm</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span> <span class="n">submission</span><span class="p">)):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Only the Editor-in-charge can perform this action.&#39;</span>
-    <span class="k">elif</span> <span class="p">(</span><span class="n">comtype</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;AtoE&#39;</span><span class="p">]</span> <span class="ow">and</span>
-          <span class="ow">not</span> <span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="o">==</span> <span class="n">submission</span><span class="o">.</span><span class="n">submitted_by</span><span class="p">)):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Only the corresponding author can perform this action.&#39;</span>
-    <span class="k">elif</span> <span class="p">(</span><span class="n">comtype</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;RtoE&#39;</span><span class="p">]</span> <span class="ow">and</span>
-          <span class="ow">not</span> <span class="p">(</span><span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span>
-               <span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span> <span class="n">referee</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">())):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Only invited referees for this Submission can perform this action.&#39;</span>
-    <span class="k">elif</span> <span class="p">(</span><span class="n">comtype</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;StoE&#39;</span><span class="p">]</span> <span class="ow">and</span>
-          <span class="ow">not</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;Editorial Administrators&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;Only Editorial Administrators can perform this action.&#39;</span>
-    <span class="k">if</span> <span class="n">errormessage</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">,</span> <span class="s1">&#39;comtype&#39;</span><span class="p">:</span> <span class="n">comtype</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/communication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">EditorialCommunicationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">communication</span> <span class="o">=</span> <span class="n">EditorialCommunication</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                                   <span class="n">comtype</span><span class="o">=</span><span class="n">comtype</span><span class="p">,</span>
-                                                   <span class="n">timestamp</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                                                   <span class="n">text</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;text&#39;</span><span class="p">])</span>
-            <span class="k">if</span> <span class="n">referee_id</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="n">referee</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">referee_id</span><span class="p">)</span>
-                <span class="n">communication</span><span class="o">.</span><span class="n">referee</span> <span class="o">=</span> <span class="n">referee</span>
-            <span class="n">communication</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;communication&#39;</span><span class="p">:</span> <span class="n">communication</span><span class="p">})</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_communication_email</span><span class="p">()</span>
-            <span class="k">if</span> <span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;EtoA&#39;</span> <span class="ow">or</span> <span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;EtoR&#39;</span> <span class="ow">or</span> <span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;EtoS&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                                        <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span>
-            <span class="k">elif</span> <span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;AtoE&#39;</span> <span class="ow">or</span> <span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;RtoE&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;scipost:personal_page&#39;</span><span class="p">))</span>
-            <span class="k">elif</span> <span class="n">comtype</span> <span class="o">==</span> <span class="s1">&#39;StoE&#39;</span><span class="p">:</span>
-                <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:pool&#39;</span><span class="p">))</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">EditorialCommunicationForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span> <span class="s1">&#39;comtype&#39;</span><span class="p">:</span> <span class="n">comtype</span><span class="p">,</span> <span class="s1">&#39;referee_id&#39;</span><span class="p">:</span> <span class="n">referee_id</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/communication.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span></div>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required_or_403</span><span class="p">(</span><span class="s1">&#39;can_take_editorial_actions&#39;</span><span class="p">,</span>
-                            <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">,</span> <span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">))</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">eic_recommendation</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;EICassigned&#39;</span><span class="p">,</span> <span class="s1">&#39;review_closed&#39;</span><span class="p">]:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;This submission</span><span class="se">\&#39;</span><span class="s1">s current status is: &#39;</span>
-                        <span class="o">+</span> <span class="n">submission_status_dict</span><span class="p">[</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;. &#39;</span>
-                        <span class="s1">&#39;An Editorial Recommendation is not required.&#39;</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/error.html&#39;</span><span class="p">,</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">})</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">EICRecommendationForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="c1">#recommendation = form.save()</span>
-            <span class="n">recommendation</span> <span class="o">=</span> <span class="n">EICRecommendation</span><span class="p">(</span>
-                <span class="n">submission</span> <span class="o">=</span> <span class="n">submission</span><span class="p">,</span>
-                <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="n">remarks_for_authors</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remarks_for_authors&#39;</span><span class="p">],</span>
-                <span class="n">requested_changes</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;requested_changes&#39;</span><span class="p">],</span>
-                <span class="n">remarks_for_editorial_college</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remarks_for_editorial_college&#39;</span><span class="p">],</span>
-                <span class="n">recommendation</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;recommendation&#39;</span><span class="p">],</span>
-                <span class="n">voting_deadline</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">7</span><span class="p">),</span>
-            <span class="p">)</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># If recommendation is to accept or reject,</span>
-            <span class="c1"># it is forwarded to the Editorial College for voting</span>
-            <span class="c1"># If it is to carry out minor or major revisions,</span>
-            <span class="c1"># it is returned to the Author who is asked to resubmit</span>
-            <span class="k">if</span> <span class="p">(</span><span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span> <span class="o">==</span> <span class="mi">1</span>
-                <span class="ow">or</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span> <span class="o">==</span> <span class="mi">2</span>
-                <span class="ow">or</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span> <span class="o">==</span> <span class="mi">3</span>
-                <span class="ow">or</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span> <span class="o">==</span> <span class="o">-</span><span class="mi">3</span><span class="p">):</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;voting_in_preparation&#39;</span>
-            <span class="k">elif</span> <span class="p">(</span><span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span>
-                  <span class="ow">or</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span> <span class="o">==</span> <span class="o">-</span><span class="mi">2</span><span class="p">):</span>
-                <span class="n">submission</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;revision_requested&#39;</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span>
-                                      <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">recommendation</span><span class="p">})</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_author_revision_requested_email</span><span class="p">()</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">open_for_reporting</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-            <span class="c1"># The EIC has fulfilled this editorial assignment.</span>
-            <span class="n">assignment</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">EditorialAssignment</span><span class="p">,</span>
-                                           <span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span> <span class="n">to</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="n">assignment</span><span class="o">.</span><span class="n">completed</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">assignment</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                                    <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}))</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">EICRecommendationForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span>
-               <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/eic_recommendation.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="c1">###########</span>
-<span class="c1"># Reports</span>
-<span class="c1">###########</span>
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_referee&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">submit_report</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="p">):</span>
-    <span class="n">submission</span> <span class="o">=</span> <span class="n">get_object_or_404</span> <span class="p">(</span><span class="n">Submission</span><span class="p">,</span> <span class="n">arxiv_identifier_w_vn_nr</span><span class="o">=</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">)</span>
-    <span class="c1"># Check whether the user can submit a report:</span>
-    <span class="n">is_author</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">authors</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
-    <span class="n">is_author_unchecked</span> <span class="o">=</span> <span class="p">(</span><span class="ow">not</span> <span class="n">is_author</span>
-                           <span class="ow">and</span> <span class="ow">not</span> <span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">authors_false_claims</span><span class="o">.</span><span class="n">all</span><span class="p">())</span>
-                           <span class="ow">and</span> <span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">author_list</span><span class="p">))</span>
-    <span class="n">invited</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                               <span class="n">referee</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">()</span>
-    <span class="n">errormessage</span> <span class="o">=</span> <span class="kc">None</span>
-    <span class="k">if</span> <span class="ow">not</span> <span class="n">invited</span> <span class="ow">and</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">submission</span><span class="o">.</span><span class="n">reporting_deadline</span> <span class="o">+</span> <span class="n">datetime</span><span class="o">.</span><span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;The reporting deadline has passed. You cannot submit&#39;</span>
-                        <span class="s1">&#39; a Report anymore.&#39;</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">is_author</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="s1">&#39;You are an author of this Submission and cannot submit a Report.&#39;</span>
-    <span class="k">if</span> <span class="n">is_author_unchecked</span><span class="p">:</span>
-        <span class="n">errormessage</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;The system flagged you as a potential author of this Submission. &#39;</span>
-                        <span class="s1">&#39;Please go to your personal page under the Submissions tab to clarify this.&#39;</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">errormessage</span><span class="p">:</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;errormessage&#39;</span><span class="p">:</span> <span class="n">errormessage</span><span class="p">}</span>
-        <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_report_ack.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">ReportForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">author</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">invited</span><span class="p">:</span>
-                <span class="n">invitation</span> <span class="o">=</span> <span class="n">RefereeInvitation</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">submission</span><span class="o">=</span><span class="n">submission</span><span class="p">,</span>
-                                                           <span class="n">referee</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">fulfilled</span> <span class="o">=</span> <span class="kc">True</span>
-                <span class="n">invitation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">flagged</span> <span class="o">=</span> <span class="kc">False</span>
-            <span class="k">if</span> <span class="n">submission</span><span class="o">.</span><span class="n">referees_flagged</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-                <span class="k">if</span> <span class="n">author</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="ow">in</span> <span class="n">submission</span><span class="o">.</span><span class="n">referees_flagged</span><span class="p">:</span>
-                    <span class="n">flagged</span> <span class="o">=</span> <span class="kc">True</span>
-            <span class="n">newreport</span> <span class="o">=</span> <span class="n">Report</span> <span class="p">(</span>
-                <span class="n">submission</span> <span class="o">=</span> <span class="n">submission</span><span class="p">,</span>
-                <span class="n">author</span> <span class="o">=</span> <span class="n">author</span><span class="p">,</span>
-                <span class="n">invited</span> <span class="o">=</span> <span class="n">invited</span><span class="p">,</span>
-                <span class="n">flagged</span> <span class="o">=</span> <span class="n">flagged</span><span class="p">,</span>
-                <span class="n">qualification</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;qualification&#39;</span><span class="p">],</span>
-                <span class="n">strengths</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;strengths&#39;</span><span class="p">],</span>
-                <span class="n">weaknesses</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;weaknesses&#39;</span><span class="p">],</span>
-                <span class="n">report</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;report&#39;</span><span class="p">],</span>
-                <span class="n">requested_changes</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;requested_changes&#39;</span><span class="p">],</span>
-                <span class="n">validity</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;validity&#39;</span><span class="p">],</span>
-                <span class="n">significance</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;significance&#39;</span><span class="p">],</span>
-                <span class="n">originality</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;originality&#39;</span><span class="p">],</span>
-                <span class="n">clarity</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;clarity&#39;</span><span class="p">],</span>
-                <span class="n">formatting</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;formatting&#39;</span><span class="p">],</span>
-                <span class="n">grammar</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;grammar&#39;</span><span class="p">],</span>
-                <span class="n">recommendation</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;recommendation&#39;</span><span class="p">],</span>
-                <span class="n">remarks_for_editors</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remarks_for_editors&#39;</span><span class="p">],</span>
-                <span class="n">anonymous</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;anonymous&#39;</span><span class="p">],</span>
-                <span class="n">date_submitted</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                <span class="p">)</span>
-            <span class="n">newreport</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">author</span><span class="o">.</span><span class="n">nr_reports</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">author</span><span class="o">=</span><span class="n">author</span><span class="p">)</span><span class="o">.</span><span class="n">count</span><span class="p">()</span>
-            <span class="n">author</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;report&#39;</span><span class="p">:</span> <span class="n">newreport</span><span class="p">})</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">email_EIC_report_delivered</span><span class="p">()</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">session</span><span class="p">[</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">arxiv_identifier_w_vn_nr</span>
-            <span class="k">return</span> <span class="n">HttpResponseRedirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:submit_report_ack&#39;</span><span class="p">))</span>
-
-    <span class="k">else</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">ReportForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">submission</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span> <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/submit_report.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@login_required</span>
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_take_charge_of_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span> <span class="nf">vet_submitted_reports</span><span class="p">(</span><span class="n">request</span><span class="p">):</span>
-    <span class="n">contributor</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">user</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="p">)</span>
-    <span class="n">report_to_vet</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
-                                          <span class="n">submission__editor_in_charge</span><span class="o">=</span><span class="n">contributor</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
-    <span class="n">form</span> <span class="o">=</span> <span class="n">VetReportForm</span><span class="p">()</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;contributor&#39;</span><span class="p">:</span> <span class="n">contributor</span><span class="p">,</span> <span class="s1">&#39;report_to_vet&#39;</span><span class="p">:</span> <span class="n">report_to_vet</span><span class="p">,</span> <span class="s1">&#39;form&#39;</span><span class="p">:</span> <span class="n">form</span> <span class="p">}</span>
-    <span class="k">return</span><span class="p">(</span><span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/vet_submitted_reports.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">))</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_take_charge_of_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">vet_submitted_report_ack</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">report_id</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">VetReportForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="n">report</span> <span class="o">=</span> <span class="n">Report</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">report_id</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">report</span><span class="o">.</span><span class="n">vetted_by</span> <span class="o">=</span> <span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;action_option&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;1&#39;</span><span class="p">:</span>
-                <span class="c1"># accept the report as is</span>
-                <span class="n">report</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="mi">1</span>
-                <span class="n">report</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-                <span class="n">report</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">latest_activity</span> <span class="o">=</span> <span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
-                <span class="n">report</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">elif</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;action_option&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;2&#39;</span><span class="p">:</span>
-                <span class="c1"># the report is simply rejected</span>
-                <span class="n">report</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;refusal_reason&#39;</span><span class="p">]</span>
-                <span class="n">report</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="c1"># email report author</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;report&#39;</span><span class="p">:</span> <span class="n">report</span><span class="p">,</span>
-                                  <span class="s1">&#39;email_response&#39;</span><span class="p">:</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;email_response_field&#39;</span><span class="p">]})</span>
-            <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">acknowledge_report_email</span><span class="p">()</span> <span class="c1"># email report author, bcc EIC</span>
-            <span class="k">if</span> <span class="n">report</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
-                <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_author_report_received_email</span><span class="p">()</span>
-    <span class="c1">#context = {&#39;submission&#39;: report.submission}</span>
-    <span class="c1">#return render(request, &#39;submissions/vet_submitted_report_ack.html&#39;, context)</span>
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;ack_header&#39;</span><span class="p">:</span> <span class="s1">&#39;Submitted Report vetted.&#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_message&#39;</span><span class="p">:</span> <span class="s1">&#39;Return to the &#39;</span><span class="p">,</span>
-               <span class="s1">&#39;followup_link&#39;</span><span class="p">:</span> <span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:editorial_page&#39;</span><span class="p">,</span>
-                                        <span class="n">kwargs</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;arxiv_identifier_w_vn_nr&#39;</span><span class="p">:</span> <span class="n">report</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_w_vn_nr</span><span class="p">}),</span>
-               <span class="s1">&#39;followup_link_label&#39;</span><span class="p">:</span> <span class="s1">&#39;Submission</span><span class="se">\&#39;</span><span class="s1">s Editorial Page&#39;</span><span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_prepare_recommendations_for_voting&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">prepare_for_voting</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">rec_id</span><span class="p">):</span>
-    <span class="n">recommendation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">EICRecommendation</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">rec_id</span><span class="p">)</span>
-    <span class="n">Fellows_with_expertise</span> <span class="o">=</span> <span class="n">Contributor</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-        <span class="n">user__groups__name__in</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Editorial College&#39;</span><span class="p">],</span>
-        <span class="n">expertises__contains</span><span class="o">=</span><span class="p">[</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">subject_area</span><span class="p">])</span>
-    <span class="n">coauthorships</span> <span class="o">=</span> <span class="p">{}</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">eligibility_form</span> <span class="o">=</span> <span class="n">VotingEligibilityForm</span><span class="p">(</span>
-            <span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">,</span>
-            <span class="n">discipline</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">discipline</span><span class="p">,</span>
-            <span class="n">subject_area</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">subject_area</span>
-        <span class="p">)</span>
-        <span class="k">if</span> <span class="n">eligibility_form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">eligible_to_vote</span> <span class="o">=</span> <span class="n">eligibility_form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;eligible_Fellows&#39;</span><span class="p">]</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_for</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">editor_in_charge</span><span class="p">)</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;put_to_EC_voting&#39;</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">return</span> <span class="n">render</span> <span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span>
-                           <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="s1">&#39;We have registered your selection.&#39;</span><span class="p">})</span>
-    <span class="k">else</span><span class="p">:</span>
-        <span class="c1"># Identify possible co-authorships in last 3 years, disqualifying Fellow from voting:</span>
-        <span class="k">if</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">metadata</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
-            <span class="k">for</span> <span class="n">Fellow</span> <span class="ow">in</span> <span class="n">Fellows_with_expertise</span><span class="p">:</span>
-                <span class="n">sub_auth_boolean_str</span> <span class="o">=</span> <span class="s1">&#39;((&#39;</span> <span class="o">+</span> <span class="p">(</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span>
-                                               <span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;name&#39;</span><span class="p">]</span>
-                                               <span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
-                <span class="k">for</span> <span class="n">author</span> <span class="ow">in</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">metadata</span><span class="p">[</span><span class="s1">&#39;entries&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="s1">&#39;authors&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:]:</span>
-                    <span class="n">sub_auth_boolean_str</span> <span class="o">+=</span> <span class="s1">&#39;+OR+&#39;</span> <span class="o">+</span> <span class="n">author</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
-                    <span class="n">sub_auth_boolean_str</span> <span class="o">+=</span> <span class="s1">&#39;)+AND+&#39;</span>
-                    <span class="n">search_str</span> <span class="o">=</span> <span class="n">sub_auth_boolean_str</span> <span class="o">+</span> <span class="n">Fellow</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;)&#39;</span>
-                    <span class="n">queryurl</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;http://export.arxiv.org/api/query?search_query=au:</span><span class="si">%s</span><span class="s1">&#39;</span>
-                                <span class="o">%</span> <span class="n">search_str</span> <span class="o">+</span> <span class="s1">&#39;&amp;sortBy=submittedDate&amp;sortOrder=descending&#39;</span>
-                                <span class="s1">&#39;&amp;max_results=5&#39;</span><span class="p">)</span>
-                    <span class="n">arxivquery</span> <span class="o">=</span> <span class="n">feedparser</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">queryurl</span><span class="p">)</span>
-                    <span class="n">queryresults</span> <span class="o">=</span> <span class="n">arxivquery</span>
-                    <span class="k">if</span> <span class="n">queryresults</span><span class="o">.</span><span class="n">entries</span><span class="p">:</span>
-                        <span class="n">coauthorships</span><span class="p">[</span><span class="n">Fellow</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">queryresults</span>
-
-        <span class="n">eligibility_form</span> <span class="o">=</span> <span class="n">VotingEligibilityForm</span><span class="p">(</span>
-            <span class="n">discipline</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">discipline</span><span class="p">,</span>
-            <span class="n">subject_area</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">subject_area</span><span class="p">)</span>
-
-    <span class="n">context</span> <span class="o">=</span> <span class="p">{</span>
-        <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">recommendation</span><span class="p">,</span>
-        <span class="s1">&#39;Fellows_with_expertise&#39;</span><span class="p">:</span> <span class="n">Fellows_with_expertise</span><span class="p">,</span>
-        <span class="s1">&#39;coauthorships&#39;</span><span class="p">:</span> <span class="n">coauthorships</span><span class="p">,</span>
-        <span class="s1">&#39;eligibility_form&#39;</span><span class="p">:</span> <span class="n">eligibility_form</span><span class="p">,</span>
-    <span class="p">}</span>
-    <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;submissions/prepare_for_voting.html&#39;</span><span class="p">,</span> <span class="n">context</span><span class="p">)</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_take_charge_of_submissions&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<span class="k">def</span> <span class="nf">vote_on_rec</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">rec_id</span><span class="p">):</span>
-    <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">method</span> <span class="o">==</span> <span class="s1">&#39;POST&#39;</span><span class="p">:</span>
-        <span class="n">recommendation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">EICRecommendation</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">rec_id</span><span class="p">)</span>
-        <span class="n">form</span> <span class="o">=</span> <span class="n">RecommendationVoteForm</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">POST</span><span class="p">)</span>
-        <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">is_valid</span><span class="p">():</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;vote&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;agree&#39;</span><span class="p">:</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_for</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_against</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_abstain</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;vote&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;disagree&#39;</span><span class="p">:</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_for</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_against</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_abstain</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="k">elif</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;vote&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;abstain&#39;</span><span class="p">:</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_for</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_against</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-                <span class="n">recommendation</span><span class="o">.</span><span class="n">voted_abstain</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">)</span>
-            <span class="k">if</span> <span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remark&#39;</span><span class="p">]:</span>
-                <span class="n">remark</span> <span class="o">=</span> <span class="n">Remark</span><span class="p">(</span><span class="n">contributor</span><span class="o">=</span><span class="n">request</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">contributor</span><span class="p">,</span>
-                                <span class="n">recommendation</span><span class="o">=</span><span class="n">recommendation</span><span class="p">,</span>
-                                <span class="n">date</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">(),</span>
-                                <span class="n">remark</span><span class="o">=</span><span class="n">form</span><span class="o">.</span><span class="n">cleaned_data</span><span class="p">[</span><span class="s1">&#39;remark&#39;</span><span class="p">])</span>
-                <span class="n">remark</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="n">recommendation</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-            <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:pool&#39;</span><span class="p">))</span>
-
-    <span class="k">return</span> <span class="n">redirect</span><span class="p">(</span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;submissions:pool&#39;</span><span class="p">))</span>
-
-
-<span class="nd">@permission_required</span><span class="p">(</span><span class="s1">&#39;scipost.can_fix_College_decision&#39;</span><span class="p">,</span> <span class="n">raise_exception</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="nd">@transaction</span><span class="o">.</span><span class="n">atomic</span>
-<div class="viewcode-block" id="fix_College_decision"><a class="viewcode-back" href="../../developers/codebase/modules/views.html#submissions.views.fix_College_decision">[docs]</a><span class="k">def</span> <span class="nf">fix_College_decision</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="n">rec_id</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot;</span>
-<span class="sd">    Terminates the voting on a Recommendation.</span>
-<span class="sd">    Called by an Editorial Administrator.</span>
-<span class="sd">    &quot;&quot;&quot;</span>
-    <span class="n">recommendation</span> <span class="o">=</span> <span class="n">get_object_or_404</span><span class="p">(</span><span class="n">EICRecommendation</span><span class="p">,</span> <span class="n">pk</span><span class="o">=</span><span class="n">rec_id</span><span class="p">)</span>
-    <span class="k">if</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span><span class="o">==</span><span class="mi">1</span><span class="p">:</span>
-        <span class="c1"># Publish as Tier I (top 10%)</span>
-        <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;accepted&#39;</span>
-    <span class="k">elif</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span><span class="o">==</span><span class="mi">2</span><span class="p">:</span>
-        <span class="c1"># Publish as Tier II (top 50%)</span>
-        <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;accepted&#39;</span>
-    <span class="k">elif</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span><span class="o">==</span><span class="mi">3</span><span class="p">:</span>
-        <span class="c1"># Publish as Tier III (meets criteria)</span>
-        <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;accepted&#39;</span>
-    <span class="k">elif</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">recommendation</span><span class="o">==-</span><span class="mi">3</span><span class="p">:</span>
-        <span class="c1"># Reject</span>
-        <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">status</span><span class="o">=</span><span class="s1">&#39;rejected&#39;</span>
-        <span class="n">previous_submissions</span> <span class="o">=</span> <span class="n">Submission</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span>
-            <span class="n">arxiv_identifier_wo_vn_nr</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">arxiv_identifier_wo_vn_nr</span>
-        <span class="p">)</span><span class="o">.</span><span class="n">exclude</span><span class="p">(</span><span class="n">pk</span><span class="o">=</span><span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">id</span><span class="p">)</span>
-        <span class="k">for</span> <span class="n">sub</span> <span class="ow">in</span> <span class="n">previous_submissions</span><span class="p">:</span>
-            <span class="n">sub</span><span class="o">.</span><span class="n">status</span> <span class="o">=</span> <span class="s1">&#39;resubmitted_rejected&#39;</span>
-            <span class="n">sub</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-
-    <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">load</span><span class="p">({</span><span class="s1">&#39;submission&#39;</span><span class="p">:</span> <span class="n">recommendation</span><span class="o">.</span><span class="n">submission</span><span class="p">,</span>
-                          <span class="s1">&#39;recommendation&#39;</span><span class="p">:</span> <span class="n">recommendation</span><span class="p">})</span>
-    <span class="n">SubmissionUtils</span><span class="o">.</span><span class="n">send_author_College_decision_email</span><span class="p">()</span>
-    <span class="n">ack_message</span> <span class="o">=</span> <span class="s1">&#39;The Editorial College</span><span class="se">\&#39;</span><span class="s1">s decision has been fixed.&#39;</span>
-    <span class="k">return</span> <span class="n">render</span> <span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;scipost/acknowledgement.html&#39;</span><span class="p">,</span>
-                   <span class="n">context</span><span class="o">=</span><span class="p">{</span><span class="s1">&#39;ack_message&#39;</span><span class="p">:</span> <span class="n">ack_message</span><span class="p">})</span></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_modules/theses/models.html b/docs/_build/html/_modules/theses/models.html
deleted file mode 100644
index e2ecb817d28e942f030ed55149d3c800e67164a1..0000000000000000000000000000000000000000
--- a/docs/_build/html/_modules/theses/models.html
+++ /dev/null
@@ -1,315 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>theses.models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../../genindex.html"/>
-        <link rel="search" title="Search" href="../../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../../index.html"/>
-        <link rel="up" title="Module code" href="../index.html"/> 
-
-  
-  <script src="../../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="../../contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../../index.html">Docs</a> &raquo;</li>
-      
-          <li><a href="../index.html">Module code</a> &raquo;</li>
-      
-    <li>theses.models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <h1>Source code for theses.models</h1><div class="highlight"><pre>
-<span></span><span class="kn">from</span> <span class="nn">django.utils</span> <span class="k">import</span> <span class="n">timezone</span>
-<span class="kn">from</span> <span class="nn">django.db</span> <span class="k">import</span> <span class="n">models</span>
-<span class="kn">from</span> <span class="nn">django.contrib.auth.models</span> <span class="k">import</span> <span class="n">User</span>
-<span class="kn">from</span> <span class="nn">django.template</span> <span class="k">import</span> <span class="n">Template</span><span class="p">,</span> <span class="n">Context</span>
-
-<span class="kn">from</span> <span class="nn">.models</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="kn">from</span> <span class="nn">journals.models</span> <span class="k">import</span> <span class="o">*</span>
-<span class="kn">from</span> <span class="nn">scipost.models</span> <span class="k">import</span> <span class="o">*</span>
-
-<span class="n">THESIS_TYPES</span> <span class="o">=</span> <span class="p">(</span>
-    <span class="p">(</span><span class="s1">&#39;MA&#39;</span><span class="p">,</span> <span class="s1">&#39;Master</span><span class="se">\&#39;</span><span class="s1">s&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;PhD&#39;</span><span class="p">,</span> <span class="s1">&#39;Ph.D.&#39;</span><span class="p">),</span>
-    <span class="p">(</span><span class="s1">&#39;Hab&#39;</span><span class="p">,</span> <span class="s1">&#39;Habilitation&#39;</span><span class="p">),</span>
-    <span class="p">)</span>
-<span class="n">thesis_type_dict</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">THESIS_TYPES</span><span class="p">)</span>
-
-
-<div class="viewcode-block" id="ThesisLink"><a class="viewcode-back" href="../../developers/codebase/modules/models.html#theses.models.ThesisLink">[docs]</a><span class="k">class</span> <span class="nc">ThesisLink</span><span class="p">(</span><span class="n">models</span><span class="o">.</span><span class="n">Model</span><span class="p">):</span>
-    <span class="sd">&quot;&quot;&quot; An URL pointing to a thesis &quot;&quot;&quot;</span>
-    <span class="n">requested_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                      <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;thesislink_requested_by&#39;</span><span class="p">,</span>
-                                      <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="n">vetted</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-    <span class="n">vetted_by</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ForeignKey</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">null</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">on_delete</span><span class="o">=</span><span class="n">models</span><span class="o">.</span><span class="n">CASCADE</span><span class="p">)</span>
-    <span class="nb">type</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">THESIS_TYPES</span><span class="p">)</span>
-    <span class="n">discipline</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_DISCIPLINES</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;physics&#39;</span><span class="p">)</span>
-    <span class="n">domain</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_JOURNALS_DOMAINS</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="c1">#    specialization = models.CharField(max_length=1, choices=SCIPOST_JOURNALS_SPECIALIZATIONS,</span>
-<span class="c1">#                                      blank=True)</span>
-    <span class="n">subject_area</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">choices</span><span class="o">=</span><span class="n">SCIPOST_SUBJECT_AREAS</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;Phys:QP&#39;</span><span class="p">)</span>
-    <span class="n">open_for_commenting</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">BooleanField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="n">title</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;title&#39;</span><span class="p">)</span>
-    <span class="n">pub_link</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">URLField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;URL (external repository)&#39;</span><span class="p">)</span>
-    <span class="n">author</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">)</span>
-    <span class="n">author_as_cont</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                             <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;author_cont&#39;</span><span class="p">)</span>
-    <span class="n">author_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                            <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_thesis_claims&#39;</span><span class="p">)</span>
-    <span class="n">author_false_claims</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                  <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;authors_thesis_false_claims&#39;</span><span class="p">)</span>
-    <span class="n">supervisor</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
-    <span class="n">supervisor_as_cont</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">ManyToManyField</span> <span class="p">(</span><span class="n">Contributor</span><span class="p">,</span> <span class="n">blank</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
-                                                 <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;supervisor(s)&#39;</span><span class="p">,</span>
-                                                 <span class="n">related_name</span><span class="o">=</span><span class="s1">&#39;supervisor_cont&#39;</span><span class="p">)</span>
-    <span class="n">institution</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">CharField</span><span class="p">(</span><span class="n">max_length</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;degree granting institution&#39;</span><span class="p">)</span>
-    <span class="n">defense_date</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;date of thesis defense&#39;</span><span class="p">)</span>
-    <span class="n">abstract</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">TextField</span><span class="p">(</span><span class="n">verbose_name</span><span class="o">=</span><span class="s1">&#39;abstract, outline or summary&#39;</span><span class="p">)</span>
-    <span class="n">latest_activity</span> <span class="o">=</span> <span class="n">models</span><span class="o">.</span><span class="n">DateTimeField</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="n">timezone</span><span class="o">.</span><span class="n">now</span><span class="p">)</span>
-
-    <span class="k">def</span> <span class="nf">__str__</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span>
-
-    <span class="k">def</span> <span class="nf">header_as_table</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="p">,</span>
-                           <span class="s1">&#39;pub_link&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_link</span><span class="p">,</span> <span class="s1">&#39;institution&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">institution</span><span class="p">,</span>
-                           <span class="s1">&#39;supervisor&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">supervisor</span><span class="p">,</span> <span class="s1">&#39;defense_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">defense_date</span><span class="p">})</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;table&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Title: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ title }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Author: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ author }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;As Contributor: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&#39;</span><span class="p">)</span>
-        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_as_cont</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-            <span class="k">for</span> <span class="n">auth</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">author_as_cont</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
-                <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;td&gt;&lt;a href=&quot;/contributor/&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">auth</span><span class="o">.</span><span class="n">id</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;&quot;&gt;&#39;</span>
-                           <span class="o">+</span> <span class="n">auth</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">first_name</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="n">auth</span><span class="o">.</span><span class="n">user</span><span class="o">.</span><span class="n">last_name</span> <span class="o">+</span> <span class="s1">&#39;&lt;/a&gt;&lt;/td&gt;&#39;</span><span class="p">)</span>
-        <span class="k">else</span><span class="p">:</span>
-            <span class="n">header</span> <span class="o">+=</span> <span class="s1">&#39;&lt;td&gt;(not claimed)&lt;/td&gt;&#39;</span>
-        <span class="n">header</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">&#39;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Type: &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39;</span> <span class="o">+</span> <span class="n">thesis_type_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Discipline: &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39;</span> <span class="o">+</span> <span class="n">disciplines_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">discipline</span><span class="p">]</span>
-                   <span class="o">+</span> <span class="s1">&#39;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Domain: &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39;</span> <span class="o">+</span> <span class="n">journals_domains_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">domain</span><span class="p">]</span>
-                   <span class="o">+</span> <span class="s1">&#39;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-<span class="c1">#                   &#39;&lt;tr&gt;&lt;td&gt;Specialization: &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39;</span>
-<span class="c1">#                   + journals_spec_dict[self.specialization] + &#39;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Subject area: &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39;</span>
-                   <span class="o">+</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">subject_area</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;URL: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;{{ pub_link }}&quot; &#39;</span>
-                   <span class="s1">&#39;target=&quot;_blank&quot;&gt;{{ pub_link }}&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Degree granting institution: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;td&gt;{{ institution }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Supervisor(s): &lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;{{ supervisor }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;tr&gt;&lt;td&gt;Defense date: &lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;{{ defense_date }}&lt;/td&gt;&lt;/tr&gt;&#39;</span>
-                   <span class="s1">&#39;&lt;/table&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="p">,</span>
-                           <span class="s1">&#39;pub_link&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">pub_link</span><span class="p">,</span> <span class="s1">&#39;institution&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">institution</span><span class="p">,</span>
-                           <span class="s1">&#39;supervisor&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">supervisor</span><span class="p">,</span> <span class="s1">&#39;defense_date&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">defense_date</span><span class="p">,</span>
-                           <span class="s1">&#39;latest_activity&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">latest_activity</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;%Y-%m-</span><span class="si">%d</span><span class="s1"> %H:%M&#39;</span><span class="p">)})</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&lt;p&gt;&lt;a href=&quot;/thesis/{{ id }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&#39;</span> <span class="o">+</span> <span class="n">thesis_type_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; thesis by {{ author }} &#39;</span>
-                  <span class="s1">&#39;(supervisor(s): {{ supervisor }}) in &#39;</span>
-                  <span class="o">+</span> <span class="n">disciplines_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">discipline</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span>
-                  <span class="o">+</span> <span class="n">journals_domains_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">domain</span><span class="p">]</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span>
-<span class="c1">#                  + journals_spec_dict[self.specialization] + &#39; &#39;</span>
-                  <span class="o">+</span> <span class="n">subject_areas_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">subject_area</span><span class="p">]</span>
-                  <span class="o">+</span> <span class="s1">&#39;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;Defense date: {{ defense_date }} - &#39;</span>
-                  <span class="s1">&#39;Latest activity: {{ latest_activity }}&lt;/p&gt;&lt;/div&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;/div&gt;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span>
-
-
-    <span class="k">def</span> <span class="nf">simple_header_as_li</span> <span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="c1"># for Lists</span>
-        <span class="n">context</span> <span class="o">=</span> <span class="n">Context</span><span class="p">({</span><span class="s1">&#39;id&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">id</span><span class="p">,</span> <span class="s1">&#39;title&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">title</span><span class="p">,</span> <span class="s1">&#39;author&#39;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">author</span><span class="p">})</span>
-        <span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="s1">&#39;&lt;li&gt;&lt;div class=&quot;flex-container&quot;&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;div class=&quot;flex-whitebox0&quot;&gt;&lt;p&gt;&lt;a href=&quot;/thesis/{{ id }}&quot; &#39;</span>
-                  <span class="s1">&#39;class=&quot;pubtitleli&quot;&gt;{{ title }}&lt;/a&gt;&lt;/p&gt;&#39;</span>
-                  <span class="s1">&#39;&lt;p&gt;&#39;</span> <span class="o">+</span> <span class="n">thesis_type_dict</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">type</span><span class="p">]</span>
-                  <span class="o">+</span> <span class="s1">&#39; thesis by {{ author }} &lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&#39;</span><span class="p">)</span>
-        <span class="n">template</span> <span class="o">=</span> <span class="n">Template</span><span class="p">(</span><span class="n">header</span><span class="p">)</span>
-        <span class="k">return</span> <span class="n">template</span><span class="o">.</span><span class="n">render</span><span class="p">(</span><span class="n">context</span><span class="p">)</span></div>
-</pre></div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../../_static/jquery.js"></script>
-      <script type="text/javascript" src="../../_static/underscore.js"></script>
-      <script type="text/javascript" src="../../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/_sources/modules/models.txt b/docs/_build/html/_sources/modules/models.txt
deleted file mode 100644
index f9e2b5f1f473a8ac5bf42b77d6b0f903446f7121..0000000000000000000000000000000000000000
--- a/docs/_build/html/_sources/modules/models.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Models
-======
-
-.. automodule:: scipost.models
-   :members:
-
-.. automodule:: journals.models
-   :members:
-
-.. automodule:: comments.models
-   :members:
-
-.. automodule:: commentaries.models
-   :members:
-
-.. automodule:: submissions.models
-   :members:
-
-.. automodule:: theses.models
-   :members:
diff --git a/docs/_build/html/_sources/modules/views.txt b/docs/_build/html/_sources/modules/views.txt
deleted file mode 100644
index 72b290744546b9c5fb2dfd42c437084f7edb4127..0000000000000000000000000000000000000000
--- a/docs/_build/html/_sources/modules/views.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Views
-======
-
-.. automodule:: scipost.views
-   :members:
-
-.. automodule:: journals.views
-   :members:
-
-.. automodule:: comments.views
-   :members:
-
-.. automodule:: commentaries.views
-   :members:
-
-.. automodule:: submissions.views
-   :members:
-
-.. automodule:: theses.views
-   :members:
diff --git a/docs/_build/html/_static/alabaster.css b/docs/_build/html/_static/alabaster.css
deleted file mode 100644
index a88ce299cbaec439c46585aecaf5dd53312347d6..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/alabaster.css
+++ /dev/null
@@ -1,693 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@import url("basic.css");
-
-/* -- page layout ----------------------------------------------------------- */
-
-body {
-    font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
-    font-size: 17px;
-    background-color: #fff;
-    color: #000;
-    margin: 0;
-    padding: 0;
-}
-
-
-div.document {
-    width: 940px;
-    margin: 30px auto 0 auto;
-}
-
-div.documentwrapper {
-    float: left;
-    width: 100%;
-}
-
-div.bodywrapper {
-    margin: 0 0 0 220px;
-}
-
-div.sphinxsidebar {
-    width: 220px;
-    font-size: 14px;
-    line-height: 1.5;
-}
-
-hr {
-    border: 1px solid #B1B4B6;
-}
-
-div.body {
-    background-color: #fff;
-    color: #3E4349;
-    padding: 0 30px 0 30px;
-}
-
-div.body > .section {
-    text-align: left;
-}
-
-div.footer {
-    width: 940px;
-    margin: 20px auto 30px auto;
-    font-size: 14px;
-    color: #888;
-    text-align: right;
-}
-
-div.footer a {
-    color: #888;
-}
-
-p.caption {
-    font-family: inherit;
-    font-size: inherit;
-}
-
-
-div.relations {
-    display: none;
-}
-
-
-div.sphinxsidebar a {
-    color: #444;
-    text-decoration: none;
-    border-bottom: 1px dotted #999;
-}
-
-div.sphinxsidebar a:hover {
-    border-bottom: 1px solid #999;
-}
-
-div.sphinxsidebarwrapper {
-    padding: 18px 10px;
-}
-
-div.sphinxsidebarwrapper p.logo {
-    padding: 0;
-    margin: -10px 0 0 0px;
-    text-align: center;
-}
-
-div.sphinxsidebarwrapper h1.logo {
-    margin-top: -10px;
-    text-align: center;
-    margin-bottom: 5px;
-    text-align: left;
-}
-
-div.sphinxsidebarwrapper h1.logo-name {
-    margin-top: 0px;
-}
-
-div.sphinxsidebarwrapper p.blurb {
-    margin-top: 0;
-    font-style: normal;
-}
-
-div.sphinxsidebar h3,
-div.sphinxsidebar h4 {
-    font-family: 'Garamond', 'Georgia', serif;
-    color: #444;
-    font-size: 24px;
-    font-weight: normal;
-    margin: 0 0 5px 0;
-    padding: 0;
-}
-
-div.sphinxsidebar h4 {
-    font-size: 20px;
-}
-
-div.sphinxsidebar h3 a {
-    color: #444;
-}
-
-div.sphinxsidebar p.logo a,
-div.sphinxsidebar h3 a,
-div.sphinxsidebar p.logo a:hover,
-div.sphinxsidebar h3 a:hover {
-    border: none;
-}
-
-div.sphinxsidebar p {
-    color: #555;
-    margin: 10px 0;
-}
-
-div.sphinxsidebar ul {
-    margin: 10px 0;
-    padding: 0;
-    color: #000;
-}
-
-div.sphinxsidebar ul li.toctree-l1 > a {
-    font-size: 120%;
-}
-
-div.sphinxsidebar ul li.toctree-l2 > a {
-    font-size: 110%;
-}
-
-div.sphinxsidebar input {
-    border: 1px solid #CCC;
-    font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
-    font-size: 1em;
-}
-
-div.sphinxsidebar hr {
-    border: none;
-    height: 1px;
-    color: #AAA;
-    background: #AAA;
-
-    text-align: left;
-    margin-left: 0;
-    width: 50%;
-}
-
-/* -- body styles ----------------------------------------------------------- */
-
-a {
-    color: #004B6B;
-    text-decoration: underline;
-}
-
-a:hover {
-    color: #6D4100;
-    text-decoration: underline;
-}
-
-div.body h1,
-div.body h2,
-div.body h3,
-div.body h4,
-div.body h5,
-div.body h6 {
-    font-family: 'Garamond', 'Georgia', serif;
-    font-weight: normal;
-    margin: 30px 0px 10px 0px;
-    padding: 0;
-}
-
-div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
-div.body h2 { font-size: 180%; }
-div.body h3 { font-size: 150%; }
-div.body h4 { font-size: 130%; }
-div.body h5 { font-size: 100%; }
-div.body h6 { font-size: 100%; }
-
-a.headerlink {
-    color: #DDD;
-    padding: 0 4px;
-    text-decoration: none;
-}
-
-a.headerlink:hover {
-    color: #444;
-    background: #EAEAEA;
-}
-
-div.body p, div.body dd, div.body li {
-    line-height: 1.4em;
-}
-
-div.admonition {
-    margin: 20px 0px;
-    padding: 10px 30px;
-    background-color: #EEE;
-    border: 1px solid #CCC;
-}
-
-div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
-    background-color: ;
-    border-bottom: 1px solid #fafafa;
-}
-
-dd div.admonition {
-    margin-left: -60px;
-    padding-left: 60px;
-}
-
-div.admonition p.admonition-title {
-    font-family: 'Garamond', 'Georgia', serif;
-    font-weight: normal;
-    font-size: 24px;
-    margin: 0 0 10px 0;
-    padding: 0;
-    line-height: 1;
-}
-
-div.admonition p.last {
-    margin-bottom: 0;
-}
-
-div.highlight {
-    background-color: #fff;
-}
-
-dt:target, .highlight {
-    background: #FAF3E8;
-}
-
-div.warning {
-    background-color: #FCC;
-    border: 1px solid #FAA;
-}
-
-div.danger {
-    background-color: #FCC;
-    border: 1px solid #FAA;
-    -moz-box-shadow: 2px 2px 4px #D52C2C;
-    -webkit-box-shadow: 2px 2px 4px #D52C2C;
-    box-shadow: 2px 2px 4px #D52C2C;
-}
-
-div.error {
-    background-color: #FCC;
-    border: 1px solid #FAA;
-    -moz-box-shadow: 2px 2px 4px #D52C2C;
-    -webkit-box-shadow: 2px 2px 4px #D52C2C;
-    box-shadow: 2px 2px 4px #D52C2C;
-}
-
-div.caution {
-    background-color: #FCC;
-    border: 1px solid #FAA;
-}
-
-div.attention {
-    background-color: #FCC;
-    border: 1px solid #FAA;
-}
-
-div.important {
-    background-color: #EEE;
-    border: 1px solid #CCC;
-}
-
-div.note {
-    background-color: #EEE;
-    border: 1px solid #CCC;
-}
-
-div.tip {
-    background-color: #EEE;
-    border: 1px solid #CCC;
-}
-
-div.hint {
-    background-color: #EEE;
-    border: 1px solid #CCC;
-}
-
-div.seealso {
-    background-color: #EEE;
-    border: 1px solid #CCC;
-}
-
-div.topic {
-    background-color: #EEE;
-}
-
-p.admonition-title {
-    display: inline;
-}
-
-p.admonition-title:after {
-    content: ":";
-}
-
-pre, tt, code {
-    font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
-    font-size: 0.9em;
-}
-
-.hll {
-    background-color: #FFC;
-    margin: 0 -12px;
-    padding: 0 12px;
-    display: block;
-}
-
-img.screenshot {
-}
-
-tt.descname, tt.descclassname, code.descname, code.descclassname {
-    font-size: 0.95em;
-}
-
-tt.descname, code.descname {
-    padding-right: 0.08em;
-}
-
-img.screenshot {
-    -moz-box-shadow: 2px 2px 4px #EEE;
-    -webkit-box-shadow: 2px 2px 4px #EEE;
-    box-shadow: 2px 2px 4px #EEE;
-}
-
-table.docutils {
-    border: 1px solid #888;
-    -moz-box-shadow: 2px 2px 4px #EEE;
-    -webkit-box-shadow: 2px 2px 4px #EEE;
-    box-shadow: 2px 2px 4px #EEE;
-}
-
-table.docutils td, table.docutils th {
-    border: 1px solid #888;
-    padding: 0.25em 0.7em;
-}
-
-table.field-list, table.footnote {
-    border: none;
-    -moz-box-shadow: none;
-    -webkit-box-shadow: none;
-    box-shadow: none;
-}
-
-table.footnote {
-    margin: 15px 0;
-    width: 100%;
-    border: 1px solid #EEE;
-    background: #FDFDFD;
-    font-size: 0.9em;
-}
-
-table.footnote + table.footnote {
-    margin-top: -15px;
-    border-top: none;
-}
-
-table.field-list th {
-    padding: 0 0.8em 0 0;
-}
-
-table.field-list td {
-    padding: 0;
-}
-
-table.field-list p {
-    margin-bottom: 0.8em;
-}
-
-table.footnote td.label {
-    width: .1px;
-    padding: 0.3em 0 0.3em 0.5em;
-}
-
-table.footnote td {
-    padding: 0.3em 0.5em;
-}
-
-dl {
-    margin: 0;
-    padding: 0;
-}
-
-dl dd {
-    margin-left: 30px;
-}
-
-blockquote {
-    margin: 0 0 0 30px;
-    padding: 0;
-}
-
-ul, ol {
-    /* Matches the 30px from the narrow-screen "li > ul" selector below */
-    margin: 10px 0 10px 30px;
-    padding: 0;
-}
-
-pre {
-    background: #EEE;
-    padding: 7px 30px;
-    margin: 15px 0px;
-    line-height: 1.3em;
-}
-
-div.viewcode-block:target {
-    background: #ffd;
-}
-
-dl pre, blockquote pre, li pre {
-    margin-left: 0;
-    padding-left: 30px;
-}
-
-dl dl pre {
-    margin-left: -90px;
-    padding-left: 90px;
-}
-
-tt, code {
-    background-color: #ecf0f3;
-    color: #222;
-    /* padding: 1px 2px; */
-}
-
-tt.xref, code.xref, a tt {
-    background-color: #FBFBFB;
-    border-bottom: 1px solid #fff;
-}
-
-a.reference {
-    text-decoration: none;
-    border-bottom: 1px dotted #004B6B;
-}
-
-/* Don't put an underline on images */
-a.image-reference, a.image-reference:hover {
-    border-bottom: none;
-}
-
-a.reference:hover {
-    border-bottom: 1px solid #6D4100;
-}
-
-a.footnote-reference {
-    text-decoration: none;
-    font-size: 0.7em;
-    vertical-align: top;
-    border-bottom: 1px dotted #004B6B;
-}
-
-a.footnote-reference:hover {
-    border-bottom: 1px solid #6D4100;
-}
-
-a:hover tt, a:hover code {
-    background: #EEE;
-}
-
-
-@media screen and (max-width: 870px) {
-
-    div.sphinxsidebar {
-    	display: none;
-    }
-
-    div.document {
-       width: 100%;
-
-    }
-
-    div.documentwrapper {
-    	margin-left: 0;
-    	margin-top: 0;
-    	margin-right: 0;
-    	margin-bottom: 0;
-    }
-
-    div.bodywrapper {
-    	margin-top: 0;
-    	margin-right: 0;
-    	margin-bottom: 0;
-    	margin-left: 0;
-    }
-
-    ul {
-    	margin-left: 0;
-    }
-
-	li > ul {
-        /* Matches the 30px from the "ul, ol" selector above */
-		margin-left: 30px;
-	}
-
-    .document {
-    	width: auto;
-    }
-
-    .footer {
-    	width: auto;
-    }
-
-    .bodywrapper {
-    	margin: 0;
-    }
-
-    .footer {
-    	width: auto;
-    }
-
-    .github {
-        display: none;
-    }
-
-
-
-}
-
-
-
-@media screen and (max-width: 875px) {
-
-    body {
-        margin: 0;
-        padding: 20px 30px;
-    }
-
-    div.documentwrapper {
-        float: none;
-        background: #fff;
-    }
-
-    div.sphinxsidebar {
-        display: block;
-        float: none;
-        width: 102.5%;
-        margin: 50px -30px -20px -30px;
-        padding: 10px 20px;
-        background: #333;
-        color: #FFF;
-    }
-
-    div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
-    div.sphinxsidebar h3 a {
-        color: #fff;
-    }
-
-    div.sphinxsidebar a {
-        color: #AAA;
-    }
-
-    div.sphinxsidebar p.logo {
-        display: none;
-    }
-
-    div.document {
-        width: 100%;
-        margin: 0;
-    }
-
-    div.footer {
-        display: none;
-    }
-
-    div.bodywrapper {
-        margin: 0;
-    }
-
-    div.body {
-        min-height: 0;
-        padding: 0;
-    }
-
-    .rtd_doc_footer {
-        display: none;
-    }
-
-    .document {
-        width: auto;
-    }
-
-    .footer {
-        width: auto;
-    }
-
-    .footer {
-        width: auto;
-    }
-
-    .github {
-        display: none;
-    }
-}
-
-
-/* misc. */
-
-.revsys-inline {
-    display: none!important;
-}
-
-/* Make nested-list/multi-paragraph items look better in Releases changelog
- * pages. Without this, docutils' magical list fuckery causes inconsistent
- * formatting between different release sub-lists.
- */
-div#changelog > div.section > ul > li > p:only-child {
-    margin-bottom: 0;
-}
-
-/* Hide fugly table cell borders in ..bibliography:: directive output */
-table.docutils.citation, table.docutils.citation td, table.docutils.citation th {
-  border: none;
-  /* Below needed in some edge cases; if not applied, bottom shadows appear */
-  -moz-box-shadow: none;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
\ No newline at end of file
diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css
deleted file mode 100644
index 0b79414a16adfcf062bf14fc3c040bc335eb79ad..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/basic.css
+++ /dev/null
@@ -1,611 +0,0 @@
-/*
- * basic.css
- * ~~~~~~~~~
- *
- * Sphinx stylesheet -- basic theme.
- *
- * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/* -- main layout ----------------------------------------------------------- */
-
-div.clearer {
-    clear: both;
-}
-
-/* -- relbar ---------------------------------------------------------------- */
-
-div.related {
-    width: 100%;
-    font-size: 90%;
-}
-
-div.related h3 {
-    display: none;
-}
-
-div.related ul {
-    margin: 0;
-    padding: 0 0 0 10px;
-    list-style: none;
-}
-
-div.related li {
-    display: inline;
-}
-
-div.related li.right {
-    float: right;
-    margin-right: 5px;
-}
-
-/* -- sidebar --------------------------------------------------------------- */
-
-div.sphinxsidebarwrapper {
-    padding: 10px 5px 0 10px;
-}
-
-div.sphinxsidebar {
-    float: left;
-    width: 230px;
-    margin-left: -100%;
-    font-size: 90%;
-    word-wrap: break-word;
-    overflow-wrap : break-word;
-}
-
-div.sphinxsidebar ul {
-    list-style: none;
-}
-
-div.sphinxsidebar ul ul,
-div.sphinxsidebar ul.want-points {
-    margin-left: 20px;
-    list-style: square;
-}
-
-div.sphinxsidebar ul ul {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-div.sphinxsidebar form {
-    margin-top: 10px;
-}
-
-div.sphinxsidebar input {
-    border: 1px solid #98dbcc;
-    font-family: sans-serif;
-    font-size: 1em;
-}
-
-div.sphinxsidebar #searchbox input[type="text"] {
-    width: 170px;
-}
-
-img {
-    border: 0;
-    max-width: 100%;
-}
-
-/* -- search page ----------------------------------------------------------- */
-
-ul.search {
-    margin: 10px 0 0 20px;
-    padding: 0;
-}
-
-ul.search li {
-    padding: 5px 0 5px 20px;
-    background-image: url(file.png);
-    background-repeat: no-repeat;
-    background-position: 0 7px;
-}
-
-ul.search li a {
-    font-weight: bold;
-}
-
-ul.search li div.context {
-    color: #888;
-    margin: 2px 0 0 30px;
-    text-align: left;
-}
-
-ul.keywordmatches li.goodmatch a {
-    font-weight: bold;
-}
-
-/* -- index page ------------------------------------------------------------ */
-
-table.contentstable {
-    width: 90%;
-}
-
-table.contentstable p.biglink {
-    line-height: 150%;
-}
-
-a.biglink {
-    font-size: 1.3em;
-}
-
-span.linkdescr {
-    font-style: italic;
-    padding-top: 5px;
-    font-size: 90%;
-}
-
-/* -- general index --------------------------------------------------------- */
-
-table.indextable {
-    width: 100%;
-}
-
-table.indextable td {
-    text-align: left;
-    vertical-align: top;
-}
-
-table.indextable dl, table.indextable dd {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-table.indextable tr.pcap {
-    height: 10px;
-}
-
-table.indextable tr.cap {
-    margin-top: 10px;
-    background-color: #f2f2f2;
-}
-
-img.toggler {
-    margin-right: 3px;
-    margin-top: 3px;
-    cursor: pointer;
-}
-
-div.modindex-jumpbox {
-    border-top: 1px solid #ddd;
-    border-bottom: 1px solid #ddd;
-    margin: 1em 0 1em 0;
-    padding: 0.4em;
-}
-
-div.genindex-jumpbox {
-    border-top: 1px solid #ddd;
-    border-bottom: 1px solid #ddd;
-    margin: 1em 0 1em 0;
-    padding: 0.4em;
-}
-
-/* -- general body styles --------------------------------------------------- */
-
-div.body p, div.body dd, div.body li, div.body blockquote {
-    -moz-hyphens: auto;
-    -ms-hyphens: auto;
-    -webkit-hyphens: auto;
-    hyphens: auto;
-}
-
-a.headerlink {
-    visibility: hidden;
-}
-
-h1:hover > a.headerlink,
-h2:hover > a.headerlink,
-h3:hover > a.headerlink,
-h4:hover > a.headerlink,
-h5:hover > a.headerlink,
-h6:hover > a.headerlink,
-dt:hover > a.headerlink,
-caption:hover > a.headerlink,
-p.caption:hover > a.headerlink,
-div.code-block-caption:hover > a.headerlink {
-    visibility: visible;
-}
-
-div.body p.caption {
-    text-align: inherit;
-}
-
-div.body td {
-    text-align: left;
-}
-
-.field-list ul {
-    padding-left: 1em;
-}
-
-.first {
-    margin-top: 0 !important;
-}
-
-p.rubric {
-    margin-top: 30px;
-    font-weight: bold;
-}
-
-img.align-left, .figure.align-left, object.align-left {
-    clear: left;
-    float: left;
-    margin-right: 1em;
-}
-
-img.align-right, .figure.align-right, object.align-right {
-    clear: right;
-    float: right;
-    margin-left: 1em;
-}
-
-img.align-center, .figure.align-center, object.align-center {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.align-left {
-    text-align: left;
-}
-
-.align-center {
-    text-align: center;
-}
-
-.align-right {
-    text-align: right;
-}
-
-/* -- sidebars -------------------------------------------------------------- */
-
-div.sidebar {
-    margin: 0 0 0.5em 1em;
-    border: 1px solid #ddb;
-    padding: 7px 7px 0 7px;
-    background-color: #ffe;
-    width: 40%;
-    float: right;
-}
-
-p.sidebar-title {
-    font-weight: bold;
-}
-
-/* -- topics ---------------------------------------------------------------- */
-
-div.topic {
-    border: 1px solid #ccc;
-    padding: 7px 7px 0 7px;
-    margin: 10px 0 10px 0;
-}
-
-p.topic-title {
-    font-size: 1.1em;
-    font-weight: bold;
-    margin-top: 10px;
-}
-
-/* -- admonitions ----------------------------------------------------------- */
-
-div.admonition {
-    margin-top: 10px;
-    margin-bottom: 10px;
-    padding: 7px;
-}
-
-div.admonition dt {
-    font-weight: bold;
-}
-
-div.admonition dl {
-    margin-bottom: 0;
-}
-
-p.admonition-title {
-    margin: 0px 10px 5px 0px;
-    font-weight: bold;
-}
-
-div.body p.centered {
-    text-align: center;
-    margin-top: 25px;
-}
-
-/* -- tables ---------------------------------------------------------------- */
-
-table.docutils {
-    border: 0;
-    border-collapse: collapse;
-}
-
-table caption span.caption-number {
-    font-style: italic;
-}
-
-table caption span.caption-text {
-}
-
-table.docutils td, table.docutils th {
-    padding: 1px 8px 1px 5px;
-    border-top: 0;
-    border-left: 0;
-    border-right: 0;
-    border-bottom: 1px solid #aaa;
-}
-
-table.field-list td, table.field-list th {
-    border: 0 !important;
-}
-
-table.footnote td, table.footnote th {
-    border: 0 !important;
-}
-
-th {
-    text-align: left;
-    padding-right: 5px;
-}
-
-table.citation {
-    border-left: solid 1px gray;
-    margin-left: 1px;
-}
-
-table.citation td {
-    border-bottom: none;
-}
-
-/* -- figures --------------------------------------------------------------- */
-
-div.figure {
-    margin: 0.5em;
-    padding: 0.5em;
-}
-
-div.figure p.caption {
-    padding: 0.3em;
-}
-
-div.figure p.caption span.caption-number {
-    font-style: italic;
-}
-
-div.figure p.caption span.caption-text {
-}
-
-
-/* -- other body styles ----------------------------------------------------- */
-
-ol.arabic {
-    list-style: decimal;
-}
-
-ol.loweralpha {
-    list-style: lower-alpha;
-}
-
-ol.upperalpha {
-    list-style: upper-alpha;
-}
-
-ol.lowerroman {
-    list-style: lower-roman;
-}
-
-ol.upperroman {
-    list-style: upper-roman;
-}
-
-dl {
-    margin-bottom: 15px;
-}
-
-dd p {
-    margin-top: 0px;
-}
-
-dd ul, dd table {
-    margin-bottom: 10px;
-}
-
-dd {
-    margin-top: 3px;
-    margin-bottom: 10px;
-    margin-left: 30px;
-}
-
-dt:target, .highlighted {
-    background-color: #fbe54e;
-}
-
-dl.glossary dt {
-    font-weight: bold;
-    font-size: 1.1em;
-}
-
-.field-list ul {
-    margin: 0;
-    padding-left: 1em;
-}
-
-.field-list p {
-    margin: 0;
-}
-
-.optional {
-    font-size: 1.3em;
-}
-
-.sig-paren {
-    font-size: larger;
-}
-
-.versionmodified {
-    font-style: italic;
-}
-
-.system-message {
-    background-color: #fda;
-    padding: 5px;
-    border: 3px solid red;
-}
-
-.footnote:target  {
-    background-color: #ffa;
-}
-
-.line-block {
-    display: block;
-    margin-top: 1em;
-    margin-bottom: 1em;
-}
-
-.line-block .line-block {
-    margin-top: 0;
-    margin-bottom: 0;
-    margin-left: 1.5em;
-}
-
-.guilabel, .menuselection {
-    font-family: sans-serif;
-}
-
-.accelerator {
-    text-decoration: underline;
-}
-
-.classifier {
-    font-style: oblique;
-}
-
-abbr, acronym {
-    border-bottom: dotted 1px;
-    cursor: help;
-}
-
-/* -- code displays --------------------------------------------------------- */
-
-pre {
-    overflow: auto;
-    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
-}
-
-span.pre {
-    -moz-hyphens: none;
-    -ms-hyphens: none;
-    -webkit-hyphens: none;
-    hyphens: none;
-}
-
-td.linenos pre {
-    padding: 5px 0px;
-    border: 0;
-    background-color: transparent;
-    color: #aaa;
-}
-
-table.highlighttable {
-    margin-left: 0.5em;
-}
-
-table.highlighttable td {
-    padding: 0 0.5em 0 0.5em;
-}
-
-div.code-block-caption {
-    padding: 2px 5px;
-    font-size: small;
-}
-
-div.code-block-caption code {
-    background-color: transparent;
-}
-
-div.code-block-caption + div > div.highlight > pre {
-    margin-top: 0;
-}
-
-div.code-block-caption span.caption-number {
-    padding: 0.1em 0.3em;
-    font-style: italic;
-}
-
-div.code-block-caption span.caption-text {
-}
-
-div.literal-block-wrapper {
-    padding: 1em 1em 0;
-}
-
-div.literal-block-wrapper div.highlight {
-    margin: 0;
-}
-
-code.descname {
-    background-color: transparent;
-    font-weight: bold;
-    font-size: 1.2em;
-}
-
-code.descclassname {
-    background-color: transparent;
-}
-
-code.xref, a code {
-    background-color: transparent;
-    font-weight: bold;
-}
-
-h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
-    background-color: transparent;
-}
-
-.viewcode-link {
-    float: right;
-}
-
-.viewcode-back {
-    float: right;
-    font-family: sans-serif;
-}
-
-div.viewcode-block:target {
-    margin: -1px -10px;
-    padding: 0 10px;
-}
-
-/* -- math display ---------------------------------------------------------- */
-
-img.math {
-    vertical-align: middle;
-}
-
-div.body div.math p {
-    text-align: center;
-}
-
-span.eqno {
-    float: right;
-}
-
-/* -- printout stylesheet --------------------------------------------------- */
-
-@media print {
-    div.document,
-    div.documentwrapper,
-    div.bodywrapper {
-        margin: 0 !important;
-        width: 100%;
-    }
-
-    div.sphinxsidebar,
-    div.related,
-    div.footer,
-    #top-link {
-        display: none;
-    }
-}
\ No newline at end of file
diff --git a/docs/_build/html/_static/css/badge_only.css b/docs/_build/html/_static/css/badge_only.css
deleted file mode 100644
index 7e17fb148c63fa9780c3dd65cef5b7593927ef62..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/css/badge_only.css
+++ /dev/null
@@ -1,2 +0,0 @@
-.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}
-/*# sourceMappingURL=badge_only.css.map */
diff --git a/docs/_build/html/_static/css/theme.css b/docs/_build/html/_static/css/theme.css
deleted file mode 100644
index 7be93399a4f530da7eb43e2c214ec42cea89a6c3..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/css/theme.css
+++ /dev/null
@@ -1,5 +0,0 @@
-*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*!
- *  Font Awesome 4.2.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.2.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.2.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.2.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{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.33333em;line-height:0.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.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-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{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-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:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{width:36px;height:12px;margin:12px 0;position:relative;border-radius:4px;background:#ccc;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:before{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:after{content:"false";position:absolute;left:48px;display:block;font-size:12px;color:#ccc}.wy-switch.active{background:#1e8449}.wy-switch.active:before{left:24px;background:#27AE60}.wy-switch.active:after{content:"true"}.wy-switch.disabled,.wy-switch.active.disabled{cursor:not-allowed}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#555;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:0.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:0.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:0.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:0.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:0.4045em 5.663em;border-top:none;border-bottom:none}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:0.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#b3b3b3}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:0.809em;margin-bottom:0.809em;z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:0.85em}.wy-side-nav-search>div.version{margin-top:-0.4045em;margin-bottom:0.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:#999}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content .toctree-wrapper p.caption:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink,.rst-content p.caption:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt,.rst-content tt,.rst-content code{color:#000;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:400;src:local("Inconsolata"),local("Inconsolata-Regular"),url(../fonts/Inconsolata-Regular.ttf) format("truetype")}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:700;src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url(../fonts/Inconsolata-Bold.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular"),url(../fonts/Lato-Regular.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold"),url(../fonts/Lato-Bold.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url(../fonts/RobotoSlab-Regular.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:local("Roboto Slab Bold"),local("RobotoSlab-Bold"),url(../fonts/RobotoSlab-Bold.ttf) format("truetype")}
-/*# sourceMappingURL=theme.css.map */
diff --git a/docs/_build/html/_static/custom.css b/docs/_build/html/_static/custom.css
deleted file mode 100644
index 2a924f1d6a8bc930c5296bdb2d5c2d3e39b04a1c..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/custom.css
+++ /dev/null
@@ -1 +0,0 @@
-/* This file intentionally left blank. */
diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js
deleted file mode 100644
index 816349563588e87ca99c7cf2d6e54268e52e761d..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/doctools.js
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * doctools.js
- * ~~~~~~~~~~~
- *
- * Sphinx JavaScript utilities for all documentation.
- *
- * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-/**
- * select a different prefix for underscore
- */
-$u = _.noConflict();
-
-/**
- * make the code below compatible with browsers without
- * an installed firebug like debugger
-if (!window.console || !console.firebug) {
-  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
-    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
-    "profile", "profileEnd"];
-  window.console = {};
-  for (var i = 0; i < names.length; ++i)
-    window.console[names[i]] = function() {};
-}
- */
-
-/**
- * small helper function to urldecode strings
- */
-jQuery.urldecode = function(x) {
-  return decodeURIComponent(x).replace(/\+/g, ' ');
-};
-
-/**
- * small helper function to urlencode strings
- */
-jQuery.urlencode = encodeURIComponent;
-
-/**
- * This function returns the parsed url parameters of the
- * current request. Multiple values per key are supported,
- * it will always return arrays of strings for the value parts.
- */
-jQuery.getQueryParameters = function(s) {
-  if (typeof s == 'undefined')
-    s = document.location.search;
-  var parts = s.substr(s.indexOf('?') + 1).split('&');
-  var result = {};
-  for (var i = 0; i < parts.length; i++) {
-    var tmp = parts[i].split('=', 2);
-    var key = jQuery.urldecode(tmp[0]);
-    var value = jQuery.urldecode(tmp[1]);
-    if (key in result)
-      result[key].push(value);
-    else
-      result[key] = [value];
-  }
-  return result;
-};
-
-/**
- * highlight a given string on a jquery object by wrapping it in
- * span elements with the given class name.
- */
-jQuery.fn.highlightText = function(text, className) {
-  function highlight(node) {
-    if (node.nodeType == 3) {
-      var val = node.nodeValue;
-      var pos = val.toLowerCase().indexOf(text);
-      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
-        var span = document.createElement("span");
-        span.className = className;
-        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
-        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
-          document.createTextNode(val.substr(pos + text.length)),
-          node.nextSibling));
-        node.nodeValue = val.substr(0, pos);
-      }
-    }
-    else if (!jQuery(node).is("button, select, textarea")) {
-      jQuery.each(node.childNodes, function() {
-        highlight(this);
-      });
-    }
-  }
-  return this.each(function() {
-    highlight(this);
-  });
-};
-
-/*
- * backward compatibility for jQuery.browser
- * This will be supported until firefox bug is fixed.
- */
-if (!jQuery.browser) {
-  jQuery.uaMatch = function(ua) {
-    ua = ua.toLowerCase();
-
-    var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
-      /(webkit)[ \/]([\w.]+)/.exec(ua) ||
-      /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
-      /(msie) ([\w.]+)/.exec(ua) ||
-      ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
-      [];
-
-    return {
-      browser: match[ 1 ] || "",
-      version: match[ 2 ] || "0"
-    };
-  };
-  jQuery.browser = {};
-  jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
-}
-
-/**
- * Small JavaScript module for the documentation.
- */
-var Documentation = {
-
-  init : function() {
-    this.fixFirefoxAnchorBug();
-    this.highlightSearchWords();
-    this.initIndexTable();
-    
-  },
-
-  /**
-   * i18n support
-   */
-  TRANSLATIONS : {},
-  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
-  LOCALE : 'unknown',
-
-  // gettext and ngettext don't access this so that the functions
-  // can safely bound to a different name (_ = Documentation.gettext)
-  gettext : function(string) {
-    var translated = Documentation.TRANSLATIONS[string];
-    if (typeof translated == 'undefined')
-      return string;
-    return (typeof translated == 'string') ? translated : translated[0];
-  },
-
-  ngettext : function(singular, plural, n) {
-    var translated = Documentation.TRANSLATIONS[singular];
-    if (typeof translated == 'undefined')
-      return (n == 1) ? singular : plural;
-    return translated[Documentation.PLURALEXPR(n)];
-  },
-
-  addTranslations : function(catalog) {
-    for (var key in catalog.messages)
-      this.TRANSLATIONS[key] = catalog.messages[key];
-    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
-    this.LOCALE = catalog.locale;
-  },
-
-  /**
-   * add context elements like header anchor links
-   */
-  addContextElements : function() {
-    $('div[id] > :header:first').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this headline')).
-      appendTo(this);
-    });
-    $('dt[id]').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this definition')).
-      appendTo(this);
-    });
-  },
-
-  /**
-   * workaround a firefox stupidity
-   * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
-   */
-  fixFirefoxAnchorBug : function() {
-    if (document.location.hash)
-      window.setTimeout(function() {
-        document.location.href += '';
-      }, 10);
-  },
-
-  /**
-   * highlight the search words provided in the url in the text
-   */
-  highlightSearchWords : function() {
-    var params = $.getQueryParameters();
-    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
-    if (terms.length) {
-      var body = $('div.body');
-      if (!body.length) {
-        body = $('body');
-      }
-      window.setTimeout(function() {
-        $.each(terms, function() {
-          body.highlightText(this.toLowerCase(), 'highlighted');
-        });
-      }, 10);
-      $('<p class="highlight-link"><a href="javascript:Documentation.' +
-        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
-          .appendTo($('#searchbox'));
-    }
-  },
-
-  /**
-   * init the domain index toggle buttons
-   */
-  initIndexTable : function() {
-    var togglers = $('img.toggler').click(function() {
-      var src = $(this).attr('src');
-      var idnum = $(this).attr('id').substr(7);
-      $('tr.cg-' + idnum).toggle();
-      if (src.substr(-9) == 'minus.png')
-        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
-      else
-        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
-    }).css('display', '');
-    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
-        togglers.click();
-    }
-  },
-
-  /**
-   * helper function to hide the search marks again
-   */
-  hideSearchWords : function() {
-    $('#searchbox .highlight-link').fadeOut(300);
-    $('span.highlighted').removeClass('highlighted');
-  },
-
-  /**
-   * make the url absolute
-   */
-  makeURL : function(relativeURL) {
-    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
-  },
-
-  /**
-   * get the current relative url
-   */
-  getCurrentURL : function() {
-    var path = document.location.pathname;
-    var parts = path.split(/\//);
-    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
-      if (this == '..')
-        parts.pop();
-    });
-    var url = parts.join('/');
-    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
-  },
-
-  initOnKeyListeners: function() {
-    $(document).keyup(function(event) {
-      var activeElementType = document.activeElement.tagName;
-      // don't navigate when in search box or textarea
-      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
-        switch (event.keyCode) {
-          case 37: // left
-            var prevHref = $('link[rel="prev"]').prop('href');
-            if (prevHref) {
-              window.location.href = prevHref;
-              return false;
-            }
-          case 39: // right
-            var nextHref = $('link[rel="next"]').prop('href');
-            if (nextHref) {
-              window.location.href = nextHref;
-              return false;
-            }
-        }
-      }
-    });
-  }
-};
-
-// quick alias for translations
-_ = Documentation.gettext;
-
-$(document).ready(function() {
-  Documentation.init();
-});
\ No newline at end of file
diff --git a/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf b/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf
deleted file mode 100644
index 58c9fef3a01c899867e280f49283fbb8e57d631d..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf b/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf
deleted file mode 100644
index a87ffba6bef48195c8cf4e3ccb42ea77034f7cbc..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/Lato-Bold.ttf b/docs/_build/html/_static/fonts/Lato-Bold.ttf
deleted file mode 100644
index 74343694e2b2114272f38b1124813b972cb592e5..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/Lato-Bold.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/Lato-Regular.ttf b/docs/_build/html/_static/fonts/Lato-Regular.ttf
deleted file mode 100644
index 04ea8efb1367727b081dea87e63818be0a4d02f0..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/Lato-Regular.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf b/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf
deleted file mode 100644
index df5d1df2730433013f41bf2698cbe249b075aa02..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf b/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf
deleted file mode 100644
index eb52a7907362cc3392eb74892883f5d9e260b638..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/fontawesome-webfont.eot b/docs/_build/html/_static/fonts/fontawesome-webfont.eot
deleted file mode 100644
index 84677bc0c5f37f1fac9d87548c4554b5c91717cf..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/fontawesome-webfont.eot and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/fontawesome-webfont.svg b/docs/_build/html/_static/fonts/fontawesome-webfont.svg
deleted file mode 100644
index d907b25ae60ec7e3d32e4027aa6e6b7595de97af..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/fonts/fontawesome-webfont.svg
+++ /dev/null
@@ -1,520 +0,0 @@
-<?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/docs/_build/html/_static/fonts/fontawesome-webfont.ttf b/docs/_build/html/_static/fonts/fontawesome-webfont.ttf
deleted file mode 100644
index 96a3639cdde5e8ab459c6380e3b9524ee81641dc..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/fontawesome-webfont.ttf and /dev/null differ
diff --git a/docs/_build/html/_static/fonts/fontawesome-webfont.woff b/docs/_build/html/_static/fonts/fontawesome-webfont.woff
deleted file mode 100644
index 628b6a52a87e62c6f22426e17c01f6a303aa194e..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/_static/fonts/fontawesome-webfont.woff and /dev/null differ
diff --git a/docs/_build/html/_static/js/modernizr.min.js b/docs/_build/html/_static/js/modernizr.min.js
deleted file mode 100644
index f65d47974786ee51c258f680bd9be621629244f5..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/js/modernizr.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
- * Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
- */
-;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=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},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(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=w.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(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(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},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
diff --git a/docs/_build/html/_static/js/theme.js b/docs/_build/html/_static/js/theme.js
deleted file mode 100644
index 48a9f06b5b893afd1afca05d880273eb6cbaf941..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/js/theme.js
+++ /dev/null
@@ -1,153 +0,0 @@
-require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"sphinx-rtd-theme":[function(require,module,exports){
-var jQuery = (typeof(window) != 'undefined') ? window.jQuery : require('jquery');
-
-// Sphinx theme nav state
-function ThemeNav () {
-
-    var nav = {
-        navBar: null,
-        win: null,
-        winScroll: false,
-        winResize: false,
-        linkScroll: false,
-        winPosition: 0,
-        winHeight: null,
-        docHeight: null,
-        isRunning: null
-    };
-
-    nav.enable = function () {
-        var self = this;
-
-        jQuery(function ($) {
-            self.init($);
-
-            self.reset();
-            self.win.on('hashchange', self.reset);
-
-            // Set scroll monitor
-            self.win.on('scroll', function () {
-                if (!self.linkScroll) {
-                    self.winScroll = true;
-                }
-            });
-            setInterval(function () { if (self.winScroll) self.onScroll(); }, 25);
-
-            // Set resize monitor
-            self.win.on('resize', function () {
-                self.winResize = true;
-            });
-            setInterval(function () { if (self.winResize) self.onResize(); }, 25);
-            self.onResize();
-        });
-    };
-
-    nav.init = function ($) {
-        var doc = $(document),
-            self = this;
-
-        this.navBar = $('div.wy-side-scroll:first');
-        this.win = $(window);
-
-        // Set up javascript UX bits
-        $(document)
-            // Shift nav in mobile when clicking the menu.
-            .on('click', "[data-toggle='wy-nav-top']", function() {
-                $("[data-toggle='wy-nav-shift']").toggleClass("shift");
-                $("[data-toggle='rst-versions']").toggleClass("shift");
-            })
-
-            // Nav menu link click operations
-            .on('click', ".wy-menu-vertical .current ul li a", function() {
-                var target = $(this);
-                // Close menu when you click a link.
-                $("[data-toggle='wy-nav-shift']").removeClass("shift");
-                $("[data-toggle='rst-versions']").toggleClass("shift");
-                // Handle dynamic display of l3 and l4 nav lists
-                self.toggleCurrent(target);
-                self.hashChange();
-            })
-            .on('click', "[data-toggle='rst-current-version']", function() {
-                $("[data-toggle='rst-versions']").toggleClass("shift-up");
-            })
-
-        // Make tables responsive
-        $("table.docutils:not(.field-list)")
-            .wrap("<div class='wy-table-responsive'></div>");
-
-        // Add expand links to all parents of nested ul
-        $('.wy-menu-vertical ul').not('.simple').siblings('a').each(function () {
-            var link = $(this);
-                expand = $('<span class="toctree-expand"></span>');
-            expand.on('click', function (ev) {
-                self.toggleCurrent(link);
-                ev.stopPropagation();
-                return false;
-            });
-            link.prepend(expand);
-        });
-    };
-
-    nav.reset = function () {
-        // Get anchor from URL and open up nested nav
-        var anchor = encodeURI(window.location.hash);
-        if (anchor) {
-            try {
-                var link = $('.wy-menu-vertical')
-                    .find('[href="' + anchor + '"]');
-                $('.wy-menu-vertical li.toctree-l1 li.current')
-                    .removeClass('current');
-                link.closest('li.toctree-l2').addClass('current');
-                link.closest('li.toctree-l3').addClass('current');
-                link.closest('li.toctree-l4').addClass('current');
-            }
-            catch (err) {
-                console.log("Error expanding nav for anchor", err);
-            }
-        }
-    };
-
-    nav.onScroll = function () {
-        this.winScroll = false;
-        var newWinPosition = this.win.scrollTop(),
-            winBottom = newWinPosition + this.winHeight,
-            navPosition = this.navBar.scrollTop(),
-            newNavPosition = navPosition + (newWinPosition - this.winPosition);
-        if (newWinPosition < 0 || winBottom > this.docHeight) {
-            return;
-        }
-        this.navBar.scrollTop(newNavPosition);
-        this.winPosition = newWinPosition;
-    };
-
-    nav.onResize = function () {
-        this.winResize = false;
-        this.winHeight = this.win.height();
-        this.docHeight = $(document).height();
-    };
-
-    nav.hashChange = function () {
-        this.linkScroll = true;
-        this.win.one('hashchange', function () {
-            this.linkScroll = false;
-        });
-    };
-
-    nav.toggleCurrent = function (elem) {
-        var parent_li = elem.closest('li');
-        parent_li.siblings('li.current').removeClass('current');
-        parent_li.siblings().find('li.current').removeClass('current');
-        parent_li.find('> ul li.current').removeClass('current');
-        parent_li.toggleClass('current');
-    }
-
-    return nav;
-};
-
-module.exports.ThemeNav = ThemeNav();
-
-if (typeof(window) != 'undefined') {
-    window.SphinxRtdTheme = { StickyNav: module.exports.ThemeNav };
-}
-
-},{"jquery":"jquery"}]},{},["sphinx-rtd-theme"]);
diff --git a/docs/_build/html/_static/pygments.css b/docs/_build/html/_static/pygments.css
deleted file mode 100644
index 8213e90bed399b1ddc4914808df328f5803e953f..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/pygments.css
+++ /dev/null
@@ -1,65 +0,0 @@
-.highlight .hll { background-color: #ffffcc }
-.highlight  { background: #eeffcc; }
-.highlight .c { color: #408090; font-style: italic } /* Comment */
-.highlight .err { border: 1px solid #FF0000 } /* Error */
-.highlight .k { color: #007020; font-weight: bold } /* Keyword */
-.highlight .o { color: #666666 } /* Operator */
-.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
-.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: #007020 } /* Comment.Preproc */
-.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
-.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
-.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
-.highlight .gd { color: #A00000 } /* Generic.Deleted */
-.highlight .ge { font-style: italic } /* Generic.Emph */
-.highlight .gr { color: #FF0000 } /* Generic.Error */
-.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.highlight .gi { color: #00A000 } /* Generic.Inserted */
-.highlight .go { color: #333333 } /* Generic.Output */
-.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
-.highlight .gs { font-weight: bold } /* Generic.Strong */
-.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.highlight .gt { color: #0044DD } /* Generic.Traceback */
-.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: #007020 } /* Keyword.Pseudo */
-.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: #902000 } /* Keyword.Type */
-.highlight .m { color: #208050 } /* Literal.Number */
-.highlight .s { color: #4070a0 } /* Literal.String */
-.highlight .na { color: #4070a0 } /* Name.Attribute */
-.highlight .nb { color: #007020 } /* Name.Builtin */
-.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
-.highlight .no { color: #60add5 } /* Name.Constant */
-.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
-.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
-.highlight .ne { color: #007020 } /* Name.Exception */
-.highlight .nf { color: #06287e } /* Name.Function */
-.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
-.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
-.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
-.highlight .nv { color: #bb60d5 } /* Name.Variable */
-.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
-.highlight .w { color: #bbbbbb } /* Text.Whitespace */
-.highlight .mb { color: #208050 } /* Literal.Number.Bin */
-.highlight .mf { color: #208050 } /* Literal.Number.Float */
-.highlight .mh { color: #208050 } /* Literal.Number.Hex */
-.highlight .mi { color: #208050 } /* Literal.Number.Integer */
-.highlight .mo { color: #208050 } /* Literal.Number.Oct */
-.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
-.highlight .sc { color: #4070a0 } /* Literal.String.Char */
-.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
-.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
-.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
-.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
-.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
-.highlight .sx { color: #c65d09 } /* Literal.String.Other */
-.highlight .sr { color: #235388 } /* Literal.String.Regex */
-.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
-.highlight .ss { color: #517918 } /* Literal.String.Symbol */
-.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
-.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
-.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
-.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
-.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js
deleted file mode 100644
index ba82ad4877ca5803883434a08f1aea6afb43f3b6..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/searchtools.js
+++ /dev/null
@@ -1,751 +0,0 @@
-/*
- * searchtools.js_t
- * ~~~~~~~~~~~~~~~~
- *
- * Sphinx JavaScript utilities for the full-text search.
- *
- * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-
-/* Non-minified version JS is _stemmer.js if file is provided */ 
-/**
- * Porter Stemmer
- */
-var Stemmer = function() {
-
-  var step2list = {
-    ational: 'ate',
-    tional: 'tion',
-    enci: 'ence',
-    anci: 'ance',
-    izer: 'ize',
-    bli: 'ble',
-    alli: 'al',
-    entli: 'ent',
-    eli: 'e',
-    ousli: 'ous',
-    ization: 'ize',
-    ation: 'ate',
-    ator: 'ate',
-    alism: 'al',
-    iveness: 'ive',
-    fulness: 'ful',
-    ousness: 'ous',
-    aliti: 'al',
-    iviti: 'ive',
-    biliti: 'ble',
-    logi: 'log'
-  };
-
-  var step3list = {
-    icate: 'ic',
-    ative: '',
-    alize: 'al',
-    iciti: 'ic',
-    ical: 'ic',
-    ful: '',
-    ness: ''
-  };
-
-  var c = "[^aeiou]";          // consonant
-  var v = "[aeiouy]";          // vowel
-  var C = c + "[^aeiouy]*";    // consonant sequence
-  var V = v + "[aeiou]*";      // vowel sequence
-
-  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
-  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
-  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
-  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
-
-  this.stemWord = function (w) {
-    var stem;
-    var suffix;
-    var firstch;
-    var origword = w;
-
-    if (w.length < 3)
-      return w;
-
-    var re;
-    var re2;
-    var re3;
-    var re4;
-
-    firstch = w.substr(0,1);
-    if (firstch == "y")
-      w = firstch.toUpperCase() + w.substr(1);
-
-    // Step 1a
-    re = /^(.+?)(ss|i)es$/;
-    re2 = /^(.+?)([^s])s$/;
-
-    if (re.test(w))
-      w = w.replace(re,"$1$2");
-    else if (re2.test(w))
-      w = w.replace(re2,"$1$2");
-
-    // Step 1b
-    re = /^(.+?)eed$/;
-    re2 = /^(.+?)(ed|ing)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      re = new RegExp(mgr0);
-      if (re.test(fp[1])) {
-        re = /.$/;
-        w = w.replace(re,"");
-      }
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1];
-      re2 = new RegExp(s_v);
-      if (re2.test(stem)) {
-        w = stem;
-        re2 = /(at|bl|iz)$/;
-        re3 = new RegExp("([^aeiouylsz])\\1$");
-        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-        if (re2.test(w))
-          w = w + "e";
-        else if (re3.test(w)) {
-          re = /.$/;
-          w = w.replace(re,"");
-        }
-        else if (re4.test(w))
-          w = w + "e";
-      }
-    }
-
-    // Step 1c
-    re = /^(.+?)y$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(s_v);
-      if (re.test(stem))
-        w = stem + "i";
-    }
-
-    // Step 2
-    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step2list[suffix];
-    }
-
-    // Step 3
-    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      suffix = fp[2];
-      re = new RegExp(mgr0);
-      if (re.test(stem))
-        w = stem + step3list[suffix];
-    }
-
-    // Step 4
-    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
-    re2 = /^(.+?)(s|t)(ion)$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      if (re.test(stem))
-        w = stem;
-    }
-    else if (re2.test(w)) {
-      var fp = re2.exec(w);
-      stem = fp[1] + fp[2];
-      re2 = new RegExp(mgr1);
-      if (re2.test(stem))
-        w = stem;
-    }
-
-    // Step 5
-    re = /^(.+?)e$/;
-    if (re.test(w)) {
-      var fp = re.exec(w);
-      stem = fp[1];
-      re = new RegExp(mgr1);
-      re2 = new RegExp(meq1);
-      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
-      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
-        w = stem;
-    }
-    re = /ll$/;
-    re2 = new RegExp(mgr1);
-    if (re.test(w) && re2.test(w)) {
-      re = /.$/;
-      w = w.replace(re,"");
-    }
-
-    // and turn initial Y back to y
-    if (firstch == "y")
-      w = firstch.toLowerCase() + w.substr(1);
-    return w;
-  }
-}
-
-
-
-/**
- * Simple result scoring code.
- */
-var Scorer = {
-  // Implement the following function to further tweak the score for each result
-  // The function takes a result array [filename, title, anchor, descr, score]
-  // and returns the new score.
-  /*
-  score: function(result) {
-    return result[4];
-  },
-  */
-
-  // query matches the full name of an object
-  objNameMatch: 11,
-  // or matches in the last dotted part of the object name
-  objPartialMatch: 6,
-  // Additive scores depending on the priority of the object
-  objPrio: {0:  15,   // used to be importantResults
-            1:  5,   // used to be objectResults
-            2: -5},  // used to be unimportantResults
-  //  Used when the priority is not in the mapping.
-  objPrioDefault: 0,
-
-  // query found in title
-  title: 15,
-  // query found in terms
-  term: 5
-};
-
-
-
-
-
-var splitChars = (function() {
-    var result = {};
-    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
-         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
-         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
-         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
-         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
-         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
-         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
-         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
-         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
-         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
-    var i, j, start, end;
-    for (i = 0; i < singles.length; i++) {
-        result[singles[i]] = true;
-    }
-    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
-         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
-         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
-         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
-         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
-         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
-         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
-         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
-         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
-         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
-         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
-         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
-         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
-         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
-         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
-         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
-         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
-         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
-         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
-         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
-         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
-         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
-         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
-         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
-         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
-         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
-         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
-         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
-         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
-         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
-         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
-         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
-         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
-         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
-         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
-         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
-         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
-         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
-         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
-         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
-         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
-         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
-         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
-         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
-         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
-         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
-         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
-         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
-         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
-    for (i = 0; i < ranges.length; i++) {
-        start = ranges[i][0];
-        end = ranges[i][1];
-        for (j = start; j <= end; j++) {
-            result[j] = true;
-        }
-    }
-    return result;
-})();
-
-function splitQuery(query) {
-    var result = [];
-    var start = -1;
-    for (var i = 0; i < query.length; i++) {
-        if (splitChars[query.charCodeAt(i)]) {
-            if (start !== -1) {
-                result.push(query.slice(start, i));
-                start = -1;
-            }
-        } else if (start === -1) {
-            start = i;
-        }
-    }
-    if (start !== -1) {
-        result.push(query.slice(start));
-    }
-    return result;
-}
-
-
-
-
-/**
- * Search Module
- */
-var Search = {
-
-  _index : null,
-  _queued_query : null,
-  _pulse_status : -1,
-
-  init : function() {
-      var params = $.getQueryParameters();
-      if (params.q) {
-          var query = params.q[0];
-          $('input[name="q"]')[0].value = query;
-          this.performSearch(query);
-      }
-  },
-
-  loadIndex : function(url) {
-    $.ajax({type: "GET", url: url, data: null,
-            dataType: "script", cache: true,
-            complete: function(jqxhr, textstatus) {
-              if (textstatus != "success") {
-                document.getElementById("searchindexloader").src = url;
-              }
-            }});
-  },
-
-  setIndex : function(index) {
-    var q;
-    this._index = index;
-    if ((q = this._queued_query) !== null) {
-      this._queued_query = null;
-      Search.query(q);
-    }
-  },
-
-  hasIndex : function() {
-      return this._index !== null;
-  },
-
-  deferQuery : function(query) {
-      this._queued_query = query;
-  },
-
-  stopPulse : function() {
-      this._pulse_status = 0;
-  },
-
-  startPulse : function() {
-    if (this._pulse_status >= 0)
-        return;
-    function pulse() {
-      var i;
-      Search._pulse_status = (Search._pulse_status + 1) % 4;
-      var dotString = '';
-      for (i = 0; i < Search._pulse_status; i++)
-        dotString += '.';
-      Search.dots.text(dotString);
-      if (Search._pulse_status > -1)
-        window.setTimeout(pulse, 500);
-    }
-    pulse();
-  },
-
-  /**
-   * perform a search for something (or wait until index is loaded)
-   */
-  performSearch : function(query) {
-    // create the required interface elements
-    this.out = $('#search-results');
-    this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
-    this.dots = $('<span></span>').appendTo(this.title);
-    this.status = $('<p style="display: none"></p>').appendTo(this.out);
-    this.output = $('<ul class="search"/>').appendTo(this.out);
-
-    $('#search-progress').text(_('Preparing search...'));
-    this.startPulse();
-
-    // index already loaded, the browser was quick!
-    if (this.hasIndex())
-      this.query(query);
-    else
-      this.deferQuery(query);
-  },
-
-  /**
-   * execute search (requires search index to be loaded)
-   */
-  query : function(query) {
-    var i;
-    var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
-
-    // stem the searchterms and add them to the correct list
-    var stemmer = new Stemmer();
-    var searchterms = [];
-    var excluded = [];
-    var hlterms = [];
-    var tmp = splitQuery(query);
-    var objectterms = [];
-    for (i = 0; i < tmp.length; i++) {
-      if (tmp[i] !== "") {
-          objectterms.push(tmp[i].toLowerCase());
-      }
-
-      if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
-          tmp[i] === "") {
-        // skip this "word"
-        continue;
-      }
-      // stem the word
-      var word = stemmer.stemWord(tmp[i].toLowerCase());
-      var toAppend;
-      // select the correct list
-      if (word[0] == '-') {
-        toAppend = excluded;
-        word = word.substr(1);
-      }
-      else {
-        toAppend = searchterms;
-        hlterms.push(tmp[i].toLowerCase());
-      }
-      // only add if not already in the list
-      if (!$u.contains(toAppend, word))
-        toAppend.push(word);
-    }
-    var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
-
-    // console.debug('SEARCH: searching for:');
-    // console.info('required: ', searchterms);
-    // console.info('excluded: ', excluded);
-
-    // prepare search
-    var terms = this._index.terms;
-    var titleterms = this._index.titleterms;
-
-    // array of [filename, title, anchor, descr, score]
-    var results = [];
-    $('#search-progress').empty();
-
-    // lookup as object
-    for (i = 0; i < objectterms.length; i++) {
-      var others = [].concat(objectterms.slice(0, i),
-                             objectterms.slice(i+1, objectterms.length));
-      results = results.concat(this.performObjectSearch(objectterms[i], others));
-    }
-
-    // lookup as search terms in fulltext
-    results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
-
-    // let the scorer override scores with a custom scoring function
-    if (Scorer.score) {
-      for (i = 0; i < results.length; i++)
-        results[i][4] = Scorer.score(results[i]);
-    }
-
-    // now sort the results by score (in opposite order of appearance, since the
-    // display function below uses pop() to retrieve items) and then
-    // alphabetically
-    results.sort(function(a, b) {
-      var left = a[4];
-      var right = b[4];
-      if (left > right) {
-        return 1;
-      } else if (left < right) {
-        return -1;
-      } else {
-        // same score: sort alphabetically
-        left = a[1].toLowerCase();
-        right = b[1].toLowerCase();
-        return (left > right) ? -1 : ((left < right) ? 1 : 0);
-      }
-    });
-
-    // for debugging
-    //Search.lastresults = results.slice();  // a copy
-    //console.info('search results:', Search.lastresults);
-
-    // print the results
-    var resultCount = results.length;
-    function displayNextItem() {
-      // results left, load the summary and display it
-      if (results.length) {
-        var item = results.pop();
-        var listItem = $('<li style="display:none"></li>');
-        if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
-          // dirhtml builder
-          var dirname = item[0] + '/';
-          if (dirname.match(/\/index\/$/)) {
-            dirname = dirname.substring(0, dirname.length-6);
-          } else if (dirname == 'index/') {
-            dirname = '';
-          }
-          listItem.append($('<a/>').attr('href',
-            DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
-            highlightstring + item[2]).html(item[1]));
-        } else {
-          // normal html builders
-          listItem.append($('<a/>').attr('href',
-            item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
-            highlightstring + item[2]).html(item[1]));
-        }
-        if (item[3]) {
-          listItem.append($('<span> (' + item[3] + ')</span>'));
-          Search.output.append(listItem);
-          listItem.slideDown(5, function() {
-            displayNextItem();
-          });
-        } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
-          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt',
-                  dataType: "text",
-                  complete: function(jqxhr, textstatus) {
-                    var data = jqxhr.responseText;
-                    if (data !== '' && data !== undefined) {
-                      listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
-                    }
-                    Search.output.append(listItem);
-                    listItem.slideDown(5, function() {
-                      displayNextItem();
-                    });
-                  }});
-        } else {
-          // no source available, just display title
-          Search.output.append(listItem);
-          listItem.slideDown(5, function() {
-            displayNextItem();
-          });
-        }
-      }
-      // search finished, update title and status message
-      else {
-        Search.stopPulse();
-        Search.title.text(_('Search Results'));
-        if (!resultCount)
-          Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
-        else
-            Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
-        Search.status.fadeIn(500);
-      }
-    }
-    displayNextItem();
-  },
-
-  /**
-   * search for object names
-   */
-  performObjectSearch : function(object, otherterms) {
-    var filenames = this._index.filenames;
-    var objects = this._index.objects;
-    var objnames = this._index.objnames;
-    var titles = this._index.titles;
-
-    var i;
-    var results = [];
-
-    for (var prefix in objects) {
-      for (var name in objects[prefix]) {
-        var fullname = (prefix ? prefix + '.' : '') + name;
-        if (fullname.toLowerCase().indexOf(object) > -1) {
-          var score = 0;
-          var parts = fullname.split('.');
-          // check for different match types: exact matches of full name or
-          // "last name" (i.e. last dotted part)
-          if (fullname == object || parts[parts.length - 1] == object) {
-            score += Scorer.objNameMatch;
-          // matches in last name
-          } else if (parts[parts.length - 1].indexOf(object) > -1) {
-            score += Scorer.objPartialMatch;
-          }
-          var match = objects[prefix][name];
-          var objname = objnames[match[1]][2];
-          var title = titles[match[0]];
-          // If more than one term searched for, we require other words to be
-          // found in the name/title/description
-          if (otherterms.length > 0) {
-            var haystack = (prefix + ' ' + name + ' ' +
-                            objname + ' ' + title).toLowerCase();
-            var allfound = true;
-            for (i = 0; i < otherterms.length; i++) {
-              if (haystack.indexOf(otherterms[i]) == -1) {
-                allfound = false;
-                break;
-              }
-            }
-            if (!allfound) {
-              continue;
-            }
-          }
-          var descr = objname + _(', in ') + title;
-
-          var anchor = match[3];
-          if (anchor === '')
-            anchor = fullname;
-          else if (anchor == '-')
-            anchor = objnames[match[1]][1] + '-' + fullname;
-          // add custom score for some objects according to scorer
-          if (Scorer.objPrio.hasOwnProperty(match[2])) {
-            score += Scorer.objPrio[match[2]];
-          } else {
-            score += Scorer.objPrioDefault;
-          }
-          results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]);
-        }
-      }
-    }
-
-    return results;
-  },
-
-  /**
-   * search for full-text terms in the index
-   */
-  performTermsSearch : function(searchterms, excluded, terms, titleterms) {
-    var filenames = this._index.filenames;
-    var titles = this._index.titles;
-
-    var i, j, file;
-    var fileMap = {};
-    var scoreMap = {};
-    var results = [];
-
-    // perform the search on the required terms
-    for (i = 0; i < searchterms.length; i++) {
-      var word = searchterms[i];
-      var files = [];
-      var _o = [
-        {files: terms[word], score: Scorer.term},
-        {files: titleterms[word], score: Scorer.title}
-      ];
-
-      // no match but word was a required one
-      if ($u.every(_o, function(o){return o.files === undefined;})) {
-        break;
-      }
-      // found search word in contents
-      $u.each(_o, function(o) {
-        var _files = o.files;
-        if (_files === undefined)
-          return
-
-        if (_files.length === undefined)
-          _files = [_files];
-        files = files.concat(_files);
-
-        // set score for the word in each file to Scorer.term
-        for (j = 0; j < _files.length; j++) {
-          file = _files[j];
-          if (!(file in scoreMap))
-            scoreMap[file] = {}
-          scoreMap[file][word] = o.score;
-        }
-      });
-
-      // create the mapping
-      for (j = 0; j < files.length; j++) {
-        file = files[j];
-        if (file in fileMap)
-          fileMap[file].push(word);
-        else
-          fileMap[file] = [word];
-      }
-    }
-
-    // now check if the files don't contain excluded terms
-    for (file in fileMap) {
-      var valid = true;
-
-      // check if all requirements are matched
-      if (fileMap[file].length != searchterms.length)
-          continue;
-
-      // ensure that none of the excluded terms is in the search result
-      for (i = 0; i < excluded.length; i++) {
-        if (terms[excluded[i]] == file ||
-            titleterms[excluded[i]] == file ||
-            $u.contains(terms[excluded[i]] || [], file) ||
-            $u.contains(titleterms[excluded[i]] || [], file)) {
-          valid = false;
-          break;
-        }
-      }
-
-      // if we have still a valid result we can add it to the result list
-      if (valid) {
-        // select one (max) score for the file.
-        // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
-        var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
-        results.push([filenames[file], titles[file], '', null, score]);
-      }
-    }
-    return results;
-  },
-
-  /**
-   * helper function to return a node containing the
-   * search summary for a given text. keywords is a list
-   * of stemmed words, hlwords is the list of normal, unstemmed
-   * words. the first one is used to find the occurrence, the
-   * latter for highlighting it.
-   */
-  makeSearchSummary : function(text, keywords, hlwords) {
-    var textLower = text.toLowerCase();
-    var start = 0;
-    $.each(keywords, function() {
-      var i = textLower.indexOf(this.toLowerCase());
-      if (i > -1)
-        start = i;
-    });
-    start = Math.max(start - 120, 0);
-    var excerpt = ((start > 0) ? '...' : '') +
-      $.trim(text.substr(start, 240)) +
-      ((start + 240 - text.length) ? '...' : '');
-    var rv = $('<div class="context"></div>').text(excerpt);
-    $.each(hlwords, function() {
-      rv = rv.highlightText(this, 'highlighted');
-    });
-    return rv;
-  }
-};
-
-$(document).ready(function() {
-  Search.init();
-});
\ No newline at end of file
diff --git a/docs/_build/html/_static/websupport.js b/docs/_build/html/_static/websupport.js
deleted file mode 100644
index 98e7f40b6327e673e382068cdfb3bf3674a06cca..0000000000000000000000000000000000000000
--- a/docs/_build/html/_static/websupport.js
+++ /dev/null
@@ -1,808 +0,0 @@
-/*
- * websupport.js
- * ~~~~~~~~~~~~~
- *
- * sphinx.websupport utilities for all documentation.
- *
- * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-(function($) {
-  $.fn.autogrow = function() {
-    return this.each(function() {
-    var textarea = this;
-
-    $.fn.autogrow.resize(textarea);
-
-    $(textarea)
-      .focus(function() {
-        textarea.interval = setInterval(function() {
-          $.fn.autogrow.resize(textarea);
-        }, 500);
-      })
-      .blur(function() {
-        clearInterval(textarea.interval);
-      });
-    });
-  };
-
-  $.fn.autogrow.resize = function(textarea) {
-    var lineHeight = parseInt($(textarea).css('line-height'), 10);
-    var lines = textarea.value.split('\n');
-    var columns = textarea.cols;
-    var lineCount = 0;
-    $.each(lines, function() {
-      lineCount += Math.ceil(this.length / columns) || 1;
-    });
-    var height = lineHeight * (lineCount + 1);
-    $(textarea).css('height', height);
-  };
-})(jQuery);
-
-(function($) {
-  var comp, by;
-
-  function init() {
-    initEvents();
-    initComparator();
-  }
-
-  function initEvents() {
-    $(document).on("click", 'a.comment-close', function(event) {
-      event.preventDefault();
-      hide($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.vote', function(event) {
-      event.preventDefault();
-      handleVote($(this));
-    });
-    $(document).on("click", 'a.reply', function(event) {
-      event.preventDefault();
-      openReply($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.close-reply', function(event) {
-      event.preventDefault();
-      closeReply($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.sort-option', function(event) {
-      event.preventDefault();
-      handleReSort($(this));
-    });
-    $(document).on("click", 'a.show-proposal', function(event) {
-      event.preventDefault();
-      showProposal($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.hide-proposal', function(event) {
-      event.preventDefault();
-      hideProposal($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.show-propose-change', function(event) {
-      event.preventDefault();
-      showProposeChange($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.hide-propose-change', function(event) {
-      event.preventDefault();
-      hideProposeChange($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.accept-comment', function(event) {
-      event.preventDefault();
-      acceptComment($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.delete-comment', function(event) {
-      event.preventDefault();
-      deleteComment($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.comment-markup', function(event) {
-      event.preventDefault();
-      toggleCommentMarkupBox($(this).attr('id').substring(2));
-    });
-  }
-
-  /**
-   * Set comp, which is a comparator function used for sorting and
-   * inserting comments into the list.
-   */
-  function setComparator() {
-    // If the first three letters are "asc", sort in ascending order
-    // and remove the prefix.
-    if (by.substring(0,3) == 'asc') {
-      var i = by.substring(3);
-      comp = function(a, b) { return a[i] - b[i]; };
-    } else {
-      // Otherwise sort in descending order.
-      comp = function(a, b) { return b[by] - a[by]; };
-    }
-
-    // Reset link styles and format the selected sort option.
-    $('a.sel').attr('href', '#').removeClass('sel');
-    $('a.by' + by).removeAttr('href').addClass('sel');
-  }
-
-  /**
-   * Create a comp function. If the user has preferences stored in
-   * the sortBy cookie, use those, otherwise use the default.
-   */
-  function initComparator() {
-    by = 'rating'; // Default to sort by rating.
-    // If the sortBy cookie is set, use that instead.
-    if (document.cookie.length > 0) {
-      var start = document.cookie.indexOf('sortBy=');
-      if (start != -1) {
-        start = start + 7;
-        var end = document.cookie.indexOf(";", start);
-        if (end == -1) {
-          end = document.cookie.length;
-          by = unescape(document.cookie.substring(start, end));
-        }
-      }
-    }
-    setComparator();
-  }
-
-  /**
-   * Show a comment div.
-   */
-  function show(id) {
-    $('#ao' + id).hide();
-    $('#ah' + id).show();
-    var context = $.extend({id: id}, opts);
-    var popup = $(renderTemplate(popupTemplate, context)).hide();
-    popup.find('textarea[name="proposal"]').hide();
-    popup.find('a.by' + by).addClass('sel');
-    var form = popup.find('#cf' + id);
-    form.submit(function(event) {
-      event.preventDefault();
-      addComment(form);
-    });
-    $('#s' + id).after(popup);
-    popup.slideDown('fast', function() {
-      getComments(id);
-    });
-  }
-
-  /**
-   * Hide a comment div.
-   */
-  function hide(id) {
-    $('#ah' + id).hide();
-    $('#ao' + id).show();
-    var div = $('#sc' + id);
-    div.slideUp('fast', function() {
-      div.remove();
-    });
-  }
-
-  /**
-   * Perform an ajax request to get comments for a node
-   * and insert the comments into the comments tree.
-   */
-  function getComments(id) {
-    $.ajax({
-     type: 'GET',
-     url: opts.getCommentsURL,
-     data: {node: id},
-     success: function(data, textStatus, request) {
-       var ul = $('#cl' + id);
-       var speed = 100;
-       $('#cf' + id)
-         .find('textarea[name="proposal"]')
-         .data('source', data.source);
-
-       if (data.comments.length === 0) {
-         ul.html('<li>No comments yet.</li>');
-         ul.data('empty', true);
-       } else {
-         // If there are comments, sort them and put them in the list.
-         var comments = sortComments(data.comments);
-         speed = data.comments.length * 100;
-         appendComments(comments, ul);
-         ul.data('empty', false);
-       }
-       $('#cn' + id).slideUp(speed + 200);
-       ul.slideDown(speed);
-     },
-     error: function(request, textStatus, error) {
-       showError('Oops, there was a problem retrieving the comments.');
-     },
-     dataType: 'json'
-    });
-  }
-
-  /**
-   * Add a comment via ajax and insert the comment into the comment tree.
-   */
-  function addComment(form) {
-    var node_id = form.find('input[name="node"]').val();
-    var parent_id = form.find('input[name="parent"]').val();
-    var text = form.find('textarea[name="comment"]').val();
-    var proposal = form.find('textarea[name="proposal"]').val();
-
-    if (text == '') {
-      showError('Please enter a comment.');
-      return;
-    }
-
-    // Disable the form that is being submitted.
-    form.find('textarea,input').attr('disabled', 'disabled');
-
-    // Send the comment to the server.
-    $.ajax({
-      type: "POST",
-      url: opts.addCommentURL,
-      dataType: 'json',
-      data: {
-        node: node_id,
-        parent: parent_id,
-        text: text,
-        proposal: proposal
-      },
-      success: function(data, textStatus, error) {
-        // Reset the form.
-        if (node_id) {
-          hideProposeChange(node_id);
-        }
-        form.find('textarea')
-          .val('')
-          .add(form.find('input'))
-          .removeAttr('disabled');
-	var ul = $('#cl' + (node_id || parent_id));
-        if (ul.data('empty')) {
-          $(ul).empty();
-          ul.data('empty', false);
-        }
-        insertComment(data.comment);
-        var ao = $('#ao' + node_id);
-        ao.find('img').attr({'src': opts.commentBrightImage});
-        if (node_id) {
-          // if this was a "root" comment, remove the commenting box
-          // (the user can get it back by reopening the comment popup)
-          $('#ca' + node_id).slideUp();
-        }
-      },
-      error: function(request, textStatus, error) {
-        form.find('textarea,input').removeAttr('disabled');
-        showError('Oops, there was a problem adding the comment.');
-      }
-    });
-  }
-
-  /**
-   * Recursively append comments to the main comment list and children
-   * lists, creating the comment tree.
-   */
-  function appendComments(comments, ul) {
-    $.each(comments, function() {
-      var div = createCommentDiv(this);
-      ul.append($(document.createElement('li')).html(div));
-      appendComments(this.children, div.find('ul.comment-children'));
-      // To avoid stagnating data, don't store the comments children in data.
-      this.children = null;
-      div.data('comment', this);
-    });
-  }
-
-  /**
-   * After adding a new comment, it must be inserted in the correct
-   * location in the comment tree.
-   */
-  function insertComment(comment) {
-    var div = createCommentDiv(comment);
-
-    // To avoid stagnating data, don't store the comments children in data.
-    comment.children = null;
-    div.data('comment', comment);
-
-    var ul = $('#cl' + (comment.node || comment.parent));
-    var siblings = getChildren(ul);
-
-    var li = $(document.createElement('li'));
-    li.hide();
-
-    // Determine where in the parents children list to insert this comment.
-    for(i=0; i < siblings.length; i++) {
-      if (comp(comment, siblings[i]) <= 0) {
-        $('#cd' + siblings[i].id)
-          .parent()
-          .before(li.html(div));
-        li.slideDown('fast');
-        return;
-      }
-    }
-
-    // If we get here, this comment rates lower than all the others,
-    // or it is the only comment in the list.
-    ul.append(li.html(div));
-    li.slideDown('fast');
-  }
-
-  function acceptComment(id) {
-    $.ajax({
-      type: 'POST',
-      url: opts.acceptCommentURL,
-      data: {id: id},
-      success: function(data, textStatus, request) {
-        $('#cm' + id).fadeOut('fast');
-        $('#cd' + id).removeClass('moderate');
-      },
-      error: function(request, textStatus, error) {
-        showError('Oops, there was a problem accepting the comment.');
-      }
-    });
-  }
-
-  function deleteComment(id) {
-    $.ajax({
-      type: 'POST',
-      url: opts.deleteCommentURL,
-      data: {id: id},
-      success: function(data, textStatus, request) {
-        var div = $('#cd' + id);
-        if (data == 'delete') {
-          // Moderator mode: remove the comment and all children immediately
-          div.slideUp('fast', function() {
-            div.remove();
-          });
-          return;
-        }
-        // User mode: only mark the comment as deleted
-        div
-          .find('span.user-id:first')
-          .text('[deleted]').end()
-          .find('div.comment-text:first')
-          .text('[deleted]').end()
-          .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id +
-                ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id)
-          .remove();
-        var comment = div.data('comment');
-        comment.username = '[deleted]';
-        comment.text = '[deleted]';
-        div.data('comment', comment);
-      },
-      error: function(request, textStatus, error) {
-        showError('Oops, there was a problem deleting the comment.');
-      }
-    });
-  }
-
-  function showProposal(id) {
-    $('#sp' + id).hide();
-    $('#hp' + id).show();
-    $('#pr' + id).slideDown('fast');
-  }
-
-  function hideProposal(id) {
-    $('#hp' + id).hide();
-    $('#sp' + id).show();
-    $('#pr' + id).slideUp('fast');
-  }
-
-  function showProposeChange(id) {
-    $('#pc' + id).hide();
-    $('#hc' + id).show();
-    var textarea = $('#pt' + id);
-    textarea.val(textarea.data('source'));
-    $.fn.autogrow.resize(textarea[0]);
-    textarea.slideDown('fast');
-  }
-
-  function hideProposeChange(id) {
-    $('#hc' + id).hide();
-    $('#pc' + id).show();
-    var textarea = $('#pt' + id);
-    textarea.val('').removeAttr('disabled');
-    textarea.slideUp('fast');
-  }
-
-  function toggleCommentMarkupBox(id) {
-    $('#mb' + id).toggle();
-  }
-
-  /** Handle when the user clicks on a sort by link. */
-  function handleReSort(link) {
-    var classes = link.attr('class').split(/\s+/);
-    for (var i=0; i<classes.length; i++) {
-      if (classes[i] != 'sort-option') {
-	by = classes[i].substring(2);
-      }
-    }
-    setComparator();
-    // Save/update the sortBy cookie.
-    var expiration = new Date();
-    expiration.setDate(expiration.getDate() + 365);
-    document.cookie= 'sortBy=' + escape(by) +
-                     ';expires=' + expiration.toUTCString();
-    $('ul.comment-ul').each(function(index, ul) {
-      var comments = getChildren($(ul), true);
-      comments = sortComments(comments);
-      appendComments(comments, $(ul).empty());
-    });
-  }
-
-  /**
-   * Function to process a vote when a user clicks an arrow.
-   */
-  function handleVote(link) {
-    if (!opts.voting) {
-      showError("You'll need to login to vote.");
-      return;
-    }
-
-    var id = link.attr('id');
-    if (!id) {
-      // Didn't click on one of the voting arrows.
-      return;
-    }
-    // If it is an unvote, the new vote value is 0,
-    // Otherwise it's 1 for an upvote, or -1 for a downvote.
-    var value = 0;
-    if (id.charAt(1) != 'u') {
-      value = id.charAt(0) == 'u' ? 1 : -1;
-    }
-    // The data to be sent to the server.
-    var d = {
-      comment_id: id.substring(2),
-      value: value
-    };
-
-    // Swap the vote and unvote links.
-    link.hide();
-    $('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id)
-      .show();
-
-    // The div the comment is displayed in.
-    var div = $('div#cd' + d.comment_id);
-    var data = div.data('comment');
-
-    // If this is not an unvote, and the other vote arrow has
-    // already been pressed, unpress it.
-    if ((d.value !== 0) && (data.vote === d.value * -1)) {
-      $('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide();
-      $('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show();
-    }
-
-    // Update the comments rating in the local data.
-    data.rating += (data.vote === 0) ? d.value : (d.value - data.vote);
-    data.vote = d.value;
-    div.data('comment', data);
-
-    // Change the rating text.
-    div.find('.rating:first')
-      .text(data.rating + ' point' + (data.rating == 1 ? '' : 's'));
-
-    // Send the vote information to the server.
-    $.ajax({
-      type: "POST",
-      url: opts.processVoteURL,
-      data: d,
-      error: function(request, textStatus, error) {
-        showError('Oops, there was a problem casting that vote.');
-      }
-    });
-  }
-
-  /**
-   * Open a reply form used to reply to an existing comment.
-   */
-  function openReply(id) {
-    // Swap out the reply link for the hide link
-    $('#rl' + id).hide();
-    $('#cr' + id).show();
-
-    // Add the reply li to the children ul.
-    var div = $(renderTemplate(replyTemplate, {id: id})).hide();
-    $('#cl' + id)
-      .prepend(div)
-      // Setup the submit handler for the reply form.
-      .find('#rf' + id)
-      .submit(function(event) {
-        event.preventDefault();
-        addComment($('#rf' + id));
-        closeReply(id);
-      })
-      .find('input[type=button]')
-      .click(function() {
-        closeReply(id);
-      });
-    div.slideDown('fast', function() {
-      $('#rf' + id).find('textarea').focus();
-    });
-  }
-
-  /**
-   * Close the reply form opened with openReply.
-   */
-  function closeReply(id) {
-    // Remove the reply div from the DOM.
-    $('#rd' + id).slideUp('fast', function() {
-      $(this).remove();
-    });
-
-    // Swap out the hide link for the reply link
-    $('#cr' + id).hide();
-    $('#rl' + id).show();
-  }
-
-  /**
-   * Recursively sort a tree of comments using the comp comparator.
-   */
-  function sortComments(comments) {
-    comments.sort(comp);
-    $.each(comments, function() {
-      this.children = sortComments(this.children);
-    });
-    return comments;
-  }
-
-  /**
-   * Get the children comments from a ul. If recursive is true,
-   * recursively include childrens' children.
-   */
-  function getChildren(ul, recursive) {
-    var children = [];
-    ul.children().children("[id^='cd']")
-      .each(function() {
-        var comment = $(this).data('comment');
-        if (recursive)
-          comment.children = getChildren($(this).find('#cl' + comment.id), true);
-        children.push(comment);
-      });
-    return children;
-  }
-
-  /** Create a div to display a comment in. */
-  function createCommentDiv(comment) {
-    if (!comment.displayed && !opts.moderator) {
-      return $('<div class="moderate">Thank you!  Your comment will show up '
-               + 'once it is has been approved by a moderator.</div>');
-    }
-    // Prettify the comment rating.
-    comment.pretty_rating = comment.rating + ' point' +
-      (comment.rating == 1 ? '' : 's');
-    // Make a class (for displaying not yet moderated comments differently)
-    comment.css_class = comment.displayed ? '' : ' moderate';
-    // Create a div for this comment.
-    var context = $.extend({}, opts, comment);
-    var div = $(renderTemplate(commentTemplate, context));
-
-    // If the user has voted on this comment, highlight the correct arrow.
-    if (comment.vote) {
-      var direction = (comment.vote == 1) ? 'u' : 'd';
-      div.find('#' + direction + 'v' + comment.id).hide();
-      div.find('#' + direction + 'u' + comment.id).show();
-    }
-
-    if (opts.moderator || comment.text != '[deleted]') {
-      div.find('a.reply').show();
-      if (comment.proposal_diff)
-        div.find('#sp' + comment.id).show();
-      if (opts.moderator && !comment.displayed)
-        div.find('#cm' + comment.id).show();
-      if (opts.moderator || (opts.username == comment.username))
-        div.find('#dc' + comment.id).show();
-    }
-    return div;
-  }
-
-  /**
-   * A simple template renderer. Placeholders such as <%id%> are replaced
-   * by context['id'] with items being escaped. Placeholders such as <#id#>
-   * are not escaped.
-   */
-  function renderTemplate(template, context) {
-    var esc = $(document.createElement('div'));
-
-    function handle(ph, escape) {
-      var cur = context;
-      $.each(ph.split('.'), function() {
-        cur = cur[this];
-      });
-      return escape ? esc.text(cur || "").html() : cur;
-    }
-
-    return template.replace(/<([%#])([\w\.]*)\1>/g, function() {
-      return handle(arguments[2], arguments[1] == '%' ? true : false);
-    });
-  }
-
-  /** Flash an error message briefly. */
-  function showError(message) {
-    $(document.createElement('div')).attr({'class': 'popup-error'})
-      .append($(document.createElement('div'))
-               .attr({'class': 'error-message'}).text(message))
-      .appendTo('body')
-      .fadeIn("slow")
-      .delay(2000)
-      .fadeOut("slow");
-  }
-
-  /** Add a link the user uses to open the comments popup. */
-  $.fn.comment = function() {
-    return this.each(function() {
-      var id = $(this).attr('id').substring(1);
-      var count = COMMENT_METADATA[id];
-      var title = count + ' comment' + (count == 1 ? '' : 's');
-      var image = count > 0 ? opts.commentBrightImage : opts.commentImage;
-      var addcls = count == 0 ? ' nocomment' : '';
-      $(this)
-        .append(
-          $(document.createElement('a')).attr({
-            href: '#',
-            'class': 'sphinx-comment-open' + addcls,
-            id: 'ao' + id
-          })
-            .append($(document.createElement('img')).attr({
-              src: image,
-              alt: 'comment',
-              title: title
-            }))
-            .click(function(event) {
-              event.preventDefault();
-              show($(this).attr('id').substring(2));
-            })
-        )
-        .append(
-          $(document.createElement('a')).attr({
-            href: '#',
-            'class': 'sphinx-comment-close hidden',
-            id: 'ah' + id
-          })
-            .append($(document.createElement('img')).attr({
-              src: opts.closeCommentImage,
-              alt: 'close',
-              title: 'close'
-            }))
-            .click(function(event) {
-              event.preventDefault();
-              hide($(this).attr('id').substring(2));
-            })
-        );
-    });
-  };
-
-  var opts = {
-    processVoteURL: '/_process_vote',
-    addCommentURL: '/_add_comment',
-    getCommentsURL: '/_get_comments',
-    acceptCommentURL: '/_accept_comment',
-    deleteCommentURL: '/_delete_comment',
-    commentImage: '/static/_static/comment.png',
-    closeCommentImage: '/static/_static/comment-close.png',
-    loadingImage: '/static/_static/ajax-loader.gif',
-    commentBrightImage: '/static/_static/comment-bright.png',
-    upArrow: '/static/_static/up.png',
-    downArrow: '/static/_static/down.png',
-    upArrowPressed: '/static/_static/up-pressed.png',
-    downArrowPressed: '/static/_static/down-pressed.png',
-    voting: false,
-    moderator: false
-  };
-
-  if (typeof COMMENT_OPTIONS != "undefined") {
-    opts = jQuery.extend(opts, COMMENT_OPTIONS);
-  }
-
-  var popupTemplate = '\
-    <div class="sphinx-comments" id="sc<%id%>">\
-      <p class="sort-options">\
-        Sort by:\
-        <a href="#" class="sort-option byrating">best rated</a>\
-        <a href="#" class="sort-option byascage">newest</a>\
-        <a href="#" class="sort-option byage">oldest</a>\
-      </p>\
-      <div class="comment-header">Comments</div>\
-      <div class="comment-loading" id="cn<%id%>">\
-        loading comments... <img src="<%loadingImage%>" alt="" /></div>\
-      <ul id="cl<%id%>" class="comment-ul"></ul>\
-      <div id="ca<%id%>">\
-      <p class="add-a-comment">Add a comment\
-        (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\
-      <div class="comment-markup-box" id="mb<%id%>">\
-        reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \
-        <code>``code``</code>, \
-        code blocks: <code>::</code> and an indented block after blank line</div>\
-      <form method="post" id="cf<%id%>" class="comment-form" action="">\
-        <textarea name="comment" cols="80"></textarea>\
-        <p class="propose-button">\
-          <a href="#" id="pc<%id%>" class="show-propose-change">\
-            Propose a change &#9657;\
-          </a>\
-          <a href="#" id="hc<%id%>" class="hide-propose-change">\
-            Propose a change &#9663;\
-          </a>\
-        </p>\
-        <textarea name="proposal" id="pt<%id%>" cols="80"\
-                  spellcheck="false"></textarea>\
-        <input type="submit" value="Add comment" />\
-        <input type="hidden" name="node" value="<%id%>" />\
-        <input type="hidden" name="parent" value="" />\
-      </form>\
-      </div>\
-    </div>';
-
-  var commentTemplate = '\
-    <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\
-      <div class="vote">\
-        <div class="arrow">\
-          <a href="#" id="uv<%id%>" class="vote" title="vote up">\
-            <img src="<%upArrow%>" />\
-          </a>\
-          <a href="#" id="uu<%id%>" class="un vote" title="vote up">\
-            <img src="<%upArrowPressed%>" />\
-          </a>\
-        </div>\
-        <div class="arrow">\
-          <a href="#" id="dv<%id%>" class="vote" title="vote down">\
-            <img src="<%downArrow%>" id="da<%id%>" />\
-          </a>\
-          <a href="#" id="du<%id%>" class="un vote" title="vote down">\
-            <img src="<%downArrowPressed%>" />\
-          </a>\
-        </div>\
-      </div>\
-      <div class="comment-content">\
-        <p class="tagline comment">\
-          <span class="user-id"><%username%></span>\
-          <span class="rating"><%pretty_rating%></span>\
-          <span class="delta"><%time.delta%></span>\
-        </p>\
-        <div class="comment-text comment"><#text#></div>\
-        <p class="comment-opts comment">\
-          <a href="#" class="reply hidden" id="rl<%id%>">reply &#9657;</a>\
-          <a href="#" class="close-reply" id="cr<%id%>">reply &#9663;</a>\
-          <a href="#" id="sp<%id%>" class="show-proposal">proposal &#9657;</a>\
-          <a href="#" id="hp<%id%>" class="hide-proposal">proposal &#9663;</a>\
-          <a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\
-          <span id="cm<%id%>" class="moderation hidden">\
-            <a href="#" id="ac<%id%>" class="accept-comment">accept</a>\
-          </span>\
-        </p>\
-        <pre class="proposal" id="pr<%id%>">\
-<#proposal_diff#>\
-        </pre>\
-          <ul class="comment-children" id="cl<%id%>"></ul>\
-        </div>\
-        <div class="clearleft"></div>\
-      </div>\
-    </div>';
-
-  var replyTemplate = '\
-    <li>\
-      <div class="reply-div" id="rd<%id%>">\
-        <form id="rf<%id%>">\
-          <textarea name="comment" cols="80"></textarea>\
-          <input type="submit" value="Add reply" />\
-          <input type="button" value="Cancel" />\
-          <input type="hidden" name="parent" value="<%id%>" />\
-          <input type="hidden" name="node" value="" />\
-        </form>\
-      </div>\
-    </li>';
-
-  $(document).ready(function() {
-    init();
-  });
-})(jQuery);
-
-$(document).ready(function() {
-  // add comment anchors for all paragraphs that are commentable
-  $('.sphinx-has-comment').comment();
-
-  // highlight search words in search results
-  $("div.context").each(function() {
-    var params = $.getQueryParameters();
-    var terms = (params.q) ? params.q[0].split(/\s+/) : [];
-    var result = $(this);
-    $.each(terms, function() {
-      result.highlightText(this.toLowerCase(), 'highlighted');
-    });
-  });
-
-  // directly open comment window if requested
-  var anchor = document.location.hash;
-  if (anchor.substring(0, 9) == '#comment-') {
-    $('#ao' + anchor.substring(9)).click();
-    document.location.hash = '#s' + anchor.substring(9);
-  }
-});
diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html
deleted file mode 100644
index 0a231be68d85131a5a14e6bf726b5c68a136541b..0000000000000000000000000000000000000000
--- a/docs/_build/html/genindex.html
+++ /dev/null
@@ -1,749 +0,0 @@
-
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Index &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="#"/>
-        <link rel="search" title="Search" href="search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="index.html">Docs</a> &raquo;</li>
-      
-    <li></li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-
-<h1 id="index">Index</h1>
-
-<div class="genindex-jumpbox">
- <a href="#A"><strong>A</strong></a>
- | <a href="#B"><strong>B</strong></a>
- | <a href="#C"><strong>C</strong></a>
- | <a href="#D"><strong>D</strong></a>
- | <a href="#E"><strong>E</strong></a>
- | <a href="#F"><strong>F</strong></a>
- | <a href="#G"><strong>G</strong></a>
- | <a href="#H"><strong>H</strong></a>
- | <a href="#I"><strong>I</strong></a>
- | <a href="#J"><strong>J</strong></a>
- | <a href="#L"><strong>L</strong></a>
- | <a href="#M"><strong>M</strong></a>
- | <a href="#N"><strong>N</strong></a>
- | <a href="#P"><strong>P</strong></a>
- | <a href="#R"><strong>R</strong></a>
- | <a href="#S"><strong>S</strong></a>
- | <a href="#T"><strong>T</strong></a>
- | <a href="#U"><strong>U</strong></a>
- | <a href="#V"><strong>V</strong></a>
- 
-</div>
-<h2 id="A">A</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.activation">activation() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.add_author">add_author() (in module journals.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.AffiliationObject">AffiliationObject (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.api_graph">api_graph() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Arc">Arc (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.assignment_failed">assignment_failed() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.AuthorshipClaim">AuthorshipClaim (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="B">B</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.base">base() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="C">C</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.cancel_ref_invitation">cancel_ref_invitation() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.ChoiceArrayField">ChoiceArrayField (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.claim_authorships">claim_authorships() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.close_refereeing_round">close_refereeing_round() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#comments.models.Comment">Comment (class in comments.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#module-commentaries.models">commentaries.models (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#module-commentaries.views">commentaries.views (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#commentaries.models.Commentary">Commentary (class in commentaries.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#module-comments.models">comments.models (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#module-comments.views">comments.views (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.communication">communication() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Contributor">Contributor (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.contributor_info">contributor_info() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.create_citation_list_metadata">create_citation_list_metadata() (in module journals.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.create_funding_info_metadata">create_funding_info_metadata() (in module journals.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.create_metadata_xml">create_metadata_xml() (in module journals.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="D">D</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.Deposit">Deposit (class in journals.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.NewsItem.descriptor_full">descriptor_full() (scipost.models.NewsItem method)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.NewsItem.descriptor_small">descriptor_small() (scipost.models.NewsItem method)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.Publication.details">details() (journals.models.Publication method)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.documentsSearchResults">documentsSearchResults() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.draft_registration_invitation">draft_registration_invitation() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.DraftInvitation">DraftInvitation (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="E">E</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.editorial_workflow">editorial_workflow() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.EditorialAssignment">EditorialAssignment (class in submissions.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.EditorialCommunication">EditorialCommunication (class in submissions.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.EICRecommendation">EICRecommendation (class in submissions.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.email_group_members">email_group_members() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.email_particular">email_particular() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="F">F</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.fix_College_decision">fix_College_decision() (in module submissions.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="G">G</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.get_query">get_query() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Graph">Graph (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="H">H</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.EditorialAssignment.header_as_li">header_as_li() (submissions.models.EditorialAssignment method)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="I">I</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.index">index() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.initiate_publication">initiate_publication() (in module journals.views)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.invitation">invitation() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.Issue">Issue (class in journals.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="J">J</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.Journal">Journal (class in journals.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#module-journals.models">journals.models (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#module-journals.views">journals.views (module)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="L">L</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.List">List (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="M">M</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.mark_reg_inv_as_declined">mark_reg_inv_as_declined() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.metadata_xml_deposit">metadata_xml_deposit() (in module journals.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="N">N</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.NewsItem">NewsItem (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Node">Node (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.normalize_query">normalize_query() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="P">P</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#commentaries.models.Commentary.parse_links_into_urls">parse_links_into_urls() (commentaries.models.Commentary method)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.personal_page">personal_page() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.pool">pool() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.PrecookedEmail">PrecookedEmail (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#commentaries.views.prefill_using_DOI">prefill_using_DOI() (in module commentaries.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#commentaries.views.prefill_using_identifier">prefill_using_identifier() (in module commentaries.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Contributor.public_info_as_table">public_info_as_table() (scipost.models.Contributor method)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.Publication">Publication (class in journals.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="R">R</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.recruit_referee">recruit_referee() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.ref_invitation_reminder">ref_invitation_reminder() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.RefereeInvitation">RefereeInvitation (class in submissions.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.registration_invitations">registration_invitations() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.registration_invitations_cleanup">registration_invitations_cleanup() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.RegistrationInvitation">RegistrationInvitation (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Remark">Remark (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.remove_registration_invitation">remove_registration_invitation() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.renew_registration_invitation">renew_registration_invitation() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.Report">Report (class in submissions.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="S">S</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#module-scipost.models">scipost.models (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#module-scipost.views">scipost.views (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.scipost_physics_accepted">scipost_physics_accepted() (in module journals.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.scipost_physics_recent">scipost_physics_recent() (in module journals.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#commentaries.models.Commentary.scipost_url">scipost_url() (commentaries.models.Commentary method)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#commentaries.models.Commentary.scipost_url_full">scipost_url_full() (commentaries.models.Commentary method)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.search">search() (in module scipost.views)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#scipost.views.send_precooked_email">send_precooked_email() (in module scipost.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.send_refereeing_invitation">send_refereeing_invitation() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.SPBMembershipAgreement">SPBMembershipAgreement (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#submissions.models.Submission">Submission (class in submissions.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.submissions">submissions() (in module submissions.views)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#module-submissions.models">submissions.models (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#module-submissions.views">submissions.views (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.SupportingPartner">SupportingPartner (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="T">T</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.Team">Team (class in scipost.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#module-theses.models">theses.models (module)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#module-theses.views">theses.views (module)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/models.html#theses.models.ThesisLink">ThesisLink (class in theses.models)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="U">U</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#scipost.models.UnavailabilityPeriod">UnavailabilityPeriod (class in scipost.models)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.UnregisteredAuthor">UnregisteredAuthor (class in journals.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.upload_proofs">upload_proofs() (in module journals.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-<h2 id="V">V</h2>
-<table style="width: 100%" class="indextable genindextable"><tr>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/views.html#journals.views.validate_publication">validate_publication() (in module journals.views)</a>
-  </dt>
-
-  </dl></td>
-  <td style="width: 33%" valign="top"><dl>
-      
-  <dt><a href="developers/codebase/modules/models.html#journals.models.Volume">Volume (class in journals.models)</a>
-  </dt>
-
-      
-  <dt><a href="developers/codebase/modules/views.html#submissions.views.volunteer_as_EIC">volunteer_as_EIC() (in module submissions.views)</a>
-  </dt>
-
-  </dl></td>
-</tr></table>
-
-
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html
deleted file mode 100644
index 6564db01a1f14fd437cef05640104547eeb9d9ed..0000000000000000000000000000000000000000
--- a/docs/_build/html/index.html
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Welcome to SciPost’s documentation! &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="genindex.html"/>
-        <link rel="search" title="Search" href="search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="#"/>
-        <link rel="next" title="For Contributors" href="contributors/contributors.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="#" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="#">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
- 
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="#">Docs</a> &raquo;</li>
-      
-    <li>Welcome to SciPost&#8217;s documentation!</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-            <a href="_sources/index.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="welcome-to-scipost-s-documentation">
-<h1>Welcome to SciPost&#8217;s documentation!<a class="headerlink" href="#welcome-to-scipost-s-documentation" title="Permalink to this headline">¶</a></h1>
-<p>Contents:</p>
-<div class="toctree-wrapper compound">
-<ul>
-<li class="toctree-l1"><a class="reference internal" href="contributors/contributors.html">For Contributors</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="contributors/editorial_administrators/editorial_administrators.html">Editorial Administrators</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="contributors/editorial_administrators/submission_processing.html">Submission processing</a></li>
-<li class="toctree-l3"><a class="reference internal" href="contributors/editorial_administrators/production.html">Production of SciPost Publications</a></li>
-<li class="toctree-l3"><a class="reference internal" href="contributors/editorial_administrators/maintenance.html">Maintenance of published material</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="developers/developers.html">For Developers</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="developers/maintenance/maintenance.html">Maintenance</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="developers/maintenance/docs.html">Maintenance of SciPost documentation</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="developers/codebase/codebase.html">SciPost codebase</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="developers/codebase/modules/models.html">Models</a></li>
-<li class="toctree-l3"><a class="reference internal" href="developers/codebase/modules/views.html">Views</a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<div class="section" id="indices-and-tables">
-<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h1>
-<ul class="simple">
-<li><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></li>
-<li><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></li>
-<li><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></li>
-</ul>
-</div>
-
-
-           </div>
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="contributors/contributors.html" class="btn btn-neutral float-right" title="For Contributors" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/modules/models.html b/docs/_build/html/modules/models.html
deleted file mode 100644
index b07a5315bb8a643068f2ddddc828025251db7fb5..0000000000000000000000000000000000000000
--- a/docs/_build/html/modules/models.html
+++ /dev/null
@@ -1,454 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Models &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../genindex.html"/>
-        <link rel="search" title="Search" href="../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../index.html"/>
-        <link rel="next" title="Views" href="views.html"/>
-        <link rel="prev" title="Production of SciPost Publications" href="../howto/production.html"/> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../howto/production.html">Production of SciPost Publications</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Models</a></li>
-<li class="toctree-l1"><a class="reference internal" href="views.html">Views</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
- 
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
-    <li>Models</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-            <a href="../_sources/modules/models.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-scipost.models">
-<span id="models"></span><h1>Models<a class="headerlink" href="#module-scipost.models" title="Permalink to this headline">¶</a></h1>
-<dl class="class">
-<dt id="scipost.models.AffiliationObject">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">AffiliationObject</code><span class="sig-paren">(</span><em>id</em>, <em>country</em>, <em>institution</em>, <em>subunit</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#AffiliationObject"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.AffiliationObject" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.Arc">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Arc</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Arc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Arc" title="Permalink to this definition">¶</a></dt>
-<dd><p>Arc of a graph, linking two nodes.
-The length is user-adjustable.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.AuthorshipClaim">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">AuthorshipClaim</code><span class="sig-paren">(</span><em>id</em>, <em>claimant</em>, <em>submission</em>, <em>commentary</em>, <em>thesislink</em>, <em>vetted_by</em>, <em>status</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#AuthorshipClaim"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.AuthorshipClaim" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.ChoiceArrayField">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">ChoiceArrayField</code><span class="sig-paren">(</span><em>base_field</em>, <em>size=None</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#ChoiceArrayField"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.ChoiceArrayField" title="Permalink to this definition">¶</a></dt>
-<dd><p>A field that allows us to store an array of choices.
-Uses Django 1.9&#8217;s postgres ArrayField
-and a MultipleChoiceField for its formfield.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.Contributor">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Contributor</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Contributor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Contributor" title="Permalink to this definition">¶</a></dt>
-<dd><p>All users of SciPost are Contributors.
-Permissions determine the sub-types.
-username, password, email, first_name and last_name are inherited from User.</p>
-<dl class="method">
-<dt id="scipost.models.Contributor.public_info_as_table">
-<code class="descname">public_info_as_table</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Contributor.public_info_as_table"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Contributor.public_info_as_table" title="Permalink to this definition">¶</a></dt>
-<dd><p>Prints out all publicly-accessible info as a table.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.DraftInvitation">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">DraftInvitation</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#DraftInvitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.DraftInvitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Draft of an invitation, filled in by an officer.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.Graph">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Graph</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Graph"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Graph" title="Permalink to this definition">¶</a></dt>
-<dd><p>A Graph is a collection of Nodes with directed arrows,
-representing e.g. a reading list, exploration path, etc.
-If private, only the teams in teams_with_access can see/edit it.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.List">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">List</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#List"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.List" title="Permalink to this definition">¶</a></dt>
-<dd><p>A collection of commentaries, submissions, thesislinks, comments, etc
-defined by a Contributor, for use in Graphs, etc</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.NewsItem">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">NewsItem</code><span class="sig-paren">(</span><em>id</em>, <em>date</em>, <em>headline</em>, <em>blurb</em>, <em>followup_link</em>, <em>followup_link_text</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#NewsItem"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.NewsItem" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
-<dt id="scipost.models.NewsItem.descriptor_full">
-<code class="descname">descriptor_full</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#NewsItem.descriptor_full"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.NewsItem.descriptor_full" title="Permalink to this definition">¶</a></dt>
-<dd><p>For News page.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="scipost.models.NewsItem.descriptor_small">
-<code class="descname">descriptor_small</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#NewsItem.descriptor_small"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.NewsItem.descriptor_small" title="Permalink to this definition">¶</a></dt>
-<dd><p>For index page.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.Node">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Node</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Node"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Node" title="Permalink to this definition">¶</a></dt>
-<dd><p>Node of a graph (directed).
-Each node is composed of a set of submissions, commentaries, thesislinks.
-Accessibility rights are set in the Graph ForeignKey.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.PrecookedEmail">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">PrecookedEmail</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#PrecookedEmail"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.PrecookedEmail" title="Permalink to this definition">¶</a></dt>
-<dd><p>Each instance contains an email template in both plain and html formats.
-Can only be created by Admins.
-For further use in scipost:send_precooked_email method.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.RegistrationInvitation">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">RegistrationInvitation</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#RegistrationInvitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.RegistrationInvitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Invitation to particular persons for registration</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.Remark">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Remark</code><span class="sig-paren">(</span><em>id</em>, <em>contributor</em>, <em>recommendation</em>, <em>date</em>, <em>remark</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Remark"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Remark" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.SPBMembershipAgreement">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">SPBMembershipAgreement</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#SPBMembershipAgreement"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.SPBMembershipAgreement" title="Permalink to this definition">¶</a></dt>
-<dd><p>Agreement for membership of the Supporting Partners Board.
-A new instance is created each time an Agreement is made or renewed.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.SupportingPartner">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">SupportingPartner</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#SupportingPartner"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.SupportingPartner" title="Permalink to this definition">¶</a></dt>
-<dd><p>Supporting Partners.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.Team">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">Team</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#Team"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.Team" title="Permalink to this definition">¶</a></dt>
-<dd><p>Team of Contributors, to enable private collaborations.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="scipost.models.UnavailabilityPeriod">
-<em class="property">class </em><code class="descclassname">scipost.models.</code><code class="descname">UnavailabilityPeriod</code><span class="sig-paren">(</span><em>id</em>, <em>contributor</em>, <em>start</em>, <em>end</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/models.html#UnavailabilityPeriod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.models.UnavailabilityPeriod" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<span class="target" id="module-journals.models"></span><dl class="class">
-<dt id="journals.models.Deposit">
-<em class="property">class </em><code class="descclassname">journals.models.</code><code class="descname">Deposit</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#Deposit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.Deposit" title="Permalink to this definition">¶</a></dt>
-<dd><p>Each time a Crossref deposit is made for a Publication,
-a Deposit object instance is created containing the Publication&#8217;s
-current version of the metadata_xml field.
-All deposit history is thus contained here.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="journals.models.Issue">
-<em class="property">class </em><code class="descclassname">journals.models.</code><code class="descname">Issue</code><span class="sig-paren">(</span><em>id</em>, <em>in_volume</em>, <em>number</em>, <em>start_date</em>, <em>until_date</em>, <em>doi_string</em>, <em>path</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#Issue"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.Issue" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="journals.models.Journal">
-<em class="property">class </em><code class="descclassname">journals.models.</code><code class="descname">Journal</code><span class="sig-paren">(</span><em>id</em>, <em>name</em>, <em>doi_string</em>, <em>issn</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#Journal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.Journal" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="journals.models.Publication">
-<em class="property">class </em><code class="descclassname">journals.models.</code><code class="descname">Publication</code><span class="sig-paren">(</span><em>id</em>, <em>accepted_submission</em>, <em>in_issue</em>, <em>paper_nr</em>, <em>discipline</em>, <em>domain</em>, <em>subject_area</em>, <em>secondary_areas</em>, <em>title</em>, <em>author_list</em>, <em>first_author</em>, <em>first_author_unregistered</em>, <em>abstract</em>, <em>pdf_file</em>, <em>metadata</em>, <em>metadata_xml</em>, <em>BiBTeX_entry</em>, <em>doi_label</em>, <em>doi_string</em>, <em>submission_date</em>, <em>acceptance_date</em>, <em>publication_date</em>, <em>latest_activity</em>, <em>citedby</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#Publication"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.Publication" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
-<dt id="journals.models.Publication.details">
-<code class="descname">details</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#Publication.details"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.Publication.details" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method is called from the publication_detail template.
-It provides all the details for a publication.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="journals.models.UnregisteredAuthor">
-<em class="property">class </em><code class="descclassname">journals.models.</code><code class="descname">UnregisteredAuthor</code><span class="sig-paren">(</span><em>id</em>, <em>first_name</em>, <em>last_name</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#UnregisteredAuthor"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.UnregisteredAuthor" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="journals.models.Volume">
-<em class="property">class </em><code class="descclassname">journals.models.</code><code class="descname">Volume</code><span class="sig-paren">(</span><em>id</em>, <em>in_journal</em>, <em>number</em>, <em>start_date</em>, <em>until_date</em>, <em>doi_string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/models.html#Volume"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.models.Volume" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<span class="target" id="module-comments.models"></span><dl class="class">
-<dt id="comments.models.Comment">
-<em class="property">class </em><code class="descclassname">comments.models.</code><code class="descname">Comment</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/comments/models.html#Comment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#comments.models.Comment" title="Permalink to this definition">¶</a></dt>
-<dd><p>A Comment is an unsollicited note, submitted by a Contributor,
-on a particular publication or in reply to an earlier Comment.</p>
-</dd></dl>
-
-<span class="target" id="module-commentaries.models"></span><dl class="class">
-<dt id="commentaries.models.Commentary">
-<em class="property">class </em><code class="descclassname">commentaries.models.</code><code class="descname">Commentary</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/commentaries/models.html#Commentary"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#commentaries.models.Commentary" title="Permalink to this definition">¶</a></dt>
-<dd><p>A Commentary contains all the contents of a SciPost Commentary page for a given publication.</p>
-<dl class="method">
-<dt id="commentaries.models.Commentary.parse_links_into_urls">
-<code class="descname">parse_links_into_urls</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/commentaries/models.html#Commentary.parse_links_into_urls"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#commentaries.models.Commentary.parse_links_into_urls" title="Permalink to this definition">¶</a></dt>
-<dd><p>Takes the arXiv nr or DOI and turns it into the urls</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="commentaries.models.Commentary.scipost_url">
-<code class="descname">scipost_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/commentaries/models.html#Commentary.scipost_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#commentaries.models.Commentary.scipost_url" title="Permalink to this definition">¶</a></dt>
-<dd><p>Returns the url of the SciPost Commentary Page</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="commentaries.models.Commentary.scipost_url_full">
-<code class="descname">scipost_url_full</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/commentaries/models.html#Commentary.scipost_url_full"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#commentaries.models.Commentary.scipost_url_full" title="Permalink to this definition">¶</a></dt>
-<dd><p>Returns the url of the SciPost Commentary Page</p>
-</dd></dl>
-
-</dd></dl>
-
-<span class="target" id="module-submissions.models"></span><dl class="class">
-<dt id="submissions.models.EICRecommendation">
-<em class="property">class </em><code class="descclassname">submissions.models.</code><code class="descname">EICRecommendation</code><span class="sig-paren">(</span><em>id</em>, <em>submission</em>, <em>date_submitted</em>, <em>remarks_for_authors</em>, <em>requested_changes</em>, <em>remarks_for_editorial_college</em>, <em>recommendation</em>, <em>voting_deadline</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#EICRecommendation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.EICRecommendation" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="submissions.models.EditorialAssignment">
-<em class="property">class </em><code class="descclassname">submissions.models.</code><code class="descname">EditorialAssignment</code><span class="sig-paren">(</span><em>id</em>, <em>submission</em>, <em>to</em>, <em>accepted</em>, <em>deprecated</em>, <em>completed</em>, <em>refusal_reason</em>, <em>date_created</em>, <em>date_answered</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#EditorialAssignment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.EditorialAssignment" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
-<dt id="submissions.models.EditorialAssignment.header_as_li">
-<code class="descname">header_as_li</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#EditorialAssignment.header_as_li"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.EditorialAssignment.header_as_li" title="Permalink to this definition">¶</a></dt>
-<dd><p>Same as above, but without link to Editorial Page.</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="submissions.models.EditorialCommunication">
-<em class="property">class </em><code class="descclassname">submissions.models.</code><code class="descname">EditorialCommunication</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#EditorialCommunication"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.EditorialCommunication" title="Permalink to this definition">¶</a></dt>
-<dd><p>Each individual communication between Editor-in-charge
-to and from Referees and Authors becomes an instance of this class.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="submissions.models.RefereeInvitation">
-<em class="property">class </em><code class="descclassname">submissions.models.</code><code class="descname">RefereeInvitation</code><span class="sig-paren">(</span><em>id</em>, <em>submission</em>, <em>referee</em>, <em>title</em>, <em>first_name</em>, <em>last_name</em>, <em>email_address</em>, <em>invitation_key</em>, <em>date_invited</em>, <em>invited_by</em>, <em>nr_reminders</em>, <em>date_last_reminded</em>, <em>accepted</em>, <em>date_responded</em>, <em>refusal_reason</em>, <em>fulfilled</em>, <em>cancelled</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#RefereeInvitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.RefereeInvitation" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<dl class="class">
-<dt id="submissions.models.Report">
-<em class="property">class </em><code class="descclassname">submissions.models.</code><code class="descname">Report</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#Report"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.Report" title="Permalink to this definition">¶</a></dt>
-<dd><p>Both types of reports, invited or contributed.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="submissions.models.Submission">
-<em class="property">class </em><code class="descclassname">submissions.models.</code><code class="descname">Submission</code><span class="sig-paren">(</span><em>id</em>, <em>is_current</em>, <em>is_resubmission</em>, <em>submitted_by</em>, <em>editor_in_charge</em>, <em>submitted_to_journal</em>, <em>submission_type</em>, <em>discipline</em>, <em>domain</em>, <em>subject_area</em>, <em>secondary_areas</em>, <em>status</em>, <em>author_comments</em>, <em>list_of_changes</em>, <em>remarks_for_editors</em>, <em>referees_suggested</em>, <em>referees_flagged</em>, <em>open_for_reporting</em>, <em>reporting_deadline</em>, <em>open_for_commenting</em>, <em>title</em>, <em>author_list</em>, <em>abstract</em>, <em>arxiv_identifier_w_vn_nr</em>, <em>arxiv_identifier_wo_vn_nr</em>, <em>arxiv_vn_nr</em>, <em>arxiv_link</em>, <em>metadata</em>, <em>submission_date</em>, <em>latest_activity</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/models.html#Submission"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.models.Submission" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-<span class="target" id="module-theses.models"></span><dl class="class">
-<dt id="theses.models.ThesisLink">
-<em class="property">class </em><code class="descclassname">theses.models.</code><code class="descname">ThesisLink</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/theses/models.html#ThesisLink"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#theses.models.ThesisLink" title="Permalink to this definition">¶</a></dt>
-<dd><p>An URL pointing to a thesis</p>
-</dd></dl>
-
-</div>
-
-
-           </div>
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="views.html" class="btn btn-neutral float-right" title="Views" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="../howto/production.html" class="btn btn-neutral" title="Production of SciPost Publications" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/modules/views.html b/docs/_build/html/modules/views.html
deleted file mode 100644
index 2e438cd6a15cc75a86d9cc6a6e4943e293adfbbb..0000000000000000000000000000000000000000
--- a/docs/_build/html/modules/views.html
+++ /dev/null
@@ -1,535 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Views &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="../genindex.html"/>
-        <link rel="search" title="Search" href="../search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="../index.html"/>
-        <link rel="next" title="Maintenance of SciPost documentation" href="../dev/maintenance/docs.html"/>
-        <link rel="prev" title="Models" href="models.html"/> 
-
-  
-  <script src="../_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="../index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="../howto/production.html">Production of SciPost Publications</a></li>
-<li class="toctree-l1"><a class="reference internal" href="models.html">Models</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Views</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../dev/maintenance/docs.html">Maintenance of SciPost documentation</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="../index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
- 
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="../index.html">Docs</a> &raquo;</li>
-      
-    <li>Views</li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-            <a href="../_sources/modules/views.txt" rel="nofollow"> View page source</a>
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <div class="section" id="module-scipost.views">
-<span id="views"></span><h1>Views<a class="headerlink" href="#module-scipost.views" title="Permalink to this headline">¶</a></h1>
-<dl class="function">
-<dt id="scipost.views.activation">
-<code class="descclassname">scipost.views.</code><code class="descname">activation</code><span class="sig-paren">(</span><em>request</em>, <em>key</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#activation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.activation" title="Permalink to this definition">¶</a></dt>
-<dd><p>After registration, an email verification link is sent.
-Once clicked, the account is activated.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.api_graph">
-<code class="descclassname">scipost.views.</code><code class="descname">api_graph</code><span class="sig-paren">(</span><em>request</em>, <em>graph_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#api_graph"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.api_graph" title="Permalink to this definition">¶</a></dt>
-<dd><p>Produce JSON data to plot graph</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.base">
-<code class="descclassname">scipost.views.</code><code class="descname">base</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#base"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.base" title="Permalink to this definition">¶</a></dt>
-<dd><p>Skeleton for pages, used in template inheritance</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.claim_authorships">
-<code class="descclassname">scipost.views.</code><code class="descname">claim_authorships</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#claim_authorships"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.claim_authorships" title="Permalink to this definition">¶</a></dt>
-<dd><p>The system auto-detects potential authorships (of submissions,
-papers subject to commentaries, theses, ...).
-The contributor must confirm/deny authorship from the
-Personal Page.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.contributor_info">
-<code class="descclassname">scipost.views.</code><code class="descname">contributor_info</code><span class="sig-paren">(</span><em>request</em>, <em>contributor_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#contributor_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.contributor_info" title="Permalink to this definition">¶</a></dt>
-<dd><p>Logged-in Contributors can see a digest of another
-Contributor&#8217;s activities/contributions by clicking
-on the relevant name (in listing headers of Submissions, ...).</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.documentsSearchResults">
-<code class="descclassname">scipost.views.</code><code class="descname">documentsSearchResults</code><span class="sig-paren">(</span><em>query</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#documentsSearchResults"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.documentsSearchResults" title="Permalink to this definition">¶</a></dt>
-<dd><p>Searches through commentaries, submissions and thesislinks.
-Returns a Context object which can be further used in templates.
-Naive implementation based on exact match of query.
-NEEDS UPDATING with e.g. Haystack.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.draft_registration_invitation">
-<code class="descclassname">scipost.views.</code><code class="descname">draft_registration_invitation</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#draft_registration_invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.draft_registration_invitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>For officers to prefill registration invitations.
-This is similar to the registration_invitations method,
-which is used to complete the invitation process.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.email_group_members">
-<code class="descclassname">scipost.views.</code><code class="descname">email_group_members</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#email_group_members"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.email_group_members" title="Permalink to this definition">¶</a></dt>
-<dd><p>Method to send bulk emails to (members of) selected groups</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.email_particular">
-<code class="descclassname">scipost.views.</code><code class="descname">email_particular</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#email_particular"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.email_particular" title="Permalink to this definition">¶</a></dt>
-<dd><p>Method to send emails to individuals (registered or not)</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.get_query">
-<code class="descclassname">scipost.views.</code><code class="descname">get_query</code><span class="sig-paren">(</span><em>query_string</em>, <em>search_fields</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#get_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.get_query" title="Permalink to this definition">¶</a></dt>
-<dd><p>Returns a query, namely a combination of Q objects.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.index">
-<code class="descclassname">scipost.views.</code><code class="descname">index</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#index"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.index" title="Permalink to this definition">¶</a></dt>
-<dd><p>Main page</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.invitation">
-<code class="descclassname">scipost.views.</code><code class="descname">invitation</code><span class="sig-paren">(</span><em>request</em>, <em>key</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.invitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Register, by invitation</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.mark_reg_inv_as_declined">
-<code class="descclassname">scipost.views.</code><code class="descname">mark_reg_inv_as_declined</code><span class="sig-paren">(</span><em>request</em>, <em>invitation_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#mark_reg_inv_as_declined"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.mark_reg_inv_as_declined" title="Permalink to this definition">¶</a></dt>
-<dd><p>Mark an invitation as declined (called from registration_invitations.html).</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.normalize_query">
-<code class="descclassname">scipost.views.</code><code class="descname">normalize_query</code><span class="sig-paren">(</span><em>query_string</em>, <em>findterms=&lt;built-in method findall of _sre.SRE_Pattern object&gt;</em>, <em>normspace=&lt;built-in method sub of _sre.SRE_Pattern object&gt;</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#normalize_query"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.normalize_query" title="Permalink to this definition">¶</a></dt>
-<dd><p>Splits a query string in individual keywords, keeping quoted words together.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.personal_page">
-<code class="descclassname">scipost.views.</code><code class="descname">personal_page</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#personal_page"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.personal_page" title="Permalink to this definition">¶</a></dt>
-<dd><p>The Personal Page is the main view for accessing user functions.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.registration_invitations">
-<code class="descclassname">scipost.views.</code><code class="descname">registration_invitations</code><span class="sig-paren">(</span><em>request</em>, <em>draft_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#registration_invitations"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.registration_invitations" title="Permalink to this definition">¶</a></dt>
-<dd><p>Overview and tools for administrators</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.registration_invitations_cleanup">
-<code class="descclassname">scipost.views.</code><code class="descname">registration_invitations_cleanup</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#registration_invitations_cleanup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.registration_invitations_cleanup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compares the email addresses of invitations with those in the
-database of registered Contributors. Flags overlaps.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.remove_registration_invitation">
-<code class="descclassname">scipost.views.</code><code class="descname">remove_registration_invitation</code><span class="sig-paren">(</span><em>request</em>, <em>invitation_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#remove_registration_invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.remove_registration_invitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Remove an invitation (called from registration_invitations_cleanup).</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.renew_registration_invitation">
-<code class="descclassname">scipost.views.</code><code class="descname">renew_registration_invitation</code><span class="sig-paren">(</span><em>request</em>, <em>invitation_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#renew_registration_invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.renew_registration_invitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Renew an invitation (called from registration_invitations).</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.search">
-<code class="descclassname">scipost.views.</code><code class="descname">search</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#search"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.search" title="Permalink to this definition">¶</a></dt>
-<dd><p>For the global search form in navbar</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="scipost.views.send_precooked_email">
-<code class="descclassname">scipost.views.</code><code class="descname">send_precooked_email</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/scipost/views.html#send_precooked_email"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#scipost.views.send_precooked_email" title="Permalink to this definition">¶</a></dt>
-<dd><p>Method to send precooked emails to individuals (registered or not)</p>
-</dd></dl>
-
-<span class="target" id="module-journals.views"></span><dl class="function">
-<dt id="journals.views.add_author">
-<code class="descclassname">journals.views.</code><code class="descname">add_author</code><span class="sig-paren">(</span><em>request</em>, <em>publication_id</em>, <em>contributor_id=None</em>, <em>unregistered_author_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#add_author"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.add_author" title="Permalink to this definition">¶</a></dt>
-<dd><p>If not all authors are registered Contributors or if they have not
-all claimed authorship, this method allows editorial administrators
-to associated them to the publication.
-This is important for the Crossref metadata, in which all authors must appear.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.create_citation_list_metadata">
-<code class="descclassname">journals.views.</code><code class="descname">create_citation_list_metadata</code><span class="sig-paren">(</span><em>request</em>, <em>doi_string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#create_citation_list_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.create_citation_list_metadata" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called by an Editorial Administrator.
-This populates the citation_list dictionary entry
-in the metadata field in a Publication instance.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.create_funding_info_metadata">
-<code class="descclassname">journals.views.</code><code class="descname">create_funding_info_metadata</code><span class="sig-paren">(</span><em>request</em>, <em>doi_string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#create_funding_info_metadata"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.create_funding_info_metadata" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called by an Editorial Administrator.
-This populates the funding_info dictionary entry
-in the metadata field in a Publication instance.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.create_metadata_xml">
-<code class="descclassname">journals.views.</code><code class="descname">create_metadata_xml</code><span class="sig-paren">(</span><em>request</em>, <em>doi_string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#create_metadata_xml"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.create_metadata_xml" title="Permalink to this definition">¶</a></dt>
-<dd><p>To be called by an EdAdmin after the citation_list,
-funding_info entries have been filled.
-Populates the metadata_xml field of a Publication instance.
-The contents can then be sent to Crossref for registration.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.initiate_publication">
-<code class="descclassname">journals.views.</code><code class="descname">initiate_publication</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#initiate_publication"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.initiate_publication" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called by an Editorial Administrator.
-Publish the manuscript after proofs have been accepted.
-This method prefills a ValidatePublicationForm for further
-processing (verification in validate_publication method).</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.metadata_xml_deposit">
-<code class="descclassname">journals.views.</code><code class="descname">metadata_xml_deposit</code><span class="sig-paren">(</span><em>request</em>, <em>doi_string</em>, <em>option='test'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#metadata_xml_deposit"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.metadata_xml_deposit" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crossref metadata deposit.
-If test==True, test the metadata_xml using the Crossref test server.
-Makes use of the python requests module.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.scipost_physics_accepted">
-<code class="descclassname">journals.views.</code><code class="descname">scipost_physics_accepted</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#scipost_physics_accepted"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.scipost_physics_accepted" title="Permalink to this definition">¶</a></dt>
-<dd><p>Display page for submissions to SciPost Physics which
-have been accepted but are not yet published.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.scipost_physics_recent">
-<code class="descclassname">journals.views.</code><code class="descname">scipost_physics_recent</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#scipost_physics_recent"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.scipost_physics_recent" title="Permalink to this definition">¶</a></dt>
-<dd><p>Display page for the most recent 20 publications in SciPost Physics.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.upload_proofs">
-<code class="descclassname">journals.views.</code><code class="descname">upload_proofs</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#upload_proofs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.upload_proofs" title="Permalink to this definition">¶</a></dt>
-<dd><p>TODO
-Called by a member of the Production Team.
-Upload the production version .pdf of a submission.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="journals.views.validate_publication">
-<code class="descclassname">journals.views.</code><code class="descname">validate_publication</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/journals/views.html#validate_publication"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#journals.views.validate_publication" title="Permalink to this definition">¶</a></dt>
-<dd><p>This creates a Publication instance from the ValidatePublicationForm,
-pre-filled by the initiate_publication method above.</p>
-</dd></dl>
-
-<span class="target" id="module-comments.views"></span><span class="target" id="module-commentaries.views"></span><dl class="function">
-<dt id="commentaries.views.prefill_using_DOI">
-<code class="descclassname">commentaries.views.</code><code class="descname">prefill_using_DOI</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/commentaries/views.html#prefill_using_DOI"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#commentaries.views.prefill_using_DOI" title="Permalink to this definition">¶</a></dt>
-<dd><p>Probes CrossRef API with the DOI, to pre-fill the form.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="commentaries.views.prefill_using_identifier">
-<code class="descclassname">commentaries.views.</code><code class="descname">prefill_using_identifier</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/commentaries/views.html#prefill_using_identifier"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#commentaries.views.prefill_using_identifier" title="Permalink to this definition">¶</a></dt>
-<dd><p>Probes arXiv with the identifier, to pre-fill the form.</p>
-</dd></dl>
-
-<span class="target" id="module-submissions.views"></span><dl class="function">
-<dt id="submissions.views.assignment_failed">
-<code class="descclassname">submissions.views.</code><code class="descname">assignment_failed</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#assignment_failed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.assignment_failed" title="Permalink to this definition">¶</a></dt>
-<dd><p>No Editorial Fellow has accepted or volunteered to become Editor-in-charge.
-The submission is rejected.
-This method is called from pool.html by an Editorial Administrator.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.cancel_ref_invitation">
-<code class="descclassname">submissions.views.</code><code class="descname">cancel_ref_invitation</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em>, <em>invitation_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#cancel_ref_invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.cancel_ref_invitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method is used by the Editor-in-charge from the editorial_page
-to remove a referee for the list of invited ones.
-It can be used for registered as well as unregistered referees.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.close_refereeing_round">
-<code class="descclassname">submissions.views.</code><code class="descname">close_refereeing_round</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#close_refereeing_round"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.close_refereeing_round" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called by the Editor-in-charge when a satisfactory number of
-reports have been gathered.
-Automatically emails the authors to ask them if they want to
-round off any replies to reports or comments before the
-editorial recommendation is formulated.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.communication">
-<code class="descclassname">submissions.views.</code><code class="descname">communication</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em>, <em>comtype</em>, <em>referee_id=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#communication"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.communication" title="Permalink to this definition">¶</a></dt>
-<dd><p>Communication between editor-in-charge, author or referee
-occurring during the submission refereeing.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.editorial_workflow">
-<code class="descclassname">submissions.views.</code><code class="descname">editorial_workflow</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#editorial_workflow"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.editorial_workflow" title="Permalink to this definition">¶</a></dt>
-<dd><p>Summary page for Editorial Fellows, containing a digest
-of the actions to take to handle Submissions.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.fix_College_decision">
-<code class="descclassname">submissions.views.</code><code class="descname">fix_College_decision</code><span class="sig-paren">(</span><em>request</em>, <em>rec_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#fix_College_decision"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.fix_College_decision" title="Permalink to this definition">¶</a></dt>
-<dd><p>Terminates the voting on a Recommendation.
-Called by an Editorial Administrator.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.pool">
-<code class="descclassname">submissions.views.</code><code class="descname">pool</code><span class="sig-paren">(</span><em>request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#pool"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.pool" title="Permalink to this definition">¶</a></dt>
-<dd><p>The Submissions pool contains all submissions which are undergoing
-the editorial process, from submission
-to publication acceptance or rejection.
-All members of the Editorial College have access.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.recruit_referee">
-<code class="descclassname">submissions.views.</code><code class="descname">recruit_referee</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#recruit_referee"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.recruit_referee" title="Permalink to this definition">¶</a></dt>
-<dd><p>If the Editor-in-charge does not find the desired referee among Contributors
-(otherwise, the method send_refereeing_invitation below is used instead),
-he/she can invite somebody by providing name + contact details.
-This function emails a registration invitation to this person.
-The pending refereeing invitation is then recognized upon registration,
-using the invitation token.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.ref_invitation_reminder">
-<code class="descclassname">submissions.views.</code><code class="descname">ref_invitation_reminder</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em>, <em>invitation_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#ref_invitation_reminder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.ref_invitation_reminder" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method is used by the Editor-in-charge from the editorial_page
-when a referee has been invited but hasn&#8217;t answered yet.
-It can be used for registered as well as unregistered referees.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.send_refereeing_invitation">
-<code class="descclassname">submissions.views.</code><code class="descname">send_refereeing_invitation</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em>, <em>contributor_id</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#send_refereeing_invitation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.send_refereeing_invitation" title="Permalink to this definition">¶</a></dt>
-<dd><p>This method is called by the EIC from the submission&#8217;s editorial_page,
-in the case where the referee is an identified Contributor.
-For a referee who isn&#8217;t a Contributor yet, the method recruit_referee above
-is called instead.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.submissions">
-<code class="descclassname">submissions.views.</code><code class="descname">submissions</code><span class="sig-paren">(</span><em>request</em>, <em>to_journal=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#submissions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.submissions" title="Permalink to this definition">¶</a></dt>
-<dd><p>Main method for viewing Submissions.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="submissions.views.volunteer_as_EIC">
-<code class="descclassname">submissions.views.</code><code class="descname">volunteer_as_EIC</code><span class="sig-paren">(</span><em>request</em>, <em>arxiv_identifier_w_vn_nr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/submissions/views.html#volunteer_as_EIC"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#submissions.views.volunteer_as_EIC" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called when a Fellow volunteers while perusing the submissions pool.
-This is an adapted version of the accept_or_decline_assignment_ack method.</p>
-</dd></dl>
-
-<span class="target" id="module-theses.views"></span></div>
-
-
-           </div>
-          </div>
-          <footer>
-  
-    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-      
-        <a href="../dev/maintenance/docs.html" class="btn btn-neutral float-right" title="Maintenance of SciPost documentation" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
-      
-      
-        <a href="models.html" class="btn btn-neutral" title="Models" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-      
-    </div>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'../',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="../_static/jquery.js"></script>
-      <script type="text/javascript" src="../_static/underscore.js"></script>
-      <script type="text/javascript" src="../_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="../_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/objects.inv b/docs/_build/html/objects.inv
deleted file mode 100644
index ecaf6fee486e70b397d2b2500fdb0d0df507457c..0000000000000000000000000000000000000000
Binary files a/docs/_build/html/objects.inv and /dev/null differ
diff --git a/docs/_build/html/py-modindex.html b/docs/_build/html/py-modindex.html
deleted file mode 100644
index e36adf079e3210ba1903cd470b245000838fbf6f..0000000000000000000000000000000000000000
--- a/docs/_build/html/py-modindex.html
+++ /dev/null
@@ -1,314 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Python Module Index &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="genindex.html"/>
-        <link rel="search" title="Search" href="search.html"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="index.html"/>
- 
-
-
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="index.html">Docs</a> &raquo;</li>
-      
-    <li></li>
-      <li class="wy-breadcrumbs-aside">
-        
-          
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-
-   <h1>Python Module Index</h1>
-
-   <div class="modindex-jumpbox">
-   <a href="#cap-c"><strong>c</strong></a> | 
-   <a href="#cap-j"><strong>j</strong></a> | 
-   <a href="#cap-s"><strong>s</strong></a> | 
-   <a href="#cap-t"><strong>t</strong></a>
-   </div>
-
-   <table class="indextable modindextable" cellspacing="0" cellpadding="2">
-     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
-     <tr class="cap" id="cap-c"><td></td><td>
-       <strong>c</strong></td><td></td></tr>
-     <tr>
-       <td><img src="_static/minus.png" class="toggler"
-              id="toggle-1" style="display: none" alt="-" /></td>
-       <td>
-       <code class="xref">commentaries</code></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/models.html#module-commentaries.models"><code class="xref">commentaries.models</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/views.html#module-commentaries.views"><code class="xref">commentaries.views</code></a></td><td>
-       <em></em></td></tr>
-     <tr>
-       <td><img src="_static/minus.png" class="toggler"
-              id="toggle-2" style="display: none" alt="-" /></td>
-       <td>
-       <code class="xref">comments</code></td><td>
-       <em></em></td></tr>
-     <tr class="cg-2">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/models.html#module-comments.models"><code class="xref">comments.models</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-2">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/views.html#module-comments.views"><code class="xref">comments.views</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
-     <tr class="cap" id="cap-j"><td></td><td>
-       <strong>j</strong></td><td></td></tr>
-     <tr>
-       <td><img src="_static/minus.png" class="toggler"
-              id="toggle-3" style="display: none" alt="-" /></td>
-       <td>
-       <code class="xref">journals</code></td><td>
-       <em></em></td></tr>
-     <tr class="cg-3">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/models.html#module-journals.models"><code class="xref">journals.models</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-3">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/views.html#module-journals.views"><code class="xref">journals.views</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
-     <tr class="cap" id="cap-s"><td></td><td>
-       <strong>s</strong></td><td></td></tr>
-     <tr>
-       <td><img src="_static/minus.png" class="toggler"
-              id="toggle-4" style="display: none" alt="-" /></td>
-       <td>
-       <code class="xref">scipost</code></td><td>
-       <em></em></td></tr>
-     <tr class="cg-4">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/models.html#module-scipost.models"><code class="xref">scipost.models</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-4">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/views.html#module-scipost.views"><code class="xref">scipost.views</code></a></td><td>
-       <em></em></td></tr>
-     <tr>
-       <td><img src="_static/minus.png" class="toggler"
-              id="toggle-5" style="display: none" alt="-" /></td>
-       <td>
-       <code class="xref">submissions</code></td><td>
-       <em></em></td></tr>
-     <tr class="cg-5">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/models.html#module-submissions.models"><code class="xref">submissions.models</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-5">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/views.html#module-submissions.views"><code class="xref">submissions.views</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
-     <tr class="cap" id="cap-t"><td></td><td>
-       <strong>t</strong></td><td></td></tr>
-     <tr>
-       <td><img src="_static/minus.png" class="toggler"
-              id="toggle-6" style="display: none" alt="-" /></td>
-       <td>
-       <code class="xref">theses</code></td><td>
-       <em></em></td></tr>
-     <tr class="cg-6">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/models.html#module-theses.models"><code class="xref">theses.models</code></a></td><td>
-       <em></em></td></tr>
-     <tr class="cg-6">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="developers/codebase/modules/views.html#module-theses.views"><code class="xref">theses.views</code></a></td><td>
-       <em></em></td></tr>
-   </table>
-
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-   
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html
deleted file mode 100644
index 1358b3021695059c54c07f4f2f95cfd8f8d4b853..0000000000000000000000000000000000000000
--- a/docs/_build/html/search.html
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-<!DOCTYPE html>
-<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
-<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
-<head>
-  <meta charset="utf-8">
-  
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  
-  <title>Search &mdash; SciPost 1.0 documentation</title>
-  
-
-  
-  
-
-  
-
-  
-  
-    
-
-  
-
-  
-  
-    <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
-  
-
-  
-
-  
-        <link rel="index" title="Index"
-              href="genindex.html"/>
-        <link rel="search" title="Search" href="#"/>
-    <link rel="top" title="SciPost 1.0 documentation" href="index.html"/> 
-
-  
-  <script src="_static/js/modernizr.min.js"></script>
-
-</head>
-
-<body class="wy-body-for-nav" role="document">
-
-  <div class="wy-grid-for-nav">
-
-    
-    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
-      <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-          
-
-          
-            <a href="index.html" class="icon icon-home"> SciPost
-          
-
-          
-          </a>
-
-          
-            
-            
-              <div class="version">
-                1.0
-              </div>
-            
-          
-
-          
-<div role="search">
-  <form id="rtd-search-form" class="wy-form" action="#" method="get">
-    <input type="text" name="q" placeholder="Search docs" />
-    <input type="hidden" name="check_keywords" value="yes" />
-    <input type="hidden" name="area" value="default" />
-  </form>
-</div>
-
-          
-        </div>
-
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
-          
-            
-            
-                <ul>
-<li class="toctree-l1"><a class="reference internal" href="contributors/contributors.html">For Contributors</a></li>
-<li class="toctree-l1"><a class="reference internal" href="developers/developers.html">For Developers</a></li>
-</ul>
-
-            
-          
-        </div>
-      </div>
-    </nav>
-
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-
-      
-      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">SciPost</a>
-      </nav>
-
-
-      
-      <div class="wy-nav-content">
-        <div class="rst-content">
-          
-
-
-
-
-
-<div role="navigation" aria-label="breadcrumbs navigation">
-  <ul class="wy-breadcrumbs">
-    <li><a href="index.html">Docs</a> &raquo;</li>
-      
-    <li></li>
-      <li class="wy-breadcrumbs-aside">
-        
-      </li>
-  </ul>
-  <hr/>
-</div>
-          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-           <div itemprop="articleBody">
-            
-  <noscript>
-  <div id="fallback" class="admonition warning">
-    <p class="last">
-      Please activate JavaScript to enable the search
-      functionality.
-    </p>
-  </div>
-  </noscript>
-
-  
-  <div id="search-results">
-  
-  </div>
-
-           </div>
-          </div>
-          <footer>
-  
-
-  <hr/>
-
-  <div role="contentinfo">
-    <p>
-        &copy; Copyright 2016, Jean-Sébastien Caux.
-
-    </p>
-  </div>
-  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 
-
-</footer>
-
-        </div>
-      </div>
-
-    </section>
-
-  </div>
-  
-
-
-  
-
-    <script type="text/javascript">
-        var DOCUMENTATION_OPTIONS = {
-            URL_ROOT:'./',
-            VERSION:'1.0',
-            COLLAPSE_INDEX:false,
-            FILE_SUFFIX:'.html',
-            HAS_SOURCE:  true
-        };
-    </script>
-      <script type="text/javascript" src="_static/jquery.js"></script>
-      <script type="text/javascript" src="_static/underscore.js"></script>
-      <script type="text/javascript" src="_static/doctools.js"></script>
-      <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-      <script type="text/javascript" src="_static/searchtools.js"></script>
-
-  
-
-  
-  
-    <script type="text/javascript" src="_static/js/theme.js"></script>
-  
-
-  
-  
-  <script type="text/javascript">
-      jQuery(function () {
-          SphinxRtdTheme.StickyNav.enable();
-      });
-  </script>
-  
-  <script type="text/javascript">
-    jQuery(function() { Search.loadIndex("searchindex.js"); });
-  </script>
-  
-  <script type="text/javascript" id="searchindexloader"></script>
-   
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js
deleted file mode 100644
index 4137d23d02ddc0f455b311374c3d483b693110cd..0000000000000000000000000000000000000000
--- a/docs/_build/html/searchindex.js
+++ /dev/null
@@ -1 +0,0 @@
-Search.setIndex({envversion:50,filenames:["contributors/contributors","contributors/editorial_administrators/editorial_administrators","contributors/editorial_administrators/maintenance","contributors/editorial_administrators/production","contributors/editorial_administrators/submission_processing","developers/codebase/codebase","developers/codebase/modules/models","developers/codebase/modules/views","developers/developers","developers/maintenance/docs","developers/maintenance/maintenance","index"],objects:{"commentaries.models":{Commentary:[6,1,1,""]},"commentaries.models.Commentary":{parse_links_into_urls:[6,2,1,""],scipost_url:[6,2,1,""],scipost_url_full:[6,2,1,""]},"commentaries.views":{prefill_using_DOI:[7,3,1,""],prefill_using_identifier:[7,3,1,""]},"comments.models":{Comment:[6,1,1,""]},"journals.models":{Deposit:[6,1,1,""],Issue:[6,1,1,""],Journal:[6,1,1,""],Publication:[6,1,1,""],UnregisteredAuthor:[6,1,1,""],Volume:[6,1,1,""]},"journals.models.Publication":{details:[6,2,1,""]},"journals.views":{add_author:[7,3,1,""],create_citation_list_metadata:[7,3,1,""],create_funding_info_metadata:[7,3,1,""],create_metadata_xml:[7,3,1,""],initiate_publication:[7,3,1,""],metadata_xml_deposit:[7,3,1,""],scipost_physics_accepted:[7,3,1,""],scipost_physics_recent:[7,3,1,""],upload_proofs:[7,3,1,""],validate_publication:[7,3,1,""]},"scipost.models":{AffiliationObject:[6,1,1,""],Arc:[6,1,1,""],AuthorshipClaim:[6,1,1,""],ChoiceArrayField:[6,1,1,""],Contributor:[6,1,1,""],DraftInvitation:[6,1,1,""],Graph:[6,1,1,""],List:[6,1,1,""],NewsItem:[6,1,1,""],Node:[6,1,1,""],PrecookedEmail:[6,1,1,""],RegistrationInvitation:[6,1,1,""],Remark:[6,1,1,""],SPBMembershipAgreement:[6,1,1,""],SupportingPartner:[6,1,1,""],Team:[6,1,1,""],UnavailabilityPeriod:[6,1,1,""]},"scipost.models.Contributor":{public_info_as_table:[6,2,1,""]},"scipost.models.NewsItem":{descriptor_full:[6,2,1,""],descriptor_small:[6,2,1,""]},"scipost.views":{activation:[7,3,1,""],api_graph:[7,3,1,""],base:[7,3,1,""],claim_authorships:[7,3,1,""],contributor_info:[7,3,1,""],documentsSearchResults:[7,3,1,""],draft_registration_invitation:[7,3,1,""],email_group_members:[7,3,1,""],email_particular:[7,3,1,""],get_query:[7,3,1,""],index:[7,3,1,""],invitation:[7,3,1,""],mark_reg_inv_as_declined:[7,3,1,""],normalize_query:[7,3,1,""],personal_page:[7,3,1,""],registration_invitations:[7,3,1,""],registration_invitations_cleanup:[7,3,1,""],remove_registration_invitation:[7,3,1,""],renew_registration_invitation:[7,3,1,""],search:[7,3,1,""],send_precooked_email:[7,3,1,""]},"submissions.models":{EICRecommendation:[6,1,1,""],EditorialAssignment:[6,1,1,""],EditorialCommunication:[6,1,1,""],RefereeInvitation:[6,1,1,""],Report:[6,1,1,""],Submission:[6,1,1,""]},"submissions.models.EditorialAssignment":{header_as_li:[6,2,1,""]},"submissions.views":{assignment_failed:[7,3,1,""],cancel_ref_invitation:[7,3,1,""],close_refereeing_round:[7,3,1,""],communication:[7,3,1,""],editorial_workflow:[7,3,1,""],fix_College_decision:[7,3,1,""],pool:[7,3,1,""],recruit_referee:[7,3,1,""],ref_invitation_reminder:[7,3,1,""],send_refereeing_invitation:[7,3,1,""],submissions:[7,3,1,""],volunteer_as_EIC:[7,3,1,""]},"theses.models":{ThesisLink:[6,1,1,""]},commentaries:{models:[6,0,0,"-"],views:[7,0,0,"-"]},comments:{models:[6,0,0,"-"],views:[7,0,0,"-"]},journals:{models:[6,0,0,"-"],views:[7,0,0,"-"]},scipost:{models:[6,0,0,"-"],views:[7,0,0,"-"]},submissions:{models:[6,0,0,"-"],views:[7,0,0,"-"]},theses:{models:[6,0,0,"-"],views:[7,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"98141v3_smart":3,"abstract":[3,6],"break":3,"case":7,"class":[3,6],"final":[],"function":7,"import":[3,7],"new":[3,6],"public":[],"return":[3,6,7],"true":7,"while":7,_product:3,_proofs_v:3,_sre:7,abbrev:3,abbrevi:3,about:3,abov:[3,6,7],accept:[3,6,7],accept_or_decline_assignment_ack:7,acceptance_d:6,accepted_submiss:6,access:[6,7],accessibl:6,accord:3,account:[3,7],action:7,activ:[3,7],adapt:7,add_author:7,address:7,adjust:6,admin:6,administr:[],affili:3,affiliationobject:6,affiliations:3,after:[3,7],again:3,agreement:6,align:3,alignat:3,all:[3,6,7],allow:[6,7],alreadi:3,among:7,amsmath:3,amssymb:3,ani:[3,7],annoi:3,annot:3,anoth:[3,7],answer:7,any:3,anymor:3,anyth:3,api:7,api_graph:7,appear:[3,7],appendic:3,appropri:3,approv:3,arc:6,arg:6,argument:3,arrai:6,arrayfield:6,arrow:6,arxiv:[3,6,7],arxiv_identifier_w_vn_nr:[6,7],arxiv_identifier_wo_vn_nr:6,arxiv_link:6,arxiv_vn_nr:6,ask:[3,4,7],assign:3,assignment_fail:7,associ:7,atbegindocu:3,atom:3,author:[3,4,6,7],author_com:6,author_list:6,authors:3,authorship:7,authorshipclaim:6,auto:7,automat:7,avail:3,base:7,base_field:6,baselineskip:3,bbl:3,becom:[3,6,7],bee:3,been:[3,7],befor:[3,7],begin:3,below:7,between:[3,6,7],bewar:3,bib:3,bibliographi:3,bibnr:3,bibtex:3,bibtex_entri:6,block:3,blogspot:[],blurb:6,board:6,bold:3,both:6,brace:3,broken:3,bst:3,built:7,bulk:[3,7],call:[6,7],can:[3,6,7],cancel:6,cancel_ref_invit:7,capit:3,care:3,carefully:3,carri:3,center:3,charg:[6,7],choic:6,choicearrayfield:6,choos:3,citat:3,citation:3,citation_list:7,cite:[],citedbi:6,claim:7,claim_authorship:7,claimant:6,clash:3,click:[3,7],close:3,close_refereeing_round:7,collabor:6,collect:6,colleg:7,color:3,com:[],combin:7,comma:3,command:[3,9],commands:3,comment:[3,6,7],commentari:[6,7],commun:[6,7],compar:7,compat:[],complet:[6,7],compos:6,comtyp:7,confirm:7,contact:7,contain:[3,6,7],content:[3,6,7,11],contents:3,context:7,contribut:[6,7],contributor:[],contributor_id:7,contributor_info:7,convent:3,copi:3,copyright:3,correct:3,correspond:3,countri:6,creat:[3,6,7],create_citation_list_metadata:7,create_funding_info_metadata:7,create_metadata_xml:7,crossref:[],csname:3,current:[3,6],data:7,databas:7,date:[3,6],date_answ:6,date_cr:6,date_invit:6,date_last_remind:6,date_respond:6,date_submit:6,dates:3,deactiv:3,declar:3,declin:7,dee:3,defin:6,definit:3,deni:7,deposit:[6,7],deprec:6,describ:[2,3],descriptor_ful:6,descriptor_smal:6,desir:7,detail:[6,7],detect:7,determin:6,dictionari:7,digest:7,digit:3,direct:6,directli:3,directori:3,disciplin:6,displai:[3,7],django:6,documentclass:3,documentssearchresult:7,doe:[3,7],doi:[],doi_label:6,doi_str:[6,7],domain:6,don:3,down:3,draft:6,draft_id:7,draft_registration_invit:7,draftinvit:6,drop:3,dure:[],each:[3,6],earlier:6,edadmin:[3,7],edit:6,editor:[6,7],editor_in_charg:6,editori:[],editorial_pag:7,editorial_workflow:7,editorialassign:6,editorialcommun:6,eic:7,eicrecommend:6,either:3,element:3,email:[3,6,7],email_address:6,email_group_memb:7,email_particular:7,emp:3,enabl:6,enclos:3,end:[3,6],endcsnam:3,endlinenomath:3,ensur:3,ensure:3,entir:3,entri:[3,7],equat:3,etc:[3,6],eventu:[3,4],everything:3,exact:7,exampl:3,exp:3,expandaft:3,explicitli:3,explor:6,extra:3,famili:3,fancyhdr:3,fellow:7,field:[6,7],files_to_copy_in_paper_dir:3,fill:[3,6,7],find:7,findal:7,findterm:7,first:3,first_author:6,first_author_unregist:6,first_nam:6,fix_college_decis:7,flag:7,flalign:3,folder:[],follow:3,followup_link:6,followup_link_text:6,forc:3,foreignkei:6,form:[3,7],format:6,formfield:6,formul:7,forward:3,from:[3,6,7],fulfil:6,full:3,funding_info:7,further:[3,6,7],gather:[3,7],geometri:3,get_queri:7,given:6,global:7,graph:[6,7],graph_id:7,graphicx:3,group:7,guid:[2,3],guidelin:3,handl:[],hang:3,hasn:7,have:[3,7],haystack:7,header:[3,7],header_as_li:6,headlin:6,here:[3,6],histori:6,href:3,html:[],http:3,hyperref:3,identifi:[3,7],implement:[],in_issu:6,in_journ:6,in_production:3,in_volum:6,includ:[3,4],include:3,incompat:3,incorrect:3,increas:3,index:[6,7,11],individu:[3,6,7],info:6,inform:3,inherit:[6,7],initi:3,initiate_publ:7,inputenc:3,insert:3,instanc:[6,7],instead:[3,7],institut:6,instruct:3,integ:3,invit:[6,7],invitat:6,invitation_id:7,invitation_kei:6,invited_bi:6,invok:9,invol:3,is_curr:6,is_resubmiss:6,isn:7,issn:6,issu:3,issue:6,ital:3,journal:[3,6,7],json:7,just:3,keep:7,kei:7,keyword:7,kwarg:6,label:3,larg:3,last:3,last_nam:6,later:3,latest_act:6,latex:[],leav:3,length:[3,6],let:3,level:3,line:3,lineno:3,linenomath:3,linenumb:3,link:[3,6,7],list:[3,6,7],list_of_chang:6,log:7,logo_scipost_with_bgd:3,look:3,made:6,mailto:3,main:[3,7],make:[3,7,9],manag:9,mani:3,manual:3,manuscript:7,mark:[3,7],mark_reg_inv_as_declin:7,marker:3,match:7,materi:[0,1],math:3,mathdesign:3,meant:[2,3],mech:3,member:7,membership:6,metadata:[],metadata_xml:[6,7],metadata_xml_deposit:7,method:[6,7],miss:3,mnsymbol:3,model:[],modif:3,modifi:3,modul:[7,11],more:3,most:7,multilin:3,multipl:3,multiplechoicefield:6,multlin:3,must:7,naiv:7,name:[3,6,7],navbar:7,navig:3,need:3,needs:7,newcommand:3,newsitem:6,next:3,nice:3,node:6,none:[6,7],normalize_queri:7,normspac:7,note:[3,6],notlof:3,notlot:3,nottoc:3,noun:3,now:3,nr_remind:6,number:[3,6,7],object:[6,7],occur:7,off:7,offer:3,offic:[6,7],officer:3,old:3,oldend:3,once:[3,7],one:3,onli:[3,6],online:[],open:3,open_for_com:6,open_for_report:6,option:[3,7],optional:3,order:3,org:[],origin:3,other:3,otherwis:7,out:[3,6],overlap:7,overview:7,packag:3,packages:3,page:[3,6,7,11],paper:[3,7],paper_nr:6,paragraph:3,parenthes:3,parse_links_into_url:6,particular:6,partner:6,password:6,past:3,patch:3,patchamsmathenvironmentforlineno:3,patchbothamsmathenvironmentsforlineno:3,path:6,pdf:[3,7],pdf_file:6,pend:7,perman:3,permiss:6,person:[6,7],personal_pag:7,perus:7,phaseportrait:[],phy:3,physic:7,place:3,plain:[3,6],pleas:3,plot:7,point:6,pool:[3,7],popul:7,posit:3,post:[2,3],postgr:6,potenti:7,pre:[],preambl:3,precook:7,precookedemail:6,prefil:7,prefill_using_doi:7,prefill_using_identifi:7,prepar:[],prepend:3,present:3,prevent:3,previou:3,print:6,privat:6,prl:3,probe:7,problemat:3,process:[],prod:3,produc:[3,7],product:[],production:3,project:9,proof:[],proper:3,properli:[3,4],provid:[3,6,7],public_info_as_t:6,publication_d:6,publication_detail:6,publication_id:7,publicli:6,publish:[0,1,7],push:3,put:3,python:[7,9],queri:7,query_str:7,question:[],quot:7,rather:3,read:6,rec_id:7,receiv:3,recent:7,recogn:[3,7],recommend:[6,7],recompil:3,recruit_refere:7,redefin:3,redefinit:3,redund:3,ref_invitation_remind:7,refer:[],refere:[],referee_id:7,refereeinvit:6,referees_flag:6,referees_suggest:6,refusal_reason:6,regist:[3,7],registr:[],registration_invit:7,registration_invitations_cleanup:7,registrationinvit:6,reject:7,relev:7,remark:6,remarks_for_author:6,remarks_for_editor:6,remarks_for_editorial_colleg:6,remov:[3,7],remove_registration_invit:7,removed:3,renam:3,renew:[6,7],renew_registration_invit:7,renewenviron:3,replac:3,repli:[6,7],report:[6,7],reporting_deadlin:6,repres:6,request:7,requested_chang:6,requir:[],resubmiss:4,retriev:[],rhead:3,right:6,round:7,same:6,satisfactori:7,save:3,scipost_bibstyl:3,scipost_phys_1604:3,scipost_phys_1699_9999v9_bee_proofs_v1:3,scipost_phys_skeleton:3,scipost_physics_accept:7,scipost_physics_rec:7,scipost_url:6,scipost_url_ful:6,scipostdeepblu:3,scipostphi:3,screen:[],search:[7,11],search_field:7,second:3,secondary_area:6,section:3,see:[3,6,7],select:[3,7],send:7,send_precooked_email:[6,7],send_refereeing_invit:7,sent:7,separ:3,server:[3,7],set:6,she:7,should:[3,4],shouldn:3,similar:7,simpl:3,simpli:3,singl:[],size:[3,6],skeleton:[3,7],slug:9,small:3,solut:3,somebodi:7,sourc:[],space:3,spbmembershipagr:6,specifi:3,split:7,sre_pattern:7,stackexchang:[],stage:3,start:[3,6],start_dat:6,stat:3,statement:3,statu:6,step:3,store:6,string:7,strip:3,sub:[6,7],subject:7,subject_area:6,submiss:[],submission_d:6,submission_typ:6,submit:[3,6],submitted_bi:6,submitted_to_journ:6,subsect:3,subunit:6,suffix:3,summari:7,support:6,supportingpartn:6,sure:3,surroud:3,symbol:3,system:[3,7],take:[3,6,7],tar:3,team:[6,7],teams_with_access:6,templat:[6,7],termin:7,test:7,tex:3,text:3,textbf:3,textsuperscript:3,than:3,thebibliotraphi:3,thei:7,them:[3,7],thesi:6,thesislink:[6,7],thi:[2,3,6,7],thing:3,those:7,three:3,through:7,thu:6,time:6,titl:[3,6],title:3,titlesec:3,to_journ:7,toc:3,tocloft:3,todo:[3,7],togeth:7,token:[3,7],tool:7,top:3,transfer:3,turn:6,two:[3,6],type:6,unavailabilityperiod:6,undergo:7,underscor:3,uniform:3,unix:3,unregist:7,unregistered_author_id:7,unregisteredauthor:6,unsollicit:6,until_d:6,unzip:3,updatedoc:9,updating:7,upload:7,upload_proof:7,upon:7,url:[3,6],use:[6,9],user:[6,7],usernam:6,v1b:3,valid:[],validate_publ:7,validatepublicationform:7,verbatim:3,verif:[3,7],version:[6,7],vetted_bi:6,view:[],volum:[3,6],volume_:3,volunt:7,volunteer_as_eic:7,vote:7,voting_deadlin:6,want:7,web:3,well:7,when:[3,7],where:7,which:[3,7],who:[3,7],whole:3,within:3,without:6,word:7,workflow:3,worth:3,xcolor:3,year:3,yet:7,you:3,your:3,yyyy:3},titles:["For Contributors","Editorial Administrators","Maintenance of published material","Production of SciPost Publications","Submission processing","SciPost codebase","Models","Views","For Developers","Maintenance of SciPost documentation","Maintenance","Welcome to SciPost&#8217;s documentation!"],titleterms:{"final":3,"public":3,"static":9,administr:1,assignment:4,check:[3,4],cite:2,codebas:5,complianc:4,contributor:0,crossref:[3,4],develop:8,doc:9,document:[9,11],doi:[3,4],dure:4,editori:1,file:[3,9],folder:3,format:3,gener:9,handl:[],html:9,implement:[],indice:11,latex:3,mainten:[2,9,10],materi:2,metadata:3,model:6,onlin:9,online:3,org:3,plagiar:4,pre:4,prepar:3,problem:3,process:4,product:3,proof:3,publish:2,record:3,refer:3,refere:4,registr:3,requir:4,retriev:3,scipost:[3,5,9,11],screen:4,sourc:3,sphinx:9,sphinxdoc:9,style:[],submiss:4,tabl:11,updat:2,update:9,upload:3,valid:[],version:3,view:7,viewabl:9,welcom:11}})
\ No newline at end of file