From 9d4736a3e95332198896f97ecc8a83abb0cbe85b Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 16 Dec 2017 12:36:59 +0100 Subject: [PATCH 001/141] Add a filter to only display public links When the key filter is clicked once, it only displays private link. When it is clicked on again, it becomes red and only public links are displayed. Another click and all links are displayed. The current visibility status is shown in the search banner Fixes #1030 --- application/PageBuilder.php | 24 +++++++- application/Updater.php | 12 ++++ inc/languages/fr/LC_MESSAGES/shaarli.po | 73 +++++++++++++------------ index.php | 23 ++++---- tpl/default/css/shaarli.css | 5 ++ tpl/default/linklist.paging.html | 4 +- tpl/vintage/linklist.paging.html | 8 +-- 7 files changed, 96 insertions(+), 53 deletions(-) diff --git a/application/PageBuilder.php b/application/PageBuilder.php index 468f144..0902d00 100644 --- a/application/PageBuilder.php +++ b/application/PageBuilder.php @@ -83,7 +83,9 @@ class PageBuilder ApplicationUtils::getVersionHash(SHAARLI_VERSION, $this->conf->get('credentials.salt')) ); $this->tpl->assign('scripturl', index_url($_SERVER)); - $this->tpl->assign('privateonly', !empty($_SESSION['privateonly'])); // Show only private links? + $visibility = ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : ''; + $this->tpl->assign('visibility', $visibility); + $this->tpl->assign('nextVisibility', $this->getNextVisibility($visibility)); $this->tpl->assign('untaggedonly', !empty($_SESSION['untaggedonly'])); $this->tpl->assign('pagetitle', $this->conf->get('general.title', 'Shaarli')); if ($this->conf->exists('general.header_link')) { @@ -170,4 +172,24 @@ class PageBuilder $this->tpl->assign('error_message', $message); $this->renderPage('404'); } + + /** + * Return the next visibility option: + * private -> public -> all + * + * @param string $current visibility value + * + * @return string next visibility value + */ + protected function getNextVisibility($current) + { + switch ($current) { + case 'private': + return 'public'; + case 'public': + return ''; + default: + return 'private'; + } + } } diff --git a/application/Updater.php b/application/Updater.php index 8d2bd57..f07e769 100644 --- a/application/Updater.php +++ b/application/Updater.php @@ -445,6 +445,18 @@ class Updater $this->linkDB->save($this->conf->get('resource.page_cache')); return true; } + + /** + * Change privateonly session key to visibility. + */ + public function updateMethodVisibilitySession() + { + if (isset($_SESSION['privateonly'])) { + unset($_SESSION['privateonly']); + $_SESSION['visibility'] = 'private'; + } + return true; + } } /** diff --git a/inc/languages/fr/LC_MESSAGES/shaarli.po b/inc/languages/fr/LC_MESSAGES/shaarli.po index 323c611..b62ff6e 100644 --- a/inc/languages/fr/LC_MESSAGES/shaarli.po +++ b/inc/languages/fr/LC_MESSAGES/shaarli.po @@ -1,15 +1,15 @@ msgid "" msgstr "" "Project-Id-Version: Shaarli\n" -"POT-Creation-Date: 2017-11-11 10:59+0100\n" -"PO-Revision-Date: 2017-11-11 11:00+0100\n" +"POT-Creation-Date: 2017-12-16 14:27+0100\n" +"PO-Revision-Date: 2017-12-16 14:27+0100\n" "Last-Translator: \n" "Language-Team: Shaarli\n" "Language: fr_FR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 2.0.5\n" "X-Poedit-Basepath: ../../../..\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-SourceCharset: UTF-8\n" @@ -161,11 +161,11 @@ msgstr "" "a été importé avec succès en %d secondes : %d liens importés, %d liens " "écrasés, %d liens ignorés." -#: application/PageBuilder.php:167 +#: application/PageBuilder.php:169 msgid "The page you are trying to reach does not exist or has been deleted." msgstr "La page que vous essayez de consulter n'existe pas ou a été supprimée." -#: application/PageBuilder.php:169 +#: application/PageBuilder.php:171 msgid "404 Not Found" msgstr "404 Introuvable" @@ -178,17 +178,17 @@ msgstr "Les fichiers de l'extension \"%s\" sont introuvables." msgid "Couldn't retrieve Updater class methods." msgstr "Impossible de récupérer les méthodes de la classe Updater." -#: application/Updater.php:493 +#: application/Updater.php:506 msgid "An error occurred while running the update " msgstr "Une erreur s'est produite lors de l'exécution de la mise à jour " -#: application/Updater.php:533 +#: application/Updater.php:546 msgid "Updates file path is not set, can't write updates." msgstr "" "Le chemin vers le fichier de mise à jour n'est pas défini, impossible " "d'écrire les mises à jour." -#: application/Updater.php:538 +#: application/Updater.php:551 msgid "Unable to write updates in " msgstr "Impossible d'écrire les mises à jour dans " @@ -265,46 +265,46 @@ msgstr "NON. Vous êtes banni pour le moment. Revenez plus tard." msgid "Wrong login/password." msgstr "Nom d'utilisateur ou mot de passe incorrects." -#: index.php:1092 +#: index.php:1093 msgid "You are not supposed to change a password on an Open Shaarli." msgstr "" "Vous n'êtes pas censé modifier le mot de passe d'un Shaarli en mode ouvert." -#: index.php:1097 index.php:1138 index.php:1214 index.php:1244 index.php:1344 +#: index.php:1098 index.php:1139 index.php:1215 index.php:1245 index.php:1345 msgid "Wrong token." msgstr "Jeton invalide." -#: index.php:1102 +#: index.php:1103 msgid "The old password is not correct." msgstr "L'ancien mot de passe est incorrect." -#: index.php:1122 +#: index.php:1123 msgid "Your password has been changed" msgstr "Votre mot de passe a été modifié" -#: index.php:1175 +#: index.php:1176 msgid "Configuration was saved." msgstr "La configuration a été sauvegardé." -#: index.php:1226 +#: index.php:1227 #, php-format msgid "The tag was removed from %d link." msgid_plural "The tag was removed from %d links." msgstr[0] "Le tag a été supprimé de %d lien." msgstr[1] "Le tag a été supprimé de %d liens." -#: index.php:1227 +#: index.php:1228 #, php-format msgid "The tag was renamed in %d link." msgid_plural "The tag was renamed in %d links." msgstr[0] "Le tag a été renommé dans %d lien." msgstr[1] "Le tag a été renommé dans %d liens." -#: index.php:1443 +#: index.php:1444 msgid "Note: " msgstr "Note : " -#: index.php:1552 +#: index.php:1553 #, php-format msgid "" "The file you are trying to upload is probably bigger than what this " @@ -314,7 +314,7 @@ msgstr "" "le serveur web peut accepter (%s). Merci de l'envoyer en parties plus " "légères." -#: index.php:1972 +#: index.php:1973 #, php-format msgid "" "
Sessions do not seem to work correctly on your server.
Make sure the " @@ -333,7 +333,7 @@ msgstr "" "cookies. Nous vous recommandons d'accéder à votre serveur depuis son adresse " "IP ou un Fully Qualified Domain Name.
" -#: index.php:1982 +#: index.php:1983 msgid "Click to try again." msgstr "Cliquer ici pour réessayer." @@ -870,10 +870,10 @@ msgstr "Recherche texte" #: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:38 #: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:124 #: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:124 -#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 -#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:61 -#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 -#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:64 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 msgid "Filter by tag" msgstr "Filtrer par tag" @@ -933,25 +933,25 @@ msgstr "Filtres" #: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12 #: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:12 -msgid "Filter private links" -msgstr "Filtrer par liens privés" +msgid "Filter links by visibility" +msgstr "Filtrer les liens par visibilité" -#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:18 -#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:18 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:17 msgid "Filter untagged links" msgstr "Filtrer par liens privés" -#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 -#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 -#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:22 -#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:74 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:21 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:73 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:21 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:73 #: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43 #: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:43 msgid "Fold all" msgstr "Replier tout" -#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:67 -#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:67 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:66 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:66 msgid "Links per page" msgstr "Liens par page" @@ -1127,8 +1127,8 @@ msgstr "Aucun paramètre disponible." msgid "tags" msgstr "tags" -#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 -#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 msgid "List all links with those tags" msgstr "Lister tous les liens avec ces tags" @@ -1284,6 +1284,9 @@ msgstr "" "Glisser ce lien dans votre barre de favoris ou cliquer droit dessus et « " "Ajouter aux favoris »" +#~ msgid "Filter private links" +#~ msgstr "Filtrer par liens privés" + #~ msgid "Redirector" #~ msgstr "Redirecteur" diff --git a/index.php b/index.php index 9d5f25e..60ac24a 100644 --- a/index.php +++ b/index.php @@ -282,7 +282,7 @@ function logout() { unset($_SESSION['uid']); unset($_SESSION['ip']); unset($_SESSION['username']); - unset($_SESSION['privateonly']); + unset($_SESSION['visibility']); unset($_SESSION['untaggedonly']); } setcookie('shaarli_staySignedIn', FALSE, 0, WEB_PATH); @@ -800,7 +800,7 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history, $sessionManager) // -------- Tag cloud if ($targetPage == Router::$PAGE_TAGCLOUD) { - $visibility = ! empty($_SESSION['privateonly']) ? 'private' : 'all'; + $visibility = ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : ''; $filteringTags = isset($_GET['searchtags']) ? explode(' ', $_GET['searchtags']) : []; $tags = $LINKSDB->linksCountPerTag($filteringTags, $visibility); @@ -845,7 +845,7 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history, $sessionManager) // -------- Tag list if ($targetPage == Router::$PAGE_TAGLIST) { - $visibility = ! empty($_SESSION['privateonly']) ? 'private' : 'all'; + $visibility = ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : ''; $filteringTags = isset($_GET['searchtags']) ? explode(' ', $_GET['searchtags']) : []; $tags = $LINKSDB->linksCountPerTag($filteringTags, $visibility); foreach ($filteringTags as $tag) { @@ -1011,15 +1011,16 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history, $sessionManager) } // -------- User wants to see only private links (toggle) - if (isset($_GET['privateonly'])) { - if (empty($_SESSION['privateonly'])) { - $_SESSION['privateonly'] = 1; // See only private links - } else { - unset($_SESSION['privateonly']); // See all links + if (isset($_GET['visibility'])) { + unset($_SESSION['visibility']); + if ($_GET['visibility'] === 'private') { + $_SESSION['visibility'] = 'private'; // See only private links + } else if ($_GET['visibility'] === 'public') { + $_SESSION['visibility'] = 'public'; // See only public links } if (! empty($_SERVER['HTTP_REFERER'])) { - $location = generateLocation($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'], array('privateonly')); + $location = generateLocation($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'], array('visibility')); } else { $location = '?'; } @@ -1667,7 +1668,7 @@ function buildLinkList($PAGE,$LINKSDB, $conf, $pluginManager) } } else { // Filter links according search parameters. - $visibility = ! empty($_SESSION['privateonly']) ? 'private' : 'all'; + $visibility = ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : ''; $request = [ 'searchtags' => $searchtags, 'searchterm' => $searchterm, @@ -1743,7 +1744,7 @@ function buildLinkList($PAGE,$LINKSDB, $conf, $pluginManager) 'result_count' => count($linksToDisplay), 'search_term' => $searchterm, 'search_tags' => $searchtags, - 'visibility' => ! empty($_SESSION['privateonly']) ? 'private' : '', + 'visibility' => ! empty($_SESSION['visibility']) ? $_SESSION['visibility'] : '', 'redirector' => $conf->get('redirector.url'), // Optional redirector URL. 'links' => $linkDisp, ); diff --git a/tpl/default/css/shaarli.css b/tpl/default/css/shaarli.css index 1443940..1e07a88 100644 --- a/tpl/default/css/shaarli.css +++ b/tpl/default/css/shaarli.css @@ -453,6 +453,11 @@ body, .pure-g [class*="pure-u"] { background: #1b926c; } +.linklist-filters .filter-block { + color: #f5f5f5; + background: #ac2925; +} + .linklist-pages { margin: 5px 0; color: #252525; diff --git a/tpl/default/linklist.paging.html b/tpl/default/linklist.paging.html index 347b3d1..e1726f8 100644 --- a/tpl/default/linklist.paging.html +++ b/tpl/default/linklist.paging.html @@ -6,8 +6,8 @@ {'Filters'|t} {if="isLoggedIn()"} - {/if} {if="isLoggedIn()"} \ No newline at end of file From 9fb22af6b3b5d7dfd9ef3999c21df4d21be8504b Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Tue, 3 Apr 2018 23:33:20 +0200 Subject: [PATCH 041/141] Update EditorConfig for frontend resources Signed-off-by: VirtualTam --- .editorconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index ae2dd4c..8783e4c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,7 +10,7 @@ trim_trailing_whitespace = true indent_style = space indent_size = 4 -[*.{htaccess,html,xml,js}] +[*.{htaccess,html,js,json,xml}] indent_size = 2 [*.php] From e42031e037037cf2610ae05f9eabdb49abf167c8 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Tue, 3 Apr 2018 23:36:15 +0200 Subject: [PATCH 042/141] Update NPM frontend metadata Signed-off-by: VirtualTam --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index 4320eb8..4e5775c 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,8 @@ { + "name": "shaarli", + "description": "Shaarli frontend", + "author": "The Shaarli Community", + "license": "Zlib", "dependencies": { "awesomplete": "^1.1.2", "blazy": "^1.8.2", From 7cf23badeb16b8e5081bef137e6c4da0ed54f0d0 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Wed, 4 Apr 2018 23:39:15 +0200 Subject: [PATCH 043/141] Update COPYING Relates to https://github.com/shaarli/Shaarli/pull/1072 Changed: - update paths to resource files (assets, images) Removed: - references to resources now resolved through NPM - licenses corresponding to the aforementioned resources Signed-off-by: VirtualTam --- COPYING | 38 ++++++++++++++++++++------------------ package.json | 2 +- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/COPYING b/COPYING index 0520215..af13975 100644 --- a/COPYING +++ b/COPYING @@ -1,55 +1,57 @@ Files: * License: zlib/libpng Copyright: (c) 2011-2015 Sébastien SAUVAGE - (c) 2011-2017 The Shaarli Community, see AUTHORS + (c) 2011-2018 The Shaarli Community, see AUTHORS -Files: inc/reset.css +Files: assets/vintage/css/reset.css License: BSD (http://opensource.org/licenses/BSD-3-Clause) Copyright: (c) 2010, Yahoo! Inc. -Files: images/calendar.png, images/edit_icon.png, images/feed-icon-14x14.png, images/private.png, images/private_16x16.png, images/private_16x16_active.png, images/tag_blue.png +Files: assets/vintage/img/calendar.png + assets/vintage/img/edit_icon.png + assets/vintage/img/feed-icon-14x14.png + assets/vintage/img/private.png + assets/vintage/img/private_16x16.png + assets/vintage/img/private_16x16_active.png + assets/vintage/img/tag_blue.png License: CC-BY (http://creativecommons.org/licenses/by/3.0/) Copyright: (c) 2014 Yusuke Kamiyamane Source: http://p.yusukekamiyamane.com/ -Files: images/delete_icon.png +Files: assets/vintage/img/delete_icon.png License: CC-BY (http://creativecommons.org/licenses/by/3.0/) Copyright: (c) 2014 Designmodo Source: http://designmodo.com/linecons-free/ -Files: images/floral_left.png, images/floral_right.png, images/squiggle.png, images/squiggle_closing.png +Files: assets/vintage/img/floral_left.png + assets/vintage/img/floral_right.png + assets/vintage/img/squiggle.png + assets/vintage/img/squiggle_closing.png Licence: Public Domain Source: https://openclipart.org/people/j4p4n/j4p4n_ornimental_bookend_-_left.svg -Files: images/Paper_texture_v5_by_bashcorpo_w1000.jpg +Files: assets/vintage/img/Paper_texture_v5_by_bashcorpo_w1000.jpg Licence: Public Domain Source: http://bashcorpo.deviantart.com/art/Grungy-paper-texture-v-5-22966998 -Files: images/logo.png +Files: assets/vintage/img/logo.png + assets/vintage/img/logo.png License: zlib/libpng Copyright: (c) 2011-2014 idleman idleman@idleman.fr -Files: inc/blazy*.js +Files: assets/default/img/sad_star.png License: MIT License (http://opensource.org/licenses/MIT) -Copyright: (C) Bjoern Klinggaard - @bklinggaard - http://dinbror.dk/blazy +Copyright: (C) 2015 kalvn - https://github.com/kalvn/Shaarli-Material Files: inc/rain.tpl.class.php +License: LGPL-3+ (https://www.gnu.org/licenses/lgpl-3.0.txt) Copyright: 2011-2012, Federico Ulfo 2011-2012, The Rain Team -License: LGPL-3+ (https://www.gnu.org/licenses/lgpl-3.0.txt) - -Files: inc/awesomplete* -License: MIT License (http://opensource.org/licenses/MIT) -Copyright: (C) 2015 Lea Verou - https://github.com/LeaVerou/awesomplete Files: plugins/wallabag/wallabag.png License: MIT License (http://opensource.org/licenses/MIT) Copyright: (C) 2015 Nicolas Lœuillet - https://github.com/wallabag/wallabag -Files: tpl/default/sad_star.png -License: MIT License (http://opensource.org/licenses/MIT) -Copyright: (C) 2015 kalvn - https://github.com/kalvn/Shaarli-Material - ---------------------------------------------------- ZLIB/LIBPNG LICENSE diff --git a/package.json b/package.json index 4e5775c..ba997c9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "shaarli", "description": "Shaarli frontend", "author": "The Shaarli Community", - "license": "Zlib", + "license": "SEE LICENSE IN COPYING", "dependencies": { "awesomplete": "^1.1.2", "blazy": "^1.8.2", From d66b5acb24af1049fb471bad0911939de97b91c5 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Thu, 5 Apr 2018 20:54:23 +0200 Subject: [PATCH 044/141] Update documentation and Doxygen icon location Signed-off-by: VirtualTam --- Doxyfile | 2 +- doc/md/Bookmarklet.md | 4 ++-- {images => doc/md/images}/edit_icon.png | Bin {images => doc/md/images}/logo.png | Bin 4 files changed, 3 insertions(+), 3 deletions(-) rename {images => doc/md/images}/edit_icon.png (100%) rename {images => doc/md/images}/logo.png (100%) diff --git a/Doxyfile b/Doxyfile index 30f9556..a7f6e04 100644 --- a/Doxyfile +++ b/Doxyfile @@ -51,7 +51,7 @@ PROJECT_BRIEF = "The personal, minimalist, super-fast, no-database deli # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = images/logo.png +PROJECT_LOGO = doc/md/images/logo.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is diff --git a/doc/md/Bookmarklet.md b/doc/md/Bookmarklet.md index c899e3c..6c7f1c6 100644 --- a/doc/md/Bookmarklet.md +++ b/doc/md/Bookmarklet.md @@ -13,8 +13,8 @@ _This bookmarklet button is compatible with Firefox, Opera, Chrome and Safari. U - When you are visiting a webpage you would like to share with Shaarli, click the _bookmarklet_ you just added. - A window opens. - You can freely edit title, description, tags... to find it later using the text search or tag filtering. - - You will be able to edit this link later using the ![](https://raw.githubusercontent.com/shaarli/Shaarli/master/images/edit_icon.png) edit button. - - You can also check the “Private” box so that the link is saved but only visible to you. + - You will be able to edit this link later using the ![](images/edit_icon.png) edit button. + - You can also check the “Private” box so that the link is saved but only visible to you. - Click `Save`.**Voilà! Your link is now shared.** ## Troubleshooting: The bookmarklet doesn't work with a few websites (e.g. Github.com) diff --git a/images/edit_icon.png b/doc/md/images/edit_icon.png similarity index 100% rename from images/edit_icon.png rename to doc/md/images/edit_icon.png diff --git a/images/logo.png b/doc/md/images/logo.png similarity index 100% rename from images/logo.png rename to doc/md/images/logo.png From aec5a76b67a671f10db2bb3e81fa61ce16f72dd3 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Thu, 5 Apr 2018 20:54:55 +0200 Subject: [PATCH 045/141] Cleanup unused asset resources Signed-off-by: VirtualTam --- images/delete_icon.png | Bin 302 -> 0 bytes images/favicon.ico | Bin 76949 -> 0 bytes images/feed-icon-14x14.png | Bin 658 -> 0 bytes images/private_16x16.png | Bin 679 -> 0 bytes images/private_16x16_active.png | Bin 648 -> 0 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/delete_icon.png delete mode 100644 images/favicon.ico delete mode 100644 images/feed-icon-14x14.png delete mode 100644 images/private_16x16.png delete mode 100644 images/private_16x16_active.png diff --git a/images/delete_icon.png b/images/delete_icon.png deleted file mode 100644 index 810b94d829fbbce0514c635c08c0649504c0e57b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302 zcmV+}0nz@6P)hPZijo5543?~Mi8ulsS3qeHLTPAd5g?iz zgA%xg$G$@ps$3ufX@@FdF*ch6@T$MF(x10lp+{ZUkM4d69Q3X>z{1RK(&40E;OvUe08I?~OdI|PxCIFtg?(jXj4x&#SDX%GQvq&Xl0(%mU7El9)p z^!L2ayT132_n&Wld(F&!U$d`$&+L0*&0Mnw06+jf006{)Efkm_2Y{Zx=wAT=*nofl z0Ax}87c&D}uK}P}=`Wl3KYVTw095n?05kJ{@D3ONrUn222Kx_ozyyG{;eY)9#B;y^ z0FJ4D{Quxj*Z`0)|BwH_Fd+bluK$tGVDS?K%vcbP-|7IxUulZtLZ}iu|^tB(W{I$|`fS^00VLQZY2uPj-4$rq5 zMzix)sBOLjycIye2;u$xJ^H@|F@s3|+lIi)K-UmJNBv#B)Ag@zbhgyr0|3ZXG?Wz{ z`(++doe>XA+tE0%44C#e#oA0k1>7nyzr^r8)scX4Lk`l16u+vWLQUy zO~kMt_*KIC$`TUUoI)auPOs-Md=z6*7(O=dOnDs*UW0{G%#Ht8de@eH4vDp_$HdyP z#%xgWnVDI+DK)ON%t%lFvZ47u6S_W4v&dzEyW-Xrz|Q!21Z$`keroDSB1G##qKFRI z1^Oeh^y)@8+yt~-~x?z{DIpBptK)BUgSyUKaYF%$68AHUftXkflMTgUzZ4F zTTEZp5(%N{752^ydIVFOPO_Lq??);IKrp(={J<%{xj5ek0 zg~{+gBSdDu1Z$TuL>pFm;0j$t1mQ7^iqIwasQ=pHcmxl^sN-0pPcG+iV92{?ph1Sy zg0d=*tT{5$);$ICSO!LHt5w}HIs`PeU zi-^aqmnWxuEIw#f8Gd~3hrkoRpp$h$nr#x@RS|Mc*N}lQ4@_ZCOVBYvf>iO8!wM-0 zOuR4O=B;5{a-vnL@sA8#!2Dy)?*u6Cdw6o7&QS}^x#D2Q>@B;QHUIl7SV;s3ix-?m zNdkPcw+9dpAeZS7cRE&}Ay}r#53mQArDedxU2K8 zaIe7$C_X@L2ZbAU|2_QAu$gajKRK>j*5M|`WdZs$s{j-;GeldU*`cD5CxTzt2*}1RPKGH3o*T7u0lz_Og0i#H~ml04@lL#g$;Ai*zd5K>NU>BkX zT1~{h%D70<)ziZ(QBwGs3tkl*+rh5@e^SJ28bwCYo?KxBhzm9ZweX5bk-0S2#4+V!ibBzzRbLk!*;Xd za)-+eHu;u*ub&~q0J>qs>F>)s*kG?CL~Yx>$z^1X{BEkKP9Ixis@u^MZwxTncZxxz zqc>4pxld|o-?SA$q76YA(z>#+9*@C%el)lHSJl7^T|p!I(9kr&ksD_lIv2l}_(u1K z87H^|G5oOP>pu&LKc98LPX-ryt=%+~o)eh3eY zgWvhS^pw=OS05Pe88J%=(OSU+n;u=!Hwu5p9|eE9_l`nCfv>JE?plunmq)?oFD??l zfaMf0L=;!nu+vnOXj;POW$#XABK6B(NJh;fR!!efz$qq|Zg0Trl_7Dd12(|4cvY8x zC>>2wGBSq>1V{@n;6dDTQG0D9+;B3Jc)%{VksF8wxQPQ_dER};k=O_{j02m<*LC7Y zx?^)D(~hWw4*Hr;X5)2@W8kVsgLj6r#3)%246%Q{=^=oo_lZhCmGt)BcYwZTJJSPm zutU)Op;;$06zG@PVkN3hv_=+*11O7#_5`J-U4aW%52l?^d9wB-*pjmV@wa81+%3yc_*E``k)`yGa`+ zr)VA9w;q}2ze>z!k6owc-W895 zqcqu&B2MMWV^Pf_gO43(AGyp7>BZN6f!I)m1vYIAD=p4daW1H5<;oEeX2IBtCs%cE z-xyab_h!G{8E@I_2)($zr$-fU*eLeWfr%xr3jh=yir3pb-ry1Khuzh&HnyW8dy=0J z3Gt(qKsta}wDsaK=-4<0G={l5anXC*lR`(rkDe-#>x)iAr{8_YLa02fV!%AEPbAYm zGz1>4XN-{Qyar!d+9Q&&;nkp^b`Z;>1?Jjr^}=V`07~nzg7|q#!{oK1T(HZu$?7*0>+ZwpDlLjbwA86Q1NUEWTu%QkP(tIF8@U9>^!Ua9qQL*P_* z6c}=Nm{7=j=`D-($Md%(MlQ8k*s2#j40!Rr!^zw?ToDO)czy=lyGLVN*;kzL0 z&LzaSAraFT?hCKfSCG>*VxhO&q+x|Ip{$ zs^cLHex@XN5)({qTty{vSG~KdtN68_-f~y1za9_=W{$^D!@U|2NR>h z@IY|ofC|1kt}zQA$&S#_FC0IakvOdn1cnZWbeMAy#7YX40<6@@Z=68dTO~L8qGzlu zRdx}gHE)t}9ydPY#<+99?KZNMZ|<({rj$@HiZL=-cz{VA?L7=%#aF2isMFO!f(?ri zM!5)XLB4O~$@*<66+D3>-=8vglJ((m66>$F$;DQOA;UWT(kEXyCC`A6v`o?nD<8P5}5=zsQts_atuGMf*PhbqUUUGbixi7ho`SJ?gI&UW`8m$ zynV5zmt(a3^n+B_)-zw>peQ4G8Zeg!Q{Vd05jvvN;WE89*=WshGWUEA-`U9r&F+BO zBJXj`t%=>VaO>kC_SOf&TGN*={T5XWt60A%;fLEqtUimTF0sv?PV!Ze-jEvIt9t!0 zc0Ig`P#%K$^~w=8)ZflJg4?*$tmgNcKez;JPclR$h!A{S)%m<5mtalX?^c;1CwN<` zC+y)9!bGMZmY~)iNLC`e6Cqr#d}doSWSsID1IBjDCUCgf{N4uE+|CTlP-@e6t;Xj> zPnsv%APs;-_wEuhg{XF>T^i5}m`|j{C5^9QpZRxUng*r#MlzXJ?Yf_v_I(yyQi7~o zh;~`xL;Sp3*&v~W-yrhBD+hd^on;FOx$?_u5etYzxHaI{u0c|!;k({rWl6{_VGv4r zTU5^o@ZzJTC{>@W{_Jh@1E>WWDbyvu32mj(0?fou!S$mTHA5qXu}mRZB_)i%;5BbW zm#9eQQh4(*K(*^M!;m*F8sSKa#)3!P;?>Q$9ukn*TsYG#^V&OE6WwHRIv%q^I*rK} zz4~}&A^=Kf=TW7XY}_gFcui}H`^y*aKjp+9m}Rs(F(>4be!E77T}i21=f=4?I)P^K zAxQs2Xxzl~sU0AP@d#9w|2)#ZSgwUE_<@h!N6&@dI=p2+i7pHKs_r?%!{tWvDFM*! zpDWcbJXwg&hN2uV+~AiPQ>N+AWmTQ`DIR$0jeGRS7g{4XO^#xPOk=rLan+Pttff34 z*IaCxCB2sbQH1%+j@q7EgKTnX2j}0;eGyFxzq}$sP1HHJfI^Yy=q!eZ(!LKGbf_+L z9`f6Ff!}5Hqtw37;dS~`S!sBMdmhSVWVS!qndXf5ZBy^#WRt#o){d!5a8vMw;<49OSnE3?Wjx(+uA`Gr%th>^94OOyXX=z> zWjxA5li+W@!S73-pae85s8Of%yxwpXDKRIcbr02(if|FA#fNx@U6Mk%QoV3Pkz#Rv zzW!N9pT0NaXQwr*GUJb>#-RSO16K1sA9R1K1mo%AB7LPiFmNQ+lGZzFuXBFnGDQh! z0J)EGY;mwHr%!m2Q&n+9S~&0YUHFs=yA|0Hq>qDcmF~!lu!2*AT`dV4c*_;XFGrBT zkx><1YnN{T={J&Eg%7MG(2MmB4$!6G;CDq1LG%T#2~KH@>xVDi>FFD{5m|j@$x_Cb z!<7rSPqQii-s)e*^G(|(b;M#JDY+Rx!PN;!x^?4{QM=@&_?B@oFCz#KXSB|pkF6?y znmsgh#CqmdK{nxsh{&U@mzwqo(Uis_&psav0QNd07{ojh?6H4Pcwkyc&{ta=I!WBI=*; z#bvF({eHQEWdG+(7$$mjPAq&D^7Z%q4dW#8c1mSxt87O_x85x!V?yGjhhzu=`YlZO z;e*{o-CD@9ny~4Hw*R*r3s&}GDqNMjS5HIZz0J76rayXHzs;Z9AKGf%9!<#0U2HExEax3@Xe3F)?F%YueIORlg05N%9 z>u#Jb&Rn4<`?-=@#MV+jWP8MpACn^#%cI|-xMP#sGFIiBHeSxn z*puUbPaRRWOi#bRHIB1f8~Lj=0vam1%3l-_VgENt6Z@Z}`J&w9F#te-|0QYq3gizb zUh>;%Pt=BMY;5e{etvCj?Uyyr%*@P^l9JD(?11|lL!NI}& z)qnkc-V0cN2kd)*gUb!O@4#P9!P>vR7pwx3wfO(jSr~^uV0w&mwAZ7}9 zy8y&a11WR=wB^55dTqd)c|fiK&}{|M=Kpe_e-o(i6;Nvel4eLgEMa|G|Cd#zM&Rn^ z^6K_nrRkp!fk0?!X~V|>0s;bYadAC8Jv%!)0RaJWa&m_r?w9=%Uj0wBT7VaQEZp4O zfAg=Zs%m0l;@+n!D=T|@cl)%H$nD3&+q-L4R#qGwoSpOa@87@g@9!_}H9G&GXjp%v z(TrWWmbh@zH+B4ZZf;HuRFZAwz`+Wb~`#+q~OEemUgN9PEauQ?zPYnf{jv39dheqELKyJccZ~lkw zgD&~&$o~iY-khZ%;W57^;h)a~|x zmu#`}N|t@X>huZ*i+=B)^FYI<|s~Japsz0{}{P{Ii zW?cEjqNR)Ci+d!m`5LZq<6rmq#rJ2k3o3FsTxjCv9m+d1kBcvQI%i7lUSkQ@^{DN) zft#L9n%-=dpEET7OrI>8-ymeL|0F)d|SqU(Ge zgVzpK#Lrr*c8$txiVRLaJt|*?K&el@sqV2C>u=5oH0N!Hww%6r5iI@aLG4*;gZnmb^j1au zsYJxod3i%@_z6Qw=xecJ{V2iaIYn#XLe}WerX$Zd5KJ3-k9WW7^XG2CCyse?ZH1WT zcws#%s%HY)sL-pD|5y_jjd#CsNCm!K(=fZEL(mIELO@2REQaSxHrnhOp{`m*hQyS3 zwJ$-^EOIr?rD1J?sGdNt^qD z7V&vp?z*#|+mr;U!LNzW>{j*5jxC?aced)CG{!!Y*S||oX8Cx#$q7Ur^vuAPuApZ~D?45A};7H9*4eM&f1ADYTg>tZ_TX)_g%YGhH%|l+WYU zaW~K{>uY)|Rq85flrX1><+#J)###Kb?fJT0qBC^n9TwmO*Zu(yPqy-k>QRx<86{&D z{nK-Ia)VyFaT`qq1g#Xon(Ck~j8*(Q^r0_$`i){LkhJ-VYN@E&T|Buc9bPSAAH04) z2XKPssYGK?Di@CQd;t_MU21j_7}=7%Ah*n24Sn8C!DhpC=0av}x>*ckr0_Wt4E|o} zt>o1>hi6(;GOkw>hoSSABodDmnaDc$g207^*H_gjc`-Fo<{l)bg!JJ^CP&{>b4@E& z!K;9D&oCu|AkH=2k) z%$?x&*3R#sT{6;p3bFm?(%ysk#zw6UH#-eE60)3~PdIekeD{X9im_l2aZzW#C9jQ( zATorC9AqdG2t;hQi6WkDt?0zk;Mo)Wtlz&@@pUD4{v2bg2~?HNGL5mhOQqx0^q|zZ4HO79n`MW&n(wj;15`4LVb3Hh^vbI z;QkQ9^sJ6&Y8N|rB&*=3J*8RF^f_;=Qkjf(1t6f)SWFdQ7Td!s=G@N^)hHhc%`7D# zS&p>`i*!F#jr^7FwKW{_tTzpNj}4I0m6XG1v`x=vSmR(uQT4HgG@hYr$d2b3c&3?1 zG4D8i@554&Sv=KoHPF^Pt|jv0VjM4K_Pe;8>UU!BLW?_+RE7*}2atf_&Vp~TdZjuR zT7rM2b%*h{t%C04*eB1q&}VqwhcQ${V^>WM{ev2)7nP=?X^tenxN?w`MYHUNE6<~7 zN>M(wUdsGg)Fwg_a#*=~>a-c5NUUf8FRJ$a7z6l#ZdJ4IfU$(9g&dkIz|q8xq})+E zE+!VWRyJV7f$3@VjS%8|Cu^rO(ITXB~xv#F|e?U9O7&W;h~SZZAn;;n<(*$n`G0-^qc4dtOTm8~pkNDgU)r z1^)gBthIVmjsZLyH2AE({#zaCzzv$BrXG@MmgB4*yiJY+^k2V8js1yZ9QFzt^qv4A z!c+TYnj=>o;|+VKRG%5J8s$q2>Y>YsL88CEraASB(m*}5$3Y$ddl&4<51r#9sd9Gu z=H$R886wP}eW=Nx{DviViPvO*o{s$7qg1@lq?^QAx*o&`4R2~%S*r&Vq$oAOGgl<% z_>%@45Y2yAnzi5z({oe@&ld@RyxAWbZsk-{?$|ugIKuqs1y1Dg1z?9)IG^4?nTc34 zg=!a}CI-y|itq|evSayK7#yhgAJ^dbHNi_RDolI0$oyEZP7R?jMQaSEhPrD3I`C?{ zsEmD(fS2r|*^Uh!A~dFggQA)BZA~Vcm(CA6)1Dumt_WRCdiTe*8N-`e^e6Z_M4T_f zH~+r*$xa*#2SxS31}Uz(6IKG6FdMYT}h#N65e6;9p?J>6f^r_Vm zr);S>(_7x2yq!h^O#zNRe$b+(dyfn=$jj)hC!S_lz^kS0r!qv6$DJNudu`^Y3p^|4 z<>)!^kXkY>AMf0pS6NoYUW5ufbIFFHp7y}`=^bq!MvfXEex+2(8*Qd9mMxw6%vLPF z<71VP{m%Yqga#)wi}4AMei8@k7qg2fMY%lZA`UmRlwqgJaDU6rlQA6PxMKc>4x1y~ z6`?*I)WL$m$7^*klKnB=yz{gx)z&fMA$=b&cD^a2#ukrPccxOBwg$g&?TR%P5$LOA zEPV0fxV}0k2P>A3)Ef9RQy)lS_B6E0%?8}M>vb!YeR3HcBgnjZhba9nBRw!jvoME! znK-1VfMZAytz4oz6M&EWbJ8sKFq={Cb(c2Q~;&l41Xm#;Ia!_Q2@D zkl5iN1Si=*Dp&hcFAHK?)w;)-(==1p@r^zurV7YyL^g5rl+3OOcOfSAbBge;hFUop zM=A^hx?lBOyVE8dZ_c;; z4dB^-%lmUEG+UhE!5<9jO`gp(Qcc^h3k@_PVt-$}M({CaXWu|4F>$CZo1-dUJ@=Vb z{h_GI=9&GGL}J;GK6SfyMc9QO99}ZD5}1Kk9MnmV813|1c!pkwRu$5#3gAdA2!b^- z-|1T0R4*)r{95c}B0V4Nx;2?cu$1d&B`AG!Z+1;M!Jg08ZyYRg~NFTiCp z^Vkd76WiPk)8Fyc)~24_++xEsMR`M20nKVX z-kr9B6n`fy zc$?zB%7*xD6$0WT5F2J&J6>T2qcJY_zkaC zEcG#47xlS9{g>ZSLEj2dmC+YIL9QOSnO`RX zljoY9@E~=FIA_+Ad8m`VyaN%M8FYkajF${9dR(wq8s?Nh?Rf$#3swL(}wQq zkit49VK(PK>Oc>c4+$OY6m53Jncm}Z-FxBe%2z|8(VciX5>zImEXE$mfb|P7KGGj< zs6X}D@AS=8t$o0)X#boq`d+fLuz*~I=5$64IqKaeUAE6ru)E6TbEv*Bg#0Nb3R-MV z8$Tah*v7z99n$iIUt<%u)?9>|CMydeXX+N4cB!eB*DmpvNt;!$G`+~qRDC6eGmu|b zKGth`bMw5d*5+F^GgsCwiZdZOx_jC}doKx5mXJM^dZ0`<_g?F`RI4)rWs*Ms%oA?GaB z45s~XXtvf{H>OPA)W;62G8WG#z%O>1g-4P7;iryRIPVRVNcDMmnxTFqphU+B|0(=4 zpeBx24Oboy@*dRfY}W0{uY?h50dNgsL7!LaIz?|?j|2Ei_|un+|T zZ*wopU zt>0cB%)zjfU80bai(w3eEGAwJp(KBt<3_2u!PJXr;Oo=)UG{h6UN3D$ymmJ11B`JH zVT6|-e0x9NQFT;lq^8kk(@6-M8L-G_>e^n_3a?SQG3^g3I*(#WAc$GCHF3w690}Tl zJGC4GUThiL(}Yq8h;NPV!m3-gSAD`em{~NOMBb76(?gWM<7S$?3aO)xXX6=ks zFyDQ4CFLO{&BBbF$FfUnc&`NFsvUBAG_HhK#rsw_bu{_zHCLlW)ko`etzYn??q?cH z8LtAB8)4ie?q*2Ilm5=CC+N;Zau+47l9^DBDI8q4dVIFkO=CE^qTj+XalfRm(^E(s zDq(r_au{GB?^veZ#(#%Xt;>et>3;lkK&eM3hMuGw0L5Z)H;y&;yBW55B7{L}>FUZ- zno8B#Lxf5Nh1kM^?Tddfz`yrTs2^c#Bc}}WQyx^*R<`!7cuk0G#>>#AA=Su16Vs-_ zv?~^(I(t1woN zd)?2|rUcwuRk?4&sdCbTV5Fs9=5lmc0@^|@W_R5){_pN%`B~Oj;bRiY(EVd?^!KkW z6N$Bn@`+4OVmJ5ZGQ(t*%JnK5cx|f78)h9uoRaF~n-mnwUQOoemr<5YInk-|5;))^ zROg>`^lKqWzdy~<9d0aC6ojiA6SaR2H-4h?LwL}?2L0A^FM@f0&70{a=I%CMu&%xR z&^Q_N$q6kL)A|ANx+p!mx8BSaW;3*zzHer=<#;jh&ywB7dDAp}G2*OY-Y`=&wHI23XsGIHN+{FGQy16164N8&MJE z|8e%PN{YbtcmH?KtEzK~1HBq{P4BRi@S^Lnlaq(>T5=TvRfW3;EI$WSPy}amEmqs# z6CIo7Pa%*fds4Nb0IE-&jtvLmdzVp0&@r3rA=(q4rYKc{`(uqeh4AaRUyj}}9B&1G zi!c%==V3c|kS4EEAl*)gM?=jLLw!yfONxGjEz;jjLgJY`?r!Ies!-A_LaKt@}*qhYahw! zlO5=W&%UM2{brwWkC%!QWQ*rI`^4ABwY`7Eb@t3?gS>27mkjIT#%3 zZX*gCF{4)wdDKf@BCu262vEcmzb($bksHaUwPz&J+M#T1uBEjDNWq9Aw2k+6$v3)% zZ#o~_ko1x&4DU#={k)$)_hxelcLC6|)bItvzohd~( zBt>g~yn-F`Jn$y!2@~i&;)o7QJyka#gpz~8&~=f#4g*^nCw_o`Ie{oQ-P&T9_U?7= zA2Wi->V3VkV8!LuenOwCrMT7VAh`|=qELzF^Ow6Lk9G(NW*=>GP)|S-AbE=8d0F!*WXY0C79@a09rpZhlNjcC{B??{+(+%J#&;2maZOc@ z6Te0GGh&oLHA63x08JgE^Yjx}sjGq*|Uth?^yihKd-#$w9!oYZz^ zDw{n!meP#aeM224jzQL`r&=K?{*q?V47V`m30k-nm|_cqKQ;JjE7iz$%pU!PGg+tS z#Cb+4mc+wa!ya~RA4Y(m>_UFuD<3-g~r~hnSa*h6do2A^4d|wC(gG)Z;z? zIZ`)LQ?&S>@^(fdOC_9^R5~R$50&QcMaB@PH>*=U<`79}RlJbj=|>p<Lz2Fd8L_v zakB9s$PV%RHzu$c_XYDU4c2^~I5x#hI$w6NRWwuxL2!Rw!qwA8KqmXA`ND+CXt#1S zQLvi*Iq+VyFx%a>Vh+&{xBHEW5-T?&&=A4(+l-Lr+09>+Q;Xu+!LM2U)rJ;#+w@_;>FprRw~P9Wd-ZaW~Y}RQhk*d3Cc9431DXvf-^{qU$ydzse4>W#Q@oK zh@0dm5%sENmvN!I)xgisEf{U%;hr^#JDHe_(qM_ZMfCk9`0T#jkwSk~)K2q9!t=PnV0*_{Df*98h?&SpP}g&ERZx)|qw zb|~W7<@&y0)P{r)Hj}jZPOC!6((o_^eJ_|^;BEwY+m*NFV3c_!%DG88PdU)+c-bRN z_%HIujBv*`3C3wSQaOBH(tgM!$&EBNL)=EK6lG+@GN?v;B&1cju)J=oJwsn;(_p;| zus99me@$ut%-Q%@E2ZaQ;mWi2dqKL9q1N6I6)GIn<|;FLP5Z9gA3M5H#okg;L|G~R zGD68oLw|lhYlMC1NrtHaI9AkDs9ROWPPK@jz4<35MJibDa;@S8t-$G;ujRb?hwB}} zy9w+O>Qfi#Y?=_7{EUH4YS|RmV+6 zFBZ*4O7;eaJ`Wru+j(LZ@kxA?0&a+6@0-m>1RET5 zpklpn%*$W?MA5*!XDzt=K7y4PJ1JYs){sz)@4!&4K9jp7O(kq#!2KX`d4X>FPH?f- ziF;_;wN$Ld`b52n<3h|BsZ&13$y`j+&$V)Q?5sh8EW^T@gzuU3C@H1a-$;^%`Ck#SE8g288j9aEp zGaJ42$$mdM$8e?b^HZEX-MfD%T*}u!b?zL;A7+Z5_S037vldhQGRl6=2`<(?eP}U@ zU#hi(Bc;ar%bKnSkv|jTR4a~`i@y`4Emw7re)fDAc_LbG##5%B%~DA@n8Wpasj+3z z#_s{o8-UFEDozHQ_R~z>vF3D#k9c{p+m^IQ4by&gTH|)iK4;*8pb%fa3o|6>ZD`jR zMR-KhIfGbYGl`~Uj@zlTq_~okH=lHGmelBnbvA^XX*#*^1Xtj00hO^T<<-o7QM$2D zpz()+iUL{}3W(09j$XY`#(tpU>v59-?K9Kt)ry~yL#{suvFJVaQOaYdx`3Cm`9TNU zp(mYKV|+`SL*8>z+7n78OjslBZyQ0{hwNkQC?YMy0^VuJ$0oEz#O4E)W-pQ6c#DGT zHFZ8U`3+QHV5bFpQX}QQyx2FVv&>itwzxwNid$mh-sI3N^Mq>QH!gk>19@EwpWIsr zT`FU$>#J77{YCal(xEVR*0OEcVH{%q(T}65gB{-d*__EP807Dwo+hp=*!BU5A&aRX zs?3*kx2dabvSqJp+N67a$H1>L{)!i^<_c+yUt?t>SI0M>oJ&0WP1Qkdkyo($AY#e) zz>GQJ5ED#LHCPNH2_8%aEt&+wW^#R1r4sl^H%kzv&)^s0z^OlI;vkH%Fy?a6dqcv< zo|G;-|8jj3T9Mo`!*+yOHz_vDA?Cb)muZ|VJ5B$J1>~0Tt8Mn7$6xW&%5Q{CYdkcb zpH+V}FfeQDGf|JNiMMD033CkC+v=<^=`5d|Vj$ZXyoXd{jHdEP%F!rj& zPcV|4p8Zj*9`2tC8}U!yEkFvze-EAe;T`~FMENk;NTzh|5V%$^7mDUR!cS0?!<38v zGD_I+D?3Q1?<@8eg?E286%DKW7AlIa2H)w%mYSwFI`q4balZNH^(sg{EKdWO@wA(S z6}34H68*U*aNQ)^#ut^?X{lERHOHa+hFh06(f>%Q}C?=5$5#h%O-VVm3e0Gm{5hP3r^p)Hf)#IbWGiCabZ7@#ukdx@hqRvuYC6X zN&9Gd8A~ZMwl*E-$pjukW#xZz`{KF6Pw4MJb{^-W}yTyZ#(F)p3N`aMEU?1{;pJ6RgW6eY~vvKS@5S`ZFNN$FShZy>p z>27U5EU2}?^X#1DiaKHZ^93wEeXea+rasWX`z6vfi{tb2N!KWCG^1Ln!tKye;F%D^ z8&Inh*1ks_C5kLAZ2RS6Way>-#HgP-$1h^Qce4++GF)*RjmIll2%`1zcTi9f8LK0q zd9vL4-PD!%>vDWwfY9h`-|B$gZ5t)!5yQz^8~8MwpLbgtpAPc$L0#TJUs(1ym(rY> z6US87bl7Lzo6DDxo7-w1LBu1FSK||q16l;KoquPXhE+x-L_;r(FqnNba8s_5p{dW4 z*Zk#NZMORb_)&x6?^z`$3@SISbboRxUe~4Av-HQUufPpONuP4|5Lsc{l)jJjVAVQN zP#h)TV0_mLKVU@OKB_%gskTAaZ~K%R+9d5F(SN*_{!z|C)MvgI3A%nGi;2C-(`XF8 zsdlo+}&SDt?;bQI*3*z~(up8E6p!j$c8ep`51z2S+_+`b5kh9*B|W zFLKD=JnLr83wo1~$qXG8vQ#ND0sx%-e`5iDiI8ra zcb^Vyo8~1^bAwmI`=JMYC=sDM{&UuEV{b!U0$xNLe>%WsM^-LcEyw2Wf#3wXe4skR zkpvnEX$Ym2XW;{#PnEoVcgA^mJ&bhla|H8 z>n=v)gcPVZEObUMd2G@noRo3d=NF5gd?@}#l^m{lqH@GneD2K@7B*JO%t^}r7h~UY zYobq?UIN-ub%?R3*ipQ#H9k-^AB5ZQQtk?S$IG<%Xt|lrIm$1DGF`EyRQFZu`U!{+ zb8@Cs1y;nP*?cc@Ub$Ge<;b(mm@ZumKxj%`@^?imC z$caWKzx!lh^dkL2a*vKZmu>pTS?lRaZHhZY0-yI*_*$4rva<*IB+|8tj$RiIy;5V+ z@zcfBYe-gHFZD$NJ5A9N{y4clL^d%jLduVVRhf9$@oD^uB(k)~Fa0^HSqj3u`V~o- z)7j5LhGPsa&h3_(vCGD#YXOp1I*>4lupuk`B4UZfayw35dB z9W>0ioTCEJ;r#C9O^CtCHN#04`FMSXXyRnBVaRw|K0uLuD;vg;}uPIwug7 zd}Kxb$)BY@E_q)FJ>L8LYFjgG+z@`l;c&aSqin=XF#TTwX2@nwx>;1uvB!f|RIr zuxhd63(fVvUcRDf*K3)D!NLMs-oMUM=?Qa(>IY}Kz{+opz_JvkAhZ76+sWfCNxZCf zonfD6J4Z=TFIiR%Tm5Lc#gck=gASRFL$E;QE%%G@u2tm9uQTWvsNg7SzgUmh7*^o# zQxrzoS`ap|Q^IwcaMK zbP9(A3usNmTL@3v+WK7sx=!wmLcv5V*7Pc`u>)@mNT(592fQ6EKHf-Yp2yq3y$<1q zBBz{l*%V{E5G?F!TVnWxNBt;6vYGJ(yfm&Qe3G{H%nq_#bgmhABtM z-sV|h!DwHuNV5H~u`+Rj@7J84RT$BYUunbc>Xs!j{^cscXsl;0c70VXABW?9N9=1IZst^|ax@l3&>S^RL08B%tACNutDyHvif>ZmvWU z5Cc`QF!>o7@oM2WBNGF)1RS?)+$8s=m%P^@LJAix>q&L5ZX}j+d}b?knT&U5cM{o+ zqa{8(-*}oN6Xqu>?dfSNFd9|RLpZ8?#_q$2 zE2xnB1f*qDiGIFrYsHkZ8IaLMYig8PWc?J58O^yq{U8%_REV)w=nj{ncA>NWK?eYu zSQZ%zoCNw%_l^7k&#fx;*aMs9tmGfLw<4QMb;;(HdNy6O-$ciot_61|7upma(}gL= z@MDs<-LfvA45m8%On1;@U8{GF4phfxbT+yV4i@P%=f-{w5L%^#u$YW>)XRI?-&}*6 z-H}w0IH@f@GYeXE(Aq$9WRVmr#?gMqrq`FgOo7#zdfa8>WTjZYilbpC(kBwE7;XpO zaNuI(mFeVR%CU+x(PNIsQnNk+pq>pq)y}6k!|E(4T0*B+lajqT-9hRMg0gnz<~?4p zXq2QuB;xjEvnA>sEU#t;@q2ET{sVT!I;Ib8cGl5x!{&!qC5Dw&DKwc1a(;uGeqlJHSd!@>D;eNPTZ1YvLk87>y>Gy6i z|8x>HJC8q0GvBmM>GsWm08vR451zX)SFJf9zWCE&0#5Z*{swgb=MSr|kA~V{8G*P! z`nSSoPxbxyKg!!)Lj}rz92B)r(%RtbGxL_86)ncZYNcNOyO4*SCGY@s4}{ zyO-f%I2^iJd#xwuoX^rwoP$%fr@gsQQ;!ynrD$vyIV4D0H8u|Pkq-J4-8$b8$-*64 z$&GgoiAN0kjTRa1y+ow5;k#|HfxJQOMe`;r`IiL?=B!(`-p(e!g@czGc&0$~ah3wm zP-G=$?y#rWJ02KZy|7FofjR?;et1 z83eC=9a|s1-}%9T9l7)w@h)|iAI*yvri4+8E_o|5va|ST)5z^}3g0O?L4CPbuj*)| z#|96T7fH5Uif20;HuhG126MB*k#W^v2I|~(;7_&P`GsI9yvqX83f1z@h>yPxP@pf( zsO10ixIcZ?!mZ0S8Fi zvBdQM5saR8TEuEEcw~R9Ha;9>dF%Q8Mn#8)h=u+S9ZNKhR9qnsSJ8D_Jzec zPi9b?=l!5-c3C9epVjlO8Slx9jsw06$gltZznV#=$Gbo=cg5}PTHdF%L$83a*{26> zxKJzT*x_0i$xZb8otDOkvxY28Ri!R{W$y#iGN99!V=rCawe zg`dAa#F^gvm@l69<5nnvKV_BAxs4zWI>@Uqd(U60hki4m3;Sc6>Am-9fXQbIH)M;^ z-Dkl?N84>HhS!#g7ip8j?Bo6Inst(wEVOS6_pdfj8a83n+S(dQC>qf{pqAFNgMijZ zgNc1T%#Yb$ci)L}=g-a-4eK?gj8Aa&xZ9*Ij;ec?i`IjzRL}EPGb~)jFJ`8urV|4@S8-#> zOmYw*7HOuG@hmbk&Z;jzzux_>2ida1!ol_FJx?b;H(4)Dqaj-_H&5!o)$7gV#bUSb2dX|5GrTpZ!KEwV`a0L-9nPoQ>F{sv zX|8Z6rJpaa>#6!qp;WRLf3_X8I2C4i@9b=X#Y)owd5h>3y`NTwJaxg_pxx`>{G`u) z{dYgUsHiBdCcBOG_1W23| z?|XW(#`PL6l-lV-n3up4W3#fpdiRB(_(*`$`nK#};^p`~HV*h7T3`I$!tex!E3cL$ z!cM|KaYaQ%=b=PC?&yag$f^?`udD3=)>LWJQJ1wPsbt31{QUeZc6%fTx>b>{3s=Kr zF>J3VzHimvu|&Bm%8qlpy1F28;8=FxT90eH=l-Ij4)F!eftu01y}hS&+Fcv@o_6E4&b(v)5g_O z($TzU>WIjZ=SsK(ONE)t#lrM*Kl;aUXO(WKkw3+8tbP5xS%qu z(~GEFeW$%D{HTaIQv-2=JcKp!hSjEt|5f4Jok3`bp z>4^P^x|td!aKU(IXXn#Dqukyeh}=J#DUM2f=lg0EY6h_?qN$~|2S?;3e{y_m3Bf_g zWv_n$*cd7Y8{2B&VxL}J{JiVUqAhBlgnk=>G*$3kQEdiRQu=R4r$t-rvGJ|8Uc}~A zwxaK$J83Op2pT`clC=~HnL%ZQgH+9VV={-1WNEWujGTF6m50}PTQHhOhl%7g)6>)7 zzb=`RzVA0gC1pR~*W5P7V}AW|PwJ8B|Kyi0Zf940-B|6-;0ze&cu##>l>jCv z2*X9|Xi-*rr5+1{`qPgf0s+i$k!7DfHJ^c{CL66+wD(Q4B0h+gR(C1CbU}J-r7WN4 zqe~>Fj=ye~o4@-qGc#kJ-rnKZWmc#q6v?E}O=o1{>O&>chEiG9_1oMN@OG#jc5n(R zVn#G^hF9{j)-32b1BEf*cGCI=`UlGFQx>vLupP9a#zyqHSa(k`9PdpW=PBqpqsaZq zEr!9mXO6*Texwp$y%{#q1s6SLT>2oP+}G37icHz!&com7e!w9?r=_JO_&&>hSeypq z=q|!~LAaxvi&dmr*}GtKW^hT|kZli60_&kPLsP05S~yEXaYOA(C9}zd5sW857}jxy zoL97!Ay@tGslomqGzl%U;bmdqJrM6dOH+yRaW2|$%Kc8&FMH(i@JxVp zp;9>eYPkH>%aNe2KtUAVxZidENB;&Blz=GoCy!Y?InZ$!xr8D)=2au$4li%-fjv86 z39I^dVy%m|7&9{9+R0Cx>qhh+!r*zT6j{f04>h~fX>7x(6bh3p^1>`qyO>;Y2yzwC zdj4C{}amoIxmP9hJWO33^L1wF3@a30?F?cVo`A5NE? zsIena9BqD{qi|J8OuxpKZl6eF>6rj$_{$q(OlI5gKb?a&%N8!I+Epx3GkiFx?rD;K zL2#)dg1DdDf=hdIvl}BWGB%@bN6Mc)$92V=Xm?0?s^ygxC@tV}lIQE>?$;w6UH7eU zb^4|+=7rmvZVnFpx}B_}&R5j&1KHoKIz&gGp~qx4gaY+|QNVG7HYcnMiJsp~ZaLyU zSTyP~(8fJPsG)n~>6|NRMJA!4p<+(0+9c`YZMt!B&zlH>neOjT2QMFI-EYkg=S%em z;pS}5%?)3Q>zatj9tL1!S{vlv^1YrrA9{Xq^a9x<*^0_Nz0#!{SXG1 zty|*%B}5F4SZT8P4rMIxd`Q;EX1CUTBinleQNao%?CZfOf<3A%cf%PV96wRpqvav1 z!Dwq+Bi`d`c!nKq6G&tG3ax(~vNt{PSfcB7v7xWqtuUac3Z#F!q_JTuSwSczDC47t zw>~^PTwI!(s(raVnh{k|nIxh8?Yx`g82U22HJ`sE{hbRgPiez)K3Sv)

b1_e4cmVOgz%I3xkU+Tm&5s1@Nw+j6CIA*q4+vOwS?$Hu{d-}CgWcefTy1v=?p z@AQ1zcpT(RdwG850OBeWd#@J?mF()HAKuPEf0PmK#HtP7jh@_KhsZj9{(md7`CZ9= zs|pgJQEQMPyg*O6OZ#v;mK{Qk?5f*_cjqMU%^&~4!NI^DM%s=AMvkU*GLuY$j!QD& zn08O;I2qdP-s~M}rgm{L5&2v3x)tYeXrbD6xX5&Lbc{j_xYVk&ubxpWK4rnw3=Y@* z%A*G7QD=h5`5>)xN82_W7=Z9G-`3x76;tp>iDKqMwx7ZxOGJpI0(CmaraFnM0AjhA z|E?4T4(+QKbN1xNj^{-ur^?4k=l4r!{ivlnlgRg{NnifgBRSu;Zso=N$TF)Ba)%xD zk<;vf)*aLL;1;Y*jp=!q{Xd_e6Kw+|nc4`;@BL);ne20Y7Th1U5PI-gnVB~~8ueZp zqu1Kq&_L-JTV0%++xl%z{ZVM*DMS%2-JWK4-s!U7jFWF>ULx{G|HYFwLg(m!3)X<` zw`*!{wklN~ojAB@Uhz3(h&g~#H{!5ap1t~KG>hx&KA^?_U=Fe)qxOs?v<_OpA8?q1 zp((OIyObB!{6zwr68#h@s42z+xgADya_vF0zluNu(7^nzY#se%{cgr;?g}4f30o5LpS3vn_Q_3o>VIf~jq|RyX>$ z7@=Hw{jnqlsB})dbw71j<&-xaWUBur@Ja0C)?Dg8gy@?EN81E@PIC|cVA=!Vp7(#; zjyVa$Sn$xAU%f7WSCy8QMt`D`{UakSt*pc9PLBqdx+^pW>zt{`;08)dmCVFfz{2~S z#t+}*YI?WN@#IHYGCCTI~_`@!j^?4 zBB;X2PDkxYk0S?Cm7vFt|LXhd@D@&$6=uCylMAy|(YEF7qK&jN9@i))o_fH%`aFNt zt-_MQ=Cp6odkh+XezzRQP!{32Bkt|quKnQ-StDs!oAO%7>qSA_jU38M^ z#~i;5MI!4m0P*wdXM-$P1+s(g!~PNVWai_=-(rccL9@C-l0+npI5N?o%{FXQY|-zs zQ>i3oatVYEPi6Vu1piAXHlrIB2$0CkKefV__=oByoIt! zi`Xm%T+0~GCKt~(8P`lj!{b1>&{KIDr{_etP;fY*P_u(OL70>-9FI?H1NW?{sY$B$ z*o&h{7AHRQ{h~wZ7Fz!f*sh;gBC~n~Djgr7qI60-8GY_07q@pBuxzBAKxG%4`P9Qq zj?EwyXTEr^phK-gEy8ywwj&F~d!S}wDMGwpw(=5OZWH-kWrye3Cjn-g%o|f+;}%KO zQWArPb%Auqv4qbZng(3k6*$hMCdW*yf19>Zxw{n|D$C{Sqr`85L4e zEHQon2gqnV63R5c=q=Q3A^Ju(+bHkK#I1QOfY2vo$%NrTrnm>&$76Wu25|t47`k!& z&(W~FEa*aVIZV4;LIllz#c#}Hd%2$~ITK38iAj&6K#_@_-v91L$thoBMzeS|?U=*= zpIcEng-sNCeX&(|bTs-hs%2Q^(Dc>6bqXRyt|o-Aip}E>IL|M@p{v4~-w=@(*^tS1 zp0Bfu4^x95ch@i}vLU}*QUmxHnkea*AlUjhFLESn z5{IsVEekFw8wKJN-4|YW`JCHLIi^p0ItXegB;biF58Nl?qk>jnmNxRW|Z*Th$i*^bno6(Xru)#`k0!x;|Vk@ z(n3j(pc7C@k3l4j=?&~6>si_l5u(vn`YqTY@q>=nC5rHSgVDW+==g+$zuwb*Z|r&j zoT3Zp4Of8EA_N@$U(sx2WYkbzUj79mTetAq4z^DseDT92L-b9OPUacNZ=Qvz_0rfW z{{_81p{q*mE-R56O9&_D2hBkQjH1JQhp4Cq!5cKNWMFA{Vrfj%J~5LEUcJ2ij*gDL z2S5x;6_qHL?w0Skzz>W5rT*{$nQKXfCkt+H3D09~uCn^@n+7bL2%^#Qg3piK9^W3_ zC(_my9pq077hXbuK!cOAW4(r%EK-|5;>@i%7LF%)+SWh^S|?r#W1x%@zm;H zX+JT2MN*~_68~J-WEK14G`kqXVC;bm`VgQT-vJ92fJU&(4oHbPy zSsqjRC9PI9BCs?u4NzIt+dxmV6lsl5iDOF6bTH+D^Lrr%3g?jIhaC*63XekEYfu6s zq$C`;U``ISN~qyUn1AnDiso<@1$ZwlkVv?tbRo&dBeCWI=5I^^zai?ejB^*I-fa@u-Ba_vsLF;@Sh#j1Ed*WfU8?Kfjpa`tZS{Gyx zI5u`_kD8>hJ>lIGig9!I=IM5Ib+yJK4F|oj$rK2#FohXgFx24ayoPPHGzD@ZOh=vG z02wN=iLZJUhTv#)y-7%QpyHfGSTNBsRZzLk9VJOP#)r;Z)V<#wiBIi*X$Nks8633k z@wi_ybNV>VeyisWf>F9cFm`4ug-}5>Y|~hE;ee3_wk)HkrjtUD4{(M|2O5-jm!Ccw z)4<{^_Y^fv=!w1eMic+gRd*O>@_R2s9G;wvB|{75rhyWgpg+?D9qpDXwm6N~Wbkqq zv8+i~&Nx?L>j9?z8EA9F=7pijCB%}AsIRvnLE3shn?d9yTYc!^LMSDU=nHZ4YdHF? zqJ(CsW2LEqIiyWY!tTK~YCu)$qHn-`+W13AH0iaFmWLe@V?ejnVa-Hcux1MUUVIs9pbwAc% zS}phSW9O5c?93vo=RKKZGCQ`%l?|z2kKR+Q&aUx%u>H7rTfb-&cvy8($evVFdE+hH z(E!nj300)$%U7mUibK-!IH}wE=r9V!y*?%;4cvdo1eIp*E>rl0!=qKD<&x*-jY1fY zh@l`Ejnh!cJ!P2BSznBuO9vvRJ`{0#W8-rG9=r=U1;S(bmBP%;$a6Fdd?UnZx=|l%w$~~ zz(p7!RHK7huF9}$pd853Wnn$n>W&f=Qc{5dG*a9*t{J)F)R8 z&5MUq@*_o|VKFFr4QFR~TLS?^Z7!EYBlgGTCm-@B z%)3zKW1{|{QkWw~zU8~@fkJyN{h;ns@`MLZrMykukQIm z1LDt?n`S$ER^^%w2t*Vp?!BNTfl#EzLNre+B5wLywqE#+whT+VIVkNXvZUMZg`Wt1 zk%57oDWD*~E}(*id$`!>{>*ausfU>vvR^KP3!~d{PtwrQ@td54nxxp1=a7re0yFXg z+Xa7A%MP^Q4BOF7_J`M{QuebldhHMT_Ub_8sudjSH%9TO34RLYprwr*3(Xy2G`@z< zQ`J?LM>;a77>ez{xUKDpY0e(Q(9bs%nD4(cJmOHPG)@}O|AxXNF(ySrk{;1OVYRij zU4Lxry+-~q6L?u->!l5Ys)x@_fijhu$#~oNc=06=i}~7lg0_w!M4zTVTQnqe42TipX~ggLW^_pFxik(&ax9dD@>nlYcAYq|aOA+>R);D3$Oa{*bd}2sB(tEfmz>>FI6Wm(zODAZlqyH9v*^ zs$nkXw8;apohx@!cXzJPn!`WSYDhJ8OBG*YhQ6#+$u$@Jbku?u6c!G=EeDF%XR;Vx zOc5?GP4vJTJd96Y8NaZIDj2rAUCd(ystCVEDIR?!^4{VjH z4|d&euE%yC_jX9Y`B2|%*F8{f5iG-r=TzpoDhSbLOP=~W#=yi?cItK*B;pJD5 z5J4dAz&z@6pacHo`EZ`ORTgYt`0CAupULO@?qz9dSw@fVvC@PD0L6p1x3@N()-5K` zn^~Uc3f<3h)v!F@zmMs-@<@q=P99hh5fWPeclz**&T9WeJ$bvA`kK_^Vq@JbK1gVi zcL{-K^{ToGqkeBScX9_b9P6_BbH!SteO!?FR8@lv&c=5Sv6i`6Fl%{G>Z9?PIyV}k~XFt5wT8N+gvEOkH1~Q z3dnnUdRBFIdZQX(AVc*%dA(o%{rfk?09Oe<)Cf@=xLwD1GK1TwVCHDWuvOj-B20vI zy83mr`Z3%4eo0lIss?HiBkG4|dRm$$x~b+<-=%|#X}3v5qGpP0bOZZn;;Min%MF=n z1QkmLeU(-93CHHoYRKa=C}x_?Wd!^btJog=IGW&p|piD&~l+lXN%ACo((iUW!~^KB}R0%-0A6tR%7scDxwC~ zHXagC^09n^d&k}F@0f=>&Fi8WZG-(`3Tza7`nw*xyLe13k;)~k62 z@$8=)7Z(=}d@P84o^Ov*(fA+r2OToB96z-%LS8N!#jt;@14)IrMoS@KEl%7RXM3D> z@_dh>bA>WvW}xtp`~c3YmupCQiwj|g*TM?9Pu8IA$tC@%T6ZWD4<3561vS65c|=o* zeR5_Gou48^E_^$gAl&ke&7AKsftp|KRlBox?5|~9%WIj>AAL2o1!7X$cDSk7ZCJZgO_HWH zM0Ht=mCv%8D-4Pa2m2p-gRYTmCc5XmN#VpAkfN>p8pv~oEUR56eSy!6eoSm%~T)dHLf>jpm+@xN5VIo}9@>s>zW#t>< zu`;oW;sKBo*Hx1(*%?XQ_UjnUpUKCh^kV(VwZFT7d#BibU16aA4OwHajnp@y&)pmn zBPJx82su1w1@;T`WFijI7hOLJp7T2%Q{PmZ)wTdPAbLj!Kc{Daqb2pmoL zX0p*^;*VEJGKfNpcPl{)(wruA#TEHNiXrdBR5fBzg@A~>lAd*Oa?F=)oNjkLJ-rQ& z&D}&gHOBYHA%Uz8=c8#J8w`etGH5|C`KwR&>c&R($8zKrZW!IyXY7T}q z@v8Q3S?+Jwh1$2Cs&{&Wto%>fHq#bUu+G?yo{GfP;$jiXzXUZh8ZLuayrEdU{eF0} zVt(_X2nqT{J|a#%TzHXeKAdEv?E380^+hb2aDP&_xbHbpIyQ`FbdU#zUKd0* zCRq*}hT;l*d8SAMW3MF+Mq_;JvOlQ>#g+~>fB*F+E6`U$>Afs3$npWHoCvDh>tW5U zxa;HX;y|%fdCd@Bl^!%cKK=|q@nnWS~M4H9!k!0=#< zKH1ba`)_+FYv4~QnzVLBM-!Jafa37chB&UzXxs^OYP;>tIKXhcS5KMcmBCu!+C3v@ z4X!U3N1(hOl3IykAwldKXFK{AE`w%Wojo*um-+Nhq@dw00#(b)Kg4_eS?}Y-H}fgI z`zamij@qfq8shNu6#4e<4kp{{dPFDtW%b}Iz-T=%?A0b|^*df;Ws-Y%MrW|g^tSXH zZwVJ6W;5&XicZNUWjMHPWi~+`C&FqkH0)?0&x{!H7(NvLqAzX0T`^~Aio3NbUTSV7 zhqNiI6s;X^2@{o{ko^S_`1bZT4t##nCL(6>dCud1{Tdw;6*XrKZqZC)0LAd#tFNd5 zwT27EGMUcxJhH^iH=`#bX>5K<3tdVp8AWQ38kBTkmxL6W9+=Sk0z|IMfO76#k$x;wUU9o!cl(V}~%m)eUdtJtM)z zWU9qBW^Zf#a{Rd?g!9pAXM4L1J0$(L{kPpS?&*E#qIfbpD)BTj@^OqjO(ugzC>d1c zV-NK~w8xc|m1e*{LjChLF5CdPIGTiqyAm%Fu?JvSq5gI9D~(PE6W;!Un@C}QiqnAb zUq9faJ^UJ^R7w=fKEShKkZHNIF+N-VwI^Uy@N1+|JFLfoA+K-7QLn||Et>h2or%(; z#Iq3ECx!3w38HRe>FDgtgd$;AxOrcHr`48#9^c;o;W>R%=C?i~AmKT0)R~dETFTU6 zq65WyltIUfc;*n6Ou~sTv6!B8dBZ*dmaJ`cdFy^sy`ATm>V$CwipS2<5WftNsY3T~ z$$uHNL3*0s*%kkH@}qivp*F*K_EY2l;=h zWYPPlNZGWbUK&PY-GiN7w~>_i7CI!p2X)dkEaD2+&G>RvN;nKi-ag5Ae*max+?5=$ zU>$HmHrp`N>N}`e%^Q}lSX)$q)dX1GIlYfNy^q=b@$|E)si{^M96#VX$zdfqzPXpw zNiS13DJdy|USSOfr5Q)WfaAfWI-|+KWjj$@PqEArX?|y)lm6u{jRpemXyq@ZA z@`>I`9^fXPc*NJ262&t!R_>?qCiw*gk&jTDm)wj9a&AIS93GZDWnOp{KhA5}F$e@t5nNhD zAMK_NXA_%fli0{8I)8(nQ=L_WAuDwR$Du9GuB}zR-uS*xRyQ;?6#*Uk)3DwOiR zGiwfN!@Z&S&4;8fL&Kv{gk)x~onFB{7IJC8A^KI%TH-G>Zyn$*y%(<&7a6{LiE7_A zUe+J}IP-Mo$?d~J{B_Z>wYB}Hp>hMv&C_pOdF0edJF>tb`0CXmg!N-s{k<}={KQ>@VHO(qBZm%)*!K2uI5Cx?qsAZ>AB~6&}X;XXX(N=5nYEwooVU}v7 z5%RL-=8CbvKY^5N0Pu7|j#XGfbATpZYPQ?Bil>sp@9XOuYl5U*)?Cq2arLnCLEHQN0cOhkwB{|-7ov>F~c zJ}Io=+(1Z^X80x2`-uWd6DW~JTOeA9bN*sgcnmt~)j)Iw2W0j-$Ydmb#=mbtouSd^ zfuTgAx+*64y9YnsB{K}xw&31`(gb3rC-C9y0vZ8Pk-ixdfRbkGf6hxUGwIYWiZpAD z<(Hf$eBkYK>978AgmRwG=`Mg#=~SC>QwJk&gF~#rQ(Oib1_zKo9igs^#oPI9{rRr_ zr(;Cq9mpmCfkAV6XX)vh45mg^YG7@6YObI1hW;!Np?t?``{Q)B5JN^LnH~QCrsv>h z1lSd{ul!yuta*YI*}1trgrPUZh`f!xURE}m09?!01n7AW zT9++6ATTj8eJCRI!VO_$l$Ycp?LIjTnmD=!+e>uPSc)vh9TW&nTt;rUh?nw8761iivUg&p4aZG}D7+-NpiDv%xDhY*A`6Zk1 zN8+pa^fqK{qiHx!sHH1ZQwF4kRX_({s0#ijh{h=(h$Tp=j69Qr%HfZNc0{uYTba%% zNeX?&zSpyh@`#!g$goFslds=hClv+&WC_DXGy$1Z8wP^FXMx6mOmba9QnN{ejgaFu zEOLMf5lwu3OpqT)djXSg#S5D|qH8F|RkJ3MOZ-SucIH-Jp6R?gQzp;!!>`nI(~W-v z{(=tbrW$^jMW@K!*IrA4GVS`qI)sb{o0m%CZ``Tk@&+ zChZ)!X5Z`~Ad}Q;a=Q(cbe2POY9xV&9Z-`w;kshaFeHqQnNct1(d*PIBj3&oNtYoQ z1&u8|04G!F;s|}%32c12?}3|-828Ux>I;AX1HZL3&u7 zN9(*ufq(sq)(gj+Yx}!P;GK*44do{lMk9&}>MD9&LRr#YV7Ui=9rG4p#H z@|?jWM-|RjEvQeA@LY)WX>8Y{bk$z3k$SJ&qeSmpM7GO~Rtv6G9KG7R5xYK_l!SCK<)mnp$RJ zLka<^Tw5OiENV#B^I6g<1r5VHx- z-x}U??VXRh_g&@9gRuS{VkveVGp}9NuW` zo--Cu=tSzCmcQ0Bk%IXi1QW|rJfc2RAVY$DwT({W1UWOZaa%RfWMsglp*RTbGzkA+ zW2xnwfdn`YOpYQBWwG zZB;;-Ef6-eLjzJ#Nz`YiE-hOQLJxL1J!tWv2Ft43kX5Kw>1fr&?^bZd2haRE5HO&= zLB&MWuu94!i{q@zMt3W3qCq#q1POd|aOTPE`1e>rb@ z1|6c*Vlg3rfG0X_euXxTvnrSFi!|Pa0zFscG1)?T^q43vdh;cv857GxLPg6CjuCQ5 z&--rfj~+4dA}8Nb+-u4QIFqMIGWwPt|)WbwBRUQKQzk`!9s zi+j?y6ZD8-6>(f!82#VWgnsM3%qIY;LZ4a&vZjI9DPCJ(yTzSN)n{}ks%_Gymuo@F zIB_p7KEAj71zpdxw|}XyIO)YWSm?L+%{Zr%UDuN-D((i5ql5kZ{YM0eV{I)grkr&y z1Xqcc1B6A@qpjLPN~y{U@@aW|fGhkuiTr^2%l+J_SCb&giuChDEJv{j#tP5IUGzz8 zBPRK{!>{ElYz&dhb*eFs_ryk6I+Ng4dLqHV`QOop7_fbzhbZe}B35+lRvqOv=z$+t zmlFhb9armmZ*zK`4_8A(3%9roiMhGCv&~(1l{+|0x*1+ag~{tj$H&VcYa!@x7h*3_ zhA@PkXqJ4CGq-rTFH#vHah{7kze|D~xH^{IOo~)qKzn4MrhfNq*N_|6M?|`(&WmF~ z3&bz-Xg60n>naoBihV*!9t1z52NeB=!jHsnTX12=YbA5#|B%h(SQtEvuvPf|Z z%fl{Xb#ZYK)7aRUC^e9%vIzNSWJJQ#-F>mC;&`ILoK4c#w;KyJl)e8=O=`p>NFeW3 z)1*5{_vdNvht)!6y)l*q5Tmw~dV?BO35N`u+`}avke&8%@3awHs)VOT;+nycjn#UM zAbJ~|o(X2NXoUt=7rA!@lf;~55$TiMrDp%IdEI5RE+ZNc9&zyE1OXFKv1}&((~Q8| zjFhmjaC{GN|DxJAEA~g6Yk>N1@x2xEHHL%q51(%Ik}kD&0ciNmW}lO0e1NgQ6i&(6 zd!dB-)A4fN-U>WGfWh=zYMI-p_rn_1+q~Ud5-y%wQ!Xrv4>v+5>UB%Z8D! ziLhh-7cR0%tvW{8E?HjFG~Vif>j{l98+hMX#|@5LJ0iLUL~r)S;0M|suRMo#M%=Av zO$TF^C6MOf-|-6pO`A5mwn1aU!UClsx@v@+3kIuW?d{8non!Is&2@zi0@ARIj7%z( zTo!qvq|OK7(sbN^{U>syhA&kAiW8sP!zns4GP3eAgl1d-9XkgE$3Wq&wpwcxS_uR~ zYE*(>Kk`YkCvk+ia(cDDbbQl)0uX)R-4zz@u00ht+h%vf$pgyD?C;*Xdpwwk0+v%C26OIjmzi#?0g*a@fec{^wl~ap6TU6hRIno(0`;Ujilw|78p=&{NcX- z{dnvCctDvlcV@~%7mX<^%dD)dWa%f?#^pH&%>%Olht{htQ?)kjueu2v)gA%Ai2)5K z@wsS})dgSkZOYR0PUW$@$!ok16jyr%vH4%8+ggO{aq&v9|tq1|S-M{Z|FX>qx`>DTySp*xjU?ERGK6s@L z1eQly9^e)X+*)|zY8asPa1+7wo{b21u6KpD|8Qr79H0bOE0LD*|7N7k#$<^Ue#3ejOj&FLW2RPC9+ zhS{V%|5%BZn2(6BHMI?;6@jR#ENR$!{sf>z@&9ny31UpQ=r;g*xC1=u#)8YS6~tyNhgleo81|UvucYWg zvDMhmFg?{G7Pof>t(2`iNPb7y61V{H zIKisH1!SE3rQ-ZC{}p!3zoCoW=g^A)hnto8-3=8&00yzh0+mR>hc|oNbPeblE?%l2 z7Ew-x!v0H~7gjS9k;qeiJDBId6rr;#c0SuKS9)G|ut9W9OWhU?`8M>(^+Y!4R4kDi z&smFK7u4SH;IhP1dnwFd=dH5x0E=!>S4SkFXt%6LtkBV0yL1uHVYamP$R^XpA7E)M zQCMv2&?_i#iKo8_kPOcPwd$vh7d{W|OZj3kz!;D(%qzTsW&UW|#z3z5L5;S9MIM&= zVG`fllQnL!t_2CjZ;Jdi$rgW&}xfzglDbY^c&+iRTTr6LwDUm zWB&T;Cj_-vmWnr~%JkI;3N_eg2JAn*k8Gx7XV{KyP#GK$Unp_$UouolT{L|ubxEG$ zq{|po^KO4l?fh^YH3?aAgc)PyyAH~zPv8&zA>ibS;NajUGr1hL9Xp`~7hIN?mv@0V zBtc^ILqYd5JKQNo#v~(VEka6*h<;&}YYcgO`D!{9$}+^!&jK+6^5l&TFjQ-o>&uIa z6NU&pjL}xfrtSn|?6nz?c&xIc8KgEcI$v)0$?FF&6!)P$=v3-?H9BL_JMn^Q=5IUk z!xlqLxQD9rApej+GL@}c^HWGmUl^C!Zxv~PqIdOqVAUM6FZXvp#L|5~o%xS9JU&}o z-(f1I!Ug&`{D|7#JY6kd9@eOrb$# zRcQh0A1H=*h+a!1jLO1Y@(x$Eeg_8nV)1#|SQaxi9d^|pzpFVm)kq%`hdV&j;0W3y zac}_rNFkz#kF)6PW4W`i-c7?cuCmJ9I#8uj0r2s6el|AaiHV6SD~xx0E_wk#4YLId zrg24FLMhXi=<|3?@3SS>ckk}5%31N7Ed`-iF+e9Pze@w;h(Tj;>~c#^*QSc&y>_X! z>Yc=-1H-jzL_lVdek6~7GY)_S2&r5BNVKHX*+-A>ud{5>>qcUZDq+yQlOWYZTKoMa zL#Eq%ECG64-2u6{N7@0Gk0A*nqCgGLxOdO!`+nN4TQX9ZF1yOWDGs%_c^jcfqKn~A z9GRb-mG4n(FVFDh43CLvI{FZruRa2k0v}#>z=_@bDiQE1|vegL>8&TGmU@mCxvNN=~X;SrTC7EkJz z>5LA3++`+d!~n?EQ63b{?<|#prg}s&UAl%psaQJGDfKx2V-KNxqN|L7Dl6kaMMZ6D zuUc7OUDeiyS<_3BSi-ZG@5`?c$4}F~N~7b=4Lsv1q;E61ujx2RM;!rrClpP%pNYq+ z6yGWw5o(xGbB<;9)p|?nWJRnfN<>DqXd*Z@K(?aDR52#_;=|(Nf3SbZ8-J0RzM>%k z7Qpx0v!(e6zVr7Qo4L&#tP=NHBb-5QrJGS#@L7M^1f@Y`Dt0qbH)bov{HPl(nEaE1 zmc_K^l}a@nyxK|!gC@*Rk{d{QS_BnqfDrj7or(u$3YEf2@~k>E>k4utfFh^U8P1I* z>ATGDOHE;&n6u@@1?Se0$w^a0T0GY1y%aX{Gjm7zM>N_6s)Sa}s<%_eDiZuC$%hT! zZXRHIK`baN1pVp@s$s|^=m==As_nP?5uo&KZ6}^a%6$uj*bq3OgNl3;R@ z@!#-ir>3V#yMe)+_u_1yHUtd4zfsf&CZwhj3i^-f8?UAv^dJCC`Ui`-GHSQTzwUE( zbI+`=X9=!Cai&o93V$K1XpCc{WVXVoxKxJ#7yK=8n>ydo2OcxrN2idb^ulMQJHbi2Z3I-wTH!3qKrrG$A(_K3E7r-xL^Ccm>9k1=3}U zk&;Ygh12E9^#rzxiY;1M_!*+nusw)U#)vy zjCa02pTu8u+)UI74bkx#O}VUL3^_24)OqRcg-WnJ{fwmuRvO8NPN1IXh#xX49WJ?9 z31!c)U^Kj>Dn;KVkx*=X$b!C{Rg!ag8~S)8dLYe1AQBO|p3C6*w?=-)U2(|AU0}ZI z0x0$i0R@;UxPT={K)+^sM|o*Tf7b^~!=%YQb!nSAB)L=&h)=Sutj``f! zLb~8{6z975zj@P{iEk&pYs4TWC8Z}j-tbnsejfXIRILk>0Shr7!10Oc{UVw==|`aFZ~+rKwR%|ln78X%i94e9Gb2omjfHM<7H?%QJ_u}?BN>4&-LnGkHp#IHiocgjVVW#iI z4o9p_2fEqMoIHpZ%8kALD~vYK1&pUXG&D5uLh=ThqfT}Hk(!ng69#tY!D*7O8G;L{ z!=GALv1-IEDwUKZ@~>Vt8XtBKl~@?T&Ta)3H(hvpM~!m~W*Z@S0Xu+`j5i%_4UmF% zdL)vT&NFW4 zPT_l*Q&g+mr2?aemgeS%?sj%|PJpOPs}%o~{a_3X+-y{|c2P%j4GPK3*Eg%x8Ph_V z7ff_nekC|UwZ(yy=OgE`TXFrTxqE(nx?wF>_9ZNj*qV9eli9fc!`N3wRnBm=OF$aw?vie#yHlkk1ZkwZ#y43Q$=Mjv3s!O(B+#40Flc9Ji`Zcr_YDEK@iKjSX_TnX-sX7z{too{BeSf zXJKy#!Z-82#n(@hzjiJ(qEj&*)WgrhLM( zWEG0G`_!sbPiKgSaN5{44m>Jq&3|Gl$m)qZ!AL+;L17}*9{-76xv#kHBPFxK_(Mev z4NEOtA@)^-`>x{nSwH7Xd)Bsc7(P9I+jhfCiuC%9I@FE!FFnv71kq7+h_o0IDwNhNP4eVo7%|Gnev zJ?Dd}EE!c7MEf_+jY0>7g$0wHi;LbS+rufS;r0Xen2`Ec>Q}J`)Za8zO1bNJ&zRa6 z4D#ld!VRMn8BqAc_SsM}35baHeRr}x#RCX~G?MbzFO`TU@DqC4I!Yn|I)ZoE0){t1 zHDRy2UFh^5`OQ1OdGaP$36*a%x|S$Mg(?ocC80+W*=*200dxaUfLM$9F#mjK=->?? zHTT)MxhBVZW2W%@EYqg9^2@1IcH@+C3__gZjVrRz)iALYNiLin@MxxQ@I@{{nWk;4 zJy>C9>6inFn|Z#)ODdhwb%dL4xu0?%#8zO<5?Z1i8EYP#H^6;T*+1+qhaI~N`5pGv z7T*J}c^t+WvK;PB7%(z2vI&GnF1!gN@9e=Mno(?38Mb()|HF(G$BVLZk_FKnHwRNx zGl&U$NQQ7a=avRTTjkriTP^toHd|%qvRDcnZna(u`|_VZf;<8OnL1DJ-{K=X{AqQ& zE>_5JSFRi1G2x~0fJavWnV^G$<#4~tYzjjx}E35UtrdJ#w z(1mfWljR3m!eazgNS{`Y^1atCS?NO1RvAe}D0ca5R!QZ_-}p;ci1OQy z)D@AA>d33VBwP~Nc`6RwjIZUWgHvY9;zd>g?REet&iCV)aN%CYnW@b=#uyrGWKmI5*uP5?=UP`z6YYd!LPtL<(oyG!FM_im-p@nW ziqFNO%)LjnbM#@zkdBHMx{^{?$U+aOlv=F6jvcT6!^=^=EOpoIo#XPQ(v)w7SX$#|Kg~WI))kcJSb^`%zF?YT+$zo93 zw@bHNaCMp59ysBPvfq3k>#t3^5=#>J7V#yy+dZlb+JHLjv)E|n^9&KR!qu8)A2<&} zobta_CHhsxidLkPzNdK^;>~t)F*JnUuZ2L^(md_l-LIC@I4mYR9

QQdsmyCnhKT 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

*FMD?}p0aRSa% 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 z z4#;*bme%B{@S0-Ho)-x+H$S88f%k9iZ+-RS4D3QWn^kE*n?aDuKt5=bVl1%&LwHAdGc*2P4V921L10cm=C>z%hrEa|9QKhq4$a) z`+Y5QVEB!O4}!j!d%PoJxTA3b`nT*IRlDHpTqjwO0NJW#$^-Nt>+l}X#=d%hw>WTR z;H&dh_57Va&cRO5qw=SqGd=JP27dFRUTBE%ZNQt7LaZ0~yA#IV;_vLYs%^-AtpK+; z%})Z|+>;;9^waI2z{Yx1L*Mil%(@tFC$Vqf!v2arQ`O$T%Lnh@0N&5_YZU;N1$jIY za#$+vSkeXrqPQ5iKkPEd;Anf{i9%3L8POun?`HT`&pHY2A?)cv9-R20f%D}g8cK3bX`{un7T5IfPS^QW!BN9>~t0XeYLdsI~!`c~A z!I1)sLSSKdUjH=$Odc9bUK>7;9JL2+TTrG{3X)?N^eza2=ehM#@nG{uiK+LE09R&m zqgAs#zXe5!7LmF@hb*X)62gv;rAJ91vn4>bxiXXY-rWQ!2F?b8;ydWiFCc3baw#Fm zw{dLu+0?p}*_%etnb{^+Zhe@CxB3id{Dw7o1+h!dp^lu7$lUZ0JxvUo6WVs)KQK}A z`_KgB)Ggrj9m*2Wg;$0Q-;V@jB+xnUo|^>>%;XT8erQDT_BK#n0Z!b2PV6Htk=tzq z{}TxEkD=G!K#Uv(rXK-`5$NT6l++I#zJNB92|Cy&AUZwJxjDKRv%t%%VaD<6(9Sn# zav{>EA_0G!fXjASK+RBMHV^#y2^5!r{l|>$;MW(3ax|W$9qS`m6^~B{$|^QwfyU^PtPvvtQljq zinWc8-%q9|$0z7Q^`kQ?K?FtUMw`Ahs;y=r=d4#MSc~p~=i$lbYH6UfQpyAYQUudw sj(#T^_(0o-(`;aoInfbzv;GM%0JUWtO$)$0asU7T07*qoM6N<$f_t?pEdT%j diff --git a/images/private_16x16.png b/images/private_16x16.png deleted file mode 100644 index 8bb34d7d8b6292854f6c2f3bc9a236102f6b2b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 zcmV;Y0$BZtP)D&*8!w;g-=%ge`~mUBK^uh*B0#bPZIiNrYPO0UNgz!)1F9v&Xq-Q8_c zN@IkO6+*}gr8H(3MpKfc5yse9ug8Bbpk>>(olGWgyRM7F!$UNiP56913=9l_F=jKy zT73yP=Nr1NS6$adyWPgY!2t}zfN7dwjA3hQtI9dw=u5ykU(MxmU*LQYyQbLFYWmI$e z5&*zdsKA6kVa=R+4gh|?9{>VVp|t`bxFBzd{NgT?$$SCuvisQScmq5q2yr$52ms8@ z&D{g=Mu@*=?*511_}KfU0FX|nKLdE(ws5ID1ixEn<2a5D0II4!JUKaeadZT9r!PUf z-P;F~D5aR6pZ`QDeaG141fGCvR|)n_aavaAt*WXaLdfEsE89i%(I0QB8km@AMq~g0 N002ovPDHLkV1h-7DEa^Z diff --git a/images/private_16x16_active.png b/images/private_16x16_active.png deleted file mode 100644 index af990d2cb8b599e507be610d248c16ac6b9293da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 648 zcmV;30(bq1P)unKzU7J3sZf?`hMNkJ$gnBu_}+8#Y=MDQfh1P}gENU^EE5Vf%}CFo%- z#KzbpCCw&ge`a@_DP75EwjVrZ=lkA!yqVqQFveijR6qci12~?CePr85(6K(s61*`@ zNNEP(fl>5VBLG_*GGVY~N7vAv-l0D1_WHD%3|J{jKR!?OmU2>!hEV4%4PS4dXmGN-|ALr|ha_n! z8UgRB-_ct2=gR3wYW|6||LA~7IrSPQ!EX(AZ{E`0mMwnB2p$kgOSERcDvPU!ngk!^ z*c+%=Ry9Qt`zH??2tlcohpJozj|;&jHwI1970RjCut(70-Q3&gf=R?`xeP10EaaCY zkP8_wkP34jlM9q%n}A&6^vtt}uduwV_8dOm<@PkUH6btPfC{l#{98Ji3UM4v+a{nM zh6%S5?_UM(-x{55ZfOO<>4L`(9?pJAqyltCIU5p8hYHIf9P< zpM~!QUyxpp^4{MXxw i@D4F}4L0>hfB^t!Y5vIA@MvfN0000 Date: Fri, 13 Apr 2018 13:21:58 +0100 Subject: [PATCH 046/141] load user css at last, after plugin css to enable changing plugin styles --- tpl/default/includes.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tpl/default/includes.html b/tpl/default/includes.html index 2c56d3c..34e0ff0 100644 --- a/tpl/default/includes.html +++ b/tpl/default/includes.html @@ -7,10 +7,10 @@ -{if="is_file('data/user.css')"} - -{/if} {loop="$plugins_includes.css_files"} {/loop} +{if="is_file('data/user.css')"} + +{/if} From 66d37a4fb49cc25142c768ed63351ea0f8881183 Mon Sep 17 00:00:00 2001 From: Mark Schmitz Date: Fri, 13 Apr 2018 14:06:27 +0100 Subject: [PATCH 047/141] add loading user css at last to vintage tpl --- tpl/vintage/includes.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl/vintage/includes.html b/tpl/vintage/includes.html index 4ddfc84..410b466 100644 --- a/tpl/vintage/includes.html +++ b/tpl/vintage/includes.html @@ -7,8 +7,8 @@ -{if="is_file('data/user.css')"}{/if} {loop="$plugins_includes.css_files"} {/loop} +{if="is_file('data/user.css')"}{/if} From 80786e150d03409435bcd63601c4d95e27cac225 Mon Sep 17 00:00:00 2001 From: nodiscc Date: Wed, 7 Feb 2018 20:10:05 +0100 Subject: [PATCH 048/141] doc: merge all sharing methods under a single "Sharing content" page * formatting, wording, reordering, general improvements * move blog/pastebin/notepad item from index.md to this page * add TODOs * add the new page to mkdocs TOC Part of https://github.com/shaarli/Shaarli/issues/598 --- doc/md/Bookmarklet.md | 29 ------------- doc/md/Firefox-share.md | 20 --------- doc/md/Sharing-content.md | 88 +++++++++++++++++++++++++++++++++++++++ doc/md/index.md | 7 ---- mkdocs.yml | 3 +- 5 files changed, 89 insertions(+), 58 deletions(-) delete mode 100644 doc/md/Bookmarklet.md delete mode 100644 doc/md/Firefox-share.md create mode 100644 doc/md/Sharing-content.md diff --git a/doc/md/Bookmarklet.md b/doc/md/Bookmarklet.md deleted file mode 100644 index 6c7f1c6..0000000 --- a/doc/md/Bookmarklet.md +++ /dev/null @@ -1,29 +0,0 @@ -## Add the sharing button (_bookmarklet_) to your browser - -- Open your Shaarli and `Login` -- Click the `Tools` button in the top bar -- Drag the **`✚Shaare link` button**, and drop it to your browser's bookmarks bar. - -_This bookmarklet button is compatible with Firefox, Opera, Chrome and Safari. Under Opera, you can't drag'n drop the button: You have to right-click on it and add a bookmark to your personal toolbar._ - -![](images/bookmarklet.png) - -## Share links using the _bookmarklet_ - -- When you are visiting a webpage you would like to share with Shaarli, click the _bookmarklet_ you just added. -- A window opens. - - You can freely edit title, description, tags... to find it later using the text search or tag filtering. - - You will be able to edit this link later using the ![](images/edit_icon.png) edit button. - - You can also check the “Private” box so that the link is saved but only visible to you. -- Click `Save`.**Voilà! Your link is now shared.** - -## Troubleshooting: The bookmarklet doesn't work with a few websites (e.g. Github.com) - -Websites which enforce Content Security Policy (CSP), such as github.com, disallow usage of bookmarklets. Unfortunatly, there is nothing Shaarli can do about it. - -See [#196](https://github.com/shaarli/Shaarli/issues/196). - -There is an open bug for both Firefox and Chromium: - -- https://bugzilla.mozilla.org/show_bug.cgi?id=866522 -- https://code.google.com/p/chromium/issues/detail?id=233903 diff --git a/doc/md/Firefox-share.md b/doc/md/Firefox-share.md deleted file mode 100644 index 9a46b18..0000000 --- a/doc/md/Firefox-share.md +++ /dev/null @@ -1,20 +0,0 @@ -| Note | Firefox Share is no longer available for Firefox 57 and later versions. | -|---------|---------| - -### Add Shaarli as a sharing service to Firefox - -- Open your Shaarli and `Login` -- Click the `Tools` button in the top bar -- Click the `✚Add to Firefox social` button and accept the activation. - - -### Sharing links using Firefox share - -- Add the sharing service as described above -- When you are visiting a webpage you would like to share with Shaarli, - click the Firefox _Share_ button [images/firefoxshare.png](images/firefoxshare.png) -- You can edit your link before and after saving, just like the bookmarklet above. - -_Your Shaarli instance must be hosted on an HTTPS (SSL/TLS secure connection) -enabled server for Firefox Share to work. Firefox Share will not work over -plain HTTP connections._ diff --git a/doc/md/Sharing-content.md b/doc/md/Sharing-content.md new file mode 100644 index 0000000..8d8c15a --- /dev/null +++ b/doc/md/Sharing-content.md @@ -0,0 +1,88 @@ +Content posted to Shaarli is separated in items called _Shaares_. For each Shaare, +you can customize the following aspects: + + * URL to link to + * Title + * Free-text description + * Tags + * Public/private status + +-------------------------------------------------------------------------------- + +## Adding new Shaares + +While logged in to your Shaarli, you can add new Shaares in several ways: + + * [+Shaare button] + * [Bookmarklet] + * [Firefox Share](#firefox-share) + * Third-party [apps and browser addons](Community-\&-Related-software.md#mobile-apps) + + +### +Shaare button + + * While logged in to your Shaarli, click the **`+Shaare`** button located in the toolbar. + * Enter the URL of a link you want to share. + * Click `Add link` + * The `New Shaare` dialog appears, allowing you to fill in the details of your Shaare. + * The Description, Title, and Tags will help you find your Shaare later using tags or full-text search. + * You can also check the “Private” box so that the link is saved but only visible to you (the logged-in user). + * Click `Save`. + + + +### Bookmarklet + +The _Bookmarklet_ \[[1](https://en.wikipedia.org/wiki/Bookmarklet)\] is a special +browser bookmark you can use to add new content to your Shaarli. This bookmarklet is +compatible with Firefox, Opera, Chrome and Safari. To set it up: + + * Access the `Tools` page from the button in the toolbar. + * Drag the **`✚Shaare link` button** to your browser's bookmarks bar. + +Once this is done, you can shaare any URL you are visiting simply by clicking the +bookmarklet in your browser! The same `New Shaare` dialog as above is displayed. + +| Note | Websites which enforce Content Security Policy (CSP), such as github.com, disallow usage of bookmarklets. Unfortunately, there is nothing Shaarli can do about it. \[[1](https://github.com/shaarli/Shaarli/issues/196)]\ \[[2](https://bugzilla.mozilla.org/show_bug.cgi?id=866522)]\ \[[3](https://code.google.com/p/chromium/issues/detail?id=233903)]\ | +|---------|---------| + +| Note | Under Opera, you can't drag'n drop the button: You have to right-click on it and add a bookmark to your personal toolbar. | +|---------|---------| + +![](images/bookmarklet.png) + + +### Firefox Share + +Before using Firefox Share, you must first add Shaarli as a sharing provider: + +- Click the `Tools` button in the top bar +- Click the `✚Add to Firefox social` button and accept the activation. + +Once this is done, you can share any URL you are visiting by clicking the Firefox +_Share_ button [images/firefoxshare.png](images/firefoxshare.png) + +| Note | Firefox Share is no longer available for Firefox 57 and later versions. | +|---------|---------| + +| Note | Your Shaarli instance must be hosted on an HTTPS (SSL/TLS secure connection) enabled server for Firefox Share to work. Firefox Share will not work over plaintext HTTP connections. | +|---------|---------| + +-------------------------------------------------------------------------------- + +## Editing Shaares + +Any Shaare can edited by clicking its ![](https://raw.githubusercontent.com/shaarli/Shaarli/master/images/edit_icon.png) `Edit` button. + +Editing a Shaare will not change it's permalink, each permalink always points to the +latest revision of a Shaare. + +-------------------------------------------------------------------------------- + +## Using shaarli as a blog, notepad, pastebin... + +While adding or editing a link, leave the URL field blank to create a text-only +("note") post. This allows you to post any kind of text content, such as blog +articles, private or public notes, snippets... There is no character limit! You can +access your Shaare from its permalink. + diff --git a/doc/md/index.md b/doc/md/index.md index e77b4d3..224070c 100644 --- a/doc/md/index.md +++ b/doc/md/index.md @@ -94,13 +94,6 @@ Easily extensible by any client using the REST API exposed by Shaarli. See the [API documentation](http://shaarli.github.io/api-documentation/). -### Using Shaarli as a blog, notepad, pastebin... -- Go to your Shaarli setup and log in -- Click the `Add Link` button -- To share text only, do not enter any URL in the corresponding input field and click `Add Link` -- Pick a title and enter your article, or note, in the description field; add a few tags; optionally check `Private` then click `Save` -- Voilà! Your article is now published (privately if you selected that option) and accessible using its permalink. - ## About ### Shaarli community fork This friendly fork is maintained by the Shaarli community at https://github.com/shaarli/Shaarli diff --git a/mkdocs.yml b/mkdocs.yml index 443c3a0..8ba2554 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,9 +22,8 @@ pages: - Reverse proxy configuration: docker/reverse-proxy-configuration.md - Docker resources: docker/resources.md - Usage: - - Bookmarklet: Bookmarklet.md - Browsing and searching: Browsing-and-searching.md - - Firefox share: Firefox-share.md + - Sharing content: Sharing-content.md - RSS feeds: RSS-feeds.md - REST API: REST-API.md - Community & Related software: Community-&-Related-software.md From 5991f7a993c122f6145b93680812065ed07d827a Mon Sep 17 00:00:00 2001 From: nodiscc Date: Fri, 9 Feb 2018 18:21:53 +0100 Subject: [PATCH 049/141] default/editlink.tpl: title: Shaare -> New Shaare --- tpl/default/editlink.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tpl/default/editlink.html b/tpl/default/editlink.html index d03fd72..f8e968f 100644 --- a/tpl/default/editlink.html +++ b/tpl/default/editlink.html @@ -9,8 +9,7 @@

- {if="!$link_is_new"}{'Edit'|t}{/if} - {'Shaare'|t} + {if="!$link_is_new"}{'Edit Shaare'|t}{else}{'New Shaare'|t}{/if}

{if="isset($link.id)"} From 6af9363aa575901cf77db53679c96ea068e1eee6 Mon Sep 17 00:00:00 2001 From: nodiscc Date: Fri, 9 Feb 2018 18:39:39 +0100 Subject: [PATCH 050/141] update PO strings for Edit/New Shaare update french translation --- inc/languages/fr/LC_MESSAGES/shaarli.po | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/inc/languages/fr/LC_MESSAGES/shaarli.po b/inc/languages/fr/LC_MESSAGES/shaarli.po index fd47217..35e6001 100644 --- a/inc/languages/fr/LC_MESSAGES/shaarli.po +++ b/inc/languages/fr/LC_MESSAGES/shaarli.po @@ -1,9 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: Shaarli\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-02-24 12:39+0100\n" -"PO-Revision-Date: 2018-02-24 12:43+0100\n" +"POT-Creation-Date: 2018-01-24 18:43+0100\n" +"PO-Revision-Date: 2018-03-06 18:44+0100\n" "Last-Translator: \n" "Language-Team: Shaarli\n" "Language: fr_FR\n" @@ -764,6 +763,18 @@ msgstr "Tous les liens d'un jour sur une page." msgid "Next day" msgstr "Jour suivant" +#: tpl/editlink.html +msgid "Edit Shaare" +msgstr "Modifier le Shaare" +msgid "New Shaare" +msgstr "Nouveau Shaare" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:26 +msgid "Shaare" +msgstr "Shaare" + #: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25 msgid "Created:" msgstr "Création :" From bf7993dcebe1518f8c4759f397309937ebc4de71 Mon Sep 17 00:00:00 2001 From: nodiscc Date: Fri, 9 Feb 2018 18:44:06 +0100 Subject: [PATCH 051/141] doc: add edit_icon.png to git repository optimize icon with optipng/pngcrush (3.30%) --- doc/md/Sharing-content.md | 2 +- doc/md/images/edit_icon.png | Bin 1548 -> 2040 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/Sharing-content.md b/doc/md/Sharing-content.md index 8d8c15a..b185164 100644 --- a/doc/md/Sharing-content.md +++ b/doc/md/Sharing-content.md @@ -72,7 +72,7 @@ _Share_ button [images/firefoxshare.png](images/firefoxshare.png) ## Editing Shaares -Any Shaare can edited by clicking its ![](https://raw.githubusercontent.com/shaarli/Shaarli/master/images/edit_icon.png) `Edit` button. +Any Shaare can edited by clicking its ![](images/edit_icon.png) `Edit` button. Editing a Shaare will not change it's permalink, each permalink always points to the latest revision of a Shaare. diff --git a/doc/md/images/edit_icon.png b/doc/md/images/edit_icon.png index 16c440c86787658b3df8c005b0d27df9c8a6a6fe..777f3253094eb7f43e4a9ada799248c3f19a123d 100644 GIT binary patch delta 1208 zcmYLJ%}yIv7!`360z|db7`LG`5EVs~CNSgi*!M;ddjBSIDLCOrvB*gpJ2sJ92!DnG z5*>BXUHcAIc3t)fDs`0?$gWbieS|K1u8F8L){O7m`c80(LOxo0FgP-Z zAUL}Qs}Jq+`M=!%PggFVKaU}akR*-sg&SR0@2+fbbiZ%xwYjQV+s*cPb*u5Jz1(iJ zj(1^Xd-iO5rqfxick7E^-+Q?|vNhfCTc?kWSh^gI>=%jviw!WA26o-&riQj#Ly=9oI=2n zK?yD(tbZ_W2!^Y%*9qFr?}*VC(DAxrnTedcc2P~T&c1KY<7)v?yhGTjV;CM+q{Um9 zl2$3ReXWm6mmpLVGK5Ybc*cHKhSlQ^Dk`xjBm#+xn@HmMK0-o?fz5qr4Qm%6V(kyv zG7|g4IstoEl!plx#C~h&2p`&+0d_LHcA0`t6`;#=t4LjGv%CN;L4-fw5aTv$2mS2g z7DNCQ9tMyl$ONWB@joRk`#CXMP{|bO!O=N_2Cpe?#~bySy_EaBqng%+qfl%^)+kOF zPE+&JCYS4nkklZx8;>T(U;`Mzw+l}?aO^ayo)oSZVWNyacs%Xjzx|`I-f2KnUw88W zI)bH3l~X7KSB8mC328DT#|NY{OJiOUJ`a)jbm_3aLO7m@X#ph>P;4uNOe<77hLU^V zK+q%WbLR958f-txz(o`xVE|~l>QRiDECyhhwq>Ci3d$d_KL(k5!-f}4M|1CfF?4fw zeyujogdH)PC(%-u+}V?vqlj0Ks4s_8=1*}N(t9)gaK*dhBu^r~#Jo=yC9*N)QV?a< zsojJkVGe*NM8VvHClfuJf-JkgcnOk=l}~y%CP+LbFcVfjg_A9_v9(Jt_h=Ny;_n}? zi$kO~9D-u@gRB~Z7KOil^O04uv_lQ^NuC7c7d0f(C(sq2Q5dGMFhkV)9Ea~j9WQBn zzz>G>bK*s;$lD(fI8%e;P%|LXEL?!ps`zx-GpAoxH+vs}{QIG=x+MnM3onX;{{dRO BQLz93 delta 711 zcmV;&0yzEn4~z_CiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVE_OC8FWQh zbW?9;ba!ELWdK2BZ(?O2No`?gWm08fWO;GPWjp`?18HegSaeuTOgdw4Z7yMCZ(?OG zcx`Y100000v6)i?e~hq=@Bjb;IY~r8RCwBqlTBz7Q4q)fyLpKh6+`zV@dFdkwiF8i zg@8oygH&>oVwCn^qIgj7&>W;fQMA&7ph6B7M3hK_)mV{;Xq&3lSSwONv58R+jZxY{ z+r%Wh&1Sp1z7`7Ux~mQh%)B?hdBeOJ#%8mjR4SodE<;fif5@_oYB}Up;iG!Hzj@KW z5{=f+18oH$`~w&wFpwosBO5+*T-)woFfiQSZc_ll>VXfs6+PG?Nz#5-CKC|H$I;Nz zvah77rx?F?H7ZgC4UH1&9EyH9Dt2b4xTF4HrZt&N!fLf5Qd|3YU8T}N_B0m2Fu=<7 zj3F#ZIDO(|f6xkSWEEI6+ce+=jqOZ4E0iLZ1j=h1U3JVN1f zs>%!)wQ4bes$#QH#Bra$%ahHHQD4E$>yfv#?6dUl4|p3L`K?rcQJWP+SPBC6Hu;`6 zjgH2#@Lk=Z$UC|c3vj;{UiF18fhgh_E%zW*wkR-8hcnR3uUTUj#^{O6I=|dXJ+#5 tYjkyD)PF&BP78B2!0abZw~4<67yu~X4`XbiCOrTE002ovPDHLkV1kziJlX&N From 630790a1aa78d4b7e7fec0a84c23571f6dfd9df2 Mon Sep 17 00:00:00 2001 From: nodiscc Date: Fri, 9 Feb 2018 18:46:28 +0100 Subject: [PATCH 052/141] doc: optimize PNGs with pngcrush 164k -> 156k --- doc/md/images/doc-logo.png | Bin 19543 -> 19520 bytes doc/md/images/edit_icon.png | Bin 2040 -> 1548 bytes doc/md/images/firefoxshare.png | Bin 757 -> 715 bytes doc/md/images/install-shaarli.png | Bin 44376 -> 33827 bytes doc/md/images/rss-filter-1.png | Bin 18682 -> 18534 bytes doc/md/images/rss-filter-2.png | Bin 15604 -> 15440 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/md/images/doc-logo.png b/doc/md/images/doc-logo.png index 3d8d1787a7326816d5ff6d8cb5921088e4c3bbe7..3da7ba57833fb894dfc89bf702c9e9616ce61810 100644 GIT binary patch delta 12578 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 delta 1208 zcmYLJ%}yIv7!`360z|db7`LG`5EVs~CNSgi*!M;ddjBSIDLCOrvB*gpJ2sJ92!DnG z5*>BXUHcAIc3t)fDs`0?$gWbieS|K1u8F8L){O7m`c80(LOxo0FgP-Z zAUL}Qs}Jq+`M=!%PggFVKaU}akR*-sg&SR0@2+fbbiZ%xwYjQV+s*cPb*u5Jz1(iJ zj(1^Xd-iO5rqfxick7E^-+Q?|vNhfCTc?kWSh^gI>=%jviw!WA26o-&riQj#Ly=9oI=2n zK?yD(tbZ_W2!^Y%*9qFr?}*VC(DAxrnTedcc2P~T&c1KY<7)v?yhGTjV;CM+q{Um9 zl2$3ReXWm6mmpLVGK5Ybc*cHKhSlQ^Dk`xjBm#+xn@HmMK0-o?fz5qr4Qm%6V(kyv zG7|g4IstoEl!plx#C~h&2p`&+0d_LHcA0`t6`;#=t4LjGv%CN;L4-fw5aTv$2mS2g z7DNCQ9tMyl$ONWB@joRk`#CXMP{|bO!O=N_2Cpe?#~bySy_EaBqng%+qfl%^)+kOF zPE+&JCYS4nkklZx8;>T(U;`Mzw+l}?aO^ayo)oSZVWNyacs%Xjzx|`I-f2KnUw88W zI)bH3l~X7KSB8mC328DT#|NY{OJiOUJ`a)jbm_3aLO7m@X#ph>P;4uNOe<77hLU^V zK+q%WbLR958f-txz(o`xVE|~l>QRiDECyhhwq>Ci3d$d_KL(k5!-f}4M|1CfF?4fw zeyujogdH)PC(%-u+}V?vqlj0Ks4s_8=1*}N(t9)gaK*dhBu^r~#Jo=yC9*N)QV?a< zsojJkVGe*NM8VvHClfuJf-JkgcnOk=l}~y%CP+LbFcVfjg_A9_v9(Jt_h=Ny;_n}? zi$kO~9D-u@gRB~Z7KOil^O04uv_lQ^NuC7c7d0f(C(sq2Q5dGMFhkV)9Ea~j9WQBn zzz>G>bK*s;$lD(fI8%e;P%|LXEL?!ps`zx-GpAoxH+vs}{QIG=x+MnM3onX;{{dRO BQLz93 diff --git a/doc/md/images/firefoxshare.png b/doc/md/images/firefoxshare.png index 98c2fdd3b6072be14049bb0f075976dd80bb0e58..8f8fdba422c491bac285e3a100c416f7d66d6c13 100644 GIT binary patch delta 675 zcmV;U0$ly|1By`6QL`qGyf-qfX=D&oJt>sFO?4XSYErIa3ZSj7mfu zE_mF;c`YR3THGJK1Cvn)nN++FJN#_fu-tATqOm9UAP}5l&L>~KKwGN;9qlI6*U63t zM(dN_48k$c2Y;bZ07XL`#-2Wc%Q*$-iAF^|T1gYosKOyXq9GrFm~mdKMyI8Nf$Y8A%#L132l@N0e_*tb@8>4q zo_mcI{}R$WNyH)nHczwD=!-Bo>+VmloS8}002ov JPDHLkV1oAJKj8oX delta 717 zcmV;;0y6!}1@#4xG=Ho~L_t(YiPe@*NK{c2#(($Shxq0>HlvP-&?X6?W*h1z+C`=P zk5(=;A}eszh&B;KM2r5AM71iCpn@RG7K$4!qKF|fG@Yr;S_CO-gO-zT=Dph@5ks9f zlQGZ-cXiJ>-~GOO@8O84i4jGXpk<2)K!>ae`-jSea3@pz)_=B=g(ms*`3q<=Wt_G` z8ic0N)BBA2LyfNS`rlre5E_o7xPId%Jx`uvn&!eYED8Ouh&0LMWQ;RsFEB9~BN*I3 zH2TgpFJl{pCK()za;)(rqhsT2+q#8VEQXkWAgOFjSB(%LB#$~exz%O!S4(GC zH@dDPrF5;47Jr!#63eo<+s_F1dAQmrG|AV|Q5suL z(LWHOsIY*lstN)DAANoOcsw4YlyhXMYiUZsa!UxEaQHQ$uem=Usz?>Adlv>6{Av8d6=k5a@ws%spx|rNt1AmXlpgDAmOP5;_0?av8>0-&= zI1`U^?)(+r^bZjzDk9e~NLUu3#ulchCipQEM@orp+w&IwY2&hFi&gaxM5w8$rlFyM zl9FPkr@s?wIzeRUEnaUP<>l+Btf-)?tDE7EBN&E(QtsVh5t&jBRh1h7fl@Zgu_*L= z*io~M-hZbr*t>f>9gjN+hhNbYI!aECL3?`#?>`K?l4(obq@DPQorvQkEtF&9BrW#s zsb*|!94RGvrpe4qocuh4HKheKHy!0_>&4WsL#6$x6@mmu4j&{EiDKI}^>wubiVARS z3oC9>TAYvLBwduH3FX)X*O%e*`3VNsvw2emjz(?G@4FEJh;L)jjQYOqNM zMLiby8}R63!&JJFeEp6C6Q_xk?%ytsx*xO1O#pR)H_Yp;_BmoA>?<=Mxx zYSk*<3x8@FtXj1ey=v8(;En6y9fQZ$sqpJJk24pHHp0JvjaTolT6KqhLG!ec51rLD z6lc^{J;sIPY8KtnAw2%;R`IZ2$2MeEVhC zGc4Ja1zH8?Z>yxuG))biVsF#2i?vwpJ65lBP`aYd`}c5OeK?EKMT#J&pRVOLQFMfe z-xfD|&ixAKk2gu25m_bjvo9!K&Wm4tsoKYR@#})S2+oUD|MLakiUo_<3X?sl0X7jy z>VNcpi~sC1;)tjuGV=atgf(w-=*Jg?M5``zV4qIwZ+Op+&jE` zrK`-}R;PwHOlep<_xj72Es=X@?FW`$BKD;p36!_xV+*P`jZu`tvTfPij_}pJHeSiJ_g7*42{I z`)m9+iV(NKIuIe2Et0$^djk#oYgcb$%win^>@~D*#Vj4Xw>tsx_Hrp!xhI4y)|3=; zw)RHMceX-wozo2;{?&I8oB_H^juNJ}9QfC*isj~>LAR(t+D`YXs31Jmq zmzr@4htXp~cG}6UHQM}(!kAdha_RNvxQo>`NU2488V{y;NZP7>I?o)@k-w8|O<9P3 zws!?>;eA=b*VhW2FXV$-_PrN33ly`3|iqPCgwMeOs2zux+{8u_yO? zXR}V7wzsumOzP68Q+Iw~2|C5hCm;%6{7sOt-qpRvxAB2Dmb*qpLaNLsA6M)wPF^R8 zb!wjunbnz2x>vgewc_C{JXu$f%D;muuxOqcy{Dj|z4cC<#~;M`)Tq}A(sr@ukit7p z4P;rEB;O;OtA~?%<>~pDlWYgg54xPDYlW$w8Xl=^pzyi=PF&4dicg}dVmF&lM+HQQ zUv2xa(ZMZIPhR@IV=W?pro|}7+n>AgogS#WQh&K_qZiNm%2Ta&ES<@v3aSs|_*nSP zZDsu4*6MXz<^zlH#lvy;Sqtp(P#1o*!}#TbI`7FeBbRsM$U!2;GJCE%_Q>#Pdql!4 z^4&LusDO!v=by@PC&JZ<>l#j$Mv&HXR{tq09`tCARqy*yL-x^?fC6DvQgu%>J4L~z zySb-qBulMO@OYV|rFN@*hSj;Z^DFjKx$9YT?*)UDmu_WT+;eo>r}3AsMuS(HTDxP; z=-#mol6lVWa-yJxvi%<|B8g0v0t7Ks_>MsDK{+0qW3zp`|sf!UZ~f11}=W?^qu0T>7O@N+Jo;+cT=1S zw}vTrK##+Rn&mw^60x1|$G4Hmq2tx&q&wTlhbE<~g>OIaq8SZ-4}L)I{tjgK;-P^ zdpPME$LhYn%wC}@TKFN|XLiR>vl=y8GXkSYyO`}MIa&DnK7Mq^<&Q7u>gv@#Hy5Hz8<_b|5{$bcif_sJK!O!M&4^FvJ5+NXRlX zW!#u{(Ny@6xk1y!>yoNg@poB%Om1~jnUB!6uSO3C1{H&t?(dW$6Wf`gh8LnL2zD2Z z?gTJt-@B(467nKa`8D&3*nKVHhF1o$u6J<%MFWN+lTm}i3h$?`WgQ#uu|O!=lP_SA zXM#)V>fw1^AJc39M8-_bmZtS=L(ei=b<{sE&Ck5=5Rx-en!~P9x3`?DZDOgd$4X0? zN<_PuYTH>Gs;WUK=0szwYI*c%RnLkAx>@JbM$EFEu4!FSz`gQgK_g!%fTh@7{Llv+qiB^#gE2{t#b=|>y}35+)DUX!oAb4N{ijD zxg!?d5U+kCnwpMlU%G^k2)bs@U??2Ak3V1YMFsEOl{5z1h5zTmf)w>LpK@nn6)cvY zFMp*p&f57qrTy1AZv!_U{>M!?pW+VA-Xp z8&2-xMnJ*EW%dLvXlVg=>ed>Z=7a6_Z*Q*NzxyV8RqZ;MCZCRbyn^m8$iX=@B@WJg z?^6s)up45Z+}4o(ws%<7w7|_$Hel|W$I9~3{)()Dvqdbmw}H1IX5J-ZE0*Vnl2~gS zx=LI$jUUvvG%g zbe;y{^pf1dXJ4Ma%zxgM%b_Ot(r&;`wl);8-hHv#LCY z3kYIaW0erY2$^>2cM4mB^<2PZvDzAG>cLKGV}}m9wv$k}UO{;m5-slbCX^I<_Ex8N zgNHPvsZ-@!&;xZ*;c3UFMpBdR@tu}5$&?EfRFFUWXcvNvrsel|u2=Wmp}S*?-oi}D zrB`R{CkGp5$b_ST^8-;hgA}b9i|;cmM%a@@O`@*qpcqwnvfAbF4afRPloQ5 zJ={zFlG>N*bh{c^g$w*Ht=#Mt85wC`Yl1g;FCb}LFBIj)q@F#hP%qa!qu$Iu*+#;# zniUgNeBJ8@YD(;@#`L0ReNW8piBZRv<4v*>#jQ#U6Rc8_KXy9ou#`kitZhnE&7C;g zV4ZXI!sJJ>r1sgDE1U5on%lQ{huN~ICO?R^{f|iAqpjkCrcA`KtcQzT)&DlEk);3bw{EB{0nsWpWp9|aX zlxjx0a$1Z1QbJEjI@T)bc_xoh9%(QVzk#59WBgrLk_-(=bV?3JxK;@9OkW`~FH8>i zlC`6b%~T@!Q~jPCQ1Q8@RePF|CE%Aa-q^bSHol`(W1Z&XHIsWS)8Dg>)a|GV3&HTJ7wcXEJenPh7ok8MdaZd`wG}xUR|fVz>Wk z)3rBggne&>eoUd#`GZ#E7D%+U-3@UH8oGV_ddl8oBz{#t5&p>X;mWGA@__jq*Hsla zCc2LXlO359h30)L-)n{as}t3+ZW_0QI;)A&-PtvKT{{SM9r*mL-u+MX1ae8TO8ez^7wg_-E2m)qxI9$x{Xpx8ES*$b|F{+Bi#(6AsZ-#YOYK+qD@pN9$jgz;N5O2PQ80MD^ z-K^&~e97x~Rn7J3`p)rc?QMx)zrKHTp}_3XE~-t&ME}R<-VCFZKlzV_3GFgMh^6yy z`8clKE{|TwuYd^>pU`NBXTu~feQYG*2qu*w>Z$`;E+BN?cuFf2q9V z9i*y$w`?$XJN0(0{McGdDf;(BjS#*LiR(Nr^dO|eWYUUE9krTGG|L^EZ<(UoOVwdB zt8{j_TEa*ywtd~7z*hC2(X@1nMjx(Ue&=ufhrgx7pJ>0pqJH7bt+`dD{hf;(PNX0^+Ry+Z|;6kE3ffa@fywObr>~Mzg=Sks=+jR%cB;XkHSv zr$wdrWo@`Zp7?I^db7Xk&^^*%X0VLWiPs)42`qhH-}ZOp%^Ixuugiar$l%XYH5Hp3R}9l#JUT*KP5)yr-D-V0`WPQg4<-yd_F1 zb)pOs>|69sYM79!bE*mZfn(1gp_VK|Dg5>(WN+8&w)cUghoMOX;gQPIlMX5St`esY zs0Fm6YhP{Hp{|>hz`q4GBN{=9{G|3~A9XvcDSZnXzkh?iAVTUq^4($G*nVDqf7SG> zddSZ?`>0h%#X3m14MAnIugOCr&96f;%=dYB5P}HODvK=DJ3|una*BJY$z-!fv&*`k z4R^bed?p@U&C-sz>FkHBc$~ioli__A5wZQ8V;6fHR=)LWD2ECi z&7oKRc`eXy59RvzD49YGe#!Oq*9>WDwvL^3vXo@KhG!1@iI(Z+Ty<1tx+CT4c~k9y zlONi%ZCy8Pr{i)Rn$8&wZT3)={1!0N;joP|e533cFB%p3+{M%*0X^p*=-ImIT&{h? z8EFf);8^_mT5Z;w&LSRJT{j-|1I~tfKFr;4vu_A4%-YhW>bB>v^OeWEVh*4h$l;Sc zyER$$izulGw1OCSu1+QLqcbHM-aXjCQiwsR?b&_ovg1&*#@#^^@w-BNi*44hxW}}t zyRxFBEU1^u{MzJYXd$Iq%B_*Tvpv`X*FCq(vQqX@Z!;;(j$8+Z1S5h?|IlPmN_{7F`l>EBId8yOi4WDs z*!ttgI&xDJU~YHWE8>mr7$MZANvR=$ffrucCePlC%n0ea8o5NZz;wuCc%+r6gv>!d z9v%Bw2qFahdf~BLSQ(dPAIyl=vk!JKTPz*=YQqaC=$xYTgO8-kH%?a$YvHD(2<2wf5Q3V^ok`Ky z!+R2^GSaly;JFV|PfUqofMeW_dIGo>4S1a34}TofAhe0>;DQGjiJjDEs(fKWHK}?@LSB~v6wsc}oM*g}UY)0BS>mm$ zL<}~&D1p+Y6^4COo+z~qFKV=8QZpKALIroY8D8rc{gUi4)R=$cEV;?R@v}VJe`2$& zE?mFb@PO~t8>ZT@?mLoXCMK_D)xk1t_73U`!q&H~-{@~?Z(>SeBa!>tB;U;F4xKJj zDh~6_ac2#_D^qCpTEk&mA2eEhZwr~Wbt%=Zy*~xvQAfQvla%$P_WNqsC9C>3dKJHF z*|c=g;)Lt#o3sZ(zp*($Nz{L|RkO``df*xcFd~Ou`xk; z1GI1yqSOat9%m;fr@`je=b?cQ@W3}+QZTm)i$E0oMTI$hhubx{oI@ObQXXzo&^vAi z|8XVv{eN9~Q>Axdn#o}pRLF-1YrFvD@lDXOglivibV0c9PlXO{ddk#)0L6m+^Xry3 ziFe79Lrrm3WqvU{J0+q|*nNry&>EMZeB)fb0(LoI64H5W^4UkRKqO*6J{OA{YD!{U zhrRoas(_{*HO#!MNa296@)pv;vk#*IWW=rK-4_iBB`#9RBGxeVqHkTf$50ptrr<9Z z<%sJi-*uuAW6TQN5)`^C79sb>00*M89J@=4EE_pnbb7Q+ccdjn7k~k4Ii$;*J69;) z4-qIR`GKIJ4>vN$xk9J9w-t_wR<+O4G1hujO@vTJ_JN<5>K8-L6vUXG7T%tqyORoxEiIdlT>EhGtF1MUHq2qgr%= zI1)=kN2C=I9`Tq@GieI4_VqFfnC`sO+7zO7MR!lx+XW{i3FS2vn7*pn-9T6A7`@Ot3J>JD2T9wh^qUt!SEW}01mOV0W`yy8$ zFrL3FzQh`w4j}`i>_EkK^Oksy7~s6!cuenX;Lq;^2pca>EE-5}ZQ|9|)_%0nMq=ld z5*By*tM)xfuQCVLSB7#H9whA0s=U3PG-EpGl z;iXWM(iV(;l0?X*Ck;&*`L1y$NQ10u7iG@wf!$ClH!?C}C1O_OZuhPbA_t?lCtyWY?4yCQB<`Co@N+Wa4{d?8=duZn%1`*UGpq=}Y#I3$&4d;FT7H^W z+3k3ysD5Q85N)fs9p!-~3HGgN`rV}xDej_}(IWkXz^kIfc}5~$0_S(vGmA3-DUdxF zn>hOaUBs6Z!>yy#j5sMp!)xh=sbPC%?H`xTEm80iHc`hcT^x6KrA+wgdA4qTO}IqJ zNld2_)#AVLC}v!A-%^{=7*g7}XJ@l(}@H-Ehk zIyhGvf$;Dj5dz--@1o6zN5I)JEiEmDl|RE#|6!QHK@K{*%L$11L)@amsbiWyYa9Q4 zi@H3^E3SZ$4#IE|BYnxvs?cev~SW({rrlHe7+|u-WcBxpUr_aDPkd>mXeYZ z1CjwmR*}unMovWey03#!So+uKt>)efF6YMdQ>M_suSooJRR3`$_x*oex%LO~OfXN( znsq!rJiCv%IJXh(&OP3Pf-$v<>w_q?ZemZos(<9K73Y55RMM36a>-()RP0l$RY?Zay#EK?AaM zT;txB;}Mc3@}gQVWI*weg{=K3dT4Qe5@(WSg@eA~bYf26fXLeqH72~OL93egfC|K7 zGHF>18gP@DK@12p2WBRl)ETss5%kaYT%pbE-Uf<{x#UCIXO5m<7L~+(`%*M$AIu& z+g1cf2L6!}zQM_YcX@vMu zj(8STAXN5H$dy{GPp56`E9lEWRo%e$$GD!w-PE*)Rj?TIitpy>YYVrt`g zh`!tPf5klcEzY7D9~ad!f_FT&)D2(TRP)P(D8>h>6F6VnGPZ_`bZPuY8hMSk=$7o-{~L#djU}71jIk^5`Ife450QSmU;X zkP2P23vZ(urVr1vCn^{{P9CfeM(<_n=bR`wU*zx8E8|@y4Un5AB3_PQ%Y+dbT8&f1 zur0PRvn)&U3+hdQA%sx!{z^g))pS^^EV)rv{kEMc&_8(26r^+bpwh;tAf0wNwLZF< z{N1k%)1xLW6LHLvo}a|XbjzZHir|%t5^^>zVRlff9uEOHy zR~lA$;lH1NgzMgC`9vRaZhGU0Re>vm%KWB*`h=7=!aQ>8U=(2VPIh~_8I<~5SJpv& zj(8{DKhLODT)Tnq@kaM?3{4eFBpn8nJni?iH5{AX|K!(h{$XUg!|U6t9$CZL`2$Lx zGS3g|=1k%bZN++hJZ4$k{^gI+MC{VS^sCxORY^>dcf20RW01h&@wq!(LzK=m>#a&# z=#M^b>oTk@Ky7{SfSrJ7$ZFBpE$}O!tjgN-YhnEroqmErc=PA`p?}A#pILx&*{?^w zNvdhs$xX_?BHG$tpW!`a<+;4*`#dtThIbeD0uhA^pj`v1BZ;~|(EO7-?@-eHo!iLI z`1jw$VQw}0FGc>`|1UYBw5EkZX?Xu=cSDiK5On_uM_TXDIxQt7)u7@xwGrMjgXsMv zV@hhPf(g9(d-QmJCQ7*c*INAN=y6I2|G1Jfs+`MyUHODbG$((`bL*nNfED@Th<;V+ zG}XfX<1^9jIgUyX*#Ly~E*tx#X~4+Ijg;5t`IUn{Jo$abE6?{fr9X;e5GcE19I`=Pb#xSRvK%HTrm?T;YL zkFCpS5mSAOHih`&`qsCN%MSE4UM!p7zW|~=1ESz$|11gA>AbW)3Wef&scD>)Z(GX; zNJ@yaJRljGT_0*ZARP^=W}{%x;AyK7!KCxE*ALhS7LcCt|`ic1W|srMw#cxvTv16U*um*gucom*Irl9 z6ST?1^lCas%h;prKjVV?PFPR4-d7V^MWW19;Oy~j!(PJMf|b8b_KM2`ot{dU`u1a}zc#?u4Dz@H4U_ip8llFh9?mSe(wV1%jqu zO@~Z8=7U9Q?LNrA|Kyc|>oa2=-btQrb6WvU-bM7IB?c~uKO!g;zf2wt5>#+|+);U7 zXt;}17bWfBY>V44Qh8?s<2&%pFgl+UU2d6#tFZNw`H@pahm2g-cl^rRRpD`iPz7rw zqg)%~6$gP-bzhX*J_3Z!fG=`emaxz$Db^-XZcMQ;nK@ErwTdCg`E?tOBC#1<+`h5u7MQ!Di z*h82))s^RDm{of=6-aFNj~%+t8C7&HGpd`SeE*bzaviLXnVAUQygL?36Fz+cUoV@+ zDtS3;#vy_YkqNCmO0^OLExsQ>fy+N{h$mJ>suP`}2`5LfSds@tQj;Jz4kfdIZ`>&J zL!G>qU|mtptGC=MA?1$hhvfCDDi){jbvl>?q$n1MHN*MwvdAv`*v?&4fvcCNFOePU zw98HxCyKy>yJ*vl4yG7fS|`($C3g|Ie+i{KWYyPp{V_fE{iyDVbd;{^04y7(5k59^ zGg*I9FUvVj!j*DTS0Ql0(?4rqEq556VCFTVg+5ubB_m1;d!0*m9VX)6Xkyb-HK(5) z0k!$@MjI3kgzdrGU&N9Ew#yPlV+UJOw5`OykWkew)4Jql!#MGXGXudSoO32YD=kd< z^6>Q(6N$5%XV&9arHW*XK6IX(IZ+k6COT6*B2&t`TxD=UK;DFCiqa5l6M^-P;+?0% zqnBMvHpl`E!9UAVIY$OMpWMlOxKq-v?5GwnE|vv_X>QRRX-HO8&@L(x&&sGV{IW5P5+lNKx+T>D&1 z@7#+#r+o>+YIk8WpbN2D67)PLTd2$0`k!=xTAmcLd7Y3vOrOvKvn|~r>Xq9!G2Pg! z+$tIPVVrVcA1hgM1dC#VNtWB4^Vc9=+%K-gbQWf_95sJ8RJAV_lA1hYO35~QyA4~C z<%nuPMl3>|Wk;r1Npl6euIS9X}?{fC9jFADnAqFmu3`k0om67bA_%dl~deC z)$Fb7$v#gc4W6NbzGQvDl)|5yezj@(Al^!Y9LjTT;p1vn2%A@)yQXfc?4;(LQLlUX z4B_=>m97vs@PFAEfa%nI3so*Ux#^Gio&IKsIMV#M1KlQ7X|A|}v?ACwWZxh+|U%_Krpx${QOLVyZ0w`DYU#KhYub*FX7PLkEh!x(~LC>OjSzzSxUd`rR+w zaW5gUz<1J~0>se}fH@_{P8)__98=7mornWw5Cg#{j(|*$-L&IyyAxs}?0|AThs^c3 z1EErG0-3W61)z2#SrtVcz{Np{+IO-+K^KsYE~MfHsO2?)_~~(!Xju^?WyfL^C`^>i zW||dG?Jf}pZ)WJ8tiS{EE~f8D`K}D}g%W^P-Pter)#l#Dxq(zRGdFw^w4v(92b8Io zOT60ztzVs4=U?wXJ!+>to0kchw4`={J#wXUctyhRx`vKh?cly z*na=|zI)D;@kWN8VNq~DFy@5aLp-n~aqxFoHa4lR2(0*cjoT=B`S-*t-;k%AzexiqSy)N_{WZY`@oTat6~L?U2a#?DWOf2voi~bdTR6U1T#0>Skdr< z@}#|g6;YdVJf|RU8W~2eD!d(26^Uz8;n9O3%&ojoYdEx=+oU!*$OKag z9w_X&BZ&^2Xbj4*_U8HbUI6STI2_l!zzuqv$fjTIO-e#3M>v=y3a8c&kwr8T+rKoUW^{|bW z9)tDSlp}JYg48M(y=X5E3qPijMax|t`g@3_ zjB5nn^?ducX75LCV6|s!)Z5~=x62<;W?Z5YEH_wuN_|Pqq^MVSyE3{v>kAv7Df0h} z0;e)vasg$@3c9c77jhXI0Z@YDqy(tgvbgeZjRqStgF!}3n#k(N6N5VvWtiq=eq@tT zoU>n8+&M;4T$MQxRZb0^Rc3r4GT)>6-n1DH`q(>ya|*Ux)!&=Zs~vfCri%XLcWXOy z?{wpggZFramos>c$H}*;cQ^I9&b6G#3pLNgnmwqZ=ew@l9Y&@bpCf9Y{_*zK((&*P zP|X`y$_2XV*r;T2(t{;s+jiDtnN)AbUr&(8iv~ZA45oyQ2|-vI*mxJ!l@eo z;txe8Xqjr~!KOukx^>_8&dhjM+#wWev`zAYM6KETDA}FN5z5M@bEy{-^0G`aFFRRdx{5_@)Iw?BK#Far0j*H54xC2f>qleNMXjB6=dS=Pqa;xt)XOT3u-vO|@q8HPn@cM@MsHJQw;ki$Ev`Iw%WiG1t2 zLxYSm|0t83NM}=u_sHcDhxLn;-=ZRp5J&cxJR=*0C2e*|D48W0@H+psIKbyBrQg?P zm`o6ONLPSOz!7+r?|)_{VV65DzUDiCRVfXqdTw4Dy=d2?YU&z3`e5{z9x2wYy8OkcYz zSYp<1uzs(%ke6vPjmJo0#K2!}C7>sW9m;DiQAuH9*HELjQ5=gPyjtPr1*lU6gKfpQ ziwR#tS7;S8?S#~2yLAN@1gOQ{Eaw$tWmzdh*X>J81AKDa;cZBik+NoU&&R|KT%wHP z^%+6wsxFQEPS<-i05rhrgZ_mGr5D$-+Ul;flW?e{par~wj;MJvR0G=Hn^GJVQTbwH z#YP#Q)kEVhuCBE{7?prx{TO(3!7O($Y32qD!AH6AukR;u?gLu#Z$`bKAmZBgVbhM9 zj-IQOYYhyXE*g`#Q!S<s1V7l9`_t$m z9`rJ*CqTA-z2vOdLoo~n&%#DT^N~Wa+rPvFN@r!ulv~P(ov8JSVwEy+R1iH7`sGU1t z*=#AEBrHNyd`cKZl(H0tN1>%tk7E3=lY!fhxbT}s7;4$ z&13ntbdv&xX+_Y|<5kKEBYiQ*UkkOo-!IrR%W`&E;`nvf)*oMspKU^q4hs4H!XHnh z@qtg-t4Bc=@E5g|2>n>c)H+N|P{;1_-SZ1RV6>?~dTJGvmdw@ zj)cTKz47y8!0HbnQ!lgf9X^zB5Fn(JehSHZuwMM1s7g6-;g7#j)w~=rL1ljTzg~Y1 zJ7Cd}ZHtZFAr^LsAC!zgYZNU|($-+Ijcbo~EP@ zv9ekxQH9Uo4fX!K%NoEmvpySq$dtPwS@czQKzdrR} zBI24`T(ryyQvbLK=f(eui2v6M{%-eF*f1Dk#4o)(b(vF#&`VS~4rEmUs#hl<3V&^f zEGB6BbO}ticFNMuZHSKfGsW4(#o_XXvwejJ0ztO9Jj3xn6U%^5F+%F)DSE4Nh=Rj&J1Y} z=?;Z^@bo9liUE}UW_}kDxTpAf>^MhiV*aW*bIRIu!ZX5QMKF{amic)Z7JE8TppvUo z_ZL)Tsc@}N^L@I>*(V3i?>QAmwyAKXvHSwJ2oG*K)3^T=q7PA^LfDU4%Q~=#tr3wjB&hr z`|^X9)P*_jL~<4YfRTvDih!u(p+uD5hdh&tf)q7N&4mK9vd-^~yoMiRK+@Rf+QWrj z=59HRXO<{dV*=yDYnxz181ED1o+KbGZ_&aK@NtSh-(D&l1x@zgVwzI26^K*xa^r~V z)oa)LbOvBomTtWB3*i?YkDzkuN_-ZjKG_FwiQ-EXDqyP3;h+mO>dRTxc~^t1{sNxS zV;)0ocGGg3OhCRn&DQev~bBE;Q$Jk_g+rPg8s-hNiFci^!mM$0RJN6xt#CM zSS6DONK3=s6A^X?eY2~~z2gnNybaThrDT1+UGW(2>^O=+!x+_rYW&H!8ok6_HXG3w z?jcMf^vhHT9^o8|2AgTq2V@|>Ap4~U3h-DBgDeXD!Io~5X#+Bd$kV}Md^{9 z0#qZ`B+WVs@{Og>rMftfq`-%6O%&DM6{r9DTr3cSjvlE}_W}3Fd@o2YgSEmA?%l9b z;pZj^#i|KqUSM{Y#VxJ=W;7T&urQ4__C6+C@d#9n$#{vvkW1p(fFF{7ZIH_`dt zb9AOW!(h+;RMfsyr)OsNL{enJ(9~E5Hpu2HNTiciOfk_Z!<|Z*N_sr*%f878w84fr zhF2lS*ZO#bHX*B=p*7L%KcSi%$j&$M4*KTjZ#JRF3F$uKs0_ER;+e{>iK^hq3vi0( z*6BOz=~uiKro=h2zA_Ok()RN|2KLs?(FKm0%Gj92>YYX{OgY)lj$6vtiwmSRB*ob; zFV1)8kmEUI)mXo)$fH)$Z_k*sR%H4W^MZ-3-%q7gAawfVblot@DC9n8zHv`yzkGdA|SxU&b zqwAb`zDutz1W|E8(&8l9l~LoKC24d7<2N%l!m$|};7~uNY1WKuxDCDvJq}5MyN-v_ zXClDucdQSfJ;1L|gG;j|{(Z<%;}UPFNl?d9^P0@OfG<*TwhrviG+;%7Zqp*|f3u=e zFG;*z4G$WhXt?fLgwKODR2b&5i4BC;aj(y>+;eV096n=SKV5j)mrC=T?3KelmXO7FMWiak3D# zjapx31;y&XZ{SnXeiy*uLe&oS(c8S#^i5mk;uJ9QXeu$R<4!8wJSC^8<23U1vag5> zMtIGN?^YK~h|}eqI@n|es;N9*c)L;k)RQl` zIGUct8B}m|!Jq~X);r014sV^P9c;sWgHx}5c0=oZ_WoShA9lh4*1qy(KS${P0iEGW zOZC-XlA0o3;IB#<@A<4J7si6BC~uE_ld=k&iG@+3G#sU9B~JT1KqO zJlVr-w$$kfmx^Qsq%uz_8C zJrxgboDqPc?_{R;r;!G&n6H+>a{0|la!cBab8S19CIi_l1^GYrs|VG`Wq})h8)XWN z2#x8^e$MFRXJyhA`}ZGjfCAlEq0x+@GXCL@t_sGE_yBQOylqwUc=7@ z{%6SQkG!nlye{)|Pl@*u3WP9MMn%zgXR%Z}z4(*85lOXMN9ud(pKSYrUwIDkOOTBMaS=i>F&;TxvvG64HJcnk$&alOH9#GH9g+| zKjz^kAW2N|ySS6OT{pGS%1DXOm-#l6?~G?6^5MRTQi92ajOsGu)PoYd$Qw(bVJYaw z%H>zkBCQ*FA(?R8kNukfE0PXqv=Wfa9)3IBu?bl_uc8IkQLDX96uc8p5C6is>C&&80*8@rninJTet6DE zOn|ANEfuaRn&z&DehF}2$;S`R<}OxGAF2g`D+imT;@e`J-r~tCD4%DUg`NYf=OP$6 zKRLuW_P*_+J#^bUUP1%};4EX|>CsTriR$zK_+T z;CWl~oGA4Gpj~cE@MuYNY1s#!hLEe{2ZOQya(NI&hjq&+)F7+vc{eO_jvlvLtzS30 zYG3X84+-43A!4GBP>K4WoK^bdITre=fQ%5!f;R67Qw{&qRM}%t;K#p# z$S3LXC$Cqn-yUIeR=;V%$%=A7BdmPdogt|_!rl6c+aX6HONak}qZx83Xe zfiaz{0NV1WbVMx)k;Bp>1|R7lX}~y$zZjWKNOnaVSD8z&6ORxx%yMgl1ifx#dV4DF zq+U#1-0W*aB-LcEb|3n+7F!kXDe>teHITiih6SLJXEz+!OpPU~K7%3h32cdZqp4Qs5lDoD;_dp4#uZ@r2D*a^F z?|!lCLrR0a@oS1!xEo7E_!9C@WQ37kgo0b=muR5C93f!+sN)-u_3b-y?Dq4+d;b$v z{`ox&fAd}ri-zFB`Ngfl{Ke9LUGQ%-{(rsT-`f4J?(lCHa0C?i2bIbOpl0<@FxBOl zrlGFETJZ~H&$udsuw%<-#u+=dl%|eP4SL!MNd`0Uy6fx)(JB`U%HT zZFS^3$F9oja+lm+We$93Oa;h%@4laoXgtSJ&ASUEUNWr>7Is6Ts=rP!&(5)L+YX)k zbvRdq*lXtp0tlyW!Mm$s@rU-i!sE6zJ}KyBQa&(7LpWv1sU%UdZO?lEI=w$X*p!6n z26M1QLJl}1?0@us9E6zGJqJ~iXee7W-mB)g$l)kXG4i>b>T`2ffETKa#oL&}ybV1PrT}b6|-$R0AH; zjwc>qO}~HYk7HjRtcil+%+5k-Up5%gkXrFbK-@-~ zoy^k6L1l0p>A-xt)i?{^B68-vZtAIl9tWvONLe_b8Z+cINQn5Q-%Gq%IdzxXJyM?W zya87k>DJNaZ2bqg^e_U;gV|gztm5;8$+dRfqkRNtQ0eDu;I)jV%&&baxsDA7S;v^S z*KMY^=dWHqxDC(Wur3+AEI!pns@Gw;T0Lk5TcXPHvl1vIwO4?B z??7|qN5}%Mr+$P;nEXh2yB#A8@NPN(8sT9Y3c8frrflg|C*w*LNE4{yls;;qJfLWA zy4k};VEM9>6^sE(g%J7C>*w5||3q%K4Sou)-;QrP(iJ{j5s6j4;npf7n!s`EiyPwF zD|-Bx8Fvr(og_G?Ju3m049XC>+Q@wXypO!*r6gR-pAD(o)jh&* zghQLXJhT00-K38Id^if2`1~Ko=A497Kc{QzywXE1$c0xl#4?{$M>yj1J_&~jbhjEe zAcb3*j*Kkl7j8nqVqSyCG2NxnVA;ePh8$j&M=!f7dk#M_X&K;0JD(p4i=ZBYOj9pF z?L5BJ|6C6aFw~x_J$F9E4Rm+sTM^TGc&jlzvoaN(= zoucmPGhLt0rzfUfN^T*5*`pdvJp;Uk_$QKk4Up%i-=sOIEzj9vVimf54t*6{eOvSj zkH$plWLRJqPFE1K_cVmSFw-ooFbv&P?%HO*T(B6Y7i?L2bCW6XE*KGPHf!Ft(=sc( zCEwKoqX-~o_8wDgO{P^@?6>wbMi5Q=4Z+5_jHBtWv~e zUwjeH?R8D*4e0Dfw9nqw(|%7LUe6We5BESk^l37vex}frIx~;EboDen~}WTtRfO`jX4VM5O`V z-4SWJE7v1^*=5+<<{h7qx_595iuYi2?jmlIA`MZj5sKJg5Ir#WM?sGc`XLt|m!ND=%O7FCb63Kti@^x8u!`p#X{0NwLfkMr zhxaNHO+#1*sn&a|$a*ho8dh94RKDD2k>_k1dDPNg9%I#X9KMAK9_j<0gcDYyO>|~l zE~Dp-e{Q~)V=y2Y`vaNo@LMhw=iXpGL%vtwLTOx&(49~ct--6~BdgCilm1$*o#lnH^J!->9E29uX&E_U;JifP_6>RPN z%lyo_7<@y=XD51^t~F_CmtfpFOHsxdR<>%(d0F#L-?w}8emyJrc{yeU0vkBsH<1kyY$KR$GYo1FAtwlm$hU-@DFlg#>qP1pjMj3i^^oh zs`$NdTj{}myLlk>*kaeoGBqfo#wg!7JOp(G5$Rwu=lB=+@y>4nEtD82qX#F3POdn3nj@X2Q9gM^Y$5a*d2pa(*D&SXr8O0>GHiW;8go z5paqsCuLW26&=_*1awy&sP^kZd8jPJP&I9rxWPNV38?+QTf4-;O+c}U@PG`jErRm( z785|2bs?q6uERkhisQs!0IYF9E9_KWG-iu>f@&@Y!;Jvr;SZe2gM|EaBfP=jFM?H< zhvj*6=-lIPRtnCoACBo^nYXMb6M;-@MsrR)K?zkB45uG_J|x6lvvlK}q{G1eO>|PL z08GUJI_-UJU^&dit}Lg$I^O-m#`S#r(&Js15EwAVjQNI>7q6H;x-r(r8iK=kI^fwK z3y56--T6X7(--e|7FH7M7)LhpA)FGkWtY#7U+lPq>GusuDWK!*@Guh1^<2oOm& zO4^$5EX7%bKk zGCFbc4f&ylGWtGSA`3ZAVK6~-T9gl(Tx(^*Nj19bk1PuYajCoT`s)N^Y^{Y!>HH$& z6^nMAGNXcB?p$vmb;y|Xr?+y|xI>n~YZh{daGS8Bx!Bq98d%8U{AJNu%SZM?VF93rC#sj znko)(d@4se+-ps%Umv)0wcyZLP>pi;_s9wLg73IT1xap#Z5@vz#lXODp>W(3CDr}I zpsUG;0pBnn&#-D#Pf7={wZJjBp`=p4FpIRg1nAlW>dewaDO1v0$So2!LJCg=AvqI^I`dE4CTBiDhsBq{p5` zC+GKHSP?V7QR)@kVebG(7`!cjH#-Rbcujt)?Zue}cod8BmCnQTFdsI4#-1*;?jxN0 z@UJ{FHowKnHajwEG^mELY#lWJKJrwpb8h7DuO1JOIOdf}Fc~pK2EiHeyOCYJbu73P zcUM6L*xCAxo!3aq`}~iev`i^$-2o4uVfDQbH>?LeaXexx;g545Qysq8*0DW9xx2XP z9)g@=Fs)=_Ads%{+=x4puyzL6O|GRQUs*%Ie_S?Y-b-KT1>5yl)Y=Es18C*1QqpZp zj|-OI)JKz%SDP?(yJZgyrU)@*KUI@Kxb_9kcVkCxd4jw%bIX+dGNc1mv~S9$Q60^` z?ZF5n%P@pb;{AQ&vqxi~suRc~3Y03JsfJxH<$c=hM{2!OKuDRM=;P~s$h>ueb(i!jke=7S9s3x~=+ha!rv7;bh#REu@DnXiHqbt3ObYehy03j+0 zHo!)23erMV5_%C(iu9HMp(zSN2pvM_t`GEo|M}k=_uj`iXE?-=FYL1RT64`gw-cn% z&$|Y!@RYr7vIFUSy;Cbg;=L}DbFIcwV;#u_i9TJ&n+w3~4O^@1Dm#EF%`heEYl<21 zLn1Cc*PWO3uhCRCQ*8@>EPFMX093Qxb7gwcZxq!3uNL_K_=11b?Em==)dEn~3U6aP@EF+GKAkx+ zyI2LVwe5Y)i3q7v0($m^A2G2?Z~is|>6!(EYzvT{yzZq#X&jE|rlAz1SQh_F2*N4t z`PnE?#G?8|9%UH>$cVs8iU$2PHoMaQkO~$Jvx(ofse;lw0u91NNZ^Y&NsNci+N{kj zEl)R2yMUX~50>)?#|d^=3AEWeBXuhdzUW4?`pGO$C^*RQ*UA=)-0sNAqomOjA~P*& zUJb%ozLQ>CngJgaEB|IgXQCj(hz7*Dv3a)WY1ZJ}wc}Pmj1CWpw&^2E^ImHeg$*YR zpF$XEh9F#+<3F z*XkNSiO@@tZUZPRgb+}c-!MlMPWh?CLJ)+fkLZF%nEehMWmYh9tYT?!R@Wm0I)Nk* z*C8OC;qf71{icCXv~6)x{}2`c~fum9jwbyYyN~Pm_T( z!w-#WFO=*`w*fo1G?J5 zEFH3z#JdYqF}Zy{Qkr_sr=_6*pDQs6%Xe?BW`{;K+XZYEM;{Dm9#q@UjrPDtB33yi z+}X07X(G>-z)`bR1F++}zr5YsI;)-^5mD(Wa6PHC9iX)^2=AcoWWOM`0x1+t=#hM} z5753Yj)!jk3G~q4>2y(G`!VD7j(cK15rExRfQeP^#{tUfSP_vbBMFQ=@IJ-Ves}dR zg<2A)xe;cKh zRfYkEeqWeRT$USbZKjaqtetee!mB0@6fq0OS*Bi!!oBrT7xk1XZT zi}TjCSr=oxTm82B>I;NbOOVjdS$&wN3_fBG{hj7BpvAE%nBY|%^#HqP+=x2j2uTz; z4GTEKQ8@p@;SA9$ptX*_NqL&kWy|w0`Kd*R_l-y~G9|8{hox|w@!cxtSz~rdV!m^Q zFNO?9A1Y?VQl!hFIN$Pb>^dJE>dkO1X_Jx$Ln_*dQV0JL>3SesS%~J@ne1K%c z6T0M`1pr>BZQSg3NxQb>#|_d(L4hNVEh~AhVSk~3(;%f%tY4s}v5!`mcm(BQqv#Me z@}ardjW&6M8NKV!+3L38C-E5ffdg!R<|fgMKLVkGyMQWPUn}^sYe+LRhed2#PDz!3 zk_*(C$5o53!9&}(CjlD+`;CV*o(A@H)vK#v7vDU1i|W5K4e1m9vOW^-jH2H>>~zN! z3a=E&0l9f}6?*Q~Zs+5;Y8qhgTy1w5krX+vRx4nblg1(I^yBL97=ncS-=VskZ39f* z;5hxC0AG|dGU3f7`)$l9W=uLK^W-pR!B~#6e@s0aCd|&2Z4N6sT|Dr?1iBV`=}Zr>Q>ep)|JQlh@TP3*e_wE z6(_z@r9VicukN(7wTFEz&^Kz`W7%gC0avL$LYlV)0uFl7h zI%1@Xp4Z~cll)k>zO-eUL~Dt%uI5s`-(cj+__{~HN%zVD%1Ibct96(azX4XB7EQv` z%|ADWFSP)NyQ!vr2!q4Q`jj+S#ZavI>4&YMf zzT>Qn${t_YXwPvp)@>NY>7S|gw1oOw%%Q( z`9RC99z;?_Kc92S_7XtJ+&XEJZ54oYrKJy{{2-W5R(?Tcbm?HS-w2xaLYtEBR!_}Q zde&0XK+25^n4m%2P_+B)YuW_4(Y_Gu(zhf_wD+nRWGf%X0~D)x>fG{w_CbZij_@wM z(q%!jIOck2{QPNWCf7RW#a%3q#AuE0o?}M-FJxtGx?^&`>Pn?5?M{G0Gk_EyUGytG z^c&ZQR>GeMIejF87K>l^v~g|!49u=zJsTAKKM!;&jF^bDQ0DJy&g%{Yf#hL8-@Lsc zQnAOBhote$Cl~Yq&5Y(W<4(vDcl@phT2&4yWbmv&V>P$QSbKVAf{Q=RR)##LOi9@D z-hT-Oj^f?yldO~+k}mW;wlQ6OV1<&NmAayNX18Zgn!ZRj0O^li(K6fErMszEG}l3t z(KU^<0sLeHM98x1LHZp7F?Fk;jBP^n8Jy~v)biNG03G2UeIbfVd%4rTNU0fEh0$)b zm*)0*)|&JIL>$m*#ox6)U|vk7m-Sjdx_0Ykm|zUtf7vMLr%WAGUBI`CJkUpL=3DVE z8B`eN*joEWB)UhxhDdOX)eo#9GdkTg1a97iiME3J267hw=0__^OT8nN_H`>{a$>b< zx1rHxH9zq!=hRi2D`Jg_)P|_EVY8M1vTtFaKG+W8KOliUXQ$KBzEm~~!iWRJ7$Kk= zW}QB;`bsufz}5hF?Kw_n%?;fL>RkIRl|X60OlYv5SS#q6yspvaq^R8{D$whwdVo~U zNw=8$(-z%ZrJ11K{2&NtxQ})vEDKo~*~W~@i~-=(KqNod_2NlJHnxf<+r?Mp0mGL5ZKZqzZ?V{yDet8a5`0FRO~N2#hKjj!r2W*E@Osh^HNdZYbgZ%R^LJ;tM8A9 zNQnsCEMc=qqD`$X!;Mdl?H7qG&?3m5F0|eMNDOEjp~itqZAO%28_bx?*#n7MBLkev z`#H#1Gyd=aPPa9!TM1;;oZ7eYNAWtgGY-meD-4Fr!X!r}tHR|OA4G;CE%UEm5TvD$ z*Ph*$g(hbL<)3tAtGGul#%sFum1$i^SEtha61nhbYXYx* z#+yo6OjuT;n+{6cxWMHc?$!V(!KKw;0;|ZAFAS-t`PYk>& zhIe1yNAr(2*-Mnc&0b<9edkEZq7ZFcxu+{wWEGiOSJBbe>W(xkC3 z2Cp*|daB;XMB7qQo?+tW)KbN*zBN9p|Dw!_(Qs~E&j6il^)zc9DQ$mHQ3do*t~7IL z8+<|N#TVrPobQP&p4gsThuCOSmJgo4#=wBo8|fz+da|CyOlm%PgKBP?g0unOkl0cN zE0013kiYZ*C&~oIbQ{SJ_ z+jgV-16XNvZP!+C)jlx5LB6TCD?_TzQQc}y>(Pxe_4ZrDKo}!RQ-bY4bgAOfH=C#& zM1LTDA!SCDO7=S0>&RGW%=<+1443T6%xjJ$*W~?&w$&(_GJcj)t2tT`dXNM$%be2E zQ;PdvBC7dfX(?@Av{$C3oPIo}sa|Kv{lF=zUGSFI((|p(a5tzpiWaovZh)5QG2R_7 zEY71Q@r_Z1chh3OFUyVH=$=R2z4F4cHs+J4~hx>?W^PERxV zf_AZ1<3psYt~ZdN!SWW$kq@VD<4K48l-fYWVmI{j_lv#tGdnXyN-Rc39FhkZ2EI2xQTE{=R_ohOVN1u z0AP0eHdijNplkrg$7@jVtOLCdDF>PK0YMc95t=CC;R6*R*vZtL19vmwf1u5>9#ij) zLrCN-GlguA>A}YsP9WPxXL`<#Sb>Bv{K0jhQ^SXCJ-RC0dp)X-O1Yg)S!r{Em22g< zo5Kz$XdEAUu>;>RnrYMf9Ha=#;MUgh4G}&O>abO+RX8Xr-Il&bBepVoNG~3OZ&-)F zi!=eA`Wb=7W!{`&M1!nXysa)$qOl>@jb_099OA?HHZFeUR!nzZ^8tQ?wpE&GNFu*+ z0Rgdh^H^QZXEtJFev-py@T3DOd)kx^D6$YtV{wj#Hs#B+>0!K%(48)*0o3gG5~QGA zv*;+pz)Ixk2JT;dL(+?Ve20g}0c;5a5n?AsORjBhhjKi?y@un6kZK(|zL#juDpf}Am`Bo50A0f!xW;y$3 zUyN7sVDtA$4owbJ4T3>sFBJg2t_9Hxy>4GpA$k9@%djQ>=0GB1>#Pq#x=uifQ^2H~ znb*FX)%32J?`4AB3rK%+j|=Gt0f+Aye|;;e=K`-j0t^3Id7je?Ku{P6&^~jpq9eaY zhhiyv1=Ai$+COPP5H1Gv)%*AwS0EuHso(YkbU7};w3Gup2G?}c=1enO_|B)7KMK*z zG?8W(UY`Eam0>|nu*2~>YTDRBSp2-qXwE3t9D8&cNvOx?{1V)$x%1^_jkH%pXs3T> zy3A+^SkG1L^8uPQVU}0)3$MQO!1v&}FDSvuoRcQVlYiH>)!R`L87nVMQk?^#D)Bmg zjl&wTQ;``>6}`kVh|07hC*U1{MDomIZZsU)J%t_v0TOkHg|X}>K1G`auoup4pF#Kw zLz)Mxv6NstJxy2HU~ZmKo4#%ofx}*MKetNOQsPRp(|00^CVdXI9l>a8r4WqvT-lrf zAg$@TOG%c==~4K-F#vLo<>^rlj2C^T?8aC_Q}(tsw?QZ_+$@m&H;!}ktL2V(!7!yCu>Lo5It^nQnvc2KLY7gRA8tU#*)OI}R_Z3I^XoU{t@C zij-g_J?8`?gw8=pi{S>-gKzv-rc?Ga(=vBmD7%q(Q}7Au5Fka_wXGMr25qX&lYADX zerZ%4Tb-?B|1*7tW*Wt|J`-g-!b6UX{~1iVlKtcKo~iHS?NHW2)w%(WA_{JVowQLq z|ErXS?;x*1{`lYXjQ+ZJ_ZJ{|ayj3mw;}H?C%%mU?W--Fe*NoDlRM;VFmZed>Lj_Z zw;qZ2IE zN+S?Nj~#a}{?+voTmzKJuQLRXZ@hHRiL?dZh+ppvSSZjg6+v9jazP=vx?^86@w+=P z-@W*Gs(Fg?Uy1+zy^jO_lAOO!Oj?V&X$iQmh;PUsbW7!0GE7UyRx+tqHx~>xcuxUXoEt1U@xIG2rI?sJE}gy^p-z zeHEd>0?zj^ZF9<;qMf;-o`M<(2%Z*K&V0F-A^H2G?1Uxk>Z8Ck7Xz3D{`{`EEbPz&WVhzymS9@sKB<_ZRexqV4lal;ZX z^?6o^$I4n&MBpV0%uWy8HH*1`vzjxOj?7~F(Jkv9F-^CR5Oyw|@mpz3@vh5%Zl=rC zeHyun2$`8wNt|VavQ>`n3v!>45`uA^}9~s`B!B%y$n-w^eNb}KDpKix+b_GQ_R<)VYM<3MLE2hEc8p-@T7Y znXT7ES;zZwPCKnSPv98PMXZ}Po_(5&6jiBwC31X~*fpAmEx+J3+1-uB_7!E{x>yc% zh&@}z$eTsx9PZl6u!3h-!i_`K_airKAS)SqqC3&}LA{lvZyOh~v{xSvnfvjQ)_(4~ zUSX75RaCLpNh>ix={7bEv~6CQ(Qv9%^Ojhd5ARf>ALI?Uxv6qIOqRGNF}kLgq0syEAN+ONYyta$Kb+N8-=1k?lGh=o}7w?dsRv$X=J%0Mo{0Bbg_ z+;r`%GwufqCUvW7Y5ZJ8FEMc-;)q+v8{f!L!j8A4_VIhCfLSN zubFO5-byxhFWRxbmKgSS0LDxa+a^vl)m%DpEY(FiMNyS}Nc-6OKVLnUm7lTPZXS!j zjPhhYwXev^$ofRa$VvH)czR$<WCcuED+Fr+zY65t?uGuX zsfUzyorUh1%(sE2E(&-JNIPLl;HyY+uNe)PA31QNO{7wX*6ACV4&?iP3F<29Ip0@3 zeLJo{Q4R5KM!uD}ad={9k;(tJdIb5)e|xa*Sbx~YPyLU-=I`?wS%C1hF;MFP;?F?+ z;|2eG?*HEhv*3Zw8>&45WvRri$*taCG4=jhxJtzNbFZK5=e7_wTb@^`3}O$h$@^d~ zazx5Xh1>jcP=mz`KoIltC2KO}^r;^Ay(O=&$Derq>gCCk&)@7ldE)ttZxtt*LLEv2 zCenf7`_RFnBa5Np2Q~BLU4F3f^!xha_+GziUDHeRN+rv}<)OmZI}gjIzOe2sc_Ht6 zg6Y-$Ehm}YY}#^y=|!V#&_w>sIM=(<8S2pR(A~N4A(12pQ+3m!R(0uEl=mWb@qDqD zm#0+h-R}#Z7v{|ys~WCwdB`|<&Q8rZ$t*Wbzk?44EU@DamH{qERB2hx)-?9 zUEB*?r(K*2+-6-|3tT2$98vCbE^a8-DHkV{+l-3~Bx>ZGUXKxfOkc!)k$NGkN_Ns9EDrA98w&yIw9 z%DYk{3glf!!cg+S^6HW&+Jzg)gAI3tJd{Ih^6jaSBk~}|u#*P|9K4SKFWi(v6q2Yv+~VOUhpm4{WmbWxKAsG z)V&AMargm2lMAl_o3*?_uxVC#dVuHEH2~E_c(jr=xPjSI_a02f_r|I2$LKecj$kN2 zYbJOHxT(Z(6hgw->BP$xC{El`MT68{1TT5-Zy*&5iAA zF8&*fYmw%|akWm1~^?GC|9+*TV+H$JW>-CDjtSo{;<{<&{A z;^6O%UC#F3#tXSIXSi81aLW+GIwJDp5F&?%14RPiUxAM9N7$V}ByMa~jg{#^s8(;z z>bD>l`iS1{Xi^CiDq}CTs%JxNq0qo6$+TdHODEJF*h9|h-!hf3Y5IgzqQE6MKK#=g zstw?xHT$5ufCm>2N@d6NQz>A!mg1}Gxo)6w^QiNhp z=)#V^4^8rJsql|qAu)fEy$xJlpr3G(N>=6!MZjhKXzZE7K>3eU5}}|H?&}F1&j>=A z8{SKxHqG|#>~!pg{3j(tBDdGvY3k@+(no7Alfjiy%i3Y@+9zmz?dH&CF$vVgm`Z!d{kEy^bK3u0c1XrnRb05+xn;6F z2p<4pCw@e%KSAZeMOV1^PEX<-zj|#u_2$V{Y;BvcOJJ`jmETY}dHQ{e93~R)kGK1b zTslFCnh%9Le?$?qqp%LqngM)qd#jjl2LQAS+T{f0fo4x1{+N_5#RuJJ*=1G~4@XR9b$VCA|?hN=`Sl&di2g{CSxP zv5Qg(U=tgi_6>Ze6#Q{Y^5}R$i?`fRZD|0nB}sfcUAh+*WXy3wvBBj#d62qXd|fxK z9EKKYr%E(i-xPh);235drqvst(!e_BEEaD4+J<~Xn0(TVKlXZ|V6=_#Uv^1}5*7qr z-_>WA9khVw61jBf5^IFt@QGBQG$jfhv|_{QInPvrFRbdotW`66JdiNlisP>Y%_W8d zA-n(o;^mYSSuv03`>zL;*eYx+xkb2M(if2ltv89bqb==>3OY?dRdGrd3j=cF$6Fh+t|Fj29Y{`#Gx=hh#_n zp;HsN>IzPqwM#FW#Zvr5wWg3V5A$;$g;#O~&h)1a&zfM5(4WDr zrprY{qoPdz0k`I+^MHCHzKtO(iCvTl(x~8;<|BAJgYzWPC+}(FORW z-!7{1##T&b@bN1k_udTF#|y;?rp5CMlGf*S#^}A}NJJo66CLL2pD(Ui>;r=WliKln zQbX&8>^lB^Qhg^ut>{^Hh1Cq;ixVi?guj?~{5!M7tR{5vH5YSjygR11n^~!^D4#bZ zL-&Is*u+K%7#P1{3jwkvvo6;~xGu+lV6%4;{h9 zyuo&l$Di2$;YJuaH*d@r=+*OZf-PXsqSlPGMAJIPW>Z>;|Ns=+9Pq9|b zvZrkJiXX05l=?R#B!PiLm_9-e%ES{(cL?Q-qY!LgPYvBEqJHgR@Ag4+M4Z90Fl#ak7sehZ z+;zSB&ULt})$xf=SEwdL&0f{3_212T!KPH7^kr!C z3xQ=IetjOjspw!Jp&~)M$u3fCJ995-60yo^bF*nqob(r4;mDMzR)oufOf!B67E;oN z4Y?1_QXPV2@{Un)$J!%JwAso9z`!HlO%j?fEW|pS+9qbzFI4>Hep#Q@xibdp6BIez z75*o4h?g4>lQ5pVHsHvZ0u3`>MG8iI;qEL6(h& znXJ~wrLH!~iO>*gZG@iuv5o1#cQ>PW8FTb^Wg9oc<|(nM>h^v%f{(DC&3o?@`;?Wm zOo_DVOi7b!UTMMIE$^n3_pZ$}r41z8X?PyqtrK5Yvvi5DqOv{{?S$hUGiAo(8+*ov zlHji<%|snX6i)&Q??gd#^>}Mlp%r_<_K#F&ND(!MK z*R-hz{w6Sa*Ze5iQ`^uut(Dma;;K03s5%i9-tlIwA>~K+R3)JMOjZ%7=nAUE<5E+O`kw?H9|> zigXEU1!(sP4?w$F-Xuu1!m~>hdP!%K1lkGQU6H)WQto6)6@nf6@MyOhd^s7mTUcGW=M2(xp0g4 z&2dOjhxlo9@#yZ7@$ShMFL_KL^oFAOIi6e09y!s)+Ha5>lfHcVZRe~<%*ZUza+F;H zUwin~WSa4>57`y1q&%dTd0|`XLd^lU5MOc%kFm?TNpaC(QumI) z5l(8r4?1vx9+@PLC={;j&aP7|zA${Dpzn3-j_f6!uVTGwLzH}+x}*Imjy|X z`7?dzc-_D7)y_eqIV6e3vYO=>#u7YQB5uCzKE!URph!M_P4)<&#gDpeBeT1eVEZOg zPo0tqROY3pWSQ|df7H}>@7TA8137}T=(5`mZQF|pMYS;Mup&z?E$fhj*Q??k1&tjy zhZW4r*0{6P>C;_I(>nU>>wO_AL6obqmZCfTEbL*1h_tXN$(>~?Zq)@7Ms%p zNMOx0#7vGn2KVN*Gmwv&x~5-}V8-o%E3{0Q&>1nrHOg5!Ca5&V`A&Elm#mhtgSTda zLp7|lJY$qDBSQ8FO#Y5Hp8+ukWr45^WGAbF$zPX88!&Mz?Ji}P#|k(fR0+xY6Sacm zvo<*vO(&2?X0BxVa=3i9>yEMUSlpxAXuZ1NQo-VrY(Xa;5odTPnbGOpZ6x)$e>Iu$ z)h@JIqx+p=v!T{SMBbMY{T40t`kzZLuLN6lrmmQObfvNHojyh`O_QNM(PR*i10U;5@%#j1D>?Qkii@LP49SDOZ?{YxEjV z^D3B>HIZJD>kTO>c(x4p4|)=u0p!JLWwC0l!24^iVbeeH-oH@IxoMMu=3zfmFuuJ5 zix)2^Se6MYJB@Uya5J1jA>(cF`SIR4&bJOZv&Y^K4B(?rJD0?#OVr&R3*$SLY8Ngw z2qA|v)M8xI49+;qGi)pN_Fm!Td}lpIsB);r4^# zoYQvM;vQ2L6t9;d@19XySw=IRqirIJ*ht;E#}@rGBzAj)5rY6up|4-Kebdw4Fw~*N ziGVpnoym|Rn8KM&88NSB>fhRP7L*nA4NSV5raL?!G%gA?1xR$RXt$qxrieGa;>(bxNjw*x;-U>-SZDn2RA=&ad zu&hz@1TAuV4}-H&_EKI->vr!B>aJ6C^K4IsDSx66<)D#6$3nNmMDo)}xOMN`IKrh~ ziXJ^LP}7?Plw7kA4)ooyC55B-@sICfMuklCiuo zwLnd@RH@OpYFkRT;YTO+riBUjN1WqjK8PuoRFA{U1?3}}3rBZ58$WrVM0k~EQznjG zAOC1C)l5!NqCj*gbg8^JDlF+k9(b|?Zz(8dj{1A}d4xlt8?yV@$laWgkOjFrbMR&&1fZKs0Oq5qXY^_f6&-0WTEA0%YXfj&PSmQnh#0Ia!lPBU}`hqBzb5yma_KXjn7jZzMHde`FQdh`YXnllRN@VbzW~ zvYdS$C!p#qpRZ{;`VjD^|NUp(jNZ-J+4=P2MYntTf0mUM(}KFpaHUaf)269%IAM|g w<2|Ft8;I%u8trui^6h_Msd6SWYg_C-?wDkV@q^6j0@#cg70{+LXzyJUM literal 44376 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 bvLF@n@W{KR`wv^mWw45Jr(~0k>)!rfw7$ZU diff --git a/doc/md/images/rss-filter-1.png b/doc/md/images/rss-filter-1.png index d2a03f675debbe65287e75b2a83a88497d935c34..0cf1591c2d605510fb9a9253e11380b5c7683178 100644 GIT binary patch literal 18534 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 literal 18682 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

tvT1mlaG3bX8 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 ZD=;xSFfict5#Im+002ovPDHLkV1o8P4nhC` diff --git a/doc/md/images/rss-filter-2.png b/doc/md/images/rss-filter-2.png index 538b126ee4b0a4c92567674b14ce1354e6802c7e..5a40755a27bf4762d14ba5c06137711ffdc82b65 100644 GIT binary patch literal 15440 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 literal 15604 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 QuK@rF5n18NpL%}(1@*7;J^%m! From 2e47af897e4f84d5f5266219385a8e930fc113d2 Mon Sep 17 00:00:00 2001 From: nodiscc Date: Fri, 9 Feb 2018 19:03:42 +0100 Subject: [PATCH 053/141] doc: sharing: add link to REST API documentation --- doc/md/Sharing-content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/md/Sharing-content.md b/doc/md/Sharing-content.md index b185164..faacc1f 100644 --- a/doc/md/Sharing-content.md +++ b/doc/md/Sharing-content.md @@ -17,7 +17,7 @@ While logged in to your Shaarli, you can add new Shaares in several ways: * [Bookmarklet] * [Firefox Share](#firefox-share) * Third-party [apps and browser addons](Community-\&-Related-software.md#mobile-apps) - + * [REST API](https://shaarli.github.io/api-documentation/) ### +Shaare button From 67a5c6d6f38a47d726694f4afab9fd46aa2a81a3 Mon Sep 17 00:00:00 2001 From: nodiscc Date: Sat, 14 Apr 2018 14:22:02 +0200 Subject: [PATCH 054/141] remove duplicate translation --- inc/languages/fr/LC_MESSAGES/shaarli.po | 6 ------ 1 file changed, 6 deletions(-) diff --git a/inc/languages/fr/LC_MESSAGES/shaarli.po b/inc/languages/fr/LC_MESSAGES/shaarli.po index 35e6001..2ebeccb 100644 --- a/inc/languages/fr/LC_MESSAGES/shaarli.po +++ b/inc/languages/fr/LC_MESSAGES/shaarli.po @@ -769,12 +769,6 @@ msgstr "Modifier le Shaare" msgid "New Shaare" msgstr "Nouveau Shaare" -#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 -#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 -#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:26 -msgid "Shaare" -msgstr "Shaare" - #: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25 msgid "Created:" msgstr "Création :" From 7ca124079e6bd414b096fcec9789cef1216dff8f Mon Sep 17 00:00:00 2001 From: Buster One <37770318+buster-one@users.noreply.github.com> Date: Sun, 15 Apr 2018 14:53:09 +0200 Subject: [PATCH 055/141] German language created (#1114) * Added german language selection * German language file created * typo * extra space removed and typo corrected * lines 1314 through 1408 removed as suggested --- application/Languages.php | 1 + inc/languages/de/LC_MESSAGES/shaarli.po | 1313 +++++++++++++++++++++++ 2 files changed, 1314 insertions(+) create mode 100644 inc/languages/de/LC_MESSAGES/shaarli.po diff --git a/application/Languages.php b/application/Languages.php index db4b84a..4fa3242 100644 --- a/application/Languages.php +++ b/application/Languages.php @@ -177,6 +177,7 @@ class Languages 'auto' => t('Automatic'), 'en' => t('English'), 'fr' => t('French'), + 'de' => t('German'), ]; } } diff --git a/inc/languages/de/LC_MESSAGES/shaarli.po b/inc/languages/de/LC_MESSAGES/shaarli.po new file mode 100644 index 0000000..34d29ce --- /dev/null +++ b/inc/languages/de/LC_MESSAGES/shaarli.po @@ -0,0 +1,1313 @@ +msgid "" +msgstr "" +"Project-Id-Version: Shaarli\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-31 09:09+0200\n" +"PO-Revision-Date: 2018-03-31 09:12+0200\n" +"Last-Translator: \n" +"Language-Team: Shaarli\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"X-Poedit-Basepath: ../../../..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: t:1,2;t\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: node_modules\n" +"X-Poedit-SearchPathExcluded-1: vendor\n" + +#: application/ApplicationUtils.php:153 +#, php-format +msgid "" +"Your PHP version is obsolete! Shaarli requires at least PHP %s, and thus " +"cannot run. Your PHP version has known security vulnerabilities and should " +"be updated as soon as possible." +msgstr "" +"Deine PHP-Version ist veraltet! Shaarli benötigt mindestens PHP %s, und kann " +"daher nicht laufen. Deine PHP-Version hat bekannte Sicherheitslücken und " +"sollte so bald wie möglich aktualisiert werden." + +#: application/ApplicationUtils.php:183 application/ApplicationUtils.php:195 +msgid "directory is not readable" +msgstr "Verzeichnis ist nicht lesbar" + +#: application/ApplicationUtils.php:198 +msgid "directory is not writable" +msgstr "Verzeichnis ist nicht beschreibbar" + +#: application/ApplicationUtils.php:216 +msgid "file is not readable" +msgstr "Datei ist nicht lesbar" + +#: application/ApplicationUtils.php:219 +msgid "file is not writable" +msgstr "Datei ist nicht beschreibbar" + +#: application/Cache.php:16 +#, php-format +msgid "Cannot purge %s: no directory" +msgstr "Kann nicht löschen, %s ist kein Verzeichnis" + +#: application/FeedBuilder.php:151 +msgid "Direct link" +msgstr "Direct Link" + +#: application/FeedBuilder.php:153 +#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:88 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:178 +msgid "Permalink" +msgstr "Permalink" + +#: application/History.php:174 +msgid "History file isn't readable or writable" +msgstr "Protokolldatei nicht lesbar oder beschreibbar" + +#: application/History.php:185 +msgid "Could not parse history file" +msgstr "Protokolldatei konnte nicht analysiert werden" + +#: application/Languages.php:177 +msgid "Automatic" +msgstr "Automatisch" + +#: application/Languages.php:178 +msgid "English" +msgstr "Englisch" + +#: application/Languages.php:179 +msgid "French" +msgstr "Französisch" + +#: application/Languages.php:180 +msgid "German" +msgstr "Deutsch" + +#: application/LinkDB.php:136 +msgid "You are not authorized to add a link." +msgstr "Du bist nicht berechtigt einen Link hinzuzufügen." + +#: application/LinkDB.php:139 +msgid "Internal Error: A link should always have an id and URL." +msgstr "Interner Fehler: Ein Link sollte immer eine ID und URL haben." + +#: application/LinkDB.php:142 +msgid "You must specify an integer as a key." +msgstr "Du musst eine Ganzzahl als Schlüssel angeben." + +#: application/LinkDB.php:145 +msgid "Array offset and link ID must be equal." +msgstr "Array-Offset und Link-ID müssen gleich sein." + +#: application/LinkDB.php:251 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:14 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:48 +msgid "" +"The personal, minimalist, super-fast, database free, bookmarking service" +msgstr "" +"Der persönliche, minimalistische, superschnelle, datenbankfreie " +"Lesezeichenservice" + +#: application/LinkDB.php:253 +msgid "" +"Welcome to Shaarli! This is your first public bookmark. To edit or delete " +"me, you must first login.\n" +"\n" +"To learn how to use Shaarli, consult the link \"Documentation\" at the " +"bottom of this page.\n" +"\n" +"You use the community supported version of the original Shaarli project, by " +"Sebastien Sauvage." +msgstr "" +"Willkommen bei Shaarli! Dies ist dein erstes öffentliches Lesezeichen. Um " +"mich zu bearbeiten oder zu löschen, musst du dich zuerst einloggen.\n" +"\n" +"Um zu erfahren, wie man Shaarli benutzt, öffne den Link \"Dokumentation\" am " +"Ende dieser Seite.\n" +"\n" +"Du verwendest die von der Community unterstützte Version des ursprünglichen " +"Shaarli-Projekts von Sebastien Sauvage." + +#: application/LinkDB.php:267 +msgid "My secret stuff... - Pastebin.com" +msgstr "Meine geheimen Sachen... - Pastebin.com" + +#: application/LinkDB.php:269 +msgid "Shhhh! I'm a private link only YOU can see. You can delete me too." +msgstr "" +"Pssst Ich bin ein privater Link, den nur du sehen kannst. Du kannst mich " +"auch löschen." + +#: application/LinkFilter.php:452 +msgid "The link you are trying to reach does not exist or has been deleted." +msgstr "" +"Den Link, den du versucht zu erreichen, existiert nicht oder wurde gelöscht." + +#: application/NetscapeBookmarkUtils.php:35 +msgid "Invalid export selection:" +msgstr "Ungültige Exportauswahl:" + +#: application/NetscapeBookmarkUtils.php:81 +#, php-format +msgid "File %s (%d bytes) " +msgstr "Datei %s (%d bytes) " + +#: application/NetscapeBookmarkUtils.php:83 +msgid "has an unknown file format. Nothing was imported." +msgstr "hat ein unbekanntes Dateiformat. Es wurde nichts importiert." + +#: application/NetscapeBookmarkUtils.php:86 +#, php-format +msgid "" +"was successfully processed in %d seconds: %d links imported, %d links " +"overwritten, %d links skipped." +msgstr "" +"wurde erfolgreich in %d Sekunden verarbeitet: %d Links importiert, %d Links " +"überschrieben, %d Links übersprungen." + +#: application/PageBuilder.php:168 +msgid "The page you are trying to reach does not exist or has been deleted." +msgstr "" +"Die Seite, die du erreichen möchtest, existiert nicht oder wurde gelöscht." + +#: application/PageBuilder.php:170 +msgid "404 Not Found" +msgstr "404 Nicht gefunden" + +#: application/PluginManager.php:243 +#, php-format +msgid "Plugin \"%s\" files not found." +msgstr "Plugin \"%s\" Dateien nicht gefunden." + +#: application/Updater.php:76 +msgid "Couldn't retrieve Updater class methods." +msgstr "Die Updater-Klassenmethoden konnten nicht abgerufen werden." + +#: application/Updater.php:532 +msgid "An error occurred while running the update " +msgstr "Beim Ausführen des Updates ist ein Fehler aufgetreten " + +#: application/Updater.php:572 +msgid "Updates file path is not set, can't write updates." +msgstr "" +"Der Update-Dateipfad ist nicht festgelegt, es können keine Updates " +"geschrieben werden." + +#: application/Updater.php:577 +msgid "Unable to write updates in " +msgstr "Es ist nicht möglich Updates zu schreiben in " + +#: application/Utils.php:376 tests/UtilsTest.php:340 +msgid "Setting not set" +msgstr "Einstellung nicht gesetzt" + +#: application/Utils.php:383 tests/UtilsTest.php:338 tests/UtilsTest.php:339 +msgid "Unlimited" +msgstr "Unbegrenzt" + +#: application/Utils.php:386 tests/UtilsTest.php:335 tests/UtilsTest.php:336 +#: tests/UtilsTest.php:350 +msgid "B" +msgstr "B" + +#: application/Utils.php:386 tests/UtilsTest.php:329 tests/UtilsTest.php:330 +#: tests/UtilsTest.php:337 +msgid "kiB" +msgstr "kiB" + +#: application/Utils.php:386 tests/UtilsTest.php:331 tests/UtilsTest.php:332 +#: tests/UtilsTest.php:348 tests/UtilsTest.php:349 +msgid "MiB" +msgstr "MiB" + +#: application/Utils.php:386 tests/UtilsTest.php:333 tests/UtilsTest.php:334 +msgid "GiB" +msgstr "GiB" + +#: application/config/ConfigJson.php:52 application/config/ConfigPhp.php:121 +msgid "" +"Shaarli could not create the config file. Please make sure Shaarli has the " +"right to write in the folder is it installed in." +msgstr "" +"Shaarli konnte die Konfigurationsdatei nicht erstellen. Bitte stelle sicher, " +"dass Shaarli das Recht hat, in den Ordner zu schreiben, in dem es " +"installiert ist." + +#: application/config/ConfigManager.php:135 +msgid "Invalid setting key parameter. String expected, got: " +msgstr "" +"Ungültiger Parameter für den Einstellungsschlüssel. Zeichenfolge erwartet, " +"erhalten: " + +#: application/config/exception/MissingFieldConfigException.php:21 +#, php-format +msgid "Configuration value is required for %s" +msgstr "Konfigurationswert erforderlich für %s" + +#: application/config/exception/PluginConfigOrderException.php:15 +msgid "An error occurred while trying to save plugins loading order." +msgstr "" +"Beim Versuch, die Ladereihenfolge der Plugins zu speichern, ist ein Fehler " +"aufgetreten." + +#: application/config/exception/UnauthorizedConfigException.php:16 +msgid "You are not authorized to alter config." +msgstr "Du bist nicht berechtigt, die Konfiguration zu ändern." + +#: application/exceptions/IOException.php:19 +msgid "Error accessing" +msgstr "Fehler beim Zugriff" + +#: index.php:142 +msgid "Shared links on " +msgstr "Geteilte Links auf " + +#: index.php:164 +msgid "Insufficient permissions:" +msgstr "Unzureichende Berechtigungen:" + +#: index.php:303 +msgid "I said: NO. You are banned for the moment. Go away." +msgstr "Ich sagte NEIN. Du bist für den Moment gesperrt. Verschwinde." + +#: index.php:368 +msgid "Wrong login/password." +msgstr "Falscher Loging/Passwort." + +#: index.php:576 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:42 +msgid "Daily" +msgstr "Täglich" + +#: index.php:681 tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:95 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:71 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:95 +msgid "Login" +msgstr "Einloggen" + +#: index.php:722 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:39 +msgid "Picture wall" +msgstr "Bildwand" + +#: index.php:770 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:36 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 +msgid "Tag cloud" +msgstr "Tag Cloud" + +#: index.php:803 tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 +msgid "Tag list" +msgstr "Tag Liste" + +#: index.php:1028 tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:31 +msgid "Tools" +msgstr "Tools" + +#: index.php:1037 +msgid "You are not supposed to change a password on an Open Shaarli." +msgstr "Du darfst kein Passwort für ein offenes Shaarli ändern." + +#: index.php:1042 index.php:1084 index.php:1160 index.php:1191 index.php:1291 +msgid "Wrong token." +msgstr "Falsches Zeichen." + +#: index.php:1047 +msgid "The old password is not correct." +msgstr "Das alte Passwort ist nicht korrekt." + +#: index.php:1067 +msgid "Your password has been changed" +msgstr "Dein Passwort wurde geändert" + +#: index.php:1072 +#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29 +msgid "Change password" +msgstr "Passwort ändern" + +#: index.php:1120 +msgid "Configuration was saved." +msgstr "Konfiguration wurde gespeichert." + +#: index.php:1143 tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +msgid "Configure" +msgstr "Konfigurieren" + +#: index.php:1154 tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +msgid "Manage tags" +msgstr "Tags verwalten" + +#: index.php:1172 +#, php-format +msgid "The tag was removed from %d link." +msgid_plural "The tag was removed from %d links." +msgstr[0] "Der Tag wurde aus dem Link %d entfernt." +msgstr[1] "Der Tag wurde aus den Links %d entfernt." + +#: index.php:1173 +#, php-format +msgid "The tag was renamed in %d link." +msgid_plural "The tag was renamed in %d links." +msgstr[0] "Der Tag wurde im Link %d umbenannt." +msgstr[1] "Der Tag wurde in den Links %d umbenannt." + +#: index.php:1181 tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:13 +msgid "Shaare a new link" +msgstr "Teile einen neuen Link" + +#: index.php:1351 tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170 +msgid "Edit" +msgstr "Bearbeiten" + +#: index.php:1351 index.php:1421 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:26 +msgid "Shaare" +msgstr "Teilen" + +#: index.php:1390 +msgid "Note: " +msgstr "Notiz: " + +#: index.php:1430 tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:65 +msgid "Export" +msgstr "Exportieren" + +#: index.php:1492 tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:83 +msgid "Import" +msgstr "Importieren" + +#: index.php:1502 +#, php-format +msgid "" +"The file you are trying to upload is probably bigger than what this " +"webserver can accept (%s). Please upload in smaller chunks." +msgstr "" +"Die Datei, die du hochladen möchtest, ist wahrscheinlich größer als das, was " +"dieser Webserver akzeptieren kann (%s). Bitte lade in kleineren Blöcken hoch." + +#: index.php:1541 tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:26 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 +msgid "Plugin administration" +msgstr "Plugin Adminstration" + +#: index.php:1706 +msgid "Search: " +msgstr "Suche: " + +#: index.php:1933 +#, php-format +msgid "" +"

Sessions do not seem to work correctly on your server.
Make sure the " +"variable \"session.save_path\" is set correctly in your PHP config, and that " +"you have write access to it.
It currently points to %s.
On some " +"browsers, accessing your server via a hostname like 'localhost' or any " +"custom hostname without a dot causes cookie storage to fail. We recommend " +"accessing your server via it's IP address or Fully Qualified Domain Name.
" +msgstr "" +"
Sessions scheinen auf deinem Server nicht korrekt zu funktionieren. "
+"
Stelle sicher, dass die Variable \"session.save_path\" in deiner PHP-" +"Konfiguration richtig eingestellt ist und dass du Schreibzugriff darauf hast." +"
Es verweist aktuell auf %s.
Bei einigen Browsern führt der Zugriff " +"auf deinen Server über einen Hostnamen wie \"localhost\" oder einen " +"beliebigen benutzerdefinierten Hostnamen ohne Punkt dazu, dass der Cookie-" +"Speicher fehlschlägt. Wir empfehlen den Zugriff auf deinen Server über die " +"IP-Adresse oder den Fully Qualified Domain Namen.
" + +#: index.php:1943 +msgid "Click to try again." +msgstr "Klicke um es erneut zu versuchen." + +#: plugins/addlink_toolbar/addlink_toolbar.php:29 +msgid "URI" +msgstr "URI" + +#: plugins/addlink_toolbar/addlink_toolbar.php:33 +#: tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 +msgid "Add link" +msgstr "Link hinzufügen" + +#: plugins/addlink_toolbar/addlink_toolbar.php:50 +msgid "Adds the addlink input on the linklist page." +msgstr "Fügt die Link-hinzufügen-Eingabe auf der Linkliste hinzu." + +#: plugins/archiveorg/archiveorg.php:23 +msgid "View on archive.org" +msgstr "Auf archive.org ansehen" + +#: plugins/archiveorg/archiveorg.php:36 +msgid "For each link, add an Archive.org icon." +msgstr "Füge für jeden Link ein Archive.org Symbol hinzu." + +#: plugins/demo_plugin/demo_plugin.php:465 +msgid "" +"A demo plugin covering all use cases for template designers and plugin " +"developers." +msgstr "" +"Ein Demo-Plugin, das alle Anwendungsfälle für Template-Designer und Plugin-" +"Entwickler abdeckt." + +#: plugins/isso/isso.php:20 +msgid "" +"Isso plugin error: Please define the \"ISSO_SERVER\" setting in the plugin " +"administration page." +msgstr "" +"Isso Plugin Fehler: Bitte definiere die Einstellung \"ISSO_SERVER\" auf der " +"Plugin-Administrationsseite." + +#: plugins/isso/isso.php:63 +msgid "Let visitor comment your shaares on permalinks with Isso." +msgstr "" +"Lassen Sie Besucher ihre geteilten Links auf Permalinks mit Isso " +"kommentieren." + +#: plugins/isso/isso.php:64 +msgid "Isso server URL (without 'http://')" +msgstr "Isso Server URL (ohne 'http://')" + +#: plugins/markdown/markdown.php:158 +msgid "Description will be rendered with" +msgstr "Die Beschreibung wird dargestellt mit" + +#: plugins/markdown/markdown.php:159 +msgid "Markdown syntax documentation" +msgstr "Markdown Syntax Dokumentation" + +#: plugins/markdown/markdown.php:160 +msgid "Markdown syntax" +msgstr "Markdown Syntax" + +#: plugins/markdown/markdown.php:339 +msgid "" +"Render shaare description with Markdown syntax.
Warning:\n" +"If your shaared descriptions contained HTML tags before enabling the " +"markdown plugin,\n" +"enabling it might break your page.\n" +"See the README." +msgstr "" +"Übertrage Teilen Beschreibung mit Markdown-Syntax.
Warnung:\n" +"Wenn deine Teilen Beschreibungen HTML-Tags enthielten, bevor das Markdown-" +"Plugin aktiviert wurde,\n" +"kann es deine Seite beschädigen, solltest du es aktivieren.\n" +"Weitere Informationen findest du in der README." + +#: plugins/piwik/piwik.php:21 +msgid "" +"Piwik plugin error: Please define PIWIK_URL and PIWIK_SITEID in the plugin " +"administration page." +msgstr "" +"Piwik-Plugin-Fehler: Bitte definiere die PIWIK_URL und PIWIK_SITEID auf der " +"Plugin-Administrationsseite." + +#: plugins/piwik/piwik.php:70 +msgid "A plugin that adds Piwik tracking code to Shaarli pages." +msgstr "" +"Ein Plugin, das einen Piwik-Tracking-Code auf Shaarli-Seiten hinzufügt." + +#: plugins/piwik/piwik.php:71 +msgid "Piwik URL" +msgstr "Piwik URL" + +#: plugins/piwik/piwik.php:72 +msgid "Piwik site ID" +msgstr "Piwik site ID" + +#: plugins/playvideos/playvideos.php:22 +msgid "Video player" +msgstr "Videoplayer" + +#: plugins/playvideos/playvideos.php:25 +msgid "Play Videos" +msgstr "Videos abspielen" + +#: plugins/playvideos/playvideos.php:56 +msgid "Add a button in the toolbar allowing to watch all videos." +msgstr "" +"Fügt eine Schaltfläche in der Symbolleiste hinzu, mit der man alle Videos " +"ansehen kann." + +#: plugins/playvideos/youtube_playlist.js:214 +msgid "plugins/playvideos/jquery-1.11.2.min.js" +msgstr "plugins/playvideos/jquery-1.11.2.min.js" + +#: plugins/pubsubhubbub/pubsubhubbub.php:69 +#, php-format +msgid "Could not publish to PubSubHubbub: %s" +msgstr "Veröffentlichung auf PubSubHubbub nicht möglich: %s" + +#: plugins/pubsubhubbub/pubsubhubbub.php:95 +#, php-format +msgid "Could not post to %s" +msgstr "Kann nicht posten auf %s" + +#: plugins/pubsubhubbub/pubsubhubbub.php:99 +#, php-format +msgid "Bad response from the hub %s" +msgstr "Ungültige Antwort vom Hub %s" + +#: plugins/pubsubhubbub/pubsubhubbub.php:110 +msgid "Enable PubSubHubbub feed publishing." +msgstr "Aktiviere PubSubHubbub Feed Veröffentlichung." + +#: plugins/qrcode/qrcode.php:69 plugins/wallabag/wallabag.php:68 +msgid "For each link, add a QRCode icon." +msgstr "Für jeden Link, füge eine QRCode Icon hinzu." + +#: plugins/wallabag/wallabag.php:21 +msgid "" +"Wallabag plugin error: Please define the \"WALLABAG_URL\" setting in the " +"plugin administration page." +msgstr "" +"Wallabag Plugin Fehler: Bitte definiere die Einstellung \"WALLABAG_URL\" auf " +"der Plugin Administrationsseite." + +#: plugins/wallabag/wallabag.php:47 +msgid "Save to wallabag" +msgstr "Auf Wallabag speichern" + +#: plugins/wallabag/wallabag.php:69 +msgid "Wallabag API URL" +msgstr "Wallabag API URL" + +#: plugins/wallabag/wallabag.php:70 +msgid "Wallabag API version (1 or 2)" +msgstr "Wallabag API version (1 oder 2)" + +#: tests/LanguagesTest.php:214 tests/LanguagesTest.php:227 +#: tests/languages/fr/LanguagesFrTest.php:160 +#: tests/languages/fr/LanguagesFrTest.php:173 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:81 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:81 +msgid "Search" +msgid_plural "Search" +msgstr[0] "Suche" +msgstr[1] "Suchen" + +#: tmp/404.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12 +msgid "Sorry, nothing to see here." +msgstr "Entschuldige, hier gibt es nichts zu sehen." + +#: tmp/addlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "URL or leave empty to post a note" +msgstr "URL oder leer lassen um eine Notiz hinzuzufügen" + +#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "Current password" +msgstr "Aktuelles Passwort" + +#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 +msgid "New password" +msgstr "Neues Passwort" + +#: tmp/changepassword.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 +msgid "Change" +msgstr "Wechseln" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:77 +msgid "Tag" +msgstr "Tag" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +msgid "New name" +msgstr "Neuer Name" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 +msgid "Case sensitive" +msgstr "Groß- / Kleinschreibung-unterscheidend" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 +msgid "Rename" +msgstr "Umbenennen" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:79 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:172 +msgid "Delete" +msgstr "Löschen" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 +msgid "You can also edit tags in the" +msgstr "Du kannst auch Tags bearbeiten in der" + +#: tmp/changetag.b91ef64efc3688266305ea9b42e5017e.rtpl.php:39 +msgid "tag list" +msgstr "Tag Liste" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29 +msgid "title" +msgstr "Titel" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43 +msgid "Home link" +msgstr "Home Link" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 +msgid "Default value" +msgstr "Standardwert" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:58 +msgid "Theme" +msgstr "Thema" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:87 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:78 +msgid "Language" +msgstr "Sprache" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:116 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:102 +msgid "Timezone" +msgstr "Zeitzone" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103 +msgid "Continent" +msgstr "Kontinent" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:103 +msgid "City" +msgstr "Stadt" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:164 +msgid "Disable session cookie hijacking protection" +msgstr "Deaktiviere Session Cookie Hijacking Schutz" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:166 +msgid "Check this if you get disconnected or if your IP address changes often" +msgstr "" +"Überprüfe dies, wenn die Verbindung getrennt wird oder wenn sich deine IP-" +"Adresse häufig ändert" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:183 +msgid "Private links by default" +msgstr "Standardmäßig Private Links" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:184 +msgid "All new links are private by default" +msgstr "Alle neuen Links sind standardmäßig privat" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199 +msgid "RSS direct links" +msgstr "RSS Direkt Links" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:200 +msgid "Check this to use direct URL instead of permalink in feeds" +msgstr "" +"Aktivieren diese Option, um direkte URLs anstelle von Permalinks in Feeds zu " +"verwenden" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:215 +msgid "Hide public links" +msgstr "Verstecke öffentliche Links" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:216 +msgid "Do not show any links if the user is not logged in" +msgstr "Zeige keine Links, wenn der Benutzer nicht angemeldet ist" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:231 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150 +msgid "Check updates" +msgstr "Auf Updates prüfen" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:232 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:152 +msgid "Notify me when a new release is ready" +msgstr "Benachrichtige mich, wenn eine neue Version zur Verfügung steht" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:247 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169 +msgid "Enable REST API" +msgstr "Aktiviere REST API" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:248 +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:170 +msgid "Allow third party software to use Shaarli such as mobile application" +msgstr "" +"Erlaube Software von Drittanbietern für Shaarli, wie z.B. die mobile " +"Anwendung" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:263 +msgid "API secret" +msgstr "API secret" + +#: tmp/configure.b91ef64efc3688266305ea9b42e5017e.rtpl.php:274 +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:139 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:199 +msgid "Save" +msgstr "Speichern" + +#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 +msgid "The Daily Shaarli" +msgstr "Der tägliche Shaarli" + +#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17 +msgid "1 RSS entry per day" +msgstr "1 RSS Eintrag pro Tag" + +#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:37 +msgid "Previous day" +msgstr "Vorheriger Tag" + +#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 +msgid "All links of one day in a single page." +msgstr "Alle Links eines Tages auf einer Seite." + +#: tmp/daily.b91ef64efc3688266305ea9b42e5017e.rtpl.php:51 +msgid "Next day" +msgstr "Nächster Tag" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25 +msgid "Created:" +msgstr "Erstellt:" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 +msgid "URL" +msgstr "URL" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 +msgid "Title" +msgstr "Titel" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:40 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:75 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:99 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:124 +msgid "Description" +msgstr "Beschreibung" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46 +msgid "Tags" +msgstr "Tags" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:59 +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:168 +msgid "Private" +msgstr "Privat" + +#: tmp/editlink.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 +msgid "Apply Changes" +msgstr "Änderungen übernehmen" + +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "Export Database" +msgstr "Exportiere Datenbank" + +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +msgid "Selection" +msgstr "Beschreibung" + +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 +msgid "All" +msgstr "Alle" + +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 +msgid "Public" +msgstr "Öffentlich" + +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:52 +msgid "Prepend note permalinks with this Shaarli instance's URL" +msgstr "Voranstellen von Notizen-Permalinks mit der URL dieser Shaarli-Instanz" + +#: tmp/export.b91ef64efc3688266305ea9b42e5017e.rtpl.php:53 +msgid "Useful to import bookmarks in a web browser" +msgstr "Sinnvoll Lesezeichen im Browser zu importieren" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "Import Database" +msgstr "Importiere Datenbank" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:23 +msgid "Maximum size allowed:" +msgstr "Maximale Größe erlaubt:" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29 +msgid "Visibility" +msgstr "Sichtbarkeit" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +msgid "Use values from the imported file, default to public" +msgstr "Verwende Werte aus der importierten Datei, standardmäßig öffentlich" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 +msgid "Import all bookmarks as private" +msgstr "Importiere alle Lesezeichen als Privat" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46 +msgid "Import all bookmarks as public" +msgstr "Importiere alles Lesezeichen als öffentlich" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:57 +msgid "Overwrite existing bookmarks" +msgstr "Überschreibe alle bestehenden Lesezeichen" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:58 +msgid "Duplicates based on URL" +msgstr "Duplikate basierend auf URL" + +#: tmp/import.b91ef64efc3688266305ea9b42e5017e.rtpl.php:72 +msgid "Add default tags" +msgstr "Standard-Tag hinzufügen" + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:22 +msgid "Install Shaarli" +msgstr "Installiere Shaarli" + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:25 +msgid "It looks like it's the first time you run Shaarli. Please configure it." +msgstr "" +"Es sieht so aus, als ob du Shaarli das erste mal verwendest. Bitte " +"konfiguriere es." + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:33 +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:30 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:147 +msgid "Username" +msgstr "Benutzername" + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:148 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:148 +msgid "Password" +msgstr "Passwort" + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:63 +msgid "Shaarli title" +msgstr "Shaarli Titel" + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:69 +msgid "My links" +msgstr "Meine Links" + +#: tmp/install.b91ef64efc3688266305ea9b42e5017e.rtpl.php:182 +msgid "Install" +msgstr "Installiere" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:80 +msgid "shaare" +msgid_plural "shaares" +msgstr[0] "Teile" +msgstr[1] "Teilen" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:18 +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:84 +msgid "private link" +msgid_plural "private links" +msgstr[0] "Privater Link" +msgstr[1] "Private Links" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:31 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:117 +msgid "Search text" +msgstr "Text durchsuchen" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:38 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:124 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:124 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:64 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:36 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 +msgid "Filter by tag" +msgstr "Nach Tag filtern" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:111 +msgid "Nothing found." +msgstr "Nichts gefunden." + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:119 +#, php-format +msgid "%s result" +msgid_plural "%s results" +msgstr[0] "%s Ergebnis" +msgstr[1] "%s Ergebnisse" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:123 +msgid "for" +msgstr "für" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:130 +msgid "tagged" +msgstr "markiert" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 +msgid "Remove tag" +msgstr "Tag entfernen" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:143 +msgid "with status" +msgstr "mit Status" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:154 +msgid "without any tag" +msgstr "ohne irgendeinen Tag" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:174 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:42 +msgid "Fold" +msgstr "Ablegen" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:176 +msgid "Edited: " +msgstr "Bearbeitet: " + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:180 +msgid "permalink" +msgstr "Permalink" + +#: tmp/linklist.b91ef64efc3688266305ea9b42e5017e.rtpl.php:182 +msgid "Add tag" +msgstr "Tag hinzufügen" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:7 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:7 +msgid "Filters" +msgstr "Filter" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:12 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:12 +msgid "Only display private links" +msgstr "Zeige nur private Links" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:15 +msgid "Only display public links" +msgstr "Zeige nur öffentliche Links" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:20 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:20 +msgid "Filter untagged links" +msgstr "Unmarkierte Tags filtern" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:24 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:76 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:43 +msgid "Fold all" +msgstr "Alles ablegen" + +#: tmp/linklist.paging.b91ef64efc3688266305ea9b42e5017e.rtpl.php:69 +#: tmp/linklist.paging.cedf684561d925457130839629000a81.rtpl.php:69 +msgid "Links per page" +msgstr "Links pro Seite" + +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 +msgid "" +"You have been banned after too many failed login attempts. Try again later." +msgstr "" +"Du wurdest nach zu vielen fehlgeschlagenen Anmeldeversuchen gesperrt. " +"Versuche es später noch einmal." + +#: tmp/loginform.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:151 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:151 +msgid "Remember me" +msgstr "Erinnere dich an mich" + +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:14 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:48 +msgid "by the Shaarli community" +msgstr "von der Shaarli Community" + +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:15 +msgid "Documentation" +msgstr "Dokumentation" + +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:44 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:44 +msgid "Expand" +msgstr "Erweitern" + +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:45 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:45 +msgid "Expand all" +msgstr "Alles erweitern" + +#: tmp/page.footer.b91ef64efc3688266305ea9b42e5017e.rtpl.php:46 +#: tmp/page.footer.cedf684561d925457130839629000a81.rtpl.php:46 +msgid "Are you sure you want to delete this link?" +msgstr "Bist du sicher das du diesen Link löschen möchtest?" + +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:61 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:61 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:86 +msgid "RSS Feed" +msgstr "RSS Feed" + +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:66 +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:102 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:66 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:102 +msgid "Logout" +msgstr "Ausloggen" + +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:169 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:169 +msgid "is available" +msgstr "ist verfügbar" + +#: tmp/page.header.b91ef64efc3688266305ea9b42e5017e.rtpl.php:176 +#: tmp/page.header.cedf684561d925457130839629000a81.rtpl.php:176 +msgid "Error" +msgstr "Fehler" + +#: tmp/picwall.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "Picture Wall" +msgstr "Bildwand" + +#: tmp/picwall.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "pics" +msgstr "Bilder" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:15 +msgid "You need to enable Javascript to change plugin loading order." +msgstr "" +"Du musst Javascript aktivieren um die Ladereihenfolge der Plugins zu ändern." + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:29 +msgid "Enabled Plugins" +msgstr "Aktivierte Plugins" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:34 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:155 +msgid "No plugin enabled." +msgstr "Kein Plugin aktiviert." + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:40 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:73 +msgid "Disable" +msgstr "Deaktivieren" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:74 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:98 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:123 +msgid "Name" +msgstr "Name" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:43 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76 +msgid "Order" +msgstr "Reihenfolge" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 +msgid "Disabled Plugins" +msgstr "Deaktivierte Plugins" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:91 +msgid "No plugin disabled." +msgstr "Kein Plugin deaktiviert." + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:97 +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:122 +msgid "Enable" +msgstr "Aktiviere" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 +msgid "More plugins available" +msgstr "Weitere Plugins verfügbar" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:136 +msgid "in the documentation" +msgstr "In der Dokumentation" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:150 +msgid "Plugin configuration" +msgstr "Plugin Konfiguration" + +#: tmp/pluginsadmin.b91ef64efc3688266305ea9b42e5017e.rtpl.php:195 +msgid "No parameter available." +msgstr "Kein Parameter verfügbar." + +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:19 +msgid "tags" +msgstr "Tags" + +#: tmp/tag.cloud.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +#: tmp/tag.list.b91ef64efc3688266305ea9b42e5017e.rtpl.php:24 +msgid "List all links with those tags" +msgstr "Zeige alle Links mit diesen Tags" + +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:3 +#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:3 +msgid "Sort by:" +msgstr "Sortiere nach:" + +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:5 +#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:5 +msgid "Cloud" +msgstr "Cloud" + +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:6 +#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:6 +msgid "Most used" +msgstr "Am meisten verwendet" + +#: tmp/tag.sort.b91ef64efc3688266305ea9b42e5017e.rtpl.php:7 +#: tmp/tag.sort.cedf684561d925457130839629000a81.rtpl.php:7 +msgid "Alphabetical" +msgstr "Alphabetisch" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:14 +msgid "Settings" +msgstr "Einstellungen" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:16 +msgid "Change Shaarli settings: title, timezone, etc." +msgstr "Shaarli Einstellungen ändern: Titel, Zeitzone, usw." + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:17 +msgid "Configure your Shaarli" +msgstr "Shaarli konfigurieren" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:21 +msgid "Enable, disable and configure plugins" +msgstr "Plugins aktivieren, deaktivieren und konfigurieren" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:28 +msgid "Change your password" +msgstr "Ändere dein Passwort" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:35 +msgid "Rename or delete a tag in all links" +msgstr "Umbenennen oder löschen eines Tags in allen Links" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:41 +msgid "" +"Import Netscape HTML bookmarks (as exported from Firefox, Chrome, Opera, " +"delicious...)" +msgstr "" +"Importiere Netscape Lesezeichen (wie aus Firefox exportiert, Chrome, Opera, " +"delicious...)" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:42 +msgid "Import links" +msgstr "Importiere Links" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:47 +msgid "" +"Export Netscape HTML bookmarks (which can be imported in Firefox, Chrome, " +"Opera, delicious...)" +msgstr "" +"Exportiere Netscape HTML Lesezeichen (welche in Firefox importiert werden " +"können, Chrome, Opera, delicious...)" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:48 +msgid "Export database" +msgstr "Exportiere Datenbank" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:71 +msgid "" +"Drag one of these button to your bookmarks toolbar or right-click it and " +"\"Bookmark This Link\"" +msgstr "" +"Ziehe eine dieser Schaltflächen in deine Lesezeichen-Symbolleiste oder " +"klicke mit der rechten Maustaste darauf und \"Speichere diesen Link als " +"Lesezeichen\"" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:72 +msgid "then click on the bookmarklet in any page you want to share." +msgstr "" +"Klicke dann auf das Bookmarklet auf jeder Seite, welches du teilen möchtest." + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:76 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:100 +msgid "" +"Drag this link to your bookmarks toolbar or right-click it and Bookmark This " +"Link" +msgstr "" +"Ziehe diese Link in deine Lesezeichen-Symbolleiste oder klicke mit der " +"rechten Maustaste darauf und \"Speichere diesen Link als Lesezeichen\"" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:77 +msgid "then click ✚Shaare link button in any page you want to share" +msgstr "" +"klicke dann auf die Schaltfläche ✚Teilen auf jeder Seite, die du teilen " +"möchtest" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:86 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:108 +msgid "The selected text is too long, it will be truncated." +msgstr "Der ausgewählte Text ist zu lang, er wird gekürzt." + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:96 +msgid "Shaare link" +msgstr "Teile Link" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:101 +msgid "" +"Then click ✚Add Note button anytime to start composing a private Note (text " +"post) to your Shaarli" +msgstr "" +"Klicke auf ✚Notiz hinzufügen um eine private Notiz (Textnachricht) zu " +"Shaarli hinzuzufügen" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:117 +msgid "Add Note" +msgstr "Notiz hinzufügen" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:129 +msgid "" +"You need to browse your Shaarli over HTTPS to use this " +"functionality." +msgstr "" +"Um diese Funktion nutzen zu können, musst du Shaarli über HTTPS aufrufen." + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:134 +msgid "Add to" +msgstr "Hinzufügen zu" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:145 +msgid "3rd party" +msgstr "Von Dritten" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:147 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:153 +msgid "Plugin" +msgstr "Plugin" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:148 +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:154 +msgid "plugin" +msgstr "Plugin" + +#: tmp/tools.b91ef64efc3688266305ea9b42e5017e.rtpl.php:175 +msgid "" +"Drag this link to your bookmarks toolbar, or right-click it and choose " +"Bookmark This Link" +msgstr "" +"Ziehe diesen Link in deine Lesezeichen-Symbolleiste oder klicke mit der " +"rechten Maustaste darauf und wähle \"Speichere diesen Link als Lesezeichen\"" From 8d2cac1be604accc884b4535788b3cae32b9b4d4 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Tue, 1 May 2018 16:40:08 +0200 Subject: [PATCH 056/141] Fix parameter order which was preventing max_dl parameter to work properly --- index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.php b/index.php index dbc2bb3..2fe3f82 100644 --- a/index.php +++ b/index.php @@ -1376,8 +1376,8 @@ function renderPage($conf, $pluginManager, $LINKSDB, $history, $sessionManager, // The callback will fill $charset and $title with data from the downloaded page. get_http_response( $url, - $conf->get('general.download_max_size', 4194304), $conf->get('general.download_timeout', 30), + $conf->get('general.download_max_size', 4194304), get_curl_download_callback($charset, $title) ); if (! empty($title) && strtolower($charset) != 'utf-8') { From a1b727efb78b12566098a05073cb928198cf2797 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Tue, 1 May 2018 16:44:51 +0200 Subject: [PATCH 057/141] Support redirection in cURL download callback --- application/LinkUtils.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/application/LinkUtils.php b/application/LinkUtils.php index 3705f7e..4df5c0c 100644 --- a/application/LinkUtils.php +++ b/application/LinkUtils.php @@ -11,6 +11,7 @@ */ function get_curl_download_callback(&$charset, &$title, $curlGetInfo = 'curl_getinfo') { + $isRedirected = false; /** * cURL callback function for CURLOPT_WRITEFUNCTION (called during the download). * @@ -22,16 +23,24 @@ function get_curl_download_callback(&$charset, &$title, $curlGetInfo = 'curl_get * * @return int|bool length of $data or false if we need to stop the download */ - return function(&$ch, $data) use ($curlGetInfo, &$charset, &$title) { + return function(&$ch, $data) use ($curlGetInfo, &$charset, &$title, &$isRedirected) { $responseCode = $curlGetInfo($ch, CURLINFO_RESPONSE_CODE); - if (!empty($responseCode) && $responseCode != 200) { + if (!empty($responseCode) && in_array($responseCode, [301, 302])) { + $isRedirected = true; + return strlen($data); + } + if (!empty($responseCode) && $responseCode !== 200) { return false; } - $contentType = $curlGetInfo($ch, CURLINFO_CONTENT_TYPE); + // After a redirection, the content type will keep the previous request value + // until it finds the next content-type header. + if (! $isRedirected || strpos(strtolower($data), 'content-type') !== false) { + $contentType = $curlGetInfo($ch, CURLINFO_CONTENT_TYPE); + } if (!empty($contentType) && strpos($contentType, 'text/html') === false) { return false; } - if (empty($charset)) { + if (!empty($contentType) && empty($charset)) { $charset = header_extract_charset($contentType); } if (empty($charset)) { From 16d35cf77e0b650091a5a91a3c2d2c61631eb1cb Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 31 Mar 2018 13:49:07 +0200 Subject: [PATCH 058/141] Use Travis stages to run JS tests separately --- .editorconfig | 2 +- .travis.yml | 41 +++++++++++++++++++++++++++++++---------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/.editorconfig b/.editorconfig index 8783e4c..f0d83ee 100644 --- a/.editorconfig +++ b/.editorconfig @@ -10,7 +10,7 @@ trim_trailing_whitespace = true indent_style = space indent_size = 4 -[*.{htaccess,html,js,json,xml}] +[*.{htaccess,html,js,json,xml,yml}] indent_size = 2 [*.php] diff --git a/.travis.yml b/.travis.yml index 1b2bf97..14b91cf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,23 +1,44 @@ sudo: false dist: trusty -language: php + +matrix: + include: + - language: php + php: 7.2 + - language: php + php: 7.1 + - language: php + php: 7.0 + - language: php + php: 5.6 + - language: node_js + node_js: 8 + cache: + yarn: true + directories: + - $HOME/.cache/yarn + + install: + - yarn install + + before_script: + - PATH=${PATH//:\.\/node_modules\/\.bin/} + + script: + - yarn run build # Just to be sure that the build isn't broken + - make eslint + cache: - yarn: true directories: - $HOME/.composer/cache - - $HOME/.cache/yarn -php: - - 7.2 - - 7.1 - - 7.0 - - 5.6 + install: - - yarn install - composer install --prefer-dist + before_script: - PATH=${PATH//:\.\/node_modules\/\.bin/} + script: - make clean - make check_permissions - - make eslint - make all_tests From c69585f30350876c3f9a9b090ff1165c3ec98b79 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Thu, 10 May 2018 13:25:07 +0200 Subject: [PATCH 059/141] Reformat default theme SCSS to match SASS rules --- assets/default/scss/shaarli.scss | 2088 ++++++++++++++++-------------- 1 file changed, 1138 insertions(+), 950 deletions(-) diff --git a/assets/default/scss/shaarli.scss b/assets/default/scss/shaarli.scss index 25440de..09d5efb 100644 --- a/assets/default/scss/shaarli.scss +++ b/assets/default/scss/shaarli.scss @@ -1,1357 +1,1545 @@ -$fa-font-path: "~font-awesome/fonts"; +$fa-font-path: '~font-awesome/fonts'; -@import "~font-awesome/scss/font-awesome.scss"; +@import '~font-awesome/scss/font-awesome'; @import '~purecss/build/pure.css'; @import '~purecss/build/grids-responsive.css'; @import '~pure-extras/css/pure-extras.css'; @import '~awesomplete/awesomplete.css'; -/** - * General - */ +$white: #fff; +$black: #000; +$almost-white: #f5f5f5; +$dark-grey: #252525; +$light-grey: #797979; +$main-green: #1b926c; +$light-green: #b0ddce; +$dark-green: #2a4c41; +$red: #ac2925; +$orange: #f89406; +$blue: #0b5ea6; +$background-color: #d0d0d0; +$background-linklist-info: #ddd; +$light-shadow: rgba(255, 255, 255, .078); +$dark-shadow: rgba(0, 0, 0, .298); +$warning-text: #97600d; +$form-input-border: #d8d8d8; +$form-input-background: #eee; + +// General body { - background: #d0d0d0; + background: $background-color; } .strong { - font-weight: bold; + font-weight: bold; } .clear { - clear: both; + clear: both; } .center { - text-align: center; - margin: auto; + margin: auto; + text-align: center; } .label { - display: inline-block; - padding: .25em .4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: .25rem; + display: inline-block; + border-radius: .25rem; + padding: .25em .4em; + vertical-align: baseline; + text-align: center; + line-height: 1; + white-space: nowrap; + font-size: 75%; + font-weight: 700; } pre { - max-width: 100%; + max-width: 100%; } @font-face { - font-family: 'Roboto'; - font-weight: 400; - font-style: normal; - src: - local('Roboto'), - local('Roboto-Regular'), - url('../fonts/Roboto-Regular.woff2') format('woff2'), - url('../fonts/Roboto-Regular.woff') format('woff'); + font-family: 'Roboto'; + font-weight: 400; + font-style: normal; + src: local('Roboto'), + local('Roboto-Regular'), + url('../fonts/Roboto-Regular.woff2') format('woff2'), + url('../fonts/Roboto-Regular.woff') format('woff'); } @font-face { - font-family: 'Roboto'; - font-weight: 700; - font-style: normal; - src: - local('Roboto'), - local('Roboto-Bold'), - url('../fonts/Roboto-Bold.woff2') format('woff2'), - url('../fonts/Roboto-Bold.woff') format('woff'); + font-family: 'Roboto'; + font-weight: 700; + font-style: normal; + src: local('Roboto'), + local('Roboto-Bold'), + url('../fonts/Roboto-Bold.woff2') format('woff2'), + url('../fonts/Roboto-Bold.woff') format('woff'); } -body, .pure-g [class*="pure-u"] { - font-family: Roboto, Arial, sans-serif; +body, +.pure-g [class*='pure-u'] { + font-family: Roboto, Arial, sans-serif; +} + +// Extends Pure grids responsive to hide items. +// Use xx-0 to hide an item on xx screen. +// Display it at any level with xx-visible. +.pure-u-0 { + display: none !important; } -/** - * Extends Pure grids responsive to hide items. - * Use xx-0 to hide an item on xx screen. - * Display it at any level with xx-visible. - */ -.pure-u-0 { display: none !important; } @media screen and (min-width: 35.5em) { - .pure-u-sm-0 { display: none !important; } - .pure-u-sm-visible { display: inline-block !important; } -} -@media screen and (min-width: 48em) { - .pure-u-md-0 { display: none !important; } - .pure-u-md-visible { display: inline-block !important; } -} -@media screen and (min-width: 64em) { - .pure-u-lg-0 { display: none !important; } - .pure-u-lg-visible { display: inline-block !important; } -} -@media screen and (min-width: 80em) { - .pure-u-xl-0 { display: none !important; } - .pure-u-xl-visible { display: inline-block !important; } + .pure-u-sm-0 { + display: none !important; + } + + .pure-u-sm-visible { + display: inline-block !important; + } } -/** - * Make pure-extras alert closable. - */ -.pure-alert-closable .fa-times { - float: right; +@media screen and (min-width: 48em) { + .pure-u-md-0 { + display: none !important; + } + + .pure-u-md-visible { + display: inline-block !important; + } } + +@media screen and (min-width: 64em) { + .pure-u-lg-0 { + display: none !important; + } + + .pure-u-lg-visible { + display: inline-block !important; + } +} + +@media screen and (min-width: 80em) { + .pure-u-xl-0 { + display: none !important; + } + + .pure-u-xl-visible { + display: inline-block !important; + } +} + +// Make pure-extras alert closable. +.pure-alert-closable { + .fa-times { + float: right; + } +} + .pure-alert-close { - cursor: pointer; + cursor: pointer; } .pure-alert-success { - background-color: #1b926c; + background-color: $main-green; } -.anchor:target { +.anchor { + &:target { padding-top: 40px; + } } -/** - * MENU - **/ + +// MENU .shaarli-menu { - position: fixed; - top: 0; - width: 100%; - --height: 50px; - background: #1b926c; - -webkit-font-smoothing: antialiased; - /* Hack to transition with auto height: http://stackoverflow.com/a/8331169/1484919 */ - max-height: 45px; - transition: max-height 0.5s; - overflow: hidden; - z-index: 999; -} + position: fixed; + top: 0; + transition: max-height .5s; + z-index: 999; + background: $main-green; + width: 100%; + // Hack to transition with auto height: http://stackoverflow.com/a/8331169/1484919 + max-height: 45px; + overflow: hidden; + -webkit-font-smoothing: antialiased; -/* Chrome bugfix: with 100% height, it only displays the first element. */ -.pure-menu-item { - height: 45px; -} - -.shaarli-menu.open { + &.open { + transition: max-height .75s; max-height: 500px; - transition: max-height 0.75s; + } +} + +.pure-menu-item { + // Chrome bugfix: with 100% height, it only displays the first element. + height: 45px; + + &:hover { + &::after { + display: block; + margin: -4px auto 0; + background: $white; + width: 100%; + height: 4px; + content: ''; + } + } } .head-logo { - float: left; - margin: 0 5px 0 0; + float: left; + margin: 0 5px 0 0; } -.pure-menu-link, -.pure-menu-link:visited, -.pure-menu-selected .pure-menu-link, -.pure-menu-selected .pure-menu-link:visited { - padding: 0.8em 1em; - color: #f5f5f5; +%menu-link { + padding: .8em 1em; + color: $almost-white; } -.pure-menu-link:hover, .pure-menu-link:focus, -.pure-menu-selected .pure-menu-link:hover, -.pure-menu-selected .pure-menu-link:focus { - color: #fff; - background: transparent; +%menu-link-hover { + background: transparent; + color: $white; } -.pure-menu-item:hover::after { - margin: -4px auto 0 auto; - display: block; - content:""; - background: #fff; - height: 4px; - width: 100%; +.pure-menu-link { + @extend %menu-link; + + &:visited { + @extend %menu-link; + } + + &:hover, + &:focus { + @extend %menu-link-hover; + } +} + +.pure-menu-selected { + .pure-menu-link { + @extend %menu-link; + + &:visited { + @extend %menu-link; + } + + &:hover, + &:focus { + @extend %menu-link-hover; + } + } } .menu-toggle { - width: 34px; - height: 45px; - position: absolute; - top: 5px; - right: 0; - display: none; -} + display: none; + position: absolute; + top: 5px; + right: 0; + width: 34px; + height: 45px; -.menu-toggle .bar { - background-color: #b0ddce; + .bar { display: block; - width: 20px; - height: 2px; - border-radius: 100px; position: absolute; top: 18px; right: 7px; - transition: all 0.5s; -} + border-radius: 100px; + background-color: $light-green; + width: 20px; + height: 2px; + transition-duration: .5s; -.menu-toggle .bar:first-child { - transform: translateY(-6px); -} + &:first-child { + transform: translateY(-6px); + } + } -.menu-toggle.x .bar { - transform: rotate(45deg); -} + &.x { + .bar { + transform: rotate(45deg); -.menu-toggle.x .bar:first-child { - transform: rotate(-45deg); + &:first-child { + transform: rotate(-45deg); + } + } + } } @media screen and (max-width: 64em) { - .menu-toggle { - display: block; - } + .menu-toggle { + display: block; + } } .header-buttons { - text-align: right; + text-align: right; } .linkcount { - color: #252525; - font-size: 0.8em; + color: $dark-grey; + font-size: .8em; } @media screen and (min-width: 64em) { - .linkcount { - position: absolute; - right: 5px; + .linkcount { + position: absolute; + right: 5px; + } +} + +.searchform-block { + width: 100%; + text-align: center; + + input { + &[type='text'] { + border: medium none currentColor; + border-radius: 2px; + box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset; + background: $almost-white; + padding: 0 5px; + width: 260px; + height: 30px; + color: $dark-grey; + + &::-webkit-input-placeholder { + color: $light-grey; + } } -} + } -#search, #search-linklist, #search-tagcloud { - text-align: center; - width: 100%; -} - -#search input[type="text"], #search-linklist input[type="text"] { - padding: 0 5px; - height: 30px; - width: 260px; - background: #f5f5f5; - border: medium none currentColor; - box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 1px rgba(0, 0, 0, 0.298) inset; + button { + border: 0; border-radius: 2px; - color: #252525; + background-color: $main-green; + padding: 4px 8px 6px; + color: $almost-white; + } } + @media screen and (max-width: 64em) { - .searchform { - max-width: 260px; - margin: 0 auto; - } + .searchform { + margin: 0 auto; + max-width: 260px; + } } -/* because chrome */ -#search input[type="text"]::-webkit-input-placeholder, -#search-linklist input[type="text"]::-webkit-input-placeholder { - color: #777777; -} - -#search button, -#search-tagcloud button, -#search-linklist button { - padding: 4px 8px 6px 8px; - background-color: #1B926C; - color: #f5f5f5; - border: none; - border-radius: 2px; -} - -#search-tagcloud button { +.search-tagcloud { + button { width: 90%; + } } @media screen and (max-width: 64em) { - #search-linklist button { - width: 100%; + .search-linklist { + button { + width: 100%; } - #search-linklist .awesomplete { - margin: 5px 0; + + .awesomplete { + margin: 5px 0; } + } } -#search button:hover, -#search-linklist button:hover, -#search-tagcloud button:hover { - color: #d0d0d0; +.header-search, +.search-linklist, +.search-tagcloud { + button { + &:hover { + color: $background-color; + } + } } -#search, -#search-linklist { - padding: 6px 0; +.header-search, +.search-linklist { + padding: 6px 0; } @media screen and (max-width: 64em) { - #search, #search * { - visibility: hidden; - } + .header-search , + .header-search * { + visibility: hidden; + } } -.subheader-form a.button { - color: #f5f5f5; - font-weight: bold; - text-decoration: none; - border: 2px solid #f5f5f5; - border-radius: 5px; - padding: 3px 10px; -} - -.linklist-item-editbuttons .delete-checkbox { - display: none; -} - -#header-login-form input[type="text"], #header-login-form input[type="password"] { - width: 200px; -} - -/* because chrome */ -#header-login-form input[type="text"]::-webkit-input-placeholder, -#header-login-form input[type="password"]::-webkit-input-placeholder { - color: #777777; +%subheader-form-input { + border: medium none currentColor; + border-radius: 2px; + box-shadow: 0 1px 0 $light-shadow, 0 1px 4px $dark-shadow inset; + background: $almost-white; + padding: 5px 5px 3px 15px; + width: 20%; + height: 20px; + color: $dark-grey; } .subheader-form { - visibility: hidden; - position: fixed; - width: 100%; - text-align: center; - background: #1b926c; - display: block; - z-index: 999; - height: 30px; - padding: 5px 0; + display: block; + position: fixed; + visibility: hidden; + z-index: 999; + background: $main-green; + padding: 5px 0; + width: 100%; + height: 30px; + text-align: center; + + input { + &[type='text'], + &[type='password'] { + @extend %subheader-form-input; + + &::-webkit-input-placeholder { + color: $dark-grey; + } + } + } + + &[type='submit'] { + display: inline-block; + margin: 0 0 5px; + border: 1px solid $almost-white; + border-radius: 2px; + background: $main-green; + padding: 4px 0; + width: 100px; + height: 28px; + color: $almost-white; + + &:hover { + background: $almost-white; + color: $main-green; + } + } + + .remember-me { + @extend %subheader-form-input; + + display: inline-block; + cursor: pointer; + padding: 5px 20px 3px; + width: auto; + + label, + input { + cursor: pointer; + } + } + + a { + &.button { + border: 2px solid $almost-white; + border-radius: 5px; + padding: 3px 10px; + text-decoration: none; + color: $almost-white; + font-weight: bold; + } + } +} + +.header-login-form { + input { + &[type='text'], + &[type='password'] { + width: 200px; + + // because chrome + &::-webkit-input-placeholder { + color: $light-grey; + } + } + } } @media screen and (min-width: 64em) { - .subheader-form.open, .subheader-form.open * { + .subheader-form { + &.open { + visibility: visible; + + * { visibility: visible; + } } -} - -.subheader-form input[type="text"], .subheader-form input[type="password"], .subheader-form .remember-me { - padding: 5px 5px 3px 15px; - height: 20px; - width: 20%; - background: #f5f5f5; - border: medium none currentColor; - border-radius: 2px; - box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 4px rgba(0, 0, 0, 0.298) inset; - color: #252525; -} - -/* because chrome */ -.subheader-form input[type="text"]::-webkit-input-placeholder, -.subheader-form input[type="password"]::-webkit-input-placeholder -{ - color: #252525; -} - -.subheader-form .remember-me { - display: inline-block; - width: auto; - padding: 5px 20px 3px 20px; - cursor: pointer; -} - -.subheader-form .remember-me label, .subheader-form .remember-me input { - cursor: pointer; -} - -.subheader-form input[type="submit"] { - display: inline-block; - margin: 0 0 5px 0; - padding: 4px 0 4px 0; - height: 28px; - width: 100px; - background: #1b926c; - border: 1px solid #f5f5f5; - color: #f5f5f5; - border-radius: 2px; -} - -.subheader-form input[type="submit"]:hover { - background: #f5f5f5; - color: #1b926c; + } } .new-version-message { - text-align: center; -} + text-align: center; -.new-version-message a { - color: rgb(151, 96, 13); + a { + color: $warning-text; font-weight: bold; + } } -/** - * CONTENT - GENERAL - */ -#content { - position: relative; - z-index: 2; - margin-top: 45px; +// CONTENT - GENERAL +.container { + position: relative; + z-index: 2; + margin-top: 45px; } -/** - * Plugins additional forms - */ +// Plugins additional forms .toolbar-plugin { - margin: 5px 0; - text-align: center; -} + margin: 5px 0; + text-align: center; -.toolbar-plugin input[type="text"] { - padding: 0 5px; - height: 30px; - width: 300px; - background: #f5f5f5; - border: medium none currentColor; - box-shadow: 0 1px 0 rgba(255, 255, 255, 0.078), 0 1px 1px rgba(0, 0, 0, 0.298) inset; - border-radius: 2px; - color: #252525; -} + input { + &[type='text'] { + border: medium none currentColor; + border-radius: 2px; + box-shadow: 0 1px 0 $light-shadow, 0 1px 1px $dark-shadow inset; + background: $almost-white; + padding: 0 5px; + width: 300px; + height: 30px; + color: $dark-grey; -/* because chrome */ -.toolbar-plugin input[type="text"]::-webkit-input-placeholder { - color: #777777; -} + &::-webkit-input-placeholder { + color: $light-grey; + } + } -.toolbar-plugin input[type="submit"] { - padding: 0 10px; - height: 30px; - background: #f5f5f5; - border: medium none currentColor; - border-radius: 2px; - color: #252525; -} + &[type='submit'] { + border: medium none currentColor; + border-radius: 2px; + background: $almost-white; + padding: 0 10px; + height: 30px; + color: $dark-grey; -.toolbar-plugin input[type="submit"]:hover { - background: #fff; + &:hover { + background: $white; + } + } + } } @media screen and (max-width: 64em) { - .toolbar-plugin input[type="text"] { + .toolbar-plugin { + input { + &[type='text'] { width: 70%; - + } } + } } -/** - * CONTENT - LINKLIST PAGING - * 64em -> lg - */ +// CONTENT - LINKLIST PAGING +// 64em -> lg .linklist-filters { - margin: 5px 0; - color: #252525; - font-size: 0.9em; -} + margin: 5px 0; + color: $dark-grey; + font-size: .9em; -.linklist-filters a { + a { padding: 5px 8px; text-decoration: none; -} + } -.linklist-filters .filter-off { - color: #252525; - background: #f5f5f5; -} + .filter-off { + background: $almost-white; + color: $dark-grey; + } -.linklist-filters .filter-on { - color: #b0ddce; - background: #1b926c; -} + .filter-on { + background: $main-green; + color: $light-green; + } -.linklist-filters .filter-block { - color: #f5f5f5; - background: #ac2925; + .filter-block { + background: $red; + color: $almost-white; + } } .linklist-pages { - margin: 5px 0; - color: #252525; - text-align: center; -} + margin: 5px 0; + text-align: center; + color: $dark-grey; -.linklist-pages a { - color: #252525; + a { text-decoration: none; + color: $dark-grey; + + &:hover { + color: $white; + } + } } -.linklist-pages a:hover { - color: #fff; +%linksperpage-button { + display: inline-block; + width: 20px; + text-align: center; } .linksperpage { - margin: 5px 0; - text-align: right; - color: #252525; - font-size: 0.9em; -} + margin: 5px 0; + text-align: right; + color: $dark-grey; + font-size: .9em; -.linksperpage a { - padding: 5px 5px; - text-decoration: none; - color: #252525; - background: #f5f5f5; -} - -.linksperpage a, .linksperpage input[type="text"] { - display: inline-block; - width: 20px; - text-align: center; -} - -.linksperpage form { + form { display: inline; + } + + a { + @extend %linksperpage-button; + + background: $almost-white; + padding: 5px; + text-decoration: none; + color: $dark-grey; + } + + input { + &[type='text'] { + @extend %linksperpage-button; + + margin: 0; + border: medium none currentColor; + background: $almost-white; + padding: 4px 5px 3px 8px; + height: 20px; + color: $dark-grey; + font-size: .8em; + } + } } -.linksperpage input[type="text"] { - height: 20px; - margin: 0; - padding: 4px 5px 3px 8px; - background: #f5f5f5; - border: medium none currentColor; - color: #252525; - font-size: 0.8em; +// CONTENT - LINKLIST ITEMS +%private-border { + display: block; + position: absolute; + top: 0; + left: 3px; + z-index: 1; + background: $orange; + width: 2px; + height: 96%; + content: ''; } -/** - * CONTENT - LINKLIST ITEMS - */ .linklist-item { - margin: 0 0 10px 0; - background: #f5f5f5; - box-shadow: 1px 1px 3px #797979; + margin: 0 0 10px; + box-shadow: 1px 1px 3px $light-grey; + background: $almost-white; + + &.private { + .linklist-item-title { + &::before { + @extend %private-border; + margin-top: 3px; + } + } + + .linklist-item-description { + &::before { + @extend %private-border; + height: 100%; + } + } + } } .linklist-item-buttons { - background: transparent; - position: relative; - width: 23px; - z-index: 99; + position: relative; + z-index: 99; + background: transparent; + width: 23px; } .linklist-item-buttons-right { - float: right; - margin-right: -25px; + float: right; + margin-right: -25px; } .linklist-item-buttons * { - display: block; - float: left; - width:100%; - margin: auto; - text-align: center; -} - -.linklist-item-title, .linklist-item-title h2 { - margin: 0; - word-wrap: break-word; + display: block; + float: left; + margin: auto; + width: 100%; + text-align: center; } .linklist-item-title { - position: relative; - background: #f5f5f5; -} + position: relative; + margin: 0; + background: $almost-white; + word-wrap: break-word; -.linklist-item-title h2 { - padding: 3px 10px 0 10px; + h2 { + margin: 0; + padding: 3px 10px 0; line-height: 30px; -} + word-wrap: break-word; -.linklist-item-title h2 a { - font-size: 0.7em; - color: #252525; - text-decoration: none; - vertical-align: middle; -} + a { + vertical-align: middle; + text-decoration: none; + color: $dark-grey; + font-size: .7em; -.linklist-item-title .linklist-link { + &:visited { + .linklist-link { + color: $dark-green; + } + } + + &:hover { + color: $dark-grey; + } + } + } + + .linklist-link { + color: $main-green; font-size: 1.1em; - color: #1b926c; -} -.linklist-item-title h2 a:visited .linklist-link { - color: #2a4c41; -} + &:hover { + color: $dark-grey; + } + } -.linklist-item-title h2 a:hover, .linklist-item-title .linklist-link:hover{ - color: #252525; -} - - -.linklist-item-title .label-private { - border: solid 1px #F89406; + .label-private { + border: solid 1px $orange; + color: $orange; font-family: Arial, sans-serif; - font-size: 0.65em; - color: #F89406; + font-size: .65em; + } } .fold-button { - display: none; - color: #252525; + display: none; + color: $dark-grey; } .linklist-item-editbuttons { - float: right; - padding: 8px 5px; -} + float: right; + padding: 8px 5px; -.linklist-item-editbuttons * { + * { display: block; float: left; margin: 0 1px; -} + } -.linklist-item-editbuttons a { + a { font-size: 1em; + } + + .delete-checkbox { + display: none; + } } .edit-link { - font-size: 1.2em; - color: #0b5ea6; + color: $blue; + font-size: 1.2em; } .delete-link { - font-size: 1.3em; - color: #ac2925 !important; + color: $red !important; + font-size: 1.3em; } .linklist-item-description { - position: relative; - padding: 0 10px; - word-wrap: break-word; - color: #252525; - line-height: 1.3em; -} + position: relative; + padding: 0 10px; + line-height: 1.3em; + color: $dark-grey; + word-wrap: break-word; -.linklist-item-description a { + a { text-decoration: none; - color: #1b926c; -} + color: $main-green; -.linklist-item-description a:hover { - color: #252525; -} + &:hover { + color: $dark-grey; + } -.linklist-item-description a:visited { - color: #14553f; + &:visited { + color: $dark-green; + } + } } .linklist-item-thumbnail { - position: relative; - padding: 0 0 0 5px; - margin: 0; - float: right; - z-index: 50; - height: 90px; -} - -.linklist-item.private .linklist-item-title::before, -.linklist-item.private .linklist-item-description::before { - position: absolute; - left: 3px; - top: 0; - display: block; - content:""; - background: #F89406; - height: 96%; - width: 2px; - z-index: 1; -} - -.linklist-item.private .linklist-item-description::before { - height: 100%; -} - -.linklist-item.private .linklist-item-title::before { - margin-top: 3px; + position: relative; + float: right; + z-index: 50; + margin: 0; + padding: 0 0 0 5px; + height: 90px; } .linklist-item-infos { - padding: 4px 8px 4px 8px; - background: #ddd; - color: #252525; -} + background: $background-linklist-info; + padding: 4px 8px; + color: $dark-grey; -.linklist-item-infos a { - color: #252525; + a { text-decoration: none; -} + color: $dark-grey; -.linklist-item-infos a:hover { - color: #000; -} + &:hover { + color: $black; + } + } -.linklist-item-infos .linklist-item-tags { - font-size: 0.8em; -} + .linklist-item-tags { + font-size: .8em; + } -.linklist-item-infos .label-tag { + .label-tag { font-size: 1em; -} + } -.linklist-item-infos-dateblock { - font-size: 0.9em; -} - -.linklist-plugin-icon { - width: 13px; - height: 13px; -} - -.linklist-item-infos-url { + .mobile-buttons { text-align: right; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - font-size: 0.8em; - height:23px; - line-height:23px; -} + } -.linklist-item-infos .mobile-buttons { - text-align: right; -} - -.linklist-item-infos .linklist-plugin-icon { + .linklist-plugin-icon { display: inline-block; margin: 0 2px; width: 16px; height: 16px; + } +} + +.linklist-item-infos-dateblock { + font-size: .9em; +} + +.linklist-plugin-icon { + width: 13px; + height: 13px; +} + +.linklist-item-infos-url { + height: 23px; + overflow: hidden; + text-align: right; + text-overflow: ellipsis; + line-height: 23px; + white-space: nowrap; + font-size: .8em; } .linklist-item-infos-controls-group { - display: inline-block; - border-right: 1px solid #5d5d5d; - padding-right: 6px; + display: inline-block; + border-right: 1px solid $light-grey; + padding-right: 6px; } .ctrl-edit { - margin: 0 7px; + margin: 0 7px; } -/** 64em -> lg **/ +// 64em -> lg @media screen and (max-width: 64em) { - .linklist-item-infos-url { - text-align: left; - } + .linklist-item-infos-url { + text-align: left; + } } -/** - * Footer - */ -#footer { - margin: 20px 0; - padding: 5px; - text-align: center; - color: #252525; -} +// Footer +.footer-container { + margin: 20px 0; + padding: 5px; + text-align: center; + color: $dark-grey; -#footer:before { + &::before { display: block; - content:""; - background: linear-gradient(to right, #949393, #252525, #949393); - height: 1px; - width: 80%; margin: 10px auto; + background: linear-gradient(to right, $background-color, $dark-grey, $background-color); + width: 80%; + height: 1px; + content: ''; + } + + a { + color: $dark-grey; + } } -#footer a { - color: #252525; +// PAGE FORM +%page-form-input { + margin: 10px 0; + border: solid 1px $form-input-border; + border-radius: 2px; + background: $form-input-background; + padding: 5px 5px 3px 15px; + width: 90%; + height: 35px; + color: $dark-grey; + box-sizing: border-box; +} + +%page-form-button { + display: inline-block; + margin: 15px 5px; + border: 0; + box-shadow: 1px 1px 1px $form-input-border, -1px -1px 6px $form-input-border, -1px 1px 2px $form-input-border, 1px -1px 2px $form-input-border; + background: $main-green; + min-width: 150px; + height: 35px; + vertical-align: center; + text-decoration: none; + line-height: 35px; + color: $almost-white; + font-size: 1.2em; + font-weight: normal; } -/** - * PAGE FORM - */ .page-form { - margin: 20px 0 0 0; - background: #f5f5f5; - box-shadow: 1px 1px 2px #797979; - color: #252525; - overflow: hidden; -} + margin: 20px 0 0; + box-shadow: 1px 1px 2px $light-grey; + background: $almost-white; + overflow: hidden; + color: $dark-grey; -.page-form .window-title { - margin: 0 0 10px 0; + .window-title { + margin: 0 0 10px; + background: $almost-white; padding: 10px 0; width: 100%; - color: #1b926c; - background: #f5f5f5; text-align: center; -} + color: $main-green; + } -.page-form .window-subtitle { + .window-subtitle { text-align: center; -} + } -.page-form a { - color: #1b926c; - font-weight: bold; + a { text-decoration: none; -} + color: $main-green; + font-weight: bold; -.page-form p { - padding: 5px 10px; + &.button { + @extend %page-form-button; + } + } + + p { margin: 0; -} + padding: 5px 10px; + } -.page-form input[type="text"], -.page-form input[type="password"], -.page-form textarea { - box-sizing: border-box; - margin: 10px 0; - padding: 5px 5px 3px 15px; - height: 35px; - width: 90%; - background: #eeeeee; - border: solid 1px #d8d8d8; - border-radius: 2px; - color: #252525; -} + input { + &[type='text'] { + @extend %page-form-input; + + &::-webkit-input-placeholder { + color: $light-grey; + } + } + + &[type='password'] { + @extend %page-form-input; + + &::-webkit-input-placeholder { + color: $light-grey; + } + } + + &[type='submit'] { + @extend %page-form-button; + } + } + + textarea { + @extend %page-form-input; -.page-form textarea { - min-height: 240px; padding: 15px 5px 3px 15px; + min-height: 240px; resize: vertical; overflow-y: auto; - word-wrap:break-word -} + word-wrap: break-word; + } -/* because chrome */ -.page-form input[type="text"]::-webkit-input-placeholder, -.page-form input[type="password"]::-webkit-input-placeholder { - color: #777777; -} + select { + color: $dark-grey; + } -.page-form input[type="submit"], .page-form a.button { - margin: 15px 5px; - height: 35px; - line-height: 35px; - width: 150px; - background: #1b926c; - color: #f5f5f5; - border: none; - box-shadow: 1px 1px 1px #ddd, -1px -1px 6px #ddd, -1px 1px 2px #ddd, 1px -1px 2px #ddd; - font-size: 1.2em; - text-decoration: none; - vertical-align: center; - font-weight: normal; - display: inline-block; -} + .button { + &.button-red { + background: $red; + } + } - -.page-form .button.button-red { - background: #ac2925; -} - -.page-form .submit-buttons { + .submit-buttons { margin-bottom: 10px; + } + + section { + margin: 10px 0 25px; + } + + table, + th, + td { + border-width: 1px 0; + border-style: solid; + border-color: $light-grey; + } + + th, + td { + padding: 5px; + } + + table { + margin: auto; + width: 90%; + + .order { + text-decoration: none; + color: $dark-grey; + } + } + + .awesomplete { + width: 90%; + + input { + width: 100%; + } + } + + div { + .awesomplete { + > ul { + color: $black; + } + } + } } @media screen and (min-width: 64em) { - .page-form .submit-buttons { - position: relative; - } + .page-form { + .submit-buttons { + position: relative; - .page-form .submit-buttons .button.button-red { - position: absolute; - right: 5%; + .button { + &.button-red { + position: absolute; + right: 5%; + } + } } + } } @media screen and (max-width: 64em) { - .page-form .submit-buttons .button { + .page-form { + .submit-buttons { + .button { display: block; margin: auto; + } } + } } -.page-form select { - color: #252525; -} - -/** - * PAGE FORM - LIGHT - */ -.page-form-light div, .page-form-light p { +// PAGE FORM - LIGHT +.page-form-light { + div, + p { text-align: center; + } } -/** - * PAGE FORM - COMPLETE - */ -.page-form-complete div, .page-form-complete p { - color: #252525; +// PAGE FORM - COMPLETE +%page-form-valign { + position: absolute; + top: 50%; + transform: translateY(-50%); } -.page-form-complete .form-label, .page-form-complete .form-input { +.page-form-complete { + div, + p { + color: $dark-grey; + } + + .form-label, + .form-input { position: relative; height: 60px; -} + } -.page-form-complete .form-label label, -.page-form-complete .form-input input, -.page-form-complete .form-input select.align, -.page-form-complete .timezone { - position: absolute; - top: 50%; - transform: translateY(-50%); -} + .form-label { + label { + @extend %page-form-valign; -.page-form-complete .form-label label { - text-align: right; - right: 0; - padding: 0 20px; -} + right: 0; + padding: 0 20px; + text-align: right; + } + } -.page-form-complete .label-name { + .label-name { font-weight: bold; -} + } -.page-form-complete .label-desc { - font-size: 0.8em; -} + .label-desc { + font-size: .8em; + } -.page-form-complete input[type="text"], -.page-form-complete input[type="password"], -.page-form-complete textarea { + .form-input { + input { + @extend %page-form-valign; + + &[type='text'], + &[type='password'] { + margin: 0; + } + } + + select { + &.align { + @extend %page-form-valign; + } + } + } + + textarea { margin: 0; + } + + .timezone { + @extend %page-form-valign; + } } -.page-form section { - margin: 10px 0 25px 0; -} - -.page-form table { - margin: auto; - width: 90%; -} - -.page-form table .order { - text-decoration: none; - color: #252525; -} - -.page-form table, .page-form th, .page-form td { - border-width: 1px 0; - border-style: solid; - border-color: #aaaaaa; -} - -.page-form th, .page-form td { - padding: 5px; - -} - -/* Awesomeplete fix */ -div.awesomplete { +// Awesomeplete fix +div { + &.awesomplete { width: inherit; + + > input { + display: inherit; + } + + > ul { + z-index: 9999; + } + } } -div.awesomplete > input { - display: inherit; -} - -div.awesomplete > ul { - z-index: 9999; -} - -.page-form .awesomplete { - width: 90%; -} - -.page-form .awesomplete input { - width: 100%; -} - -.page-form div.awesomplete > ul { - color: black; -} - -form[name="linkform"].page-form { - overflow: visible; +form { + &[name='linkform'] { + &.page-form { + overflow: visible; + } + } } @media screen and (max-width: 64em) { - .page-form-complete .form-label { - height: inherit; - } + %page-form-valign-mobile { + position: inherit; + top: inherit; + transform: translateY(0); + } - .page-form-complete .form-label label, - .page-form-complete .form-input input, - .page-form-complete .timezone { - position: inherit; - top: inherit; - transform: translateY(0); - } + .page-form-complete { + .form-label { + height: inherit; - .page-form-complete .form-input input[type="checkbox"] { - position: absolute; - top: 50%; - right: 50%; - transform: translateY(-50%); - } + label { + @extend %page-form-valign-mobile; - .page-form-complete .form-input { - text-align: center; - } - - .page-form-complete .form-label label { display: block; + margin: 10px 0 0; text-align: left; - margin: 10px 0 0 0; + } } - .timezone-continent:after { - content:"\a\a"; - white-space: pre; + .form-input { + text-align: center; + + input { + @extend %page-form-valign-mobile; + + &[type='checkbox'] { + position: absolute; + top: 50%; + right: 50%; + transform: translateY(-50%); + } + } } - .page-form-complete .radio-buttons { - text-align: left; - padding: 5px 15px; + .timezone { + @extend %page-form-valign-mobile; } + + .radio-buttons { + padding: 5px 15px; + text-align: left; + } + } + + .timezone-continent { + &::after { + white-space: pre; + content: '\a\a'; + } + } } -/** - * Page visitor (page form extended) - */ +// Page visitor (page form extended) .page-visitor { - color: #252525; + color: $dark-grey; } -#page404 { - color: #3f3f3f; +.page404-container { + color: $dark-grey; } -/** - * EDIT LINK - */ -#editlinkform .created-date { - color: #767676; +// EDIT LINK +.edit-link-container { + .created-date { margin-bottom: 10px; + color: $light-grey; + } } -/** - * LOGIN - */ -#login-form .remember-me { +// LOGIN +.login-form-container { + .remember-me { margin: 5px 0; + } } -/** - * Search results - */ -.search-result a { - color: white; +// Search results +.search-result { + a { text-decoration: none; + color: $white; + } + + .label-tag { + border-color: $white; + + .remove { + margin: 0 0 0 5px; + border-left: $white 1px solid; + padding: 0 0 0 5px; + } + } + + .label-private { + border: 1px solid $white; + } } -.search-result .label-tag { - border-color: white; -} - -.search-result .label-tag .remove { - border-left: white 1px solid; - padding: 0 0 0 5px; - margin: 0 0 0 5px; -} - -.search-result .label-private { - border: 1px solid white; -} - -/** - * TOOLS - */ +// TOOLS .tools-item { - margin: 10px 0; + margin: 10px 0; + + .pure-button { + &:hover { + background-color: $main-green; + background-image: none; + color: $almost-white; + } + } } -.tools-item .pure-button:hover { - background-image: none; - background-color: #1b926c; - color: #f5f5f5; -} +// PLUGIN ADMIN +.pluginform-container { + .mobile-row { + font-size: .9em; + } -/** - * PLUGIN ADMIN - */ -#pluginform .mobile-row { - font-size: 0.9em; -} - -#pluginform .more { + .more { margin-top: 10px; + } } @media screen and (max-width: 64em) { - #pluginform .main-row, #pluginform .main-row td { - border-bottom-style: none; - } + .pluginform-container { + .main-row { + border-top-style: none; + border-bottom-style: none; - #pluginform .mobile-row, #pluginform .mobile-row td { + td { border-top-style: none; + border-bottom-style: none; + } } + } } -/** - * IMPORT - */ -#import-field { - margin: 15px 0; +// IMPORT +.import-field-container { + margin: 15px 0; } -/** - * TAG CLOUD - */ -#cloudtag { - padding: 10px; - text-align: center; -} +// TAG CLOUD +.cloudtag-container { + padding: 10px; + text-align: center; + text-decoration: none; + color: $dark-grey; -#cloudtag, #cloudtag a { - color: #252525; + a { text-decoration: none; + color: $dark-grey; + } + + .count { + color: $light-grey; + } } -#cloudtag .count { - color: #7f7f7f; -} +// TAG LIST +.taglist-container { + padding: 0 10px; -/** - * TAG LIST - */ -#taglist { - padding: 0 10px; -} - -#taglist a { - color: #252525; + a { text-decoration: none; -} + color: $dark-grey; + } -#taglist .count { + .count { display: inline-block; width: 35px; text-align: right; - color: #7f7f7f; -} + color: $light-grey; + } -#taglist .rename-tag-form { + .rename-tag-form { display: none; -} + } -#taglist .delete-tag { - color: #ac2925; + .delete-tag { display: none; + color: $red; + } + + .rename-tag { + color: $blue; + } + + .validate-rename-tag { + color: $main-green; + } } -#taglist .rename-tag { - color: #0b5ea6; +// Picture wall CSS +.picwall-container { + clear: both; + margin: 0 10px 10px; + background-color: $almost-white; + color: $dark-grey; } -#taglist .validate-rename-tag { - color: #1b926c; -} +.picwall-pictureframe { + display: table-cell; + position: relative; + float: left; + z-index: 5; + margin: 2px; + background-color: $almost-white; + width: 90px; + height: 90px; + overflow: hidden; + vertical-align: middle; + text-align: center; -/** - * Picture wall CSS - */ -#picwall_container { - margin: 0 10px 10px 10px; - color: #252525; - background-color: #f5f5f5; - clear: both; -} - -.picwall_pictureframe { - margin: 2px; - background-color: #f5f5f5; - z-index: 5; - position: relative; - display: table-cell; - vertical-align: middle; - width: 90px; - height: 90px; - overflow: hidden; - text-align: center; - float: left; -} - -.b-lazy { - -webkit-transition: opacity 500ms ease-in-out; - -moz-transition: opacity 500ms ease-in-out; - -o-transition: opacity 500ms ease-in-out; - transition: opacity 500ms ease-in-out; - opacity: 0; -} -.b-lazy.b-loaded { - opacity: 1; -} - -.picwall_pictureframe img { + // Adapt the width of the image + img { max-width: 100%; height: auto; color: transparent; -} /* Adapt the width of the image */ + } -.picwall_pictureframe a { + a { text-decoration: none; + } + + span { + &.info { + display: none; + font-family: Arial, sans-serif; + } + } + + // CSS to show title when hovering an image - no javascript required. + &:hover { + span { + &.info { + display: block; + position: absolute; + top: 0; + left: 0; + background-color: $dark-shadow; + width: 90px; + height: 90px; + text-align: left; + color: $almost-white; + font-size: 9pt; + font-weight: bold; + } + } + } } -/* CSS to show title when hovering an image - no javascript required. */ -.picwall_pictureframe span.info { - display: none; - font-family: Arial, sans-serif; +.b-lazy { + transition: opacity 500ms ease-in-out; + opacity: 0; + -webkit-transition: opacity 500ms ease-in-out; + -moz-transition: opacity 500ms ease-in-out; + -o-transition: opacity 500ms ease-in-out; + + &.b-loaded { + opacity: 1; + } } -.picwall_pictureframe:hover span.info { - display: block; - position: absolute; - top: 0; - left: 0; - width: 90px; - height: 90px; - font-weight: bold; - font-size: 9pt; - color: #f5f5f5; - text-align: left; - background-color: rgba(0, 0, 0, 0.8); -} - -/** - * DAILY - */ +// DAILY .daily-desc { - color: #7f7f7f; - font-size: 0.8em; -} + color: $light-grey; + font-size: .8em; -.daily-about a { - color: #343434; + a { text-decoration: none; + color: $dark-grey; + + &:hover { + color: $light-grey; + } + } } -.daily-about a:hover { - color: #7f7f7f; -} - -.daily-about h3:before, .daily-about h3:after { - display: block; - content:""; - background: linear-gradient(to right, #d5d4d4, #252525, #d5d4d4); - height: 1px; - width: 90%; - margin: 10px auto; +.daily-about { + h3 { + &::before, + &::after { + display: block; + margin: 10px auto; + background: linear-gradient(to right, $background-color, $dark-grey, $background-color); + width: 90%; + height: 1px; + content: ''; + } + } } .daily-entry { - padding: 0 10px; -} + padding: 0 10px; -.daily-entry .daily-entry-title:after { - display: block; - content:""; - background: linear-gradient(to right, #fff, #515151, #fff); - height: 1px; - width: 70%; - margin: 5px auto; -} + .daily-entry-title { + margin: 10px 0 0; -.daily-entry .daily-entry-title { - margin: 10px 0 0 0; -} + a { + text-decoration: none; + color: $black; + } -.daily-entry .daily-entry-title a { - color: #000; - text-decoration: none; -} + &::after { + display: block; + margin: 5px auto; + background: linear-gradient(to right, $white, $light-grey, $white); + width: 70%; + height: 1px; + content: ''; + } + } -.daily-entry .daily-entry-description { - padding: 5px 5px 0 5px; - font-size: 0.9em; + .daily-entry-description { + padding: 5px 5px 0; text-align: justify; + font-size: .9em; word-wrap: break-word; -} + } -.daily-entry .daily-entry-tags { - padding: 0 5px 5px 5px; - font-size: 0.8em; + .daily-entry-tags { + padding: 0 5px 5px; + font-size: .8em; + } } .daily-entry-thumbnail { - float: left; - margin: 15px 5px 5px 15px; + float: left; + margin: 15px 5px 5px 15px; } -.daily-entry-description a { +.daily-entry-description { + a { text-decoration: none; - color: #1b926c; + color: $main-green; + + &:hover { + text-shadow: 1px 1px $background-linklist-info; + } + + &:visited { + color: $dark-green; + } + } } -.daily-entry-description a:hover { - text-shadow: 1px 1px #ddd; -} - -.daily-entry-description a:visited { - color: #20b988; -} - -/* - * Fix empty bookmarklet name in Firefox - */ +// Fix empty bookmarklet name in Firefox .pure-button { - -moz-user-select: auto; + -moz-user-select: auto; } .tag-sort { - margin-top: 30px; - text-align: center; -} + margin-top: 30px; + text-align: center; -.tag-sort a { + a { display: inline-block; margin: 0 15px; - color: white; text-decoration: none; + color: $white; font-weight: bold; + } } -/** - * Markdown - */ -.markdown p { +// Markdown +.markdown { + p { margin: 0 !important; + } + + p + p { + margin: .5em 0 0 !important; + } + + * { + &:first-child { + margin-top: 0 !important; + } + + &:last-child { + margin-bottom: 5px !important; + } + } } -.markdown p + p { - margin: 0.5em 0 0 0 !important; -} - -.markdown *:first-child { - margin-top: 0 !important; -} - -.markdown *:last-child { - margin-bottom: 5px !important; -} - -/** - * Pure Button - */ +// Pure Button .pure-button-success, .pure-button-error, .pure-button-warning, .pure-button-primary, .pure-button-shaarli, .pure-button-secondary { - color: white !important; - border-radius: 4px; - text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); + border-radius: 4px; + text-shadow: 0 1px 1px $dark-shadow; + color: $white !important; } .pure-button-shaarli { - background-color: #1B926C; + background-color: $main-green; } From 9d0fc862507e1933e447b3c3e92a438400aad263 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Thu, 10 May 2018 13:26:11 +0200 Subject: [PATCH 060/141] Add classes to default template to avoid using IDs in SCSS --- tpl/default/404.html | 2 +- tpl/default/editlink.html | 2 +- tpl/default/import.html | 2 +- tpl/default/linklist.html | 2 +- tpl/default/loginform.html | 2 +- tpl/default/page.footer.html | 2 +- tpl/default/page.header.html | 6 +++--- tpl/default/picwall.html | 4 ++-- tpl/default/pluginsadmin.html | 2 +- tpl/default/tag.cloud.html | 2 +- tpl/default/tag.list.html | 4 ++-- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tpl/default/404.html b/tpl/default/404.html index 2de6b6d..fd337ca 100644 --- a/tpl/default/404.html +++ b/tpl/default/404.html @@ -6,7 +6,7 @@
{if="!$hide_timestamps"}{function="strftime('%c', $value.timestamp)"} - {/if}{if="$value.tags"}{$value.tags}{/if}
{$value.url}

- {if="$value.thumbnail"}{$value.thumbnail}{/if}
+ {if="$value.thumbnail"}thumbnail{/if}
{if="$value.description"}{$value.formatedDescription}{/if}


{/loop} From a71e1aa73e575f3799100396db8f28808fde797d Mon Sep 17 00:00:00 2001 From: llune Date: Thu, 2 Aug 2018 21:21:00 +0200 Subject: [PATCH 128/141] empty alt on logo image The alt does not provide any useful information for screenreader users. It just adds noise. --- tpl/default/page.header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl/default/page.header.html b/tpl/default/page.header.html index fc03404..c010aa8 100644 --- a/tpl/default/page.header.html +++ b/tpl/default/page.header.html @@ -2,7 +2,7 @@
- + {$shaarlititle} From 667963435f45e678e800e7503c8651d884a58cc1 Mon Sep 17 00:00:00 2001 From: llune Date: Thu, 2 Aug 2018 21:23:34 +0200 Subject: [PATCH 129/141] alt should be empty --- tpl/default/page.header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl/default/page.header.html b/tpl/default/page.header.html index c010aa8..3b43a61 100644 --- a/tpl/default/page.header.html +++ b/tpl/default/page.header.html @@ -13,7 +13,7 @@
  • - + {$shaarlititle}
  • From be5db0a5cf546799d8ca3c22ffeebbeff085a124 Mon Sep 17 00:00:00 2001 From: llune Date: Thu, 2 Aug 2018 22:48:00 +0200 Subject: [PATCH 130/141] Delete redundant titles Redundant titles are an accessibility issue and should be avoided. See : https://accessibilitytips.com/2008/04/14/avoiding-redundant-title-attributes/ --- tpl/default/tools.html | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tpl/default/tools.html b/tpl/default/tools.html index 6b4d7be..c9ce1ea 100644 --- a/tpl/default/tools.html +++ b/tpl/default/tools.html @@ -125,25 +125,22 @@

    {'3rd party'|t}

    From b5c368b85885b82e7db7e509c8a7e2035d51e0a1 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Fri, 10 Aug 2018 17:09:51 +0200 Subject: [PATCH 131/141] Fix issue 'You are not authorized to add a link' with thumbnails enabled Do not try to alter the datastore by updating thumbnails if the user isn't logged in. Also, do not enable thumbnails if PHP GD extension is not installed/loaded --- application/Updater.php | 2 +- index.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/application/Updater.php b/application/Updater.php index c2aa156..480bff8 100644 --- a/application/Updater.php +++ b/application/Updater.php @@ -502,7 +502,7 @@ class Updater return true; } - $thumbnailsEnabled = $this->conf->get('thumbnail.enable_thumbnails', true); + $thumbnailsEnabled = extension_loaded('gd') && $this->conf->get('thumbnail.enable_thumbnails', true); $this->conf->set('thumbnails.mode', $thumbnailsEnabled ? Thumbnailer::MODE_ALL : Thumbnailer::MODE_NONE); $this->conf->set('thumbnails.width', 125); $this->conf->set('thumbnails.height', 90); diff --git a/index.php b/index.php index 925d47a..4b86a3e 100644 --- a/index.php +++ b/index.php @@ -1635,9 +1635,9 @@ function buildLinkList($PAGE, $LINKSDB, $conf, $pluginManager, $loginManager) uasort($taglist, 'strcasecmp'); $link['taglist'] = $taglist; - // Thumbnails enabled, not a note, + // Logged in, thumbnails enabled, not a note, // and (never retrieved yet or no valid cache file) - if ($thumbnailsEnabled && $link['url'][0] != '?' + if ($loginManager->isLoggedIn() && $thumbnailsEnabled && $link['url'][0] != '?' && (! isset($link['thumbnail']) || ($link['thumbnail'] !== false && ! is_file($link['thumbnail']))) ) { $elem = $LINKSDB[$keys[$i]]; From 8aca613b07c9d9af11a84d33e88c00b1c32eee02 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Fri, 10 Aug 2018 17:45:29 +0200 Subject: [PATCH 132/141] Use version condition in the root .htaccess Related to #1196 --- .htaccess | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.htaccess b/.htaccess index b238854..4c00427 100644 --- a/.htaccess +++ b/.htaccess @@ -16,8 +16,33 @@ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [QSA,L] + + = 2.4> + Require all granted + + + Allow from all + Deny from none + + + + Require all granted + + + + = 2.4> + Require all denied + + + Allow from none + Deny from all + + + + Require all denied + From 62f5a7581380da7885025498de10e9a20c45b358 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 13:26:34 +0200 Subject: [PATCH 133/141] Upgrade composer - web-thumbnailer v1.3.0 --- composer.lock | 123 ++++++++++++++++++++++++++------------------------ 1 file changed, 64 insertions(+), 59 deletions(-) diff --git a/composer.lock b/composer.lock index 0f56338..b5412f3 100644 --- a/composer.lock +++ b/composer.lock @@ -8,19 +8,21 @@ "packages": [ { "name": "arthurhoaro/web-thumbnailer", - "version": "v1.2.1", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/ArthurHoaro/web-thumbnailer.git", - "reference": "a5a52f69e8e8f3c71fab9649e2a927e2d3f418f1" + "reference": "01ba9931ac8edc4bd9da186cb5d7f7f84bf78df3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ArthurHoaro/web-thumbnailer/zipball/a5a52f69e8e8f3c71fab9649e2a927e2d3f418f1", - "reference": "a5a52f69e8e8f3c71fab9649e2a927e2d3f418f1", + "url": "https://api.github.com/repos/ArthurHoaro/web-thumbnailer/zipball/01ba9931ac8edc4bd9da186cb5d7f7f84bf78df3", + "reference": "01ba9931ac8edc4bd9da186cb5d7f7f84bf78df3", "shasum": "" }, "require": { + "ext-gd": "*", + "ext-json": "*", "php": ">=5.6", "phpunit/php-text-template": "^1.2" }, @@ -52,7 +54,7 @@ } ], "description": "PHP library which will retrieve a thumbnail for any given URL", - "time": "2018-07-17T10:21:14+00:00" + "time": "2018-08-11T11:24:03+00:00" }, { "name": "container-interop/container-interop", @@ -1111,16 +1113,16 @@ }, { "name": "phpspec/prophecy", - "version": "1.7.6", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", - "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", "shasum": "" }, "require": { @@ -1132,12 +1134,12 @@ }, "require-dev": { "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7.x-dev" + "dev-master": "1.8.x-dev" } }, "autoload": { @@ -1170,7 +1172,7 @@ "spy", "stub" ], - "time": "2018-04-18T13:57:24+00:00" + "time": "2018-08-05T17:53:17+00:00" }, { "name": "phpunit/php-code-coverage", @@ -2255,16 +2257,16 @@ }, { "name": "symfony/config", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "1fffdeb349ff36a25184e5564c25289b1dbfc402" + "reference": "7b08223b7f6abd859651c56bcabf900d1627d085" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/1fffdeb349ff36a25184e5564c25289b1dbfc402", - "reference": "1fffdeb349ff36a25184e5564c25289b1dbfc402", + "url": "https://api.github.com/repos/symfony/config/zipball/7b08223b7f6abd859651c56bcabf900d1627d085", + "reference": "7b08223b7f6abd859651c56bcabf900d1627d085", "shasum": "" }, "require": { @@ -2315,20 +2317,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2018-06-19T14:02:58+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/console", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "e54f84c50e3b12972e7750edfc5ca84b2284c44e" + "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/e54f84c50e3b12972e7750edfc5ca84b2284c44e", - "reference": "e54f84c50e3b12972e7750edfc5ca84b2284c44e", + "url": "https://api.github.com/repos/symfony/console/zipball/6b217594552b9323bcdcfc14f8a0ce126e84cd73", + "reference": "6b217594552b9323bcdcfc14f8a0ce126e84cd73", "shasum": "" }, "require": { @@ -2384,20 +2386,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-07-10T14:02:11+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/debug", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "0e3ca9cbde90fffec8038f4d4e16fd4046bbd018" + "reference": "d5a058ff6ecad26b30c1ba452241306ea34c65cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/0e3ca9cbde90fffec8038f4d4e16fd4046bbd018", - "reference": "0e3ca9cbde90fffec8038f4d4e16fd4046bbd018", + "url": "https://api.github.com/repos/symfony/debug/zipball/d5a058ff6ecad26b30c1ba452241306ea34c65cc", + "reference": "d5a058ff6ecad26b30c1ba452241306ea34c65cc", "shasum": "" }, "require": { @@ -2440,20 +2442,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-06-26T08:45:54+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "3f115cc3aae4d320b26db05e9531f4e32da29b89" + "reference": "1c0e679e522591fd744fdf242fec41a43d62b2b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3f115cc3aae4d320b26db05e9531f4e32da29b89", - "reference": "3f115cc3aae4d320b26db05e9531f4e32da29b89", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1c0e679e522591fd744fdf242fec41a43d62b2b1", + "reference": "1c0e679e522591fd744fdf242fec41a43d62b2b1", "shasum": "" }, "require": { @@ -2511,20 +2513,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2018-07-16T13:57:19+00:00" + "time": "2018-07-29T15:19:31+00:00" }, { "name": "symfony/filesystem", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8dab220fec8fc904821485326b29a6c670286124" + "reference": "a59f917e3c5d82332514cb4538387638f5bde2d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8dab220fec8fc904821485326b29a6c670286124", - "reference": "8dab220fec8fc904821485326b29a6c670286124", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/a59f917e3c5d82332514cb4538387638f5bde2d6", + "reference": "a59f917e3c5d82332514cb4538387638f5bde2d6", "shasum": "" }, "require": { @@ -2561,20 +2563,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-07-09T13:25:43+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/finder", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394" + "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394", - "reference": "3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394", + "url": "https://api.github.com/repos/symfony/finder/zipball/8a84fcb207451df0013b2c74cbbf1b62d47b999a", + "reference": "8a84fcb207451df0013b2c74cbbf1b62d47b999a", "shasum": "" }, "require": { @@ -2610,29 +2612,32 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-06-19T20:52:10+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", - "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", "shasum": "" }, "require": { "php": ">=5.3.3" }, + "suggest": { + "ext-ctype": "For best performance" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -2665,20 +2670,20 @@ "polyfill", "portable" ], - "time": "2018-04-30T19:57:29+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.8.0", + "version": "v1.9.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "3296adf6a6454a050679cde90f95350ad604b171" + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", - "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", + "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", "shasum": "" }, "require": { @@ -2690,7 +2695,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -2724,20 +2729,20 @@ "portable", "shim" ], - "time": "2018-04-26T10:06:28+00:00" + "time": "2018-08-06T14:22:27+00:00" }, { "name": "symfony/yaml", - "version": "v3.4.13", + "version": "v3.4.14", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0" + "reference": "810af2d35fc72b6cf5c01116806d2b65ccaaf2e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", - "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/810af2d35fc72b6cf5c01116806d2b65ccaaf2e2", + "reference": "810af2d35fc72b6cf5c01116806d2b65ccaaf2e2", "shasum": "" }, "require": { @@ -2783,7 +2788,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-05-03T23:18:14+00:00" + "time": "2018-07-26T11:19:56+00:00" }, { "name": "theseer/fdomdocument", From 6a7815951cc9f50a0b0de9e698d05bc0c52e2e08 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 13:47:41 +0200 Subject: [PATCH 134/141] CHANGELOG --- CHANGELOG.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 04cb2fd..5169a09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [v0.10.1](https://github.com/shaarli/Shaarli/releases/tag/v0.10.1) - 2018-08-11 + +### Changed + +- Accessibility: + - Remove alt text on the logo + - Remove redundant title in tools page + +### Fixed + +- Fixed an error on the daily page and daily RSS +- Fixed an issue causing 'You are not authorized to add a link' error while logged out +- Fixed thumbnail path when Shaarli's path uses symbolic links +- Add a `mod_version` check in Shaarli's root `.htaccess` file for Apache 2.2 syntax +- Include assets in the release Makefile target + +### Removed + +- Firefox Social API shaare has been removed + ## [v0.10.0](https://github.com/shaarli/Shaarli/releases/tag/v0.10.0) - 2018-07-28 **PHP 5.5 compatibility has been dropped.** Shaarli now requires at least PHP 5.6. From 69a15872d08c20fbdf1138dc8bdfc67162b3c74c Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 13:49:23 +0200 Subject: [PATCH 135/141] Update AUTHORS Signed-off-by: ArthurHoaro --- AUTHORS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 40d22c1..ae67707 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,4 @@ - 664 ArthurHoaro + 682 ArthurHoaro 355 VirtualTam 195 nodiscc 56 Sébastien Sauvage @@ -15,6 +15,7 @@ 4 David Sferruzza 4 Immánuel Fodor 3 Teromene + 3 llune 2 Chris Kuethe 2 Felix Bartels 2 Knah Tsaeb From 2302347524edefeddaedd521dcc0b5a4aeabbea1 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 13:55:30 +0200 Subject: [PATCH 136/141] Badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c56d60..2ff5460 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ _It is designed to be personal (single-user), fast and handy._ [![](https://img.shields.io/badge/stable-v0.9.7-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.9.7) [![](https://img.shields.io/travis/shaarli/Shaarli/stable.svg?label=stable)](https://travis-ci.org/shaarli/Shaarli) • -[![](https://img.shields.io/badge/latest-v0.10.0-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.10.0) +[![](https://img.shields.io/badge/latest-v0.10.1-blue.svg)](https://github.com/shaarli/Shaarli/releases/tag/v0.10.1) [![](https://img.shields.io/travis/shaarli/Shaarli/latest.svg?label=latest)](https://travis-ci.org/shaarli/Shaarli) • [![](https://img.shields.io/badge/master-v0.10.x-blue.svg)](https://github.com/shaarli/Shaarli) From 5e66ba1882bc9adbfd2698c9f83bf7b4ccc3a4a1 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 14:26:30 +0200 Subject: [PATCH 137/141] Fix docker build WT has php-gd as a requirement, which isn't available in composer docker image --- composer.lock | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/composer.lock b/composer.lock index b5412f3..22c97fa 100644 --- a/composer.lock +++ b/composer.lock @@ -8,21 +8,19 @@ "packages": [ { "name": "arthurhoaro/web-thumbnailer", - "version": "v1.3.0", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/ArthurHoaro/web-thumbnailer.git", - "reference": "01ba9931ac8edc4bd9da186cb5d7f7f84bf78df3" + "reference": "7142bd94ec93719a756a7012ebb8e1c5813c6860" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ArthurHoaro/web-thumbnailer/zipball/01ba9931ac8edc4bd9da186cb5d7f7f84bf78df3", - "reference": "01ba9931ac8edc4bd9da186cb5d7f7f84bf78df3", + "url": "https://api.github.com/repos/ArthurHoaro/web-thumbnailer/zipball/7142bd94ec93719a756a7012ebb8e1c5813c6860", + "reference": "7142bd94ec93719a756a7012ebb8e1c5813c6860", "shasum": "" }, "require": { - "ext-gd": "*", - "ext-json": "*", "php": ">=5.6", "phpunit/php-text-template": "^1.2" }, @@ -54,7 +52,7 @@ } ], "description": "PHP library which will retrieve a thumbnail for any given URL", - "time": "2018-08-11T11:24:03+00:00" + "time": "2018-08-11T12:21:52+00:00" }, { "name": "container-interop/container-interop", From 382869ad54a260294ce61395a2cce3f8975763fc Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 14:35:58 +0200 Subject: [PATCH 138/141] CHANGELOG --- AUTHORS | 2 +- CHANGELOG.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index ae67707..db23ad3 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,4 +1,4 @@ - 682 ArthurHoaro + 687 ArthurHoaro 355 VirtualTam 195 nodiscc 56 Sébastien Sauvage diff --git a/CHANGELOG.md b/CHANGELOG.md index 5169a09..aa1f0d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [v0.10.2](https://github.com/shaarli/Shaarli/releases/tag/v0.10.2) - 2018-08-11 + +### Fixed + +- Docker build + ## [v0.10.1](https://github.com/shaarli/Shaarli/releases/tag/v0.10.1) - 2018-08-11 ### Changed From dd8de81ee397c26dc83654ced445ecedb810b37d Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 28 Jul 2018 10:40:52 +0200 Subject: [PATCH 139/141] Bump to v0.10.0 --- shaarli_version.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shaarli_version.php b/shaarli_version.php index 9167b43..d76930b 100644 --- a/shaarli_version.php +++ b/shaarli_version.php @@ -1 +1 @@ - + From 2b12812e77d8c046912e3dcb88063c546f81e444 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 13:53:19 +0200 Subject: [PATCH 140/141] Bump Shaarli version to v0.10.1 Signed-off-by: ArthurHoaro --- shaarli_version.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shaarli_version.php b/shaarli_version.php index d76930b..755d60b 100644 --- a/shaarli_version.php +++ b/shaarli_version.php @@ -1 +1 @@ - + From 630ebca2b6359e942e5b6c057cca2b6069c1093a Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 11 Aug 2018 14:37:33 +0200 Subject: [PATCH 141/141] Bump Shaarli version to v0.10.2 Signed-off-by: ArthurHoaro --- shaarli_version.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shaarli_version.php b/shaarli_version.php index 755d60b..912ca53 100644 --- a/shaarli_version.php +++ b/shaarli_version.php @@ -1 +1 @@ - +