From 4e1a26843bf57dc3554b18762c64222b2fba2020 Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 6 Nov 2024 13:04:42 -0100 Subject: [PATCH] add files and configs for calamares installer and new peppermint package repo fir void linux --- build-x86-images.sh | 4 +- .../branding/peppermint/branding.desc | 34 ++++ .../branding/peppermint/pep-logo.png | Bin 0 -> 11169 bytes .../calamares/branding/peppermint/s5.png | Bin 0 -> 48062 bytes .../calamares/branding/peppermint/show.qml | 40 +++++ .../branding/peppermint/stylesheet.qss | 163 +++++++++++++++++ .../calamares/branding/peppermint/welcome.png | Bin 0 -> 14400 bytes calamares/calamares/modules/bootloader.conf | 7 + .../calamares/modules/displaymanager.conf | 5 + calamares/calamares/modules/finished.conf | 4 + calamares/calamares/modules/initcpio.conf | 2 + calamares/calamares/modules/locale.conf | 10 ++ calamares/calamares/modules/machineid.conf | 4 + calamares/calamares/modules/partition.conf | 17 ++ .../calamares/modules/services-runit.conf | 14 ++ calamares/calamares/modules/unpackfs.conf | 6 + calamares/calamares/modules/users.conf | 47 +++++ calamares/calamares/modules/welcome.conf | 17 ++ calamares/calamares/settings.conf | 44 +++++ calamares/modules/postcfg/main.py | 167 ++++++++++++++++++ calamares/modules/postcfg/module.desc | 6 + ...:12:be:9b:dc:4c:c5:b8:af:cf:a7:a9:bb.plist | 12 ++ ...:0d:69:2a:2a:64:bd:c1:a2:49:e2:39:0e.plist | 12 ++ ...:78:20:9b:bb:5c:10:32:ca:28:4c:c3:0c.plist | 12 ++ mklive.sh | 20 ++- 25 files changed, 642 insertions(+), 5 deletions(-) create mode 100644 calamares/calamares/branding/peppermint/branding.desc create mode 100644 calamares/calamares/branding/peppermint/pep-logo.png create mode 100644 calamares/calamares/branding/peppermint/s5.png create mode 100644 calamares/calamares/branding/peppermint/show.qml create mode 100644 calamares/calamares/branding/peppermint/stylesheet.qss create mode 100644 calamares/calamares/branding/peppermint/welcome.png create mode 100644 calamares/calamares/modules/bootloader.conf create mode 100644 calamares/calamares/modules/displaymanager.conf create mode 100644 calamares/calamares/modules/finished.conf create mode 100644 calamares/calamares/modules/initcpio.conf create mode 100644 calamares/calamares/modules/locale.conf create mode 100644 calamares/calamares/modules/machineid.conf create mode 100644 calamares/calamares/modules/partition.conf create mode 100644 calamares/calamares/modules/services-runit.conf create mode 100644 calamares/calamares/modules/unpackfs.conf create mode 100644 calamares/calamares/modules/users.conf create mode 100644 calamares/calamares/modules/welcome.conf create mode 100644 calamares/calamares/settings.conf create mode 100644 calamares/modules/postcfg/main.py create mode 100644 calamares/modules/postcfg/module.desc create mode 100644 keys/1e:23:91:e5:12:be:9b:dc:4c:c5:b8:af:cf:a7:a9:bb.plist create mode 100644 keys/ad:29:f8:e0:0d:69:2a:2a:64:bd:c1:a2:49:e2:39:0e.plist create mode 100644 keys/f2:7b:1c:18:78:20:9b:bb:5c:10:32:ca:28:4c:c3:0c.plist diff --git a/build-x86-images.sh b/build-x86-images.sh index 9d1d9259..84f22f31 100755 --- a/build-x86-images.sh +++ b/build-x86-images.sh @@ -74,7 +74,7 @@ build_variant() { IMG=pep-live-${ARCH}-${DATE}-${variant}.iso GRUB_PKGS="grub-i386-efi grub-x86_64-efi" A11Y_PKGS="espeakup void-live-audio brltty" - PKGS="dialog octoxbps cryptsetup lvm2 mdadm void-docs-browse xtools-minimal xmirror chrony $A11Y_PKGS $GRUB_PKGS" + PKGS="dialog octoxbps cryptsetup lvm2 mdadm void-docs-browse xtools-minimal xmirror chrony void-repo-nonfree void-repo-multilib void-repo-multilib-nonfree $A11Y_PKGS $GRUB_PKGS" XORG_PKGS="xorg xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font dejavu-fonts-ttf orca" SERVICES="sshd chronyd" @@ -94,7 +94,7 @@ build_variant() { mousepad mugshot menulibre thunar-archive-plugin thunar-volman xfce4-panel-profiles xfce4 xfce4-plugins xfce4-screenshooter xarchiver alsa-utils bluez bluez-cups btop console-setup cups curl dconf-editor dbus-x11 cantarell-fonts liberation-fonts-ttf git wget gnome-disk-utility gparted gvfs samba samba-cups cups-pdf avahi inxi network-manager-applet ntp python3-pipx python3-tkinter python3-requests python3-certifi python3-Pillow system-config-printer simple-scan smartmontools smbclient spice-vdagent sqlite openssh nano vim-x11 vim linux-firmware - broadcom-bt-firmware alsa-firmware linux-firmware-qualcomm qemu-firmware sof-firmware blueman xf86-video-intel" + broadcom-bt-firmware alsa-firmware linux-firmware-qualcomm qemu-firmware sof-firmware blueman xf86-video-intel zip p7zip calamares" SERVICES="$SERVICES dbus lightdm NetworkManager polkitd bluetoothd cupsd avahi-daemon ntpd smbd nmbd sshd spice-vdagentd" LIGHTDM_SESSION=xfce ;; diff --git a/calamares/calamares/branding/peppermint/branding.desc b/calamares/calamares/branding/peppermint/branding.desc new file mode 100644 index 00000000..34a7d3ba --- /dev/null +++ b/calamares/calamares/branding/peppermint/branding.desc @@ -0,0 +1,34 @@ +--- +componentName: peppermint +welcomeStyleCalamares: false +welcomeExpandingLogo: true +windowExpanding: normal +windowSize: 700,450 +windowPlacement: center + +strings: + productName: Peppermint + shortProductName: Peppermint + version: 00 + shortVersion: 00 + versionedName: Peppermint + shortVersionedName: Peppermint + bootloaderEntryName: Peppermint + productUrl: https://peppermintos.com + supportUrl: https://sourceforge.net/p/peppermintos/pepos/ + releaseNotesUrl: https://peppermintos.com + +images: + productLogo: "pep-logo.png" + productIcon: "pep-logo.png" + productWelcome: "welcome.png" + +slideshow: "show.qml" + +style: + sidebarBackground: "#C0C0C0" + sidebarText: "#000000" + sidebarTextSelect: "#ffffff" + sidebarTextHighlight: "#f62817" + + diff --git a/calamares/calamares/branding/peppermint/pep-logo.png b/calamares/calamares/branding/peppermint/pep-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c441dd4e8a47be04046110305e3a15960cbad277 GIT binary patch literal 11169 zcmeHscT`i`)^F&&_ufUoKmws8RB6(YjtEFdp+kUB1!*FJfPjL4RFNtQf*=Y)K&tfK zi=cvZrAm<(^xSjL8Q&e_jr+!T-(NQw$=-XdIe%-;-<)f&J@<;eYIKE$l9Lhu0MO{_ zXqw`W;rL$!IVt|1+_B0N0HEFpHn+x_!UOm*K3-@ScN9N12!rBB1-hUCfWWDZ^y?|y z^)#AiZz!cAr075S=p@B&(>8?gnIEj^6`0)qe2lo_3>&d1BjZyOlo|YZvX(1<64fMa zLu2vk^`OnCibUA=Pft6>=R+FJ%KHy?4!rN3one%B4|IEM#ksqWqxWz9Tnavt!>xg! z54Omv4ifg35=`co4vdN3iHbKq>FK&f2bm*EJ$aivN7OT3>&Ru-G~WWNSo%5P7*>XxLiEIww@g>v2-?m@uU-({_<=T2dfNXcY&>O7LV*89+t=xN z2d(i(HccTbG37HmezhunEz9nsC%2x4Q2HGEpL`G2`R-?#GY}^4yRlV$va}bn81#I_ zY&Umdes-&x%^&P0G_vuo^!{@tC#BcvEybG=g|bz{xU0)6xy{8fwZSh>3K@Al1dl3Z^))&o5=Vz4S<&}ut=+onI?~zj%3M-5Kih2AipwS zwMX*De(DwU1r{bh&Ixt3AKX>S6!C>(c%+4x)Z4_~aG+AkZAea>HyoVxlEnoL&EHaI zJbyLyw5F(6*V}cF)BIJb>v(?kBm4T@v6=&wBkmw(9W!k%*bzIz=u1|-QqaxsxGaf^ zs@0UrsiDzv>*4VG7EEqMV;&PTL62y{)@%I^l=qds0t(IUXZi2$%Jem;ZKPq=Qm0?c z-Rj7muS%Ok9sk(jx~9KX{#n%QXWp%DPAd!5J32<9i%=mrbVRd#)C`bUy?klk+-<)n zsBf{;JQ~R=mQ$Urgg{p2Jp5dAe3Ue8kQ|5g=R@76NEtKw3Xv!u*4P?gnOWxlxXI&L5VqjeeXWb7Ui&k< z6It&UUJKQCH`wv>-fim2{K&4~ZtfK5ioE;Cj65w=wr{UDL3r)OzbVSY+BqKhzERGtZKhi!W39lZQVt zPYh^DCw*d{?RqRC@TTOYA9FW7^JO8q3fm%SJ5D)<{7C7d@CVS z@;%adCKaQy-RgT3t{z{xzbaP)16JReAuQE~KaAYC*8E;$>hh^@;cKwx^@b!pQR9r% zs%sUk(RF&08kpKi_u0Db$&DgIR*M!RF``TfWsyzl`s*VE4=S$H6IR}>ak!N!Ok}th zYxQyVt%0@)WvU*H?GyGx)iorogt94=xsdLSe*=tFF$=f*1$F!e`VL9^ywJjcu~v3b zVA?i7nzChe^V{*IS;emYQTK%6ln>J56k!NtCqF`%pc6;{Gg9$I$A+emFoJ z9gwn7DntV%BwHUWwO}Q5S@#oQ9n&~;Ps2VcSZCCC1)3Fnnemp=S@P-b_MT+vG#vDs z<}8&Ilr`I8SQyjRo8kF^9qVXxiU)CUA{tw3d9rmu!E_tpkEpcv8atOcLJh-fiy0V2 zn$Wl#9qWGIEKzP>upgKY<(gad%NoF0_Wcvy?mT|YoLooxsrB?i*%?a9-zpG?3eAK$ zBPBL18Pr71#vge+FB#n}o2!wU;FgHEKXNfh2*~WlH66)x>7L741Q+-8DO>>+SwrnD zbusV2j_mZr<|V%#`Z4do%&V$V(ph7gJ=UjP@VdbmV(j>b6}>dd2WiDg-AcILe$wwB zKfhNmg++e|%wGq}gZNL-vc-j!JF%fhU#glr>u+YNbrlIYF4hg^D#tj-aAWdm>7U-M zD-LHHza}Q4NBE+VuAu4g#Bdq$`78#A94zHb*k}ei9BtklKyANPq*YX=z6p-AUJe(2lBV%`T__yj7BBJ$GcA1A1 zUFb=tUqG=J?E6VqJJIyU42s9LAm~@$94)= zCACLoaIw1H6hUMgr7dL^Xp0N90dP%*i(O-|#7#h}oH)^5uV|1e^#c+Xxrn|J8Jv_RQ*v<=h0(@Ku)IxcWE8^RzB)dwi-n$ zOCvs>nMx5!vhvupsdrf*onpTO%t}lxg9MU;t2|f2H(R2UVXmUNvOJ$)epU5>Uf!^;KiIB?$TDOl@)C>2dl}d)mC!7%jSApW=7@3q|3CMl#}*y zm+9=RHs?(d7Ka#W&{->tKMFvOj!2W+d`&FWN3NzidEKj(S)ZWUQVF8dYLi+<)fU}U z;T2WH&DJaT=xk-587xCSb$`5jC8K59{Ik*aOD2C+7b^9{OB>!eNwK`jlC(H9!k|iG zG^g)#rkF(g7RQ1`ypUZA<~jS9j>n&ujLz_J?&)Vm#g@#EAE9| zn~cy6XoPpxMr*9?7kN?d*t#!zCJu=oWy(X;Dy3Po(02*hFY(c-iS^R<`*Smr(mcnF zsS{Dv!CJlB`Z0&k?=~cGgKhedsoPkb3Bl&zvjO<5VI}9C%aM`S$XnxvJBf8f=wr@NZE1j}BpmyM=KhSKXf>f^Xv=&i;H;Evq5VJzHcvTI*8v2*XC7=;ah#7$a6jvcm3(-C zR$~lAYy{bExZwKz&XP^?95f%2mHTz*5KW^HC^(y6v1TXrqL%uh%$@>f?MT zD~)>Ei}DOy%eqhLA2sqb_0U@iDszAOMD4gEM(P_(6@EZA(Pnp{rOWkw{??qe!OfAb zuEMNTH9nz>@2ku)!by4J&AN2?ohyNJt$j zbc?E&LE!p~=cR@71{5ZkV}g ziPQSidv{*VUVmcB?Zy&!RbYhjIV|1wh{TXuH|}1+f(>RH@p5%xvHV%oGk)@0;R=ch zVsCX~&-5vQj!Fuf9rZWw*9U|Tl!JR$bqO;)A5UWSde|&mwx#p%b7Mkw(7W224kiUbHm~gfvuMxg6>sYKC9kW{y`e`g?kHagrO`4L?wiY0t9t065a-8lbSyO$Dp4kI?Q(=^5^m0T=26|xdNdW*TsRm-;2sad#-x1~H;;AgSRo^7Y z?}Ahow30Oh8Dcb0&MrE^J}9$bBXdNs8v=?HR8^r=3WVVSJWyCTf1roEr!Oo}S@0Jw z41a#!EG5YQO9bntENE?bm0!cl2gMJOgh+ybT7fS9(t;|K{7ODZG|W^}`ws~Gm9n5S z7K?#NNd*K1NCwDAdigj>fuT^S6i8Z1S{jI#0Qv@bV&Q>6PhX*Ph~F5RC|`sRK9gO% zJo(Qt;f`K@SY<&$d_Vs`?DN1F8vY6I>H7x@cs`^8;TS2fBuL7`L+Y;@zE~}PJjfpg z{YwpBbNm|wDN~fMm!A&;rR9(E#0vct0*UxjALHla{>vRCLJH-M^1zGw;ztGlZOALS zhFAa8IH$nL#RKz83s3gnB(W~&f0Fe#+s=D_x${>;@ali!{!RKHzW)-&OBou%G`$dh z=jQ2ZDhr;E4?}t(T#&F|rwFvXBUoMm4s=8zE&l2V1i_gS!OfX1N2J%b&JS;H0Gk9X*=Xr_;_|=a0 z1*YMHf@8gW%)Pwal?Bfs_|G-}>^8(tCnOvT*MwtHcuGR3Muk<_QIxfEW@q>Of{hm=~DDU4_zc1ZgeoZBQ{$G;<21opM z!58k2LjJN7kM+9?;SBe5LgDWof28X_+FkxdDnOuUM=;zG4g?|5_^5#qNFWp;3kJgF zKu~E}X*fh4g!ntUuNN8{0QW&%cEagB_{=ygyI` z6bw<2K>!h8ycZC(ECdLJE64z)(GY2Q1%xA5PC@?f7XH8ZbDjV|kQ@*MHkSs&q!nN? zGXMWvlt#(QA;D-k5MPTTf%yE#yC^NA0EEcM$jPDMvIwxu|3b+Abn$=W_#aVJk~+W5 z|07A2r2a=5{}%Ymx`2=V?>78;gI~U+{#?KQNQ?88;y?KLWBU9DN5Dh>caVRJ-~ZC} zU%LJ+2L3JK|7O>J>H4=A__u`rn_d5FbW#4Z0!De_A6x_Q_3c~5p7SkaQb+wOnt-$O zZ{EA&2ly5WjLtP*{2uf8`Hw*T;^RPkBNXDZl!%;6tYl1%5x>`bqN{n?9KWfY zeKW~?lp&^R78Q_;x+d7EVM1VHV!{Y!FKD;IY=oN1{* z{hHolJtPfW6zR1n1Qv{=bfvx+NoqxcB4DtdTSplET*+Bf=mQoeI?Gi*aJAl}!N&h%#80Nju&Xu3{t&eZI0ARU8>c9_TpWtCHgAlS8oyh|x zXq?Tp4*=IAj2w6d2pZ_hNyk>so|DL#KX5RA0C)w+B{CwWCEGXEeob&1esuSApYXal zNX0ZikRp&XoerA;ct~~{k&Gi=z%B@fKGWYbFsf;JfYZRKFDN@a4q|O z3sED&q$PGY%IDrZ!>p390y>^)xK5B1l>s-N6Sg~<%7eHR+9yuBCOhYF*|>diWXJ^% zBDAwXOFEq``KxijlFV1xg|(WV6Xl3&Wt?^iL$nJQXlzEAi%K3W$747xl*%lN{Mm%O z0}v-2E>T7t$L10{$8OQf3dLFf|N^rcd-_JaQc#8qmm z(t2>{<%bFQ1 zWkGmX;SeA+;!NOpgQlxl+JQU8#nzl=n+I{ru?9!cCPxq&!8c(o%1DFTb$lF7loObNoT5&UtrC-5Yv95S#aN||DGe^kx;U#Min?ZJR-l65X9THB`?f%g&tD@p8)EJ zUd7cG?(%M5cGWQLRQdY3v&vEhLU8P=I*Y5<;l|RN0$s@&vu$WX0GE2D`CI|C1GUG3 zB8_vS`x5F(`Z6HSt`8IX7E5|h<0teA^AOV7Z)(UGEjNaoRy6hEvHYVY>af)tq@MS# zSJ?|VHoPU7u~_&Lag%RG8?%OcN3$t_87A5VbIf!vutwaZw3VoPfK#USWU1rDh+$?I z(xU2#W^(4X0>}c0>O>Z5Bi1Zdi4UmjstHxP;Zp~UnCmhx>PcsY7bIy1jD_kr7VJr0 zH?I|29ox`t8e*!O4XISW^fUTi%goo**)1O?xDN1CRCp9^Do+18Vj95~YPfT>0tkTB zu^b&^RmCdic`^4_y{Jxn$5@m(1Py7vcSYG zJm6KowneFs`K&R4q*e-xXlYjvm33hOgnQyfZ#QOP8OH>D5p)sr=-`sFj>0P*F*`Yf z3K>nq7OXHROgF9Z)}4{qQmfSY7Z;pU8&Od;P4M6w4C|X}Jac_@5ZqQl!|9H)%N$_S z6=T+%Kp@XMBac(g6Yu}Z^=%En$^Tq(IZBbqwtCz%rEGL}dZ(yt)d=$_QgOhop0Dol zyIQ-2zCQ2Mn+;Brw3{$YOyK-@)UkM7n|&D9r~zt!bhG9S%S_!RkEz{jl620dRRbB` z;3nEY;dL6@FQp&u1)UdcGqsYICMDKBs(jIC7M@b$)6M33L8NDgPCSoc9k ztw><2;cZkug9FDfk`=qSFQ5cW#edFK_CsO)wj-aFK z%Qd0;**IH|tzG=f?9a#ZL0)Gu95%vSvzs+xbhdn3^@ALtEG7WfRu-}n(NBy0U|jRj zk8Ey#5K}-^_4n_|uKm7n#qAEI)93ptQoS;%ddI{iswuJF_A?thaSWq6v~Td zuR?|%dbr@YfR<(08zga1G9b&a#MMy z^2XDSmB(X62+Inhutxi{D+0Is>u1Lli21*3x02H25z{zq73YpK3RaX7Z_f{1CYajF zX1H@~oalcY()cs(=S>hM?TFfJG+Z7q9Ntvo%V7$zSp*TBQgJjaQKTsczj%FnkG5+3 zlGrv|TsyI|YS%Ecq7v!ydmD>mw$;Z?gEFOvC$qu6+=K(xoeK#AAV(F014)P?{DMPr zfa;QxSt?aW&}xm)ZJ~9=H&VgXPhf(D4&!aIG?xw^mU|JX_JP}`_)25sE}xy=c-pFy zvVB*6gZu7CQ&%CY@gTeV6rD|yKudDC~P&pR{{>}4oK-hPOdNRG~XRWZPu z@I%>KA>uLBw;Z-op@}Dny@^o&@*mc+RkyBRnokgXs<$ zUhu%?a~}*EKY-O2L{x|&=C#MX%s7b^{Fs<{OaR8cMPCh{8O*X)#ETJj5wxzYS3Po$E{ZHU{UGReL&7oN8m|_zY7PW z(F>ulxG`~-mf%n>-;Y5^wlC1K&6t~)pJBh9JqqXQ%C_1Lm)G$;Pa@~x&IeDV#uu1W0kHA@^ z8Lq4KV`rBziA#7PyANe>zIBN?v4TY!Nk3ujm$l9$9rvZBXNx3l1eOzlmfZFU60}L` zwA!@sMdWPY*2JJ6oVN!7`90>Lt)-6zEPG=00ff2_1WYCvk%A1`0M;Z`ijE}ia#6MK zrtAb0&3G&dZazHCY(bV|XwC)ak8y`cpDg(GX8=_+rp&=;5vX=9As2H z<%+nJ)4oX*&O97A+YWtMCwg(GfKp8!QXz&~l(J&{r8dQr+=!+$j91FyuVo;*)KxgtlZTc7V} z$XTW;`95QrY(x2OeIH_CzS{Kis)2fnbppd@MOBO=bktaAyAJ%sz2k$Zqh2Fj3jWDO z4ERp}_7sgbG(rU?OB@sjy)E*d7ODT4OZQDaY{6^aGA-US{u@am&HLo3EA4rULsY_n z;LVG|0?q6e+^c!cD3T=^5;lir3bv?Pvv%Le_lx2P>++Fk_o^4{5TQ1(0aL4nRhrBc z8w*f}#GEOzMfqpkELuf;7wv?+IA##+0rhOsM@RET@o=)jW^y`oJNp(go2h~$}sOZz~9 z?~!8C;zB}uUkix$kj3Z3Xei^XLHm0<=k($MgN>}UkG#*54{{&sr_$B+zWSGh8uM{n zWq1~lx_Oscz0Y02hU}J-Vt=-{+}O&k&i|OcobuwG;PU zwl8*OJQTYhoC-^(N$)4<=U-Oy_y)PE^<=78&=B@~h71~uDsjC_APzEIH+a4|$kAab zT)HQOtnMb$$^Mk8348UPn7_1tHZSZn3TB$43ja%`@w?!#h&&@I);n8Bd-$9VUm5{) MwTv`hs5?adAGs6wmjD0& literal 0 HcmV?d00001 diff --git a/calamares/calamares/branding/peppermint/s5.png b/calamares/calamares/branding/peppermint/s5.png new file mode 100644 index 0000000000000000000000000000000000000000..5bffe52f35c30af4cbd859e52d0eb30eae4fa156 GIT binary patch literal 48062 zcmeEu2UHZ@x@DsX2uP5qA|NWF%eKLytLoG_U)XzpUloL?D9K*Iy^afkK(5F=lv0I2 zu=~(oI9TA5M82;c;J;Q+buDLABR5)mM>|ssYZ$GwhdqoI=5ApMfw+&_sOVm8ro}l% zk_ula*%yek7)Y2*Z)3%6zms6ydWoWx&gjTTbcVa}alkuOr_Kb@fp-q@chMQjk#}P5 zX=MIfk|vb(e-a?0m0=p@06z&9ZY|UnxHeQt5oeVVB3;OPy8$Qbb_IFPW2f7n$TDv@ zdy&s+bRJypl+jezH6rTR5m8w4x-U@2{SjyW3h_Jqm)y^a@1$ErzwzfISmJ&2K3S!f zEhHsXAX;CuKD#E^IF-*agijB7QW~!C;Qp_zJc(XL2})^9@g2FY?+7XOE4`a8gfxch zKZQDv#?x+Rk}6>BWB$Y(yb|Uf=x#bVz`sr+tF5j2vNz-&el_jpZ8$7`iZ7mOZ@cTm z>+UWR*^nSricbBmju(%F6sgqIBeqWXq-lZPx*%GcWsDOt=JJN0t-14zk>F^Mmj ze19xXM*g$R^4;5SeZB+DqAUB-j_tp4pS^}+aDRA3CAv>@yf)0Fq*yICbBD;Ycr}VW z-HgJV+xqC}M}_V^vFU4{2Lw)aNZy{@sq61ImThe0v3Hp0|0O)_h)wA^a97gt9YoQu z7^gO^pLfo`NjKfEd$pi0Y7m=NUO(IJS)k<8TB(s`>h-nNwbd!k)l**xKcQn3W2pE7 z1VXZJ0U}IGQ9%G|XTxG-VrL9vaksGtp$CBoiMrbxL9JlUw8k(q3tM5j^_m7cS_>0l zI!$gxHbr|$n7PG6Pe+)Vr;<9<(+bLOLMJMME95Q!2C#uS8_~MkSlc=YxC_&rjVl1Q z(I2zY(ViXRY$Z&mrKmzHY3B%|U~#f_82&e4pOou8kdm5qaygM%3y!R+K=>uluCZ0mFzJ;eDKQZOf|qlLY* zg`F)edQ2l@I~QkRIy$hQ_OJQb*efdjJ-n^cZz}+Mu(})Bv$C_WvD(cxz*X7* z<&v^;iYkAffi{7eg^m5$S-{x;a-_3`=|7D1FLOihIa|&@PXwI)_qhLZ^j~W~I~W|L zs3;(12X#SDPfkjh4t;$A6FaDdiNM(=7l#Rqo0F4`*~plmhnb6m*OZx`8^*!R!ER~{ z<>xjr;^yM|r=jF*ot%wqp)mANU~m=-Fb*#-ln=(k!^X_V%g)ElWz50NY;0r%W#%w~ zni})*a&d9-!2W3nWk(ATl}6V8JS+52CSWKYHeL>HV_sfns0j?r#+03dnGed%&CF>G z<>cpPGvVRmU_Tqm1S%k7=V)UD+-YHBWCmlkw>3N4fi}2+xQd)G9R~~BKR!{hHgYxv zCkWFiSlGI_|6_-`g$+#2*$8b-c3$w0hmD_~kDZ;1kL`TfXX9zW9GyTUqQ_)sW8pmC zgLaDmSPU?%5jsx60B6I3wFpQ$!i=2l9M$dYtcB^&L(rnn{Cl?|NGB5`XCo;iXBZfi zje|>ojaz_|U7dqNfQ?^(o0k!MXZxq)?My68J^oimqmzeL=-lNGEu6shJwFi~+{o4p2GHYoxc>FI#eWbAFg{)m zHZ~{+aGen+GnWbY#>dUg%WTXGCVk4B&tnF>`TofOzERkR+jUJti1mnn}aH;mbcpBJ6&Y#?blcukmj*o+v{QH zXJZ3j{LIE2P-A8;BTi#xKJW>%sWCenFTar~8yAe{|0n;Lz__6NoJMTSP##`(W-ch$ z;%A4lfq>`XWaDBt;Q;vbf4-jI=^m_PBIhc*uO?a50Fb*R= zKBzI28;Fm80iyq%c>C{L4+p;yU^FO2R|3!TMn=&b|{S7h=&8<+p|y07c>7eS*B%UE7k3W7raORvj`0iRs9 zf2i#Qf#8v#zc3()$&}zjY-c$|Y3zkdG*>S3+so+wf=+PQ{KiiK zevh4ap1*pyFviJw1Dt|>d9OV>-vAd9_`Rk6XAAPj29Q5C0QvAI4*u8x4U2!`;ExUd z!~xm@f8yYe4bH;g4<`P}g|k5T!;OD1@ed~c!NfoPgFi_4e+>yYe$>EoJ``R;HBU__ zUhIBCBrYZ%W8M|SPtVQ$#A&i?%I`fr1=Lt#-kr-*N=j<2vi{gWtIp3E^KMAO2ai-u zy~Ouks}nXeW<}-C?p*jQl3!WmNPm8z*N>YAV8y zpfEq*#LW%fzWHKleZ6;M!`{=&E9OpcaPY|FWY6ASMbnIy^y6PYTf*d`U29TeV`EoV zS5uZMqG&{WPEYH_F~RTy=vr!;73%3JVAhi?7cJzuv%q?z4>3PK0Efrl8JUzh)E zXEp3;38PRWm4?H|R$Wttz2bB$ZL|B$Yj=A~8A8j(Y_N~HBN20*@tsaEFR!C)jFSZ$ zULGEUYkfCa!T9?3&~=($H68`a8_s6Kc#XW+Bjh?_W1|nUt+BYe+Ffo1=iuRST|tIr zJ}l7iTE0F1?c2jb{hGMb(^D#H>Ul%dp=Mlsd7G} zWEc(~wC0&wLhu8dde)`>I*`7I=uPXLZHu}z!ux%H-@PYQSl3sCn>#j`kj4}WZJq{B zStmU!HYbUEe0&m8QnKKB z+uGI>^$O|~4C|uw;^X5vMMP480f7B-l+)^mN_)M$yh=ZPdiCo7m(tMhWLMC|R>bF! ztEQ%A&h>__uCBJBAu{t41Tx8wE~z(ibhWiT=4@WPc+v4}(wu8+yI1rE-z0xvVBlOE zHa7P9j^n(Ql~t9)tPF^xL36H>^735`(X>a|(HR*TTf$5F;Ipk=xS^T3IRmgJxIo+( zsIVvH&IdV8!v$elDn_o~+x8-|ybi~QS6ZiV{YkYkCcMT1q zLzdjJkM0&|FoHFpLm#9`X-P@6OxEVWQH}ei@ub&!9oO}U<5?Qi!>s;q3k&A-^zk02M2cG;GDyQ#l=OvI#2HQ z?UTZWlf5yu)ik}2>RXi!C(O5R-Yc@(W)xE1HMKGSztjEONov&Pn87#irloOrw3=jAiV;`NK zA{%ma3gQ|-hN1(_*f_Hm1#sZx=Wq7C0RKwv?p0%|#mDgAU z>SX=nkfq1Y!efwIAX1ZnSHdGAV8H9(g22=fGPgm9dF-udgR7O6mOACOf#1=2>xAfu zEh^|aap}qGv9g9jZv%tz^YJmXEgbGHU!$h>o#8u%`<=k?8W8i{NvyS4p_$)6o_lmH z?RtWMQ!CIIw58hOa^)j9oLPstz0l-;cnIAuXe7xXk zXJ?0njU6LIxGsu1-VT{PY`>RgVr{+h)d3_(CjhAV`T4C0x2cpRyjYWEo5Y6mA!9j zJc#{nSq^a5%+!<~7^-uk#?5dnh{Nw47z~)j%+YZxcD-CpP3_+%?x2h&w8N(v9 zIBw_X=LbMGX=G%?aJL>{73~>}%aM?f%(bN?bVSHxg@@PG)y*Lh2*jXe`POt(AjMkF zgsqvibv_!@Ym$pS0e%7tgG<%d*Ke80$jEGsn5E5uAj`pZh-cA%Flzve+|#2(KtQ1S zQGEdLDe%VD(d_K32kHc=oSfl(9fUQF_lEejm85P{-{Z|T!H_Ds#qKM1j; z{O|>*F)=gOJx2U&ZI$t`O%e90z@HWr6l^oFw;y-lb6e9ZG^k5VO+}&1PQeWK_Vxxq z5&-gTYHHdNLOc1(7YX0}nP9b>aL>9^38D2a%k{;@`@Nl_qaZ%X$;mr%kWfzyD8!OC23!ow(7-}jsU0#s+$;{>4hxKt*~;b+%g*1B>EGPcLz2LNS&;-Q%gtY7Yj(t%0nL-7G0 zJvd{fco*P4FXUPsQLA8ShnbmKC+r8Se)XH7p&^P3S~U|rf!KtO2U~Obg@yBoG(Qnn zjrAWtw9uf=vF~d7CXK7+@Ixj8nnSa*v&U=P)`Jr2V`5^e9OoW+dU~poO25y^0l=`8 zWU5Oc{TeyxRfO*kATum141oQCBGenW2ms`J)sOECip;#dkF!hr0DhX9nZ*c2g|xM- z0m}ph1#yIOUys=0qfV*P`Ka!=yEKG8hanUMgI<;6UBHF<#5=te_4Ni=lm7nx9O-s8 zHYrO1fgmUeMfTIf^N)^>wDt77XZ8sR2QBBntSm0JqZN~ghynFB&{R}6`n)_nIYdPb zTgM_IBD|3kZucTv`ubD=uELj#whxt4d%uWY?^AYK(J9av9v)ULf^TokG&8ZX(g;R^ z{ODL&u|Bw-mX_8#FfhPa8Q@MrD*YOGX}rM?6@(nkWZ)1KOgcC?C`9c2YL6j_*G@}J z>^Rs))I^RUr~J}Db{3B9B9Vxtp*()4`L5zTJiznG`+g)Z!2kP z>IB`^egO)bgXa!e_9XK=t@sq==l}9MMfh#?`kiiny;}?)9^UHaopP4Wn2j?LRRWY9 zaf8u*A)3kV>-{)_ebSJhDs5WY_|f9LGox zi11flQN6(4&ydyCRqunjczueyJG;9uOUotohUJY7HZ+FYPS%caTh&e2rg`4qhtB|f zIG9hei>$-R1j#X6psU}DTEHciO%e60KRyIzXN)(U8XZ0CriiZXiV{72%UZurCoeC5 z&)~T|fXwmF4q4t2nt4NAU0tF%7>(#uszc*$#l{mKsBouEj`aa3=-PN@G7rE)oH zduGPy6zPYmJU(97nq>umYH*FAva+%!)2Pm1U1#rr3lIw0-9YpKvEX;IYzRd3;l!qe zi%a>jyS+Ud&=2<}_Z9{~R0;9BzOXSf+`HoeW(cYR*PkaYaX&<^i^$5zRL6byONxk$ zj6*yIv5TeyPXo6|E5w)QJ^0guU418;Z8Y1!X`;e1g+)aT&J|t&cnC$0RVLr-6qtf6 z3>v$FkMCT^gJL!9qd}CFeygmgsAkdQTMS6$Rm|#lpTosgP7_(J)|!8J7tU%>t7X81 z20MkJ zOmWGY>3})9nOcC97%CT#H6shn0@4D`uA{HdT}lPgM)K@F7OMl-((y2?0VFuOA_KJb zeR-E+Z_!sjvPYFQ^yha68^E|uPEK>s#g!+=)uz9wsi@wt*E56`Ui&2*5gz^~!^y>E z_lI_tEK+20d|YT3IzBbEo|u8+`8qJjcfFoQ)Yp3{{c~O21Q~QHZltTBwO`D4Jm^6b zweSNoRuGO%OiaIk@azHQ5>O&jFJY$u9MMYu)M1Cc&g#gMrVg_388JLIHbyo)^&Srt z8qX@_&#G6x5xbCYl9G}MZ{MO-_q93!@ed54aDnCH4^tdBoGdMKt)dp@=H`xf29=9W zib0UD0)_BVBah!}&)Twl6wm*7Yp!!{+x>WdGXy&3FkaurT3THEy40+fzFn~N`B6W@ z!P#SdFd41<=PuzDL0y7)yYmbP0oGRe9JvB!)u|Wh1$r4MSU_OlE#$Sw1ab~#R$Rf^ z>FMn)1WFAccIT{sO6H|oLTRs;H|Q15J{i*ifpe^ZCa6ZMJ|GwXHv;+QyjpPlUXYLP zVd)4{GZ2LcbXg+gbGTD}nhHj;wgG>{!xe^5|^oMvngWn+7V4iEMe(!i(}lY=XQ zs7}P_rmX(g4Zl;_lh;0Le%&IyK*d-cPsVQUms1OSzL}Vq02uJAD}fW##)^+g!KLMt zm6hMWf6oC5QLqadFA2r3QIkaE8mya&Wd`=&LqI*9D zz%0;&liW8xgDS+vhWW;g8$fHdPfi+KkB|YxeY!1*+K#v!2P!{pUENMu8Xxr@`;(1k z!tE*4$y9@YN`nH(OrW2ywcn$suZ{~5t$ugd(a{m|dTRlCSe~)DureV^7jSwlQsyg= zABC__hI8iO-kPnmm0AG!K`jH~8m%!oIkzRg6~dRRybl~%^gh30Z8+Z2Eb`sppkOuV z0=B|ssnTes2d~` zfc049)a3;r2>?5YZi)a2)`5evGCQQHJIRyS9xG{ZHX~f`p`@NboIL4WU+^7>YxebJ zm$>&H$O%ws01l%^t5t(-P#vw;Aq{LNs&{pK5rBX}r2xb{AYE!9ca@${(H^^z_cQte zBC=_y>FK9Dyu2s3K^Lahl?=28ARA*T{7&!3WvhX<1=S|-huzTD7f@%T^>nW&O3&Bk z=~G(GLOqWHFBTdqs$czCvT~`0?tLNiLzd;?Kfww5@&%{?;Hra7P*{C5%OID2U0hte zwGDbd(6)?YXqBo5V;naip$DR=iHQQco4Fc!`i%6oYj=;PT)~xq7_9O``GVrJ-(~Wq zaFlNmTDu7KQj2)M1-$+F?F=TUr}Qbp!J1ps!JPeY(5;YZw}s_pMl(jh=!{eA82`^ZuSBdKc)vF3TvSbgo(s$2(%2DjWaFhxeQbho(62zQ{CfQXypL+bCO0^ zu?OV4HI%a@@nUjv z5`b|nM-*X^# z9C@sP>64N=$H&L5s@6?QN4Psr0J_3Ry>}M+<>T$v(K3U79$g3d?i;~Xf5-xRv*6+3 z!PF-wCc427krVPDHr<$^qM+CZ0%re*82H08Z_w?y!NEblrQ*@4sovGG%1#8jW7%-B zYL}3Zz`sY8448E&PqVYApr9bdb85#8U08#{1^hn$_P`JpP^qBRr{U{6P(RjfT53gp zAcyGb-(Fp4d4QJj-UnO7h)s}8A_u=>fab2>@+j9SC?vZiFm}6ksiI+gep<1tt}X?L z|3U|CEiH!1K)y9^LoF>LbW6!FyNw9g>DU$MYBcPDw2MX*FQK6g%_P9vWn-(LWHNJh zF2e`aL+YsF_Xl!h};e?NF_Hl5i%4`EjMb{UA;YWV__y*J)pk7dO*95H1 z&zl0IaaplmY6t)nf$q>)TQi}H*eZc9=kSiMe?V)3hi72sGhjtG0udFDD=z(24^f_u3PcozsB`G&|d_~|JT&%>Qo1%9;vj9EQ-dG>{SHhRY76yw$WO5w8{g z3UPRsZ(ZhOy6jK%Md=fJO)>k^kvQhD=)3a6g&LKfQ@Lw2GB;h^%D<0Bc=+|sVms$9 z?eOR1$}2DCZQs-#?oyV1+}Gca0lI-*y*pHRJViR?xB;|c(Ra9bc#L~fg*j7;lONte zYXjUB3|T`d%Ct~#4xo-7(#Kd>mB~jx&&;G7I=Sc%*;|`PdPF1oxB&op7$CYF)4TG~ z?>t3FLNG^1M^y|B8>Y1{jgE~GN5~8g$H13&`QcIk-@p1_#1<)QauO#}oq`vqDbf!< zmuI^ZBUe^Yp|pQh&drUNiU2!bgYj9G_)cPCVwpg7b+szSN^v;O?(XhKA7_D-B^UGr z`}_UD9=Rj<$Vf)RU#-YTSXZwb>c$_9=yGc$jrEx#l8p{S@0Wc`5Z6XiC* z^FU9iHW@^V?(`>{F&_0NPcqWeX}Q;c$>U&mu3mmFaSQa9vOvVy46jOE@COP9 zsjsf7nX^PD4MaNa>xZ;gLmHQNGjnpV`^`y}ayZSVed~d}s6@Oe4T>np$jI1|y8D)Q zwc$n#q!M;^>t(G+?wJg@iAhP1wX|?@1}~S6;HM~I7ii!;CcPDEY+0}k%pgYl?6zzq zEfJ1_mL1*e#+vo|FwkY?ql)~_Pgz6VW||r0_c{w)(q9Z>TPZjc*|ltAVuA^9<>8&H z42+EOc&CW!djJ#(xw*O75)?p$zk*!@^OMP9XMRQ4Hbqoh z|G+>1KpMW39(9_w9$g`7SvE>3AOJ_Ly&)b`*e}tqg=YC5C9tqBMzm;WWI`vjAQXJp zk3-vL)e50ZjTfk{FwAovxgH}TFE!C~kbB>dUoT+5C6)GP>a$@8O)Z0h&9Q7}q1{pZEz;_l{I- zuD&&ISoEE0D@@r$wMLCN7b3k2Q@S=OYa;Inn0lwX=OVL;<1f6gv8#s)3>}%ypIAMB zpK84b-$dA0ceNJAxGWE6FZu2cXrY=i*E3;jMA>t_T`H9 z5+MsVjx?Y5UR~-Jhd3`=BYrwosrr8gSbEK`)j2S^)Zx@@b~L%2J26kO)QF|$(r7zXly_u;Wy990uE^2+(a7L|k^&-?m&cZ*Tt2J+UBE%HR(O*WdJc4n zZ@%3+^8j6@hYt~%^qaW23;S)?Tco6%n&up{O^1$7dKBe*W|4&+okkMe+AzL(Cs> zUBBWipg-!lX?gU0cvzwcevz*lAFu`lJL>EVdcXN;BBHZv_ItA@D6moDe@p}9!_Oea zbyq%)2{gYX`KV-QiNwJ7J6FZ&UO!XHkrWrlz{SHe;z`1w(m$%Ls`7ZW+(v>Pq(7MA zuT1B%>*(yfC3h9lh}gbGgk!JrlELnJ1Qt)y6@e52@a9Rf`Emj+rX--^d-jy=Thndy zdNYqx1^LeXB*jI8k9ARxMRN(Uwq{F!ORN~e)cK>qPjuWC`Mk*q;O*F07})c?*@%GZ zYyoo-e;bWLCX1Ll3cG|!G7h%yE%N(pN^0s>(2fb0xedUu%apTBhnZAb9Ha~_QDa{p z(a%jj?C>+IyjS?Ad;vDU47mWYh+BRF`L>RduQ#N}Aev$&;oKvevcqmYK?XkZZ6NG8 z@}X#pHQRH#b(H&|%;Le9bsEMGA|b{2LE1ICLzVGHWW!WX&~av^HN`f zb~t**Gpp(!SCluh5yP9OLIZKZu41KmE*qV0PUB zp>C7@%h;k18J8P&HC6Mznj1MZb@9MMZ}&&%uPw|{q~*7)%pI%3zE0YZxg=^!NdeG z6Z&w;`Q`HN%S45jZ@V9w?<3A>BT>-%=Xt__jJeH#i(6qAyw*Z7*iqN8e+k=+oKoTz zsf$~4v7czZZl%QFBtg?UHiv;01ky4C!Nn!guDf1OqWslf|E7!{%bmLx2BVgn2h%GH z&$6nn&BF}>fhn307c=`;QVKK}WNwq@krmH%5}R9o`7jpIKcI?u1>M6$(r= zOBElHrkLp?(@bxu_8cC4(7|Epwjy>QjQmBzmli%nxH{j>Fj{-VkZl4|!zTsq-3^6e%Lt^s*SK?8PMk1CO(LxAFdkQNVytaj~)bc1qL4x95}i zk&pFQzAE!!_>(abJz$m|Hwnn^7Yl7kM;<%{T>O6C)V#v>Nm1jv>|z5-5TAGQrEt7n zz*jCaSG>@G7ZircZ0?1h^h3n%;tDOu_# z`aCuDfZ9>GNC2G+nS@{l=a~7@+~7XIfq2F`m1)(%g9kuMmC&5v3`E{snq78t1Wi{ovEEA z*sX|*hi;5o^@Ed-gMvsZ$RHr_=^JQ*WFylT>X1);4i|%P-k+nUL-=3FMVH81!eESu z;FVB$Q?~UsmBf472p_B8eZ7u95Yg1@OODM_gI}MSS-TXrxVw;7AdRA^e-`SptP+!D zJ2v444H*onTZSuttV?vKij5M$oP6j?is z7@v7;0v3?l7jB)||mc*z}6)g#E<}JY(Ul zcTCDNeReIK^K~wnDfhnP{BiCAdY`?Yze$Lg_~y|#GxMj@y~^A%A>N7Sad<3mH8#9! z9|vEovHgq@;<8-AdwBBUw3+59PS93i@4=*3?wo94wPkD5_NIy4muF+bv!~}+#{Nv{ z9Nwgy!#STfe>h%8X-tqGcA0%b9&el3?71|WN-kgF6?3R5t+1H%CJ8h2;V$yz3c*zH z+B1n|K`?_slNPtA9hERNLncbX3}OKG3wZ{DcZ+eAQ=Zw!8hJqm$i!wLEu> z%I^S=No4As%K{zoLrF>PxfwMjalM?`zlVa0or@A^B+K<6cA{tP%R%(lgXltE-iW{% zU48jhp_H1TLt2H@{O4xY>gG{KNDD1}%tOm^fR8vy-2f=JE9MJ%sFfqac&=hVzFxt4 zzOt8PlaTZ5O*%uLbQar@H(RYJOUa#EmOQu3D{otJ^~hg`DGCvU!STH8Si=JY`y#@{ zaDy?##lDzGlzpc3kG|^O*+ImUWaga;;P}l$lh}LQ*BJs{Jt>TmdU}KMS$PrR`%_=@ z0CAj6zMnidBw(-wp-rhfTqt)YiWs?#vZMU07(3inznl&# zCG88{jUlR?Tv=BT$MEYv=Q#GT->E3TL#=f6@|%kC4EHvIx0QCmJ8Lz$M=iY~H?s0H zv+Q;)@#AB=`CjF;QsQUkmy-q6xHf$Dto9zVdW~2W~ z%8sX0uP_CmF)8pTw0qj${t%*8x1AywTP~73>R^mnE8?TV(RaUfs3dw**u~{l&b4vg z=MsD~g*CKaXJ;R1_IaM{QnE0g$R522e!P3Q{K;k%(*mKiE0V7la=SAw`;vE_+p5Hf zAu6%Luq+pM-FEz~Kw2hKmN&}xjom2bY#J)xfcM!|NQjzJQ{Rg#=7yzMo0km)h)FNC zOiX<6Uc9SydZ>v*9kt}!0jAyx@BIjbd)GEQ~c@ zhjZ%!e(&J1!)jg4v$E?QEn28T*l*SQ@Gr}el0Jps;ru2qAdqfht5JvTlIA>+JP{A| z6vkqy#v!|g;S6B_PaTvMX=fb{NO)qG8VV3M8=VfEOHC;G@02b}2U@1(^yGv0&&vyG z9;O2)3XCa-b8CzVJp3fIwpJ`8QDHIIdloCNf8dx z{ZYP#d;QMcvNRX+fKslSfuW(GC9_oj#hKuHexJRz6@N^5lej{j#2ZHTT)DxfqA$$Y zWOe_wn2Qr<$LW4sGAqeDsjNQHT~a+|;Y;xbguPdIr~4Aj=$@8#A0I!L(Aw!>v_Din z;mOFM%1K-}q3q2Wy*d(Yf-_%t?df{VbX$ zkG7j?;QAcG$82$aM`IsA(c(%|2)ovq>O)R8b-MSfY1<+-IJV*N$t2(`d}SejGPlXg zPOYD>N#4pooLJu?NX^mD8mr8j8P=UySrz74XGBhku3BYp6xMwD8ReI}>1I~(Fa$H7 zpFFLZc^@gdvo}SB55sSO8^b1!+xOub63L+XX&scWh?N`Wo^}&qO zxxk=wJjZHuG*qN+rZF$SuqfVA*$^?OEac#b8hzsx)AicC(REO23?3?M^{r$UGVNo#XzxOX=%bJzm?k(<< zrPJE0nG#2>lrGXN+k@S*jt7o+;#q@L)nc|szt?Z!UZ?S5DsQc(r*133rv4^U=_&lH zB}~nwV|Q09Qhn7}_r?-%l!c+8llYA=qXS98rsL^A5@cS+Ef*H`b>#+>@RB2D0V2u8 zL~3`AtSSRTBzAg7k5ao>qP+HLGzIjk4)d3Yh}^MUYEPWF{>P^rcg{rvffMYURcbje zUC{DHPH1B^u{-(*9|KV)=E7}k$_eP!)|qs;q9WPq8pY``LhC)l50?>`nhwgVKl0{> zSazgd#ZGsN<+5*Oobnr_EUV6s$7&>5x!bF$$c* z^uZW`gpa$`F%Xp}TUPgmc3YbcaF23jyBB>9>ea=jNhx11afiofZRAHN(y;3M?iY7Jv2o-URp8_}28Q7jTe?lU&jU4d@cL;u4MeF6;CWtm^Mo62{-odoBmE>X? z3g4nFGQV0+6vclS&)n(Z^OcDlQ}k%0jN>Fjvd;u_au(EBT8fH2Jooa4FEpyhv9RE?{DFZtQa{Qj(XarS;IDXN7(T6jTPq5-$18 zrku4cEekr;Tt!yu$PUK7x~)e`)l|oZC_L<5A+=rD%U3M{;9Z}1o$LGXm)$@blU20} z3lfl}p{>~gNJB4X9o8yL@z{j<$63UIK(glNOS$+6=Qf~D@+q{El|?R}BywA@vN2&! zFcvlP^JqZ4QCqA({APl1w3$ZW#Y)(A4(#YD*jRokIa&|i1VX3?7KI(FTWM_4j5X9N zsA?FMT3uacWxM!Z(H@4`CyYoA9Ompz{k2ha0GPGrHV>8K`*`@x&GHARHQe4hm zpl59p)V>}(W!vjvZRjIBZkBchRQK9rWkt0CEp~O6kc&Ccg_Y8oj|GZe{()yr4D(wL z!7Z!W*k-Y_`e-}*G=f*l~b%IKM0p-!d;%{6PR^cn(AD8ouHf{-UABLUr0i_z4B2k^F9sNqEf4)uq4O_8oglN=EDDJna3q1kP zUba8?Z?mHbNP`sOet`mbrLRv;H0lIy^x(HbhgX zNq4(i;u_K2kF~7>2*;)c=P%K(9~rK!O7D~nvMo8!yNCb@I+s@@VQHt#h%|7&<$d?A z$I#;+V|ZiRy$GtjVyio8`FIX>)RXV&KaY;mQu9YwC?b$qb|;79P!=52K6d(k->tW8 zmo_nI_lu*9KD?**ndi+)Kj4{25oJ5PRop_hK#bros+Wyz) zNL}q{+W6R}Vwn6=O|-}4yFFJeUYmgBk2xyCjMuz=w*r}< zzQ22Pyn7k9-i-UWX?RRKrAcmsc0}VH@%2ri?Cc*0yG6G>n=V<*1+)c96N(BgdM*r& zRlu@!UKm6*SB?inKFNE}RjNiVO{G;ykb1-R+vq&FA^CPHEhRaOoiyO+^r*BWi^AaL ze39SHRH497$aLjc@%E?{aqZz!ct@uFloxAwLemsJ&~F*j0K7Yb8+Mtw{I+5|unWk< z#gz4L>eL_U10kS1M!z~4A)Umd_}R6@#+@?K;eKmdxPjZvy;P^3H)i1gR4(SEMK&Tt z;wKQmu?1H|NN$4WLq(hv*tL{5;Qs{pNeDb`7X-8 zN=h8)*ae-zt#I|`*@O!ipHDY}^Bt$k;h9cz9TvNazy*2@)a@}!kNg%a0j<^hkWerC zBK1L+L!MEd#W1qY@Ho>_XSH4G3f9U&j-Q0}$zhozs3g_%x=a*pl<6PGzHYq^xp0Hm zc>NNEf)&<+z4o=y(_O<1J}Qg3J;UP*kyIZ)Vx<2}aVt^X=?tToZ49DN@}jp?jqda9 zm(~^+YBofLexX`cKv?ZmFWZ~6NAn*{GH`R7iz1Tm7ZI+bPLSKJ`)?oSd8u-hKBaJOt@&z!Fom0IMX#N+*m<< zSjN$^DsyzW%c-NrXUzkBc=zd|J0c~yw7{jGLGQuhKuuu{0qEpiE6+Z0O6$ZW7fkcM zT1|yf^s|s4i{4Jf^8c&t^#w zpIk+hI%xUb%+oMJMEO4NFY>w8tps1O5Z;_7&o6bD_b++4P52dGX$85CRZ8Y^MALmiU(6|vqr z3gMTkvEeEtP1FY-gwf_y#^bSjVE}V2$jZSs*46dQFo+U~{XR2j5vG})8c^qzqi<$B z_Xz)qde?}XnSG)*F@#o6FJDK*dp6Qc*5bT-xqWo+=3UK3-_QhXnVST)$VKI>1I>mn({A-nTvlzQoVVV!=H%h^ z2(C3Q(VP-x^RHR`Hc-o720950W@?@sPk!S2>${p6Y}i&JOT3|@t3NXkyR^gkHI72B zaQu@s?J7r&(W^`hV#eKxI}!~vmn0>DZPupJo(y|UdJH}iPmv?W+$q#g62|jE^yK?+ zhhSPOi>7GM!{M{va-WnsUU}Yaif@+B&J55nGyKhIrot2yN=nI=f+cwCFil}r^5>Fkc}QyUBGM#cU#Im-1(0D72=G#-})4Oo>(Z#ODcD` z=3Mi->#c*0rG-EJ?bQ+=dm`gjo!$(WWugw^XDN{xt*!Zu6(${^Hl2Z;||z*50HdsrpWx*Xa5_83KNcf zUt$xyi;XDMzUV=2wko4QFEv~gyxHrg6uUS!cI$48>_y-8Qhb73Y8v>mQ{fd60}+2N z?YlTR+kjQeiYcA1Sw#lJ3naUqzAblY|ljAM7a}zJ7gkMGRAsDLqc3{xR=M^ zKlt*NJ&!`eZo$8cQB_WUKA0AtPIek-)tnkhaLK2P$drN23vKvLyW(OfO)N0HBK9T~ z5TKo_igOw+*HmFMo4Pq-obdRWDsy+`PgewfzH+4!gy{X-4zG&4xw)p^b-8;sp>Vjh zDkg?pto9}(oe*=r;ATLkSj_Sye{(!}$zfi9*h%fzPVbP#pIiF;<8g%2#R)-r#zwczsC-);dAK=Bt^(>h&1Uyqwyb?a!Q3jOp z{nroi(wAjr)T2ZfOVhg71Jy6g9K2Ew*rt!IrXwR8G)NMNPalieZ0`+H(R>@ zMRM4spucNL9v_mv;QY$0st4+y3BTB8)L^WXW9d=oHKNzoYE0xbeneOLHk%G!Cv3@< zURgn2S6X3D}!geH}BaBt%XldwpPW}u*2EUN5oo#R-xL!Zh(6%NB zVAKDR*dRA9JSv-l`MBeo`3F+2u463^6`g$OKo^$Bru*L|>`WD3Y7;@hxTW@QRlQ z_=p!~+ z7d@^-k8AN=Pm6V)`6=~0Hf@xT8|-;q*0^j=a?|Ppe~HTiA@y^OIWIv9rsifMEUc0a zC?bV7PhRPlk02RlS(-P;i~3WS-C~bJ3oV4h3z4%H%T2?#U(WAbkw53c_NOVIcBgYH zFe}#%@f3cOnaRIuS6})jn;&N*Zz!Sn`VS|E$ag9XK6+(3ciJKp3!Ud)U%5f_u`qSe zi4>98?u@@xr3aq6H)Fa8nyMtGY3mC*GfrK@BOi6Btt}IG?_zD$=iputP!=YOYzcb; zm#W-FLch;UU;2&ft$%mgP8Jqc;0f%rDz=u7@Omyh;7rH(3VQW5w$+zI`P}5HuX zQTog5ube;qqC+&ytec+DLOKJQuZL!7ii~(eL$FJkw;$a1$)2bIcSfT^9N2}BR0{r$ z`9nEjGDf}!b7du3`ZqIWX5Y1qf~JvqQC1Xtfu-cXE;Pm6xg>2m%Y&s^YNK4ya@@%BEN zmZb@4JQ#PffNlM3p;Wp2^)NIn<4wF-EXDt5@5;lW4Bzz#V`40oBzr?OLY9bR-%2D( zwk%n)MaaHoU$VA{>|4sdlNKtHN{mTJ8cVVzdnjW$&yddf^Y_R3<6PI7xp28=zWL^x z_j{K2eV+Ti->EO|A7Y{>-yP1*4ExmtQ!t0lhsE>jc^V7Srn6q!&@Za`c$nD1^mBP2 zQ;((Lrx=y4b$OgMRTqVV!_|;umTPV~jCV_2+bMJtvqa>USnUVAZMx;pvBz8Dp#j$} z7jNvtk1Qm(g;^gS8VrB;S+vJy?l-D)fX?SI7u@VZ0;-`)|-i&jH+Rdz)OW2RvdEe=v zs>hz)avIvqpI)qrK`Tdt)Z~tkbWk{-Yd9-fLC>hXvD8=Cr)F~0RD3Jc3jIZ3;DfJ2 z(W;!0L5ujiQaNG}GElWx-a{neaQcI%FEA)pqk3uLP=4MOz2NSuyzlxilqS&K$7>lG za_0MeJLwjEI8F?sp~>ng+xQak1Ip&%+O}UD3kVgI-Nb1PfoSL@!CK}5LEc`xapB!L z>wA-uj!Ipk3H*V!a{RDh-Die=Qov7K@9GW@&s;-?9ji-v*su^4+zh46-|`z5+=*}9 zd$OJIfED=o#=_QTh?@DsxARQHeTG$bd#LV>NPe?P57W6PF}zh;oZp_U3t{b+uZa`< zC23_c__;5ACB!z%uknWl1y#=nT`f%(@%q@=5%@Yq!f>R0U=>+fT54%w92!LNY3-*C zc6vHvzJi*IG3CY|jnn%l8;K3So9*&Uy6b0m=*i3?&_lBc@g@B=bbFJ7r0Tg$pyvBc z+N6E>>A4fsXU?AWF&B?|{|uJNW$_T?wCDS#r2N(v3;V?TYR!8&JwJ>$v!BHTy#ZHk z-dGzi$MJW1X=Dr7oQiL8C$&AsnW$8gR~6L~b?UF~V|%e&U(Dn3{aZA?_8K9y zrNv#^&CK6j?}>;=;6YD9SYu4!swON24eI;tI0c~7GPkjAraSY6S|{-^!AzSufm1s4 z-eUrCs#W-rqej|wS_Z$>;R`ALav2lZ5zdXm0m+^SP4@WQp^+q=1*eU~#o&+`Ix_`N z%i+)#VpNpK?_QjBCb3&juzs@CP+eaL&`&fp6+i!sC9`G7i7*J8#RbjW&|k}_u%uyw zj+~(Hy0?MasfE%D30EM%S}qbin-vT0)WDoYEE|#IE!2oOArXmsD>p{UUT7 zpdX2MA5CWEKdN=fQeT@Hno((|;$E&b(uv3}8FZuHeZP6wV&+Zko^}VWPQoWDAi9?W zM#*jjP&EciP24#PE0Zn{vdxXESXB+>Qk2%(B+Y&2)vGr$Hz;2a)xhNxr!G z?VLX?VJss$JBpT1BBffPF5z^R^JT;|+|@-~K=>`uR5O=nE`twKnW~L!+~R(nlaC$o zU3%#{a&O$I3V9=ye!foP1I+1_p*6$Y-t=rLc_{lx0-k2Jv;l&$Qf z;OX0_s81h@iEGaNH%@Y#JFFQJ?cZ@y$mTRz4UM6Ek&=VAJ?=ZhqCCW~b*A z!>%}r8!vv?yr-xCyfNiuSy%0*=D1IW3;GkNX!xyxPEVOB{mlFbYe|0Ki+q$z2}=~# z;-|zBia?%L5o8Ef<~mio=Rnv<^S%RaZr|(FC-8snm1zpRJ+~R55>}p3Mg(peI*ZbH z<~qLs>Zq3twr-4zgwuHq2!^498cbEaJXl&cF2XZzSer{tW=la3|AjK#~T zjO&+n^cYjNt^tm4CnqO%WiDPPH22l4^I7`cEOenNJ65s}+^=;E`TQ}*$m~}zT{%(1 zOzD&DhslLuY0f26S9(1(gA(z}RlB~|wZ{|u$4+8RtB|~7X_Pofc0xzhUR#~lHgPOxerz`ogM}p}(E{l(*i5{)3e%b#qxI*7^_oK96 zD;H7b5*72 zUR3(|$(Y4JQbXvjq^oBfQHCX-eb*Lk&m6i)*)dAP{rVgHVji<+A8S{rE2I@I+FPkc zDViJ#P5rUO#*W^dO;FWk<W=!(ZPac^1dSWCVureHfe(2+G%)je2eYgd9 z#V)SC-U3SJgkAUQ6^jAS`oZmsei*@>F+Ug88g?6Sa73J}Z|(Y(SH0Udb6{u zS$Lm67M7ExZ`9BMGrk7D=3B9=t!6y6HEnhMzYT4&i5D`JmOtj%wTf##;Yw#H0o>e~ z0bj;i$^O96#U2|^Kz&jP*E2h^AJ_atePnBW|F4)!J>o7s*AC@bt2G~8fSJY!KfmS5 z*)Mv=`-B?2$>dQc!#TT&7#j|x!|~^?1owQCdbYe}f}{Wi77^GLHNM}5N7q1VL^(uH zz{Ax0VA^E&t9rXV9|DM}KLls1U0kG?zLrxEAbTo4_BEP(Y}3V$8ZRpiAG7Iw`Z65e@8y^jAm*@6}rs(OT^ROy#+e#kHr6A@Tp4D`@IS1bq5V^?+HydE;(%E9oWLZ&o}BeU=L zs*O0L7Il9ey%hf5b3he;4ENpG$zSZYhH#iCz`DA6aM+i^(HP{{YiNhBk--{AgK~@L z5|>+4hZiV<1633$a`N&}y1FliJ;v&htGdlFGXOYMQ)^NazK_lq><@5i^k@ZIDxS&3 z)66UwW4&;E;SuyjJ*|@hFI9%|gpR<589$nXQ&Y~zC36R70&u?mR*1+OtHY>b1Bw|i zKoS-%d49uBU1_$FuJinPfV#dGq++AsG13ksH7Vq#kI7`Z)XNoVsTPHag%~!&;>&rd zmudISY8QY9diU&duvaR6E>j|C-7epv{K?`SSCOHY4zKlbo37Mqqac|VP4xo$jh+Mk zc2}~KAIN87UJw{IzSP(f$4}`D&b{pJp}7zs|4Ui9BQ8b(9R^skTlC1c*2gTGn^}1b&Q&Qy~Q_tgD=K&~<2SAP9()4ir zIcZ!#ZxG;MleB}NjDGIdN%86Nl1n+J9K*7iE& zmz0FPx;(gZ6UvIguti+mrVzC8MmGmPeJYI#4s@1^0n)R#ld_2kryvU*5ITV0)_PZI z>l%K^ZD+;yol$p8^7Y=h7}mMy{4rKc^qy-E0z#Fu6k7cb6KxpF1A5?0`P6d-DFhx4 z-JIG)+H(AR_syFsOHHT6-_ul{<}1>Cra*C#pQHUqXF&q~L-Vl9^M&@4h(If`Cp?ZM z{s>TFfa!5=i)gb8FZFK}+N#26)8ciQ!~XJhFqpmDui+!c4jAMHwT=Y0S%>hcM>bmk zQ4Q!MY8c)N!CH?(;Ds*xFl-bG88SXIb4se^gI~z2z;E9y3OfQ! zEf91-F~`QSb8^uxlRZ{#XwgShMh5L|Y~-(g=i|z5h6qtm0nj&E0wo`205}4RyF@+* z+c@FYcgcOGgAliWEB^qpLtB3p<4&G zX`0{sJ0`GSL1iW?sdTM`q$EoqG8!tnJnFm|9*%^IQNd6sGHL7ThQeUDd3wUt@(S@x zdOXX<+g9!vXNaH#LO&4SfIJ3g&%x%v*@21gVc+JKi;o0CWRtBphAUoKhgph)L04CI z5G0<)L8{PM5I8+Y1O#@Wkryc3(zPN;huYU*fawQE-+7>0ZXzVbz>(f&dhueIvsCfZ zbE>M;aC`+wS?MMduC)LM8WfB!2p^4!)i*Qa23pcBHet9@I9vsj&8EQ3-a1F&mf9Ac zlEU`35)F<3+&{y_p=BZ-=E)^`(R-oGw$uegI1m>yW8F&VjQ^-v<8_a^?D3yIQN^l- z_!F1%tkZy{4mUWz-Di4gO4Z3p7;_s1rup@nWMN?;@I2!=PkKC9sxc6>b#PDtj*^B3 zou3>xm11DikOFuU90Yy=gi?8P_OplfBpx-1vJ$%~3yYu0MNG0LFuma0Kiolp`%_S` z6Zlp@rUZix&%u_%DedhWLFy4~58B_j<|z+2Hm9m;4`6W%#21hu6nFSW(r$C2k?`%z zt9rGywQnt5fAv{#MjM-u;(twqwFABg!q(1Cotgkj06!)tb@cSYou$%Pm@-R&@rY(% z$a(yD-<+3>L`Xn!8OR~N8ET5CS~;`j_uQtKzw498I8TuD0AsRsaykX#UiRItKma@w z%YdjbKu0ieD)9lp9r&Ca(r&11Z4|J&eCp+DoZQ_d_|%nvIt=PvJgs7P-tmFj2>#0# zT10+vaVQUJPpyl?A$NEkq$DmV5+IO36w*cXja+|aQIYisAjvXJsI1&v$~%17)zxnA zEv>|o;XH7X&TiXy6%4rX9Vn0>T=^9iZwKc*M1#~@!#YQU~-1px5)!;#_Xx|8K?QI(^5_{(<(Ai z*@~aq^Hlu~RZ&-zHkK+AmsGRy_ALqst3Xl%;@)(Gt4=84+9|%>IwdwT5ly!XFBNq? zTw5TnA>tl-Woiwm=%^?wQ>JMht~PS)Zvl}pUbfiAA!h~Vjk!n2q}F@1y7B3B&j@i| zG9;b5VxQF;@?b@1r1BRH+Rl3dta9BwK=adlQnqzx-25!J$zsye`_V|gyYD`ISeSUP zX<3T5&BEJ)$?0B56Nn0ii;Zp;8;Y^lVb1QHU_v9Steb4u=mdo?)e24?JDfTqcN_FM zSYy?|O9e00qHn6~cy*ZxSi~UykXmj6jABqg!3qmUK-k2MK}dC$PKS_MkUVgQPcawI z!xlTLxs#hV48jsBT`S3G!N0cc!GB-mHc2JUH<;%;`g1!{{m!9Pw5rabH9tkBdD_7E zE)W?Au@x_TigVk6gAWI#ukc=n@TQ?a2;hWk5%9NlM9I~4Av9i=$ zvkK-@H$3*0S~0NKK@GeXtl2O=2Me(h$ixuV_OvH3Ml=jF{!U4pM%wc{{}`ITW&IRa^%9o3PAv_AyApmJwU z+KHYc+_F{w2SaKo$TAl@M_MdIfA-h2gCZnY2>cW{ z!i0{7f#dB8NcA1PuX(7>_^6=CQ}K(_Fd-5X3x>yY;)zTDLg?M{E3GVHe-VqW>Iqj+ zXI63}1fyCm26`AVT1D*;wM;B0&7E(L*_N*GM`5v8a6zQAc=_})vGZfmCBeiETtDZq z_#IUW=K8RyTKXgVF__&;FV`*k^j;#FD1yRTgI`bEYU4U&_b7bBpD1Wml)dP&xH0J^ zbNp=Qqm44XqR|C!;@W!W&KZy~edDrPXYKcl0I#($%$S)N8;hfrpAn`zovM0^+pIhP z{PB)x%C<}SGUf3?_Da2h;1`GEC3;00eoOkTBbCh-c#yzqdB)h(;V0+B(b7HX-X!Ap zQ)J`urSdtF~I^Pf*`8yz-UU%N5j za2zHQYmSN0%{e32dx5&` z{@afypZp(!JO&8z7=Txh?SMQ6r0Dn`*a6D4>((|Ffb^FC>x1nXKxVcasso~3ik2GlKw?x z?cUzgS$pU9=Fj<5pv}Jd(A}}U_w$jU?MT$Bt|$Th60E z_6l-D`5Q>d;gg&z{+a?g&ypt<TA1+!if{6iaY=S_jt7@r~DqRl#FZ3PF(EtDd literal 0 HcmV?d00001 diff --git a/calamares/calamares/branding/peppermint/show.qml b/calamares/calamares/branding/peppermint/show.qml new file mode 100644 index 00000000..c10e1243 --- /dev/null +++ b/calamares/calamares/branding/peppermint/show.qml @@ -0,0 +1,40 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * Copyright 2018-2019, Jonathan Carter + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, or (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +import QtQuick 2.0; +import calamares.slideshow 1.0; + +Presentation +{ + id: presentation + Timer { + interval: 20000 + running: true + repeat: true + onTriggered: presentation.goToNextSlide() + } + Slide { + Image { + id: background5 + source: "s5.png" + width: 2000; height: 2000 + fillMode: Image.PreserveAspectFit + anchors.centerIn: parent + } + } +} diff --git a/calamares/calamares/branding/peppermint/stylesheet.qss b/calamares/calamares/branding/peppermint/stylesheet.qss new file mode 100644 index 00000000..d33f5e1d --- /dev/null +++ b/calamares/calamares/branding/peppermint/stylesheet.qss @@ -0,0 +1,163 @@ +/*########Current Calamares Styles##########*/ +/* These "Q's" are master styles for overall colours */ +#mainApp {background-color: #C0C0C0; + font-family: Cantarell; + font-weight: bold; + color: #000000 + } + +/* Set the entire Font and Background color */ +QWidget { color: #000000 ; + background-color: #C0C0C0; + font-family: Cantarell; + font: 14px; } + +#globalStorageTab { background-color: #C0C0C0 } + +/* Set Drop Down Font and Background color */ +QComboBox { font: 14px ; + color: #000000 ; + background-color: #ffffff ; + padding: 2px ; + border-radius: 10px + } + +#languageWidget { font: 14px ; + color: #111111 ; + background-color: #ffffff ; + text-align: center ; + border-radius: 6px + } + +/* Set the inline Text box edit Font and Background color */ +QLineEdit { font: 14px; + color: #111111; + background-color: #ffffff; + border-color: #000000 + } + +/* Set List box Font and Background color */ +QListView { font: 14px; + color: #000000; + background-color: #ffffff; + alternate-background-color: #C0C0C0; + padding: 2px; + border-radius: 4px + } + +#layoutSelector {} + +/* Set the TreeView Font and Background color */ +QTreeView { color: #000000; + background-color: #ffffff; + border-radius: 14px + } + +/* Set buttons Font and Background color */ +QPushButton { font: 14px; + color: #000000; + background-color: #C0C0C0; + border-color: #000000; + border-width: 10px;} + +#view-button-back { font: 14px; + background-color: #C0C0C0 + } +#view-button-back:hover { font: 14px; + color: #000000; + background-color: #ffffff; + border-color: #000000 + } +#view-button-next { font: 14px; + background-color: #C0C0C0; + border-color: #000000 + } +#view-button-next:hover { font: 14px; + color: #000000; + background-color: #ffffff; + border-color: #000000 + } +#view-button-cancel { font: 14px; + background-color: #C0C0C0; + border-color: #000000 + } +#view-button-cancel:hover { font: 14px; + color: #000000; + background-color: #ffffff; + border-color: #000000; + } +#view-button-install { font: 14px; + color: #C0C0C0; + border-color: #000000 + } +#view-button-done { font: 14px; + color: #000000; + border-color: #000000 + } + +/* Set the color in the keyboard selection */ +#layoutSelector { selection-background-color: #F62817 } +#variantSelector { selection-background-color: #F62817 } + +/* Set the CheckBox size and Background color */ +QCheckBox { color: #000000; + background-color: #C0C0C0; + border-width: 2px; + border-color: #000000 + } + +m_encryptCheckBox { font: 14px; + color: #F62817; + background-color: #C0C0C0; + border-radius: 4px; + padding: 6px + } + +checkBoxDoAutoLogin { font: 14px; + color: #000000; + background-color: #C0C0C0; + padding: 4px + } + +restartCheckBox { font: 14px; + color: #000000; + background-color: #C0C0C0; + border-color: #000000; + border-radius: 8px; + height: 16px; + width: 100px; + padding: 4px + } + +#QCheckBox#restartCheckBox::indicator:checked { image: url(/usr/share/pixmaps/ckm.png) } + +/* Set the color when selected */ +QRadioButton { color: #000000; + background-color: #C0C0C0; + padding: 4px; + border-radius: 4px + } +QComboBoxPrivateContainer { background-color: #ffffff } +QComboBoxListView { background-color: #ffffff } +qt_scrollarea_hcontainer { background-color: #ffffff } +qt_scrollarea_vcontainer { background-color: #ffffff } +QRadioButton::indicator { width: 18px ; height: 18px } +QRadioButton::indicator::checked { image: url(/usr/share/pixmaps/peppermint.png) } +QRadioButton::indicator::checked:hover { image: url(/usr/share/pixmaps/peppermint-fm-20.png) } +QRadioButton::indicator::unchecked:hover { image: url(/usr/share/pixmaps/peppermint-inst.png) } + +/* Set the tip Font and Background color */ +QToolTip { font: 14px; + color: #000000; + background-color: #ffffff; + padding: 4px; + border-radius: 4px + } + +/* Set the Progress Bar alignment and load color */ +QProgressBar { text-align: center } +QProgressBar::chunk { background-color: #F62817 } + +#debugButton {font: } +#sidebarMenuApp{ background-color: #C0C0C0 } +#tabWidget { background-color: #C0C0C0 } diff --git a/calamares/calamares/branding/peppermint/welcome.png b/calamares/calamares/branding/peppermint/welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..db0d3abc3356fb573c78f3fb3053051aa44477cf GIT binary patch literal 14400 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 === +# +# Copyright 2014 - 2019, Philip Müller +# Copyright 2016, Artoo +# +# Calamares is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Calamares is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Calamares. If not, see . + +import libcalamares +import subprocess + +from shutil import copy2 +from distutils.dir_util import copy_tree +from os.path import join, exists +from libcalamares.utils import target_env_call +from libcalamares.utils import target_env_process_output +from libcalamares.utils import check_target_env_output + +def pretty_name(): + return ("Misc post-install configurations") + +status = ("Misc post-install configurations") + +def pretty_status_message(): + return status + +class ConfigController: + def __init__(self): + self.__root = libcalamares.globalstorage.value("rootMountPoint") + + @property + def root(self): + return self.__root + + def terminate(self, proc): + target_env_call(['killall', '-9', proc]) + + def copy_file(self, file): + if exists("/" + file): + copy2("/" + file, join(self.root, file)) + + def copy_folder(self, source, target): + if exists("/" + source): + copy_tree("/" + source, join(self.root, target)) + + def remove_pkg(self, pkg): + libcalamares.utils.target_env_process_output(['xbps-remove', '-Ry', pkg]) + + def umount(self, mp): + subprocess.call(["umount", "-l", join(self.root, mp)]) + + def mount(self, mp): + subprocess.call(["mount", "-B", "/" + mp, join(self.root, mp)]) + + def rmdir(self, dir): + subprocess.call(["rm", "-Rf", join(self.root, dir)]) + + def mkdir(self, dir): + subprocess.call(["mkdir", "-p", join(self.root, dir)]) + + def run(self): + status = ("Removing CLI installer") + if exists(join(self.root, "usr/sbin/void-installer")): + libcalamares.utils.target_env_process_output(["rm", "-fv", "usr/sbin/void-installer"]) + + if exists(join(self.root, "usr/sbin/pep-installer")): + libcalamares.utils.target_env_process_output(["rm", "-fv", "usr/sbin/pep-installer"]) + + status = ("Initializing package manager databases") + if libcalamares.globalstorage.value("hasInternet"): + libcalamares.utils.target_env_process_output(["xbps-install", "-Syy"]) + + # Remove calamares + status = ("Removing Calamares from target") + self.remove_pkg("calamares") + if exists(join(self.root, "usr/share/applications/calamares.desktop")): + target_env_call(["rm", "-fv", "usr/share/applications/calamares.desktop"]) + + # Remove Breeze if Plasma is not installed + if exists(join(self.root, "usr/bin/startplasma-x11")): + print("Plasma is installed, not removing Breeze") + else: + status = ("Removing Breeze") + self.remove_pkg("breeze") + + # If Plasma or LXQt are installed, remove Qt5ct + if exists(join(self.root, "usr/bin/startplasma-x11")): + status = ("Removing Qt5ct") + self.remove_pkg("qt5ct") + elif exists(join(self.root, "usr/bin/startlxqt")): + status = ("Removing Qt5ct") + self.remove_pkg("qt5ct") + + # Remove Emptty if LightDM is present + if exists(join(self.root, "etc/lightdm/lightdm.conf")): + if exists(join(self.root, "usr/bin/emptty")): + status = ("Removing Emptty") + libcalamares.utils.target_env_process_output(["rm", "-fv" , "etc/runit/runsvdir/default/emptty"]) + libcalamares.utils.target_env_process_output(["rm" , "-rfv", "etc/emptty"]) + self.remove_pkg("emptty") + + # Copy skel to root + status = ("Copying skel to root") + self.copy_folder('etc/skel', 'root') + + # Update grub.cfg + status = ("Updating GRUB") + if exists(join(self.root, "usr/bin/update-grub")): + libcalamares.utils.target_env_process_output(["update-grub"]) + + # Enable 'menu_auto_hide' when supported in grubenv + if exists(join(self.root, "usr/bin/grub-set-bootflag")): + target_env_call(["grub-editenv", "-", "set", "menu_auto_hide=1", "boot_success=1"]) + +# # Enable plymouth +# status = ("Enabling Plymouth on target") +# libcalamares.utils.target_env_process_output(["plymouth-set-default-theme", "-R", "simply"]) + + # Replace /etc/issue msg from live + if exists(join(self.root, "etc/issue.new")): + libcalamares.utils.target_env_process_output(["mv", "etc/issue.new", "etc/issue"]) + + # If doas installed on target, enable it + if exists(join(self.root, "usr/bin/doas")): + doasconf = "permit nopass :root ||\npermit persist :wheel" + with open(join(self.root, "etc/doas.conf"), 'w') as conf: + conf.write(doasconf) + + # Override default XFCE wallpaper + if exists(join(self.root, "usr/share/backgrounds/xfce/xfce-shapes.png")): + libcalamares.utils.target_env_process_output(["rm", "-fv", "usr/share/backgrounds/xfce/xfce-shapes.png"]) + libcalamares.utils.target_env_process_output(["ln", "-frsv", "usr/share/backgrounds/wallpaper4.png", "usr/share/backgrounds/xfce/xfce-shapes.png"]) + + # Mark current kernel as automatically installed (this allows to remove old LTS kernels as orphaned packages). + libcalamares.utils.target_env_process_output(["xbps-pkgdb", "-m", "auto", "linux6.1"]) + + # Remove linux-headers meta-package + status = ("Removing linux-headers from target") + libcalamares.utils.target_env_process_output(["xbps-remove", "-RFyv", "linux-headers"]) + ignorepkg = "ignorepkg=linux-headers" + self.mkdir("etc/xbps.d/") + with open(join(self.root, "etc/xbps.d/00-ignore.conf"), 'w') as conf: + conf.write(ignorepkg) + + # Reconfigure all target packages to ensure everything is ok + status = ("Reconfiguring all target packages") + libcalamares.utils.target_env_process_output(["xbps-reconfigure", "-fa"]) + +def run(): + """ Misc post-install configurations """ + + config = ConfigController() + + return config.run() diff --git a/calamares/modules/postcfg/module.desc b/calamares/modules/postcfg/module.desc new file mode 100644 index 00000000..77e9ca4d --- /dev/null +++ b/calamares/modules/postcfg/module.desc @@ -0,0 +1,6 @@ +# Syntax is YAML 1.2 +--- +type: "job" +name: "postcfg" +interface: "python" +script: "main.py" #assumed relative to the current directory diff --git a/keys/1e:23:91:e5:12:be:9b:dc:4c:c5:b8:af:cf:a7:a9:bb.plist b/keys/1e:23:91:e5:12:be:9b:dc:4c:c5:b8:af:cf:a7:a9:bb.plist new file mode 100644 index 00000000..84649d6f --- /dev/null +++ b/keys/1e:23:91:e5:12:be:9b:dc:4c:c5:b8:af:cf:a7:a9:bb.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQ0lqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FnOEFNSUlDQ2dLQ0FnRUF1T1ZrUjJPWVV5cW11NGMrWWVSOApMSnNSbzJXNzJ6MVBIMlZpb1FDR2hpdy9ZSW5PSFVSVzJLYjVRd3B2OXIxUTF1UmcvV2NYZU5PVGNObEw5NXlSCmRMbGJpK2dhMkVnOXJ6TjFtR2RLUVZzN0xEYmR3WFdZS2UvQ3BRZlpaTHBLS0tGRnlmbXJINDUrYzR0YitHNVIKdjdkNUZ2cTBhNmVMQ2g5VmdIZE9iQmNzSU55N1hJRUJwcllkYkpIaWVJdDNpVVpQb0p4ZTNNZ0gzTXFFV1J1RApOVlhEWHJGNDdvSFRnK0h3NHNZd3Q0aWl6T2NSNzNleFFmQ0FFL0ZWdU8zYWpPTTlWcVJ5N1VyNVFHMGxQZWRhCjBiU3c2WjJ1QmJOaFhVTDE4ZUk1L2ZHT3kxTjhwUVRRS0IvTHlIa1lFTy8zTGhndklCeGFmSlZXbU1IWTlJM1AKczdoSkM1TmhTb2FyazNibUlLRi9Rb3RXYnMvN0VrSFpjYTJyQk83TmpqYSt1ZU82eS9BbUVDeEhvY0pWb0loZwprbFN5OGROK1RlQytCRWt2OHdlbjRtUVdITFRnV2tob2xtSm01Y0Yya3BlYStNVVNhYnIrYzNHOExPY2pDQm8xCllTVkc0N1FxWExCY3EvaHg0SnJIRG05ODZGZU5CY3oyMWJFclh3M2JVT04xVjVOMGVlYXNOZmY4amNqb3lQczIKUzBrdjdTb1NicXZ3Qm0zMFlaMEI4NEdtai9telFoWUlVTTd3ZnJlWkZ1RGJFS2VPVDQ5WldPNUJGL01XWEF0RwpqWW1RWEFDZ1UxTmdIZEVzeXh2ODhoaUpRL3NwWnNXaytDbGFzL25wZFpBUDZyUjdzdjBYUGNRL3l1djBFTTlrCmdqZ2pMNmttTUtnVTNlc1k4RGJWSjlVQ0F3RUFBUT09Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQo= + public-key-size + 4096 + signature-by + Cereus Linux + + diff --git a/keys/ad:29:f8:e0:0d:69:2a:2a:64:bd:c1:a2:49:e2:39:0e.plist b/keys/ad:29:f8:e0:0d:69:2a:2a:64:bd:c1:a2:49:e2:39:0e.plist new file mode 100644 index 00000000..05bff008 --- /dev/null +++ b/keys/ad:29:f8:e0:0d:69:2a:2a:64:bd:c1:a2:49:e2:39:0e.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQm9qQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FZOEFNSUlCaWdLQ0FZRUE3MWFjaGRsOFdzckh6Y1RvZ3NheAp2Y3lWQ3F3TEFkVktwcmU0YjZDcXkwWUdaclVObFhMYTdQNW9neS9HbVhNclJWMHFhclVCU1BFZVkxM3Q5NGpyCks1dlpsYUlqZHMzZE1lS2dsUU9DWU9vSG5jeWFNSFBvcmM1L2srbFhCaUJvRFQ1cHg1YURrbTFIVTRnOU1JenIKUXBYck9qUTJBNXczQ3J6MUJxY0E0NVVVQWlIOGFFaTZSaUtnR2lBOWxjcXdkOTRna3dPKzJHN3dEWXRjcUN1cgo3ZVFJS1pMeXdQSmIxSHVGdHk3SVcwYmMxUFZHaElFTUJrVmUrU0pRL2N4NUNFdzNtblNpejVKVDdvRDF1UWozClVuVDU1RkUyZThrdDJkQWJZMmtyaVFodzVaVUplS1kyNC9yREZZbzFYOFZ2bG5rT0pnblNyRHUzb0d3aTd4NnUKaGM4R0Z4b0pMbTl4NU9BRTdWc2hrc2JOUkdHUThkUHE0amdBd3Y4SlpGZlUydWgreWdoV2pxTUlMR2I5SFVZbwpQSHdjSUk3VlhQZ0VmSS9BbC9pQUpsQnJqbTBRYnFmWDVyZUhwV3RoYzd3RVVaeWxkT3lwM1pLQ01qT2pXL0Z0Cm5UVjcwUXFLNlR0dHYrVm9vaHZaREt1akFyc0Jndk5NSXIvbUpUOExURHBSQWdNQkFBRT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg== + public-key-size + 4096 + signature-by + Peppermintos + + diff --git a/keys/f2:7b:1c:18:78:20:9b:bb:5c:10:32:ca:28:4c:c3:0c.plist b/keys/f2:7b:1c:18:78:20:9b:bb:5c:10:32:ca:28:4c:c3:0c.plist new file mode 100644 index 00000000..186daddb --- /dev/null +++ b/keys/f2:7b:1c:18:78:20:9b:bb:5c:10:32:ca:28:4c:c3:0c.plist @@ -0,0 +1,12 @@ + + + + + public-key + LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFybFE5ajZFWFgxMVAvSG9EazIrbAppZExDYXlrVTNmMEw1ajJXbkszMTlLUEMxdE9CRWREemtlWkZxZW1UR0psT0tNemdkY3p2aUg0WWVyMnYvRjZMCjdYZ2trek43bDA3UDVBb3dIYUlFVnBzMGljTUlkZW9kTmdLc0RtQzNjSE1RZ24xL2tKYUYvK01nN1pNVCtWSC8KSXloTDRBYU95RS83M0RaU1lUdGp0QXlvVUhZUWNPc2syTHJVOW10ZHByRXZsUHUzRVRGNGNEeWRZVHZmei9iYgpJUWpmSW5sZmlVd2hWMm95WnlHYkh1RlMrNi9EUXdETSt1MG5BQ2xtM2h6Uzdkc0pSV2xMMG0xRDN5SFdlc0hrCkhrbEZkamhFWllQKytkYVQ2RFJSbHl1dGFYbG1Qa3c0Y0twVVpwOXhUOUE5aURCNGZrTzR5SWtJRFRXdzlDc1YKbFFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg== + public-key-size + 2048 + signature-by + Cereus Linux + + diff --git a/mklive.sh b/mklive.sh index 79e8d218..193181e8 100755 --- a/mklive.sh +++ b/mklive.sh @@ -183,11 +183,21 @@ copy_pep_artwork() { cp artwork/* "$1"/usr/share/pep-artwork } -copy_pep_default-grub() { +copy_pep_default_grub() { mkdir -p "$1"/etc/default cp default-grub/* "$1"/etc/default } +copy_pep_calamares_modules() { + mkdir -p "$1"/usr/lib/calamares/modules + cp -r calamares/modules/* "$1"/usr/lib/calamares/modules +} + +copy_pep_calamares_branding() { + mkdir -p "$1"/etc/calamares + cp -r calamares/calamares/* "$1"/etc/calamares +} + copy_void_keys() { mkdir -p "$1"/var/db/xbps/keys cp keys/*.plist "$1"/var/db/xbps/keys @@ -428,7 +438,9 @@ while getopts "a:b:r:c:C:T:Kk:l:i:I:S:s:o:p:g:v:Vh" opt; do esac done shift $((OPTIND - 1)) -XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=https://repo-default.voidlinux.org/current --repository=https://repo-default.voidlinux.org/current/musl" +XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=https://repo-default.voidlinux.org/current \ +--repository=https://repo-default.voidlinux.org/current/musl \ +--repository=https://www.repo.peppermintos.org/pep-packages" # Configure dracut to use overlayfs for the writable overlay. BOOT_CMDLINE="$BOOT_CMDLINE rd.live.overlay.overlayfs=1 " @@ -514,7 +526,9 @@ copy_pep_PepProTools "$ROOTFS" #copy_pep_lightdm "$ROOTFS" copy_pep_aliases "$ROOTFS" copy_pep_artwork "$ROOTFS" -copy_pep_default-grub "$ROOTFS" +copy_pep_default_grub "$ROOTFS" +copy_pep_calamares_modules "$ROOTFS" +copy_pep_calamares_branding "$ROOTFS" # Get linux version for ISO # If linux version option specified use