From d0b6ed4036d9a3ef5e8f7f33c90ce408ec966969 Mon Sep 17 00:00:00 2001 From: pmbrull Date: Sun, 5 Dec 2021 12:00:14 +0000 Subject: [PATCH] GitBook: [#64] API Container Diagram --- ...t-diagram-API-Container-Diagram.drawio.png | Bin 0 -> 137308 bytes .../open-source-community/developer/README.md | 4 ++ .../developer/solution-design.md | 60 +++++++++++++++++- 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 docs/.gitbook/assets/system-context-diagram-API-Container-Diagram.drawio.png diff --git a/docs/.gitbook/assets/system-context-diagram-API-Container-Diagram.drawio.png b/docs/.gitbook/assets/system-context-diagram-API-Container-Diagram.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..44f30306a4d6c01f3fab8d2cb8d987d95be519bd GIT binary patch literal 137308 zcmaI72UJwqwk`~ah^QclA}T0gM8(QMP^p}AE)$h=&Se4%DQN(3ay2bQ~2@4DBMxzq>VPPG{ zfxipUQDDR&Ml-|0QYzgfsoUb$8qAuoL2$yq&IZ9CdYj8V2u>UXgOSV{mD_2vf>SVV zv8fGOgGT+YYcL25IuZ&S2|);&@KfEt-@*ekEewOHExCOU)#oWgjlIU#TD6cT#U@>mZSN~}4zn&es*&VQJ{xz!BcnvDBkkF_dsK@nhRfb03Bwz!zL7{UhEa0-?-)a_k z)er{O!Z9HQ4n2$^b^D0ie+jTEz@Gkj7#D~d3H_H4v>Yy1dl(3^O`)aR)p`w2=J6p3 z4lKjz5E?XgrSE@(wd?uC0YT|%rvIG#ZMJqx}TzVH+t)6N? z5Zo38%_j4B7#thh&T`<`K^B3Jca!}(i#Zr{YmxRLNtYj}+Z=x9;eyJbJwhtA)EQ zC@(m1h{3_h5cmZIicrqt$X!06hsJcW31EP+Y?fBV0&=ic2ii(i;dulChTy}Q zl|e!`7~A}KHz+28|1;GJeelFWLUlcHAP zjSdf#XChM#L^BRt<)c|X1epxck=aBX)l27a?S7OH#Y55kXcCTUfoq&j5y#B&^GI+k z(&a}Hgc>y!Vn#vKGB-t`#xwm!hf*ZrxYS|`ivk{olHm{zeLz8=J8*oq+2wLetUB-{ zGaAGznMH>ga10650@Fa`91PR03wTulx!jAy_;f0Up5ikItRy&u=X2O-KCINjx5+I| zAsYj6icAoh$sxotr4p3^C&rpA5F5uX@u_G85?lb0Y{AnSY%Dqc^8o6#X- zaVZFcUaw_?QzwPu*VA+mwcjjY!ORr8kIX`%@Jw)@fX)j!1=*oTlDKp|lE!7~!AFY( zW1+I(0+-UM=5QT8J{W^i11g>p>0(OZw9p*5Iw%tGV?`P=`qAz*_`FI2k-r z2B(p1!0~K0vYOy^ie+LOg(nx{q)x0%2sJ{a5+s~YP%~6`HIpFs5Q2J*2uG0OMP#Xz z3*pHa2#%L8MbS_;3(CL~8&npU%Lq^hZ?%i@E<4MqG7v;+37O-7(r{vgn1Et)cmgCr zETzG00Uea6rVGekmr+22iy06HTcS`w#df%a0*r-svDM(nVF)Eij}K#Jo9r$#+h~KL zWdce-1he}^N~zNAa;Z#o0zyt<>$FA=&<%uQH|q!#5kW>bGAtUj7SHnsArOKfpp{v9 zS{?v4x)06a5KU4IgA~NL|&k~Se zRT{U+;fDmAn&WN~>|a!}0CX=GL*8DrGykPvW( zQOSqlV89?!m&7SIqTNbr5aq)&*it!!0d;XmI-MF45RjR2j7q8Im?>zpmtF4`E-O>qen30Mz9=A5D~zE49TMk#37{{QA#0)jAYAMKC1)iHX)UC72G9|vOQ{p zPvhZ*bnPYK{Y19Oq|^}LXq?ExCy_`7qnE%SvrtMS+3yQVTs(+D7RttQuFhidaoj$% zK@kuJJY*`LNkXb&VxAciR2cX;!02FjgddpJ2<7-7aDm&Wry4avtpTAn=*b2Np5w)l zq$H%?%EPE2IF$zrA+V`#I|Xg^Xz-cK>I2w_R|Z3-#E4mVEy!qO9XA+Ias4E^fUQ^C1#U#Zpwi21 zItj$f4|;eytz03;>GTXHkwX^gT}TAS#inaWOu3cir|GzUzuW?MV68^CON;f<{ZJ*< z3#FNKMlFCayhjv(6MO+a+!P3zU5WD;JRFf0gCS|bRVhc#pi0V!aCk^Cw@ z-68@B4=;rW}by6p<9JqXAqnX87tRYtX3;)2@=ekl&A za}w+brB9&b$elE#&FaLV42A&2>0=9BR-8m4G^mgq1&7Yma`+8<0SzakLM8=lI~4R9X;7|Y2Ye0>9>aiY zf&!G<0s{-xaO4gl4j!UyemW1Q!MouYuF7tQX)GePSz`rAg_pwQ3awE=2dpyWG-RTg z!cm}o8WoXmW|M;$kI{~z+B70QO76x52^Mw;$dm$1Xg)lYS_wfo!h}SsRaA})BhnB^ z61Wu(V<;VPI1A3e_{9c2+Q;NW(I~2bLG`k@0<(kb<|8~I9)Kcws5Yg^ui!A9I;xe6 z0Og4q4l`i|3YS}IhmmAXi!bEMK7$S6&|!HLkBLU*$=xaz(-N=+sd&4Y!vgdd?{_*i zRs~5PQi-2n<~hh3n-U@h>>uw(i1k{B(Z)rSKr$vv&_Ov4#t$h9LWdVztghTGh97Rn>E(}`9)Kt8SmuTd&PS&V>^Ap}N?0WN3y zls*HNtP-P~K&NDrg(PDlNhUE9sbaHX78BfsmkPN^Cd?c(T0_N;FCg|RqyTHkXqX0M z=pc-aM29e#=hG_1VgN8?txL`@c@zqS0DKUs@o2ijf^lhA>|k{8Vq1U9Gn#3GL>=%PpNX? zC2EZi%W@Ot1~$gRP+GNGAqNK)vRN7l&S+$5T~N7}Duso-mC3?rF?djlg~b268vB2g zW;QLy6OfY$Ca;ae3aTjtpBXp3jdLXNzskE%xrY`*WM*wrYZOi~vcJ2kkzI z1nH(?wF0p?Kr!3B7^%=qgM}PY0E4^OWFc8=v4@;Nrf^t2u77B%i{yY9d14!s#^Q45 zRGC@fklRW zGfEL2E7dBO!7x%c#-pWpi9m5=O;91#Da3^CqnvL1#);egO%iwbOYpr$cO)qU9JSlW#?usaTv*?+eJVTs6+4BcN~uyb>cpGNd@U zo`}NwktVBIL_ve3gohKYJP`+?!dU>4T8t<%5klijO+vU$q+w8~Y#fVipomylC5$Tz zWitOieFdY>BOkd>xH1l2b)AI}C1gVu(bt z-6Sv|MQjBQtFX$5bes={ld@fUv?&;{Xn4T@=!=2Jk^(|4L5XzYqzBq*H|F3QQU_o+5DD^k$*LZ^05(JaG_D zq3Tsqp^*a*TE$kBMWxmA6i|bkN0*ybdOKAk73s_ngo!UiVpT$t%7Hd%7-EM-!52Y9 zPOG0O6i8)qh)zV4=?PYy6vNW#NE89u#W!;#5)8q_z(`mayD&(=Nm&A`j%2V)hzN>Y z;*+cCR=QuqfcRA+x*eitnB+VILnh`6JZ_Ph!h{K#aJADx6L~{L8F-n@Ob5?kRtVr2 zt(D4j2dy}sP_81OWm=NYhxEggN}1Ib5JFEnNS#y@(PdIokq|W7=%Lc7Y7CEq z@L|agFCR(^P$(2CGZ-Lnv{VU460#Ru4PisEOtOL)D$yhm7a6pUXc9nt4Q48p?vxPi zFwh0XlVKXP#z54NrEHqsE5mCvK?)Cyd!R}d!^|)`95R|(>Xay1VyX)nvX-18kV1?C z3sZ`AGHoO6dD(5Zs zVvq+|7CTcV^y1-IqgHC=p+N^xAcTpCfa5aMR0-4OFbe1*kqU-nq0l-a+%6};0(O}M zB2{q%WUGNo;#qNAA=aaJNT4h_Nw22*I3gwr&GES`e4?MuaWE)8w*dwTQpqN@$_pj^ z)3H;Um3pdz!KK^iI0_jirJ%_QCd0}`kpc>n%qkAR-8O_$EhPy!cF@#jVf{3!S%b0q z)EYI4$E9KgRtE-XCa6;DQCvxgwo8O=x*X4C^H3&@C{$^2v8(_UD`mOhXiyI8wK^w; z6uQMh@CK}*st6_2!9xvjGPpa`HiKi;+5i;-#fk}PsvL_@B1otZH6aoO2o*tN^5Qwx zkor+1I0qH7E5XLFkW@OA+ec6#yh0HXTvS8&X1Iw+X4?5d2^{L<+KD!T(#Q)v8f06y zf~F!kok%i7V8W|0UO5>dA*;1!p_(O>2aQsmRwmU8q-YdfWkG~kv{NI;pnM*N+wjlo zRal#mN_BBWL{N^Bae$`_NoI)6Gg6u*EkSdc* z59iZe%+S&q0R}7J^s@;vyp8O1c;zCw2@CbRqzsmh%#~mfC&{yNni% z(11V@$$WG$6!~CnpB{C8qEDQ`QQlPa4j|6Syk~lVxl7lty1!}*I0n?ftA}3y< z7f|FlGh3)d*b#6p1SWCF{5AzpFVLeOMp zj#w-u(0En_gdpOn6+{QtX9}2UJV#J&u~FD?hy-jbqy!F??!!ZT9;v~F6I<;8snVu* zaWD=k6G>C+gGd+xsn!`pY@tO=5D*w7EU1Y&OannlR|IS!L*ZzAD4Wj0Dd<*+!5~M6 zJVpbW?PL`+XweBp5}5*FK{{;^cSz|DP&w&E5HnM#z_2iWi`(F0DHTwfAfQJ3F*XE} zq9sCM2q#)4Gq_P+zZ--LUcgbK1RQzr9|uu}xRjS^g?NJ?OPWBw@e;*gH+V0Vr=^3k z8cC;eFeE8Uq_c_83cCrxG26&00ndvH2E{}ZltrbJFjyf%q)-rD2By*IgHzRZ6Otex zYK=}PSU$o7C;BfDyUNUwDOgk-90?&w z%}gm)h+L5r+NDN3 z#3MPb0G4gFU@>wgT};3;ZDK-@i1JXq0j3chK%lth09WdzD#%_CQYuH#Bw<x zL*nzT3IKp07C=*7L1z)Pp>zh3@l7_H(hP&J0}==!5JGCXkY{B>*&2hErzGgecnsOe z6S7ry@C7TG&XL+eDNo9k!93t$)WTpvom;Q!pyz56C(^xEb49cB2|+0@%ff|f1mhS z&CSBID`RrE&3?C-HZW`;zk)vTaZ5|V>9hdv&;;I8?t%2X(@#P-Y;RXd`Giw7g>mtpVKHT8WhGZcpNbcU(+4J8ol#z1-rCxl%RMn5anz)KqFv%M zo%&B5Fjl9C>>XYcpO=m32Y+`e8WQm>ZGhtAmj2x5)CMR$E{5@nBb?OzrMamRqs!%s0>y=xY^^Kb)((mDBQK6?}W2agR+*=&&J-| zoH!~Ykvp{K(&5+BBwN!)PMnLV?E31X&>swLa=+s5n0#{V*k4~%Rkd@6T#A;)gdZj_ z(k?xPL|k4Jwxa*=cfS{Bynwns@2QyjCSF*pn~;;{_#8Ij!MP2pnQP0!0)2!Zg}G_7 zh#iH)CwHBdJ-wh;|C_La>Ect-w?{>ka*FHzw%q&h_*4h#K)!#h-rys)>=8sI< z8~kki;cZ2qRhPB4UGCEVN?6k?=#iyEhSGW!&Tj4vH1PPw+~Uou`o+&vSAB*@po+ro zZDLuwaOTI`V`yandF63`3&0W4KGO6>`GSZlf z{coKzx|#}-!x;ni0)_S)>s~YAuh#b1#I5ym{J^1Ov3>F*`lG+}eo*B*a!cr+K(5{# zy*EXkXiZ%hpBK45H~-v{j*HLCERM^&xa8ilb>)#cKf<~k)7+XOOH5e3E-Vf`Z19h( z3DZs(w)!O2v(dLZL{$0S*Nr-9?%voGG4*3nD{6dvOyL4Xa9H{0X+J&L2+Q3D@%Fm5 zyh!GJupe5JTC*@LBQG+7IelT+sM7LlABz0%t2%#qLBkA8{U!eVsTm>p7+J>e!97Zi zW|ybT%AN7(&!esHlf&1O2SB0mvpU7$Znr_2KX;k4N0PdJgH1^vp-iaZmE?wB{1e;Z z#0m2ZRFy0TI;%VI`sgg{Md0IWE=ZZ_PaTEOO(W&>+A#~x|?``gwFiTzIc`zBloqu$TC z1eqBS?Yyqxo_o?deUbCav@_9dv2}No!+T^vl(o_KE2ekAh0if(*0LUH_(LZM@56 zeJt%cVZ=>#`?ciKOWv0Yt1g?gk#D<%4<0x8?w;Yk)CJ$iz*ctID!!Pm+5Aj@bEwAA z`p3}PF(o@S3)acUyir9mXI2AXI`cCXU6wTSN0&9k(vd@p=Eo6^!btZ!WKKF(F_KyI zqB>d)w3OCAmYg5Iw-eCOn!MHQ3CD`&J}4!;deW_^@aaUMc-vt7PHNq$Z3NyPa>pJ6 z>N0zW-$=86el1$qH#>Ih#sCS0rt~-;wR+%!QxzYca<|cYQpTt5smB3xyO%C%)<7cI z`2Z?1&|fb;@^MeLB@TTsb%3KC%3t5&m24Y?Teorcmf@6=%Y8K#-{u^6DgN>EOY3`M zoryn=MKrxnY2IsE!dZ;R(-DI?8)wJ#{L*oDjrHJ$tc5LC+33Zkm!dJlLY{m33q`@( z(cp$Omv3BJk-f2g2pqBVAhF`SrsBku!Sj3C?{{KlEROUY8W6E;*|L`pk9V3n=417v z@G)c8Zd%9*7S%RLM@&2#dFs@uUc_~U%EdQy~gBCT%tfgauV6~!;zrM_KZn6=^Jn$lM< zK}3)K7Tfl%cX&M^{~RZ){UESl1uf0vDiz+9`FF)WbdHeHHCp^Mtyf}P+W;~=r z#F*fZ{M$SHz&p%QEr)l1)Z7;|cm7zve9*YNe-i`V*d@Sp_cqn^cTOrHq*pf&NxFAe z@riF9>yNe16YH{nYnVK=yD+nz{`Qzo+AyYJ zTDzrdZ%FlJ$>|$MB$2mcflp5vb3DhUqktGK7?SsXA48AKiyb)j)Y6LEwv_k|tAEm6 zEAg=+{=mbRlJo2O3(?|~c3tEr{NuNG4y?%uz+xg-&aT?^vuF2Pre#3{eZ__Dy*&Lh zD2r>y+m3Ie#92>AuL(T`xyoF)JzMZsQT*P4K*e2&*{u)Csp6wpw-!AuZBtkK!|QHh zvAo=tWUY_xJtuelp1ajIZuX!4uz>u^G5d1obJv!hd%DliHkcxf-E(R&@V6hf1Gi&a zUOxUPOfHxa53)ivPmgw|dHa3un=op6>-FmG^dj$?Vr~XRRo8U_ z#uvXSPUis#!X2`zsJUH}m6($Iv*OQo1c_$P%sTIy1+!`=_6{EoG)>{Oz8~9} zvQj%M{QXpR%DYv`SuryR9~l!KAbV)$&wgDr7_ExzN*FL=L{|XnlwZ{e|4c&0R0ZOH zhA~!WkqRO@cI~ioJUk*Qz1q75nP)DHN*!pu94$=-5gxSWE*eF7{O##b>X;6n-Ztf2 z`eQ#vnAvCcg7MoiS2hQ>^&*vUipS1dypS^K(T`p!jj2%!Xj2QS^Ja{Y?yXMUe!+E6 z1?+g>QO;pP_SoAwo>Jg)OH#*AfAWNdc$w3YzjH{s=h~LS6-ZuY33Flfrj;4oJyDWk z-~I>a@6J7wj%Q~5ofMnZC8?}!aPqlW{T%+{(q%qk`n*ih&Nb7<`NLii^IKX!f4}T~ z`KR~PuEQJv9546TYzO&oe_vpAd%Id6%x8JO&nPhx8dXIEp#HLMC z+b@SNKEWDU(84|0l9$~OH^h1-TG|(A7yCB%z=;F)){7IV$G((v*oC5%359b#=kpqW z;IPPNk3wsKC{9P-KjuyP8WHpA=EJppk1w1uH)iF9yo+m~m%Db@^PnpT=htzW_cr~K zIvC_?c{Jqfx$waIyD24~&UPqTP<80eOnJ3`4 z2v2$_cmLd1`A|Ra>fkeocfIF!uLyGO&R-Sd3t=}>m`-07q9Qlxd)BdL&|Tt+S=i? zSC7$xDETLVC(SzS+a1ddKA%&2=F;*h%0^XL;;W_Sl}o2?Bs_W>%&_Er94S9YwCBcW z8I9GGxcknWtr&9q)FxY0NgZo)AxPIvFJ`q|wO_30l#xdRPNkmp_cFNTgKUp%={M)| zfrPlNFlfK;N!?CUJQdI9ZMyB4f{a)_YI0r0zNfr_Tl*1|10p!-R@MD4`*w(TuPYc+ ziOpCVAAY#zesMH7sOrZghr2QWQ1+djy=3Cz$+45dj(uD+C9WT527SZ{tF*`PdY|Xm zp%3#%%&h+LwaxMTO552a?(Oua*y{sEJ>9tZa`vICM{JWR@?Lw+!~hR?p6dQzVlPaG zc3-kZv$W!SNG$tg=E%;Z4r3fI8t=p&K}}k!>HhNWp}yCbhmCuGY*q5r0y2%dIDDFA z7yZ*<% zyUgYQ&JZrU*FuZbbQbIS7`AS!OxlGC4Fkn#V))(@r`j^^bU6c7B!@cFzLtCFhY{K%HRPRhw(q%lD-iq|RANw;@#U;~cwO>0lTsHxc%6idI?bZJ{aUiA7k~C9ZyZ}-ms{4t$XSiLYAZh!WqTl42F*}f5#xB-Kk zI_|u+V_q6zZu9o+c12`JY8oKN|6{Ecja~bFd(?rN^W$PcrQoFy!0D;=gZBF3$4$ka znY-S;>}lPin&bDDEUQP?&X#Xrh|J1J`pV%krN91D0UXD>YK(LmE;#(ZMa zlTB-2n)$R(`x0IdK*WC;qx;WgGN)g3lmps3V(;iV{OK=Y)7O99biv59tKB z!2aBoJyLsv*-Zr>dXL@}bwY3Xak-6TdJ1)Wy8&M*4*Opl`}6hPFI(!$$`{pNl_Bl( zCqDIU6uj-TWYYl?(Ce?rz5ml>&(cc=V~i7;8zKjcE{(}52S#-{NdHgaL$V$cXJy?O z@VN`J({uJF!P@SN3B%`ZnzSf}y>HT_t*^TO+rMX}r#)kqHk?C@DXLghv|?}xePt&5 zuyay*S*Y|$rTvdJciWkYyi0h^A@v&cy!yc@&(8mf!>JpN<+#%RBM!^c`ib|@x79wK zH~#hk-IAK}Wl7p(0O_tJ@Oz4P`<`xGm|qDXeMPs^Ck~w~yq^K84z%liLCq`4ucJ;Gbjt#gl;Ob7z@W`({XI8CWt%-7%@UCAMbYI!p_1pH|5rg65XjSI zUmWATzak!j4p{rSjHXY!t}o{zuJ-Uv-_T+=J?$uqDkz^=l{T_7 zD4|Vj!&CHsfYSMD2uljU%^Kgl|IEV8`G_Cc8_gEBEKr4zHF^QKO&kkJnA z)3>69JL9j4K^b`?fw`LVe;n5>+i}|;wsm@1e(f3gclGzDJO7(C&U>%F{cG->`mQxK zHP^N=k`n*nxx1z@@5USu4t?hD6X-Nt{8z4isBXu>)4edCmYNH{Sw`L4G#%p@POiQS zGV(Q5r-yoE*CWMe98YF7=8=kG&-aX}espj9tAe3uMdT++iDb{Dc?;;|)X68NtWGh4 zN-#S5W8G%bf=``Rf$c|y92YMAPo}#hwaWfq+&uVY`Tq77Je)VHXb< zN386eQ8F$9NIr9RS;n33E4r!I9l5k(2#35fbHaGW?-gf8cEg28xqe?tALqJ?kr{at zfi_+i&G^5S#MgHm?b-h>BwqfzNcoRSVy?$M^A@ydRQKL*mvrpX3viV{!+>-o)9ZpwB9w=1m7PMU5>#E(I9Bu;i ztUf>G{}yd~aytaEUV(^?kWX!mLNVXB-0t%1rYxl(8LoYNx^hAErSbP)yY{W@Ji9)J zcZ>;{Zk(`k zRiw=@dNXIF@7S3S^UVnbsL6*4N_UO>aqMeHBHoEmfApL09y>ReMnQ;W-z8poJI&;J5AB#>u5Ym>d z8C#O_`nc@j+X}|Ogo?_e)r}W=1UgKOfBZ)CH#Csnn6dQFKNrrP9l3Su*4#~d7yg`B zyE?cAF{mDJzKIFcA9#OWS z%fR2ibm145j>y=*ZFX&A;LV*K2^me#Gv^#BEgdwV@b#nLf5ddWe&ZExe9_cE2kw4* zv{8~()TifyE#7C>hl(M^q~}kWvxr3E?tS}qDHFy>B$A4w z6*1$t{vMGwY=7d=m6?fMGc`p`X6M2ey!HVr>5rco)~*ga{Y#iRG|{>B!ZU8>%Cjqm z#KkmUSpw5sC=r(Nhf2!(;qjQ1%F5WT_cm27y>xuifALOJdftKN7mv$M?rU4prQ~=0 zknPnEYI-=plcmJa6CGK->Xf`0ncsUAFbx z=}!LWr!CvKasJ^&4{@cv`j-R)Ck7VZNE>+N@}@^|O}9U&>_e&q6{qjj#97Nzv7STc z-`A*8YicgtD4So*k3ZAkPR6(OIu!F9+ihJIhvYOyJWi*`k9O^U?00ydsn>J;bETgE z|KpDP^RGMeTduBq*>-zj{)gz>kzc=l{z76-K9tn>ejH{0gqWiBt1l&_PCR=iWy{u~ z)em|k`09t`fSNx0ek$1OXFXO?$_zWrYJ<;l-JsBsnsr}ciN>-Gst zcIvq45ujyxY)r)C=dZ1=483zw1N~2L>3_QZM*m-97x#bHyZBQAZNGnZRIejD8(EJQ z(N~wIVUe+~&L<|0lt+#ne~8#}_t58-ckUL@3Q}EYxfi=&vu0N>bK&2P2LCE8v3h5- z?)N!H@8kBq8_9L)SuK;VtLo0IBOT(0H-$Ufy)V1k|G2|ix$3XKzfdP$jM#=lch(L(_he}~ot&4KI`zh{z70D?7cPtQPQ2QmvMz4C zz~t?heQ|;9?u<)b{p${=zrBqL-?g;(&F`Eu`FBpvi;U{*lpHFp-$)u%2*XAtNJbTQ zE$Fey`Z1Auye%T(dsZub;Mpsp#eI6tS6wdI!z*(uri=|#uKT`)vZVFKc@YTFu{jf_ zwk-ejGHXIPl|XzeXbO+9=f-jGpG+-Ynlq>AweovvWn&6G9alD=_(!HFVZ-PdOO$8k zKYQIZ8$aYQ;rm@u{lS`qmkpIG1ot*g+koG=yR7?O%-6L?o#???_rkaB8Z|IARydrp zZFc6MsLZ3$)=R{&?W2=_zm6|T`Qz16fBc7i4?FsLjOwzpVIcKcQSS%4JI?i4jmFQY zUADI8mu^=$G9sqVOgS$Aeen3?@4|uV=ubx`rH2V@Q{7Y7P=|K^vlKGH{OO&_dW&hh z`gD2vwZoS2Q$OF7RPq#!(}1~6-$RF!{=*A%+0oL4Kkgs<-SyF8`Fx6EAC+5i=gfwU ze^y_3-99s{Ot_Ta3v-^T+q0RUyEdVetzg#H$CHK?7BfcA?|F8XXT{Micv}6Xet$Qg z>v3@dJPCTu(dzEJcS;=ITmM1x13q+ROyt+3gQoqt>a5IP*sc7e<~H9&7cDh=ZBA@p zR>ajAxib=n@oVExYG8kX5I=GFw&5)|zVKMVWmVzdo|wSl=egDC&AJ-}H(us=J2q!M zT>Px%oR&gdBb6r%+!+4a?C}o%Vggu{8_R}3KH6r z6_YpHPM+}p{@LDQsrs}L5SxeGJ46Eb7UOo*#>kAkUXd5s(+7`wRD>PZpSb)yW9uAm zpJk=^wFz+*f!x=$wU6JXshOR(jfkgm<}_UBzxP^V{c{ZAj}!MO%V&l^Le!ouzjO&Y zTjaLhJ=l4Q_x+qbltk4#VNH|gEjvu~1Oic)5q`ArYk%(idcIwV0QbW7(^7ROTZ5itUT8ZD*~&zjNQ6>E=QJlv6OC!OvfM^>I_GT?e~HXa|j( zSih&X{ORgtC9Uoq-_yU@7RAtI5d&6-DD{n^l%etY^Iy9vg80`o+l7_^D-ZqZyJ<3G zWy16<7-GuFKC70r{583MU+W=z6Mh0_M*LVS&YKdkYW%!mKM;dIbX=|}Iz0=Y++-FF zUD5Yu?1#TU5kRB$?`8CdwR!w`Jbp0Icxz|D!{bxdORGLN>`U37B7grWc`QtGmAQ(N z{bx#_#gXlHQ0kDU-|Z@!SM$P}(fM-QVeGwG>6|$`mTj3idf~-YIhlwf4a8F(;_meE z>(;Lvai!C_FBM*_d7a{9T;7dRPW>X&k*4>_%0Y=1om3WtJxRzo`-8Z=)A*P3k3Bx>tc1Gc;?c= zLyE|Y`000JCk~v)*?j)8K)T-l^la74hJpDpv-uMT4B!5xmy5=T+QHpbxJ2|qsa(U_ zd|9%5<`UEDGj*^2rsQjx#YO8IZ8eQGAG*xwv;WQ?T3PpQMTyfV1$M7{vi|w<0n4`x z?U;6;z7Jz=o=tzRwqf-SZdt#%T~o|@$$G;T@0!ozy(xDu#$R%z7a2zJHf^4EPqBDG za}>KM|J*swm2dq};*q`rdd;1~KZTY$Veq7G=XJzS$ zi{}-t@0ha@kvirJZ(iR;l*o(s3a&rtJIxOtR)W6bd00Ltb=)V&A>)BJs_cu&%EL8( zLif+X{vSqb@V76{OLx>o5EN3c-AI6X^cR?=_7VVCoCG7;`!H!JYY>Zj>9^Mc4Lg80*(h_V!R_Bh0%%?OAi-`fjB6 z_SRQP`kOmfZYzB8p?CO!0eP^G2fi=q@)BaisVq!i^`;3Xu1Bjs+b?nAw}F`zMj9m|E+^}4*mGt zIC%})H#TBgms2+*CK1eEqtn)!sh0bbZ{hF;knY&moPRaeLw>kL#aP z(H@<2W%9W}35Rbkf-GWBojd*K_a`k!9v$9&P6O==x-y5)CU{>yZ7Cc)vTsq*!=sL* z#y$68*6Zx6>)%2KzgkPB*y6k|Bgda+AQHk?EG@2AjNVwQP`xH~B z%#QjcX(N;g6^%u^zD)l(cXJXrGxF7=P<$9jp|h9h`>CI!1-_rB0??W;e4`x*hwTQhp9vGMRv%#7#P zO^VHhd;j?f2x9ASK5p&V#F)y8Eri*W4C3swjOHg#GGVVPEB)1%Zl=5|-xyrBq3P+j zQ;m(C8q4pWuJhbmboXc_WALe)H+ynY$JHz>`aP|<_qK+p(JLB9OzKqxzVAsNSnKWK z#~e*DE}nVhNYeHz{lA|-7d<1sh_*$y{!?vlQz1bAImN}3qrQKPYprRPWt_>eO{khR zs7>_SqPN8cH`@Zz07ZR;}sx3i8G?yL=^ zt2@N$DZmhxxhWN6A6h7p3P zd^zClUjNYT%zYEHFP_<7v7kqK9^&g)$Bp;BkC@{U%%3)1sY%&#D76^;NLo?zKB?*X z>zOATyOE1#7AP-#zw&6#wrtMR+U1jm3NXFnPB%>aXA(evj%C#lWp+joykuS+|} zoUUKEr~c={3vZ$}O}O^^q4o9hV*Z?&djr>f%EiQoYJ<}}+8sYeXRBX+YWIgrr8az~ zsId0T;H?8Dmgio3-ea#;I3BTE(lOPVcsL`zc=E~L5sw!Bmc6;w`P`cY(+*T^R({}K z8%J9eHO?0I;XqwmTl=?DLpP4=ZY_U3b9dRRn0<9#Rb$P)nr^-$iyQtrhpnPwF>spJ1+<8=o9Mr*nqRIPUvV!f@g4NuA5~3l}DjW=(x)%GD(f6Gty=8nw^= zje0mw4z+!%tIlw~HBXGe#o2l`bysnVP;_Z0WP*);;6^ z&guo|vxi;_3l}U%Y=4(iJ->hBmhr{0Lnm#H=JVBGS{k=tyv>|z@2f6bTFHyf+dZOt z8}OT|+jOJ$2Jb{&?Q`~xVDHjz9iyjR;r`yM8wIh|!78e%HmQzyhmJpS@XOk7V*{VM zUg%X$QYx3fY`a$a`Ra}j^{uV;B$Kb*p7a#6?giz*wGUS9^UwP3`04GY=-{(Gs=vE({nGBmL+^_A z$U0h17-C1+MxA{YGjQ<0Q#ChIiar#r`Ld_eFwDT{iPOLIO560cmJ#vs%OuQ{&V3tO zx}ylqy9^h|%G8Ec0|#MA$L{;TAD7>`+xRJPtv&79p37CpYkxh{wf@c1 zl?}?i_pvQ&!U_MS5>Im5G+o>@%bnPk@NpZrSO(-Jehs9?&vGvMp7CHz_k^VXL)cq| z#T6`F!wC`y?(XjHHo*z*5L|;>aCZiGCwLOv-QC?Cf&>WeI>5hk&Ur7stN&)6%|p{v z*RJlaTD7W1YfU?0lIbv3X-DO@PuWbqfDDSjO1ntNP4U?Pa=Sd>KW*9l?Jz9M+(7>M zW0%p|Oc$re*KmnxJc3@8uBEt#<5lq=L}RN-R9bY~_cLty0-TTeTOD(D?oYnqSGD~d86kDDeO5> zc(ywu1zmqVZJCSD{ZTkKpu>4guJ^>c97@|}fE>E)31Kk7RGYrMUacCBkx>pDG==r7 zhf|^7bCiqfIqh&(W}~WFC?dkf4rS4ArQpj8hp+o4L2jaUKzyrT=Iu_Jr=EeabFd9f z6A7kHd=>Z3Gy7`-U@nJib|DY8kotUhq|vCoA7+hhiv=Hpnh#}t^q{0r zGRw0;FR|eS=wuiaN@_zBn5fo<{%N;=Or@zoSYdeh_b`l_Ow!8nPohgW{rD$rjNj`h zK~;5WNkgx_sfKQajx#}c0I8v)=&c zya?p`{N&i-to1Kx#zkCjaYY@F#Tr@c#HmyU;i4tzw0*m_Ikoy5w9xE#duP)H$8}sA zdTn{ezg$Y3>Ag|DRfEPB38^Q2rF8q={^4iYX=vLFj|QtQUQt?Eml5Yy+2!pw>Ak?u zJMO4`1uFTcT+EN;Rnkd4jF(OowRo?mLj@B#NlOVy!{Pa8plE^Wj->YdVqiYBS!WwJoT3p{uomTsR@5$Y*40hdIUau=U-N;gi5MwXE8&BJZm+ps*6?UiFN(KANI?@Jr9g`)naCWEc~D?;pk z3zq|{_4)jZYc2ot*G8pNyG$;%m%PK`J@6s{kZ~#HW-yt~3*>R$A3>?oYY%)!I@Hit z-n|HhOt(aPphqm8W=8rmniTA^eLYma!C!_oA5Fuse(Q80UgJ5DIv3Rs1xt(jwL+#1 zJX}Ulq><98gxJ;gqXFc$%A-Wot;6V1JwL7YY%uP7;NA}`F3X$uboHmp+n|QM&r6+& z7)c2k5cw=YsbwKg?IGkWmiB&1S|qgA!a@@^x8)n8E$Eesv9BmUGiWi=h$2cCfU9Yu z-Awb`2!1aU^1b5;RpeBJxWwL5J~?&eW?1zBFEk;7b-8UyxoFJil*|*-j@Ibj{_wm( zn^3&!_bU}*NwWXfofTCPV_OHEJ%Vo02P*L`z0y}sJ_iva=0LhodiQY#4OgFat~uAQ z@8(vTBR)5KsLGPFECSr}*v8i6z?rXGxO=z1P2m$ub=^!5r|RbJ7Y1$a;b~A)sinWn0G8X>#-KQhOgO$ZnIQ%)wXc&#{&R7;|Y5qi9tn*nt!zAIu=%FLyUz(ZCUo+g>i*95vR3-D zSK~b0etQr^W;KlFTiGIavEvzHsa7dwg>Eff>we(y;QK~O@x9V?$t`cXW4vU@+g-&w zpsqD(`t_MrvKZ}SObL2Stmj->!FjyBSka)GgdNf2WZVa6Z1wPP@9+pr+C06M@(!m| zp^`}>@XB@u=HpBQZVYXzm@M2KL2v}8G?@~Kzf& z!f6jrZZ9rps+Y7^ca4w%^n{T!Mg6Z=h2$z&Is&GN0$;)hoy+1Gr>ll!m>)eiTA4iW z%K1|(R`R)Pe%G902I?i{PWhz=f>=Nw*6rGU#f6nqQ58|_)xC)sc0QNmq@q|cyPY=G zHBH+dmNJc?dV+`LB=Wyt6-eeAQc3U)mlZG`IEbL%8*(I(UOi3wQY4lSD=pk{I$G2T z=z+r}#?Wo*Pr3J`cby7&Bqm)#g)|mAvqQ^=Q9Y9jP!t!#$~OFnBFOw5?7|5Xay2N| zEJw6rQ0knnjUO2IicBsc%N$>_!vWrTU>2%jp3kMSM{|p{I0A4NH1Qxy*FdayqzouC z9Ue`N1R3t6{on)4e6%a*?%vWbSt6;spax@z!EkRv;I5{p%}mP3$|lOPTdOmC%V8x= zRO(FL{*{DW`a0>4s0bSw`188NjVn82tQW???gLX2Tq2KDbv~9-$c?4<%RJ*Y11q& z5zlBBYG!5yv(&;g6c@v|_P*9{_lv?z=^bLMS9NDa%)P-9V)+d&2eD@T&98LIbn1kP zWgidbUUEj-S;|Od5EZ*qPo{&$_VbBg0`(Gdub0lY=g#KhcdTE$QTb1U_d5|AbQ_OZ zZ?c*&VXt9-?_|D*ztHeEwr(fR6a*1W#j#km+|ofUbY=a#g_-fq4T>4EKHgHs!xf&c zT6P`;*aY`U=*t2v(50y?0iId0yS)`fRq?r|QQkWhvIG4-AktCbiwC(Fw>>4{+xS2_o5!7v(xE=>NaK5Iw>tPu6 zpUG@NJWem9pcliAUGovobnkM05OB;fu8g#Fv6#G+GUNBE{EEqq8xBvS=y@NSZZ)j* z8bprA?-!u#3K`B_ZnUa;@SG0M*|86RufXT~yiPgmBh^*Z2AAz`nM?UduTo0)0Z9!k zhVkf$k5An$LM6!a770Sh?RC%Y5}Rn6cT3BFw8KYr@3A}gpNl-6h}&sz{7pJ&ps%Kn zajjd-HC|eL!4tO1Yo3!JDVq`h6<(dY5=G1Bvz)chBryo;4~f83ZnXX4OxkCAD;Ncs zRRH@QSg3Vxg*v}_G77gcPkgB{k872Hm1zZY1$(4`pV8@gAGC8I2 zo{p%>t;n;vNg+EYqunshpg&JFLYbLF!mn7rciU<;o^Nzsii9`@?GbS7p}yYQQ;1M} zli^dV)@%qs6O7>NVud(4|< z0myR;B*Jo|oejYT5F)!@p_d`=9>nD)N_Crs0ZD#V? zbOoa5&$};jMC}`gg+qHv$%Ob0_3s}2Ii^^!yB8rIIB@X?pW#^5N(uWyh~{WnhOhEz z>keo+ANk#%{3+_eA^Z5)*uhY+Z*_vmj~N2)_07u)V(y4LyO=;ADJ!2LtRn|GG>$*R ze|&z9bVWTCG>Fe@+N$`ek6Q8Bd1Wo(9AbILE5eVEvPl<3F8(3w>F{rb!~Xb}X1B*i z@ik*jBM(nclhtkTzlX%n3)Z-7-byZ7BTXZP$8MU z5^43aRu-=zm@9bDb|Iu{h58LLw={)n`d{dj9Sa>JG`b8b(x; z!71rFB$YX&cx)g9OQ8KK8#gsTOr_87f6ab$t4*b9mIMwz<4mx`AW#lm`g+S?Bkt%D zL7YIESRyPU-BmRoO7%H>-s+-s**=p@VaboAQ~_17KWfL%wQsX{ONnwdZ(?YnK_Zf) zC%fYkUai%?vg2HQJ1E&Bu-|?pPWIzx6BrUwosi$3ZgrS|{H)W%-I{|6pWzpopZMoW zUrc=DVrJYOwUSxN6v^1k*Y!e#5tmRZo)^gqkPD&a;c5N zA)#=40&k>*xE~$8*s+^}gp(?U0u3L98gZNI(`f)wyjtRiQ7mb%u(;E*1?k*5@e&!= z3TKBN)o1g+PRX*cIi2mnuE&eyWMq_5sp(O5%f_18U$ypEAo(mK zGH35ApJZl?Xj=4|=4(C-1oOdVA7^4XS#SLgTXJ+Sw_}y&VT>Y1^{(NmHO#o)0`z+a z0;|?0^*S*Xz2--4!qPNPzr7BM4vAkJ$Mf|++XS(AWJ08pJjfZpGo}usUMZ^V3t(Ka zbg2D=ITP`H9Mz|H-Zr!E$SI|YK83(OH8_}^<<~#CpRR^xuif`<&9!jI{e@S1|bwOD${ip!-_Syaf$s1oIQVfeEhxrLc7y5f+bc`PG5dD6HH5iMJt#u_*pgu z1D(|%l6Qq5{}G3|5(O0jHEMeCVFr@3FYg+4IMG!1xt$4PLYGIX?(5MWTPhX+V$Yn- z+~W=`(_LZq!dYYrHZwL&U9Izfw@pPE{C zZECWUqbkTC9gFdc`i}*gEb28APhqIVdhty{DY7PbJb6C`UeX}%gpz==R--)1&-;R) z*m@p=D15Z|q5}15xXRP<*2*M&seV*pzfWGZh(f1id-Fuc7TM7OAKrh_!O-i#)~?-? zjtU02;zD}_=TVh3SCy05of1F57B#3aD`=Fos%p`eDOv>oI;KAB{xDAtY;1JXlx7% z5Z$wQoq}UC{^LhQX{z&CR~Ksvj9!fewJFn+KAD?;&byE5yVl{&>vp~jN9sPL;9ytc zyX!;*9r&Z(lFROrAK)EZ*TB{g>mXT^3@f5lhY_!SUCRT-(1PST8uoj+ROM^#=!J0~`lS%bCW+ry z(kQrUCMXx$d;sej$fJFGKt$hWWfpudNX*R7{hl25h21r?RWXV>wUB;Ky@0gNY% zvyz!`P~GSWr`<{|_0<9M$C7@hx_0z%-w&>m8Q+fN9a=doR^z<3VDUsMb7dmDPe+;U zvWe;(;z^)k{vh@T7$2Dww>6&PTD5<6v3XW@eVU`4`kNnS~T&R9`xy(#{*v!E86?F}kIW+m|lPGVdQ7HfQ zO~^NbVN3gLr>)M|VeI%;oC1ZJFp_sPy7r_t!6GrI@N8fp`UPp(Q1w_ zsY1oAv4u1BD0{(nGjYVx$u*FMy0YT8BuS33>2u`YlPza>xH}SbkeU>q?6KUpy?e~6 z32h5To0=5Qeku@VD2`mJPYPR>SL~!2uukcmG*rUk<4vntEY(%Zm~!oQ6yB<>9<41d zTv8Q%W?6Oz1^`IkEPeiUH!w0))|6?Dw^#@Vm0B+@{Hsp^FK~$>kN5FQ*FDvT$(2Z$ z6z8yZ-$xbha^i~0WkpFz8($C{fMZFX5|lox0XaJLH~UmFvFm4U=`|(ma4#Ws@k3E< zu1=yBoF>w;xtSd8SwwRLxZTMlnak%@>?jI_N;FAz|MV7xdh(8>Hs3Iya3<O2- zZB$6lBWqKs-XPR@dXu6p;;CTWp@D3$X#np{63g6mGT70E`pF@r>07Pntbc9o+;e zeaF0BEVo(dMorZXh-w{ zP%Wc1=1b!_og(BijgttI>Q|@4GYU}Z%s~{?XRv;WS7ukIQ1p8}N~^5J!gq53 zk=ce(aX!u*rWB2_f15T7whcM*?J#^J_JHV0v+~d=&OhWQFH!wrNFJ2VT@;T<9FQQa z9U8u%lh0x!l|@WxVS9ehYw}KRH6ML$uQEE|(cI`f_WP$$u`>AS z53H-fK$vLGCnn)ld^XWYPkiCI5xEK%x8Gp?e_Q}og>4B6G|9|ZTvvB4`i44zVA31C z=(;6RcnO!A1t;}5Q~~49UPgFxV|YwBq@F!nOm}nicXejb8iSgyR?11s?E{7z&OYHynqD& zsjdQZsy}H8wzO{9DsnT?GQ}6m4T3=^Z-3Pn_Ub4=4qdv4d-$WWT#`5z%$e^>s|o>> z_~VYTC4jF7k;S83l8K3lq3Q!*c%OxWh*aSqsYS`#$gV{?yAyeBR$qGlT!^27ikkj& zLDPmV@7dryf1%-wLMRqJkxU(nm-Y|vpnXTD_#a+|_A7m0p1x-#tbV34m!A1RlEEi8 zLgUy%OJ{+SQ3#l{D;R}XFx}UF(h^(+&CPfv&PrEIM)z^!@{7=Yk(P{XTqm(g&9@dN z4I6|gO(12Z?`O%nI-QXw`*YR5j*gh8gKSvdkITyy5#!jDQvF@a-5R&Sqd^`nmiSXN z<`%wsv4-iKnIRWxVxX|JMX{jSow#KowDv5D9TrqhDls{51Uz$U1>dKVe8 zCpwjSG##h_X35{(i;)o!(Dz87tFN40nnTCT4H7lFNO5Z_ z1W4Fl3UQE-oUs&dSmj(G@n;p!nm-ilpr7apE!)bGg6yG4w!GgvDEZgL7~4cTQ-I#q zTjII^IC-q96OH_vOW5;09xN-Xl6)q&n7W<+9Tk!sZn;#eUMxb&=uX?Db*}VXA9v)QcuvnQI2$^2}%7VwbDk(i+1PRaZxPNJy zZp{`bTUnWVgATp5WTW`jWHBV#{wzw2#hS19Tu!di*jV)|N2!*HL{je0(6W=Me8m&C z?|%$NBMqY0;zGQ~oIlMO8rVT>1E_vNWgv$wC*Q-$69j&A$%v%EZp zS?-C~6Qrg$XLzo~!{F`*1LIXvcFcOG6K)-@5|$S|e&1}UO+P{B-(?-9?DjUvNNlN% zd+UfUQpj!igZ;1}8;sp*Q+L4%V+&rXhl(}7AXi)d^*fX};La|x9y4ynBoFSV-X+uk zOCN5*9&O%xmR$?!JsvzV$`v_Q6VC}mP8C%OMt>~x!v)!dkEeJWdz8)T0az#jdK8DD zBDx&_WV3YoOl^2X-}`Hac&|wn7W2%8Ndl#ehn1t`;r0Sk3tfE#+i zW3Pn*6({t>_derEu0vw%GsS%62JI2A(cTC}g3Mu@1O%dTPO8#q8J-IHUoOWn)inN( zfJP)&GV*1A%Bl5K2LBI>DFYd$Z-L;f>mM0Y5dg$~=DM{SOCkhYQ*$|dG#O_v=*2f1 zzHd8~)rsW`cEPmBh96oso|8=aABW;gLhd-sZnjs$rR25J_U>+WPhDnwd^kEZ4SAa& zsCAQS_Ve{zyYP~b?Tj7{Q!c{|MoFP#);MZPN@=qAy~xpdo}v2-OYatuzUrLX@BPB= zoq?$FPIZg=zNNrYIX{jjZ+!fiOUn6squa~rLmEcBi#|GL^88lZzC-3xyYnfNMidp=GuhT$mUk3t_6e6_Mne~;Ax$!&ANcZhTSXTQVJ&TD>=RZ2LzC^w^U+t4tqzVjx z9=b7$@yW@F#^t8c!{Xkm%RDO{U-KPxoIoc<< z{5+m#K1IN}DXM|Xris7v6fS*?gF}y;!0ZZ*OM~mgs~3}FLCNk4rU}+6(3?TiGvJlE zc|JX1<|1sBWxe7ov@ne}@OyWz!AL(md~euJJ&aDR3*?T33Q$T}ofF|Ag;Y9pI=~qn z1W{8QTaTW^j~Po<{H@&2aS)%iVwypBd%BzQO?Snt0HF5^wwjkuEV|rXgc%9|QlC7k zbfw(LM~R&n{*v3yT;b4Zu#TA)q9$`K;JW@r24d}{VDlU&dS7HO@D~UhY}AY}`K=b8 zI8Rnv4MP^Dg~?XuvUTst*~vfdu~Ud8Cmj^2-B+ocD%^H-8^6#7%)Th5ix7E2L)Y(t zho^@xp(V0*rC<9S6}$(gGK4`>xt(bDV3|YFt0B)av`i3QAx)`pQ!=;B2xOs32*OYK zs8X5?ALkojw>F-;G4{{rdXu$qJ)kYS<4?enl>_-bvDslH`fW&?+!cIWl^_*=j+M5y z&Q#WKwfzjBDNM7L2S3tQ4lVJMUyXAy$)Jpw;n;(K~U?oT07pirIPYKH@qv_nZh)z}F%gS4zT ziab?@P^}1(ZZ5Nf?bsQ3WOdxO@$c;c7-Y&6A>$;!%7s7~Bfx!u9Oo7rSk&e3l zV4+nXbKXbpbbEq{KY`RsxxiM9%4JBpL_K`mfr?-X6`lEt%IYNb3{k(shgc~$q@%Xd zNeyiIoK!^1Mi+NMk${Gi9Li7xCujlhU3lJQq2gZce4tpjk}FlixsoqpL?Gv9iRAV9 z_v!A>7yIYuS=Vxildw*sRWz!Im$VJzp2|0OcU<=?x_R5z@jo==AT!Dvu^2{wO8O{Wo%RJh$z7!8zSq7px zv1f*`(9FU9(X`9@{o)Ut(d2ZlTV>4Q(P2!$u0)7n1o9;UZZA3>rY@m?YjIAG727+( zpvl6>VyGr-C7Y$d3e*y{f??~l@&L@kFa!E;0govSs#K>D_jdj?FSa^<@8+TN6_v`9 z^~4M8D2)5{V78V^VvYf{fX&DF=@RAe{tubF69iY{R$WUk^`ZQsB6 zYdg_0^WGF*5dN#BU4e6<5uAsU->6?qZYFCZ5XqP-v2WzvNOK1;@qwU>vHF#{;YFLJ ziiB-R_y&;MgA%%C+85T1q(WQgFVsRF*)h{m7+!x>3)Ba7?2@NLdXFQqS)&2o>D#Dq zXOjQ-p1=<9ZQv;Vs`e;KHk7=%!p+Qj|oYzSUPm?Z20K1h&7f>ZPB?@%7k z0P?;+m)BwgJNe;q$sdWod=h;1G%mH}0sWsz_*$lRsmpJbaMK<_(~v?wxa$( zze0fn!;m{DldN|=$It0nIAJlFgMaadmJehAs@NTGo3i1>2kMOFKm63d{_ExHLMwKU zEQRtt`Lr)XgLWdgPZd=k_^tDDZRwCH!9@8$COn|aiWVu7HFlt;eHZU}xU8B3n4rA< zJqmg?1EGMs=wrr~&?eM%f-5&G)adr2;+%gv=mi!z)FFv|#JU>UI*KWN}fD zJQ@FNZc1cc@poFo8X6&H(Tm{EEEZ)tEPzue>7?u}i#J_(ejhJ8|MzApw<81y8R|)< zd4y{JBet18{4$E&@+T%PZb0(T)V@AGwtuQ_ZXx&dm5lk0t8y7GmuS4XkEvaEPV}Mi z`O}Y|i|`9@tpMJdiL7g$gg^hG;Tdg<%Lnrj%11)hz6v!g9gTWO9Z;m#^J?A5^?*kk_0ClhNZ`l<${~%BVYN`Oa3HMVIDBh?1n6(WyQ1O@t}T!&eMdBL!QeD1|GYzz9mu_ zvNm7=kCieUc42OXEnir~tBz@1?`QKR8xg1fBQ!v8z_1(1s(-sd#+t~*`A}%0U!S5@*5mLxZfZU7IPYfXu)cHIy&(MWu?YOFu6h* zq40x>lUk^yTB8rW%keGoV%2Jpjh21>Quic4Dh;QrrAuRUyk50aF{+>XUAa?NukPww zVJiI!gN^;tZUsH>a6z)ZzVQkB?-ayS)JJjF+Xz=hFGZ+pZzNxb+Ts;L3Xqm0sJ)NG zje+Kx=IL|TG@vRFcdFN+$(1SIqp={@ZBw@0aa}U;Di4B?pf}LuC+?&B2-=mi&733F z_yOu$9C-I4h{OZ9j+iz)320e1`if(bm1`vY_N>^%*3o4J1c+5jV3c}Io&HX$t$Sib zP>_3GEDSBMJKdgBgj9;2e)A}jb(;UnVd#-DyygO#6}A=d`RtJauo%KC=NgS(dJvnR zuF;ZNzM}%1mcdj?|3c&JtB2yR_=ky{L7^jYui#+dLp!6@TyqaRnBHO}BqX#Ex&#g% zuQ+yxX_=OJlr^8OGo*zyo)^oQD~N^AbNRDnqHaud+(QXe!Vj7%?83vG<@^%z4PgZY+1YpACTsm2;~``)!s^ulcT${q+_AV z4kd-+M{v=0t_AC*)N@7D zI4(8+!%^1$zpPa8H^I-}z9IZ$ZgLi}gm)?BaATaEo#CxpFkQjInVck(KOE0{+G@8E z>wEb{l`b%tOx;2Axk8v!RbT6B%6m6|jpM_*16`munx)(N8vz2>-UGe!~Gt81V*07Gr|;z1G#$6h#MYieVV&>UfVJhC(X=STvD8hF}rZ;066 zWHwVg2x2Sjg-=XlH~(4*cvwW=*Azmk68fos839~R?V5vVGBqp$t*RjkyXQ7tsqUdU zV%V%`?@)*`C4nhGx}Py$^(PmT_qzcR0Utx7^UQVLhqJ^*jtM~?g;Lb>Z$EPA3|6~_ z=+KWetNirq?bl#{-6~cgu%ME!`UUBjS2X^|?|8Bsl4XsM(u5yWMMhJx!9noml79O@ zxG9q=52jM-qK(Tno%x;ukaxQC+VMbk#bk1{u{k)V%745OItm~EBK-g9BZ4VdO|0{-*^sb4^tJ%}s*>-UK{-a;53E^DgS%(bpDdLx}a=PDFwJrvTEk z^;X*O$jS$}hkTuwQOo%~)A&swkSg#zp1K66Tbxuv=^{YOhb~Uzy>cdtoR#aoJ?Sar z#lj5Wq<)xGy36WuD;^Scy`V|06^8>Sq*=TNx)!9P?XAa?61=XmimMcSA`5$cU~D96 zp*lObd8{SjA#SB>X9v(0=A_QP-3z>b3?urIZztI+_}EckisEeE1>wwdSbUQ%wu`&UcpWJQ5ib`{&g9_x85F+on0Qv>e&iuLYhUydAI>+bX=Pa z<$rOzowGtO^v1K8%iF;e=7B^OP)3w*MBXs*n%hzLF78R@?Sc2~Cfeuu8@wV8Cv3=@u?47@kSfBq0gYu2JFLsWnip4Sg zbh{K%`n)4D8*G`39e%mJ-X7RC9AaFmabHqiS4Tpx^pG|!2)Q`Qn{C!9V2Q0uIAXQJp!C=;j;&3i6g)O9h}NUs(%LnaL#p=qJ%yjV zh527v#x`E$5=#_f1P_W9bNhgmb-}5SP^eOyGY5ZK2#)QhxXah|5{t1di zVDdBd<3B;q5BsMg5b2vU6Jk&g>;}I#cr$4S+eLa=im}S$&y&oclZPXqCder&bhGRX z!N_QONzfW78g>yLWKH==$X;nA*?6CB_!q)Zd)!^7$xoV=!M)v$8~)xu3rqjtTH}82 z*Rod+bO?~rr^geb?guC6A90TjKcaMEX2lJiY`u6l=z_n;|*@Ot JQ~% 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 BBTxVU literal 0 HcmV?d00001 diff --git a/docs/open-source-community/developer/README.md b/docs/open-source-community/developer/README.md index fd27a323c0c..d5e915e27f7 100644 --- a/docs/open-source-community/developer/README.md +++ b/docs/open-source-community/developer/README.md @@ -33,3 +33,7 @@ This document summarizes information relevant to OpenMetadata committers and con {% content-ref url="generate-typescript-types-from-json-schema.md" %} [generate-typescript-types-from-json-schema.md](generate-typescript-types-from-json-schema.md) {% endcontent-ref %} + +{% content-ref url="solution-design.md" %} +[solution-design.md](solution-design.md) +{% endcontent-ref %} diff --git a/docs/open-source-community/developer/solution-design.md b/docs/open-source-community/developer/solution-design.md index f8d9b366d40..5197dd87a85 100644 --- a/docs/open-source-community/developer/solution-design.md +++ b/docs/open-source-community/developer/solution-design.md @@ -27,9 +27,9 @@ Here we have the main actors of the solution: ### JSON Schemas -If we abstract away from the Storage Layer for a moment, we then realize that the OpenMetadata implementation is basically the integration of three blocks: +If we abstract away from the Storage Layer for a moment, we then realize that the OpenMetadata implementation is the integration of three blocks: -1. The core **API** unifying and centralising the communication with internal and external systems. +1. The core **API,** unifying and centralising the communication with internal and external systems. 2. The **UI** for a team-centric metadata Serving Layer. 3. The **Ingestion Framework** as an Interface between OpenMetadata and external sources. @@ -45,4 +45,58 @@ Then, when packaging the main components, we generate the specific programming c each of them modelled after a single source of truth. Thanks to this approach we can be sure that it does not matter at which point we zoom in throughout the whole process, we are always going to find a univocal well-defined Entity. -## +## API Container Diagram + +Now we are going to zoom inside the API Container. As the central Software System of the solution, its goal is to **manage calls** (both from internal and external sources, e.g., Ingestion Framework or any custom integration) and update the **state** of the metadata Entities. + +While the data is stored in the MySQL container, the API will be the one fetching it and completing the necessary information, validating the Entities data and all the relationships. + +Having a **Serving Layer** (API) decoupled from the Storage Layer allows users and integrations to ask for what they need in a simple language (REST), without the learning curve of diving into specific data models and design choices. + +![API Container Diagram](../../.gitbook/assets/system-context-diagram-API-Container-Diagram.drawio.png) + +### Entity Resource + +When we interact with most of our Entities, we follow the same endpoint structure. For example: + +* `GET /api/v1//` to retrieve an Entity instance by ID, or +* `GET /api/v1//name/` to query by its fully qualified domain name. + +Similarly, we support other CRUD operations, each of them expecting a specific incoming data structure, and returning the Entity's class. As the foundations of OpenMetadata are the Entities definitions, we have this data contract with any consumer, where the backend will validate the received data, as well as the outputs. + +The endpoint definition and datatype setting are what happens at the **Entity Resource**. Each metadata Entity is packed with a Resource class, which builds the API definition for the given Entity. + +This logic is what then surfaces in the API [docs](https://sandbox.open-metadata.org/docs). + +### Entity Repository + +The goal of the Entity Repository is to perform Read & Write operations to the **backend database** to Create, Retrieve, Update and Delete Entities. + +While the Entity Resource handles external communication, the Repository is in charge of managing how the whole process interacts with the Storage Layer, making sure that incoming and outcoming Entities are valid and hold proper and complete information. + +This means that here is where we define our **DAO (Data Access Object)**, with all the validation and data storage logic. + +As there are processes repeated across all Entities (e.g., listing entities in a collection or getting a specific version from an Entity), the Entity Repository extends an **Interface** that implements some basic functionalities and abstracts Entity specific logic. + +Each Entity then needs to implement its **server-side processes** such as building the FQDN based on the Entity hierarchy, how the Entity stores and retrieves **Relationship** information with other Entities or how the Entity reacts to **Change Events**. + +## Entity Storage Layer + +In the _API Container Diagram,_ we showed how the Entity Repository interacts with three different Storage Containers (tables) depending on what type of information is being processed. + +To fully understand this decision, we should first talk about the information contained by Entities instances. + +An Entity has two types of fields: **attributes** (JSON Schema `properties`) and **relationships** (JSON Schema `href`_):_ + +* **Attributes** are the core properties of the Entity: the name and id, the columns for a table, or the algorithm for an ML Model. Those are **intrinsic** pieces of information of an Entity and their existence and values are what help us differentiate both Entity instances (Table A vs. Table B) and Entity definitions (Dashboard vs. Topic). +* **Relationships** are associations between two Entities. For example, a Table belongs to a Database, a User owns a Dashboard, etc. Relationships are a special type of attribute that is captured using **Entity** **References**. + +### Entity and Relationship Store + +Entities are stored as JSON documents in the database. Each entity has an associated table (`_entity`) which contains the JSON defining the Entity **attributes** and other metadata fields, such as the `id`, `updatedAt` or `updatedBy`. + +This JSON does not store any Relationship. E.g., a User owning a Dashboard is a piece of information that is materialised in a separate table `entity_relationship` as graph nodes, where the edge holds the type of the Relationship (e.g., `contains`, `uses`, `follows`...). + +This separation helps us decouple concerns. We can process related entities independently and validate at runtime what information needs to be updated and/or retrieved. For example, if we delete a Dashboard being owned by a User, we will then clean up this row in `entity_relationship`, but that won't alter the information from the User. + +Another trickier example would be trying to delete a Database that contains Tables. In this case, the process would check that the Database Entity is not empty, and therefore we cannot continue with the removal.