R
zM#6SZjZ5$g3l%8ETB=qfaO%5@2W%7hMk@yT(YYN)^&9Z(vW)Yo3la;9$t&Xx;3-GN
zL^S|e90p>j&5JvIYpzMDAVXkE)C>ZmCBb?l+P&b1UifK&`-LDv;Y!KBmn8FII8RbN
zer{bkUKh)*Grn?27%z3?~ZA3k~qTm%y>I0D9;j?qB5qW@wJ(
zUo6A=LC^d{I`)pLW(ml0Ohej}OmI86H9sZ=oZL0lx#3l)4C{EM(N<#nT`=@q
zZEB~o8~5k=+%Qf$1(YE8voa}O+uK%Stn)o$<02xq#kujoQMFY{u9wX&DpuXg@^HYD
z`@1JeL3oSH%v6um-?1h
j9kX$~vtCfl)T4D}1Di9TjPjsWhEjF72x
z-fZ8ux**-q8y3xh`8v{W%^k9-muLXdSF}9}c6vFP92)x%u{fYEgaU)5!
zt(@mvbxO+qxinQvtWV|Ty!)QTv{M+r)yQzk;js-pC2MVIWwgQU3sqsvo%4tpyJwmp
zlj4(B7#W%#p)m^BY~}Lw+Q<={Om5k;A0rz7=02W8kcqidp|O!g{kh~TrVICKq|iH4
z9Ay(AH)(vz$(}l1VW}Oq$2xb!JTdW5uN-OoT#PYYkn-yDF)@Z&t7%bJP=G)M=Z)6W
z-E}JEwKY;jMjE>;Z90L2Pv1T88geUalQ2UMGG9h(c9TB=PPbOL_OudLDQ&{(G<%}VM@(MI)7V4k+=?RlCb!5XuBR}n#g&nS~
z7MNCxK%QYPjDl49RCmWtQa1j=f2sH9G~h!|7)aj4=R6@O{+wYRuj15V(bYYQ#X#?l
z>TCHNTj4BxI47#?opK-Ncb7fS8%$vD<9Jt|iEqrEF5i%n$j3efd36-5~~!
zyeDTz7#Kn=o$sfZ)Ao|+K{r2z{@0Fz2toe0>-MG6_?@+-!^5Dnzq+wFsvT
zVi&Mr&rs*WMrbtt-T6+`)9Z7+ALl751JMyA<7#o`kn+%H-K4uF(A0c>Uw5`r$BLdi
z4MlEf94$&lq@Ces?)-?FzT~7kS`rOo^a2FZik?c{Qa0+*qY@eokNMd0V>zY1(gKy<
zU{+RwVbQA}QqRKI{nI{PU4-cLXUTu&kSO^<$}i0*CelRgWm#f&?(jJWi;3YX6#rEI
z`!Q(cg{%eEYn4=ZEkc7h&ZkyR6K9hu-W|?qc9+pGSo;wn2$w^(D#5#0kWKA4J{#C<
zJ9gZ$=MweI5AnusSGDd8Fcwx%LCX45>?;RlB^7`WLMPPAf;RP%-1GHr1HH<;ZNw~)
z3d1OtWSlxfY@j$)VvdsxZ1Q-dHm`=}D;PVSyh{20qMX)aTu@C2;ltUJ6zTIjLrF*I
zog`{o{rByoV&aNg@NJt#-*uun)na>p+$+8!ep;t1S3EV&Sgo9z@H9|8JU71#$I!Cj
zThezR$HErxOt|_i?MB^FtiIGy1(^DcwmKX05DsPR;)`ga$y{u?TFS~f-Hx$ap#){i
zGD@slT$hBQyZ8rcSj7*gj#w87>X=(}#GlTPs5d=|^>9UNs+q&$K){c}D|hI$3t)31~jzf1Ho#5yVV`fFCO;(|4%
z)&tT=1s4fPQtUk9
ztTT489!FC?5RJaFW$rn5>26T+$iKC0!4{;iijjJKC#Z0R=q`X>nE`#H%tfNEXIWK7
zVO=#75T;7DQY?e+{svvpcQqMtA)g*n>Vu=2B*-5&xvCYHoIopJ;t@|sy)@e!K1(f7
z|0a6l?np&7d&24faZ}HHP>&p!T)hpFTbh8Ca$>p(dyu$*`OWpGiaviN0Zx~+&=iJhcRBX8=DSe$r7gl{nQ=D&)8J8
z1mclXKC2B@pncnji|5P6qk?II-O*cETswgT6=GPg4;)Olza`WvXDI9Q$)%Icm3omM
z&F#_qaL3g$U080K6P*G3;kfFn=_6#0a$73{ax_fEIA?t6Qc}2f>98^Q>V0+9&C6(?
z>p0lyn4dgYNLouq62B(kF}0S;)emzUb8TgZ5~%Pn8xN_e93uhfqk&SIV^2n8rmhJM
z9lD^1ld0+kQ#31pS=aB<245{&U4(bJEr40nS4}co_QRcu!hpcaXm@^edgDgPxR#k@
zjp#6Q`LEqLF(G)xxGe+i%%b>FiQ7Mt(2|LB*(s4s%qkTI$pZP_LsqQ8dk&zHC!_5>
zVKRycw74PqFBK7Ty6VLijE?JagJcRC8bhTbEnjfMiR$o8FtE|k^
z7!eyYRi4>wX3LNx+qE<}-K?y5^!lm9*(WxIgpSml%Mq4kb-izCpM3`Sg7iC142pfZ
z3WtcMI10D?pUhAN*BOhkD=1AdwW-(}DbPH??(d^nLQKjsMi~t;_v;wVE{&iigl5G)
zBRX#Q9_`iS{Dt-q5zIhFGx-BdB}YB`p*RtD?d@1^DDBOlt+$1?AlcH^yv#Sd2kTWN@wO6h}^i^VH$Q_G2C2mrCXl!5i=mobS){sxt{jx1>&D%
z)AEBZrya^em9U}?CPaKJWL4V6bbfSe+R?z6n2TOgK3d9V%bn)_gr-ew+GCLnRGcGR
z-~l(4K{yoco6sH2UvYqT42sh?PAicyg*vQf(HcDun{~ede=z&?yZXM45h`4@Oc+Xw
zIIghV&+VMG@&F^3^OlDB%Z-eWWG4M-Yzd(*t%h4hc1ySVcZ>!e(mnTMQPE1
zA$OB_;rQN>$t))yKe|ROuke81&vry&H&pSs
zIkn^&x9wP}qH^sLSB=uAe2@3EMC{E1bG3V3*(XwK*Btf|;YC;kMcvF{g%xbX5j~pO
zsn93+5(k-B--<=hxnCX5g|(DB=kGk=`xK_B=b1g`_mcibgat9h)d30(`ac-y8Z_}Ph>A1-9mQEck*&i(q
zu&B4|hhpR_)zgH*=*I*&93q!&=N1u=+Y(WtcP=3+O!4
zT+&?lLW-75w}-XwJ5lk9RpG9O$bcSD?yYb?iid!O7Bx?S1hF9`skMIaOuwAB<8
z{(8xddbOS#_)JQ*PnLebLT{j$0w<2#bx1ppCz{fAii^BRzLLVk6Wn@4kS)Z<$(tDF
z(9`pD;6->`V+~PF81M{jd26|JgXP{0A7@ka{?covy7bg+bgFG%{5`X2`JrakC&518*8{M^p*@j&`?eZ%O09V38cpJ$RV&L`Z*Z*l^%
zM;2wQrW^e+W{|KAxX=0-ma!;C#X#u;9~vrMk5TBist^B81iz0zw#P~6%X$qTh{wu15cAYD+KA^?D-
zjE@V{+5zSPw1U|poTOOx+PheQ2pcIDBVi4&hKmBs4x#Gj2GjG?)VKC?u!h*M$VlT$
z`iP?dkT4G@&ryy1_KK53h{zLNF;R6fs2?&5t5+HY9
zCl9C($jP1c7sMYJiZFL;H-w7^!r2M<3lnPP?CBxJ!h-4t{^cLiMML9X@J{Z3vVh`)
z&j;$l$IlDqLn8V9uHo*Xcf_X)b9eT1vxX^o!JIr;{|;ee{V#nN
zPdCTk;n-O7!5m>ol&Cw(D*u0&R8iB={+Grt3TzQbm)}|_vj0QU0|EaxS^weNub$uG
z{M`|h`oD1hL;A1Se+#3eG&IB&ovl58xu>Qm#q!I(xQ(+l!bbe}r7+Y+P>dgH0}>Jw
z5(Wu@`K>@!q5@VRQGQV&8xe?@pdgh0Z%}GZ?jBGlYuGO+6gV#eg#&>JKm=h>C`d#=
zSO|p!u>nCKa5xAK6@x(eMTEg3LSlb|&~ihdsuJq>cdvdy*`T0At%a>cew()fqoCl{
zRv;*pUlas~TU!f@@IxWiHdeo(Y^=qVo!yX7R5}qzs4a}o#mV+}$1lRg<+RnLSOj>%
z|8CKCgnGbH3Q{Z&5l)^y|L)L7AYpnQ&|hrwi$Da#L`5N@A|ep5h=}07g$!YC?x;%q
zg~<=*75oGDS6akT!JvqR{;E?Hz;6vyEaD1oFsO&Ko4&KNqZG?8mw>-Cf0s8<@{gpb
zBHU3DzP~E|&zjeRx&CqY#}IHt{O$q*f0wN|)cOx2?ocn7&2K{}y+69F?VwJ!Fx2?|
zv!MQJNBj@Tf?3;$fd!y2ke~n<3KFsrvjU01#RNbwei67894=rZ2K~R#-JRhc-cUD~
zoGmI+R5Yjp`W+3B<2RL@|LKdj9qboRU;#l8SPUc}q|YxPE{yt$aD(~9!C)4?KLh6b
zHLCxLSd#Dm;Y9Mcz~80;l-?h0sObeYTk-vCy84r|Uo`$Ne*VnG|DpvH^gl-aD}Mi>
z>mR!QD+c~6;eV>@AG-c42L3DIf2!;M8(sMSUhu%2P)|YLsO5~xbbc3VDTHmMuA=yR
zQ3N2T
zfkH-Xhx`sh#WEPlpg*hWK=DAyK6dU$#A9`WJEd##6HVmFKb*Wi9v}B9PY|~LV9ycw
zuzKz_>if~R;Pz5FlXRnv<2@>tQ5%H)aSPK=fS%eki>*hV?~!y62!i#&aL`
zts|4E#}7#1L_r@Zs^2`8yTEM(9Nvh3@Qu?s>^*BqnDoeBnAciv?r;qU;9|X8Gym|M
zoBzdnA-Se}1s5)w?2&V@rZ`jngPXpuKO2rE9zAplQ+jCrc*J?dfv$p>cjg*I_sU^QRp{pm;
zK%(LhFdEDUZ2zhqTgAW5ODlbWe;>+w`}S-vL^nXEJp_qY>KID1bF67DBFV0
zuSxT?lrz~b+ErY?KE@7q9N0WxF}xamrBk+`WIo?w(?~a5OZW*(MhhpTV^%p}QLz71
z=IP{k%+N4v!?n&;%L>A|I6hEzc>@iXs^rN5No;KVU>#qF!biQFWGPu<(weVf5PwFm
zLD*ILWFKlnHB7kzw~?e&(Zme+#wI1%dQ3h$27J)noaBXBsu=Np=lg?CUPe3_!I=3AIESZQx$#Yrf%UT1K+v2*`{gK
zE}vR%&ZAZ$;y^oKoYg!F6~-(}XGIs67sY*81-#91zitONCk+CizLWw$6SMq{=ju-96uPE!dSrGG!ys*qDYt^>$XRGc&*_u=VfUCl
z|C)konEFb(!SmI$CQzvZ%sjIC`fJS2?e-E-GGiluekLk^q>bg%JKN`gpR7_#k4o%p
zChnhH9*eDOk(su{$|7j)#`ssJEf^K_K{~j%tBBFx6x#zHInpWIPnY)U)BN!yPt7Yj
z0&QNf>YJXfARwe)+?S2OQU8;iUExN>V$F*a*b(~%*dUeKqc4e=ei;x{2)}YB2b0w!i
zFi8Nqo|9fK`-UB69Mw*TJ)f~Kjyrx3c!B4)&UMgv0yO#J5%D5)Z>8h&gCCK3Gqo}r
zr8hVg1v8P-jo4YyWWk%nUnVhj+ch!^uC2PjM&$8Zt*@Eh{>;`&JPWcM|IBH6in~>M
zH)7)SqpFT}9~QMY=%*IB=SgeS?SIBTjn)8%T>Q#{#45s9e$?^_qBTrFl{3KZVopfHGbp)o%URuy7o
zJaL%*q9>NX2mhg@tR|_i+UhJ!66{Ikr7jV~5~?j6QO10StTM_~b9WFDi22frcNX-#
z@*H^2Yw{6`))fg&doIMEHpAVDnZ%EplncFR$)a=Sl_~bcgfo=aaONzT?=29LPvx-WD-Lm7FVIbzRq0bsNx_E)!P;=R7+W>~N0e*L$pDQPO!$XkZ}
E9{>jzPyhe`
literal 0
HcmV?d00001
diff --git a/static/files/site.webmanifest b/static/files/site.webmanifest
new file mode 100644
index 00000000..e9d0bf7d
--- /dev/null
+++ b/static/files/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "netplan.io",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "https://assets.ubuntu.com/v1/9c69b268-COF%20android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "https://assets.ubuntu.com/v1/c55060fd-COF%20android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
\ No newline at end of file
diff --git a/templates/base_layout.html b/templates/base_layout.html
index 57cccf0b..006146ea 100644
--- a/templates/base_layout.html
+++ b/templates/base_layout.html
@@ -1,89 +1,109 @@
-
-
-
-
-
-
-
- {% block title %}Canonical Dqlite{% endblock %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {% if self.title() %}
-
-
- {% endif %}
-
- {% if self.meta_description() %}
-
-
- {% endif %}
-
-
-
-
-
-
-
-
-
- {% block body%}
- {% include "partial/_navigation.html" %}
-
-
- {% block content %}{% endblock content %}
-
-
- {% include "partial/_footer.html" %}
- {% endblock body %}
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if self.title() %}
+
+
+ {% endif %}
+ {% if self.meta_description() %}
+
+
+ {% endif %}
+
+
+
+
+
+
+ {% block body %}
+ {% include "partial/_navigation.html" %}
+
+ {% block content %}
+ {% endblock content %}
+
+ {% include "partial/_footer.html" %}
+ {% endblock body %}
+
+
+
-
- {% block page_scripts %}{% endblock page_scripts %}
-
-
+
+ {% block page_scripts %}
+ {% endblock page_scripts %}
+