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