From f7c5b5726118386f82616febf327d3405c3e44c4 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 18 Jun 2022 12:10:35 +0200 Subject: [PATCH] mambabase: remove from this project and create as a stand-alone project --- Makefile | 35 +-- mambabase/FinishPage.ui | 118 -------- mambabase/InstallationPage.ui | 144 ---------- mambabase/SelectExtraPage.ui | 170 ----------- mambabase/SelectGroupsPage.ui | 209 -------------- mambabase/WelcomePage.ui | 183 ------------ mambabase/mamba-128x128.png | Bin 12127 -> 0 bytes mambabase/mamba-16x16.png | Bin 859 -> 0 bytes mambabase/mamba-22x22.png | Bin 1296 -> 0 bytes mambabase/mamba-32x32.png | Bin 2138 -> 0 bytes mambabase/mamba-48x48.png | Bin 3819 -> 0 bytes mambabase/mamba-64x64.png | Bin 5308 -> 0 bytes mambabase/mambabase | 2 - mambabase/mambabase-autostart.desktop | 13 - mambabase/mambabase-pkggroups-parser.sh | 28 -- mambabase/mambabase.desktop | 13 - mambabase/mambabase.png | Bin 12127 -> 0 bytes mambabase/mambabase.py | 367 ------------------------ mambabase/mambabase_it.ts | 147 ---------- mambabase/nvidia-autoselect-driver | 91 ------ mambabase/openmamba.png | Bin 6492 -> 0 bytes mambabase/po/it.po | 87 ------ mambabase/po/messages.pot | 85 ------ mambabase/update-translations.sh | 4 - 24 files changed, 3 insertions(+), 1693 deletions(-) delete mode 100644 mambabase/FinishPage.ui delete mode 100644 mambabase/InstallationPage.ui delete mode 100644 mambabase/SelectExtraPage.ui delete mode 100644 mambabase/SelectGroupsPage.ui delete mode 100644 mambabase/WelcomePage.ui delete mode 100644 mambabase/mamba-128x128.png delete mode 100644 mambabase/mamba-16x16.png delete mode 100644 mambabase/mamba-22x22.png delete mode 100644 mambabase/mamba-32x32.png delete mode 100644 mambabase/mamba-48x48.png delete mode 100644 mambabase/mamba-64x64.png delete mode 100755 mambabase/mambabase delete mode 100755 mambabase/mambabase-autostart.desktop delete mode 100755 mambabase/mambabase-pkggroups-parser.sh delete mode 100644 mambabase/mambabase.desktop delete mode 100644 mambabase/mambabase.png delete mode 100755 mambabase/mambabase.py delete mode 100644 mambabase/mambabase_it.ts delete mode 100755 mambabase/nvidia-autoselect-driver delete mode 100644 mambabase/openmamba.png delete mode 100644 mambabase/po/it.po delete mode 100644 mambabase/po/messages.pot delete mode 100755 mambabase/update-translations.sh diff --git a/Makefile b/Makefile index ac8764d..a6e47ae 100644 --- a/Makefile +++ b/Makefile @@ -53,7 +53,6 @@ initrddir = ${sysconfdir}/rc.d/init.d mandir = ${prefix}/usr/share/man sysconfigdir= ${sysconfdir}/sysconfig profiledir = ${sysconfdir}/profile.d -mambabasedatadir = ${datadir}/openmamba/mambabase mambareportdatadir = ${datadir}/openmamba/mambareport mambaimagesdir = ${datadir}/openmamba/images iconsdir = ${datadir}/icons/hicolor @@ -89,8 +88,7 @@ distdir = $(PACKAGE)-$(VERSION) dist_archive = $(distdir).tar.bz2 pck_desktop := $(wildcard desktop/*.tar.bz2) -pck_catalogs := $(wildcard mambabase/po/*.po) -pck_catalogs1 := $(wildcard openmamba-update/po/*.po) +pck_catalogs := $(wildcard openmamba-update/po/*.po) .SUFFIXES: .SUFFIXES: .in .po .mo @@ -119,24 +117,16 @@ dist-update: $(pck_infiles:.in=) .po.mo:; msgfmt $< -o $@ -locales: $(pck_catalogs:.po=.mo) $(pck_catalogs1:.po=.mo) +locales: $(pck_catalogs:.po=.mo) install-locales: locales @for f in $(pck_catalogs); do\ - lang=`echo $$f | sed 's,.*/\(.*\)\.po,\1,'`;\ - echo "installing i18n file for language \`$$lang'...";\ - dir="$(DESTDIR)$(datadir)/locale/$$lang/LC_MESSAGES";\ - $(INSTALL_DIR) $$dir;\ - $(INSTALL_DATA) $${f/.po/.mo} $$dir/mambabase.mo;\ - done - @for f in $(pck_catalogs1); do\ lang=`echo $$f | sed 's,.*/\(.*\)\.po,\1,'`;\ echo "installing i18n file for language \`$$lang'...";\ dir="$(DESTDIR)$(datadir)/locale/$$lang/LC_MESSAGES";\ $(INSTALL_DIR) $$dir;\ $(INSTALL_DATA) $${f/.po/.mo} $$dir/openmamba-update.mo;\ done - @lrelease-qt5 mambabase/mambabase_it.ts -qm $(DESTDIR)$(datadir)/locale/it/LC_MESSAGES/mambabase.qm install-kde-distro-addons: dist-update @$(INSTALL_DIR) $(DESTDIR)$(sysconfdir) @@ -181,23 +171,7 @@ install-srpms: install-icons: @$(INSTALL_DIR) $(DESTDIR)$(systemlogodir)/; \ - $(INSTALL_DATA) mambabase/mamba-64x64.png $(DESTDIR)$(systemlogodir)/system-logo-white.png - @for i in 16x16 22x22 32x32 48x48 64x64 128x128; do \ - $(INSTALL_DIR) $(DESTDIR)$(iconsdir)/$$i/apps/; \ - $(INSTALL_DATA) mambabase/mamba-$$i.png $(DESTDIR)$(iconsdir)/$$i/apps/mamba.png; \ - done - -install-mambabase: - @$(INSTALL_DIR) $(DESTDIR)$(mambabasedatadir) - $(INSTALL_SCRIPT) mambabase/mambabase $(DESTDIR)$(bindir)/mambabase - $(INSTALL_SCRIPT) mambabase/mambabase.py $(DESTDIR)$(mambabasedatadir) - $(INSTALL_SCRIPT) mambabase/mambabase-pkggroups-parser.sh $(DESTDIR)$(mambabasedatadir) - $(INSTALL_SCRIPT) mambabase/nvidia-autoselect-driver $(DESTDIR)$(mambabasedatadir) - $(INSTALL_DATA) mambabase/mambabase.desktop $(DESTDIR)$(xdg_appsdir) - $(INSTALL_DATA) mambabase/mambabase-autostart.desktop $(DESTDIR)$(mambabasedatadir) - $(INSTALL_DATA) mambabase/openmamba.png $(DESTDIR)$(mambabasedatadir) - $(INSTALL_DATA) mambabase/mambabase.png $(DESTDIR)$(mambabasedatadir) - cp mambabase/*.ui $(DESTDIR)$(mambabasedatadir) + $(INSTALL_DATA) menu/icons/hicolor/128x128/apps/openmamba.png $(DESTDIR)$(systemlogodir)/system-logo-white.png install-mambareport: $(INSTALL_SCRIPT) mambareport/openmamba-makereport $(DESTDIR)$(bindir) @@ -223,13 +197,11 @@ install: $(pck_infiles:.in=) \ install-srpms \ install-desktop \ install-openmamba-update \ - install-mambabase \ install-mambareport \ install-locales \ install-icons dist: clean - @git log > ChangeLog.git @mkdir /tmp/$(distdir) @cp -a * /tmp/$(distdir)/ @rm -f $(dist_archive);\ @@ -246,4 +218,3 @@ clean: rm -f $(dist_archive) rm -f $(patsubst %.in,%,$(pck_infiles)) rm -f $(pck_catalogs:.po=.mo) - rm -f $(pck_catalogs1:.po=.mo) diff --git a/mambabase/FinishPage.ui b/mambabase/FinishPage.ui deleted file mode 100644 index aefc13f..0000000 --- a/mambabase/FinishPage.ui +++ /dev/null @@ -1,118 +0,0 @@ - - - Form - - - - 0 - 0 - 552 - 392 - - - - - 0 - 0 - - - - Form - - - - - 0 - 0 - 551 - 391 - - - - - - - - 0 - 0 - - - - background-color: rgb(239, 240, 241); -background-color: rgb(255, 255, 255); - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 10 - 511 - 31 - - - - <html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installation completed.</span></p></body></html> - - - true - - - - - - 26 - 130 - 501 - 21 - - - - - - - - - - 20 - 100 - 511 - 271 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - 20 - 40 - 511 - 51 - - - - <html><head/><body><p>If you ran into problems, please check the installation log below for warnings or errors and send the report to the openmamba community at <a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a>.</p></body></html> - - - true - - - - - - - - - - diff --git a/mambabase/InstallationPage.ui b/mambabase/InstallationPage.ui deleted file mode 100644 index e65b92a..0000000 --- a/mambabase/InstallationPage.ui +++ /dev/null @@ -1,144 +0,0 @@ - - - Form - - - - 0 - 0 - 552 - 392 - - - - - 0 - 0 - - - - Form - - - - - 0 - 0 - 551 - 391 - - - - - - - - 0 - 0 - - - - background-color: rgb(239, 240, 241); -background-color: rgb(255, 255, 255); - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 10 - 521 - 31 - - - - <html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installation in progress...</span></p></body></html> - - - true - - - - - - 20 - 50 - 511 - 41 - - - - 0 - - - - - - 20 - 90 - 511 - 21 - - - - - - - - - - 20 - 130 - 511 - 241 - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 30 - 491 - 201 - - - - - - - false - - - - - - 10 - 10 - 481 - 20 - - - - <html><head/><body><p><span style=" font-weight:600;">Installation details:</span></p></body></html> - - - - - - - - - - - diff --git a/mambabase/SelectExtraPage.ui b/mambabase/SelectExtraPage.ui deleted file mode 100644 index 729a593..0000000 --- a/mambabase/SelectExtraPage.ui +++ /dev/null @@ -1,170 +0,0 @@ - - - Form - - - - 0 - 0 - 552 - 392 - - - - - 0 - 0 - - - - Form - - - - - 0 - 0 - 551 - 391 - - - - - - - - 0 - 0 - - - - background-color: rgb(239, 240, 241); -background-color: rgb(255, 255, 255); - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 10 - 511 - 31 - - - - <html><head/><body><p><span style=" font-weight:600;">Please, select from the boxes below the components that you want to install or update from network.</span></p></body></html> - - - true - - - - - - 10 - 50 - 531 - 331 - - - - background-color: rgb(239, 240, 241); - - - Proprietary software installations/updates - - - - - 20 - 140 - 491 - 21 - - - - NVIDIA proprietary video driver (autodetected) from openmamba.org - - - false - - - - - - 20 - 190 - 491 - 21 - - - - Broadcom-sta proprietary wireless driver from openmamba.org - - - - - - 20 - 240 - 491 - 21 - - - - Broadcom B43 proprietary firmware from openwrt.org - - - - - - 20 - 290 - 491 - 21 - - - - MS TrueType core fonts from sourceforge - - - - - - 20 - 90 - 491 - 21 - - - - VirtualBox extension pack from virtualbox.org - - - - - - 20 - 40 - 491 - 21 - - - - Widevine extension from google.com - - - - - - - - - - - diff --git a/mambabase/SelectGroupsPage.ui b/mambabase/SelectGroupsPage.ui deleted file mode 100644 index 579bd29..0000000 --- a/mambabase/SelectGroupsPage.ui +++ /dev/null @@ -1,209 +0,0 @@ - - - Form - - - - 0 - 0 - 552 - 392 - - - - - 0 - 0 - - - - Form - - - - - 0 - 0 - 551 - 391 - - - - - - - - 0 - 0 - - - - background-color: rgb(239, 240, 241); -background-color: rgb(255, 255, 255); - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 10 - 511 - 31 - - - - <html><head/><body><p><span style=" font-weight:600;">Please, select from the boxes below the components that you want to install or update from network.</span></p></body></html> - - - true - - - - - - 10 - 50 - 531 - 331 - - - - background-color: rgb(239, 240, 241); - - - openmamba installations/updates - - - - - 20 - 40 - 491 - 21 - - - - System base packages (recommended) - - - true - - - - - - 20 - 70 - 491 - 21 - - - - Office packages (OpenOffice, ...) - - - - - - 20 - 100 - 491 - 21 - - - - Audio and Video players (VLC, kaffeine, ...) - - - - - - 20 - 130 - 491 - 21 - - - - Multimedia editing and production (kino, audacity, rosegarden, mixxx, ...) - - - - - - 20 - 160 - 491 - 21 - - - - Internet communication and p2p - - - - - - 20 - 190 - 491 - 21 - - - - Graphics software (gimp, digikam, blender, krita) - - - - - - 20 - 250 - 491 - 21 - - - - Emulation and virtualization (VirtualBox, wine) - - - - - - 20 - 280 - 491 - 21 - - - - Base server packages (Apache, PHP, MariaDB, ...) - - - - - - 20 - 220 - 491 - 21 - - - - Games (tuxracer, pingus, ksudoku, ...) - - - - - - - - - - - diff --git a/mambabase/WelcomePage.ui b/mambabase/WelcomePage.ui deleted file mode 100644 index 254affa..0000000 --- a/mambabase/WelcomePage.ui +++ /dev/null @@ -1,183 +0,0 @@ - - - Form - - - - 0 - 0 - 552 - 380 - - - - - 0 - 0 - - - - Form - - - - - 0 - 0 - 551 - 381 - - - - - - - - 0 - 0 - - - - - 0 - 160 - - - - background-color: rgb(255, 255, 255); - - - QFrame::Box - - - QFrame::Raised - - - - - 20 - 10 - 491 - 61 - - - - - 0 - 0 - - - - - - - openmamba.png - - - Qt::AlignCenter - - - - - - 10 - 80 - 531 - 72 - - - - - - - <html><head/><body><p><span style=" font-style:italic;">mambabase - Copyright (c) 2007-2021 by Silvan Calarco<br/>Released under the terms of the GNU GPL v3 license</span></p></body></html> - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - <html><head/><body><p><a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a></p></body></html> - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - 0 - 0 - - - - background-color: rgb(239, 240, 241); - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - 10 - 10 - 511 - 131 - - - - <html><head/><body><p>This program will complete the installation by adding the minimum recommended set of packages to the system. Additionally it will let you install, upon selection, macro-group of packages and proprietary software components.</p><p><span style=" font-weight:600;">TIP</span>: you may run this program at any time from the <span style=" font-style:italic;">openmamba control center</span> on the tray icon bar.</p></body></html> - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 10 - 180 - 531 - 20 - - - - <html><head/><body><p><br/></p></body></html> - - - - - - 10 - 150 - 531 - 23 - - - - 0 - - - - - - - - - - diff --git a/mambabase/mamba-128x128.png b/mambabase/mamba-128x128.png deleted file mode 100644 index 7951ee3c747bcf27fe15231ea93d80fa5556cd7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12127 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 Vv1V5KfX)B_002ovPDHLkV1gVgD4+lU diff --git a/mambabase/mamba-16x16.png b/mambabase/mamba-16x16.png deleted file mode 100644 index 9b66b490b8228ac56bd3c670bdb621838d80cee0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 859 zcmV-h1ElPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iFS` z3pgB8QHY5E00P@dL_t(I%Z-ywY*b|whM(`=nS1A_cRIJNE!Z~LYH4)>L|U{GV`CGL zSkQ$MD6k-IG$t+tV+f`(ELhZ}ab*+NT2_tN(8So3%3o=5gaR}C)|N^;9j4Co z_WsQ00+|3x!m~N&BV`KLrR5g`-T)w#7ICcRd~YU`(7C?|Zzhd97mTAOzSN z1mzt8nFm+mx>NThSH0VOdje-_{PvGAFI^L@k1bQpYS4lZ5a0`N``oM?+#mm?yXQv7 zaEj#JB>sn*DE{BxulO_( diff --git a/mambabase/mamba-22x22.png b/mambabase/mamba-22x22.png deleted file mode 100644 index 6aee5180cf5058dd4c8ec4e672d4b9b4be768272..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 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 Q%>V!Z07*qoM6N<$f~IN_pa1{> diff --git a/mambabase/mamba-48x48.png b/mambabase/mamba-48x48.png deleted file mode 100644 index 787b10f01b8aa8e23233dd8c8b8980a43affdad7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3819 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iFS` z3pO?uX>8E|01j(OL_t(&-tC%sa2!RJ#(!B=UDc=5lB~m$@h#i-FJl8x0AzXzR~m-?f;#(_3U&HrD7B-MV50fln`h>$dy=f%+KCCce@Fl#^D^`5 z%K5b~T>cX={f3d8agCt78iWH_B>+g!4N;ZZGxduW-rU_qD)}4>{C@p4bKBeC_kHF|!eTjD7Uz96jW&?RoOoSoP$B!0jqHps2>h$?xos}z^ zNu4N&V`hMFoP&7!dyI?*`8&-B-odB~qD;OXg5d*7@9_HAWdY$v;u`-z(wimn5I zE);4lTTXCPXYRO#+L@DL zJ-Gt_R`;yt(aq0ex%NpdqLAk2M>B8WjH(eO>suaxV!@L<>83sOt!v9}YIpCw<0anA zTV#(GQirX9`)*-U$j?$S^Pj4i@nZ4ukeRg|Y>Vfxj^v5M z0L0Q{E}zK^U!;C2^%oqZ_+bA|`!d$|Z8>P(1Sz;1oja??adrJ97S@d6;_9)8g2Q{i z8o=;@USD!}yraNd5B9R~f;ws{)dPwT0kP0S3jTcSfNzM=6oXDQT7 zhcR|H(#(TnmBhA7;tYuql8l|}r?yi3@!!wmF`#U?;T3@73yk{cKBA>4MFs5t-pC@S zdv!0ptA~`&bi&%l3FrC_0?_3Yc{`IJF9ayV0H_+{Czi8v$wV%>CvafAF;Z~p{Q)i- zlOy)tTHL(pDQuN`+Zqzb#x@=7f}|r!9Ec1DpaSCl+j(I^9nbv3jePSb-{h?CUq^$K zWF5!NR=6$aQ#}i|Erv}`K_Nkx?q|Ck%03dNsyE_y3e2@7)J3KfFx8*W2vyo zOdpuDFj~j_sgud=jgxHJOQ1H4D%@e=R0^qFZ-LfTrd+*;#ozmYXKa_amxJBGG%DWz zM15N1wUHL9W^CB&9*C*KyMZe9aMSa|8wB-fLp<+E&Y`EL2_ zk3M0EY10Ap4d38YfEQMfNo4qR{-pf0fUb<=><1BzH)%@4oB+|&pl2hf3K&7~83Z+* zh|geCF?ZDc-jXgo`7})f-F%vj^LciF3O&H(Ril^~u0TUUnoMK-^1*N8JaU-Cg9qXkpbwlhgk4)T*;Y#VCcK zAN(rRo`$=BCo-EwM9LAm!MISAD=HfZ_zVUdi;P`7Zb^}KY(7u+Fd~bKYH(Is1-@OucnHrY?IBI1Y1*m>`5m`StjmL zywebf@bj6M6EOlv7Y5e1(DVM6sG6kqoH~4l#7^ZY4&*5&O$q}RiFS*0pQK>X{P=dR zT)LON;uvLiWc@GrlUd`npDAZA42#pomI|(Hio)98;U-h~XU|52BOVB&)cbVM!ep%w zZRsMLV%zw5{|fr8!^@8EpT2;Z2_M~WtwlOEHS@+2ZHz*}EY(K^6N-6qU0K>zrP#mQ zPVVYw>4RVLbVrspAa<;BS`GV&v^>sZm1WwUV#=AQV;jLLAhQ_?o13r`X#(fYL9MFt zl=nnb0yRj}kGbU|tm*-N8QaCi#C`yLipmUs6<2L`33a9!v0yUMX|<@rfkNIZ?o0}? zH2YS?=xWNCyL#mZFE;bar(NuFB{85M$Q|n(>SRpPhDsX8#ooLgHs>j{i>#TacmFHh=VWYQ@`@Ma@0_5>14JG+3i-KjwpDVhL zLL!eCQHwEgEW)v%V3Kd^BD*g|*;SXJj~Pd?y@&kTpB1&OdG@+2k&E|-$+C#^OZFF@Pw!hKJQ%iQT#*y>^iD8N#SXjqp0$c}BG?ZWf zzwRg7)rXVG6P!?wa4iBOf?yR%y!8=AT_rNz3+~Xul@8>R;7<$AoK(+89JAscXx zrQb<-z&LOM6+&Rt2QcbOrJ-v%SXqlgUkb8($IAU@&t*MlL{eE`@@dZiUCGgVANJn22gt|vTGSm zvJJ=d%HiAqW~v9f$3YY&lWwRdP^o)vmP6%@^Z>|H4j^y{1t5m~ErxXhihB@R5v@Fg zRwnUDi76fY2n-<(So(mL2ekFPAWxj{J+Uk#2196=l7~JI_l}CUp_R@93J^S0*+HvI z4(?A*|KkFX(gnvweyS`@7CPXB0O)8a0cRW#>$TkT^VihI>Tu zfv$sN9BknevA!)3CvjbHBAk5j+9!GQKW=qW7v#Tu$~NuVii^%hlxrR(a0Cx9=mG2K z);`n|HprZyXVpH6*`jO9L7MybXQw4#FWo{%Wq=i9tlkUVzEov!WCNl+460tTxZ(q4 z@VNqH8dTR~C)8n7i#qIoD!3{#1@ZMUwm!3loxg4FSl#VD{lqSoSuU|dkC0!LUYCHq zyoFfQ&u63QKhy5)s}I+XMu}8_8UXy>WsDz)f|4px@2UohI;>Yq)Qc;S12*ZV7~2=G zXV-h%`_}Erzx2Qse(^>JD=n99AnonOr|g2mS=mP1aal3Rm!4j1+czdMq5-wM2DC6R z2&5cDvJ_&9HY93EaS|r^9dUNPxPhH-G!-{Br~hlwcKNT*wXiHvqz&lx>WEpa{ZBxXxDdq3Gh`^x6xzO?)4 z;#Qtp-os9>a2xRG?-PpuuY5-axZN4@t^KS#qr6yFXl|Yv^hXqdTzVaDdMB~X+i3Y{9kHI&-t}=_{lzxkDLBNu8vm$= zl>co2B?7=lGdX%JlV|hbpjZC=iohq h<0Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iFS` z3pO3P)s>L|02Dk)L_t(|+U=WpkX7ZG#(!tMTi?F-b~n9uvo#+;#8@LiN?fOQ6XxOxMsv%Afh0OY_c>B-A(W7?Yl2$n?KI! z?%T~}70{{4sd}q#pXzh&_dMV8F5mlo4ga`K+9igUF(>+Gt_9qH3<&=pfD7G^Gevur zr>y6&tmm*c+{;&iAfO!X*@4G7^Ua?y#`#Jxg(QjR zQ8!m+-j|@X3cNm)jy)x3)Y1E=x7iM40pkGh%eYOExlbrR4YXA8X$ zn1J?tm~=WF~`k@eKZw*?@4aBUB|iKr>vL3)1O5!;`8R=}Be-Pbag#B+_bb(|=$9{@LGR=5 zvh#S5@M#GU!poTRv+G#qR`{_Hs4QdlKg0A(!Q%sTXN<=1XUhcD1<5EyR{yk?US8SU zNIzgCmhl}$;y!WmCCKw`06_yXKn6hpdBQ}D{vNSJ4`2M%IS7AP%SSn1aBKjM^|{tR zQd<__Zdqa}?x4)HE1~vG5OilkGtSRk)4SE?`_~A>R@wFF~4f-O#L$G|e_k zN3E^^%R=eyI_=6?%xvysZGAT>=ZmZpqJUrjE3R)|%(oPYp9rE9VBDoJ^%`(_M-6m% z_Dw5IeWaNU-SyNDw9}c4Fpy0RM?0Xzu&6XFP6^a8cjgUD@RuP7={yQZgOvp>3z`PH zMr!9C2G(pMp0Ymr-CAyX;2j#Ahm7M%fS7oir5=^L1c8ZEoCh;*2HzNGVA(vgmF4}e z%{=~AW_RgEGb1G;7tplhIKLC=zDYNz+Dk4Yzu#%DJ1FaPmB zYz2~z3_leCLhLCPdR_dtC@`Di*)aWEP(1Y@619P6j2MsXSjn1>EuSj7UOnLpTr+VV zqTsyS7zuoc2u(xl?x*XGt)yew-Zyu1!!3X1?>Qt`#}os!mE7r8ctY@xt6=ue;neSf zw@{2 zMlZ;bXU1aHtx10Ly_sCHpcF+k^16U+_C3MWDJWMlQaW;6JNv8CsD7u3cOx0Jd~1k9 ztp@e8?_^CZ#VhRoJ!p|pk{@Xe;eB~uGTY^6Nw5M*l0lL|l7>x|K$dCPWRmK$Sbc{E zkzr9Ldmt6HxaHRMJoxZVyM8c6xxnDPK|)L&!7?a6)l2CV7e#KC{`m@)Egnym(}xg` zlmHV*zqXmX&|(I=exDNqa?CPd|2h&oU(WlIfUFDw9RXgFK$Jn0m{{vZ*C7_RFtp)k zJ(U7AGevwZs7tnBr89Z_KbH_Aha{ab6C^@4B0iY~-pomMiec3#`V!IppUpW(2}KN zhe3am9e2FNZ~Ib2oZ>hMo0nb}N zc`!ifMW>VPkJJ9bMzp@zklgJVH-~0@@ZLbHM)QXny$N>S_zFL&?$L)0Cm zs)uuns+e6|#pF;qis}YQggdGK#qtl=Q_}d@jzKRgnGwynr z@@)ujfd2O(ycNQ`z;p&CDK>an1z8!gM>7#tr6Wg_<6WXmU7&;+MYYUK#;Ei7kwlRJ zL+9m4C(W4zH7*}tE~zD`xIq*_5HV6&TAq0iZ6Hbc*;V)}Tsh!12AYyIuTQdnfcKZa z$lVEzE}+{1pB}wV5OQ3>1q60H$n8_B`976jggJLPAtM1+4EjETjSoO33Z6nc9>@wP z3dkx^QQ)@zX2Pa^)J0FBBr~s|gayHJCVK-2qU3-UY!gL$n4*ZOnY29hF3ILz%I6dl z8t(xuOMgRxmW_!)@ITE1-aJ?xFj&@U53OR;lDYI%D0>zNeH%q8&jv{cAq`$XRL_L2 zt&j|Z>IRqFQGkp~QJL;7WL+|Xc9boAZ}7?a)7e++>s%yuu2ra- z3$kUqk77a96zFfp>hA#Ah2ZfGMfM`q!&&|k>N5$#Ilg=}SHGTNb-05J7BfTTPOx;+ zs6&Jx%LHakKu>D)Y-l6WuA%Fs_lEgkeielaYY;CUi+TDOGV40XIw}`)GTcE+VZo`N z3!eKSi!Yzc@8p7_Am`o&{(!T{N`W51T>k=QYZJnl3Z&BV5%Iu~6h26XdA_%qhGgWJ z*8@u`>bP|Y+T34T0^}T%kIA<41;dNpxrQN z+t$x7?)ZRRKvp_L5v2cR9WA8+*3GI(T_m+{ETFg&ylz`jqK;5C7AqD-Z)wIdK?)Vw zN{|&qS)s-kWO3O9&Mc{>Q1y^Bbq2EOqavU_-p_b{F;)K1P})rF?PmYu@6hw+b`-zD zxFvN|o?A}Y%n+5cgOtzkQ9MzlxK<`mCgAp=#(T^VCbgDD?cOMBR(H}0=+a>-L4DOG zdJ<_~KmU~MBB^6*h{6zp-)DDcbRDs@0xO$EYi`0!XOYWFouDWWS;*sOMsXDv*G}W& z+8Im=jK!}6NgD<+Eq+)Mni3H%shv)?Cq~=Tf2ZSx4?wV}y7UyP7f(bjREDcS(?AqV z6c?y&i|~GpwryFmX|#P&Ui#0E`N4`t8V0*8N750J0q-TJQ~licc~zCg8e#4Qh}9FE z_EZ-13|jqeGTV0`mXzR`I~&36WQb9z5}^PH03jemS3Jr3{SWbKZxdbV#6bt~gK#wk zYnu>V3S%yqLdh952!=L125q=eVr4RPZyTWb-3aNZNlTnHPuBC~>uuBn15RL!0I4JG z3Ce&s`XsNp73NtcNYm#cjjtQ=#ae3{$;~?uLm_UQL}vFUQXf2x zAZw@>F67b9U99fhdq62Tqr+s$HjCPGrc?5T$w)GwWrjOLTGswu%Mz|1py{nn;+Ek9* zdHEU0UTNfv=a8Rh8KCiRO$;=~iDqbgqlG{HY8&qYQ3rU`E@*7vgUjNhAwZ5l!D`hl zpR4%YXz?uBXcn=w9M7qz4EO7_EP6OXWLpcCq!PUHGUU<{5WE>9w-EjnM{Mf)o|G13~PlT|F! zqHUW-Uz!02e7EE4+Tog_M^6C51PqekS6xKvyXjxwfaFz?-7< zt^!bej+zWe^+PHGf+s-f71t2@!a@Ww&lI!dy|w*bWuG!fZH$7 zyfKYsYB$nR0n4ff~n;tYLhXkj6U3P4Z)Nfk6cb2ia;6 zKn|+NK|ekqB!H!xWcpL2^f{R6G}-32(UYyDb~h4980blTME!0V_GiT_Gk#GS#Zw9p z#F4=5IkvC_5z9CU1lTgmuYi&3E8zfg1R30wZruJ5Naax5kTa9^;>Av_8d^dpo6r#@ zf#PX}h@voz*vdgaNQNK{y1)rmfZ=3;gDGG%3HjEXRu~M~d51LwN&wU%6**{PV4?`( z&suec;s` zr5}cb(Im+Vn9{Hd91PS5UuV?JkNO+wBoUCzuwLx!oFDmcD}{4sBNQ4S3Wr%yj8cNA z+6s`B1A!jK*U77nljj2Fq#twl2R}rp)En;5Q(21UpMy{==HFr!4or>qN7?SfD9WKh zF*@ZP#Q#sC3s^w<%zL@_)qf*ARoj1;o=8h2ix(o5y7TYC=gSI$I_v@mmHZL9g#~0J z&|D|&oS+F9%Qv!p{&?DoNnDU>YEisZ;}CrwaE;mk9kKl-Iqhu^SU#W^q|sYtPUBO` z{XOTWBn>x4GYVErq4T{~n%}G^o6=It8+pQ61tyR5pwzKw#{l#do2j2#%C>5E=HmG7 zeJ)>V6_U>f9@W|P9W=%MDadyE6MSHK>_uBHa48qCA<%rCYLu+JeNeWYgwkNKdavz=D(lSRzAb_P$&s#08i`6YNJ*FZ_Zfpx&p z=K?T1VD30_$y*l0G>92Q8hUAXaU0=1-NZB+*L3mZuXnN5>GSmg{f+`oC;@}d%7E{d zc}%-`F3VL(9A9j2&xlp$~nP%Nc7^&RBB@h{d5hiarph`R!dazr7n>GqiniR^7jY zC-%hX%mX~jF`gPfp8vBW0iH@fB~M9*sh0 zFJ?SR+xvUi``R}2RF<|RYnC_i1-e7loB{dV`^ zd-})YI#K_&COTR#d}JZl&M4x3)gP3mUv(Xx$+N)hg>VzG_HOE5TTggjN505@*q;99 znSk7FcKFNJpARw0n-*=`nXK^|A4`k_DwwL9vwX^R;ME1`c0l8J9 z7khiSz`2)jX8gED_Rk{$xdoHz*x*jiX9E1QA^=7nQZhd);QzRs>wf_=`t2i#1=N=S O0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iFS` z3pNHYuv~or03ZNKL_t(|+U=cpd>rMS|KBsSUA;?|CEK!GgmJ;9gDD0aTBu35Ktf0^ zmv-cGxrF?3B#_3X!X>|ugj^`ej~GG{0!fYlHekR8Y~zM)bn{H$4g$!_6JL7*i4q)?Py&Re(&2m_(mXEa6v zZLHeH^Efw30*i(MteyH<)*8T94c9(tNg%%0fd?#}C-~F_Eo^dF`9=!(jV)lc1K_aI zvhIg`3@88`fEAEp*AT|?zdeuhDW{F6trosnUBt?R5ArF%3D{%Tw~X=n?`wcO?7TSe zIG2_c@US2-E#-{L25314DyKmER@lBat_8ZU{{bIb^$uNt9|*=YfjkN+6#&uw|M;ZK z&cj+vzBLsz4Y~&TS<{#JF%U8Aa!ey=?-O7gfFEALB?WfwwMZ;YIm1-~ORj>-dV`;* z!pg@X;055_P9B;6@B9?-0KS+xh~^1U2Kbr^SY2r0fKCJr`aC?-_(i@PyLKpz1nSB3 zQla7kq<0@EkHMoil?>T0QT}5!D4S@1OX1}qEza8u) zXmA46JZyCmd>apI=->;b4cM-}2Q4^^I(QgO1E-CaFI>)ojsf1x**_16tP`$I@LdWj@JxoVx(vw z3;2y#FaIjo>_`ps&?0`6-VV^fVWsKH`CPKMn^k+d38fK0d!GO!11|wm@Q-}EsfHC+ zi7QghXj}{z+zvG}L6S`JI|iZFG;kKcp}hc<7BH*N&5Ik`aHoZXW?CQz_;-QL7W=u3 zR6h%$umrhdCum?1sr<1s?X`6+ANeSsHn_oh!~>b0eFZGIS(kj1mz|de zP-DBM!rm>g?;QZVLG~5j#)o4Ofj3PH2I?@0SL=rhW1^7AFz*(Px@);&xy&2e=2`LP~YX&li zq8>f;9@1TkGUlw?!}AC9uuuiG-beX(v4h{Fg8x|q*zyS4NKR-V!6IOr*@S%bD5~3s zra`Hbvp#t~(|`FItFyc#Z88!dk-7~$#lJVz@U&Ip3PHe;^z1K!v;P(9&WL&TsyV2p zl5Y|M8l~TOTvP^K?I1_72ox@wf%@xJYzDNp2f3xTgkL7XzXZ#9pC3W$6MGyt- zvzk#nUgZ8k(7(^jk1( zDOjCZfX_$rb2xySffSl<3bZ5p(SV8qX1~6Z|NYz7xMg-7_a(u<6w7&E$N~OHzK9_L z(Nt{H8qh*vqCNe3WNKl?vN>GZ*2k)Sy(cDDAWZPJ6FK{0C--DHc$M>^Rl~1 zV&F$j9KP(1U&=FR3aCoV35^{q3ZdO?cwXC(;9?|7*E8?%xi3F$8YWJte;`aC@Iw1T zG&NT8Xr^ah11+~f<0Ux&mq!3S%=UqH*7fXWUC&;EN@QGazEM^=%~{VSXMBN~C5=de zGD`3bBuE3^NQU6<{dm{CgBp&aX&@_j|G1ft-}Nk;j%Thwn1E}EEAOS^()rwPmH2qd z8P-B*z6s{umZwe4Z1YEb{G)R{uXb&tCpbKz>an?a2G>tt&UrNp5Ct_039^8nkp4{Y z<89IYAqM{OMuG&2g15Ds?_d2;B1{Y$!qN#LfiRBO$z7Du@=2I^Q_RMXWK+$he@*um ze!q7W17Xi`b(ETmr}3}zZedzcRT|LQ)PD}(6YY9iw10@fmp37Mg9&%#okQIH!H0PQ z2pC8(A-Mu!oYcMKd4f9%9sDE%_{M9X<2D*lM{JfuWZ;S*XgEKO&BoK}fcyV|IHx@hj zNoG;TnXuqLpk(FW58X&jhmjS%0fRb!e zLtzHr*h!$HKcNZweEjvSpYmk`3C6vyKpLyMA6~(-`)=h?r;V=)0;P#>OXkAaKZcgi zfTIl4?%7Gkd za5YvU`+`IU{d$;aW$r(p%>^Apytc1D5hk9{Jb(ZQ^3(j*Y2yLWDD|#-Snv&4bT7DS zvw*6NK!{|UrYStI{dcqu?dN3MI(>aOEEeXL)@H{1DIlkTZvwpDo@{f~mx8Jh?D2vI zR*CvcW^(C)K~}X55N4b!jz>)Z-;*q}TX`Vq*%!l{&%?P7LCKsEQnzXz#L)MRecSnC z`$|sMZTIjI=9kw~>2N0RI~(v?4&c?yHb+$m}Moklv(XG zIg2T`ItZ!?AyqMd$OAC&ibnlu5}_Od=81;Tydn?YyOY~*Urk4+myg^$eN0lH(WYtG z3az+mT=+UXXo`ja_BmBtb6FFfKkZ=Gcyu0(HVP2Y>)jpl)9jE$8uS?d-(c>YX`XyO z-hO8Ir)m*C{rWc;j(A7?Fg2>i<+8>_Mb%VInE|4t_x?#z^4Rd%5%#lY@CYk=4-!yh zB7<glaJ}tYm9qiF~{VOuzevKQhpU&65aysXnS&`!1j}!uCMhB`P zf1vN-!5~LB93?ayNz@hW=;7{d!P4 zI|ldg;^DQUx*@BkaZ5zui-k2Tm^zDs(uy>|Gr>ocD786RSX#?PRnuti=-@A34%59$ z<-9wr%(_d&FJ^y_f~L{>BZ0ns3g7(ZVt)OL^O;)b%v0TuLOW<07MnovR2Tm4AaYPa z1FBtIcGGE8JpK-E9*bi*mXSd!pq%%0*7`$i03hmtT@RYvN4CMZW}o`LZD7}^!M{s% z@!`hPan>||#R`H5f)M*O9veTC$CZvkl&2(yJ2jfmw=nyo5~?-#|F!pMbZm+s2;d$L z^X30oM_ZfQ1W;|{HZ4b6j1ZzlpmAv>g>{ZZr)Et7x4(7=KSLkwqJ0 zfapuxxHlOaJ*#Vil+zgXXS=6!R5x^mql7c3G=t4y0(3U;#f;;ZHtAt@-%gdk+#II! zeh}sC|Mx(fh7tqf=f7y>XTR9Vhi`igHKEq?b^Ow$UdwO@;}L}@!PK)$C~0scPOETo z!&{%?Ps^K_Lh7)zyoSAvRRgF%^u`~tbS=D_?{i2Z! zhPEkZ6i_wCktlO0v~t#WFX5@nXD|hD#YkX@kwC~rg0T=lGk9&0Kdj|`MMd}6`Zwx( zUMk=GGo*~JIL0oD=F%=^0-b0}BZOqJP+O5XRYD}1{r?u9E>T*N`d(*M3pgbu57n-Y zpa~46Y$lojRi%2CjrxW51PL4xbAGgp*S~WSXBsrYh=WtdIyyLE2JU>Aw(cPwOMJ8W zTO-=}tmKFWK#7j(MuK1t^oVLdwe8Edl_MHnQ%RYKttGoZCEGPF`=Nu%dXZ8mG*rO% zu2LBM>#HbkU!LJ!c6FbRCMcUKF>Q$z(Gsg*f}#)1;MWE%U>!*dj7LeB7?Ig^*n)8qSqdwU857_uH&xkTnK^TPwkT|oTG!L&|G>rt}$EO$dGJlo>izHAt z-@?2viBOZeJH5CT*&$ zG1#f1#kwJ672l)Vc#72O)U2VQWY*DR*o}^akwqz=8{3H9asi&I5|-guWJ_M^%wnylh)>%vxDf~CMQI^fm(+k$SDwzr}vF}EYC;D2NrcWvpR zH?3eHYww}a1PDF9r78MnzCFBxn>PJ~S+TIf7E>qj5FbZ%k{7knbwHRj$uDbB`mp12S3mS zyH-HwD`|HifU^i&^_*8$M{`j*7RfTQkFfLYJ+>WT@6$P4$H{O@LQ&x0!+eM%WDe-LbTAoB%#U zAxYL0v5^4MpT0`vjpwk+A~8Sjq=1Ge9Hn*G&-!f#+1S=it=9{B+>0 z4saA0K+ysDe4v*eO&OQou1cGeMJ3g=6jw68w3bR|k-0Y5`F7HT#P08RLq~Yd)04CG z=ELPv`Do>|g!a&{p}*3;S6lJ!?n;z-70s-o>Z}Gt3!|2LR7D4WO$a5bp{Wp6Gr;%9 zfcMAt^vYs#5&*D%`xa{c^Jbp2S(um1x0XWX#nAscM8}~L*J6uFyal98sr*OO&!eI7 zulThHB2|t8T1u*EDXn2aWj$5S5)iDgd%b}GNf6)g5AxfAPKMIL(=y4*9aT*%EvZhN zoAG-=p!ek+cy=C1q;G9yE*d^C6VW1!$^--lqqMCFCct-xIruLx@Qt=124ZU72)?m{ zDCgJ$Aw1ycG zJUfrj^TIocT0dKvlln^29WVhu9s%Sm8WGYW0!z%> zcLD`RALFMrrQDFrj?9Op&%{c*<3*|w=wAo!oiMyxSNDOVCU08;n`>leEY`L@8sNvi z9**Z`7er2T7PGXlf^&;1aKy=Akmyu^^KbLC9_HwCTM`bvXq9NZya7k4HD?KVa4<^S z>;7Ee8znzzu=yi`pH6_d8L-5(fDA#cF~w1UC`x(`A)Y%h<`|6m1i{en5Nop(xhQC^!?U9kHL7RvhTFZ^ zToR5_OG=Vw@IaW3_5OUoH_mrB>hXk9F7V@_!(*?o`^q!ut1IIyQNT{P9}YhcHRpn( znA8E3X(MN*EYR(KPiv9{N)|i_)`a;oEx@*{jbXf!K$yK6&9W?@nS3-FUxGGaMKsq7H8=#;Rx_2Z= z5RK@>u;fnI*d&RI3M=qvD(#WL2`vO2l*7C>)J;%Tm|t9lC`g$^FiO1{5kwKuYNcf1 zbi8}IkUcsHd_55&J_RMB(z(H(a2VYo4*tuFe6wwcp_qLS7=RBNO2Ni7l32>4_#?5u zu!X*wQr=$N#MKEBbiM!uRZ!AM&LLAJ)%tvW{rf?c(G(Rz0R)Fj4-0eT@Fmg0nFVD` zvlr49_Tg8R6Gj3J*b^AWEk{^fT7w`;Dd3Jwgcu2IR?5$tOJvYb@UWiv3J%J+4@XkK z|MUxdt9=-EOv>XET^lF6HfCf6LquoRe+2Uhe+mR%n_i<&3D%!)z>vlC}7 z`64u4Xrckqw1WFE+M37FA|X9C7DUAADG08@Oz=&LIfH1t6s4 ztRZuDj9e8t@uZNJPtS{B=oyT647omd7PT29n0X~E_@^8sh#e1ip}zhHv~W1_pkmDw z#Io|dq60*cC<5;UhWK6gUb@34&NM8qp3di*7LOWq5Kux9`d@9OZ}q##{)j2~nwEX0 z8!c@bBw6KMRmH99eK_w58k#rC4n<|?)>m0W>S7rxph;uUfEu9g?IPUT$*Rj2GP}Ue zbO46hbgzHPd~yzSC9tpIz== z6m81LJGiP1C-0y3+veTh#Q9LESCk7c0*BMA~&!~GBO z?HM)PmP{B;fu;WpR>_S3>Y;xdc3&sf9_jq}X?00jJP-Sj-a8Q-3+L?EPTU@LJ@e_0bH&7}sw<*X#gXfu50 zJ`!cm8kwLc6?|Wm%`bKFg9mrA)et>|f#_J~2M|oMh7O?Mjqh{o1#|gsk_5G|^kXqi zkOqFrL&!uoy@lMdKdA}I%CXIzgJ84e->09gP0+a-kOg)Q^{{KGn@xRtIOIP%epqJM7xFh56q_g^y<98HNLC#HuvEO9h<@oA5l|G zLrA9Qg~R;d=Q~*+13i$IGL9b03?ZT+LP(I{&F^#T`E&VR;zq0v#EU)xrRC<}8;+yf zw-9aLmv{i7pb+PhGZ1X{v4by4vD=H^VtjYf6Y#NX_#o?gwy>pt<1w3yZ!Nllg%$N6 z2q?h_z0Yr^fA#hhX_OpRD$kux)!7Y5Hqqo=$g|(t%6~s|kauHt-k3WGrF9dl<1tB;VA7N5+Wm9BHmjD;C+^*9 zM_hOwVq^1&>P_zKB(!};Qe|2!6kKpFQfa9<(Aknmg2hDg9kE-Ce>zdUZsa4s#@5(K zZ#clO_Px#a;r#stt0*zMq>3v-<Z5ySg`%{yv1BDl#k5pb}GPom4A!s6hWicFE6aK3f zi4fehg3$J70VufeLaLjaxo5#L?%DP-yWM?xN&akGDa&6Op!{$r5rdsCm{~*3^7$0Z zs7wNBR*7M(k}^gRhU4B=FP(1;5*n6M$kpLx^&`7^a?Me?4APx0@!_-@fkYl)yyppw zzjepq|KZ-668^(Xi&^HMi8P~mL>s5L-S{`|K#j^e%`8@&ix*&To{_iXmre46oBl>< z$8%`m)B;q;ym`3JJ(u2)pD%9sD^blX$vxQ%K%nG0k5^Zh$%OoP4T?? z+#Y;JTc-VYAM~>C??(s?M^mgqe~8u>I(hQp-E1|4b!Nav(tuCtGZ@dMV~vX?My*oJ zr_w;Qh^UH&ChLWak!_oh2K%usT#_t*PV5GspukDN87%}_+mXEiv`7@+y3HU;*k?86 z9_^DM@%kR#v!39lzoL50r90HxiWZGheetEVl-96)ush?Nsg4pZ@3qtL=3#8nWdD}v zv{QHU`IMb)Aa{l|n^a*WK9lEpI{b9L+Kv05FWs~6{quf){_w60;KL^1r%QZBVd!|T z9h?~QBMPVq#tI_V0t?YV6gjMb26D$iG+D*IV4Z}dr^Hp=FXXtL4YR3$v^$Q4_73affF5e zDlR>Pie>YW92VV{k3r2NKzKO9q1A`z-O``o*}rv^KYn`?D-FPhvq*iq#H(qJ`-Bl7 zNd%+X7X*+btVI$UVdS8!=dKTRq6`h=Jo_vJQOGi@hJqjp6rVmFZ)*pUVLf&1Teq3$ zz%a#ET$IE1TTupj3B36n(XO^pJwUXp3l%SRmxU?L5^8-Kvvv&9e8`PxSSYgW-1*dg z=n^ESlnirC!8LTonGiz`$sB&^AYE^!Mh>!qzjcV`ezu)w+uSJ*UMNlSBL;P!uIjVK zw-dH{xH0J=*sQU59Bd^n1WSa-u-*@@x;+Hezm4n6MF^spHAECdD4sVJ@1AZ#y}Fkj z+})0bNXeC#WPq=FeFQhXKzPrVF+W3JB)}OViFw@~rgr$T$w^>}7PL@z^A%Vt3Jggu zA$zf%iJI3tgk-wcbkM!_5Yd2~0{)&Mp8LTTo=o%XLuq>?-LogZbr2_*0LD;OkP-v{ zuogQJM2TR(U+?U2d+~4Biu1HtNG^woUy$?{lQcWyvf5Jpt<34(1r!r_%| zga(2cA^(4_=L>Iib0h|O&=AT6b2xZ;13%#eNa?AH$L+>{T>{2HT@yrl1{iqa?-ZRmkKmT|XyLIhz!43Ce*k(Fm={)& zVv5vKUP0|mH&V2qB@KANytG2drU?W*Z3DEg*h+XHkhPcZjc&SP00&G`xH&!h(QK9p z#6RIA>D{22Nk>bO6PL}3zjH_*RU4J@Zr(-Vyct-EojJ3Ht||utDnkc!EfP7}&)^HM zV=L5$AB=WWWgYmC2f_lB#?-yFtdh#BuA}svvki3(*@|t__B2i4+1JN@*mOPs01neh zL_t)M|82#+w=V^7dx1dng*J9PA5Lmb9o)F|r&s>w^z2Ux0>p1gi&g!Y5dZ-smqfv| zO1ua9(PR}Zs^H$*M&Yb_>{UfsLqt>sXPE^-b1>8qMw2zvD1?UeDT?zYfu=%W5Q0NV z(%Li-9R-wMd=+JvT&|Dv9}#%NL!~K$@PMBqe}9L*HxHypyS-3k>LMG}v#hbka8e7z z!fBIiUUVeS{^ZaA22VMWoXJv%CKX7Ov`oRXuNOI>+gtCRBLoiFk(@ScMK&xB3l@i% z;TJfHL@Jvs^tDA%V?!Z=gWxCy$(9@VkQ;)-y7U|S(2LK$jG7xif#kHMNj)azb%J@D zAfN=I9Qo^Jj=r=r#VMAo0=1{xshelVI1=4x0*pBo6Gv~{mXVooAAndM04eu`Re}h` zbLw#K?oO0PMZIC7-Y~(VNzkl?R&0e5R=c1NG(yE{)2Ny*(6e9D!BoND56)736}pT# z-wS~uP@^OUZfYtNoqhq;H+}|dd4=J93nT2ACO`>9=y~xSj=s19IS@$!zxH$|Qx`k2 z*oB0sn>x;^OCy?WZ5|o@)kN@xx;eJ0#D4Osi;x94mi4t~4 zlijOU0jnMCE{%$M818{^K>y!?L2zndD~QM1;OozNINdc7%jzG}9UsY_hgi=}58mB}Iq;i*5bpJ)E>Sqe&eSD^6xZ8g@M$K#l4fQCj>|UjVW4In2IeeBjOEOw z0tuXDpwB$o|mLk%Dh=^v)+*_HIK-I5y86}Fokl=6`p(A_ptF6}{(%(b4uLn&7_tp(5 zW!Jd~CD}x37L`)Fuo%fMrrP!l)ks!NpsAC^1Q@kIS}HgRrZ6Jz`Bko``V_W`LTnX< z6akc82vh#7e{uM60z018=cM#Si1?x?VTI739)Ab>LnvXzwB|k+_%(~ls6VG%2RMnXELq>q^>o^?=h1=t&4Xf3X~q7i{m!V1BDee!7EkpO6#9({Q9 zq72U=J^NU3S}9Y`t-xMv&3dh@n!pU@)F|LRPJs9WsX0tQ-jXil!G#Rcq04=QF zi)qYiNK82;3LErMIfYY;(o&n`uLk=g_RLjHV^EbDP@*^mfdGj33B+%{Dl+^Fp?e5VY73F zfTPU%X(t~1i6VdoAnJaZKA7Q92e!%@@LQlT0+KpTlAdQ0DL!OdJhn{T=tz@~mN~&8 zzyxXlEvn#7bjfxcMAHOH&O8SKc5o_SSD2_&aOQXEKEOoV@v$a|CXor4a}U4V_gxkh z+PMV{0tXKu`}~w$co8BteNjHUO76~{d?kGZEg{By07=S{g4IR{(T-8&k44KIr%jwF z4FIUK?&XWU9)6oJ1--rWzw!#IEJM%=L7NVWB&DqxkYhJJSIj&ov5N*DKs5QCn0628 z*Alb;F4sL6&yjN7r*R^S$w7dWL81%)i+i>n;_i52C^9re-%BqM9dbiNf`BC%CYphr zzK=wXYy=U6v~$J_)U@+Vubt=rn`9awQPzCTuXu7x2j7erUq%Lo=y`D!k)dIo1YT>h z%h*)X^C5_sofv|Y%mn5FdQ70^Nt#?*MziWs(quCMBnLMHuKNv7{B|85QWU(J21+KMLLCIlaUeiq zyZ3oE32?`)OZc4xMM@|_&&t(QUAmOQIkUhGlnY=v2B*&~Y!pO&E{suU0`n>5%7#%6 z=PxQiPy$((KRFm-|MRWK9sG$-1)GsTyXSc}iSUUVPUnYCE3?s{_m#CMp$H`l=fR)` z#Ui-G@k<30>jpLp1G8rECLmgf0s%2GIh!1a(D~|KI#=&S4ko9=_sQ%hITpY;=yTk+ z)N%|`{>)#%c{$px!597p=l84I6~Cpqp)cjgf*~=V7C}%0TE-feu-IjDMx!T zPzy?H+M2=Xa}1@;@1K5-amv?xt`l!pMexUVRRA=)*BxZ*FV`@z^C+sEtOD%`vfxf%~fpxGvs#WUHv4@usU0?RF@%Lb=lnIv{6!0f!1smGe$Nqn`GPJKZW6mw?@Ba_b|Jq7rBV?XP1f>dd3_N7cX` z22WH!jsd^_`Bu8tA58hBtl{6~=DA<&;o1G(oRd1H&j2zZj^K$PfEfuAGmJj@5pG>n z%lDEburvKb*WswD(9J-771(WgfNngl02+Y*%@JXZq4P)4U^t|Muj=MP4o2vFb)RWi zx6i|K_wVG1{XSFRbIt8HVNt+|B7iXwl`+li!`Jh{bEa~i2u1N8#royTC_8Pg{;S$b zC@va>7AOOz057Dy$1xr&Dhvg6@Y8_rd^I(s132Vo^<(Wk`9|-Evw0r#oIme10$`#E z9DwWYi&%2YJboJ|fu=#j^2;bYttDpGtDw9rPZLn8JA$k<0anYiEw=T0VKAUiP!Zd@ zHymXD^Q{C2vwHT&G@Iu{zkE&-5{T&}_{LI}+%T74*hK2$CZVjQg~ktD5yQ0vrqt)* z6BNh%fLF#&fMGxMc_5l}@cMQfVed0rGk^~%^gi3k&mU{gYc@}r)M;Oi>*&Cfg#hU! zh_6uQym%V5KU~HNr-j*Zb5M5LX-xaTa{X6D#Zcd97z#0>fMDiClY@VkI0n!sj@k#!j7dKM(gJt~QDKRIp#!mfIW?p|ClHCCg zCp68`S0XiiyaJ#Icr$@HssDahc8YR3bpOtfBMbM(XZ9 zpL;5uTo)g3;;gD>&PP6?lfY(&>9fIEK;{Ha&e;BT4h<0dbbF!eC`6KuTxiJ0{#D!Q z+PHr#p8YY;=6R|SAXmbu;KdJff2EV_5;JiWm(YCu4Y;anbPdovADo40kLHM7W=nSP zeSSE4RR4@ib}&rm+THAbXN3zz-ehX6Ikl zm;(P^^Xw-h0nD<74#4%5#VomTW-?)f22;`5jJ~>ZJ!1L9NO>(hc>)JG?+3i`=s;i zPXz*GOBlH>sHOJqGx&9Z#FE6c>?LK$!64CKD0Ky{N$T03Dg-cwi55eI-~wDvU&j3v z_GH2+eFd%!{XBKw4pvP@&;C>*K(?%*11R|OG9IX~=_H7+t-IUJ-yht~v+Z8oCcsY$ z&;C>+K(4Hz>*we2(MA_H4uxs|!Mm*3>%m9nY8;cwvp*FHU?hP^d~smo3eh?#;@yRc zLHZ}1XFrgC1i%2UvAa)=0c=SlfNa<&m1lpd znt)tkqG;GLfNcbxQw{vdP5`4{kiGlV?{DvK?{E6{{{gds Vv1V5KfX)B_002ovPDHLkV1gVgD4+lU diff --git a/mambabase/mambabase.py b/mambabase/mambabase.py deleted file mode 100755 index b8c99e9..0000000 --- a/mambabase/mambabase.py +++ /dev/null @@ -1,367 +0,0 @@ -#!/usr/bin/env python3 -# Copyright (c) 2019-2021 by Silvan Calarco -# Release under the terms of the GPL version 3 license - -from PyQt5 import QtGui, QtCore, QtWidgets, uic -from PyQt5.QtCore import pyqtProperty -from PyQt5.QtCore import QLocale, QTranslator -from pathlib import Path -import gettext -import subprocess -import os - -import gi -gi.require_version('PackageKitGlib', '1.0') -from gi.repository import PackageKitGlib as packagekit - -DATADIR = os.path.dirname(os.path.realpath((__file__))) + "/" - - -class MambabaseWizard(QtWidgets.QWizard): - def __init__(self, parent=None): - super(MambabaseWizard, self).__init__(parent) - self.welcomePage = WelcomePage(self) - self.addPage(self.welcomePage) - self.selectGroupsPage = SelectGroupsPage(self) - self.addPage(self.selectGroupsPage) - self.selectExtraPage = SelectExtraPage(self) - self.addPage(self.selectExtraPage) - self.installationPage = InstallationPage(self) - self.addPage(self.installationPage) - self.setWindowTitle(_("openmamba base network installations") + - " - openmamba.org") - self.setFixedSize(571,465) - self.currentIdChanged.connect(self.currentIdChangedSlot) - self.prepareThread = PrepareThread(self) - self.installThread = InstallThread(self, self.selectGroupsPage.pkggroups) - - def currentIdChangedSlot(self, currentId): - if currentId == 0: - self.prepareThread.start() - elif currentId == 3: - self.installThread.start() - - -class PrepareThread(QtCore.QThread): - parent = None - doneSignal = QtCore.pyqtSignal() - updateProgressSignal = QtCore.pyqtSignal(dict) - - def __init__(self, parent=None): - super(PrepareThread, self).__init__(parent) - self.parent = parent - self.doneSignal.connect(parent.welcomePage.completeChanged) - self.updateProgressSignal.connect( - parent.welcomePage.updateProgressSlot) - - def run(self): - # Update packages list - self.updateProgressSignal.emit({ 'value': 5, - 'label': _("Checking installed packages...")}) - self.parent.selectGroupsPage.loadPkgGroups() - self.updateProgressSignal.emit({ 'value': 55, - 'label': _("Checking installed extra components...")}) - self.parent.selectExtraPage.setExtras() - self.updateProgressSignal.emit({ 'value': 100, - 'label': _("Done. Please, press the Next button to continue.")}) - # Enable back and next buttons - self.parent.welcomePage.done = True - self.doneSignal.emit() - - -class InstallThread(QtCore.QThread): - parent = None - doneSignal = QtCore.pyqtSignal() - updateProgressSignal = QtCore.pyqtSignal(dict) - pkggroups = {} - - def __init__(self, parent=None, pkggroups={}): - super(InstallThread, self).__init__(parent) - self.parent = parent - self.pkggroups = pkggroups - self.doneSignal.connect(parent.installationPage.completeChanged) - self.updateProgressSignal.connect( - parent.installationPage.updateProgressSlot) - - def run(self): - install = {} - install_extras = {} - parent = self.parent - - # Disable back and next buttons - parent.installationPage.done = False - self.doneSignal.emit() - self.updateProgressSignal.emit( - { 'value': 1, 'label': _("Starting installation..."), - 'details': _("Starting installation...")}) - - # Update packages list - self.updateProgressSignal.emit({ 'value': 5, - 'label': _("Updating packages list..."), - 'details': _("Updating packages list...")}) - - result = subprocess.run(['pkcon', 'refresh'], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - if result.returncode == 0: - if result.stdout: - self.updateProgressSignal.emit({ - 'details': result.stdout.decode('UTF-8')}) - else: - if result.stderr: - self.updateProgressSignal.emit({ - 'details': result.stderr.decode('UTF-8')}) - - # Perform system update - self.updateProgressSignal.emit({ 'value': 10, - 'label': _("Updating installed packages..."), - 'details': _("Updating installed packages...")}) - - result = subprocess.run(['pkcon', 'update', '-y'], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - if result.returncode == 0: - if result.stdout: - self.updateProgressSignal.emit({ - 'details': result.stdout.decode('UTF-8')}) - else: - if result.stderr: - self.updateProgressSignal.emit({ - 'details': result.stderr.decode('UTF-8')}) - - self.updateProgressSignal.emit({ 'value': 20 }) - - arch = os.uname()[4] - if arch == 'i686': - arch = 'i586' - elif arch[:3] == 'arm': - arch = 'arm' - client = packagekit.Client() - - # Install requested package groups - for group in parent.selectGroupsPage.groups_checkboxes: - install[group] = \ - parent.selectGroupsPage.groups_checkboxes[group].isChecked() \ - and parent.selectGroupsPage.groups_checkboxes[group].isEnabled() - - for inst in install: - if install[inst]: - self.updateProgressSignal.emit({ - 'label': _("Installing %s group packages..." % inst), - 'details': _("Installing %s group packages..." % inst)}) - for pkg in self.pkggroups[inst].split(): - result =client.resolve(0, (pkg,), None, - self.packagekit_progress_cb, None) - pkgs = result.get_package_array() - for p in pkgs: - if 'installed' in p.get_data().split(':'): - self.updateProgressSignal.emit({ - 'details': _("Package %s is already installed" % pkg)}) - break - if p.get_arch() != arch: - continue - packageid = p.get_name() + ';' + p.get_version() + ';' \ - + p.get_arch() + ';' + p.get_data() - self.updateProgressSignal.emit({ - 'details': _("Installing package %s" % pkg)}) - client.install_packages(False, (packageid, ), None, - self.packagekit_progress_cb, p.get_name()) - - # Install requested extra packages - for extra in parent.selectExtraPage.extra_checkboxes: - install_extras[extra] = \ - parent.selectExtraPage.extra_checkboxes[extra].isChecked() \ - and parent.selectExtraPage.extra_checkboxes[extra].isEnabled() - - for extra in install_extras: - if install_extras[extra]: - self.updateProgressSignal.emit({ - 'label': _("Installing %s extra component..." % extra), - 'details': _("Installing %s extra component..." % extra)}) - if extra == 'nvidia': - result = subprocess.run([ - '/usr/share/openmamba/mambabase/nvidia-autoselect-driver', - '-i'], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - else: - result = subprocess.run(['/usr/bin/openmamba-netsrpms', extra], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - if result.returncode == 0: - if result.stdout: - self.updateProgressSignal.emit({ - 'details': result.stdout.decode('UTF-8')}) - else: - if result.stderr: - self.updateProgressSignal.emit({ - 'details': result.stderr.decode('UTF-8')}) - - - # Finished - self.updateProgressSignal.emit({ 'value': 100, - 'label': _("Installation finished!"), - 'details': _("Installation finished!")}) - - # Remove any autostart file - try: - file_path = Path.home() / ".config/autostart/mambabase.desktop" - file_path.unlink() - except: - None - - # Enable back and next buttons - parent.installationPage.done = True - self.doneSignal.emit() - - def packagekit_progress_cb(self, status, typ, data=None): - if status.get_property('package'): - self.updateProgressSignal.emit({ - 'label': _("Installing %s package (%s)..." % - (status.get_property('package').get_name(), - str(status.get_percentage())))}) - - -class WelcomePage(QtWidgets.QWizardPage): - done = False - - def __init__(self, parent=None): - super(WelcomePage, self).__init__(parent) - uic.loadUi(DATADIR + "WelcomePage.ui", self) - self.show() - - def isComplete(self): - return self.done - - @QtCore.pyqtSlot(dict) - def updateProgressSlot(self, dict): - if 'value' in dict: - self.progressBar.setValue(dict['value']) - if 'label' in dict: - self.progressLabel.setText(dict['label']) - - -class SelectGroupsPage(QtWidgets.QWizardPage): - groups_checkboxes = {} - pkggroups = {} - - def __init__(self, parent=None): - super(SelectGroupsPage, self).__init__(parent) - uic.loadUi(DATADIR + "SelectGroupsPage.ui", self) - self.show() - - def loadPkgGroups(self): - self.groups_checkboxes = { - 'base': self.inst_base, - 'office': self.inst_office, - 'multimedia_players': self.inst_players, - 'multimedia_editing': self.inst_multimedia_editing, - 'internet': self.inst_internet, - 'graphics': self.inst_graphics, - 'games': self.inst_games, - 'virtualization': self.inst_virtualization, - 'server': self.inst_server - } - #'devel': self.inst_devel - # Load packages group db into a dict - result = subprocess.run([DATADIR + "mambabase-pkggroups-parser.sh"], - stdout=subprocess.PIPE) - lines = result.stdout.decode('UTF-8').splitlines() - for line in lines: - if line: - (key, val) = line.split("=") - self.pkggroups[key] = val - - # Check for groups already installed - client = packagekit.Client() - for group in self.groups_checkboxes: - group_installed = True - if group in self.pkggroups: - for pkg in self.pkggroups[group].split(): - result = client.resolve(0, (pkg,), None, - self.packagekit_progress_cb, None) - pkgs_found = result.get_package_array() - package_installed = False - for p in pkgs_found: - if 'installed' in p.get_data().split(':'): - package_installed = True - break - if not package_installed and len(pkgs_found) > 0: - group_installed = False - elif len(pkgs_found) == 0: - print(_("WARNING: package %s from group %s not found in repositories" - % (pkg, group))) - if group_installed: - self.groups_checkboxes[group].setChecked(True) - self.groups_checkboxes[group].setEnabled(False) - - def packagekit_progress_cb(self, status, typ, data=None): - pass - - -class SelectExtraPage(QtWidgets.QWizardPage): - extra_checkboxes = {} - - def __init__(self, parent=None): - super(SelectExtraPage, self).__init__(parent) - uic.loadUi(DATADIR + "SelectExtraPage.ui", self) - self.setCommitPage(True) - self.show() - - def setExtras(self): - self.extra_checkboxes = { - 'nvidia': self.inst_nvidia, - 'broadcom_sta': self.inst_broadcom_sta, - 'b43-firmware': self.inst_b43, - 'msttcorefonts': self.inst_msttcf, - 'virtualbox-extension-pack': self.inst_virtualbox, - 'chromium-widevine': self.inst_widevine - } - for extra in self.extra_checkboxes: - result = subprocess.run(['/usr/bin/openmamba-netsrpms', '-c', extra], - stdout=subprocess.PIPE) - if result.returncode < 2: - self.extra_checkboxes[extra].setChecked(True) - self.extra_checkboxes[extra].setEnabled(False) - - -class InstallationPage(QtWidgets.QWizardPage): - done = False - - def __init__(self, parent=None): - super(InstallationPage, self).__init__(parent) - uic.loadUi(DATADIR + "InstallationPage.ui", self) - self.setCommitPage(True) - self.show() - - def isComplete(self): - if self.done: - self.installPageTitle.setText( - _('

' + - '' + - 'All done!

')) - return self.done - - @QtCore.pyqtSlot(dict) - def updateProgressSlot(self, dict): - if 'value' in dict: - self.progressBar.setValue(dict['value']) - if 'label' in dict: - self.progressLabel.setText(dict['label']) - if 'details' in dict: - self.progressDetails.append("
" + dict['details']) - - -if __name__ == '__main__': - import sys - app = QtWidgets.QApplication(sys.argv) - app.setWindowIcon(QtGui.QIcon(DATADIR + "mambabase.png")) - # UI translations - locale = QLocale.system().name() - language = locale[0:2] - qtTranslator = QTranslator() - if qtTranslator.load("mambabase", "/usr/share/locale/" + locale + "/LC_MESSAGES/"): - app.installTranslator(qtTranslator) - elif qtTranslator.load("mambabase", "/usr/share/locale/" + language + "/LC_MESSAGES/"): - app.installTranslator(qtTranslator) - # PY translations - gettext.install('mambabase', '/usr/share/locale') - wizard = MambabaseWizard() - wizard.show() - sys.exit(app.exec_()) diff --git a/mambabase/mambabase_it.ts b/mambabase/mambabase_it.ts deleted file mode 100644 index 6ac6955..0000000 --- a/mambabase/mambabase_it.ts +++ /dev/null @@ -1,147 +0,0 @@ - - - - - Form - - - - - - - Form - - - - - <html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installation completed.</span></p></body></html> - <html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installazione completata.</span></p></body></html> - - - - <html><head/><body><p>If you ran into problems, please check the installation log below for warnings or errors and send the report to the openmamba community at <a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a>.</p></body></html> - <html><head/><body><p>Se incontri dei problemmi per favore verifica i messaggi di avviso o errore riportati nel registro di installazione sottostante ed invia un report usando l'apposito form sul sito <a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a>.</p></body></html> - - - - <html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installation in progress...</span></p></body></html> - <html><head/><body><p align="center"><span style=" font-size:14pt; font-weight:600;">Installazione in corso...</span></p></body></html> - - - - <html><head/><body><p><span style=" font-weight:600;">Installation details:</span></p></body></html> - <html><head/><body><p><span style=" font-weight:600;">Dettagli dell'installazione:</span></p></body></html> - - - - - <html><head/><body><p><span style=" font-weight:600;">Please, select from the boxes below the components that you want to install or update from network.</span></p></body></html> - <html><head/><body><p><span style=" font-weight:600;">Per favore, seleziona usando i checkbox sottostanti i componenti che desideri installare o aggiornare dalla rete.</span></p></body></html> - - - - Proprietary software installations/updates - Installazione/aggiornamento di componenti software proprietari - - - - NVIDIA proprietary video driver (autodetected) from openmamba.org - Driver video proprietario NVIDIA (rilevato automaticamente) da openmamba.org - - - - Broadcom-sta proprietary wireless driver from openmamba.org - Driver wireless proprietario Broadcom-sta da openmamba.org - - - - Broadcom B43 proprietary firmware from openwrt.org - Firmware proprietario per Broadcom B43 da openwrt.org - - - - MS TrueType core fonts from sourceforge - MS TrueType core fonts da sourceforge - - - - VirtualBox extension pack from virtualbox.org - VirtualBox extension pack da virtualbox.org - - - - Widevine extension from google.com - Estensione Widevine da google.com - - - - openmamba installations/updates - Installazioni/aggiornamenti di openmamba - - - - System base packages (recommended) - Pacchetti base di sistema (raccomandato) - - - - Office packages (OpenOffice, ...) - Pacchetti per l'ufficio (OpenOffice, ...) - - - - Audio and Video players (VLC, kaffeine, ...) - Player audio e video (VLC, kaffeine, ...) - - - - Multimedia editing and production (kino, audacity, rosegarden, mixxx, ...) - Editing e produzione multimediale (kino, audacity, rosegarden, mixxx, ...) - - - - Internet communication and p2p - Internet, comunicazioni e p2p - - - - Graphics software (gimp, digikam, blender, krita) - Software per la grafica (gimp, digikam, blender, krita) - - - - Emulation and virtualization (VirtualBox, wine) - Emulazione e virtualizzazione (VirtualBox, wine) - - - - Base server packages (Apache, PHP, MariaDB, ...) - Base di pacchetti per server web (Apache, PHP, MariaDB, ...) - - - - Games (tuxracer, pingus, ksudoku, ...) - Giochi (tuxracer, pingus, ksudoku, ...) - - - - <html><head/><body><p><span style=" font-style:italic;">mambabase - Copyright (c) 2007-2021 by Silvan Calarco<br/>Released under the terms of the GNU GPL v3 license</span></p></body></html> - <html><head/><body><p><span style=" font-style:italic;">mambabase - Copyright (c) 2007-2021 by Silvan Calarco<br/>Rilasciato secondo i termini della licenza GNU GPL v3</span></p></body></html> - - - - <html><head/><body><p><a href="https://openmamba.org"><span style=" text-decoration: underline; color:#2980b9;">openmamba.org</span></a></p></body></html> - - - - - <html><head/><body><p>This program will complete the installation by adding the minimum recommended set of packages to the system. Additionally it will let you install, upon selection, macro-group of packages and proprietary software components.</p><p><span style=" font-weight:600;">TIP</span>: you may run this program at any time from the <span style=" font-style:italic;">openmamba control center</span> on the tray icon bar.</p></body></html> - <html><head/><body><p>Questa applicazione completerà l'installazione aggiungendo al sistema un set minimo di pacchetti raccomandati. In aggiunta permette di installare, se selezionati, gruppi di pacchetti e componenti proprietari aggiuntivi.</p><p><span style=" font-weight:600;">TIP</span>: puoi eseguire questa applicazione in qualunque momento dal <span style=" font-style:italic;">centro di controllo di openmamba</span> sulla barra delle icone.</p></body></html> - - - - <html><head/><body><p><br/></p></body></html> - - - - diff --git a/mambabase/nvidia-autoselect-driver b/mambabase/nvidia-autoselect-driver deleted file mode 100755 index 2ddffd7..0000000 --- a/mambabase/nvidia-autoselect-driver +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/bash -# -# nVidia legacy test script -# -# Copyright (c) 2007-2015 by Silvan Calarco -# Released under the GNU GPL v.3 license -# - -[ "$1" = "-i" ] && DO_INSTALL=1 - -PCIID=`/usr/sbin/lspci -n | grep " 0300: 10de:" | awk '{ print $3 }'` - -[ "$PCIID" ] || { - echo "No NVIDIA PCI device found!" >&2 - exit 1 -} - -DEVID=`echo ${PCIID/*:/} | tr '[:lower:]' '[:upper:]'` - -case $DEVID in - 0191|0193|0194|0197|019D|019E|0400|0401|0402|0403|\ - 0404|0405|0406|0407|0408|0409|040A|040B|040C|040D|\ - 040E|040F|0410|0420|0421|0422|0423|0424|0425|0426|\ - 0427|0428|0429|042A|042B|042C|042D|042E|042F|05E0|\ - 05E1|05E2|05E3|05E6|05E7|05EA|05EB|05ED|05F8|05F9|\ - 05FD|05FE|05FF|0600|0601|0602|0603|0604|0605|0606|\ - 0607|0608|0609|060A|060B|060C|060D|060F|0610|0611|\ - 0612|0613|0614|0615|0617|0618|0619|061A|061B|061C|\ - 061D|061E|061F|0621|0622|0623|0625|0626|0627|0628|\ - 062A|062B|062C|062D|062E|0630|0631|0632|0635|0637|\ - 0638|063A|0640|0641|0643|0644|0645|0646|0647|0648|\ - 0649|064A|064B|064C|0651|0652|0653|0654|0655|0656|\ - 0658|0659|065A|065B|065C|06E0|06E1|06E2|06E3|06E4|\ - 06E5|06E6|06E7|06E8|06E9|06EA|06EB|06EC|06EF|06F1|\ - 06F8|06F9|06FA|06FB|06FD|06FF|0840|0844|0845|0846|\ - 0847|0848|0849|084A|084B|084C|084D|084F|0860|0861|\ - 0862|0863|0864|0865|0866|0867|0868|0869|086A|086C|\ - 086D|086E|086F|0870|0871|0872|0873|0874|0876|087A|\ - 087D|087E|087F|08A0|08A2|08A3|08A4|08A5|0A20|0A22|\ - 0A23|0A26|0A27|0A28|0A29|0A2A|0A2B|0A2C|0A2D|0A32|\ - 0A34|0A35|0A38|0A3C|0A60|0A62|0A63|0A64|0A65|0A66|\ - 0A67|0A68|0A69|0A6A|0A6C|0A6E|0A6F|0A70|0A71|0A72|\ - 0A73|0A74|0A75|0A76|0A78|0A7A|0A7C|0CA0|0CA2|0CA3|\ - 0CA4|0CA5|0CA7|0CA8|0CA9|0CAC|0CAF|0CB0|0CB1|0CBC|\ - 10C0|10C3|10C5|10D8) ALT_SUFFIX='340' ;; - - 0040|0041|0042|0043|0044|0045|0046|0047|0048|004E|\ - 0090|0091|0092|0093|0095|0098|0099|009D|00C0|00C1|\ - 00C2|00C3|00C8|00C9|00CC|00CD|00CE|00F1|00F2|00F3|\ - 00F4|00F5|00F6|00F8|00F9|0140|0141|0142|0143|0144|\ - 0145|0146|0147|0148|0149|014A|014C|014D|014E|014F|\ - 0160|0161|0162|0163|0164|0165|0166|0167|0168|0169|\ - 016A|01D0|01D1|01D2|01D3|01D6|01D7|01D8|01DA|01DB|\ - 01DC|01DD|01DE|01DF|0211|0212|0215|0218|0221|0222|\ - 0240|0241|0242|0244|0245|0247|0290|0291|0292|0293|\ - 0294|0295|0297|0298|0299|029A|029B|029C|029D|029E|\ - 029F|02E0|02E1|02E2|02E3|02E4|038B|0390|0391|0392|\ - 0393|0394|0395|0397|0398|0399|039C|039E|03D0|03D1|\ - 03D2|03D5|03D6|0531|0533|053A|053B|053E|07E0|07E1|\ - 07E2|07E3|07E5) ALT_SUFFIX='304' ;; - - 00FA|00FB|00FC|00FD|00FE|0301|0302|0308|0309|0311|\ - 0312|0314|031A|031B|031C|0320|0321|0322|0323|0324|\ - 0325|0326|0327|0328|032A|032B|032C|032D|0330|0331|\ - 0332|0333|0334|0338|033F|0341|0342|0343|0344|0347|\ - 0348|034C|034E) ALT_SUFFIX='173' ;; - - 0110|0111|0112|0113|0170|0171|0172|0173|0174|0175|\ - 0176|0177|0178|0179|017A|017C|017D|0181|0182|0183|\ - 0185|0188|018A|018B|018C|01A0|01F0|0200|0201|0202|\ - 0203|0250|0251|0253|0258|0259|025B|0280|0281|0282|\ - 0286|0288|0289|028C) ALT_SUFFIX='96' ;; - - 0020|0028|0029|002C|002D|00A0|0100|0101|0103|0150|\ - 0151|0152|0153) ALT_SUFFIX='71' ;; - - *) ALT_SUFFIX='' ;; -esac - -case $ALT_SUFFIX in - 340) REC_DRIVER='xorg-drv-video-nvidia_340' ;; - 304) REC_DRIVER='xorg-drv-video-nvidia_304' ;; - 173|96|71) REC_DRIVER='nouveau' ;; - *) REC_DRIVER='xorg-drv-video-nvidia' ;; -esac - -echo "NVIDIA recommended driver is $REC_DRIVER" >&2 - -if [ "$DO_INSTALL" = "1" ]; then - rpm -q $REC_DRIVER || pkcon install -y $REC_DRIVER -fi diff --git a/mambabase/openmamba.png b/mambabase/openmamba.png deleted file mode 100644 index ff941ba1b3f0b76849ae5751769cf1b4b1b1862a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6492 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 -# This file is distributed under the same license as the mambabase package. -# Silvan Calarco , 2021. -# -#: _from_rc.cc:3 _from_rc.cc:4 _from_rc.cc:5 _from_rc.cc:12 _from_rc.cc:42 -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-19 11:05+0100\n" -"Last-Translator: Silvan Calarco \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: mambabase.py:338 -msgid "" -"

All done!

" -msgstr "" -"

Tutto fatto!

" - -#: mambabase.py:65 -msgid "Checking installed extra components..." -msgstr "Controllo dei componenti aggiuntivi installati..." - -#: mambabase.py:62 -msgid "Checking installed packages..." -msgstr "Controllo dei pacchetti installati..." - -#: mambabase.py:68 -msgid "Done. Please, press the Next button to continue." -msgstr "Fatto. Premi il pulsante Successivo per continuare." - -#: mambabase.py:201 mambabase.py:202 -msgid "Installation finished!" -msgstr "Installazione terminata!" - -#: mambabase.py:179 mambabase.py:180 -#, python-format -msgid "Installing %s extra component..." -msgstr "Installazione del componente aggiuntivo %s..." - -#: mambabase.py:150 mambabase.py:151 -#, python-format -msgid "Installing %s group packages..." -msgstr "Installazione del gruppo di pacchetti %s..." - -#: mambabase.py:218 -#, python-format -msgid "Installing %s package (%s)..." -msgstr "Installazione del pacchetto %s (%s)..." - -#: mambabase.py:166 -#, python-format -msgid "Installing package %s" -msgstr "Installazione del pacchetto %s" - -#: mambabase.py:159 -#, python-format -msgid "Package %s is already installed" -msgstr "Il pacchetto %s è già installato" - -#: mambabase.py:97 mambabase.py:98 -msgid "Starting installation..." -msgstr "Avvio dell'installazione..." - -#: mambabase.py:118 mambabase.py:119 -msgid "Updating installed packages..." -msgstr "Aggiornamento dei pacchetti installati in corso..." - -#: mambabase.py:102 mambabase.py:103 -msgid "Updating packages list..." -msgstr "Aggiornamento della lista dei pacchetti..." - -#: mambabase.py:290 -#, python-format -msgid "WARNING: package %s from group %s not found in repositories" -msgstr "AVVISO: il pacchetto %s del gruppo %s non è stato trovato nei repository" - -#: mambabase.py:33 -msgid "openmamba base network installations" -msgstr "Installazione di componenti dalla rete" diff --git a/mambabase/po/messages.pot b/mambabase/po/messages.pot deleted file mode 100644 index e123c42..0000000 --- a/mambabase/po/messages.pot +++ /dev/null @@ -1,85 +0,0 @@ -# mambabase translations -# Copyright (C) 2021 Silvan Calarco -# This file is distributed under the same license as the mambabase package. -# Silvan Calarco , 2021. -# -#: _from_rc.cc:3 _from_rc.cc:4 _from_rc.cc:5 _from_rc.cc:12 _from_rc.cc:42 -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-19 11:05+0100\n" -"Last-Translator: Silvan Calarco \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: mambabase.py:338 -msgid "" -"

All done!

" -msgstr "" - -#: mambabase.py:65 -msgid "Checking installed extra components..." -msgstr "" - -#: mambabase.py:62 -msgid "Checking installed packages..." -msgstr "" - -#: mambabase.py:68 -msgid "Done. Please, press the Next button to continue." -msgstr "" - -#: mambabase.py:201 mambabase.py:202 -msgid "Installation finished!" -msgstr "" - -#: mambabase.py:179 mambabase.py:180 -#, python-format -msgid "Installing %s extra component..." -msgstr "" - -#: mambabase.py:150 mambabase.py:151 -#, python-format -msgid "Installing %s group packages..." -msgstr "" - -#: mambabase.py:218 -#, python-format -msgid "Installing %s package (%s)..." -msgstr "" - -#: mambabase.py:166 -#, python-format -msgid "Installing package %s" -msgstr "" - -#: mambabase.py:159 -#, python-format -msgid "Package %s is already installed" -msgstr "" - -#: mambabase.py:97 mambabase.py:98 -msgid "Starting installation..." -msgstr "" - -#: mambabase.py:118 mambabase.py:119 -msgid "Updating installed packages..." -msgstr "" - -#: mambabase.py:102 mambabase.py:103 -msgid "Updating packages list..." -msgstr "" - -#: mambabase.py:290 -#, python-format -msgid "WARNING: package %s from group %s not found in repositories" -msgstr "" - -#: mambabase.py:33 -msgid "openmamba base network installations" -msgstr "" diff --git a/mambabase/update-translations.sh b/mambabase/update-translations.sh deleted file mode 100755 index a5a1e96..0000000 --- a/mambabase/update-translations.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -xgettext -s -o - mambabase.py --output=po/messages.pot -msgmerge --update --no-fuzzy-matching --backup=off po/it.po po/messages.pot -lupdate *.ui -ts mambabase_it.ts \ No newline at end of file