Version 40.1 by Veronika Kocher on Thursday, 03 Sep 2026 15:57

Show last authors
1 Artistic and research projects involve many different tasks, decisions and responsibilities — from developing an initial idea and securing funding to organising materials, collaborating with others, publishing results and preserving them for future use.
2
3 The **Art & Research Services Navigator** helps you find the right guidance, services and resources for each stage of your project.
4
5 {{info title="Support for Your Project:"}}
6
7
8 **Support Kunst und Forschung (SKF)** provides guidance for projects and grant applications and collaborates with the appropriate university services as needed.
9
10 The Navigator guides you through the project phases to the resources and points of contact relevant to your project.
11 {{/info}}
12
13
14
15 {{html clean="false"}}
16 <section data-arsn-search-block-fix="v5" style="margin:20px 0 26px 0;padding:16px 18px;border:1px solid #e3ded6;border-radius:10px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);">
17 <h2 style="font-size:20px;margin:0 0 6px 0;color:#35312d;">Search the Art &amp; Research Services Navigator</h2>
18 <p style="margin:0 0 12px 0;color:#6a655e;">Type a topic, synonym or common query. Matching pages are suggested immediately. Search-term links on the topic pages use the same controlled vocabulary.</p>
19 <form
20 id="arsn-search-form"
21 action="https://xwiki.uni-ak.ac.at/bin/view/Main/SolrSearch"
22 method="get"
23 role="search"
24 style="margin:0;"
25 >
26 <div style="display:flex;gap:10px;align-items:center;flex-wrap:wrap;">
27 <label for="arsn-search-input" style="position:absolute;left:-10000px;">
28 Search the Art &amp; Research Services Navigator
29 </label>
30
31 <input
32 id="arsn-search-input"
33 name="text"
34 type="search"
35 placeholder="Try: DOI, backup, copyright, GDPR, repository..."
36 autocomplete="off"
37 aria-autocomplete="list"
38 aria-controls="arsn-search-results"
39 aria-expanded="false"
40 style="flex:1 1 520px;min-width:260px;padding:11px 13px;border:1px solid #bbb;border-radius:6px;font-size:16px;"
41 />
42
43 <input type="hidden" name="f_type" value="DOCUMENT" />
44 <input type="hidden" name="sort" value="score" />
45 <input type="hidden" name="sortOrder" value="desc" />
46 <input type="hidden" name="facet" value="true" />
47 <input type="hidden" name="highlight" value="true" />
48 <input type="hidden" name="r" value="1" />
49
50 <button type="submit" class="btn btn-primary" style="padding:11px 22px;">
51 Search
52 </button>
53 </div>
54
55 <div
56 id="arsn-search-results"
57 role="listbox"
58 aria-label="Suggested pages"
59 hidden
60 style="margin-top:8px;border:1px solid #d4d4d4;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.10);overflow:hidden;"
61 ></div>
62
63 <p
64 id="arsn-search-status"
65 style="position:absolute;left:-10000px;"
66 aria-live="polite"
67 ></p>
68 </form>
69
70 <script>
71 (function () {
72 "use strict";
73
74 var encodedIndex = "W3sidGl0bGUiOiJBcnQgJiBSZXNlYXJjaCBTZXJ2aWNlcyBOYXZpZ2F0b3IiLCJwaGFzZSI6Ik92ZXJ2aWV3IiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yLy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiYXJ0aXN0aWMgcmVzZWFyY2giLCJyZXNlYXJjaCBzZXJ2aWNlcyIsInJlc2VhcmNoIHN1cHBvcnQiLCJzZXJ2aWNlIG5hdmlnYXRvciIsInByb2plY3QgbGlmZWN5Y2xlIiwicmVzZWFyY2ggZGF0YSBtYW5hZ2VtZW50Iiwib3BlbiBzY2llbmNlIiwicmVzZWFyY2ggcHJvamVjdCIsImFydCByZXNlYXJjaCBzdXBwb3J0IiwicmVzZWFyY2ggc3VwcG9ydCBzZXJ2aWNlcyIsInJlc2VhcmNoIHdvcmtmbG93IiwicHJvamVjdCBzdXBwb3J0Il19LHsidGl0bGUiOiJFbmFibGUiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInByb2plY3Qgc2V0dXAiLCJwcm9qZWN0IHBsYW5uaW5nIiwicmVzZWFyY2ggZnVuZGluZyIsImRhdGEgbWFuYWdlbWVudCIsInJpZ2h0cyBhbmQgZXRoaWNzIiwic3RhcnRpbmcgYSBwcm9qZWN0IiwibmV3IHByb2plY3QiLCJwcm9qZWN0IHByZXBhcmF0aW9uIiwicHJvamVrdHBsYW51bmciXX0seyJ0aXRsZSI6IkdldCBTdGFydGVkIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0dldCUyMFN0YXJ0ZWQvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImdldCBzdGFydGVkIiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCIsInJlc2VhcmNoIGRhdGEiLCJwcm9qZWN0IGxpZmVjeWNsZSIsIm5ldyBwcm9qZWN0Iiwic3RhcnRpbmcgYSBwcm9qZWN0IiwicmVzZWFyY2ggcHJvamVjdCIsImVpbnN0aWVnIiwicHJvamVrdHN0YXJ0Il19LHsidGl0bGUiOiJQcm9qZWN0IFBsYW5uaW5nICYgT3JnYW5pc2F0aW9uIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1Byb2plY3QlMjBQbGFubmluZyUyMCUyNiUyME9yZ2FuaXNhdGlvbi8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwicHJvamVjdCBwbGFubmluZyIsInByb2plY3Qgb3JnYW5pc2F0aW9uIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJyZXNvdXJjZXMiLCJ0aW1lbGluZSIsImJ1ZGdldCIsInJpc2sgbWFuYWdlbWVudCIsInByb2plY3Qgcm9sZXMiLCJwcm9qZWN0IHJlc3BvbnNpYmlsaXRpZXMiLCJwcm9qZWN0IGJ1ZGdldCIsInByb2plY3QgdGltZWxpbmUiLCJwcm9qZWN0IHJlc291cmNlcyIsInByb2pla3RwbGFudW5nIiwicHJvamVrdG9yZ2FuaXNhdGlvbiIsInp1c3TDpG5kaWdrZWl0ZW4iXX0seyJ0aXRsZSI6IkZ1bmRpbmcgJiBGdW5kZXIgUmVxdWlyZW1lbnRzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0Z1bmRpbmclMjAlMjYlMjBGdW5kZXIlMjBSZXF1aXJlbWVudHMvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInJlc2VhcmNoIGZ1bmRpbmciLCJmdW5kZXIgcmVxdWlyZW1lbnRzIiwiZ3JhbnQgcmVxdWlyZW1lbnRzIiwiZGF0YSBtYW5hZ2VtZW50IHBsYW4iLCJvcGVuIHNjaWVuY2UgcmVxdWlyZW1lbnRzIiwiZWxpZ2libGUgY29zdHMiLCJmdW5kaW5nIiwiZ3JhbnQiLCJncmFudCBhcHBsaWNhdGlvbiIsImZ1bmRlciIsImZ1bmRpbmcgcmVxdWlyZW1lbnRzIiwiZsO2cmRlcnVuZyIsImbDtnJkZXJnZWJlciIsImbDtnJkZXJiZWRpbmd1bmdlbiJdfSx7InRpdGxlIjoiSWRlbnRpZnkgWW91ciBEYXRhICYgUmVzZWFyY2ggT3V0cHV0cyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9JZGVudGlmeSUyMFlvdXIlMjBEYXRhJTIwJTI2JTIwUmVzZWFyY2glMjBPdXRwdXRzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJyZXNlYXJjaCBkYXRhIiwiYXJ0aXN0aWMgb3V0cHV0cyIsInJlc2VhcmNoIG91dHB1dHMiLCJkYXRhIGludmVudG9yeSIsIm1hdGVyaWFsIHR5cGVzIiwiZGF0YSBjbGFzc2lmaWNhdGlvbiIsImRhdGEgdHlwZXMiLCJyZXNlYXJjaCBtYXRlcmlhbHMiLCJvdXRwdXRzIiwiYXJ0aXN0aWMgcmVzZWFyY2ggb3V0cHV0cyIsInJlc2VhcmNoIG9iamVjdHMiLCJmb3JzY2h1bmdzZGF0ZW4iLCJmb3JzY2h1bmdzb3V0cHV0cyJdfSx7InRpdGxlIjoiUGxhbiBZb3VyIERhdGEgTWFuYWdlbWVudCIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9QbGFuJTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJkYXRhIG1hbmFnZW1lbnQgcGxhbiIsImRtcCIsImRhdGEgbGlmZWN5Y2xlIiwiZGF0YSBtYW5hZ2VtZW50IiwicmVzcG9uc2liaWxpdGllcyIsInJldmlldyBwb2ludHMiLCJyZXNlYXJjaCBkYXRhIG1hbmFnZW1lbnQiLCJyZG0iLCJkYXRhIG1hbmFnZW1lbnQgcGxhbm5pbmciLCJkYXRlbm1hbmFnZW1lbnRwbGFuIiwiZm9yc2NodW5nc2RhdGVubWFuYWdlbWVudCJdfSx7InRpdGxlIjoiQ29weXJpZ2h0LCBSaWdodHMgJiBMaWNlbmNlcyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9Db3B5cmlnaHQlMkMlMjBSaWdodHMlMjAlMjYlMjBMaWNlbmNlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29weXJpZ2h0IiwicmlnaHRzIiwibGljZW5zaW5nIiwibGljZW5jZXMiLCJ0aGlyZC1wYXJ0eSByaWdodHMiLCJjcmVhdGl2ZSBjb21tb25zIiwicGVybWlzc2lvbnMiLCJ1cmhlYmVycmVjaHQiLCJyaWdodHMgY2xlYXJhbmNlIiwiY2MgbGljZW5jZSIsImNjIGxpY2Vuc2UiLCJ1c2FnZSByaWdodHMiLCJudXR6dW5nc3JlY2h0ZSIsInJlY2h0ZWtsw6RydW5nIl19LHsidGl0bGUiOiJEYXRhIFByb3RlY3Rpb24gJiBFdGhpY3MiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvRGF0YSUyMFByb3RlY3Rpb24lMjAlMjYlMjBFdGhpY3MvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImRhdGEgcHJvdGVjdGlvbiIsInBlcnNvbmFsIGRhdGEiLCJnZHByIiwiZXRoaWNzIiwiY29uc2VudCIsInNlbnNpdGl2ZSBkYXRhIiwiY29uZmlkZW50aWFsaXR5IiwiZGF0YSBwcml2YWN5IiwiZHNndm8iLCJhbm9ueW1pc2F0aW9uIiwiYW5vbnltaXphdGlvbiIsInBzZXVkb255bWlzYXRpb24iLCJwc2V1ZG9ueW1pemF0aW9uIiwiZGF0ZW5zY2h1dHoiLCJlaW53aWxsaWd1bmciXX0seyJ0aXRsZSI6IkZpbGUgT3JnYW5pc2F0aW9uICYgTmFtaW5nIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0ZpbGUlMjBPcmdhbmlzYXRpb24lMjAlMjYlMjBOYW1pbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImZpbGUgb3JnYW5pc2F0aW9uIiwiZm9sZGVyIHN0cnVjdHVyZSIsImZpbGUgbmFtaW5nIiwibmFtaW5nIGNvbnZlbnRpb25zIiwicHJvamVjdCBmaWxlcyIsImlkZW50aWZpZXJzIiwiZmlsZW5hbWUiLCJmaWxlbmFtZXMiLCJmb2xkZXIgbmFtaW5nIiwiZmlsZSBzdHJ1Y3R1cmUiLCJkYXRlaW9yZ2FuaXNhdGlvbiIsImRhdGVpYmVuZW5udW5nIiwib3JkbmVyc3RydWt0dXIiXX0seyJ0aXRsZSI6IlN0b3JhZ2UsIEJhY2t1cCAmIFNlY3VyaXR5IiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1N0b3JhZ2UlMkMlMjBCYWNrdXAlMjAlMjYlMjBTZWN1cml0eS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwic3RvcmFnZSIsImJhY2t1cCIsInNlY3VyaXR5IiwiYWNjZXNzIGNvbnRyb2wiLCIzLTItMSBiYWNrdXAiLCJpbnN0aXR1dGlvbmFsIHN0b3JhZ2UiLCJiYWNrdXAgcmVzdG9yZSIsInJlc3RvcmUiLCJjbG91ZCBzdG9yYWdlIiwiZGF0YSBzZWN1cml0eSIsImRhdGVuc2ljaGVydW5nIiwic3BlaWNoZXIiLCJ6dWdyaWZmc3NjaHV0eiJdfSx7InRpdGxlIjoiSW5mcmFzdHJ1Y3R1cmUsIFNlcnZpY2VzICYgVG9vbHMiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvSW5mcmFzdHJ1Y3R1cmUlMkMlMjBTZXJ2aWNlcyUyMCUyNiUyMFRvb2xzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJpbmZyYXN0cnVjdHVyZSIsInNlcnZpY2VzIiwidG9vbHMiLCJpbnN0aXR1dGlvbmFsIHNlcnZpY2VzIiwic29mdHdhcmUiLCJyZXBvc2l0b3JpZXMiLCJyZXNlYXJjaCBpbmZyYXN0cnVjdHVyZSIsIml0IHNlcnZpY2VzIiwiZGlnaXRhbCB0b29scyIsImluZnJhc3RydWt0dXIiLCJkaWVuc3RlIiwid2Vya3pldWdlIl19LHsidGl0bGUiOiJDb2xsYWJvcmF0aW9uIFNldHVwIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0NvbGxhYm9yYXRpb24lMjBTZXR1cC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29sbGFib3JhdGlvbiIsImRhdGEgZXhjaGFuZ2UiLCJzaGFyZWQgd29ya3NwYWNlIiwiYWNjb3VudHMiLCJhY2Nlc3MgZ3JvdXBzIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJoYW5kb3ZlciIsInRlYW0gY29sbGFib3JhdGlvbiIsInByb2plY3QgcGFydG5lcnMiLCJzaGFyZWQgZm9sZGVyIiwic2hhcmVkIGFjY291bnRzIiwiY29sbGFib3JhdGl2ZSB3b3JraW5nIiwienVzYW1tZW5hcmJlaXQiLCJkYXRlbmF1c3RhdXNjaCJdfSx7InRpdGxlIjoiUXVpY2sgU3RhcnQgZm9yIFNtYWxsIFByb2plY3RzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1F1aWNrJTIwU3RhcnQlMjBmb3IlMjBTbWFsbCUyMFByb2plY3RzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJxdWljayBzdGFydCIsInNtYWxsIHByb2plY3RzIiwibWluaW11bSBzdGFuZGFyZCIsInByb2plY3QgY2hlY2tsaXN0IiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCBjaGVja2xpc3QiLCJxdWljayBndWlkZSIsIm1pbmltdW0gcmVxdWlyZW1lbnRzIiwic21hbGwgcHJvamVjdCBjaGVja2xpc3QiLCJjaGVja2xpc3RlIiwibWluZGVzdHN0YW5kYXJkIl19LHsidGl0bGUiOiJXb3JrICYgTWFuYWdlIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsIndvcmsgYW5kIG1hbmFnZSIsInByb2plY3QgbWFuYWdlbWVudCIsInJlc2VhcmNoIHdvcmtmbG93IiwiZG9jdW1lbnRhdGlvbiIsImRhdGEgbWFuYWdlbWVudCIsInF1YWxpdHkgYXNzdXJhbmNlIiwib25nb2luZyBwcm9qZWN0IiwicHJvamVjdCB3b3JrZmxvdyIsImxhdWZlbmRlcyBwcm9qZWt0IiwicHJvamVrdG1hbmFnZW1lbnQiXX0seyJ0aXRsZSI6Ik9yZ2FuaXNlIEZpbGVzICYgRm9sZGVycyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL09yZ2FuaXNlJTIwRmlsZXMlMjAlMjYlMjBGb2xkZXJzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJmaWxlIG9yZ2FuaXNhdGlvbiIsImZvbGRlciBzdHJ1Y3R1cmUiLCJwcm9qZWN0IGZpbGVzIiwibmFtaW5nIGNvbnZlbnRpb25zIiwidGVhbSB3b3JrZmxvdyIsImRhdGEgb3JnYW5pc2F0aW9uIiwiZmlsZSBzdHJ1Y3R1cmUiLCJmb2xkZXIgb3JnYW5pc2F0aW9uIiwiZGF0ZWlvcmdhbmlzYXRpb24iLCJvcmRuZXJzdHJ1a3R1ciJdfSx7InRpdGxlIjoiTWFuYWdlIFZlcnNpb25zICYgTWFzdGVyIEZpbGVzIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvTWFuYWdlJTIwVmVyc2lvbnMlMjAlMjYlMjBNYXN0ZXIlMjBGaWxlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwidmVyc2lvbiBjb250cm9sIiwidmVyc2lvbnMiLCJtYXN0ZXIgZmlsZXMiLCJ3b3JraW5nIGNvcGllcyIsInB1Ymxpc2hlZCB2ZXJzaW9ucyIsInRyYWNlYWJpbGl0eSIsImdpdCIsInZlcnNpb25pbmciLCJtYXN0ZXIiLCJtYXN0ZXIgZmlsZSIsImZpbmFsIHZlcnNpb24iLCJ2ZXJzaW9uIGhpc3RvcnkiLCJ2ZXJzaW9uc3ZlcndhbHR1bmciLCJtYXN0ZXJkYXRlaSJdfSx7InRpdGxlIjoiU3RvcmUsIEJhY2sgVXAgJiBDb250cm9sIEFjY2VzcyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL1N0b3JlJTJDJTIwQmFjayUyMFVwJTIwJTI2JTIwQ29udHJvbCUyMEFjY2Vzcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwic3RvcmFnZSIsImJhY2t1cCIsImFjY2VzcyBjb250cm9sIiwic2VjdXJpdHkiLCJwZXJtaXNzaW9ucyIsInNlbnNpdGl2ZSBkYXRhIiwiaW5zdGl0dXRpb25hbCBzdG9yYWdlIiwiYmFja3VwIHJlc3RvcmUiLCJhY2Nlc3MgcGVybWlzc2lvbnMiLCJzZWN1cmUgc3RvcmFnZSIsImRhdGEgYWNjZXNzIiwienVncmlmZnNyZWNodGUiLCJkYXRlbnNpY2hlcnVuZyJdfSx7InRpdGxlIjoiRG9jdW1lbnQgUHJvY2Vzc2VzLCBNZXRhZGF0YSAmIFByb3ZlbmFuY2UiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Eb2N1bWVudCUyME1ldGFkYXRhJTIwJTI2JTIwUHJvdmVuYW5jZS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwiZG9jdW1lbnRhdGlvbiIsInJlc2VhcmNoIHByb2Nlc3MiLCJtZXRhZGF0YSIsInByb3ZlbmFuY2UiLCJjb250ZXh0IiwidHJhY2VhYmlsaXR5IiwicmVsYXRpb25zaGlwcyIsInRlY2huaWNhbCBkb2N1bWVudGF0aW9uIiwicHJvY2VzcyBkb2N1bWVudGF0aW9uIiwicmVzZWFyY2ggZG9jdW1lbnRhdGlvbiIsImRhdGEgbGluZWFnZSIsIm9yaWdpbiIsImhpc3Rvcnkgb2YgY2hhbmdlcyIsIm1ldGFkYXRlbiIsInByb3ZlbmllbnoiLCJwcm96ZXNzZG9rdW1lbnRhdGlvbiJdfSx7InRpdGxlIjoiVXNlIFN0YW5kYXJkcywgVm9jYWJ1bGFyaWVzICYgSWRlbnRpZmllcnMiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Vc2UlMjBTdGFuZGFyZHMlMkMlMjBWb2NhYnVsYXJpZXMlMjAlMjYlMjBJZGVudGlmaWVycy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwibWV0YWRhdGEgc3RhbmRhcmRzIiwiY29udHJvbGxlZCB2b2NhYnVsYXJpZXMiLCJhdXRob3JpdHkgZGF0YSIsImlkZW50aWZpZXJzIiwicGVyc2lzdGVudCBpZGVudGlmaWVycyIsImduZCIsImNpZG9jIGNybSIsImludGVyb3BlcmFiaWxpdHkiLCJnZXR0eSB2b2NhYnVsYXJpZXMiLCJub3JtZGF0YSIsIm5vcm1kYXRlbiIsImNvbnRyb2xsZWQgdm9jYWJ1bGFyeSIsInBlcnNpc3RlbnQgaWRlbnRpZmllciIsInBpZCIsIm1ldGFkYXRhIHNjaGVtYSIsIm9udG9sb2d5Iiwib250b2xvZ2llcyJdfSx7InRpdGxlIjoiUmV2aWV3IFlvdXIgRGF0YSBNYW5hZ2VtZW50IiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvUmV2aWV3JTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJkYXRhIG1hbmFnZW1lbnQgcmV2aWV3IiwiZG1wIHVwZGF0ZSIsInF1YWxpdHkgYXNzdXJhbmNlIiwicHJvamVjdCByZXZpZXciLCJyZXNwb25zaWJpbGl0aWVzIiwicmlzayByZXZpZXciLCJwcm9qZWN0IGNoYW5nZXMiLCJyZXZpZXcgZG1wIiwidXBkYXRlIGRtcCIsImRhdGEgbWFuYWdlbWVudCB1cGRhdGUiLCJxdWFsaXR5IHJldmlldyIsImRhdGVubWFuYWdlbWVudCDDvGJlcnByw7xmZW4iLCJkbXAgYWt0dWFsaXNpZXJlbiJdfSx7InRpdGxlIjoiUHVibGlzaCAmIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlc2VhcmNoIHB1YmxpY2F0aW9uIiwiZGlzc2VtaW5hdGlvbiIsIm9wZW4gc2NpZW5jZSIsInJlcG9zaXRvcmllcyIsInByZXNlcnZhdGlvbiIsInB1YmxpY2F0aW9uIiwic2hhcmluZyIsInJlc2VhcmNoIGRpc3NlbWluYXRpb24iLCJ2aXNpYmlsaXR5IiwicHVibGl6aWVyZW4iLCJ0ZWlsZW4iLCJzaWNodGJhcmtlaXQiXX0seyJ0aXRsZSI6IkRlY2lkZSBXaGF0IHRvIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0RlY2lkZSUyMFdoYXQlMjB0byUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInNoYXJpbmciLCJwdWJsaWNhdGlvbiBkZWNpc2lvbiIsImRpc2NvdmVyeSIsImFjY2VzcyIsInJldXNlIiwicHJlc2VydmF0aW9uIiwic2Vuc2l0aXZpdHkiLCJ3aGF0IHRvIHB1Ymxpc2giLCJ3aGF0IHRvIHNoYXJlIiwiZGlzY292ZXJ5IGFjY2VzcyByZXVzZSBwcmVzZXJ2YXRpb24iLCJmcmVpZ2FiZSIsInZlcsO2ZmZlbnRsaWNodW5nc2VudHNjaGVpZHVuZyJdfSx7InRpdGxlIjoiRkFJUiwgQ0FSRSAmIE9wZW4gU2NpZW5jZSIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9GQUlSJTJDJTIwQ0FSRSUyMCUyNiUyME9wZW4lMjBTY2llbmNlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsImZhaXIiLCJjYXJlIiwib3BlbiBzY2llbmNlIiwib3BlbiBhY2Nlc3MiLCJvcGVuIGRhdGEiLCJpbmRpZ2Vub3VzIGRhdGEgZ292ZXJuYW5jZSIsInJlc3BvbnNpYmxlIG9wZW5uZXNzIiwiZmluZGFibGUgYWNjZXNzaWJsZSBpbnRlcm9wZXJhYmxlIHJldXNhYmxlIiwiY29sbGVjdGl2ZSBiZW5lZml0IiwiYXV0aG9yaXR5IHRvIGNvbnRyb2wiLCJyZXNwb25zaWJpbGl0eSBldGhpY3MiLCJvZmZlbmUgd2lzc2Vuc2NoYWZ0Iiwib3BlbiByZXNlYXJjaCJdfSx7InRpdGxlIjoiTWFuYWdlIEFjY2VzcywgUmV1c2UgJiBMaWNlbnNpbmciLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFuYWdlJTIwQWNjZXNzJTJDJTIwUmV1c2UlMjAlMjYlMjBMaWNlbnNpbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiYWNjZXNzIiwicmV1c2UiLCJsaWNlbnNpbmciLCJsaWNlbmNlcyIsInBlcm1pc3Npb25zIiwiZW1iYXJnbyIsImNvbnRyb2xsZWQgYWNjZXNzIiwiY3JlYXRpdmUgY29tbW9ucyIsInJldXNlIHJpZ2h0cyIsIm9wZW4gbGljZW5jZSIsIm9wZW4gbGljZW5zZSIsImFjY2VzcyByZXN0cmljdGlvbiIsInp1Z2FuZyIsIm5hY2hudXR6dW5nIiwibGl6ZW56aWVydW5nIl19LHsidGl0bGUiOiJDaG9vc2UgYSBSZXBvc2l0b3J5IG9yIFB1YmxpY2F0aW9uIFBsYXRmb3JtIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nob29zZSUyMGElMjBSZXBvc2l0b3J5JTIwb3IlMjBQdWJsaWNhdGlvbiUyMFBsYXRmb3JtLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlcG9zaXRvcnkiLCJwdWJsaWNhdGlvbiBwbGF0Zm9ybSIsImRhdGEgcmVwb3NpdG9yeSIsImFyY2hpdmUiLCJ0cnVzdGVkIHJlcG9zaXRvcnkiLCJjb3JldHJ1c3RzZWFsIiwiaW5zdGl0dXRpb25hbCByZXBvc2l0b3J5IiwicmVzZWFyY2ggcmVwb3NpdG9yeSIsInB1YmxpY2F0aW9uIHZlbnVlIiwicmVwb3NpdG9yeSBzZWxlY3Rpb24iLCJyZXBvc2l0b3JpdW0iLCJwdWJsaWthdGlvbnNwbGF0dGZvcm0iLCJhcmNoaXYiXX0seyJ0aXRsZSI6Ik1ha2UgT3V0cHV0cyBGaW5kYWJsZSAmIENpdGFibGUiLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFrZSUyME91dHB1dHMlMjBGaW5kYWJsZSUyMCUyNiUyMENpdGFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZmluZGFiaWxpdHkiLCJjaXRhdGlvbiIsInBlcnNpc3RlbnQgaWRlbnRpZmllcnMiLCJwaWQiLCJkb2kiLCJvcmNpZCIsInJvciIsIm1ldGFkYXRhIiwidmVyc2lvbmluZyIsImRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiLCJkb2kgbnVtYmVyIiwicGVyc2lzdGVudCBpZGVudGlmaWVyIiwicGVyc2lzdGVudCBpZCIsImRhdGEgY2l0YXRpb24iLCJjaXRlIGRhdGEiLCJjaXRlIGRhdGFzZXQiLCJjaXRhdGlvbiBtZXRhZGF0YSIsInppdGllcmVuIiwieml0aWVyYmFya2VpdCIsImF1ZmZpbmRiYXJrZWl0Il19LHsidGl0bGUiOiJEaXNzZW1pbmF0ZSAmIFByZXNlbnQgWW91ciBSZXNlYXJjaCIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9EaXNzZW1pbmF0ZSUyMCUyNiUyMFByZXNlbnQlMjBZb3VyJTIwUmVzZWFyY2gvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZGlzc2VtaW5hdGlvbiIsInZpc2liaWxpdHkiLCJwcmVzZW50YXRpb24iLCJhdWRpZW5jZXMiLCJzY2llbmNlIGNvbW11bmljYXRpb24iLCJleGhpYml0aW9uIiwicHJvamVjdCB3ZWJzaXRlIiwicmVzZWFyY2ggY29tbXVuaWNhdGlvbiIsImNvbW11bmljYXRpb24iLCJwdWJsaWMgZW5nYWdlbWVudCIsImF1c3N0ZWxsdW5nIiwidmVybWl0dGx1bmciXX0seyJ0aXRsZSI6IlByZXNlcnZlIERhdGEgJiBBcnRpc3RpYyBPdXRwdXRzIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL1ByZXNlcnZlJTIwRGF0YSUyMCUyNiUyMEFydGlzdGljJTIwT3V0cHV0cy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcmVzZXJ2YXRpb24iLCJsb25nLXRlcm0gcHJlc2VydmF0aW9uIiwiYXJjaGl2aW5nIiwibWFzdGVyIGZpbGVzIiwiZmlsZSBmb3JtYXRzIiwidGVjaG5pY2FsIGRlcGVuZGVuY2llcyIsImVtdWxhdGlvbiIsImFydGlzdGljIG91dHB1dHMiLCJkaWdpdGFsIHByZXNlcnZhdGlvbiIsImxvbmcgdGVybSBhcmNoaXZlIiwicHJlc2VydmF0aW9uIG1hc3RlciIsImZvcm1hdCBtaWdyYXRpb24iLCJzb2Z0d2FyZSBwcmVzZXJ2YXRpb24iLCJsYW5nemVpdGFyY2hpdmllcnVuZyIsImFyY2hpdmllcnVuZyIsImVyaGFsdHVuZyJdfSx7InRpdGxlIjoiQ2xvc2UgJiBIYW5kIE92ZXIgWW91ciBQcm9qZWN0IiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nsb3NlJTIwJTI2JTIwSGFuZCUyME92ZXIlMjBZb3VyJTIwUHJvamVjdC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcm9qZWN0IGNsb3N1cmUiLCJoYW5kb3ZlciIsImFyY2hpdmUgZGVwb3NpdCIsImRlbGV0aW9uIiwiZmluYWwgZG9jdW1lbnRhdGlvbiIsInBvc3QtcHJvamVjdCByZXNwb25zaWJpbGl0eSIsInJldGVudGlvbiIsInByb2plY3QgZW5kIiwicHJvamVjdCBjb21wbGV0aW9uIiwiZmluYWwgaGFuZG92ZXIiLCJwcm9qZWN0IGFyY2hpdmUiLCJwcm9qZWt0YWJzY2hsdXNzIiwiw7xiZXJnYWJlIiwibMO2c2NodW5nIl19XQ==";
75 var pageIndex;
76
77 try {
78 var binary = window.atob(encodedIndex);
79 var bytes = Uint8Array.from(binary, function (character) {
80 return character.charCodeAt(0);
81 });
82
83 pageIndex = JSON.parse(
84 new TextDecoder("utf-8").decode(bytes)
85 );
86 } catch (error) {
87 console.error("Art & Research search index could not be loaded.", error);
88 return;
89 }
90
91 var form = document.getElementById("arsn-search-form");
92 var input = document.getElementById("arsn-search-input");
93 var resultsBox = document.getElementById("arsn-search-results");
94 var status = document.getElementById("arsn-search-status");
95 var currentResults = [];
96 var activeIndex = -1;
97
98 function normalise(value) {
99 return String(value || "")
100 .normalize("NFD")
101 .replace(/[\u0300-\u036f]/g, "")
102 .toLowerCase()
103 .replace(/[^a-z0-9]+/g, " ")
104 .trim();
105 }
106
107 function scorePage(page, query) {
108 var title = normalise(page.title);
109 var phase = normalise(page.phase);
110 var terms = page.terms.map(normalise);
111 var tokens = query.split(/\s+/).filter(Boolean);
112 var score = 0;
113
114 if (title === query) score += 500;
115 if (terms.indexOf(query) !== -1) score += 450;
116
117 if (title.indexOf(query) === 0) score += 300;
118 if (terms.some(function (term) {
119 return term.indexOf(query) === 0;
120 })) score += 260;
121
122 if (title.indexOf(query) !== -1) score += 180;
123 if (terms.some(function (term) {
124 return term.indexOf(query) !== -1;
125 })) score += 160;
126
127 if (phase.indexOf(query) !== -1) score += 40;
128
129 tokens.forEach(function (token) {
130 if (title.indexOf(token) !== -1) score += 35;
131
132 if (terms.some(function (term) {
133 return term.indexOf(token) !== -1;
134 })) score += 30;
135 });
136
137 return score;
138 }
139
140 function matchingTerms(page, query) {
141 return page.terms
142 .filter(function (term) {
143 return normalise(term).indexOf(query) !== -1;
144 })
145 .slice(0, 4);
146 }
147
148 function search(queryText) {
149 var query = normalise(queryText);
150
151 if (!query) return [];
152
153 return pageIndex
154 .map(function (page) {
155 return {
156 page: page,
157 score: scorePage(page, query)
158 };
159 })
160 .filter(function (entry) {
161 return entry.score > 0;
162 })
163 .sort(function (a, b) {
164 return (
165 b.score - a.score ||
166 a.page.title.localeCompare(b.page.title)
167 );
168 })
169 .slice(0, 8)
170 .map(function (entry) {
171 return entry.page;
172 });
173 }
174
175 function escapeHTML(value) {
176 return String(value)
177 .replace(/&/g, "&amp;")
178 .replace(/</g, "&lt;")
179 .replace(/>/g, "&gt;")
180 .replace(/"/g, "&quot;");
181 }
182
183 function setActive(index) {
184 var links = resultsBox.querySelectorAll("[role=option]");
185
186 if (!links.length) {
187 activeIndex = -1;
188 return;
189 }
190
191 activeIndex = Math.max(
192 0,
193 Math.min(index, links.length - 1)
194 );
195
196 links.forEach(function (link, itemIndex) {
197 var active = itemIndex === activeIndex;
198
199 link.setAttribute(
200 "aria-selected",
201 active ? "true" : "false"
202 );
203
204 link.style.background =
205 active ? "#f3f5f6" : "#fff";
206 });
207 }
208
209 function render() {
210 var query = normalise(input.value);
211 currentResults = search(input.value);
212 activeIndex = -1;
213
214 if (!query) {
215 resultsBox.hidden = true;
216 input.setAttribute("aria-expanded", "false");
217 resultsBox.innerHTML = "";
218 status.textContent = "";
219 return;
220 }
221
222 if (!currentResults.length) {
223 resultsBox.hidden = false;
224 input.setAttribute("aria-expanded", "true");
225 resultsBox.innerHTML =
226 '<div style="padding:12px 14px;color:#666;">' +
227 'No direct topic match. Press Search for XWiki full-text results.' +
228 '</div>';
229
230 status.textContent = "No direct topic suggestions.";
231 return;
232 }
233
234 resultsBox.innerHTML =
235 currentResults.map(function (page, index) {
236 var terms = matchingTerms(page, query);
237
238 var detail =
239 page.phase && page.phase !== "Overview"
240 ? page.phase
241 : "Art & Research Services Navigator";
242
243 if (terms.length) {
244 detail += " · " + terms.join(", ");
245 }
246
247 return (
248 '<a href="' +
249 escapeHTML(page.url) +
250 '" role="option" aria-selected="false"' +
251 ' data-index="' + index + '"' +
252 ' style="display:block;padding:11px 14px;border-bottom:1px solid #eee;color:#111;text-decoration:none;">' +
253 '<strong style="display:block;">' +
254 escapeHTML(page.title) +
255 '</strong>' +
256 '<span style="display:block;margin-top:2px;color:#6a655e;font-size:13px;">' +
257 escapeHTML(detail) +
258 '</span>' +
259 '</a>'
260 );
261 }).join("");
262
263 resultsBox.hidden = false;
264 input.setAttribute("aria-expanded", "true");
265
266 status.textContent =
267 currentResults.length +
268 " suggested page" +
269 (currentResults.length === 1 ? "" : "s") +
270 ".";
271 }
272
273 input.addEventListener("input", render);
274 input.addEventListener("focus", render);
275
276 input.addEventListener("keydown", function (event) {
277 if (resultsBox.hidden || !currentResults.length) return;
278
279 if (event.key === "ArrowDown") {
280 event.preventDefault();
281 setActive(activeIndex + 1);
282 } else if (event.key === "ArrowUp") {
283 event.preventDefault();
284
285 setActive(
286 activeIndex <= 0
287 ? currentResults.length - 1
288 : activeIndex - 1
289 );
290 } else if (event.key === "Enter" && activeIndex >= 0) {
291 event.preventDefault();
292 window.location.href = currentResults[activeIndex].url;
293 } else if (event.key === "Escape") {
294 resultsBox.hidden = true;
295 input.setAttribute("aria-expanded", "false");
296 }
297 });
298
299 form.addEventListener("submit", function (event) {
300 currentResults = search(input.value);
301
302 if (currentResults.length) {
303 event.preventDefault();
304 window.location.href = currentResults[0].url;
305 }
306 });
307
308 document.addEventListener("click", function (event) {
309 if (!form.contains(event.target)) {
310 resultsBox.hidden = true;
311 input.setAttribute("aria-expanded", "false");
312 }
313 });
314
315 // Search-term links on nested pages use ?q=<term>.
316 // Load that query into the search box automatically.
317 try {
318 var params = new URLSearchParams(window.location.search);
319 var linkedQuery = params.get("q");
320
321 if (linkedQuery) {
322 input.value = linkedQuery;
323 render();
324
325 window.setTimeout(function () {
326 input.focus();
327
328 if (input.scrollIntoView) {
329 input.scrollIntoView({
330 behavior: "smooth",
331 block: "center"
332 });
333 }
334 }, 50);
335 }
336 } catch (error) {
337 console.warn("Could not load linked navigator query.", error);
338 }
339 })();
340 </script>
341 </section>
342 {{/html}}
343
344 (% style="margin:10px 0 16px 0;color:#6a655e;font-size:13px;" %)
345 (((
346 Follow the project stages from left to right. Within each stage, topics are ordered by what you are most likely to need next; colour is used only as a subtle thematic cue.
347 )))
348
349 {{container layoutStyle="columns"}}
350
351 (((
352 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
353 (((
354 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
355 (((
356 [[image:enable.png||alt="Enable — Plan & Set Up" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
357 )))
358
359 (% style="padding:18px 17px 17px 17px;flex:1;" %)
360 (((
361 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
362 [[1. Enable — Plan & Set Up>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||style="color:#111;text-decoration:none;font-weight:700;"]]
363
364 (% style="color:#666;margin-bottom:16px;" %)
365 Prepare your project before the main work begins.
366
367 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
368 START HERE
369
370 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
371 (((
372 [[Get Started>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Get%20Started/||style="color:#222;text-decoration:none;font-weight:600;"]]
373 )))
374
375 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
376 (((
377 [[Quick Start for Small Projects>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/||style="color:#222;text-decoration:none;font-weight:600;"]]
378 )))
379
380 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
381 PLAN & ORGANISE
382
383 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
384 (((
385 [[Project Planning & Organisation>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Project%20Planning%20%26%20Organisation/||style="color:#222;text-decoration:none;font-weight:600;"]]
386 )))
387
388 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
389 (((
390 [[Funding & Funder Requirements>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Funding%20%26%20Funder%20Requirements/||style="color:#222;text-decoration:none;font-weight:600;"]]
391 )))
392
393 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
394 (((
395 [[Identify Your Data & Research Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
396 )))
397
398 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
399 (((
400 [[Plan Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
401 )))
402
403 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
404 (((
405 [[File Organisation & Naming>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/File%20Organisation%20%26%20Naming/||style="color:#222;text-decoration:none;font-weight:600;"]]
406 )))
407
408 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
409 PROTECT & CLARIFY
410
411 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
412 (((
413 [[Copyright, Rights & Licences>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Copyright%2C%20Rights%20%26%20Licences/||style="color:#222;text-decoration:none;font-weight:600;"]]
414 )))
415
416 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
417 (((
418 [[Data Protection & Ethics>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/||style="color:#222;text-decoration:none;font-weight:600;"]]
419 )))
420
421 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
422 SET UP INFRASTRUCTURE
423
424 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
425 (((
426 [[Storage, Backup & Security>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Storage%2C%20Backup%20%26%20Security/||style="color:#222;text-decoration:none;font-weight:600;"]]
427 )))
428
429 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
430 (((
431 [[Infrastructure, Services & Tools>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Infrastructure%2C%20Services%20%26%20Tools/||style="color:#222;text-decoration:none;font-weight:600;"]]
432 )))
433
434 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
435 (((
436 [[Collaboration Setup>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Collaboration%20Setup/||style="color:#222;text-decoration:none;font-weight:600;"]]
437 )))
438 )))
439
440 (% style="padding:0 16px 16px 16px;" %)
441 (((
442 [[Explore Enable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||class="btn btn-primary btn-block"]]
443 )))
444 )))
445 )))
446
447 (((
448 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
449 (((
450 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
451 (((
452 [[image:work.png||alt="Work & Manage — Run Your Project" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
453 )))
454
455 (% style="padding:18px 17px 17px 17px;flex:1;" %)
456 (((
457 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
458 [[2. Work & Manage — Run Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||style="color:#111;text-decoration:none;font-weight:700;"]]
459
460 (% style="color:#666;margin-bottom:16px;" %)
461 Organise, document and review your project while the work is ongoing.
462
463 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
464 ORGANISE & DOCUMENT
465
466 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
467 (((
468 [[Organise Files & Folders>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Organise%20Files%20%26%20Folders/||style="color:#222;text-decoration:none;font-weight:600;"]]
469 )))
470
471 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
472 (((
473 [[Manage Versions & Master Files>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Manage%20Versions%20%26%20Master%20Files/||style="color:#222;text-decoration:none;font-weight:600;"]]
474 )))
475
476 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
477 (((
478 [[Document Processes, Metadata & Provenance>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Document%20Metadata%20%26%20Provenance/||style="color:#222;text-decoration:none;font-weight:600;"]]
479 )))
480
481 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
482 STORE & CONTROL ACCESS
483
484 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
485 (((
486 [[Store, Back Up & Control Access>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Store%2C%20Back%20Up%20%26%20Control%20Access/||style="color:#222;text-decoration:none;font-weight:600;"]]
487 )))
488
489 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
490 STANDARDISE & IDENTIFY
491
492 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
493 (((
494 [[Use Standards, Vocabularies & Identifiers>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Use%20Standards%2C%20Vocabularies%20%26%20Identifiers/||style="color:#222;text-decoration:none;font-weight:600;"]]
495 )))
496
497 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
498 REVIEW & ADAPT
499
500 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
501 (((
502 [[Review Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Review%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
503 )))
504 )))
505
506 (% style="padding:0 16px 16px 16px;" %)
507 (((
508 [[Explore Work & Manage>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||class="btn btn-primary btn-block"]]
509 )))
510 )))
511 )))
512
513 (((
514 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
515 (((
516 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
517 (((
518 [[image:share.png||alt="Publish & Share — Make It Visible" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
519 )))
520
521 (% style="padding:18px 17px 17px 17px;flex:1;" %)
522 (((
523 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
524 [[3. Publish & Share — Make It Visible>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||style="color:#111;text-decoration:none;font-weight:700;"]]
525
526 (% style="color:#666;margin-bottom:16px;" %)
527 Decide how outputs should be shared, published, made findable and preserved.
528
529 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
530 DECIDE
531
532 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
533 (((
534 [[Decide What to Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Decide%20What%20to%20Share/||style="color:#222;text-decoration:none;font-weight:600;"]]
535 )))
536
537 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
538 OPEN, REUSE & MAKE FINDABLE
539
540 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
541 (((
542 [[FAIR, CARE & Open Science>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/FAIR%2C%20CARE%20%26%20Open%20Science/||style="color:#222;text-decoration:none;font-weight:600;"]]
543 )))
544
545 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
546 (((
547 [[Manage Access, Reuse & Licensing>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Manage%20Access%2C%20Reuse%20%26%20Licensing/||style="color:#222;text-decoration:none;font-weight:600;"]]
548 )))
549
550 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
551 (((
552 [[Make Outputs Findable & Citable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Make%20Outputs%20Findable%20%26%20Citable/||style="color:#222;text-decoration:none;font-weight:600;"]]
553 )))
554
555 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
556 PUBLISH & PRESENT
557
558 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
559 (((
560 [[Disseminate & Present Your Research>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Disseminate%20%26%20Present%20Your%20Research/||style="color:#222;text-decoration:none;font-weight:600;"]]
561 )))
562
563 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
564 REPOSITORY, PRESERVE & HAND OVER
565
566 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
567 (((
568 [[Choose a Repository or Publication Platform>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Choose%20a%20Repository%20or%20Publication%20Platform/||style="color:#222;text-decoration:none;font-weight:600;"]]
569 )))
570
571 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
572 (((
573 [[Preserve Data & Artistic Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Preserve%20Data%20%26%20Artistic%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
574 )))
575
576 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
577 (((
578 [[Close & Hand Over Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Close%20%26%20Hand%20Over%20Your%20Project/||style="color:#222;text-decoration:none;font-weight:600;"]]
579 )))
580 )))
581
582 (% style="padding:0 16px 16px 16px;" %)
583 (((
584 [[Explore Publish & Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||class="btn btn-primary btn-block"]]
585 )))
586 )))
587 )))
588
589 {{/container}}
590
591 (% style="margin-top:30px;" %)
592 (((
593 == Practical resources ==
594
595 Use practical resources when you need a concise overview, a step-by-step procedure or a ready-to-use project aid.
596
597 {{container layoutStyle="columns"}}
598
599 (((
600 {{box title="Info Sheets"}}
601 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
602 Short reference guides for common questions and decisions.
603
604 Resources will be linked here as the collection is developed.
605 {{/box}}
606 )))
607
608 (((
609 {{box title="Tutorials"}}
610 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
611 Step-by-step guidance for specific tasks and workflows.
612
613 Tutorials will be linked here as the collection is developed.
614 {{/box}}
615 )))
616
617 (((
618 {{box title="Checklists & Templates"}}
619 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
620 Ready-to-use checklists and templates for planning, managing and closing projects.
621
622 [[Start with the Quick Start checklist>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/]]
623 {{/box}}
624 )))
625
626 {{/container}}
627 )))
628
629 (% style="margin-top:30px;" %)
630 (((
631 == Need help finding the right route? ==
632
633 {{info title="Start with the right service"}}
634 For **project development, funding, proposals and coordination of funded art and research projects**, **Support Kunst und Forschung** is a good place to start.
635
636 For more specific questions, the topic pages point directly to the relevant university services. When several areas are involved, use the navigator to see which support is useful at the next step.
637 {{/info}}
638 )))
639
640 {{html clean="false"}}
641 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
642
643 <style data-sn-service-navigator-master="1">
644 /* =========================================================
645 MASTER TYPOGRAPHY
646 ========================================================= */
647 #xwikicontent h1,
648 #xwikicontent h2,
649 #xwikicontent h3,
650 #xwikicontent h4,
651 #xwikicontent h5,
652 #xwikicontent h6,
653 #xwikicontent .box-title,
654 #xwikicontent [role="heading"],
655 #xwikicontent h1 a,
656 #xwikicontent h2 a,
657 #xwikicontent h3 a,
658 #xwikicontent h4 a,
659 #xwikicontent h5 a,
660 #xwikicontent h6 a,
661 #xwikicontent .box-title a,
662 #xwikicontent [role="heading"] a{
663 text-align:left!important;
664 text-justify:auto!important;
665 word-spacing:normal!important;
666 }
667
668 /* =========================================================
669 COMING SOON / IN VORBEREITUNG
670 ========================================================= */
671 .sn-coming-soon-badge{
672 display:inline-block;
673 vertical-align:middle;
674 margin-left:10px;
675 padding:4px 8px;
676 border-radius:14px;
677 border:1px solid #efd9cc;
678 background:#fff4ee;
679 color:#8a4d36;
680 font-size:11px;
681 font-weight:700;
682 letter-spacing:.055em;
683 line-height:1.2;
684 white-space:nowrap;
685 }
686
687 /* =========================================================
688 NATIVE / DETAIL CALLOUT GEOMETRY
689 Preserve existing backgrounds.
690 ========================================================= */
691 #xwikicontent .arsn-info,
692 #xwikicontent .dmp-info,
693 #xwikicontent .ido-info,
694 #xwikicontent .pp-info,
695 #xwikicontent .infomessage{
696 box-sizing:border-box!important;
697 border-left:4px solid #21b6d7!important;
698 border-radius:8px;
699 text-align:left!important;
700 word-spacing:normal!important;
701 }
702
703 #xwikicontent .arsn-warn,
704 #xwikicontent .dmp-warn,
705 #xwikicontent .ido-warn,
706 #xwikicontent .pp-warn,
707 #xwikicontent .warn,
708 #xwikicontent .warning,
709 #xwikicontent .warningmessage,
710 #xwikicontent .errormessage{
711 box-sizing:border-box!important;
712 border-left:4px solid #e94b13!important;
713 border-radius:8px;
714 text-align:left!important;
715 word-spacing:normal!important;
716 }
717
718 [data-sn-master-equal-height],
719 [data-sn-master-first-row]{
720 box-sizing:border-box;
721 }
722
723 /* =========================================================
724 FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
725 ========================================================= */
726 #xwikicontent .arsn-area-label[data-sn-three-line="1"]{
727 display:grid!important;
728 grid-template-columns:minmax(0,1fr)!important;
729 grid-auto-rows:auto!important;
730 width:100%!important;
731 max-width:none!important;
732 box-sizing:border-box!important;
733 justify-items:start!important;
734 align-items:start!important;
735 gap:2px!important;
736 text-align:left!important;
737 text-align-last:left!important;
738 text-justify:auto!important;
739 word-spacing:normal!important;
740 white-space:normal!important;
741 }
742 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
743 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
744 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
745 display:block!important;
746 width:100%!important;
747 margin:0!important;
748 text-align:left!important;
749 text-align-last:left!important;
750 text-justify:auto!important;
751 word-spacing:normal!important;
752 white-space:normal!important;
753 }
754 </style>
755
756 <script data-sn-service-navigator-master="1">
757 (function(){
758 "use strict";
759
760 var PAGE_KIND="overview";
761 var PLACEHOLDER=false;
762 var PLACEHOLDER_LABEL="COMING SOON";
763
764 var MOBILE_MAX=767;
765 var ROW_TOLERANCE=6;
766 var RESIZE_DEBOUNCE=220;
767
768 var root=
769 document.getElementById("xwikicontent")||
770 document.querySelector(".xwiki-rendering-content")||
771 document.querySelector("main")||
772 document.body;
773
774 if(!root)return;
775
776 var managedHeight=new Set();
777 var managedMargin=new Set();
778 var originalHeight=new WeakMap();
779 var originalMargin=new WeakMap();
780
781 var resizeTimer=0;
782 var running=false;
783
784 var THEMES=[
785 {
786 name:"BLUE",
787 accent:"#21b6d7",
788 bg:"#eaf7fb",
789 text:"#315d68",
790 labels:[
791 "HIER STARTEN",
792 "ENTSCHEIDEN",
793 "ÜBERPRÜFEN & ANPASSEN",
794 "START HERE",
795 "DECIDE",
796 "REVIEW & ADAPT"
797 ]
798 },
799 {
800 name:"RED",
801 accent:"#e94b13",
802 bg:"#fff1ec",
803 text:"#8a4d36",
804 labels:[
805 "PLANEN & ORGANISIEREN",
806 "ORGANISIEREN & DOKUMENTIEREN",
807 "PUBLIZIEREN & PRÄSENTIEREN",
808 "PLAN & ORGANISE",
809 "PLAN & ORGANIZE",
810 "ORGANISE & DOCUMENT",
811 "ORGANIZE & DOCUMENT",
812 "PUBLISH & PRESENT"
813 ]
814 },
815 {
816 name:"YELLOW",
817 accent:"#f0aa00",
818 bg:"#fff8e7",
819 text:"#785b17",
820 labels:[
821 "SCHÜTZEN & KLÄREN",
822 "STANDARDISIEREN & IDENTIFIZIEREN",
823 "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
824 "PROTECT & CLARIFY",
825 "STANDARDISE & IDENTIFY",
826 "STANDARDIZE & IDENTIFY",
827 "OPEN, REUSE & MAKE FINDABLE"
828 ]
829 },
830 {
831 name:"GREEN",
832 accent:"#38b76a",
833 bg:"#edf9f1",
834 text:"#3f7451",
835 labels:[
836 "INFRASTRUKTUR EINRICHTEN",
837 "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
838 "SPEICHERN & ZUGRIFF STEUERN",
839 "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
840 "SET UP INFRASTRUCTURE",
841 "SET UP INFRASTRUCTURE & COLLABORATION",
842 "STORE & CONTROL ACCESS",
843 "REPOSITORY, PRESERVE & HAND OVER"
844 ]
845 }
846 ];
847
848 function num(value){
849 var n=parseFloat(value);
850 return Number.isFinite(n)?n:0;
851 }
852
853 function norm(value){
854 return String(value||"")
855 .replace(/\s+/g," ")
856 .trim()
857 .toUpperCase();
858 }
859
860 function visible(el){
861 if(!el||el.nodeType!==1)return false;
862
863 var style=getComputedStyle(el);
864 var rect=el.getBoundingClientRect();
865
866 return (
867 style.display!=="none"&&
868 style.visibility!=="hidden"&&
869 rect.width>20&&
870 rect.height>4
871 );
872 }
873
874 function saveStyle(el,map,property){
875 if(map.has(el))return;
876
877 map.set(el,{
878 value:el.style.getPropertyValue(property),
879 priority:el.style.getPropertyPriority(property)
880 });
881 }
882
883 function restoreStyle(el,map,property){
884 var original=map.get(el);
885
886 if(original&&original.value){
887 el.style.setProperty(
888 property,
889 original.value,
890 original.priority||""
891 );
892 }else{
893 el.style.removeProperty(property);
894 }
895 }
896
897 function resetRuntime(){
898 managedHeight.forEach(function(el){
899 restoreStyle(
900 el,
901 originalHeight,
902 "min-height"
903 );
904 el.removeAttribute(
905 "data-sn-master-equal-height"
906 );
907 });
908
909 managedMargin.forEach(function(el){
910 restoreStyle(
911 el,
912 originalMargin,
913 "margin-top"
914 );
915 el.removeAttribute(
916 "data-sn-master-first-row"
917 );
918 });
919
920 managedHeight.clear();
921 managedMargin.clear();
922 }
923
924 function themeFor(text){
925 var value=norm(text);
926
927 for(var i=0;i<THEMES.length;i++){
928 for(var j=0;j<THEMES[i].labels.length;j++){
929 var label=THEMES[i].labels[j];
930
931 if(
932 value===label||
933 value.indexOf(label+" ")===0||
934 value.indexOf(label+" -")===0||
935 value.indexOf(label+" ·")===0
936 ){
937 return THEMES[i];
938 }
939 }
940 }
941
942 return null;
943 }
944
945 /* =======================================================
946 BORDERLESS FILLED RED/ORANGE CTA BUTTONS
947 ======================================================= */
948
949 function colourDistance(a,b){
950 return Math.sqrt(
951 Math.pow(a[0]-b[0],2)+
952 Math.pow(a[1]-b[1],2)+
953 Math.pow(a[2]-b[2],2)
954 );
955 }
956
957 function makeFilledRedOrangeCTAsBorderless(){
958 var RED_ORANGE=[233,75,19];
959
960 Array.from(
961 root.querySelectorAll(
962 'a,button,[role="button"],input[type="submit"],input[type="button"]'
963 )
964 ).forEach(function(el){
965 if(!visible(el))return;
966
967 var style=getComputedStyle(el);
968 var rgb=parseRGB(style.backgroundColor);
969
970 if(!rgb)return;
971
972 if(
973 colourDistance(
974 rgb,
975 RED_ORANGE
976 )>55
977 ){
978 return;
979 }
980
981 var rect=el.getBoundingClientRect();
982
983 if(
984 rect.width<80||
985 rect.height<24
986 ){
987 return;
988 }
989
990 el.style.setProperty(
991 "border",
992 "none",
993 "important"
994 );
995
996 el.style.setProperty(
997 "border-left",
998 "none",
999 "important"
1000 );
1001
1002 el.style.setProperty(
1003 "border-top",
1004 "none",
1005 "important"
1006 );
1007
1008 el.style.setProperty(
1009 "border-right",
1010 "none",
1011 "important"
1012 );
1013
1014 el.style.setProperty(
1015 "border-bottom",
1016 "none",
1017 "important"
1018 );
1019
1020 el.style.setProperty(
1021 "box-shadow",
1022 "none",
1023 "important"
1024 );
1025 });
1026 }
1027
1028 /* =======================================================
1029 FULL-WIDTH THREE-LINE AREA LABELS
1030 ======================================================= */
1031
1032 function compactText(value){
1033 return String(value||"")
1034 .replace(/\s+/g," ")
1035 .trim();
1036 }
1037
1038 function makeThreeLineAreaLabels(){
1039 Array.from(
1040 root.querySelectorAll(
1041 ".arsn-area-label"
1042 )
1043 ).forEach(function(label){
1044 if(
1045 label.getAttribute(
1046 "data-sn-three-line"
1047 )==="1"
1048 ){
1049 return;
1050 }
1051
1052 var number=
1053 label.querySelector(
1054 ":scope > .arsn-area-number"
1055 );
1056
1057 var action=
1058 label.querySelector(
1059 ":scope > .arsn-area-action"
1060 );
1061
1062 if(
1063 !number||
1064 !action
1065 ){
1066 return;
1067 }
1068
1069 var clone=
1070 label.cloneNode(true);
1071
1072 var cloneNumber=
1073 clone.querySelector(
1074 ":scope > .arsn-area-number"
1075 );
1076
1077 var cloneAction=
1078 clone.querySelector(
1079 ":scope > .arsn-area-action"
1080 );
1081
1082 if(cloneNumber){
1083 cloneNumber.remove();
1084 }
1085
1086 if(cloneAction){
1087 cloneAction.remove();
1088 }
1089
1090 var titleText=
1091 compactText(
1092 clone.textContent
1093 );
1094
1095 if(!titleText){
1096 return;
1097 }
1098
1099 var numberNode=
1100 number.cloneNode(true);
1101
1102 var actionNode=
1103 action.cloneNode(true);
1104
1105 var titleNode=
1106 document.createElement(
1107 "span"
1108 );
1109
1110 titleNode.className=
1111 "sn-area-label-title";
1112
1113 titleNode.textContent=
1114 titleText;
1115
1116 while(label.firstChild){
1117 label.removeChild(
1118 label.firstChild
1119 );
1120 }
1121
1122 label.appendChild(
1123 numberNode
1124 );
1125
1126 label.appendChild(
1127 titleNode
1128 );
1129
1130 label.appendChild(
1131 actionNode
1132 );
1133
1134 label.setAttribute(
1135 "data-sn-three-line",
1136 "1"
1137 );
1138
1139 var head=
1140 label.closest(
1141 ".arsn-area-head"
1142 );
1143
1144 if(head){
1145 head.style.setProperty(
1146 "width",
1147 "100%",
1148 "important"
1149 );
1150
1151 head.style.setProperty(
1152 "max-width",
1153 "100%",
1154 "important"
1155 );
1156
1157 head.style.setProperty(
1158 "box-sizing",
1159 "border-box",
1160 "important"
1161 );
1162 }
1163 });
1164 }
1165
1166 /* =======================================================
1167 PLACEHOLDER BADGE
1168 ======================================================= */
1169
1170 function applyPlaceholderBadge(){
1171 if(!PLACEHOLDER)return;
1172
1173 if(
1174 document.querySelector(
1175 ".sn-coming-soon-badge"
1176 )
1177 ){
1178 return;
1179 }
1180
1181 var title=
1182 document.querySelector(
1183 "#document-title"
1184 )||
1185 document.querySelector(
1186 "h1"
1187 );
1188
1189 if(!title)return;
1190
1191 var badge=
1192 document.createElement(
1193 "span"
1194 );
1195
1196 badge.className=
1197 "sn-coming-soon-badge";
1198
1199 badge.textContent=
1200 PLACEHOLDER_LABEL;
1201
1202 badge.setAttribute(
1203 "aria-label",
1204 PLACEHOLDER_LABEL
1205 );
1206
1207 title.appendChild(
1208 badge
1209 );
1210 }
1211
1212 /* =======================================================
1213 DETAIL PAGE OWN-ACCENT PROPAGATION
1214 ======================================================= */
1215
1216 function parseRGB(value){
1217 var match=String(value||"").match(
1218 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
1219 );
1220
1221 if(!match)return null;
1222
1223 return [
1224 Number(match[1]),
1225 Number(match[2]),
1226 Number(match[3])
1227 ];
1228 }
1229
1230 function distance(a,b){
1231 return Math.sqrt(
1232 Math.pow(a[0]-b[0],2)+
1233 Math.pow(a[1]-b[1],2)+
1234 Math.pow(a[2]-b[2],2)
1235 );
1236 }
1237
1238 function paletteMatch(cssColor){
1239 var rgb=parseRGB(cssColor);
1240
1241 if(!rgb)return null;
1242
1243 var palette=[
1244 {hex:"#21b6d7",rgb:[33,182,215]},
1245 {hex:"#e94b13",rgb:[233,75,19]},
1246 {hex:"#f0aa00",rgb:[240,170,0]},
1247 {hex:"#38b76a",rgb:[56,183,106]}
1248 ];
1249
1250 var best=null;
1251 var bestDistance=Infinity;
1252
1253 palette.forEach(function(item){
1254 var d=distance(rgb,item.rgb);
1255
1256 if(d<bestDistance){
1257 best=item;
1258 bestDistance=d;
1259 }
1260 });
1261
1262 return bestDistance<=30
1263 ?best
1264 :null;
1265 }
1266
1267 function propagateDetailAccents(){
1268 if(PAGE_KIND!=="detail")return;
1269
1270 Array.from(
1271 root.querySelectorAll(
1272 ".arsn-call,.dmp-call,.ido-call,.pp-call,"+
1273 ".arsn-source,.dmp-source,.ido-source,.pp-source"
1274 )
1275 ).forEach(function(el){
1276 if(!visible(el))return;
1277
1278 var style=getComputedStyle(el);
1279
1280 if(
1281 num(style.borderTopWidth)>=2
1282 ){
1283 var match=
1284 paletteMatch(
1285 style.borderTopColor
1286 );
1287
1288 if(match){
1289 el.style.setProperty(
1290 "border-left",
1291 "4px solid "+match.hex,
1292 "important"
1293 );
1294 }
1295 }
1296 });
1297
1298 // Warning families: explicit safety override.
1299 Array.from(
1300 root.querySelectorAll(
1301 ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
1302 ".warn,.warning,.warningmessage,.errormessage"
1303 )
1304 ).forEach(function(el){
1305 if(!visible(el))return;
1306
1307 el.style.setProperty(
1308 "border-left",
1309 "4px solid #e94b13",
1310 "important"
1311 );
1312 });
1313
1314 // Info families: explicit orientation override.
1315 Array.from(
1316 root.querySelectorAll(
1317 ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
1318 )
1319 ).forEach(function(el){
1320 if(!visible(el))return;
1321
1322 el.style.setProperty(
1323 "border-left",
1324 "4px solid #21b6d7",
1325 "important"
1326 );
1327 });
1328 }
1329
1330 /* =======================================================
1331 OVERVIEW SEMANTIC THEME PALETTE
1332 ======================================================= */
1333
1334 function smallestThemeHeaders(){
1335 return Array.from(
1336 root.querySelectorAll(
1337 "div,span,p,strong,h3,h4,h5,h6"
1338 )
1339 ).filter(function(el){
1340 if(!visible(el))return false;
1341 if(!themeFor(el.textContent))return false;
1342
1343 return !Array.from(
1344 el.children||[]
1345 ).some(function(child){
1346 return !!themeFor(
1347 child.textContent
1348 );
1349 });
1350 });
1351 }
1352
1353 function findOverviewCard(header){
1354 var node=header.parentElement;
1355 var candidates=[];
1356
1357 while(node&&node!==root){
1358 var rect=node.getBoundingClientRect();
1359 var style=getComputedStyle(node);
1360
1361 var border=
1362 num(style.borderTopWidth)+
1363 num(style.borderRightWidth)+
1364 num(style.borderBottomWidth)+
1365 num(style.borderLeftWidth);
1366
1367 if(
1368 rect.width>=220&&
1369 rect.width<=800&&
1370 rect.height>=120&&
1371 border>=1
1372 ){
1373 candidates.push(node);
1374 }
1375
1376 node=node.parentElement;
1377 }
1378
1379 if(!candidates.length)return null;
1380
1381 candidates.sort(function(a,b){
1382 return (
1383 b.getBoundingClientRect().height-
1384 a.getBoundingClientRect().height
1385 );
1386 });
1387
1388 return candidates[0];
1389 }
1390
1391 function rowCandidates(link,card){
1392 var result=[];
1393 var cardRect=
1394 card.getBoundingClientRect();
1395
1396 var node=link;
1397
1398 while(node&&node!==card){
1399 if(visible(node)){
1400 var rect=
1401 node.getBoundingClientRect();
1402
1403 if(
1404 rect.height<=105&&
1405 rect.width>=
1406 cardRect.width*.50&&
1407 rect.width<=
1408 cardRect.width*1.03
1409 ){
1410 result.push(node);
1411 }
1412 }
1413
1414 node=node.parentElement;
1415 }
1416
1417 return result;
1418 }
1419
1420 function chooseOuterRow(
1421 candidates,
1422 link
1423 ){
1424 if(!candidates.length){
1425 return link;
1426 }
1427
1428 var bordered=
1429 candidates.filter(function(el){
1430 return (
1431 num(
1432 getComputedStyle(el)
1433 .borderLeftWidth
1434 )>=1
1435 );
1436 });
1437
1438 var pool=
1439 bordered.length
1440 ?bordered
1441 :candidates;
1442
1443 pool.sort(function(a,b){
1444 var ar=
1445 a.getBoundingClientRect();
1446
1447 var br=
1448 b.getBoundingClientRect();
1449
1450 return (
1451 ar.left-br.left||
1452 br.width-ar.width
1453 );
1454 });
1455
1456 return pool[0]||link;
1457 }
1458
1459 function applyOverviewPalette(){
1460 if(PAGE_KIND!=="overview"){
1461 return [];
1462 }
1463
1464 var headers=
1465 smallestThemeHeaders()
1466 .map(function(el){
1467 return {
1468 el:el,
1469 theme:
1470 themeFor(
1471 el.textContent
1472 ),
1473 card:
1474 findOverviewCard(
1475 el
1476 )
1477 };
1478 })
1479 .filter(function(row){
1480 return !!row.card;
1481 });
1482
1483 var unique=[];
1484 var seenHeaders=new Set();
1485
1486 headers.forEach(function(row){
1487 var key=
1488 row.theme.name+
1489 "|"+
1490 Math.round(
1491 row.card
1492 .getBoundingClientRect()
1493 .left
1494 )+
1495 "|"+
1496 Math.round(
1497 row.el
1498 .getBoundingClientRect()
1499 .top
1500 );
1501
1502 if(!seenHeaders.has(key)){
1503 seenHeaders.add(key);
1504 unique.push(row);
1505 }
1506 });
1507
1508 unique.forEach(function(row){
1509 var headerRect=
1510 row.el
1511 .getBoundingClientRect();
1512
1513 row.el.style.setProperty(
1514 "background",
1515 row.theme.bg,
1516 "important"
1517 );
1518
1519 row.el.style.setProperty(
1520 "color",
1521 row.theme.text,
1522 "important"
1523 );
1524
1525 row.el.style.setProperty(
1526 "text-align",
1527 "left",
1528 "important"
1529 );
1530
1531 row.el.style.setProperty(
1532 "word-spacing",
1533 "normal",
1534 "important"
1535 );
1536
1537 var later=
1538 unique
1539 .filter(function(other){
1540 return (
1541 other.card===row.card&&
1542 other.el
1543 .getBoundingClientRect()
1544 .top>
1545 headerRect.top+2
1546 );
1547 })
1548 .sort(function(a,b){
1549 return (
1550 a.el
1551 .getBoundingClientRect()
1552 .top-
1553 b.el
1554 .getBoundingClientRect()
1555 .top
1556 );
1557 });
1558
1559 var stopTop=
1560 later.length
1561 ?later[0].el
1562 .getBoundingClientRect()
1563 .top
1564 :Infinity;
1565
1566 Array.from(
1567 row.card.querySelectorAll("a")
1568 ).forEach(function(link){
1569 if(!visible(link))return;
1570
1571 var rect=
1572 link.getBoundingClientRect();
1573
1574 if(
1575 rect.top<=
1576 headerRect.bottom-2||
1577 rect.top>=
1578 stopTop-2
1579 ){
1580 return;
1581 }
1582
1583 var candidates=
1584 rowCandidates(
1585 link,
1586 row.card
1587 );
1588
1589 var target=
1590 chooseOuterRow(
1591 candidates,
1592 link
1593 );
1594
1595 candidates.forEach(function(el){
1596 el.style.setProperty(
1597 "border-left",
1598 "0 solid transparent",
1599 "important"
1600 );
1601 });
1602
1603 target.style.setProperty(
1604 "border-left",
1605 "3px solid "+
1606 row.theme.accent,
1607 "important"
1608 );
1609
1610 target.style.setProperty(
1611 "box-sizing",
1612 "border-box",
1613 "important"
1614 );
1615 });
1616 });
1617
1618 return unique;
1619 }
1620
1621 /* =======================================================
1622 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1623 ======================================================= */
1624
1625 function alignOverviewCards(headers){
1626 if(
1627 PAGE_KIND!=="overview"||
1628 window.innerWidth<=MOBILE_MAX
1629 ){
1630 return;
1631 }
1632
1633 var cards=[];
1634 var seen=new Set();
1635
1636 headers.forEach(function(row){
1637 if(!seen.has(row.card)){
1638 seen.add(row.card);
1639 cards.push(row.card);
1640 }
1641 });
1642
1643 if(cards.length<2){
1644 return;
1645 }
1646
1647 // Group cards by actual top position.
1648 var groups=[];
1649
1650 cards.forEach(function(card){
1651 var top=
1652 card.getBoundingClientRect().top;
1653
1654 var group=null;
1655
1656 for(var i=0;i<groups.length;i++){
1657 if(
1658 Math.abs(
1659 groups[i].top-top
1660 )<=ROW_TOLERANCE
1661 ){
1662 group=groups[i];
1663 break;
1664 }
1665 }
1666
1667 if(!group){
1668 group={
1669 top:top,
1670 cards:[]
1671 };
1672 groups.push(group);
1673 }
1674
1675 group.cards.push(card);
1676 });
1677
1678 groups.forEach(function(group){
1679 if(group.cards.length<2){
1680 return;
1681 }
1682
1683 var firstHeaders=
1684 group.cards.map(function(card){
1685 var candidates=
1686 headers
1687 .filter(function(row){
1688 return row.card===card;
1689 })
1690 .sort(function(a,b){
1691 return (
1692 a.el
1693 .getBoundingClientRect()
1694 .top-
1695 b.el
1696 .getBoundingClientRect()
1697 .top
1698 );
1699 });
1700
1701 return candidates.length
1702 ?candidates[0]
1703 :null;
1704 });
1705
1706 if(
1707 !firstHeaders.some(function(row){
1708 return !row;
1709 })
1710 ){
1711 var targetTop=
1712 Math.max.apply(
1713 Math,
1714 firstHeaders.map(function(row){
1715 return (
1716 row.el
1717 .getBoundingClientRect()
1718 .top-
1719 row.card
1720 .getBoundingClientRect()
1721 .top
1722 );
1723 })
1724 );
1725
1726 firstHeaders.forEach(function(row){
1727 var relativeTop=
1728 row.el
1729 .getBoundingClientRect()
1730 .top-
1731 row.card
1732 .getBoundingClientRect()
1733 .top;
1734
1735 var delta=
1736 targetTop-relativeTop;
1737
1738 if(delta>1){
1739 saveStyle(
1740 row.el,
1741 originalMargin,
1742 "margin-top"
1743 );
1744
1745 var current=
1746 num(
1747 getComputedStyle(
1748 row.el
1749 ).marginTop
1750 );
1751
1752 row.el.style.setProperty(
1753 "margin-top",
1754 (
1755 current+delta
1756 )+"px"
1757 );
1758
1759 row.el.setAttribute(
1760 "data-sn-master-first-row",
1761 "1"
1762 );
1763
1764 managedMargin.add(
1765 row.el
1766 );
1767 }
1768 });
1769 }
1770
1771 var maxHeight=0;
1772
1773 group.cards.forEach(function(card){
1774 maxHeight=
1775 Math.max(
1776 maxHeight,
1777 card
1778 .getBoundingClientRect()
1779 .height
1780 );
1781 });
1782
1783 maxHeight=
1784 Math.ceil(maxHeight);
1785
1786 group.cards.forEach(function(card){
1787 saveStyle(
1788 card,
1789 originalHeight,
1790 "min-height"
1791 );
1792
1793 card.style.setProperty(
1794 "min-height",
1795 maxHeight+"px"
1796 );
1797
1798 card.setAttribute(
1799 "data-sn-master-equal-height",
1800 "1"
1801 );
1802
1803 managedHeight.add(
1804 card
1805 );
1806 });
1807 });
1808 }
1809
1810 /* =======================================================
1811 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1812 ======================================================= */
1813
1814 function equaliseDetailGrids(){
1815 if(
1816 PAGE_KIND!=="detail"||
1817 window.innerWidth<=MOBILE_MAX
1818 ){
1819 return;
1820 }
1821
1822 var selectors=[
1823 ".arsn-grid",
1824 ".arsn-grid-2",
1825 ".arsn-grid-3",
1826 ".dmp-grid",
1827 ".ido-grid",
1828 ".pp-grid"
1829 ];
1830
1831 selectors.forEach(function(selector){
1832 Array.from(
1833 root.querySelectorAll(selector)
1834 ).forEach(function(grid){
1835 var children=
1836 Array.from(
1837 grid.children||[]
1838 ).filter(visible);
1839
1840 if(children.length<2){
1841 return;
1842 }
1843
1844 var groups=[];
1845
1846 children.forEach(function(child){
1847 var top=
1848 child
1849 .getBoundingClientRect()
1850 .top;
1851
1852 var group=null;
1853
1854 for(var i=0;i<groups.length;i++){
1855 if(
1856 Math.abs(
1857 groups[i].top-top
1858 )<=ROW_TOLERANCE
1859 ){
1860 group=groups[i];
1861 break;
1862 }
1863 }
1864
1865 if(!group){
1866 group={
1867 top:top,
1868 items:[]
1869 };
1870 groups.push(group);
1871 }
1872
1873 group.items.push(child);
1874 });
1875
1876 groups.forEach(function(group){
1877 if(group.items.length<2){
1878 return;
1879 }
1880
1881 var maxHeight=0;
1882
1883 group.items.forEach(function(item){
1884 maxHeight=
1885 Math.max(
1886 maxHeight,
1887 item
1888 .getBoundingClientRect()
1889 .height
1890 );
1891 });
1892
1893 maxHeight=
1894 Math.ceil(maxHeight);
1895
1896 group.items.forEach(function(item){
1897 saveStyle(
1898 item,
1899 originalHeight,
1900 "min-height"
1901 );
1902
1903 item.style.setProperty(
1904 "min-height",
1905 maxHeight+"px"
1906 );
1907
1908 item.setAttribute(
1909 "data-sn-master-equal-height",
1910 "1"
1911 );
1912
1913 managedHeight.add(item);
1914 });
1915 });
1916 });
1917 });
1918 }
1919
1920 /* =======================================================
1921 RUN / RESPONSIVE SCHEDULING
1922 ======================================================= */
1923
1924 function run(){
1925 if(running)return;
1926
1927 running=true;
1928
1929 try{
1930 resetRuntime();
1931 applyPlaceholderBadge();
1932 propagateDetailAccents();
1933
1934 var headers=
1935 applyOverviewPalette();
1936
1937 makeThreeLineAreaLabels();
1938 makeFilledRedOrangeCTAsBorderless();
1939
1940 if(
1941 window.innerWidth>
1942 MOBILE_MAX
1943 ){
1944 alignOverviewCards(
1945 headers
1946 );
1947
1948 equaliseDetailGrids();
1949 }
1950 }finally{
1951 running=false;
1952 }
1953 }
1954
1955 function onResize(){
1956 if(resizeTimer){
1957 clearTimeout(
1958 resizeTimer
1959 );
1960 }
1961
1962 resizeTimer=
1963 setTimeout(
1964 function(){
1965 resizeTimer=0;
1966 run();
1967 },
1968 RESIZE_DEBOUNCE
1969 );
1970 }
1971
1972 async function waitForReady(){
1973 if(
1974 document.readyState!=="complete"
1975 ){
1976 await new Promise(function(resolve){
1977 window.addEventListener(
1978 "load",
1979 resolve,
1980 {once:true}
1981 );
1982 });
1983 }
1984
1985 if(
1986 document.fonts&&
1987 document.fonts.ready
1988 ){
1989 try{
1990 await document.fonts.ready;
1991 }catch(error){}
1992 }
1993
1994 var images=
1995 Array.from(
1996 root.querySelectorAll("img")
1997 );
1998
1999 await Promise.all(
2000 images.map(function(img){
2001 if(img.complete){
2002 return Promise.resolve();
2003 }
2004
2005 return new Promise(function(resolve){
2006 var done=function(){
2007 resolve();
2008 };
2009
2010 img.addEventListener(
2011 "load",
2012 done,
2013 {once:true}
2014 );
2015
2016 img.addEventListener(
2017 "error",
2018 done,
2019 {once:true}
2020 );
2021 });
2022 })
2023 );
2024
2025 run();
2026 }
2027
2028 window.addEventListener(
2029 "resize",
2030 onResize,
2031 {passive:true}
2032 );
2033
2034 waitForReady();
2035 })();
2036 </script>
2037
2038 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->
2039 {{/html}}