From b5fca036cc2bfc224a3db4724c00543d98008cb5 Mon Sep 17 00:00:00 2001 From: Jon Cruz Date: Wed, 28 Jan 2015 17:24:04 -0800 Subject: [PATCH] doc: Switch from static image files to generated diagrams. Switches diagrams from using static PNG images to instead generate them via simple graphviz DOT markup files. Signed-off-by: Jon A. Cruz --- configure.ac | 13 +++++ doc/doxygen/Makefile.am | 15 ++++- doc/doxygen/dot/wayland-architecture.gv | 39 +++++++++++++ doc/doxygen/dot/x-architecture.gv | 54 ++++++++++++++++++ doc/publican/Makefile.am | 29 ++++++---- .../sources/images/wayland-architecture.png | Bin 29162 -> 0 bytes .../sources/images/x-architecture.png | Bin 37306 -> 0 bytes 7 files changed, 137 insertions(+), 13 deletions(-) create mode 100644 doc/doxygen/dot/wayland-architecture.gv create mode 100644 doc/doxygen/dot/x-architecture.gv delete mode 100644 doc/publican/sources/images/wayland-architecture.png delete mode 100644 doc/publican/sources/images/x-architecture.png diff --git a/configure.ac b/configure.ac index e749b00..b0a959a 100644 --- a/configure.ac +++ b/configure.ac @@ -27,6 +27,7 @@ AM_SILENT_RULES([yes]) # Check for programs AC_PROG_CC AC_PROG_CXX +AC_PROG_GREP # check if we have C++ compiler. This is hacky workaround, # for a reason why it is this way see @@ -135,6 +136,18 @@ if test "x$enable_documentation" = "xyes"; then AC_MSG_ERROR([Documentation build requested but xmlto not found. Install xmlto or disable the documentation using --disable-documentation]) fi + AC_PATH_PROG(DOT, dot) + if test "x$DOT" = "x"; then + AC_MSG_ERROR([Documentation build requested but graphviz's dot not found. Install graphviz or disable the documentation using --disable-documentation]) + fi + AC_MSG_CHECKING([for compatible dot version]) + dot_version=`$DOT -V 2>&1|$GREP -oP '(?<=version\W)@<:@0-9.@:>@*(?=\W(.*))'` + AS_VERSION_COMPARE([$dot_version], [2.26.0], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Graphviz dot $dot_version too old. Graphviz 2.26+ required for documentation build. Install required graphviz version or disable the documentation using --disable-documentation])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([yes])]) + AC_CONFIG_FILES([ doc/doxygen/wayland.doxygen ]) diff --git a/doc/doxygen/Makefile.am b/doc/doxygen/Makefile.am index 8c4618a..ea206b9 100644 --- a/doc/doxygen/Makefile.am +++ b/doc/doxygen/Makefile.am @@ -1,4 +1,6 @@ +.SUFFIXES = .gv .png + noinst_DATA = xml/Client/index.xml xml/Server/index.xml dist_noinst_DATA = wayland.doxygen.in @@ -22,15 +24,21 @@ scanned_src_files_man = \ $(top_srcdir)/src/wayland-client.c \ $(top_srcdir)/src/wayland-client.h +diagramsdir := dot +diagramssrc := $(wildcard $(diagramsdir)/*.gv) +diagrams := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.png)) + # find all man/man3/wl_foo.3 pages # for this to work, we need to create them before the man target (hence # all-local below) dist_man3_MANS = $(shell test -d man && find man/man3 -name "wl_*.3" -printf "man/man3/%P\n") # Listing various directories that might need to be created. -alldirs := xml/Client xml/Server man/man3 +alldirs := xml xml/Client xml/Server man/man3 -xml/%/index.xml: $(scanned_src_files_%) wayland.doxygen | xml/% +$(diagrams): $(diagramssrc) + +xml/%/index.xml: $(scanned_src_files_%) wayland.doxygen $(diagrams) | xml/% $(AM_V_GEN)(cat wayland.doxygen; \ echo "GENERATE_XML=YES"; \ echo "XML_OUTPUT=xml/$*"; \ @@ -45,6 +53,9 @@ man/man3/wl_display.3: $(scanned_src_files_man) wayland.doxygen | man/man3 echo "INPUT= $(scanned_src_files_man)"; \ ) | $(DOXYGEN) - +xml/%.png: $(diagramsdir)/%.gv | xml + $(AM_V_GEN)$(DOT) -Tpng -o$@ $< + # general rule to create one of the listed directories. $(alldirs): $(AM_V_GEN)$(MKDIR_P) $@ diff --git a/doc/doxygen/dot/wayland-architecture.gv b/doc/doxygen/dot/wayland-architecture.gv new file mode 100644 index 0000000..b86f4b5 --- /dev/null +++ b/doc/doxygen/dot/wayland-architecture.gv @@ -0,0 +1,39 @@ +digraph arch_wayland { + edge[ + fontname="DejaVu Sans"; + dir="both"; + arrowtail="dot"; + arrowsize=.5; + fontname="DejaVu Sans" + fontsize="18"; + ] + + node[ + shape="Mrecord"; + color=none; + fillcolor="#ffbc00"; + style="filled"; + fontname="DejaVu Sans" + fontsize="18"; + ] + + c1 [label="Wayland Client"; URL="#c1"] + c2 [label="Wayland Client"; URL="#c2"] + + comp [tooltip="Wayland Compositor" label="|{|Wayland\nCompositor|}|"; URL="#comp"] + + impl [tooltip="KMS evdev Kernel" label="|{{KMS|evdev}|Kernel}|"; URL="#impl"] + + + c1 -> comp [taillabel="③"; labeldistance=2.5; URL="#step_3"]; + c2 -> comp; + + comp -> c1 [label="②"; URL="#step_2"]; + comp -> c2; + + comp -> impl [xlabel = "④"; URL="#step_4"]; + comp -> impl [style = invis; label=" "]; + impl -> comp [xlabel = "①"; URL="#step_1"]; + + c1 -> c2 [style=invis]; + } diff --git a/doc/doxygen/dot/x-architecture.gv b/doc/doxygen/dot/x-architecture.gv new file mode 100644 index 0000000..85c98a3 --- /dev/null +++ b/doc/doxygen/dot/x-architecture.gv @@ -0,0 +1,54 @@ +digraph arch_x { + edge[ + fontname="DejaVu Sans"; + dir="both"; + arrowtail="dot"; + arrowsize=.5; + fontname="DejaVu Sans" + fontsize="18"; + ] + + node[ + shape="Mrecord"; + color=none; + fillcolor="#ffbc00"; + style="filled"; + fontname="DejaVu Sans" + fontsize="18"; + ] + + { + rank=same; + c1 [label="X Client"; URL="#c1"] + c3 [label="X Client"; URL="#c3"] + } + c2 [label="X Client"; URL="#c2"] + + { + rank=same; + xserver [tooltip="X Server" label="|{|X Server|}|"; URL="#xserver"] + comp [tooltip="Compositor" label="|{|Compositor|}|"; URL="#comp"] + } + + impl [tooltip="KMS evdev Kernel" label="|{{KMS|evdev}|Kernel}|"; URL="#impl"] + + c1 -> xserver [taillabel="③"; labeldistance=2; URL="#step_3"]; + c2 -> xserver; + c3 -> xserver; + + xserver -> c1 [taillabel="②"; labeldistance=2; URL="#step_2"]; + xserver -> c2; + xserver -> c3; + + xserver -> impl [taillabel = "⑥"; labeldistance=1.75; URL="#step_6"]; + xserver -> impl [style = invis; label=" "]; + impl -> xserver [taillabel = "①"; labeldistance=1.75; URL="#step_1"]; + + xserver -> comp [style=invis]; + xserver -> comp [taillabel="④"; labeldistance=1.75; labelangle=-45; URL="#step_4"]; + comp -> xserver [taillabel="⑤"; URL="#step_5"]; + comp -> xserver [style=invis] + + c1 -> c2 [style=invis]; + c3 -> c2 [style=invis]; + } diff --git a/doc/publican/Makefile.am b/doc/publican/Makefile.am index 332399d..a4d6d58 100644 --- a/doc/publican/Makefile.am +++ b/doc/publican/Makefile.am @@ -12,6 +12,9 @@ # $(builddir)/en-US # * run xmlto on $(builddir)/en-US, output to $(builddir)/Wayland/en-US +doxydir := $(top_builddir)/doc/doxygen +html_destdir := $(builddir)/Wayland/en-US/html + publican_sources = \ $(srcdir)/sources/Wayland.ent \ $(srcdir)/sources/Wayland.xml \ @@ -25,9 +28,7 @@ publican_sources = \ $(srcdir)/sources/Protocol.xml \ $(srcdir)/sources/Compositors.xml \ $(srcdir)/sources/images/icon.svg \ - $(srcdir)/sources/images/wayland-architecture.png \ - $(srcdir)/sources/images/wayland.png \ - $(srcdir)/sources/images/x-architecture.png + $(srcdir)/sources/images/wayland.png css_sources = \ $(srcdir)/sources/css/brand.css \ @@ -38,9 +39,11 @@ css_sources = \ img_sources = \ $(srcdir)/sources/images/icon.svg \ - $(srcdir)/sources/images/wayland-architecture.png \ - $(srcdir)/sources/images/wayland.png \ - $(srcdir)/sources/images/x-architecture.png + $(srcdir)/sources/images/wayland.png + +doxygen_img_sources := \ + $(doxydir)/xml/wayland-architecture.png \ + $(doxydir)/xml/x-architecture.png if HAVE_XMLTO if HAVE_XSLTPROC @@ -51,18 +54,15 @@ XMLTO_PARAM = \ --stringparam toc.section.depth=1 \ --stringparam html.stylesheet=css/default.css -doxydir := $(top_builddir)/doc/doxygen - -html_destdir = $(builddir)/Wayland/en-US/html - # Listing various directories that might need to be created. alldirs := $(builddir)/en-US $(builddir)/en-US/images $(html_destdir) $(html_destdir)/css $(html_destdir)/images html_css_targets = $(addprefix $(html_destdir)/css/,$(notdir $(css_sources))) html_img_targets = $(addprefix $(html_destdir)/images/,$(notdir $(img_sources))) +doxygen_img_targets := $(doxygen_img_sources:$(doxydir)/xml/%=$(html_destdir)/images/%) -$(builddir)/Wayland: $(publican_targets) $(html_css_targets) $(html_img_targets) | $(builddir)/en-US +$(builddir)/Wayland: $(publican_targets) $(html_css_targets) $(html_img_targets) $(doxygen_img_targets) | $(builddir)/en-US $(AM_V_GEN)$(XMLTO) $(XMLTO_PARAM) html $(builddir)/en-US/Wayland.xml -o $(html_destdir) @touch $@ @@ -72,6 +72,9 @@ $(html_destdir)/css/%: $(srcdir)/sources/css/% | $(html_destdir)/css $(html_destdir)/images/%: $(srcdir)/sources/images/% | $(html_destdir)/images $(AM_V_GEN)cp -f $< $@ +$(html_destdir)/images/%: $(doxydir)/xml/% | $(html_destdir)/images + $(AM_V_GEN)cp -f $< $@ + pubdir = $(docdir)/Wayland/en-US publican_targets = $(publican_sources:$(srcdir)/sources/%=$(builddir)/en-US/%) \ @@ -104,6 +107,10 @@ $(builddir)/en-US/%: $(srcdir)/sources/% $(publican_sources) | $(builddir)/en-US $(AM_V_GEN)cp -f $< $@ $(AM_V_at)chmod a+w $@ +$(builddir)/en-US/images/%: $(doxydir)/xml/% | $(builddir)/en-US/images + $(AM_V_GEN)cp -f $< $@ + $(AM_V_at)chmod a+w $@ + # general rule to create one of the listed directories. $(alldirs): $(AM_V_GEN)$(MKDIR_P) $@ diff --git a/doc/publican/sources/images/wayland-architecture.png b/doc/publican/sources/images/wayland-architecture.png deleted file mode 100644 index 4f92e0fb93825a68095b75d499bac00e968419e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29162 zcma%iWmJ@3)GrOfPy#Y^cZ1SMN(+c|BOu*f14DyIhe(&wrF6`Iq@$oHB{eii$H36< z0zBY}RwC~L z@DImVNyC5u_zNSjPXN9@@KQJR#lU#z_wR$b^qMIMcu3>-%*5}d=WD+}TOS9Ez`#I3 zXAf6jJ6kUYK~EpY`~z893=C!r4HZR$pn|=^z;_f=7xBwPT8F*HFQluOd09({$_R{9 znoGEO(S~H#v)2i@d&E?@R6K-66?IWqypNJ76+;et3HE#z&~9e3a2u77gLsho}9g>4D_qd;6Dt;chpO#|}YVs4_DU6s1S(`L17Os+MI zt144^1Ort@);fRXe-ed7$q+n^Hb=+SpS<-@s?$Mw)9DA;# z$48tyS57@|MLLuZR&z_gVlrXn4vsQLv!t6oIODXur}9(=rBhhki2l}q8!N1t(Ao>L zOU6U#G-is2=E;=pDGAXoankrSXHNzkh3!A$2*-g?_C3TRDyljYLds7tA-G?MzA#6# zB!bnuATmp;-~qO7v_lnP!bsq&9*`(FBSE`_Zzn_*cx9dG-s8|I`G^Kont`XytZbOt z&JuUCMg;>+5qAhfK7c_Q8XU;xAUfMo`N{q7da;qP$mwJ8Q5$t7QRrsH?#8kBAenT^ z)(k#d7@l%R1?I%yJc06^*Wh7X5Us5+C5GU+8=)}!gIHNbLTO;}(JW&;SOrX;Y@pJY z1c~FXqA0WKj?DV38wgwELrcPQ5f(b*8ZReJa16fZje-Qmj&GRcbUej5Vn(?ZRMldJ9u zWuM&Sk}t`5b7SW-xr`EV@i{B$@{`4N*1T{GqeSLlm z$%QP9ivj5};xwR@)h_g+C@9A>5+O6dpg6diy5W_|MQG-+@u(q6u@P}9LaO{W$-_Kf z0x|uCq8wTAXN(JCIaV)^?Y9V8Z+B-HH_JaM|= zpb^oPlTW@$%M|4$roDsYu*K_VzY#f68AGe?Z&`9W1R>8RZ8nu8!yb23Jul*OV7~Bq zd6(v6h!{~r>*tYvgd-(vmRSy6QzUPC%@`>lQJntB-cV%S=5e!_enZeh(aruh?E{O( zgY&e?{N9!~((Q2)uqgT5Hy`yr*pG{fQI9qo94{cgA7$;@D+vx}QIGWZ9)3OjV`#Je z{YQhy<1_wMv}0kI#}`icP4*FD^~YeNofi6-<8pyGE@u-+wFQAB9RAW10 zgAbx6Hso8-3l`sx#J(Q`8~p0>nw!((hYN0`epG(_sG^wAzXqp0{QMO<5c_czW}#VZ zK=1rHJPt?f`q3d?Fee-6x&4a?xh=Bo9hWe0h*)DU+yg)GS2NT+jc|4R1n zSzo)S;013QH3KhcIJ3O$hGu{Kg<`B|KjH%wUM*?N`wPgTINFvmONcnPfT|;TdXm_( z>EWY#av3v;nA3S&rYp2p61|WNon~(2a!yi$kQv)Oo#mhP8-8)O_??I`M?4?W!Vra? zUwqmfsaVeqUWdxGpC=W|i-mW!Fvww1R27`QXZwJWAE1;8nS4&7Qf?-^+E7rmx+VXm zVor4QZny-#^_n66sqUAn{iA-l(!}N6OnZyHpfsU~L!F~dn<@kGtx#<1N8b0SCqa8` zG`vR})u|4kzeDEOGjbcG9Va}qp~Ba@0)Mq;MCtEL4^ab$`vObB-0M%ScaKJVwlAW> zilBp@zjQhvRS6mLRA1rqfnViNAD4-I+-7i!u0g80h`T$A@|EMhqiz4Cna#$tB79LI zxq!Hf!#{?}Xez%lPKYOjV=4bWs7UPR&t{I_wRrxuc!JbUJ%`&O+!pFNo_;PIjAlO{ zUrv(bGsDoi@+5q!4i_eP=ak3SLDD^5u1M3~G2dtCuh~(26A$*K1NU=PAGSei+bNTenAswbPMM}+s|N=X#h;zer7tl!_L&-PL4^gT-v`1?h!x71Mi68cV($SR-v zm357zMNkM*`U=LrwDjv1dG@nELZ+K&P%Nh@v=chPok&u50XDtMUV} zQ*&fu5?U%MJC8#N>E|r=$>yAu+x(%9$GU(_h}pSM|M0boQQUJo-#fcD7lK~tf#3^` z+%ZP%iRIOBm@C~ep|M-c1SEzITg5VTi%!aF=E)fcX|xdH;JM^yPr)^Z{X6{fj|l2c zhiJI}4XQD@@Ukz$%3RXRM0PrNc#9Giul7~0>oaz8gaL%C;M!|^%?k~ur86}0nl)_k&p`V`NaKU`_y%W7@R8^O>QTXrsu30X^up!cJxKxbQ}=mPzz=^| zP$pmn-o>w@T&M=G!@@Ie7Rw+<4IQO653{GX`z#GdeqryN)8CLve?GhO4Rp) zmwxaMu_ocAJq?c5py%f^Ta8)XVwLtSrA^CRChfcn-p=ZqTQ(zBQbvtr<`a$^oIw#S zvJsBz$zI~)##*KReTcLvMJ-KneIbCFAvEE)wt%au`6_MUBn$wMK zzOp`g1ZA^DHqfAak%1iXCa4{qzpK3*x(>Z136|UKnAsgooxvBK6Gjt*Pouvn zZH+L-OB-Utth!?8Q(a974ic8XKKH3Jl?p2KkN%xUoh>J$D83(apAy#>!=axO+%;b- zu6#_SLhz)hd}~D}?(%RLj>75A9XC0Ferd>ac$HP2Y30v>-!bTPfwI;%Fv7Ymhz z*)3!Sv>{PoMLy!Gb+L0%4LNVk23<*tP} zKWZT4SE7KN2r_tQeli;c@7yULEd@dmpnNjOt?otUbx)}L!r7}M+zsXn5A@d2^vp^- z{*QBZ$>yA7m~?28-81(I(wQFN2w~9JKfw%K@Z40|F=}(o_*9_p6`kH|6a=R^czaH`9FH9YPFX0Ps1M*Hn|-~uV~ zj1zjX6qS4}^$G`?E86oILmHHWih6!ErcYX_LQrcMsmqwfz!)r2!qp@FqR3c~%X{kt zk=QCbztKl|9BNyT%+)Z5Wge(ih^j@fI<(USrE8NsM{6jF8a8rksXS`Pa1gO$f-dQX ztVOSOSpsKW;sC$y`>QEl`(dY-eLT;C`*73Wqc&6NzkH5>Pq!~$Wg|0EC zdv^jJ=UJ_T_E|xugGk_n*wF6yS3>!)-;qTRxsh*$R_2%2{{$RTo9oo!KHpVbZfHRa zM&z`<tSDaJXgeR=Wz!WuVbb&S2`O++FX>;pVg}-1#^v2y)a&@eCyk%jvdn zM&46%yy;(NtJv*xYSm_Eki#?NTMthKjlG@x<$WCZIKXM*s@<#XP;i;Khz;ICx`CkQ zxo4oVJ)*8LIa+=}ex!#Dia{(z`@pc>1>WF|wAOv+qf^X!FX<(+b5+~(hGz9Si;ZK? zTLS#b0aBT}QFZc(gZ%~ar)l1`K?KFW0zSu*+Lv(~4dAc7;LJNx%zzZ@r$4qK;z{%H zyl0sW$LK@T42N<)VBDs#&IjRUFkkC}5>;uNXw)Y`piRWvln%KXrWI=cT^TSmiopB;7<;&*rpWR5ar<0D2r0>Tv- zG{@p_GU?dJ!$>>e5@iDz+m4wbGA+XNh6@a_HTQ)6v~_yyzSMT|xF6na?crcuHc%WE zJh#G?T4IT&>@6F_E)qlPHwaIez#fZq=-;i2>{x4N1Zv@vOcQ3>gLikqYvH=Z_~K8R zXpdT#6(exxx>R;vwp^w8OUGQCzMl~v9?!Zga`e41!+bhXTEDk!{Su|y<)Ka!fF+O#EvBEU@SGq(&Rs7n!4~I5^a<_MHC8upKBSA1Oi=ATIAx21QOc1gYBH=}@SAyqp z!4y?nBrx97O2t;Q)e(n{iIv+Ra(`9*m7!u6;C6tFQ7Ss`!)`>R7F158ol|oGCGIwl zV#*Itc?AEE7Bx-$36^7I(lS7!pYl{Dy^mPiGz zv?y&NucoMK12*zx(GOBK7YRrdrIAD@X8VE;23gmAmCPG7xB zf3tA+-WZJ`zW<{kRzaw)Cvk`vx2OM1AY8~kOLQ~D50(%M zO+c0B9dN*;ayTrlm7%XijwHRXcCH*Knk#L{uVy4HU6B+>3Q>dL5}8%_P5kI z!~bj*g&sU9shYmJP~SDstjAmWX(mtI3bb+ulQ3R`fZM!2VGr6g#}G{OW?|1~YWP$Pobe7z2%=!PF8y}PQ5bwzY(NHc zDJq{|b(EC{A`2p`)K8tk6B9P-X8MXZE*SXk^C@9=jrf%YFD72DUDALwGqyj--W7ECJEufY_i>tF~Xsw!#qC~JLc>1v5h z{)OMBP5-Y)W!Be9>FEA6{Ay+hek8%mYRMwJ9K1h-L}XFP#rf*iN(_ECNXI3*&9qwiay$*OUIhbc#vl^T6N4@^q?~ z;Hm6l-oZJ*j#G63=p=;%~kNEYN$Y;MO$RL%Fk17p9>rv9F z3U`%R?@L-Aw0j7z=NfFEGb*)pbUy!&5XcMnC~Da}5X--HI{Wi<4eGD~ha@ZB)}P-m_4!^o5nT-pwDjPAOo+6N>xONcAh{i4Jr_ z_He!iKjMr>ys(!QB6}05m9BE^$vm*A%;Vo{-AOxIkbA&Do~__QHb^P^ho5LX0>aY;1Mm7)P_;i_7`Cu z)d9gboIfu05~_b1`qREvWT2mYIW@;A*fMf3+ttm|r-<~GOMR2ZA)ODkhN@|kVMq5f z=xf~60ES_3;Yd@~;7eJJbKpSfPch#0c)Ejwj279L9 zjl{{_eF6r(;LIK*T{yhD!=}eK>#%49;(4OgtdM;2^qPF*{+p84r=YsQf8yX*5rdv< z3&$~0K6@SZpW>@(CKShWbTsjEV7w7tbrfc2P`zPw6!9w4uW_RMD-O&Jh?ytPkHHrH z_QqiH7W=A11d0|E$DP5ud!rx=TU9?>rxKj*rq@Vb!ZO)@)%%l8xe~K5vIwp*%DDPh zJ*dIpO7Sr}({-Aq?k=EBoW`C|rJ07aj_Qicv@{lw2jGkhy*KxZSIan_?$ zP%i==D6QN2IeL0Q3>Ojot&LPhzMO0&sVvL7%x-rNm47HDWwr)MN*lx@djR+G5=id{_=!Tnn<8y+n2>N^4Q42b*+vy*K^Hje7eabD?b z-nh*##j3oL5+j__#nmy=G)z=lEKM)grgxaC@aXvD z&i?goV#jB9VRn4#jM6Tth>99?;cHVPatS^ZJ4vzDO;_Iqxha-^Gz%42GmaOhnh!Dr zeOaz|VX!K)lU`cG8XQK9r+n~Pb-L$61zG?*0Bir>k0l>~ogu3BT_d!AG;brk{+&22 zYSnSR4G+R1y$11x_71k}=9g-+5lI7YJNdCHXX{EGp9;rw2SJKJ9`a=K4W9VyN^bz^ zeaouQXz&O|o8#~#L22q4Lq3A>pft%ZLrP z`fp8*<4^9_WWvSV1X%+_Um=MI2PYszoZ+K2)9GjjasEwh zK#e|cN6)2MAA}ma_3aFe?wU1|FI|%q(G!#Qksj*iOt>$X!Z(1qAyk-rp^n^sZ^!KyN;(zGkr9as2l!q6S9tP8Ld_;i28-E&soDT z3ZGZSzB?J@mOO-z_f2w?n45Qel;{bNS%5tF>`4LyhS6JIn+&Bhp{g&pe-rZNBo^&o z+AfL*ZP9_BJhA>rrR6Z;Nz(HBBZKhbM%PD-d1xOzQ*egCUz0LA;JM8-D|xFc_TW(A z&Y00;!-H?PTtQN5l!em7%`4vDC|%62w(LkAoatXlAMLyT{Ilq1t}QcDYoN=mqGpWOLL?p+ z=GI^S)K3lxn(`m+%7&@*Imrve#63aY{6e05Dt(4+(u*6{!;vWuJ%R2^F}u4jJ(!uZ zNhL4c^QqCkbDPI*2T@=W4{ke)a!PpO8Z;76x5wj6*{ph|Eu(5fHj1bO*)LjD zp9SB(ceGu! z5x2zQlI0H)JWJj!KBh+dU5`tu`@6uMw&x6g!yA=o zI{wmMZbe+sN%FxDb{IlePK(zs>shW&onu#;`@GgJ_1ay|FCb%Jlk5^(Su3fTuB#9 zn^?)b=eei0gQR(XbL|R>c*iC8AahIU0>85U@-W83Q!^C6U5;4GY-8Q!{agw>$W`ts zCc`KoFdGqg(i0J&Mc!<)aWiu5aUkf=2RkrnB@{j<=YFZ5<5V~M?)Da1r0aa63+;|& z(n%N6MBsV7PH?VCqK+N8-lTkblyIdGe79-bzdI^T!nCkU^^}Yy)HyPUN#=aO^WI+G zaodsA;QQ_u^XT3I{2ygcdt}&~+ViN*1A-@9_2lli)CTyh;qtocNM%G^geCp0Z3yI6E(`!W-zLzY7+Jyh0jcW+Q?Rx)&65VNOmG&$RgkM(0ox!Nhnw`VRA`|izFx8GF4Ehqa=({s z6SUx1D>e&d3@VoSghWJH7<)unmzVwCpZ2fp0l;DJua-LNbZ?kb!t#vzyINNaYVjIs z)vW)m1>hY@QCNfASz5*G)K|K0XXVq__mCp1Q&)bHZUo1QPClqgDv!=lj`xBB=aS`lgaDbrJZR$A3SPbKjGMly(*G+~v72wOioe<_wTizq zmXZRwJS;dC{Akg1+_#+Dzs5AC@G2tz2U+W672F zf}jAbl-p}kU`L)OBEMo@f|r&$rE|H;RuZfKHw#eACqV4~wP2dRo#S<)_1mP$Ti>rz zK;Cib;*0F%M&CL=&HXX;)6wqQE$y)6d>#rWrZAz!-!Ew$n7Bz}fz0M{=N+`$;@;!i zrC9}~5bvii%$9dHb#o7`ZWrYewP5#)yFXR)^@n5J?d62~jMoo@?R*MjP4lP*?MKP`E#Q|4ty7p#Tr7}sg1HLQM%Z2_@M z(9S@8b&qwzk`rvo*n~odzmG-~mLj!dl8N>2|I{BLGLHT-`c?bQwdQQ|mwuzYr?l_) zfjI4&z63ilSU;{t&e`>Zdm>xo`-NAxHt5RQ*Kutqy`lk>38gHHJAAj;^uWhYWt?dX zwL;-jw2KTfUUS?mSfA}>itC|yZ`p3iKBA_Y6qzl!QmFBbG)0antoXE-Y3qyHB^L4J1?l$v?$_U#;;fCsDXy8fBO_0Q zV_2x`rEJ&kx@c`yhNrB((9Zi&^j?~ksP+op6W*^nrKWF?SXxCg@-7m7nSue#$>`uq zOf+c+89A>p5UMcH?8RTG&I&PgEhNR4GmhGm^-mq=LM&;edDGsHk;Gq34eg@u1wA8C z;lwpx61r{S2vNoj8P2H^>2F{`8K#qmu+IZ6uB&4|Pc9;b!_QfI2hD-RnYJ5R$Ky=K zdKjw~Mc8=I1HR{8kkxMMycE0=c+Z(BB=#sq2!at1kw+F1RKZVv>60QG#$yV?v*ujg z#ZwlfhW7e*1bv2LEgID#EfG794i^P3PPSkUBO~jbCn49HibFzLJ6<{I)O!4gD_VHl zewANDw!VKl_e8sM{UZ4+2qoo}$LEi`;`D)^50gfV@N?@o+ZEo%t(hLkx#3-(+Y(1n zKa8%_h+~JbIHb%k|ISJvU6ytV#K=sgBFuQDz$vxamwx@^rp*9v)%*#FKHg*eRj}J4 zc0FB^9M@D%BBi5{cl@I{E~jaaY*dIL0^ho^-LEjn7gal!s?5B3hYb_V_St_wO5LU@ zwKLv0&sp?*jUccXs8o0}F0r4*!O8VIOM1Rwn?dZ9qrL64E0@{*=CU#93^9#}QU9*_ z;|fQz*LmEAh)-fH$mhFe|IAhFNknsaV_o%vuimh)-@FqNPD;c+=%iTOmT$ z0?l2iis^{){PT2rs5^}drI+O(ik&7tMg4P{KsPcvbWlqSe9~_wwvt{b1pNXxeBoxt z{e$45r*%yE-J3NFEd{?Qfdyf+X9^?t8nf=w>{lz9BlA~fbB6IxorKaJrHth}eXS_#j zS}#9f6M`$Vu3qv`87)~%EG_+nx8^uJJG}$pc6EK;aPJ}V2ZO2yB-L9O82`nKiWA~z z^jzf>TyGnuLt3UolBchD>ivD~W%mUte-mj|TVR>uJ3Q7S@+vo{P4*;PNeSB%vYgrzEJnQd=ESKsmUc!>rq7)n+Nt)4% zVTSp(dt3-d7X=e-5aV`b7GVpXoV6@LOef1%GG2TVt(0W1Q&;fnIN-YE(%4tG$XlD? z%o9PTxRt-{Rfg^r@NTKGYP0ocu$<~InC+sBc`LhOf9`Q3MG-AnZYzOrMc~rRC)!mz zArD@CV$tlmee!vm)L52hgs(WM{aIXC3m*D@<4A)A0;hue)VF5h*YbNkJ)%D17REr+ zS3L-;$dblaaP6g=)4C1nj3sNGO(Q$wvYbGLv#bp1@)$mJBK+oM^~>yV#_XQF1Z^~NoTh8~HYj#w z4;zf@*T!G#0p5y>8R-j+Jk8cmKQvUI;Um+Ps@8WHj^SGK7fx1(s$ufaa4l*bF(yf}v`NM;f)vsk@0xEOb-k5GN> zT5S9^7TvZZjlGS-Za7e3a)J_Sa(jEDdc|ce>qThQdg8E25BKA0K1D;~2U?t7 zbU;Q$!ILu@ZHR?s?~E$TlBRi=U~e0$;wrb?II39k3PRWBK2JXB6d10U)AJdp!M{@6 z`*@z!(j}TH^;(-amUal;I&a%TJjJJ({6&80TVCWyn(!XZIGZJms!l;PVVQ(kea}Wu zv+%(UfdL-llo>uD<)5UZ-jWw^jU0zU^36+@(pD?H9wOQLEZzgn%AF93ADA6Ak57mU0428O%1A4naWX>J~aW28Tm~kVVXft4m}H=Y_?bL^=tTqiMjDX z(`NYQVP1qy%mu^l^F?p=I6GMiPEW@u6mV_QT%UZ{1rn0BqeuO}-i@WXSuv@XF>_(K zavRhlzstL-gGHea6o@8K^%Yx%Y%;)^y52IiqzIXZ&{i4<*^9SHdX-OKO(|@Jo@2CQ ze^9X*u7&&OIBaz97BGFDo=s4`X# z%W5x^$wuH;`g)Xmk?#m*=;!J7nE5^jQ;zgK524w%TZ;} zyR)HrFP*8~Ly4s%qXrjbRl3HLE6OU!phJ$Es16EKcj*S zZS72_KaCEmVNa;2|JKu7#OT3(JY{xG)ZLHEkEp?P!}>GdcB=&$H`J6OhrQWoCG1b@ zU=M4biC2WbV8)g#YxQ`zhY8Ztl*8%4IZHM`%l1J1Xe>2R8GJgw-{;!>FsfO#|4qR4 z1Z`A8ptmIF3u@+c9@KR$OkAHTB>iTrNvyB=hUd5~1WwXm|akH{1r$|+1eTb}j4 zJj;yOP5HIhrXtbG^J5huC|jHuw8Pm5`J>l^8D}y`&>7F|f}^ zyp_gVzekJtOqJ}MJVO)xYY!Tx%3AH)-anrnE?Eq={>} z?N0FKZ_LaF?wmwD6u2|mB|Om(fOxO+u?xNnB}(_*l0ya}-Hp$0Y3T>fZ)C-K?rjH! zszp|Fb=~Hlro{C3{cNeL^7J_g`-z9~5mQ2~yO)yn;RLCDeI7ZCeK^57C=7!h|7xU6 zq#mWD;#K@oGml0!uu5@#)tGfcKQ3k{!5R$sV2qs%2#68ty$0L6_6SI(y zO^f5RK{QgxVFXR?*T(EHPySw5tNQP)>n#0`!!?Uos>JMzitLzHZ_yl5{}Kw4UY!o6 zZ(q%Bn#1{RD)ejALGuFK2Ka4%+88uca zHUFr^uf78XYrF;MHM`4D%!P(#JD3W*ngaYY2WuER2(j5yDZF$bpZSjhYcc#oI5$^_DXax{Ww%(sk{E34!Wt1 z16FqGSh>ve@XW9qoZxVqzr#XP1aaop0P<2n4}<<>{`o})mS}5(9^Ygz0;{!~Kc7&K zI{PSqNb*1Wxdr8bUvnNg>n+Uw!BhQj#LpF5q`@o7=4w&R_1$ZZe5gn0syR z*XkWqK@gLqSN{njH7>vw_B#SuXHz5X!)C6d9Wiy}uPb1*hLLuAOBwl45GkQnKgEuUg**xwuBEX zh?WiVb3>#=(CcL#-L%;Rb{v)vZ>7sf*DcP6hfQn)(m=T?Ml$*t`Fxu(78^8P0Kr>i ze93*p-ozLrLE_HEn;mIMK5aYLhyiT#m2Bc3cf#df?erD5=yhn3evN0{ysjSaY7si` zLFzx9$pSzF_QS9 zTYvx6A_Pm1{D;cZO=D6M>Q1S+Am9woL5f|^y&uRlwld<{W3XlESLcK@vo--i_&S2! z>No#KU_^#Loo(sx5}LI|EyqW!8dRU&eL!%o&6DPiARz%I7v3L zu!@lc>w+eC8EmlH4X1odq&ak4v%1!95mMl#d{f~6e)v?&CmB7I+nq+Hb@3lHCb$}0 zuhL+w=PNbF0vRj>{(_bCjYEQ%>dk6``#fDb96!gwlz7!X4mXQU2aDcr;oVUce%*|j zEA^hpAUPZ4c+0_t%KJ}XZR=7Le@LG(57lXXpvZ8&M4R^OVe7`4wNU;Gm}4h+B%5QN2PLk4BHtEaCByhwkT^Y{nU&8OlPX;fx(utA1T z|IMRCf1nywWOnRi;VSoF?(#UvQNUdBOMQaihk0`a?u7ewjYRkP{IrhH3*cOp{++8+ ztV)ESlM4NB1s+38?&zKKM+5-9M~%!pT-I;Z*35RF!RO&(n$<1GO)NP zSdru~oPoA|ZDfQ(AfiPuC6gu<%XyS`Fe-*zURfNN0o>+3p%RtS_sY~L&!oMvbt$%@ zhrR-kw(A!atX@ATj72QWuxqu+enmmaVT1MrqGB|;aD4Rvjs)f5PVUuVtSxbPvEb}0 z^?&R$7ZotIV@a6h_`j%|pD{bcx57Tq*UV1vzkV_B_6bDwhL8-vLzMGvTv+9ifdYt{ zhxim$&w3`zSAPUNPEfy*b(VJp^b!u}Wit&9z2a*dyQJw5u7?MIttt(EnzS?FvZ8MO z1f@iD+Pq=G1TKK^*|uKlZF~zCQ=?_ccSjFfj;`V)KktisBrLm3#H5w})A0Ug_iKFn zn|(t-S_fO)>rt<5*pC!2M=!{CV&Z{gwE>QUgb_m=o5?Jv^3}q*UI|Is9;WW%(G6fn zfZzoOCLpJHS6B>CnOAdd(;>ty2S@$v%cpd0XrPLMHCX0bkToW2-hJLn!uhrc{36_< zPyDqS$@vi^PN0gB4ol-E{#vq(x^T~ThLV{K!1*fx1Oj);6mUkm_;L0K%kjGwm`ZWg0^ZwY5r2!qQj>Ff4 z%)k)Pd|NISDHf@D&XjoE^HgPhaVy#{;)|^M6B7y6n1cz{J}08WL_2rG>?fb5LnMv_ zM2|DvVgw+X)x7E$FWDftAi&uI>OpH7WI@zqH+$y9Y{_FN7U$lj$X;Y^u3!h82mmuQ z06Qq~FgUo$!E|e|YR(fX$G-etUhRe?-rGaM209%Q|K=S05CfPi*?pc3+L$&p@glXS zuJvhB@-4@FohN(IaxmP0+FgYGA791hX>;F9V*8kgKkI9@ro0ICAj?4qpMWI*3<3q# zoUul6eHa3WY+^vD*{+m&2Fm{AZUA*NuH5zY)54RHGy?E39|n5pu9h~MQyw#9q=ccJ zAh6I{!sY{4V{>UFAVx@Gf@A%qw~FS!pwgPvA;CG?pd@V5qGzitrCGcnKgAnUl>*B%Xx!DePixKjZcX#$8T%(lr9b&x)Q{17qQ zcd94FK8-y8>GH*4fE?xl=hPLnQ~tNtm|xoVSK!oe6GV%PN^`Xod+t{5@)O9Su;mgK z05GD)p2IzCEGWxi-!RR1D>c=sArfP`TOYG(Fbd*!P98Y{GN%AwISdPu0#FaQ^7ST0 zEc92o0W5#LeSRMI(nC8nMJi4Ou(6m!6t^3k_Sf^-9y5U264bFtb@g3R!K~mDKn~+Y z%SakvXZQdGkt0dOI4yE8{a*HCkUqn1vK)uyU*#104{R`<;Tw=QU}XEZtZbeh0T{}` z0?1%`sXkmkA5Gnwq2R{TPACG%G5@@GCMI7sot>vM{d5jROikc@#rzHw^SGa|L3*Jy z9}wn800_kbw2`LcVaMPG?hhiUw*6@YE5)Qfb)^AKiOdH?{zE|S$pLuqVC;VP4-irC z=WN1G7=o;-6HJ|U6Xf;Z$#!jmA7ZjWcmSs+glWBcfVJ&TNq^k^@LfY|3VUZKiw2;?N59qI#vpum;m&ZNm8z3fHv_lKsI=}FzvD8INjfA#? zq7CzHzmQ0NqDk(NAi>*AU4*~3A!@=zW1{2yGWFzODz3{PS?EO#h-?U2rul0u$EK%p zT0C?Go?820PHB05bg91C*xFg7!GmGO%i2E0?p%5+RDXfnGOG6}EwYU%z2VcUgN3MVS8t+1T+Q>i zD>??4|}as-?)JJ!;s7GG=Xlot-Re%C0h23y5;IC@Q^0k z?u*M>ic*INpyx=PkDhI9p;Y+CgCHgo^|-$@j-eS?fXn1mCdSHPqaYW#l_jiQvsiR_ z7@wMLGq8GK|GK{z!Ll3Vw6*M~cn)jS30zi{Fo8K!U!i|S9@eAGzlL3N9Ib@wNe07c zzW=LDc{!%{0R1vc5`c+8>7_|no~-@&t6ystQQIgt+%|WMujy=RRR)i&Xfdec$Qmnk zn2w8*D*C67_4@aT{m6wqIAyO`>XuETPB=boFYa)E!4Fwpjv)AIwSIeD>WbWfh)9UN zufr7Nv=mBiXGv5)x$EN)qp9IfQ^X=*f~VBGnxYO_#XV#OQhJ-*0>0l;cT0Igh+}`aN>Uwa3B8^Z04RT@Dsk7zPR|Wnaa3EY402pjcOX z&Op!)mZcApvZp+Ia%tg8NTlt%cGg2*&wWhI{$~#!&2y{)7kjR2SD>9uuh=jwq7e@l z)Jt>l{DXzxWjUpA3drB3hgjn=0C0**NAG^dl#bBo{q|gfIgwYHJw5cLn~LF+`4Wk9 zDq!{`MwFukW>f|)Sj%*|MSG*y6+0$SPVo=a9w4!?eIzi=7NA!s4?v-BFQUzDxzauNl!qCWKe_Rg9=ZEi7s)jh5sqX1*!p(oov?QbsS z(h~uCLqUul3GJAP0D_tI(g2!C!C_9yaWxE{Y^#7Bbz-An*aCQo?#GW+0ckn|aKBhA zauO&{wmB+y?IBK(P`xSBT?Cp+g>m41p=<66gnE2He<}#mi!WYl5&*ha;A1g%)~QiF zUZC8Y0=Q9p)c;2WD-AE}Z9DlfV9L)#E@soJ{*}iHgY}8oAV3{1hX_!_2G)Q0|NSMd z;?*+Cc37_LIb(ABlTtA>ar0%q^_qKPKVYjcxB3DV{h^x@xI&+NnJE9h59|z&XWp0P zk$`--Zi^de)_&Ki$2cN-Dp<_@&6-Et^AC-u7Kj9ZQIdsn8eO?{vF@Q*xtGqR6~W(X z7wTXvyB)HJzoorsqFGFZSB>F2KOPc>KHbP8!phC-)JyTNS-0|t+d{oYmAC|7xIG51 z0+0?%XD-9*Z{o=Uxl{!Gi|+fHA7A~&t%^%A(jIwYgMNPWbw!8g8TW+E^)lUA;d1?s zsU3&PSdm(I+_Ru}tv$m@5EAei82k)oa~m+*Y%DvP>7u-RT4Fw5;NL6$0BC;MD#8l) z9b*?kk)qG=t4tpheRtrWWD(QqItnFgw|TxiC-XVn`Bp(Db0mi^?Kg z(9azkC=hVHa(H0CPvou>^YLoq;CS2|(-VRV6Np`-9e2Y61dY*g-MyRT9B?g|KvyjF z@L15&d9Pk&!9{QJeU6aJMNQ2xYSJ- z68JUv0ATvWf_&^)zCUz%Y!_(pMLi z4hX+Pl-)!Ymnh*h7r&&pf{NBQq@t#q9S;7LOXzsuG%jQA4#QW*n*6co(RfR=AP3EX zcT6_FKkxZlF1`3W+rx*ROdWDnK@;+HTn_wb_~b-;_LpE;9>1Hbzevb-*|_P-uA`wg zs1e&L&hk2XM&wKk=zLU_$LQu9SUI%W6g~z6rEOfQTe3jI-S%lRfpxL3Eh1=E>IGw< z6&~QdaQT$G@s#%fKZ}J_qj}462Ky)Sojw z?shYyW}5Aow1Y_+_OYnGj;5-P7_lBD3LRTINP$ ze(W!J15-O=t(+o;zzSI<%QpC2LP-a1s8|Jcj0Mxs`||9IPnScKRx&=R$QrrFeNk(H z1-g=wBdR0df9mI!{}pNI=5Aq!#4K4^SwPz8sT&_yeF&9t^3@-o2`ylm$;iuITw)s; z?8Xf``n$In8js&dGH+_ zMGn#2xL1;ObA->sMZq(TfZf83tkSnmpHRqS@z;=3)d zVBzX>C4lkEf$q=7k5qAgsVe&byR4$C)Az)@=VJ5QYv_c#nep(;zyrj6E4VD497fqs zbAgZ+6f4UuF8l}HO-*=>Q``K!LIk%4li5L{KBJST1=mAil#+rUWgHYjx>I{ZjZ zc6vtUc*QUH+8SwD4kpAWQBI9-5t`!3z}wJLELF0i3uGd&Qkx>|U*`LJ*@iygH|^9& zanMxSdDuTuZ$6b^T?XKY|Mnmc0_3IdESGK8!k6z!NPD=j953P{p88}ZNNWX^q)UoNTA)-@RmU14sP`Xtk@X=_=Sr@7Co&cRIYo07CL8pnZYLJ^l}ys4KvC3r;=Vq4zScK4#=QSmkh#S%trZ-8LmzY+e6a^H@A z>N7wK2WDjad!rb8T}=Gr;34-$(G-s|zsKcV;@7v<+ z$_a_;wbLPXH;pcb>3@yd)x$%n(QcBd+!C7iH?Gn^O~~Uuei+L~76i&=sTk{oeUAJ0 z1ZFUB?BxN$ul@ro&cK2`LIicVLL<#$sPk@DgJ~{n3hTdKhXT!S2lrND9{#fN%JC!D zTPa#G`Uf2!2ET#;%?b`ss&s2R9McLoIVQv=?Ox;$A>=K(yGN?nd$A^WfF`??ZQt1u zjs^Dh7bxHzlO{Fxxolt-n8e7i9>EOZ?2xtgo&5D;?G_@S59hFs9{R!OVq2+dRA4?; zX+mZ)V)j!g>2kpZub`vA(OY{XesL$-zM&VMs^IDaT=tl;v+$Q_{G*umI?8h^Kb z>Gq2xJ&-MaD9LKyZy6iyZdH2GsyYqP-_2_8pBy1&>ir7h`lnbYtQdiRLG5DGIiX_hbr^;P9~JNV zuE1U%&CKzR$pjn61aOL$O%;}WZ^=l0=n=#rsVyV+E@{^L%%0RlJO8s6$MVp!i)6#z)I{i@^&CG~$WpG;QBb8wRtUe#Tn*qM|)s2f{k5&S68UA1Nh5ONe(H4j5cv3PzkiMIZM-z^U}&W zi#b4}MFeM>rt*sI-ONuzmVozT3b)*(FN^eSqR1sr{q3P-ox;*9l%<3TvB_VyW*=i) z*u(EFCA--Wx!y&Kn4}zg{dYwb2V>1rq>Zx-NkT-`%z{|w$q@zSK%k*F<2FM7`qn$5 zxoh4B4w= znEChR#Sl+VMD4lv5AK3(#$EK3vA!&`-s}OvjM+}E0lM{*~Zcbs6S-4e%IS~xKy8kT=EdsaN1)Mw)^&3 zdKMBLwu!8=Qv1v=F3y2y9$iG+Rm26lqgl20>z4w1BiUYm4tZI` z*1)Q#4d%svQ!=*R2&^;_00Rdw{^q60q;>Xc&g0s2j{J(D2-$HCkxR3c*%=1!dQjbO zv%Y&j7K6fYVLbc4@gzR0L3a?)b+jVn@r2#i=@7qle=oR&_A9>IQ|vgDzoyBe-|MEs zQT4_++uy@P-v?4_+|9qt_+`X>E5iB22$-}Ed?>c*B52d*Jy#I*R?puip8j>dG{d$LCg`{;k z6F9-@_QSmlB)IENZJxpHPjmlV>WLxdeFaTFE5BOe&m#{>zby5Md<=M!!1q=Ec{s;V z>zmESy(+0m%0w^5;dP^>i2r2#rN&V;{gm!7``HK1o}eU)We`cmEi;>Vdu1q_owGme zUdl25{+}c?sQ-f(9NN}R+dTGQdY*eFc9yZ(|=H8f_S|F81q z!>`#+!%f*4;}seCT(iJxV|`Dpm4tnYwdIcd7S2})pbfcssrTgi=m**)b`OmclmoQMj};2ai< zEiP)6Flk`&0<=Z_skK5M;pi3E5uFe0SDrqTrn7_meFxwlVhoP>W@WIe_VinX?WnK( zXoIVt45_NO1=e`DK5)Y*4gU7&HnNpWS@7VQ^o#d-x%M652^+5D+ox=^&u|LLA1{03rvhj?O_^}O{%+%RZHBNr+ zj`1p_eGg4l?t8LF2zEEB=dJA6BXSzM)<*xxbDL_l*}X$^#|UltsdMt>7XSfbY+L6Q z)Aarz_g(Yx*L+--6%~qSGF7P@k<14b0jSL+~8odn75jDvRF%Et|W zN-!(;IOngtkWXv=G7YD`IX}pG*K^-I!B>1E#NImvUN3uuvlI%WQtzSRs??#P$zjmu zM{=1ezI|JhM?euDSLl+AXL@1D&lPQn%@ZA(pU=W#Laa!x=$B@Cc{QY_!NI00C?qyw z-8CgNHIkj}eyVbI;*eV*c&Y>PgGj zYO>zD!CK2?f~#rEZHbiBHD(HKmnHGAUn^ADYO~NChFux)orMP0^NaD3vr1aI3LSy6 z8+HNqn0^AP(SO|TY;7+&F|gE_L?qxkRlnEoWlh)=y>P*e}Cd*x$R7J`{O zJ7*%`?Yrq7WI%b?jh}}L(hRGgp@ZJr-UMB|9+4Tx`B?nfh~;g`yV}*W7_PIREBat( z$}NowSP<|w(NKSE<##opM9&{f%_c7Y>_Lx4E~_c@?0!qNZ*1AVG}x4~;Q@V&zwZBN z*^WK?Budr|GvokBY%&SGqb*gC2$H{?K7rkmj*`%hXB}jyBqrg)%cE23oH#>)%3g+#!zEI zb!Y_8cp;G&^7_Fh$li4EWC)|wdif$7v=Q9|^S<2Da+#}wWgAyn3T&~jWV_ILw5pGP zI^Y9;u1m^a8mU3EA4vsqrl{QG&n;_vecff=Cm;hoQe3WTfB zomZ&Duz49I{Uu_dA6OP$stnQ1|LQPf zq+Ix;fv{%Ucc@sgvz^Zs?X|}%$+N_Jx$QltkL(r;pjNjpoAkND!b_|8LxvO1rHd;~jYB3F&*$j!zI1oTQ|5yP@(=%} z*u!laez3o|Y= zZ=Jf}4~&9+#lAuRZE~{Wgx3GZYYpON5rP^`ii&r5V)P}g?1n-T%qRYx3v*O2;MFKh z?|Vq5S?`(tWdxVnlHqX^O3m9d9v|UTUD8BPQ#>Ti%kIy1gf2fJB+;aUME}npgLWb) ztNy$SZ~M|W|Fw(NS$h8(18C&|nZA{9LANod>qFrhB{ouk_}8b8?Whu6siX+lEA4W{?ZB@k@Oe1um&QzeF>;*lQvEqFa338Kn z#X;@eB_sZd>3LT1ll^g{bw6J|t+d1_ggGiYGcWD>kTRdlMTkLvp34Yh(wVoVLjP1p z)v|%V^4ag7HRj_IEA~-+B#4&?@_rLj-c(E?B%Lu!p0j2qUx2pR9v> zhkI=sTVNM+IGrkp*Mbg98Y^?7A@F2grjs&xm;B5qczww33WaqdKs_}jZ<1UHWD-5@8$unsr6i=7{ixwJ8|#xHbj-Wbc=s}&dfU{np@~s zNh(i;8^I!nLdZhYJ1Gk{317;vXaA9HhqJ&i;ht&ec_`jKRZ1iD4p24GieJP0E%#KS zv#!~5rg(4N;xqF|<1@|pTur=bYEj}IVYt9zI;YFQ!Jv@b_>JF4qez$#;NrRHp$~zq z;!liJU?&{)lt(82Ed~w`>7>q6b7JXp7(U#S2!%BSHGbpWnNb2v3V0buWfM=LAx2f_ z9PCSHEL#-ODe$oWZm>aRN1eFadKe$t?9bE4%Wk+6wa;R5(!LHGe(T0ip3sT{itS9S zG-i0;t-Y*1IKpO-`_}#CfB(}J#im}~4GiM-=n3Dd+XIw+tDXCVriW_hSH({KYnNY4 z`%Jg+gjz@AeN-G(uoLk7THyJ=d>BP1K<ln*d{qHFG(_3H_(k?5lWYP1n1iL*b1cr?K z1rp%&=;vsfry^k~AQw72$$GYrtU>OrJpzO8&@<6EnIZL+XwZ7Sv}SxIR-o<*r28A> zo&>gK*3tQnUEgWrUj#%G20rr`)^$7@}IkWkdq1qmvn(`1qG<0<_=Kf zLOuku52lO6fqC)vPm&1Y?qTFs8UzRea}j|hqdSu?R+<=(M6GnYc2zl)8&+@7;+y7j zldwm)6E;K@5;hex zs+!39;)twAfKepsvUvIENDXO-in#Epx?n6A>zaJHb}l~N*i49ZeaUX#6Y{2wT|O#M{EO#x9l`#Tdtb-MhvkbBuJK})dDPiWFo6?70W+( zMzQu1!FkGjF#yt~1fiW@*0kXZfcEz7V=4!9@P-=!ZLoG>+GB5}5!Jb`qW6EP&O?7{ zn1j+acQeoYdJxf`@9wa-?~V^LiKmc#m{wt;N|2&1!)dI&?Tw-ya$P`KMOik6KM2en zfUG`Y7#TwDA`T@O{{~kMknZYBO3$d&fVWxAKR0<C=MwNquM#BLsbsm;Y9CE z4NBVf+DQ^%^)?F$YbA@K$jr%M@Czo=2b%#>HcS?{0VIw2kJ_VE?Dy>D6SdSOtYjrM zvjH`!&4<{ObQ!!b)c;mu3BG+~j0IDnw4j->a-`EA1n>J!3xNKHdMxmO*V~UcHUsZk zx~b{#-Uq+&{hA1$lGpjRoo0L}YwL>gWPO^TFvD4mt%ky`5YN9gg^E`!T|cO(VF2-F z`7V?b2gXdT&B6r)ivtNp!Zt*UEn9yw6ul(o@x6V)CgA`b8BohF0COOfKBB)v8%6DA zdXVIik6$Iwc-Haytk%jcPNv316j=r?`Dj{Q?7~XgOOUX(lrnrr&Exy{f=$Q)s`{nr zQVU^+z<;V<4bks^Tp*HYPkFUDWyj3@>s=aKKgeB5P`|;Zs1S27JyRtUoi1lzkfzM4Y9fs$@Nvip zrPHaZ3oKKeQ7#%UM3Ipem>Kl2>Ug5%YK+#{G{<*-+(ABa!b7-pD041m&Zx6%`T42U zOJ$_qZ*IZq=EfL?32b_TYY&OFwaC!5%pn~8YBP=aNh6Uq7z66=Nfrh>p4!8C zOzk1-sbCK5p#PeK#N;$~SvzwDgb?wyf^DD&HYMt6qLN@h zIe?T%HyC?bDS*=c_jwTks17WwzI%};Qub9QR9k{K#lINf@6j8g1Ye=Q zEvgUN+r;3YSqkdN^0)xXZRWtBi9~s9yx`us1;d-?;;H~%#JJ9q<_+dhS@`Mo^NXz! z#9eTLyW1l>I(flw)o795G~vTvKqU+4c-OQYw5z-O{{WXz)*}Kui^Mvy(%(PeV9v;-9*lMWX5|;;$m2hTdA~%Y2Bq;_Pb`QCl+1sJm{_^2LOnfoB00W>oKbk@g$%{&kb~R z)?|emql20>fZfTt9?zrkzT*Do_j$p|?P_wRRTTS|B7UPNz|9T% z-+j@!1tpd9nIX_wFx>AyQ`wEe@LFxP1!<&ZAq&`LytxH#72I(Ft8og`167@HW<18O z4N*-@0HaBWFI4=buo?#;R%H)lsX5qpMB{aFGMX>R>Tk24Ay$g4GVCi$aT+T@zd*Xe z9ib`X*YHQc_NYmxa;hrPOZrT3K}dgz13pea!OHv){z213RK|2>1+#L@C0XM~URMx$Q zT(Nus#!lPTz=%Os+vw_*O@a4MaCE(!JFFDC^}M?~{OMKCWmkZA*1zv{Qt)*#>`US`WLXz-iwoE#<_rM{&9=(uq(u7ew+&XYnhU{JGZ&!*>TGpSje-b@~iX zB^q0CE+bxe&F=}Pi;oJaswOmri%@x64WxQ}auf@BZX@E$%iUeulhyNZeOTUUtb#3x zD?z>ePH;y(yxxIR2w$}UPYTl>jA5=)d1CAjWB za_cCg>=+fveRARN@ID@Cbe?!^aNi-~ha2qBlV+W+>+TNAG_zpsKbOlIPzDi~i&ppo$xL11rl~b;>ukZ&--z}DOU;*;oxjqE2$-W> zx7DeqBWlo1kx39tu=x3o=Few#e&5pXC^wY$2~!N?N3wDExOg*DSNN)*0#G>Lzuy?s zD%bns>OB@b6P2i{~>2p;ohW|0z$h(G-nl$EuB; z_aIRbDtyX=Z=G&ATpu0{W9K#xV8ZKM%~+OmfQE(Qh4`7qXeVQ=>pgi)mH|#UVY@Fc zlVL68B}Mhy$pE`KQjjvQE8qngjZv_g=LBubg=Qj`=nZ97)bn~Fx}i@Aj4$YK*Is-;KcW@b zp`un@@kSXfmTQWhZf9ho0m4b*-Lg?vfJ zZ+3h+Zt#plt$XGNy34%F^|e2jDZVK!ov?K9aa!N;fxOsICJG9P!hhcg*t&$rm?J3! zPif|uM9TLVKHf6)ku ziG1asloxJ_H;fZ>9Cmh0vB6_P%0Uo1wx}%KY$^6J_s6Z$`9a`S1ITRPMPU;^^h+;) zwp(+mWk9iilQAYWT9JD@xo8LTqePvRo0Gj8SRL5l4P|MB8>Z2M(} zh#ek9MnkcvCLYdy=2w@)zHvvW|5g9Xr$olDC^Z3mi$l(n zrpF0m1yd^EE|-0HFwT|jW5|alO@t*_l;$$2VqTZdUimmgm>6|K@)c*8Rg8u-LZSla12OvQ?E?OpGg8+VQ8@*G7i$GlVVjC6ZhbP85Z&2L_ry zjt;{m128__yCwBRd;mE`}0q^iIT(1xfIDBaHOd z5IPW(SiNyFsr@{B=B*-a@&bb;ST+fNbIgkOTuQ|6j2o~q!yx)t(W|3~7Q3F{C;5Iz z{>mRDf@g(YO6Ia!(Vjj_ebq*EAUZlkL12M^*q-tSjg2-JGBZs1Z9*5%;*niUUAR!I z_j&afZ`+>FDfK^Puj|oKUz_qQw%A!~O5yIN-}5>q2yDE{znbwPWgq+>Mc+S|xb30% z5ynW3?oVsLQh^-|r^$ST&6fO{kF)4KL;eA^Hk9I%Vql3tP4I}i2uqjK+cGHmp{GQ{ z9*&d`>2m}&D2N1tj5qDx*j(@BP17=Bgz_4YBGiZ6Mv7R3@;CFV7pwmchZFRh8}W&i zes{<>|I;L~idXy-tz8k_sb3KI*-0xzoO77v{hE-n*HI$WI2d{Zho|uZL6#r78$RGH zK%KQ$O2OVT&yJdIu)pG zfR_CT`aPy(Yq`ANo8A3~c2k|!$yVjX{oOhuzjrF=C;T2z7mTT@WS7nAZb8tU)S0~Y zPZju<=O?|T4Hg?-8KrcQ_~_(3&mTN1M6h$?ObKW@z4^;*%ECs% zA}Q9A|1q0y(NNt|LZ(rRe>yo}p!?sl>Ff6X@BgO!VqO*E33w}QKEyqsE7$FZ<@a{I zdcQIieB@P%(KLYfQl_{ESdC?{2LksHqPyD#r?sRBe|7clpZ*~xb9@k{%)dmY$rLvT zqQ;Nn)W7B_>Adnh3?~&xip~2uUAT3L+1gm;n0F`Y#vJ+a%vw=|ba^Uu*ni|$=Pf6t zUvrXN%F8UoSQ}>QVjAmzuzp&Uz9fzW-MGUL9|@3FV_tJb5lFZGH^$aG|YOA{)c%pa*5c-SF1iyAe_C}|L@!9Oq=H#^7*l4%) z9GZ$y-R(&&q=pTIZT|pe>}}o+X=*2-n!Ik(6rYY!M`YA%(7G1v;#Y1xU}}8q(Ic+@mt)Tk z3i@3vDMY&pin?PNzP26n=O#aAHha_~FdzE#tMy(BoGw^g#0_;90p~<-v6_85!V&P# zD2mR0M-hHCwxHqgK5_eaKaLdju~}2cjL!+LW{Fk&)$!N2_GV|}JCtA;i%0Js=}QJt zHj?{=3BmlCS`Onyitu|LKk+wJqqPVT)iAXh7EfBpyXd{GF`VPK{=4fc-n;uwBbwnE zXg#w?pROciN$-iwabG=F}w)Z4)=Z%d$uU5S1cw zic!BRCjWIO7GJRR*I{uZ84H$gKxV42hz;=4{(rfuwr;};x#~_A-WjwJPC64*(fU;l zegH&4er!kP^IiB-?xVr^M(!i=N-keZ%@ID_gWKg}E*Sbe;D(IO%ydEvhypZLuHp(& z+6InC;s7Dgwm=BcZs}NeDL$asM+J8=K^Lh@P{ec4%9O5{TK3yBT^&Nm+BWCfe8T1v zpwM%qy8aaXWCYA+v8V^A`i7|Uk)0e2U~ZS?n_mg5T|_05VM-O|H+k9(q(GjODhKBy zdxA7{mhgJhpUaT0diNQSl&Ty+E>9uP7+v}?r|ZN3pf+&|xHS(n$T6C02kC%r^5^=& zdIb4)5&|3tJ3`)KcR~ZmaI-%wqg<$f8UgbgS)AQ~)0=l%vy%!{- z6sslzs$wR;v>ZjukZ5>KK|$A!0)7O=25&(#RM|ZFWgHDkN)uYDI9|u0M?|A4c6%`7 z3i0lO`0dH+i_h`iszpAJd(+(&iuM&EJq?Wg%Byl65{NYY{MW_brdET9#qq!JN>~8M zyz!OeD#82siGZb6Ze+h;>xsN*4aGYyp2Tfd=TR%km()l5DL2`ylmXtV$p%{nprsEQ zO$KkH7#RKN89iYKo?a1fJP{bm;wlsk>1FDl&6!dV7)n)AIr{vKwI*|!k zXN_umx<&U}A#9w=Wy(>@@KD;Q|DKQFQ>=HWd+0n1< ztMyVh)2inJ$A+TK#z>$LuxQ?YkXJC>-HA%H&MlSy&1j)q9gH-fL$UeFIJfBpweuxC z47r7XQ2Qc?d(n)qAC3;Ef*a6D@OhdVA)EIIQoUDYo!NHH~> zU;>Jc?;}t9N@niGMk$bfQ&XERiE@mHkGT3Va{D(=Z@78+`%H4|Pn@9?h z2kV-HLyp8N{c2)5ZNnzM)}RRv0M25`iwnm&Piisp+NNy;#*NT` zQCU$}{l!kKjCW%+^FPGi*g_3{Za&_yo*{llHwli?sEw>^zpM=6Cw<9!PKCww!3gV> z*Rh0AR+IL_>9`-uUW~B8w`V|9c#5P3lMUTQJqFdw^E1{p;2x=FeM?yGRA?s9`r`Me zq1&tY*_%bd;(9GzR4&+9Gdwk?p7%Xkd*kTib-UQK*>KeDgZ7y^wAlx6b-B{E6Hw^) z&<`JKi(u!^gnF=E+Q=6C<3^4xb;(G6 zrv95`j=p1H+#P0_ghq$REpB(7#z3OZ595 z7hAf6#AgXY9Svim!#bKeVgf=`{aof1a29fQR3FSdlhpqOPB8P9QGLGp6ma1Tc$wR4 z623d*(YQV|KzP>Ja78QAq4}*fyxl(pQiwH3S1Ex-piE&MwPmBhaQiY0*xUJtACx>(6ScsXXPxrDQ2NA0l5$Y-)*2O!+M8Vj`BA3@NIHy9kv10sR(WQm#OOU e(@NvhCnhon!FXy(V&J=sD5^@Diq-PwpZ^aZ+}n%* diff --git a/doc/publican/sources/images/x-architecture.png b/doc/publican/sources/images/x-architecture.png deleted file mode 100644 index 098205b57a973311c22c914073fe53414f4c0a35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37306 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 P0r&u=D6;0JL*#z|XU2S$