From a93bd191012add3adb670ecbc6e4119feb59ab02 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Thu, 28 Oct 2021 08:37:38 +0200 Subject: [PATCH] [build] /static --- .../oscar/css/logicodev-dark.min.css.map | Bin 11613 -> 11613 bytes searx/static/themes/oscar/js/searxng.js | 17 +- searx/static/themes/oscar/js/searxng.min.js | Bin 8495 -> 8597 bytes .../static/themes/oscar/js/searxng.min.js.map | Bin 8641 -> 8742 bytes .../static/themes/simple/css/searxng-rtl.css | 237 +++++++++++++++++- .../themes/simple/css/searxng-rtl.min.css | Bin 44005 -> 53178 bytes .../themes/simple/css/searxng-rtl.min.css.map | Bin 21634 -> 23463 bytes searx/static/themes/simple/css/searxng.css | 237 +++++++++++++++++- .../static/themes/simple/css/searxng.min.css | Bin 43966 -> 53139 bytes .../themes/simple/css/searxng.min.css.map | Bin 21578 -> 23407 bytes searx/static/themes/simple/js/searxng.js | 110 ++++++-- searx/static/themes/simple/js/searxng.min.js | Bin 23365 -> 24794 bytes .../themes/simple/js/searxng.min.js.map | Bin 29619 -> 31076 bytes 13 files changed, 561 insertions(+), 40 deletions(-) diff --git a/searx/static/themes/oscar/css/logicodev-dark.min.css.map b/searx/static/themes/oscar/css/logicodev-dark.min.css.map index 32293f3a43cc80ffe3356a30a41c213dc1fbcf2d..eafe5f3484fa2a3dccf2ca9963b6f47a0cea5c1d 100644 GIT binary patch delta 55 zcmV-70LcH{THRWZc>`l_WRW)?k;Wvk#+?C?c@~lZ1d}iV1+#ksN+1DRlg1)$0b#Q> NBY*<|L$kIfrv_n}6ZZfB delta 46 zcmV+}0MY;5THRWZd6QfM7O{xb0g-tRliL9avwH$cAOS;@#v*P3VzV_PfCB+zv$iIu E2EVHjb^rhX diff --git a/searx/static/themes/oscar/js/searxng.js b/searx/static/themes/oscar/js/searxng.js index bd3cabad4..1bbf75ed9 100644 --- a/searx/static/themes/oscar/js/searxng.js +++ b/searx/static/themes/oscar/js/searxng.js @@ -179,7 +179,7 @@ $(document).ready(function(){ /** * Layout images according to their sizes */ - searxng.image_thumbnail_layout = new searxng.ImageLayout('#main_results', '#main_results .result-images', 'img.img-thumbnail', 15, 200); + searxng.image_thumbnail_layout = new searxng.ImageLayout('#main_results', '#main_results .result-images', 'img.img-thumbnail', 15, 3, 200); searxng.image_thumbnail_layout.watch(); }); ;/** @@ -330,11 +330,12 @@ $(document).ready(function(){ */ (function (w, d) { - function ImageLayout(container_selector, results_selector, img_selector, margin, maxHeight) { + function ImageLayout(container_selector, results_selector, img_selector, verticalMargin, horizontalMargin, maxHeight) { this.container_selector = container_selector; this.results_selector = results_selector; this.img_selector = img_selector; - this.margin = margin; + this.verticalMargin = verticalMargin; + this.horizontalMargin = horizontalMargin; this.maxHeight = maxHeight; this.isAlignDone = true; } @@ -364,7 +365,7 @@ $(document).ready(function(){ } } - return (width - images.length * this.margin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 + return (width - images.length * this.verticalMargin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 }; ImageLayout.prototype._setSize = function (images, height) { @@ -381,10 +382,10 @@ $(document).ready(function(){ } img.style.width = imgWidth + 'px'; img.style.height = height + 'px'; - img.style.marginLeft = '3px'; - img.style.marginTop = '3px'; - img.style.marginRight = this.margin - 7 + 'px'; // -4 is the negative margin of the inline element - img.style.marginBottom = this.margin - 7 + 'px'; + img.style.marginLeft = this.horizontalMargin + 'px'; + img.style.marginTop = this.horizontalMargin + 'px'; + img.style.marginRight = this.verticalMargin - 7 + 'px'; // -4 is the negative margin of the inline element + img.style.marginBottom = this.verticalMargin - 7 + 'px'; resultNode = img.parentNode.parentNode; if (!resultNode.classList.contains('js')) { resultNode.classList.add('js'); diff --git a/searx/static/themes/oscar/js/searxng.min.js b/searx/static/themes/oscar/js/searxng.min.js index 688250b3a28fc05054f0bc2ca493d1776918746b..cc61d1c29fc03dc1b226a4f642d25e04b64318e5 100644 GIT binary patch delta 188 zcmZ4QG}U=S057BQW`Eu=9u}Qq&FaZ(WyB}%lQgj`OD!tNOis-4O)N^!%(KnYDaptz z*2~B*%B;%ID}jq=Ld0_uD?Cy&(=$qJizjnS9pQxQo_s;-o;X&m+Del*NQ>c=J0UHL QWXdyXbp&rSpNt|a0K4Kv!2kdN delta 90 zcmbR0yxwU;0Pp4?-cX*&DU5#Q*>R diff --git a/searx/static/themes/oscar/js/searxng.min.js.map b/searx/static/themes/oscar/js/searxng.min.js.map index 0b474b04ba62162e2ec4508366729affa19e53c2..526f0bedac8d420ddbde0e575b7e7e7074d0b24b 100644 GIT binary patch delta 1245 zcmaJ>&2JJ>5Kk`+)x^}#3WYY-p5!GI`6>rZ=Dpp8Wub*^2_>lqBm|bPQo1dar0Kzn zH)G!2qi2)WyZ#3z#(%<_M{mx&g_K6)1@dNoGxM9@%I+f%HW*s&sd*mrltta`Zp+WXclTQsDgl<>J()oD_G2|aj}_8vIiDv15*T#w|>kmVbAt|R$k&HuD*svvI-Dsf6K(gNpX z?cj!ZmQuj(97N?1d|O^2gd}8EM*JMz!gt zbmYN$cqO8-I_f#r6@e22CDJD%EI+LKFH~P*e}>P}Br5{BnFH=lX?c5v+ljL-Applu zYh)g(mB|oFWKjmBUD)O{p`9(0UQM3*Z!=?YG3&-6eEpP~(fgzd*rPm2l$|J-d6vZ{ z#Lh&Oq1W_oM3+anVol8UP=8EhHff9^huzU@hQ_;XbL^s2#LPLs^T?ypLv5-wWvRw9 zblwqusuq0CN!RE(V}Cp8+TwEIi8#ltxhXb&3-qzD6%o8D`ZVA!UuR44n3|}0?ZgeV kv6KbYKumdzP1?(nLt6%Qy2N1)O9?p1>0LvmYiykV0Y|D|+W-In delta 1202 zcmaJ>OHUI~6b^}!svCSn0<;heE4c}lwoq_&?wLm~Qz(?srj~4ca(t= z&;#lRoPb@8>|cprJI~puNFTSOi-t{k_%yJ+Ib~9N(kIH>%H;U%JrvV@mACz=$LAfF zhZVdK(TrHoc>!Z0wGOb3ss^x4pZHEor{vrfO8C5|x1?np@2fholJl?Na`AW~s-4Bk zwNOI@reUY>k60?3!-jpChE&Vr6r%QH+8r6%pXtolf#C1zLcp_Emh5Ea{r!bCrnasS z+^iXl&`_*hkB*18yZ-KDL$Vz-h&< zW1qJZ?Z#;}DTTZkvuDJJg;L9Ne_TO|4mL5mbT2u#*VwA8ehGxO&wj%pC$16Kw(@zf5u!=z4)tNB9z zp>E66k8-)_fA$mXQ_qAyon_eA8^oP1?tXHNHQIQw8^(Y~3*v!VWrVA`BJ zz)xHTTeyayyUC FegPwHP51x+ diff --git a/searx/static/themes/simple/css/searxng-rtl.css b/searx/static/themes/simple/css/searxng-rtl.css index 2c837c964..a4a30d9b6 100644 --- a/searx/static/themes/simple/css/searxng-rtl.css +++ b/searx/static/themes/simple/css/searxng-rtl.css @@ -871,6 +871,13 @@ html { --color-result-image-background: #000bbb; --color-settings-tr-hover: #f7f7f7; --color-settings-engine-description-font: #909090; + --color-result-detail-font: #fff; + --color-result-detail-label-font: lightgray; + --color-result-detail-background: #000; + --color-result-detail-hr: #333; + --color-result-detail-link: #8af; + --color-result-detail-loader-border: rgba(255, 255, 255, 0.2); + --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0); --color-toolkit-badge-font: #fff; --color-toolkit-badge-background: #777; --color-toolkit-kbd-font: #fff; @@ -941,6 +948,13 @@ html { --color-result-engines-font: #777; --color-result-search-url-border: #333; --color-result-search-url-font: #fff; + --color-result-detail-font: #fff; + --color-result-detail-label-font: lightgray; + --color-result-detail-background: #000; + --color-result-detail-hr: #333; + --color-result-detail-link: #8af; + --color-result-detail-loader-border: rgba(255, 255, 255, 0.2); + --color-result-detail-loader-borderleft: rgba(0, 0, 0, 0); --color-result-image-span-background-hover: rgba(0, 0, 0, 0.6); --color-result-image-span-font: #fff; --color-result-image-background: #8af; @@ -965,8 +979,8 @@ html { --color-toolkit-engine-tooltip-border: #333; --color-toolkit-engine-tooltip-shadow: #444; --color-toolkit-engine-tooltip-background: #222; - --color-toolkit-loader-border: rgba(0, 0, 0, 0.2); - --color-toolkit-loader-borderleft: rgba(255, 255, 255, 0); + --color-toolkit-loader-border: rgba(255, 255, 255, 0.2); + --color-toolkit-loader-borderleft: rgba(0, 0, 0, 0); } } /* @@ -1971,6 +1985,213 @@ td:hover .engine-tooltip, text-align: left; } } +#main_results #results.image-detail-open.only_template_images { + width: 59.25rem !important; +} +#main_results #results.only_template_images.image-detail-open #backToTop { + left: 56.75rem !important; + right: inherit; +} +article.result-images .detail { + display: none; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail { + display: flex; + flex-direction: column; + position: fixed; + left: 60rem; + right: 0; + top: 7rem; + bottom: 0; + background: var(--color-result-detail-background); + border: 1px solid var(--color-result-detail-background); + z-index: 10000; + padding: 4rem 3rem 3rem 3rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source { + display: block; + flex: 1; + text-align: left; + width: 100%; + border: none; + text-decoration: none; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img { + padding: 0; + margin: 0; + border: none; + object-fit: contain; + width: inherit; + max-width: 100%; + min-height: inherit; + max-height: calc(100vh - 25rem - 7rem); + background: inherit; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels { + color: var(--color-result-detail-font); + max-height: 16rem; + min-height: 16rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels hr { + border-top: 1px solid var(--color-result-detail-hr); + border-bottom: none; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4 { + height: 2rem; + overflow: hidden; + text-overflow: ellipsis; + font-size: 0.9rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p { + color: var(--color-result-detail-label-font); + font-size: 0.9rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span { + display: inline-block; + width: 12rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels h4, +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p, +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a { + text-align: left; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content { + height: 2rem; + overflow: hidden; + text-overflow: ellipsis; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url { + white-space: nowrap; + overflow-x: hidden; + text-overflow: ellipsis; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-content:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p.result-url:hover { + position: relative; + overflow: inherit !important; + background: var(--color-result-detail-background); + text-overflow: inherit !important; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a, +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:visited, +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:active { + color: var(--color-result-detail-link); +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels a:hover { + text-decoration: underline; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close { + top: 1rem; + left: 1rem; + padding: 0.4rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous { + top: 1rem; + right: 6rem; + padding: 0.4rem 0.5rem 0.4rem 0.3rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next { + top: 1rem; + right: 2rem; + padding: 0.4rem; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous { + border-radius: 50%; + display: block; + width: 1.5rem; + height: 1.5rem; + position: absolute; + filter: opacity(40%); + z-index: 2000002; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close span, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span { + display: block; + width: 1.5rem; + height: 1.5rem; + text-align: center; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next span::before, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous span::before { + vertical-align: sub; +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:visited, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:active, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:visited, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:active, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:visited, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:active { + color: var(--color-result-detail-font); + background: var(--color-result-detail-background); + border: 1px solid var(--color-result-detail-font); +} +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:focus, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-close:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:focus, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-previous:hover, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:focus, +#results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next:hover { + filter: opacity(80%); +} +#results.image-detail-open article.result-images[data-vim-selected] .detail .loader { + position: absolute; + top: 1rem; + right: 50%; + border-top: 0.5em solid var(--color-result-detail-loader-border); + border-right: 0.5em solid var(--color-result-detail-loader-border); + border-bottom: 0.5em solid var(--color-result-detail-loader-border); + border-left: 0.5em solid var(--color-result-detail-loader-borderleft); +} +#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail { + top: 0; +} +#results.image-detail-open.scrolling article.result-images[data-vim-selected] .detail a.result-images-source img { + max-height: calc(100vh - 25rem); +} +@media screen and (max-width: 80em) { + #results.image-detail-open article.result-images[data-vim-selected] .detail { + top: 0; + left: 0; + } + #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source { + display: flex; + flex-direction: column; + justify-content: center; + } + #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img { + width: 100%; + max-height: calc(100vh - 24rem); + } + #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-detail-next { + right: 1rem; + } +} +@media screen and (max-width: 50em) { + #results.image-detail-open article.result-images[data-vim-selected] .detail { + top: 0; + left: 0; + padding: 1rem; + } + #results.image-detail-open article.result-images[data-vim-selected] .detail a.result-images-source img { + width: 100%; + max-height: calc(100vh - 20rem); + margin: 0; + } + #results.image-detail-open article.result-images[data-vim-selected] .detail .result-images-labels p span { + width: inherit; + margin-right: 1rem; + } +} #main_index { margin-top: 16em; } @@ -2457,6 +2678,9 @@ article[data-vim-selected]::before { article.result-images[data-vim-selected] { background: var(--color-result-vim-arrow); } +article.result-images[data-vim-selected] .image_thumbnail { + filter: opacity(60%); +} article.result-images[data-vim-selected]::before { display: none; content: ""; @@ -2577,17 +2801,17 @@ article.result-images[data-vim-selected]::before { } .result-images img { float: inherit; - margin: 0; + margin: 0.125rem; padding: 0; border: none; max-height: 200px; background: var(--color-result-image-background); } -.result-images span a { +.result-images span.title { display: none; color: var(--color-result-image-span-font); } -.result-images:hover span a { +.result-images:hover span.title { display: block; position: absolute; bottom: 0; @@ -2824,6 +3048,9 @@ article.result-images[data-vim-selected]::before { margin: 0; padding: 0.7em; } +#results.scrolling #backToTop { + opacity: 1; +} @media screen and (max-width: 80em) { #main_preferences, #main_about, diff --git a/searx/static/themes/simple/css/searxng-rtl.min.css b/searx/static/themes/simple/css/searxng-rtl.min.css index eef0c27820f58660bb6835fe6bd0681aa08467ed..6cfeb33825fdd8bb7627e3a0b1ab1e769b1b3d84 100644 GIT binary patch delta 6363 zcmds5-D@0G6h~Vc+tOM=lQvD0NzydCB{R+@*|eGIhaXi?3PmV>kZQR*dw2IXvoq6~ z*(B`{gCJsP1 z-gAEEcRug=`P&D-_+Z=T`$qP-(Ce7KT!%hDCcZp5SP9?CCa6JEZrGNunW)+Fn=ZJb z%d%mcwk!9ZS{pflzZ~jY<0o6LHa;^mv-Ou{6IqMe_;Jw4`o9h8(3NYpOa5qXvj$4j z)#{X#yr{}_d8@-mkSUuRPn)pehZ58&iT{>$eDg$qcX$Nt-0^=fdZLig_~`JP-M>mV zx9v%2B=0a7Q~EeD-MdpKPL73+^`vqBMnP@RggiWC+kqBVKY6SaETg*L(yH^ybk&9J zQPg&9*9VrrI^G7zx)_PU(#MC^Hp`I4Yrt4MZ=biFfH|o;ryT1Qq`NfeG-S1)i~LpK z`p7V$!UKrx`0}~^__ymjx3kolUpb2Jp}v=S5>Nx1 zuHCWfW&Ns*tU6rLDk}NW9Z;_$tEtTrS<+0;%O>n8=r2alCD6-+?AaaHfH4s@(>50M zhDnv`K3wr-K$6(fs9AdGI|62cm_oA*zyD~zv?X^b{f7nmCDd*P__ODRkLY&o5;T0d zfqcTSMHsTUUhYx74OV3Q#-;uX8y~bF^SS{{qeK8MwIrD&KIKT3DEDPO;Wdtpw8K-N zhhxww&RB)>@U8a-pXW}a)vnBtaUhjBqEv4qOWycEN4+LzA{r{s)Sfo(Yj2$#Z~(zk0WSl7~38ItMuHW^eX1y7ewr)$k19eB}6`Zt*BIDUMMk$TZ{`$;G-oN+ZdIyq>o0umhZT53E3SlQ4x+&tc~^P zkQCNdnLbIOV@RIX-ti0nx;~g~qeaGzw0_opdi3XMqf?re&!H%~<};5|c%st<2fMv>j8GG$QK3W*R?$Hb&2)f~1qv_6BhD(L1B0bKm!`jKbFW@uUs zHf&c|rC!Yx6{Q+8ClVKs&Ot6Jz~u9`*Qw>f{SN~D$xMLE?FEbR69OrPN^w%r(`6}y zvV_PL3)V$Jcz>yzZ3zwGf^=l(5))F0jcms-83oBmhRZakQT&PMJd^3#NJ2qUlE$9} zrP$;&Dg=agT^rlYJ0`u1VCUR{O&9H`tFt?sD9N&;A`H!jZFD>llOiF7!a@*Qg@6cT z6v9!!n}x8vB=jbqep5Z}IB9VrukDLvE8$)bpFT6Nm(5GzSVP(_zP>O{FVfL6@AriP zd}rZM@1tt(#{qoi!VrCQI+_gATf;nPif6bsxhq>ucDd+mV{3ao0lSGeEY+R!OTq^gIDQ=7ml2HDA_3~I+e9(qN}qV;pz%sBt;ONds!C)Af@^*}8-;%6M8?}ZCQTq> zi`i(i$BU4lQWD6X%55S`%XMbY;EsP;Kln^cO?2($5W;Pkl{h$30dQB88fTlbMm ze~gfAAUk`}Z*|%=i(FKLRFcoB6W#CEU+L>pDr}2~zy5RppS^K@ui_)$jMtS|eS1H? u_f8+yhIiv{O55>wHxBLyzta8l#+`>JV_uWg+pt0AW3yK2-v03LuD=0|f8WNCA7Y+-pilVD>Qv%|Hl50li( M9g`rB2BW&g3h7)dBme*a diff --git a/searx/static/themes/simple/css/searxng-rtl.min.css.map b/searx/static/themes/simple/css/searxng-rtl.min.css.map index d16641e874d34dd6d4b15edb262ba9be639bf1b7..927f77661b670248ae242bc0fd39c896c79dcce4 100644 GIT binary patch delta 1953 zcma)7&2Jk;6xZ5mdqHZc>lRgQ6Us*q87Yo&YQrJq&3HXtJL`=T>?)B!ih@a9$C!|$ zt}7uU{s5p%FL0s~P$3~y$%hBUBKV+1a=6d%C^n>zJB z)rV)#c+WZ)9d^-?YCar&b?);Em7WrXBB^~PLK~1iRXJb+M;NZHUOK2hN5%lBGMb zYqpJpK#Tpwhp$9elTr@DBpe5Ud&k{pB7JH*X3{5d01Mwddig>MNLZkZ~eWW z|7|AG@Td-=A!(do(M}SlQx2?0+;M7njI-8F(JR?uyYoWY{QlB0^Yv>dhv2IZ=xE_v z63if_ctcReiRX`ogej)16Tc!|8;-RHQe0IOw2NX7F&2E+06zIhvW;GRU)p9}7d=S< zL|p`&Mf%frMI9*vGW&yByh_Y8rH8KJqPSRY;@vKp_x=;pQTN4PH#lS*Yfs+GsJCNqQC2%g=bh=+pc! z$ETL_A(>y#EqYaRfAKJ}eAE1VWeG3$UVrn%LR1o4&89iF)XFykWi0~B7-ocF$r*sM+&8S`EB zL9%vp%k1VaCBpt_xZF!5YV+og+RQUywhjE4FkjTo$FDw@u2RtAU(=2F{{b3zM}_E{ tsbuZ;fqAkvb0W+hz@}xM%%x4F&zSi)^5^q?WZklExFLATZEY@p@E2yh8m|BV delta 367 zcmZ3!ov~>pmD+U#g;z|7)N;OaJ+QCF7Hee-0yD{L%Y=Dv=TyEW_>Jtwbn-Ol7yHn~&7 z0mxb67Rzq#@1~O+5;A!Wf2vuqyR%Lx$Vl&yG)J96upN;gzGrZ@lbepWqqD0Hm>&+Z z9iq}FWAYMrZ6@#Z%@^IzGqU)Yx&?r&X7Vq0Bx#!6k{KtLO`Dlsyi`Fc6rp$_)pBLB!Asmh<47wjc`PgJqu;`v+8fQ;;gYs!#-d62WuMoSDf^GIK`jlOb$&Cwso{ z_x-->`M&)2LHyy4&-ae(cA?iceYpmGfJ}U8a&S6)E1RGSO}TDczGk9E({H%ovM$Sp zZQ8EfeQJGVKmKBp28ZtU2d z&`924FsAf!Vmf!Hj-MC{9qUQs{EdQIpaFS!$hHG5tbX!%DOf=@zo}Igl$nYPTcfDu z*sc#Oe{H-4kaZyvgQbrTu5XngjaPxObk06!I{|Z2WnMYjEl781&}qnOLKpdK!1a+~ zLWKt&L*+?I=)s_dJjVo=HOsc(S{nK;7TOHEgzs*Y`r>1F@r@yk1a!M)>5lCoAK8{x zN2{==GgR{`v5f;!b>DWhqx3=5_Itze}6!e!O=o08=LiX&oYrvR@s%aZbdflW- zbsw(!G9XE8Y1Aw|^c?{+K}?}phCg_$U)q+tl>S2k{Ss<50{q$Y!-sXddJ!7FTt_}( z*dh#BTrc;i-U6#Ke)D4g`OOcSka^tzrcojQmz$DI5}$G;OO*Svp70vSM%v*i(8Dq4 z6lbi$dHB}*gD-HW(P~#_$T*Pcd7@NrAxqx;K;)*ee2r4m4e;)_M`^e$aLrAZn8utz zDjy54BK}wxDVhs7?ip%_y$s#DX|HHaRI5QN42<|8G)?4q$kQncvWKofO<5qva;$xT zC6pvU;ZTZCazm50QvL^un4Srd9?5fng}-{Qf0BndwK@krlX_er6-)`@>x4i+b511T zj6i}Dq*7R9lPE5nC=+OELd*XbQIZD%;2$<73u9=zX0XykK9q_33`mOjiVK`LSmo9H zaLoeJLwXf+@QWgLQ)FmOni3+Py3KTjOh~y`!m6q?ga2eTcFHsSWQLK%1>5vrG zR+&CYp<_s%*6#5O|FSWdZKFlTjkJE&e!BGMX`@q`md~Lmx)w5zQ+T4&1qkNN+66V# z_OuF_rJ^A;oV|DlVl3;?@DP5A>j0>FWcc)NT$XaIyI^@ zBEn8(TFiou^+u81Co^SG)(VLbQ^&-lCe<9aHnl#3v?}Q45dmEMc{i#fV%@sk26g-UT!(bHuqgtCmt z6${oxL3n?un{5dV;evEz=MocAh>dK=Fc}5ONQTQar&0Wg=scb2+DJk{Qj*4>1*O>J zG%5syAHF)ai+4fkozGF)r%We!`W z&@Bm{9=0w;%J}xpiNVZG9fLRB4KExy^H8!=QgkY7(L`5gJHyo({^_Fu;Yf@G0-3R! z7E_sa)A=~hI}Cn#t2XXwT6=>qcxW80;af|?qZO6N3#5S|h zR*x4UL8T;+J(b%)mX_!n40L?%OQl@Fv$tWvk*nHnxmTJgtyM47k?ii z+dy{qg5PYnsusDZ2B{>US0_5(Z@k*ut4y;k9{&2%0et5Axjl-Hd^28GV)dPU_};s{ rSR3AjzbWskdo^%*SSJx^w&HUwwZA{B}V6 delta 107 zcmV-x0F?iep98+v08WNCA7Y+-pilVD>Qv%|Hl50li( N9g`rB2D7@w*$MYjEWQ8$ diff --git a/searx/static/themes/simple/css/searxng.min.css.map b/searx/static/themes/simple/css/searxng.min.css.map index 1ee100a03e7433071e7fccd4bb9c468c589962c2..84077591820ff9db7015c04f901b81c8cfd1cb28 100644 GIT binary patch delta 1983 zcma)7&u<$=6xKQ+l>n(qT?a&|+8hu952_QKA5On+v}}c>?%PBgaz1fW;q#`cs=Qr=?_r5pt%lF=& zKY52=c{A^~_qIAW<4?R3r@W^9IQzo6MJ1&aRjH-uYZ6C_C&dw{uaPpO`q`Hyc7=r$fpdWrk;J;|Qf`Q$mU`1} zoIg9m9u50tlzpixeJy%MYVC4O!lsVMV$VO5%Oc=Tf{ri6K3shJW0a3OPn%2i0A1M_dCNg%YU-Y{dV$H<%9{KzmATQ><}S znsQ>tP4l1`rigO0(KV8|vXHF%lhg#vmGlS+M|{N4Zyhxj%CJICWmgb*WTfxAf+>GV z^wtT*|Hu!UJVI-+K}B4TR#3j24SV zmZT`~w`e3ZDZJ(?sgd4|u_=Rf9)Pxw=5rV!Y63DP#!(-m5ziGop_#GGzdms3aNG&= z5*GkI2}`qqEFLPi4J*j4y)QNMWC5|C4e||ZU)On zMqnr!I>zpFaNJx<=dKbL!GFvO*-$mU0F_pZyIT(^B4m6GA|@c1mgtvh3s2^AXBald zlG{rz26=!s?8DdQ#v^ciAz7F7a1n=4zpfl1Q}sxRWi5kFNemHw$#+!nrH}qPVC6^3 zEpuPV0ID8B7#V8r0y9<(gnpsXcK1k@rErznX zgNVq9pC{!+cIF*OivkJ9H5ASMoIeeXyNKuDOM@GQ*51vF+!14o>8>wC^?1Hmn3}Ha z`enOYJ?jPWaOL-zsoF|tALerQ-L+S}s{L&3!F26*RJM>xf9eK$Q*zq7CQ6uCVeF7CsvP1L;M1& delta 320 zcmaFAjq%h9#tl;#H?L#-EV%iD@B^mFk-{>Qt;IhJ<~lh#JL+URJ32b*lsh>a`fRqB zm?^{PwOPg5fSJXkz}0Q?0##W?_swN?SJ;@n%zY6^E>pJ!z8F?9<7S;gdSHhG!nb|!a&&G}xZnI~r%^GwcB=a}s0C!rLgQw%i6Lnjby zF391&j*k91`Oc2+o;oH#sffuPex8iZn=kpTV`lNmON5%3KY4M`1{R;JWUyzLyt6l# u1?Mxd_!MM1O`fkR$K+i&nKMk4F?X{=*fJJ2AN>-i5+{gTGADCKrvLylDQ7(Z diff --git a/searx/static/themes/simple/js/searxng.js b/searx/static/themes/simple/js/searxng.js index 8f0c0cd97..02a5b87ab 100644 --- a/searx/static/themes/simple/js/searxng.js +++ b/searx/static/themes/simple/js/searxng.js @@ -156,7 +156,7 @@ window.searxng = (function(w, d) { searxng.ready(function() { searxng.on('.result', 'click', function() { - highlightResult(this)(true); + highlightResult(this)(true); }); searxng.on('.result a', 'focus', function(e) { @@ -276,9 +276,7 @@ searxng.ready(function() { if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) { var tagName = e.target.tagName.toLowerCase(); if (e.keyCode === 27) { - if (tagName === 'input' || tagName === 'select' || tagName === 'textarea') { - vimKeys[e.keyCode].fun(); - } + vimKeys[e.keyCode].fun(e); } else { if (e.target === document.body || tagName === 'a' || tagName === 'button') { e.preventDefault(); @@ -365,9 +363,12 @@ searxng.ready(function() { document.location.reload(true); } - function removeFocus() { - if (document.activeElement) { + function removeFocus(e) { + const tagName = e.target.tagName.toLowerCase(); + if (document.activeElement && (tagName === 'input' || tagName === 'select' || tagName === 'textarea')) { document.activeElement.blur(); + } else { + searxng.closeDetail(); } } @@ -437,6 +438,9 @@ searxng.ready(function() { function openResult(newTab) { return function() { var link = document.querySelector('.result[data-vim-selected] h3 a'); + if (link === null) { + link = document.querySelector('.result[data-vim-selected] > a'); + } if (link !== null) { var url = link.getAttribute('href'); if (newTab) { @@ -520,6 +524,10 @@ searxng.ready(function() { return; } } + + searxng.scrollPageToSelected = scrollPageToSelected; + searxng.selectNext = highlightResult('down'); + searxng.selectPrevious = highlightResult('up'); }); ;/* SPDX-License-Identifier: AGPL-3.0-or-later */ /* global L */ @@ -628,7 +636,7 @@ searxng.ready(function() { 'use strict'; searxng.ready(function() { - searxng.image_thumbnail_layout = new searxng.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 10, 200); + searxng.image_thumbnail_layout = new searxng.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 14, 6, 200); searxng.image_thumbnail_layout.watch(); searxng.on('.btn-collapse', 'click', function() { @@ -656,17 +664,74 @@ searxng.ready(function() { } }); - w.addEventListener('scroll', function() { - var e = d.getElementById('backToTop'), - scrollTop = document.documentElement.scrollTop || document.body.scrollTop; - if (e !== null) { - if (scrollTop >= 200) { - e.style.opacity = 1; - } else { - e.style.opacity = 0; + function selectImage(e) { + /*eslint no-unused-vars: 0*/ + let t = e.target; + while (t && t.nodeName != 'ARTICLE') { + t = t.parentNode; + } + if (t) { + // load full size image in background + const imgElement = t.querySelector('.result-images-source img'); + const thumbnailElement = t.querySelector('.image_thumbnail'); + const detailElement = t.querySelector('.detail'); + if (imgElement) { + const imgSrc = imgElement.getAttribute('data-src'); + if (imgSrc) { + const loader = d.createElement('div'); + const imgLoader = new Image(); + + loader.classList.add('loader'); + detailElement.appendChild(loader); + + imgLoader.onload = e => { + imgElement.src = imgSrc; + loader.remove(); + }; + imgLoader.onerror = e => { + loader.remove(); + }; + imgLoader.src = imgSrc; + imgElement.src = thumbnailElement.src; + imgElement.removeAttribute('data-src'); + } } } + d.getElementById('results').classList.add('image-detail-open'); + searxng.image_thumbnail_layout.align(); + searxng.scrollPageToSelected(); + } + + searxng.closeDetail = function(e) { + d.getElementById('results').classList.remove('image-detail-open'); + searxng.image_thumbnail_layout.align(); + searxng.scrollPageToSelected(); + } + + searxng.on('.result-images', 'click', e => { + e.preventDefault(); + selectImage(e); }); + searxng.on('.result-images a', 'focus', selectImage, true); + searxng.on('.result-detail-close', 'click', e => { + e.preventDefault(); + searxng.closeDetail(); + }); + searxng.on('.result-detail-previous', 'click', e => searxng.selectPrevious(false)); + searxng.on('.result-detail-next', 'click', e => searxng.selectNext(false)); + + w.addEventListener('scroll', function() { + var e = d.getElementById('backToTop'), + scrollTop = document.documentElement.scrollTop || document.body.scrollTop, + results = d.getElementById('results'); + if (e !== null) { + if (scrollTop >= 100) { + results.classList.add('scrolling'); + } else { + results.classList.remove('scrolling'); + } + } + }, true); }); @@ -791,11 +856,12 @@ searxng.ready(function() { */ (function (w, d) { - function ImageLayout(container_selector, results_selector, img_selector, margin, maxHeight) { + function ImageLayout(container_selector, results_selector, img_selector, verticalMargin, horizontalMargin, maxHeight) { this.container_selector = container_selector; this.results_selector = results_selector; this.img_selector = img_selector; - this.margin = margin; + this.verticalMargin = verticalMargin; + this.horizontalMargin = horizontalMargin; this.maxHeight = maxHeight; this.isAlignDone = true; } @@ -825,7 +891,7 @@ searxng.ready(function() { } } - return (width - images.length * this.margin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 + return (width - images.length * this.verticalMargin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 }; ImageLayout.prototype._setSize = function (images, height) { @@ -842,10 +908,10 @@ searxng.ready(function() { } img.style.width = imgWidth + 'px'; img.style.height = height + 'px'; - img.style.marginLeft = '3px'; - img.style.marginTop = '3px'; - img.style.marginRight = this.margin - 7 + 'px'; // -4 is the negative margin of the inline element - img.style.marginBottom = this.margin - 7 + 'px'; + img.style.marginLeft = this.horizontalMargin + 'px'; + img.style.marginTop = this.horizontalMargin + 'px'; + img.style.marginRight = this.verticalMargin - 7 + 'px'; // -4 is the negative margin of the inline element + img.style.marginBottom = this.verticalMargin - 7 + 'px'; resultNode = img.parentNode.parentNode; if (!resultNode.classList.contains('js')) { resultNode.classList.add('js'); diff --git a/searx/static/themes/simple/js/searxng.min.js b/searx/static/themes/simple/js/searxng.min.js index c2e27c37c644b2152141db3a8845f7cedfb60e51..a6d8e9b0af6527323234c02345ec6feb736a3ebb 100644 GIT binary patch delta 1782 zcmbVMO=u)V6lP*{vj-hyv&rf@Fm^Vx-KJAJ2|xH?gO2xceT$*x{ z?4K#l&RhZ>K@tH~M|GUS18Iq(fC%dv(I8u8YtP_p1kPxW9Vf)Ut>;8Ck(d|6b{vsYhB)QYRtE z=OZcXR{z^_cdEkO*h#E7f^wu4^R-ori2@pQZPd=!43SO}n^zZ}D8%ONg^i^(_i1;v zT6GY|TG;3<-Hcne1*&w5)2@s)Ii%We+6XXzEPPSm=F=Z^&6IxXit+iRUq^>hEvwC^>D7( zwfS)VQg1n@6)i_HRz8$jD@2j=$(I=>zZQe)4rU{jZA~^Y#;Q}WLGA{G;Im@%tn>tm zs;_I*?{=)s=ZiDumCA#?3?xS&>T%+ut{QG|Xd!zXKkJMi!*Ro5c`MViM$vgRis~%V zga(0aaY+MEh*gBP+aQ7s)F`kiT8BuHMLqD=6G0;7dlK^%v}C6Swv*-vP)e#CG7JqP z1Nb0~Wyv)$NCmS~x!6n7lxK|%2|wH2LM{rTnCr-LCQ0U^FAoG-mdFzMp6L+ES%|(u zz-bGEykp|`j@Qo{IVShZf8vx&0Jio2Y4z?~P6-UzyWEeWlaxI@T|BmHmV*t{| z6~+l~LW81K*kMT)ZK!)sTK1S*~`qieZH7jUE|lnxCV8eF}v;)(r`ds!bHj zC}vmYAN6n=`F$Fkpv^e48x#+sb4Cq;XYADc?7j_C%{6Dvyis`!H~;<0Ue6V{24`9- zTNqsS;gQWYd)-^XOM}jy*oc8^n83|W^P7DVF&h0zP?~1i7Qp;guJ#*OA38Vf;%b_Y zR_4uHWbK&_D9wDzU%(s0gvV;S$s*E}ioGs{9)DMZ?=5=t9I&vdJ!yU*Kc63Gn~$&k uK7VTJl4U-q&Ut6V+DBFm7f^ROkXBCNW?nvrA6NgediD6N{$JItr~U?5wSEHt delta 414 zcmZXQJxjw-6oyH))kQlP`~X|hT5GPYm$Yh^5SK10b#u{DF}AnyVm>6fRYT}cP>_S@ zCjJ72fQukH2riaCODbl&qmhr@Z#+r98`EnFSNBeV&hLpd>MR0-Z8e%Wb| z8g9018MVWU_&{$I1+*!HBo0GTl)^Rft|!z-rQYy;d_oW`_)g5gS0VvR$&I3gf<4`p zm{!52&MLMcTUDi&x2nY&QoF?dOA4HXo#bO=&_F>28^l@m99uTR%ak9 z$6Q)xX_aA@=nY@y$JH6-lPF-YiAG|YP4*=QJDGC7k}oO>QoH^rykz-X6dd$ZH=mIn|j#N4;BeEwwdO_2g!evZimPY=gg|5|MS;ff4&$_Cx89pVDGQ1;i&)DKmJs8i|K0K>o5NL$NyUQ(f+^p{+e{h(R@FgTu$#bH0JW8ZRbR)403r4FIuzYWGL|-f}vp<-UJ$J6twm#8&%w@oU>+Gi@@x6y)V#D6smbzq9Tf zBtA#q<+Qg-IQ?Ap=Z^*O(rCocp@wha*z1l)7v0`%yL%%NG$ znD;i6yqc~iqHXMI(?0KaFCS_5-}bV*6x0iN!=J%&Ipfc`zZ^{UeKi;M^Zrjhzc-FQ z(*30mITl)N-UsY&=5w<+hJNioXn`p^j^^p4doi7R*L~yOf1qFB+sjAO6l%~i>n??WpbUHG>Dy2^ z%=@!Zx2Khb2oy{-${uU#?m?hse?zxLe_2{C=fjItP;6={c4zGDG9L^_n&ahr^WjW* z4Z4f%35*%oZs%P;-KYNU49-@h78`rgcRvg`toW;VKw*4=Pi??0;J^&ua(ec^bu z67%N$@$|0$0Yy-E=t!?C(1!?h~g_!2O z;^X~WKHk08*L^-V!@o|~U)M9<3*w<>9KPY>y#Q3FU#BPY{@rl8TBKzT1y1dsAyd(I zM4JR}O_BEo@tWp&U#uzys%1I7z8>{I_D52H=0y@{c-Xw3V2x(*Oq78>c^HV^az27` zv~@?zcvuXESLqQI>PF+Td;J*`=p~M)_x*X^wYbmN0eW2SUv-0D_k*EzWioA>g3Rcx z<}yhC^vlqED1$Xa_OjJ-Ii2LAVNWad7K`&O`;QLO>3PvlAK&g{!}o(i zUSsR@1cvK}?;0GW=#H_oqGAlmBoMRdVwe!0bnn)EmT&a^Yxjb-0s79L;baKuN3$Fa z4OU+c?>75`0{!dhd}s%yoy=AX+cRvRiG)Ck+l#P;T^@HCXO-@~33zs(T&dx_>6@F~d|A5+R7|q9Sb^p4lcsPHWPRB9q$NK5~ zLLL$Oc`=o%_|$HG=8wU~&}^q)kgxmGn?VKy!f2=X5b{bZ3*{?Wx`D`fF&)_5hy05_cVUAMFbWy4KrzNKf75n?hfJ)fwIn z$NkG;cMW~rvc15%ku{{|%$cr)^3`y;#+Qz7!@i<5oK1nn1uXNkcGPS){zq&kec6Uf zoU_Cy&@<8wG#)rs2Pph0D2&y?S)Jo%>_FLv#>q^d|GrC5Lt|3EB2A`jLEsxBlJ@i? z$Q0D{$Ww%^JS^wk$pYS`b%$eY$oX=x8edE>D(4^`WT~lxZO6C!6yIDdC&%53{wT-u zb!Q7}X3_R}y4-FKq2Flu@M;d;2zdlX^WHLKDRj!q2|fNRPECqA9A9rBtg+lQUD_0G zzB9hiHD z5T*Yx!~7@s)`gS^LbvW%tC!|;s}C}np2(ppT?frJQjA&5`n}=Ruy;~S8uv+# z=>TKJ*@9DUHomOGD?0n`)v6KRTMN*O9C)+_#Fhg3j1ewFdv^&4VqZUntb?9qu?UE0+ zX#%+lww8ouy>FXFSNH9nB5^CyDR@SJN-s6S674Ianc+x{l+FNzx^ z==72DJ2%=ji)?Z$Z<5mzNQpr>xAPs7dLCBTInJ7K=R}aq*=lU#$q5p!L~`wpCX5EGAwI9C2{?Y}~BBy>l^l2axg&%;0SgnXUON|Vbn!g*du=ysc> zSlI)EBjw^DWurAwR$o>0AU)-AG+g8<4U*%er8Jrix}R5ioQ^KnMlSN%;_LaAZ#@4( z9mN<+@wDzaA}rwNMJ4DwSC;3NU4Px*{d!)IW0c4;Tzu|I^{|p~+phS0o4g~1ZuC!F zo*b#TH=ST-ojOJixb|J~HJS94W+lwObQK>LUs74C1~tS?>ImkvEV90vcEuMJ0?2J> z?p~#&@sGd$OaH2+Myd2)%~GkE@3l&$)4ety`Cg?| zs^)vwS*i6l+pCsJwX&Kj6^&{0m|vuU)l&YYq`qMm06b7%+NJz$p1xJ~hFK}U$v(u$ z>fXvFSvYoSBezI3%O``!`^-`&!=2F}9>(#xpQmN<3_1fO45e7aeeAcK= zQ=fHVdH7+E?KM9MT&t$f#wV@Wh-VGYZ;W@llG^K~FOzI9FP&B|wAof~uT$bNP-AM> zSOtl|5CEebzPDjT)w50o`Y48WOMEHySTaAzM4FD4DYZ29lwDO0GJ~vD#StiGOxJ*# zrF@=i*fF!gsPZP;8D|Vmv>wB>3G+9wshnDXzIk2;s+G=+Wy{Fqrox4=YZ!y-m4J2n z0@EC2B3tu?7j0b#1pOla!USrbsHq+kdwV^0CxWK+n^)?6#u!*K&s%`4og4<(v2idd z+R&X%Kz0E+_O@6_Vr8O1f_#R&3T|TQJcBv;SM?klkIK7(HWJ^`H2dz+x86#9rp0Pc zWfQ2iun;%BP7uYCa}?ZnOT+Zc_xh#$(haA3-BSL|k8M4EO|2mCC3M2zU=({eyEm?< z5AnxxWU0xQ<%&t~!J*7&kFl|*-NCg|^`Q(FdBr+XYg&{oV~DKi51{H2)#ka@(i&~p zoPReFzqqw+8PHbhqSQPy<65B)VO%UAwa(rxIuB7rPtR?(g=gc3;dG%xeV$$TOD}-3 z)DP1*jTG6dS24c78RCXw$eXNGOGB>Bz)vPd7@12!Z}vdH`qdPZcvin2dV{UkWr@OB z;u+Ecr6uz2Z5{?=-6bDu7ngj;&LzW*H80)HNb#_tKLq*A;eI>VITaQ9`0v z(b$Fv-wSWR$ude;iOLwY%)bE3{S>sd(4qF<0tOrYh!CRC@K#$t3FjmQ17n9x|Q& zTV(Ramsw3LtY97_-RLKL{r=v2seD_@*tb)UO2oHIY?Lbd*(iwrjB2p!(jpLMqZuqq z205RE_n4dD?M2y2V1=kMDaSI3iTfe3yZ)n9s)Rk-Zr&T`rP9xQ8uXWr)ZUhpw7#ln z?Y?*x4lKOwL->v!Vg^e)@5;u|02qK-xGBF4roXF%jRZjW;sCJR1%O;jUaa&CfS^4| zZuO{q6kx)iRgH&;YBTaSyRxuZt~$4sSgC}?E^NY0*-CSr z1yctZ`~vZ*1f{a{=ZEM@{_+Gc2nxL)g;ed{Oi(nC|A+G_j4<`YV?nL+Q4DbCb?n9JdsyJ2-4m;uiH`ENCpvID8&u8dq0}pXAf_|;pIdNx zAkf&r`Su)vrevOKmHj~1+aMm z?A0@1?G3Pt=fJw^>)m~@{2<8+I)}OBr3dlymw8(LdW&t^?b!xqgr3{m?TT#O-vh;% z9u+{bFgqkPGC@K@rf0(7007@hL^{vf(YuY6gsHc|3VZhl0GQD=fagNh-vA(Ze+FQz zmi)LtZLvjWEj|p-Yf;7vKb!nBCKpf@v=q{#$-rLg0UG{n^2z~LM;sYs1?+7>76?{Y zgCHXN0|>~s0rBD)78tEHi2YwcVE?4ZgocLw{@G+A$Mt05!)NQ00BCXnbsKq%?$?7I zGx;Mdx=o(!q;#ut7pCGmw0c&xUH@5i=!1$%a$kh=8-)A3t;!8`M~VmpoBY$uI}6x9#za<&TRKtsskR{bU4+F-i8o}h=K|TJZV`5NmT{&oQDX_ z*dnyY0Vxpdx%P5p=Gp(X*BrYEIY^i?qJq3^Ad$};TW^~IsqdmrK(hDw6C@KTC?gkF zLCrQ$6@FO4)3VP7=Y)Zq!Gtu&=zLzzbZvyn?W`!XOu)=Yrg42a~XnN#bb(MFN1#We^KX~H-D0Gi_LO~SqJS3}Is%w{fk4Wxo%fspRM9Eq8uzXWDUB>Ze z5`U(3u}=z^ljb%{>`+W_>8BN9+C&*ZtSy$1-2M#|Oc4V$UZIXEh}*`udF)g$%Y%ji?;@V@h_&;n)vr*eOc%mVxyuil>@hm9plOY-UO! zM#%jDQ-|3|GT~LaWT1>@m4ZUJSwVaXh_ALFigZ9+CWtHl9b`n(YoKR5<|juVjM?_w zn0l})j#6ymQZiA(4aqku0x})a#%KEjY^fGizvgU5w^RsFZCd31gJpU?;}-7^_kKUa zEA5BJe&s)PT%`>s7Beb~wS~8?>^%Q=5QG{=cJf7{abn59bBaHU*fYVa0;5TdKaI5A zspVs1N!GfjR6}lv24ybNNClAlUeN+eLLj{RlR2H};% z<%jw69xe0pgI9YJJlSL+0C2#yaRIhXvDr_e;aT0I%|Ek`6BR(uVx(PG992}Q?l8Gc z?Ltg;W?O|wZAvD=jfH!fOSMtNU{qCQ&sq$q* zHq=5yFr)}rhHlXkpt2pY&|>&O(L|OAG%zffqDUHQs2CvocjilT2b@og*recu^=>^R z1ZZk7PlXGK-F;x8&3&~&Qkl7eKky!SEVd(hk$iX)^bvI#5|Vh7y-qXVWjlLzuF*gR zndIv9XgyN7c!KuclWSxj1}LX!GSyPYOM8NbbaPO7lU8Ec0x?{D(AftRZOdFw``JhS zyo)yOGHpotp9}1ruFTMxtZ$WEODaz>5t9+VlVU4KpB;wHDV&yKn7bU6lphZ2-qu-z za-(QzlJuS;MHHxbGISiX;tv&kCM#l{)WJteVylM27&I+vNSt56hd6_*gvYU}!P3wUdhHi; z!fFxRfnijw|Jit%tWwuXna)%kH+59ptVLo-R?V0=Zm#&axn>)uvjwddv0QiWCpJ19 zT5uecu0Ke-HZ)Z1z%i!aRa(|R%ciVKiLBaT9DN98is&R83gKlu@_B@=Mj7A>*4qY7 z%yx^iM&&6`@R=-8^ELXryT&Gdrd+MvXI^Qy(!U!c6UU;T0SzGal z1RfDN{?}&#v-UEN7`4{34(r6Ta^c0!1ivegS5bb|g85}HiL6eQs*@~eNu;AKhAb8# z0ue_8egH74|5a!BhInbRS4fgHEq3006KNk)8l~n9bQ1y%QbOvQvxT6Ogr9-eS?sQP9jB{C z1q|h4UCF8$=guq?rd!mLpik*Oo7yV$_Ec#mI86j(Z*VNJJT1C7SiQ*! zmgp*k=nu3vS=xUj+Z*@yj-FEuz`ngg2qn_pnuDjI6mRRHO6)rw61;Qra3@$kvlu|c?7i$Ve;OX)QNz%sdmwzSP*M#tqjtn|Ci7dL~5yPj! zV-5EQ1Aw+`ay)^ejfP$Tpd|taS?A}eoHef94&SePO zl+&lr@;+@G4_@OYyEd6RPrmKcc%wyV_0T2<@wlk3k?Wii7NQ-ej`xV@rk?n0%+WTO zLC~^*{mL5{X8Rh0UOgtSP#geYcWa1#xLA~G@kW79Rv zYwSN;cnWwRZ{fck@#{E1`dV<7H3P(W4su( zxx)*rl&fA^q~DpZab?VUXB{V-qX@&57MV*olX*(K6kuv|5g)=EPQY~(2c`t1(h-l= z;iRxm(dmOi9j3mCSSU?X=ExvStBz=5Erno|1+|2&NHZcI1AvplUTfKYP;4{pWwnIo zv>aM1Ba~C!miAtodK?`noxX`E0HXtZmCaKo-!|`WGnwup^HGh8LgFrDWwQ~B)>aO# zrcOeg$dzio$+$rnls2WgS^mzrRxx#QxXGR%ddJ$&k9!My(OYo2Q>x!&)KH;G$s4H> zU&TdTD^E!FFl=E^N?W*yfP{h#igdD2N999c2MM<36Q;3C*hkrLS$=Y=u@mFHu?c7& zhFeGqgPFEPH_@YzErQmR>Nvy8FU{wnV-xJTJ%#LOE(+IuRuQMn9feFTKuyR9m>x{1 z65T6bpTA4x&2&XWLD$QennL!K zizgFu2?XWr#td)Kh@{T42w1^*<#+__`8WO<8`Z_G%t9+1B) z$E{eizZS%%T8D0SgkY;+W(px3(5QW60c}0Dl?=%|OV2*snJ$$gF_E5;!$^cdk{tDI z1QLanPUWp)i&zlZ1j}Cay~VOiK*k2P(ihetDp}hO?=OzcD>0>maX^2!tI+9iF7+RM z691cyv|4CB@H@02Le*DaLQ_~|Qidd3U1%gF^{5UtIFWPoz8OBskQcSxs!CWnS&4?Y zITz+A_kNv)IHj!zx7JR@0xL4y`mKU_`EN(7IwN(`=q5IutS~R#SF3X!lazMzG{2{j zKJro*ORI@CrKD`Ae;mFd0$p_e3o z5Y5B3P{QCK12A+2y;fmeIrnnWFBaYL|82U7@2T+J@1bMLBh$JB{Js?wMICaAM-q=P!8 zx?E1&;Y)QsM@I!2Zl&0jsIS%!f1%kMxAfkoD}3zq=D&kjb{tW6A+Qt?eTN{L) z5f|03;}D5tR)#v29iT~568Vt73eu$R6pFM<^_N*xI|^YMe%)3z#3*I$wj1$&O_Lpg zN_C+>MU?ISaW;3nR=5uCbIF)uUX<0oja6}q%wA+qaU1W|X>w{(2Z&;)U_P(H(Y9^C zr(DZV&QGd9IT^#uneW<#+!JzO6n`15Nn}QhejB6hYliVw$`Fkbk1PwTOv_dd;$<28 zulB>SR5Mgagxt>_Jyxe^B;BlDM-n8n`oM!p@5gS@Tr!u_n9yaIMhnQS{L>>sxQGe#O7I7tlrI3a+4D$r*U8GoM$*8`M6DOCbiHM2e<|#)G zRfx5VWv51~$Cis|%%dCBa=PZ-Bp*f&IJABFnT`DJ9VHVuUyD9`cihIA z`W*i(P9vVnQf*mD=6z+Iqa+V|bPa{2g;q5x^6g3No%>C6;Q168Ce6YX_jL_1DADmA zc~eoS#P*&qitl;8C=uo?i)!PVL(N|}Wb?7(WA`n54XU1yG>!_;Wl)4(f5W?E1q$9- zGI~^KIM`45;A@v_A|XVy#fZfhsj20VJ2oNp(bfY~YD2u7qSQ|^^%Y>6LyANy^ogK( z1Hq$V2k+&b3=Dd!ZlILl-U|3Ko5v0|0lXY^bRPWLsbI{Vl}L!|=z4FV!oYZ8}v{ z0p|t=EKj>F%U-o24eH61%|CJAL#5$U1q~H6mB)AiQu}=jZ0&8*jexMvk<^P{s!SHq zbHI*Ttmnj~LJy1hI{73`iR&?@MmiK%tJOFX2}3yiW`n<3>0L05b}ueJ`2P7A+X`yB z>k&~V*Z^@9##_$vCB{D*ZoVPrykHSa@OqA%HCYk7xX~eG>0UJ_Bv7W%?u)C*P&_{U zrljtUK@$Nc#G^>Kc%Y;40Btup_g4nOdIF#Rp+Zh7+|Cx{mI3 zyr8v9=CbkhYnxTes_wFCMBU501-uvP`@5fm+0R87vyB=pBb!0|O^p6!G6!9SYP)08U*ER;7G32qqbr_MKn=f z^TY;h!T6`+f5|*i=^AW<0+M^hUlJdKNYz6Kb@yo-(#r&?@A83z*9ZxkaXIFPXkWa8 z5sNSVvkIL@zjS_OO44;&jp9Q43Fo&9`gV-?J2DzV+oM{Zdya7H1OpLl#Ka613XaSP} zQSmr+MLNI1HAA^JS1kXHxj&`6`J@7J60!(=6Af{p+5~HHFDXv%eUMz^mMR_XxU(8m z^HJ&z)gI9?=uK!8dJ|r&xjnoyQ+CLEVB9v{!uDNUR>KYmnRLuWJ_Nbb%?>MyFKwhl`h{a45eze%&LQG{NHfji$TJM_>$tZ4t@A1~&t`vlM z3k>x09)N6ceGvks%#K4r+7bor3$Qb+SdW`?p}>flHWKIaBw(IFEG@3a3BM~0?ca_Y zdWTNO2l2+kS-gf<*ewz3AfwQW@%62-&qmNkd2tkWden-;CkeZTr+f479ipAa!SsW7 z(!kY7tTpOo_AU;i!k3)t%1{OV(N#{uvhKmg(&rYGo^~%@!O_+JNB>c3BaEUc5jl z&t`N^;}y(p>hpensL&2?sqEpa*}z8FeSF#CtWx4|u`LHtphZM54{zhXNGpmdpe+l{ z3P{~S(Adhjd0lZJLne^+gzcyAHY5=Xx3C^0k^A|s>c9A|M51TK=X^tx@u~bdeXm%% zxMu2}MRw>)fAjqpmB)yGB2;VMx%}A+pXACzZNDQ)yN%LKJ4z(YH!cPA4;@D~hBl^p zGYaKn$1K{zOY)~l?7D7KQBCe>oKYWE=WV1i;zXmIy6i4Fys!-jhxIPZ;o6RbjMUzG z)!OvCsi_Y)DEi^tZsr7|Y1l*kD1t91=H;8+c3k*8%CW6kRFuMP8+!+n5rBq}#i2{> z)-|nZ#yKFHiwYfqv5bWF6``f|ds&`(ESwKh?j3Q3EMD||G=oHS<%D4!-N{Xfw;$3} zUrMINgm2Ypu?XX7twG|r*1b01*2vy-Q!*NrDe#EY{IZ7(qv^^|zR=XVQS^g-$8_+u zJq$!?rL2?glM()C!(CCq)ZMhocWMRWbVg&!h9!e48*C`=12j0oX7Zvn`D8eiVwRR=Fh6()C(E|aG= zv_m&XGG5r(3_OM0K8{LoV|wc#1Tw1YQWopCl!a2YW}{qK>7z2T$Jb&DKYzd*@*PD0 z+(4se*AS#Y;K)MMiE^)gDnz{Gm8t}o`c>iqQ7>zDU-(ruJ95-O#xrbz-kjcAJ3;lnls2CVb+3Oo>EH;|Lbmk*8Ox&hozK>eS(DaRK5dCzZ2|^^F(QJ2~*#lJqhE z=C?(3B{TnV?QC6EFaJixTBL$d`7!rhH-YRWZvq0yanLcMoeT=qDkymD(|g~R`(*3k z$mpVBB??VaJX+kdO>fUELMHH~PP^D-yQs84GK;Wn16nA3!QsQC&Vz41)zjpc`h_gq zcGsD%ILa{?qvMK{aGPXNN7gNSapW^UtbiEQALFG1aWuc!1P}F&3kQ$l`7xv z!(0{EIYI`zNcf&%hcnPI961QsT~TKF|A?IFZRW*I`WElNiT2N!_X2#b^Eg>+zWptK z`T2{|i*&fwKK$(vL}2ckVl9laYZbm$ln%^a#*tZ3IEhzQmSIJ2yJBJUz$tj=U0hgj zRkwZPw5~&T2XC&kI~PJyS`eW^xVX;XVtaFw^$T%`NQ3N%BEdo6$2~hqvOX-}m*!?? z8VgDFQ|b_b+*x$EKy;AB%@j?pTn!`ReCpVw75C7ntUY8ujb?NC!}@U_w@jjx%QY2t za{BPWvr_S%sD)TS(uaTGPiwy3CxY)L8_Q9CZHHceh($Nk(=D+3D4|Qbcu|rqHh76q z7B`JNQ}GK9ZL8C71=eK+D8Z}TjCF$lg_E>@Cazet&sv;!kQ9Efm;CdVS|zUljSKTc zT<9N!N`>OiB-nT#<-VdQ6f*kSOzY2L$h$K$)nZcPSPZ*EIL2rENTv>s6;`KXyPp?p z8;$>C6u&_Mq0fxmbsUA7$9H)`p)io!=7^go#CLcPdzp909M3s_OT;5=oUlY|_< z8b&zD4Xmf^TQCpb@?)GrJf6Rj&S)uCs+~}5#Gd=G%0Fn5R9Bm!Fd*@KyThKMqBo{6 zKD94;TPB7=?E1R{3qIcC71Jer@@>%u?dqFxMgqwh*St=EQK^!PpRyzY-cqrAMiL-uA2*)IXCJZdT#1vq#ah_007$g|4 z^m8W#28%d*;Hn|S7S8n}5>#ua1j6!%NeBYT3>=2Rou}VBD{ks*8>2Aj=#%1p1`6Y0 zjL;p+`Vp@rg!ZtzxFoqBqtd<#Ine8B9R0#5*3sGo55L(y!*ph?0Z9scCQXs*)yD|A zOhu7r5c=?J9exC@gw`9fmz$N4sJj3KwQG>xBI{`0al5PBnEG)=72q-|t6O zVRt`c-G*eH$M_LtD=9y1fgW9$>rNi+^tN)x1`?)QN!qtc;5nK)Lv>n#EszT4}W{B z7jEl!89xc;(U2%EnEZ5l_-6wxi55{`*Nr{ICZ;U&*S36B7s&h~#n-5eHeb7l*?KKQ%*C;98^Z3#)_=D#j9z^| zC!Tf!BZZ)tC1v{EU|qIfN*Vq%K%OvlCtV_W6#m>~)|}MH4>jNbC}1K>-Q|w$dg1rr zyRrklyPY0vsgrvZHIJ#jxq2Y79H~&0t`S{J+L0vfX5d4}&AHoQ=H62MA>cmtEXy~l zm5@YPZRX1z;?+Mge@)HZDcmw4^KDV;Lc5c5U>;V$P&Q$EVV#}8|PH@n_qhtQN2o@=A9ye3O}_X zfeSw-S$3@YorscWj*%tZ_#^_yRChgD+C!@nc!AJb!WHKesrO*@!kh6M{yQd#nM`N z;^KU|;*~~HrqN+u*@1NxPb8YVFTV>tOGM+N(l%n~DOq5DE^cFQ#45)uE$`uk)!cC}g0WtX515tzw zoY`JH$wdfTlY@~E1B6z`j!atyisS+U{w`#LGcxeju_*92=@k5sw9{8{wYv7giEui( z$2>5}r#{=lc-Rv%+xNcE-ruf8Ra`tJ~wb=>7XUAtodclw!K!J1w>@* z2FSHvhHekT&Oiee*ANPl9KIH;3q2W|9PM}~(t%<6^_D*OxkV_AA7oHNkbP{Gf8`a> zKd$3Ddz^rHf4*)Bp+qt+212yBs`64yYFu$n&l38{72*`pBSmM)T-&SGml?kpv^Kh` z*rn6?P#F#rtZ;QJ<@rKP~U)I{nn!o0F+vKJUN%neMOBFrTum|FFX3z5ne`d zA&n_c=%aG5>v_N$SFx;cvMp}1TICBRJ}a)W6H~z3_`-Rro3Y5LTE`DaRZ0g}L}k^| nyQ`c0O%#2d(40nvFn$YL{C039->^?;sZ!yqLALDt^?&~#b(m@n literal 29619 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