From 403f5de9b03ed174ceb829d51f4d4438011f44b5 Mon Sep 17 00:00:00 2001 From: pd Date: Mon, 30 Oct 2023 09:47:14 -0400 Subject: [PATCH 01/13] feat: add azure private endpoint node (#873) Co-authored-by: pisethdanh --- diagrams/azure/network.py | 4 ++++ docs/nodes/azure.md | 3 +++ resources/azure/network/private-endpoint.png | Bin 0 -> 14806 bytes .../azure/network/private-endpoint.png | Bin 0 -> 14806 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/azure/network/private-endpoint.png create mode 100644 website/static/img/resources/azure/network/private-endpoint.png diff --git a/diagrams/azure/network.py b/diagrams/azure/network.py index 23dd69c0..d55ad3cc 100644 --- a/diagrams/azure/network.py +++ b/diagrams/azure/network.py @@ -72,6 +72,10 @@ class OnPremisesDataGateways(_Network): _icon = "on-premises-data-gateways.png" +class PrivateEndpoint(_Network): + _icon = "private-endpoint.png" + + class PublicIpAddresses(_Network): _icon = "public-ip-addresses.png" diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 88fba3a0..10667e45 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -572,6 +572,9 @@ Node classes list of azure provider. OnPremisesDataGateways **diagrams.azure.network.OnPremisesDataGateways** +PrivateEndpoint +**diagrams.azure.network.PrivateEndpoint** + PublicIpAddresses **diagrams.azure.network.PublicIpAddresses** diff --git a/resources/azure/network/private-endpoint.png b/resources/azure/network/private-endpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a69915497090089a02b6cb7d3bfce477a4d7e0 GIT binary patch literal 14806 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 literal 0 HcmV?d00001 diff --git a/website/static/img/resources/azure/network/private-endpoint.png b/website/static/img/resources/azure/network/private-endpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..a7a69915497090089a02b6cb7d3bfce477a4d7e0 GIT binary patch literal 14806 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 literal 0 HcmV?d00001 From 0b09d1b4d789f9bcea2e49a2b94f79bce08163b9 Mon Sep 17 00:00:00 2001 From: JeongSeung Mun Date: Mon, 30 Oct 2023 22:51:15 +0900 Subject: [PATCH 02/13] feat(node): Add Trino (#923) --- diagrams/onprem/analytics.py | 4 ++++ docs/nodes/onprem.md | 3 +++ resources/onprem/analytics/trino.png | Bin 0 -> 44239 bytes .../img/resources/onprem/analytics/trino.png | Bin 0 -> 44239 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/onprem/analytics/trino.png create mode 100644 website/static/img/resources/onprem/analytics/trino.png diff --git a/diagrams/onprem/analytics.py b/diagrams/onprem/analytics.py index 23a55948..7e3ee9a3 100644 --- a/diagrams/onprem/analytics.py +++ b/diagrams/onprem/analytics.py @@ -72,6 +72,10 @@ class Tableau(_Analytics): _icon = "tableau.png" +class Trino(_Analytics): + _icon = "trino.png" + + # Aliases PowerBI = Powerbi diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 4a237372..c7a7f01e 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -65,6 +65,9 @@ Node classes list of onprem provider. Tableau **diagrams.onprem.analytics.Tableau** +Trino +**diagrams.onprem.analytics.Trino** + ## onprem.auth diff --git a/resources/onprem/analytics/trino.png b/resources/onprem/analytics/trino.png new file mode 100644 index 0000000000000000000000000000000000000000..57de0e6c6dcaf44dc3d3d1192777a1dea8b48ddf GIT binary patch literal 44239 zcmWif2{=@36vwYI7=*E8-$vPYDNBSw7{)TTgb;<0y~xhUk~L$^&WN!uDLW}d_H4-( zniwU7?BD%(<{8hJaou~*`<`=t|Nn_IHq@b`;iLfofKE?W3j+XT;E!Ygj1qjZ@hN`@ zKJh#1V$cBaOb7tNu>f!kz7+lw0Q_YDVACD|l(PVU%`3OnL<$Zk}E#Tt+@4}AP zY2YhVetKwaDkAI>^cqx8C72cbFrcTUVHWUpEAMHRlXlBRm%0CaVm|lN8;x;wrGldT z?;dJ1HWp?vN8TT?)YjJSxQ}cRqcpG?KVgQ(F$3A4)F{JEDg&8NH4vSb-6k*x*;--q+i#yZ>5@fT= zsLjn0cqs5W=eip~y6bi#^&`kKe6FRD3x@&JZEerAn{Aam;Po(JQFufd&KF@WWS7Sl8YntG)m=ZhYVX@KO|kutbLF z%G*4tFe!ORt_Va$MFGI*o^eCfo+!S63c*H=sENU;t>hk3LL%Z0NAnaIfV$8HWgy%k zr@XTAm9<#o+fMPj!#{px2d5(q^_MWF=G zH+`2%g@F8MN$cirnM*Q#EQk*mbIlzSVyt2Mus}Y*dd6SkZu`IRr8M2EDWmHEKWv#T zpV$#W>m8=4xq9MfyS=Y6T3cKDYID9?mb}O`gsflril*kkgT}iz(qy+V8xH}#C*1ut ztq=xQZIfl?B)sd_6WZwa!+;dzPtfSzU4ks+`XiMk@DhjW;wNM-F-I7eM~DuhTOD$p za~`4;654A>a3uGaO$LCDj_ywgUrx;srUFM7jif-En>57#`iRu1kB_eCT;RNh%VD!u zgCmXY?7DO(n;1%8#_5}*PhuXkKP4dTcQg!7KYh-=$p(zgPm-fHc#>9gjYU{k18dx< zdL0rH5{mKoK!Rsm-=&f=vMs97J^T5C4a{IA7WWKMaA9&QGw4qXfrLS^&_oAG3>`;nRzfU(FLnYylMv}?}la|alZb5r+BvqS5KRKhJD4-Hd;axK%Eo&Jk5Zk}+UT zkku6(pZ=;ml^HqG>9-|2GUZQm|#cwhrSCk(%-+uIIs&MV^t=4lyMmL=Nd4CmKXhux6^fn!aiK# zzkHpbprF+^^OfrE^JuMO%b>w(pn|5 zVWHvkvz4|G6O=B+<+0I3+gnYe^NIVegjUw>1#=BX81(-YFx4Qj(OOeXI!=ridPWzXH@bhEZ}bRa&y;k{q$Em&Fu`?+^1@Us9RT+Cb#7Q2&G^HS@yOV=_~`E> z)ltXmWL|&gIzw)P8(MLBJ@}=Mh1;cIKB$b6UgIvVamKB2adCC!8@@idIw)mb$lWC? zCkN^GevZd2VazU%-;uBtORvFWgGcH;HUfW>ep7ovM4Ob*^UuZ9m)wG#i!X-Q z;>FDcMpJ)t*vywNevLIGo#1_{!ROtzp&ONs84o%}8>(U`*fBDy71I*xC<)lf^9HG{SqkUUSzA|l0r&ALX zk!58Kv2)ZsG`FpRIhgQoyk+_y{6TlYj* zI`1UXDsr}yIxO$^w))q=ZD2idaPZ1BnV4OUQ2(=u`E>lG!fB((7*^!P9$}wyu{s(? zIe5D(s-Yj}&Q%|9D&4tlS3`RCN#--(YfRiz^u8+ZM1TPpZQ^j`*w@8d1t;g3zH?hP zKr5-$R!7`ifj8OlSI%`8SC4Aym6FeWbX+}3{c*y1vCbB?=j~;#+ZNZWM=n7NNy;qR zM~seJnK;ac`}O3Zc0oZm0seFYfoxsH=MGzA@@W0nlPj1C76u&wb}s3D7WwNpz}-Mi z{5qL&k3V;K3ajWk7l$Ja@bA17mU5PIv0w<#(^yko3w=j@K=5{Xu?n;ON^xIC*QoHf z_=yy`;hff)F+}vt>#7_h-K-bZgZ^6j>w;%A`NST1@)bIgLOV|ipHsq{M>&+eGB$m) ze88y!F_={J=$ZfiKA05j6CS9Jwte!>9WpoX;J;`2cJS~ltjI?4IIBzu5M!aC0N~KN z>|!ka4+q`Q(92qjQMc5J18?rV=#HgSk7R-*D)Y}8l;mWdZLn%Bg}uL5;M@icw@>ib za;y*R+nbp3k9yC}j<0cGuiX#1&;dSI@V;1u zLip?cV42N&<(H)J|0)P#54G2+5Nq^6rYWkwfE0&?|NQyW*w0oN3;<8Zw&M`Ba_4 zXRv}A05<$631vP0wqW*0ii+Tw<1~V3qE4%Crgr%YyBKI5bCE2R-6k*6PUbRN&JS#| z!uw7a@0b63drras&;QJ5qy^@_^d4(5qA8l5!qiFZR~Z#vln?MqdLY(irHWV!JAM|# zM+1cvz$l~0&@+14q+?OU8Z$7F>r1^{XAxG&{pBM&xnq^Y9d&+emSU3sBkOP)TieD_ z^lMW~L1yYa+2_ucM>>BSHfstnhsvapp5(6#N%?CvM&vdCe@Zh$*K75KHyi7rM)mh@ z%2GbHW(5i*V}Bp#4=U*@K{-0@_Q-Ep-gx{ic085QB}Yt&C=MkyUPnijk<5$EO#!eT z`)fuKfA2q&)TJg7h_N+mmyOns2$Ic6hXd;-IXeI zSKqc|`r3Drlnn4sb^GFY3MnpB8;hE@M^HH+IrN}GbYNnhjv z+)$YJNXXKmhPXpPy1Vq&2IW!?*S=0{%by~1$?iw4H?ydhCFikzY z)j+fs@{}yaE$7a>k6?(Zwr&Rdff;SEUJ}7)%JhZa=X_rCh*JbF6@F5R+onhn!WLFn z|BB69$}_RSnBV(Wwd)I*H^AfS25y%T*41m`fmt_ZVOz3|AX%VGNUWoKJ1`@@ zvlH8c0ZyST;bm$?XbkaWUGuf4|h*uk&K}i?+;qHa}OMdpS1FpECD5TUqMf2GWn_+SbOoR%Lt0tDpv@V zK(+yy$oyk@^a~&$k)$}oh>D6QfPWEK#!b9I#@4pfoT#sR>TnnM!Vq6eadzYKk`@ER zP-QuT(79Q8)n_VT91L0mf$$!+-`8B>Y1H{%DpubIBP=e&iho8W<5V{I0$kO`GVYh9 z8Q>!ZWo{@aj7LQDD3~HU8FXzYn>N>CibdwhY&1k|`;~NT7sfX_?&z^)0xIa4qH?h- zSbo+-gMDKjmg{8UgcEeQ+;P=&#it>ZV9(8#hE zD=vc-uuX#-ha95oI;ba~V3ZK%qAAQ^KUr{!Z1aW-m&Gp(H3nsjVocI1+)&Olw0`Fp zmbR-RvlC^0uyhg+{Ow2CdkAe&>2P}n@lGiHqtaLA7FZ9rOzJ5A3OEf@dhv_ZGb2zN z&W+ihgHVE%R_5k1+7&ckf`H%%*=De0H{+$YyXc&4_7{H#_p+VwRvlf>y^x2)PSKN1 z6})9pWo2ZAr^e_-$d;S9x>@`&$;eLK@vFG+($a@g>!jnG?4`Yk2HvY-2XP@X^C{V% zf1qEb3_Y}GC;Pb9A+9p>3t}ue`<_e%2|KF6?b=NLUh@(OfmNSrvZ67ST92&EHu!Ovzg?TyziO&#Mm3zk3aqYD z1L|Vg;oB!Kjay%thsp`8Lb|!Ww5*KAwkt3m1c6x?$Jjm!U<9zVB4ZP6WRov zq?)9p&^!&{gs1g}G9>(kYK<@HlV??J&U`s1ceG|TL*IM__jyrVm-NZxRZdw87Jl#X zmQS~YjSv=&Z=-ZhO*z(a*qfVR&R>HpGfk|-`~4GMiMLam&%8uOFTfoql2dbqDY1n> zh~IeF59YpbDVwIX$!O%c?PI)%%k|q~yQO~lx{>Uc77tWP6+e91q#Y>kIwT5(geir# zKYTft_UHl6(jL6BGN^i0(M}>AWeXN$@dS%2H*|nt9H#X)s%3Oa?c&6z{@znZ*1oyK z%xk8BzCZdTIr&8M1YRZ$HcFL#BopnqCKWsKes*-*#+I8^+V+{bROX3Gz3~=vuALk9 z%ING9S3=BIO4c|eJTvWaY|3};@XyufA$GUbPd-6okqFF4Q6_1*Ve5K8#^^6kl5Cpj z+eggy2GOyqlzhSzt&k^vdF$La6;TKm$wMCra1qu36UsuOIOg#RZCUdz- zSyfy`*>;fg-Hd(h(LF=5aCLs;{R}_ye{r~7ot!cam@MPF_5C$6;DdeL`82}@b;++6 zwZTPuAO2Sw0S)#>Bkl>!=qWZ1}D49HEyIhX$}&U|1uC-Xrm=WQ5Ym*h+C=S|Wo zfdZSPWW)BJ@%vyEaAMm( zwmR0$ZHrrkW`)44Zx?>1j_AAIJ#PzKVqmajOB4w&_}Lnov#R{|XX|;WC|<3i_CpgG z=0KPcS>45yoI$ZkNpopun51c>P zR;>|Dj|5jY=22DzAdm`^X4&NhLELXM5i21Jq+ z3-qosKR$hT znBHUtf?G0w6&{CS27TOiK>~CCQe@AVYv*>@toN3FWol^pR;N5-?P;^ek_g`5clMg5 zrkJkoMxn_sfnrR?#m8nPfmP(%;K|w96%7Ll@M7Ib3yf)%I7ncB_49IEem<{R% zX@V^%J$`=jUw@g2V0KB*^Lbv}M#I`o$ zEl;X}P@^%*Dxsg$=eICG-Sawc#Z&J8dm4446vzA+Ps2>jlP(FwUKz|d?Ztodbw5-? z({L8WL&`q8gIE{|yPqkMGy33iuRLRNzcB6QMG-F40#>hPZa~}Nopdvx?_v@!Ui$V5 zgVnCLjD~g7J*vcVx1*H(zT>6NLbbC*|Dbzp?(?0P$tKUE&I0jtl%>3af@&@b|N7ZL zJ~NoSZS@p`e)l-mv&&s{fN7?wfzqo^w3|xPd_Y&U$9RK9UXvUW^z7M+;tikdCQjJ% z&RW8zoA8X2nfc`eS$%LHa5YWb6Xv7<5?%gsZPZpP^=`iv5LgwV60Z}4Hhnb7l6K9+ z4Ay_iEMWX2`1hl%`%*KVdW$EP)LQ1iepiCmk{bW1e#g6_ZbLP?>~Km=M~F83%xWdt z{GNNP5u)P?*AJzmQz$e+EGv%5UL`f0_zW1E9sAq4aNj;?3vo0Z{D_ryT*ZX_hO01GA_3f~x zTxvL}HTHH1J1=kO6~x*;zmtK<)HZ>j+^3|oAdfnoV*_s&H%oeZnCMk67774XC}NNu zr$mOsUHI?E)OGZD$vXG7%ZERI zm$_?Q<5!It!VWw<^I-)2OsZOZpo0*xi zRg;&8_U4|Wb00wp2SaVV%zOD5cf&W@W8!DuQ1GW0GhOka)C&h&1&B!7Dad*abay02 zeHm$@)kUL46m$b#`iA1SPspD;6xP=>#<>+hfj=6wa%Hw3V)VOGZe-s7W}&sRd~mAX z(pMrUj2)XN-i^q7WhkY9?kf_w!HC)(cayUCFP}TpFQPZ{ol(< z|BL{>gOD&6yUR~})s`rWul4Cje6-4oRJ^KC4W$-^wKtfm4;YP?ACOc_E_8Hs5cpCo zT#_kKfc?@@uCKvcY=LtLNCdV#hqGo6Gu@u>oKqhlZVKU(m`08Q1Y~b9#TgXX>=NI1 zcLVQ6i#9lc;8@>tL*yqd^B*YlrD9^B>Xh<{hlj_&xy!XuX)@i|suOzR##&5Xf8WqP zC;i=9`eRx2{w7W8QG>+T+ZXm~${Ci#=c&U^fWepJo93_`^L}s6(iAlr^xo5aVo{0X zaqX%3qf}w4$QN;%yuVL{0S6Jw!fZ3vU>{~ZQNf{ya=><-9rf|3447E$PBtM(?89H*=NO6Cy z^`OuJpZq3!Y4oE0gzaE84truigL1PMxU9nZA`eg46b@PH(lzU&!52W0a1^d|y?Km8oj54lak%YfL5PlRhBRkVz?H z%82Z)|3ypo?d2$uiyC2ky}ET<8VD#Ta}8VYeZv#7bj8aOZzsZY9t6SzDNoab6y`>C z*xyDj#=s?{e!=Ckl_BDGEBluWpO!OgZ}c_2E;~gE7rUj)=fe+BU}bwJ;Qjjw-p(tA;39d*Cw8l%X7;br-|doeSh#K2;6phO*Sfg5 zt#aLXyw)EiwEWXWX=wB?1c$=2`7VWZ!I6Xr0FnMR6gU>atMOwm0qVZK*Cy=jXaSMa zda5RkZ9hvqt70YQa@1B&GRL^+ouF<9y5nJqva^9emGR*m@B>0=qBFdOrB*ZhMy$Kh z3Xp&lrejIbb#P@S&)=m3F(tnkB;43XWOV*F9J2^X(fgzZ6pxo@53Ng$$yW~@p5?Dv z!OVW6$NfXJ>+hVtgWfAn9||;*pDx7F&o`fGq9;{QqVX5Cd;;4VdCZY*QoeV0j8ugK zUp1!P{Kg0v3!cU`}!iD*pV1q67}5jZA#VKs&+_3c8sa-V(+!xz9@`(``g6~Kd zwdg1_vRfvB+ET>v^OU@Y`iwtaI9qbR!UW=;2}A0gxHUa2)4iFS&#EH5BC(bk8T{ss$l&qw=dzRXFOadWc^gkT93LMq2l7H90H)Q|84<#>%jCx( zQdSiF+vz8^&RctO{^@^F=U|;!>jG%uWAJ3aW$AF_(@N@}=*RaoL~yHr9j@R6Sd*n6 zBy>n;4tMI!_{%8`XJ$B`c16SIRYx`dgjSyR2+IEHL}selcPxcUIK-Cvx}+5_)jcDR z$b8$Y_|`Q>ca|aKmuJYbrr;eSMNuFpcmFt;<03@|-(XP5atFiH&C^|f4-YjNX>xKn zUqAboqC2NK#XFp02mvZdYs&^)jd6J(Hgk- z11Moh)pZ(Oq`iWSeG1;##1$`g$L#=im5p!_=m@}AIv~v*Xe&Rc70-l9vk9s$e*a8n@8|bdytSt5>1b#O4pUA* zQ6nhOlR|@`N(_k^CnCz<{+v_~uBioFg?_2we{cEuwLF2|i zUjk+|e)^xZI!;z278mb z<>*zmj_v&9d4}YBYrh8gCISVoHU*meeEsE@88N!H#M{G$C8RFpIUUyx0ASIMC?n)y z2A`m3B+;f_MWjBl5hZ13f8L3sB&tU(z~!ql4$vy6pWX>;0d%P2(CXI*6vVTtZ@UMO6 zzi|0neaBH{J)i%V=D@Zv@L~f@sW;qSlqfXJ^}On+ZmDVt-kR;?Ar#v`(V+t4y}JSR z`smguWmJ!yZsc}b&HPi9M|M=2py(^G{@DMxk^xF>ArItbyd{g#yv`B3wRf31PQ}sP zg%Go>Tj$$v=v6=tl?9gQpb**(-bl0w4wTN%Fen0nQ1~`6f^&nSY zaod>_yonK8HTj08dC!M7%C%mXe4gzW8drZ92nF4-3#&>U zDJ^ts6~dQ3tGHM^`yJZt>E-sIUKE#xR4ED|rh{eP_T;EHH%# zv2F4r@WI%r-Wh;k4Mam|G{myC_~GFm^HRWu;>av0qAm2E>^jmSVVmFgUuTyEGCNjP zPYgSM_cu2$B0X!qBXKucMCWRedLG;DGX%{5 z-aBX67gRmfDH?QcdI7m`2&Xw&I6O`E5pO=FI^nUp)!biw>ZL=YvIN^9_O#AzKDLc+ zEc`=p{ehO8_j6KUCkIRX+)^gQ~NXqTMkw>FKL2s9=-xdDt=7-UTCREg@ zt2L7K%#3jEom7#u7DpQ>dD^eR(nWGocFp=5ZV6)*jbQb6Av27~cpOH;s?~`QL&~y$ zNE@z~D0t}pSq~PcU1E|>_)N~PXRH^YzU*zkS1Cbtt}e>qZ$CUPRbrM?BEf-S9B#dBsNQpcTnDYL%z#R8k-(j#IFkm4HZl z8X=LXOtUwdnTPW!k-8nY-7-vtp8!JZ#@i+#lfcE-j%-UMA3;!?cG8lzJE5|3ftxV8 zn{k;zEV1A@HW|2OacUhF2|r%ZJb+@hJd7oIJhUY#X_KL?Bdvy34|E zJyeSoDiBW~xK-L_>px{Es&kFGG?Fc;eW1P&B-{hL(?~6{HjmO-PX6EoVVWZ(`n$Nm z($8rg^0Q+fvxk|mtfyfH-|w)w9eo2qq`gmdpy-Fkw?YwGJmG<>!Q3nit z1V0z7|NDmrAC8_OLvS-fs2ob?HfC7KcD&nq@jCDBTdPvrzk*a`K3ZMn_xf=Y+ZlgoWY5B4uTs~%|3a-;d}MevvNYa{c9CO( zd1?14D{Qodig@VEg0dW=Z*M;nb=`9VN$Hc_YrXafMU9Qj~)n(rc zF{yyA_bh&XerQl>N&Ea$F`TBjM(TVcxbqLW)Q8Y1Z+{KwCbg^xPXw{5h86+(BH{_3 z*Ssq5EeZ=6GjS=QpvDC2$7 zv_}$2*{WBjoBh>*0eQD(5nN?7s+AwYX@S^VEP8>CY~U%}E!7tlA_7~@cKMIZ?z&U} zIR=xZCvc}Fe(Y%#=RLH1`~$pEm%>FQ51;gDMdrXn&-#%*?5FdWE4z!)FW*4>zWKYZ z)WRYd;|29In)F4(oUEpYLY6Lg5NmEZWr<&#=}@Ar4`(bc&Oqp=KE>1Y{_sa_*+7oD?6~)WLZrVi4y*86Nn#y&dB*U+2+Q zDiY5IgAx`(#NMKTWmnM$wKv4<|9aiYM#SbmjcgNpW1KKg^;FLu~5G7T#G+2(uS=(3}3#vr?uquvLb3@NW}^=${u z?}gdR(z!|}M?TV=Y%*0MZokC5mmhZiZ0}XM%s^Pa48p{b@iYAq#q0Iq1Q3(LJl9ioAwc{`h$0az@6U{< z2IH90r0y5hc<_4T& z=D~i>8hwn40U7_`QpLY~1x!Pg_~y+`-eITLcGR2hLgb=?jtR2Y;IopuMyTvRAr~Gi zUjK^j*TYDB!*iobd`%G5E@)N}R zyg=%}ru&T-s};@P$IE_D0EOjZX6B%ORB%3j41$G&zJSi{s1t58XXCHr*z4@;pF4Yl z$DCS@;f%<4pFaGX=DGPq(NvW(203LaSLt@phAjFMqeNWanK$18t#P0vd|)Q_AZC}7 zGxW*G)~s;G!cWi9f@P13Ox0AhR9=D589)YLDT30P-b3+gzPGn$+qQe}I)KH~12FST97bg@;q{ zX?@~3P`9p{etVz!p{s(siYpCU8WPcxN-ltSsfy;bGH&J^*IqY5VZ&uk7ibX_G7Jilv56 zv96f+$Q@-#IW^1;ewQ>6S>r)KAwA0>1Q-D6*18t0blSUca9JXX48{DvxLJ zFDZcty*RbYq^<|-l#U4+inmY~yn!9c(!tDp4af$+aOJR4n+Pkr@z}BTJ(L&{Hu@W> z?@Q}%dl<#PMmgUc1NvQeqiNX|W%IDadR-4%(BKV=iF})sm=u5+qf-(4h3W%LE)Ul9ka9SN(qwu!>+vSCv^QKBJ0 z9UnJ^Z1%<>tHB2M?4*XK*!%5!fQQCEDpcc92QCL`Ys>TU)0#psh?N}YtxIuy5^H;v zmBXsU(E_!pUOA5n>TsI*x1L68a@oS>=shLkGBP~<%3nXk2Pez(Ve$w~=rrXWVZKO%qhh!r>WD)jcYC8sd(3Y=YYhrkKAJ2cD;C{2G@x zsZ(Fdi3g-LOB^@`IX7E+PILLReADrn+gisA>dLSTO5|TBjf44yrt;2*248BSQ7^Xnff`tNMsA?c*Uwxh zL0eLC<(^PlePGMi-;YfaaTp#bY{3!HnxkpUqH3~s)_9s1?JT)3i0I*@%aYz+F8<&t zwQ#M$-)5-DOiUZJ?xqk=B!LauXn{kJoZ&k=$%c$n{RuHnUqJ`2nAt(SAVTYDh0}26 z2|E{)lYNH!wiifNA{YJXFMq4?+q$TD5mRZ!(r-!))%GH(ek$Qq%f{qesQ8W{o z%TP%|@>fX#Qb;;w`V6=39~0YXIpGh(=^m<8pHiC5-wznqa>Agk?2e$f@I_A9S)K7f zm@ph>04`F6|1G-EsG>KZTM*32KSDS%-9JW6xT{#Ty8WaJE_}C_g1Uol_-BGTP%fjb zFgs3A=l>_HZSq4-JNw(z>`HFftW3fy@+;8b&yRu3uJnwHUGnHNlrE_E!2`63k6ibL znkZ6-&+fB;4L*0br#YHdPgKpF5~8r#n#8G-ltU>KmpbmyWh~+c8g#ceXh6|i%Yi-Q z7kTLULG{9McNfF-R+&@zP08TIot=0< zQNE1$mud?`-N4PfLP1UzEk|i}0}v9$cU{5$)lcsZ6rylO51QOH$Yijh`ioNGY9Z)wx;;hz`t7n zGcmo40r@e}v~K>V$@15^y07}#7AS(bNa#&d%^HQ*mx?i?YPREweGbk^dXfruE5v}x z@QxpZy~G5exRPs>zBD+<$z-FogtDM>i7Y;~KQVeY%<|IW2%GO@mX=V@!r-bYMD=~1WJxCPpTg%Z$s2qXdYT{aV_h9-#g#(7p9Zatct<5bYpS*ZAGE z{I{jCBOm#C$rAdZlRONBRLwGgl&F3fEQgC z+;_qJe^djX*G^V%TaxyWy)q-~xkgg6pG1p9?r8rhIMm4FdKg^lXG0slqtz1hSSasy zeacfaw2laSt}e9@)*X&KO$~(J523dR8{fHM&iwqK@i+>i%rk9NeM0*_Uf7OXZGjVg zj}*A5ol|qM_#}55B^qOHu5E2S4_e^8(dc%=;`$=8xO!O@T8gZ)3c0@Jpv5)Lr)UD< z#`xi9fz1tXkw#?UPVbI>S_pT)d}&EzBN@LWIB%2j2sa_&=$`dY{c3gUpPN4vTHGek zzrX%%ysaW;ix?|E2-qQKu;U3OwPUU8)HFpxsz;9qFCT<_5KVusI$DW7Cr0E@)={Op zfI0$fM|E^z7_JKo%!C*7>K*#{I7AIwtoJZeSa;xsq>NSFtIqRk8V_&C# zlRZF7WDXnbtB%4Radz{Xx&0-z?kwe#Li(3fC(-M<3MctSa7z%jL`?B5rMl*m-uv2q zZ+(0XZ?;gKmxH6ObebFKxDxQa>9FmHOF==|Na%~t#OSR;=+|9k^^&eHqmNF%aXxU? z+8G#?HxHu5|1D^JY*R@fRJ-1l?A;Co>)?aJM_c-@)8_RBNwQ|~HfB+gSkTaoa5V$> zY3Nsbd(N7lREevKUfep$&A+apKs&tuR*?P` z4Hn4WcZ;9GGu6L!geJdDA5)+<)&X9pgpkR4eIpvg>8H8q>q$~?B)fT=-lPZhdw{}5 zPL10XGBYhQ(y7Aid(pAT7v-q>vNbciU6YUAxtnLEy)u;7(Od_?VcEqZBvE__YA~i? z4L?eM6PC@Fv#n#%Jl6dul$PN`l_L1$^s4V{(QqTLk?|>T z_{uZzwh1_w66L@ygJ#Yt>p498q_ln4R$}ps>Nd$(Im(sO;!M+(Q6`U_n>&&i=w%B| z_f&kmzf+4GB#~WJB=Skz{n+-e;JI;YknUH8gm(hJ?8A~-+-_+9d1D(g@Qm+Wk#<{U z*6>@_-J{Tvqc-&c=6vF`&;<*q%Kd*(ejL;2UJClP10`fko-Uz&^0M|(Z~InQN1DrD z{R2%$SNydy7L2bg8R$-3kmc!B$B z6{)pA{?ZkTz)#D$1-dZVYj3wdj{~G>!wPb~Mnp^US?gcIVy9;AN%rR&!w>6TPPG_9 zZj>+mNC-?y?APZHTGrR%P)|!XH-t|QSgZHch&tb2C(be?hY0K~Bs!SPo}3F_{SxQ^y*K^a!Q0Dvr1RX- zk-eqWOf2#F`xR+sDKa{7nOP7X_Ikd`iO1K`iPhAS*2 zBm@{_p7yuBbm_07yA#wo-~Zra=k{n3Zr64pPVj0e3&t2Xx}GfP^(Y zVgA~#j(m2XibamAyE7F7ZN#5_BGPGVOMgu7_77qtI67BZRdy*_P zc4S`k#Pbi2j9?M(S&WUB_B!$~-Mt#kU-8(!%i6BOSRg$p4fCGZnT`@#O4oaBnO&x# zcu3TzF5*&VF^_=XcLd#l?}S)hA9>JnJ|Dese*IQ7%BN?v!>GEzf@+%c-Az>xyT6lQ zPjTI-Bs|h7seg>PI_0m){d-X@eIy)1(`NSm$398M?f17iJVwvxHHOVC=ZPcUuqOpB zpeI6IK~Roiq8U*NuKXKbEFuczV!jd;4MR!O)z_p}>;9kAbCIA&#-?C0c3Zfe%sXnT zax#SA9-jZKzgy0y75)=9vFi9s|20~W4BjjAnb}Y=V*lX4u#}bcg|-?T7R=op#NpVy z9mvkhDMuZFhKU}^&icFH>gfb4|MnROsrIqoT=vWvTHl)UeQ1XiJ&Pl?e)hGU&7hm{ z?Fr$tiRJRMrE-i%!W{C6eSSZuCYElPvzt&UqF%+^s?FoRNICmCyJ-FD(b(uKqJW=O zruE>R0mWW208AApiD*eX!`Cl$-Y@l=p-sOk-$aY9GqCiH3=#LhVF|pKqJg~m*+duL zvws=1((TJC+9sjfvrj+^=Q19%;fEaPNO^hEc@Y5ugsy|bL%x0I%{yR^mrv2hZf4Ho z$4$&@b_}zgY`W%xr>VhBM5APP2|@U-YYH`fl+j%!zy^<2*NKm>v7I@t?D_LPyCh*I zZ9og9M^^saL3d^^LnNLl>EnHeK6bD{IGz3Z^Q^UoH1*_r`sF0C_?M*Isg_}Ho)u*( zDdUMR-=LH77a&`#)D5)I7gc(<-Mgm(0fvW%3!D-4%2p7N@up zvEXk=L3oNUxMAvpdsrMCiNNZjC#Um*M&=&dhAcQ*jJJLk)B>k3>0^4OLHzY1X;ppp z;4N)5G7q==WB8QFKcFJ-81y6VP zQ=Y@K(4hvI!0%>}X(_055^-i`hVRemCnu)P?boHa!|h}73K|xdoae2r%A2jf9g|iA zFes4((fHzTSFm?RFK*GF5O0#DdEa_iVzcXJX&8ltPKiKjx5B?N28%^u-qlwez1T3@ zyf3;gS?0P(Jh}CCp22gp!=aZFP`@912`r4L5z=FRJSn?}S|**9u3rgy3waJXLiO<( zg4h6E2sqE;;_AvF#ropOcms>*Iu#62K*?{YxPrC&{jG($qod>J=H|1-f)?Vd93X&o zlSCSuT!>oCzb9!==_e{^GXvK0WTNXqU^o3zil(}Vn%?1vzY=re&ML6}Td;?&7eHXC z5xF)uPT28H@E0Ewj1}9TO;=eJd~No4Rc=9Dabpo|Rfi=d2b|=Xm*&-E!a-70*ww|? z+uN%vlooI_WS10ti=p3px%Ic!yl<}z{1PQ2eaudUQ3wqJAVW@1W9{<+sg@sCAVS}o0|YL$~3 zl~`yrDp~vk|EgW|fV109N(1HKsPK1On$c|uR?>me1tp%Pli0$)_6WJb23iN0o;#>? zE2+UuZk>U2fxM8563|5sxZEn(YkygJyVxXP9eLS?4&y@mJ|&RhYMmz+KNjovl!J^k zSlL8t|7QEdviZ#$|3km0l^9g2?o};E$1AOEZK)`Hoj=I}oVR2?J3C`%XYYV3TPE9g)zQ6JQD^ zGamEjpH7x8&OH~Ok*cYc%c&pD^-F6L^3P~gK7yGH1c8-S z&rLtC5r4!7R`kpgQ`~f|G%L;MMn4?+0XU7v9McRnJZ6AGEcHbD&CMzBEIsz{7MmIk z)R8sf14I-rj4wsTwy!E$Vo;XkAW@Hr)F>xxW}*Z^@0eSpFAApNIJsjN^6vk$R#H~Z z1rS&MN5Hh^lY^D6W>H@`g#Zp}K07<}0+YV=tpJh;eM zU4k_V#{?c2R8#)FXX^|n)pni#YWC>rleuI$;}4qM`q)R5NfIU^ED+~h@4jdN(qcmo zqIx{W75VE>#Zw`|_>C<1Hc^pLD1p_621kMn-LUH#GZTu(aV{(Z-1-I(2_ zk%X3+rJY{^0}V~-l<18M2L^<}bX<%aOpL*?M^?`WEJ~*kG2$R!hyA~2TjE) z2H4jlK}ss-3qku&G(g;X6Q=J(C{LoSOicetKBstvg$mM#+n&e|_#VV>Y|P{0wYZIME=vb-8oxpIwx@Z0taEN=#{ zFQG{ZuU%p`^0Fsa!YEkT9d-NS1W#X!AbG#28(6zi{f&;e06_(oos8GZjJn+$FTF5LVd z7h9xuBDrifp>m{z1@Y%1=ILI(m-G&QReB%DaNjPAch?HDo>j5F>uTEf7L4*~opu}f z#@Wge&((O+IyW}F64#G1E3KR9;Y%(o1XpuZAs<6(N{anphOo-q9-f6yhJlTV{kwq> zy(gUC34JY*E&26z!vT=(81S%CK9u{$uCpfG)1(j6=Qq#T`AyvdGCmO{5M#EIn9X z6`;|QA32IyMPraL10?GFS1KERCLD@}E#FF%@%Z-JXE?oohdiR@^K_#RFHL;3B^|40 z_;$9qyi~NAkP{>WG>C+b?4_Ql>Wt(rNG7lHQK#O(JRiENI3OE9hA8IC-wwn3{EOLf zXE6N3+R=U1>{-Qg8xp#*P7R0-u;CC7Jjsvo8kBz;a`!i z%m1+@X#12owYSR6!<7kZm?1P64AxntZ+o6Y&b8aw%q&!g7Uh=N1D!mnbVams{(l4U z{k-|d?udc5Yhu)@V2+Qzk*-@3x#dZwZrmv_q$`U<9q(7&f(?~2axHguBTT8H+~_<% zcq8v5#W)hhC{{KZcJkhg2uqB`Rv*jZ(_Z6uT_?YyDJvSOcHbta3!2uzbTzk8Ko$1; z%iQrV8S!qhKWx1!_wNf%PftfhKXy>m(btOC;0Swnxc;`-70iyeeXa4^_ic|X%2p1k zCaP@lmQZxc1t_{Z`udPCdgRv#t@s&g5nu1r+i$}kZvI#82nSo{`onJ12c38yv4V!? zb5u8%SDGkW4Vzlq+SntNIcbt_j62_N?-_`Tnv`!fMpU03n&H>kb8G?*nP5TmJp5zYUJh9# z6I2&2Tzxg>icTTwVRV~`MIDtDgi%OHOPieVR()Xly%~6%bhO^ik*aw3I}XI5OJ8p5 z4dn&>dOp{_lwr9A6a%lIX{8VuS6(Txd|3PA5v5;f|JL&Id|!pVYy3+SpkU@r*Sc;% zi{wHjs_$Lfd*$>>0)@1K@#nVcqnQZrP<0{t=Arki87V0#gQO%R`m44GY)t0*5lnQQ zFctaD&5ghNP$TqWiwLD!;3Da8?^9B9C?y32CE=NoR>($1Fjx1@y99Oh^JM%>Jn9DQ z^EnSk#_sr`^^NI3fo&#%A!A`;Y81;J%7UVbyApfH>bWMjn7q8a_$HnD)R3o=^)n-$ zuqfYa$r|iI#D0E$g1?4yo9#~ycfN-0&1ULy(_r*zugs$qF`)LZi0;9!um$Z4dOJZY5 zxYPQ}vxP}GeW6spyDB4t|MGq{sKVq84DEWQIY(K_V{EEOBV%>N{9YLU-rnhsRlap= zkP0F-CU%r0d-~wXk{_L!5oBRz*8hb2@AKrdTA`Kh@^Y_@yzs$B_fH8>jS9rKEovX-`>fdw3O6w`08{W zIf7VwjDlMAhRsG4!)N&RJuj+yFmrHdfF_#J0S5L_|G$&sgL`3O>No!sKc`Q>M%XKP z_3{q_yYt1GiC7z@^Er!Vh%m`eqm&OhtJ! z;YTxb{%@dDVQTAOTx0&PRvEf@pU@N(BI&u71`V+}n)>HY%y zGskCGMIimK>vF36*4lW5X+7nI3tUe$wZBk4ix12r1#o0zL(IF;>cjh0OZK2eYHA7+ z%=FwG2A3ghxv^W{&PH@{B0DP<-lZ_&ggrG?%=a9XTJ?b!DHMH7%|)En?Jc-3`RH)PDbDa<^O=%nEl_se@3TQI-gw|+-s$3 zt~{a~*;#vFjk9d3RN{+{uojpvh-1G5e`hO-Tm(7mKjUut-EYEredg_*>ql^^cwP@k zf~UP%Xm`que#%Xn7D;S#@ChPALPLRbBeVyFYh|`)8`G^!k&nj*+oav|8zb&BDIs}# zBK%8T0FG;qT_Cq>=lZZ07Z>;6^mKw%Wll*q<537tH}1ApX1dVIShbnZOTK|t(4Z}6 zwk=*+$|3F1lz9G^wLs?fl)h1RAvtPbMYk!=py3ZUsl6@uGWwz1BISxGhgVn3A&)!p2g{5$j(FzOmNmJmN zA>-h{9kRhv=th^dck-jf=~1eo-}hQaCa>JD!*0DPFIUh(mN{)vBj%xzW)lT;)3Q>r$9eJ-|Hqdc9`T6Bq z3ehU24LV)r`cMTsy6aWDQfB0$4+mn+G09peGLv3-CBHHBR5+7ZO!xRe4Oh?P$i!>&?R=1VOjTElcl%jOq_OAVKqI4;VG(6TI#B7Q>E>lnO(Lit7%gGuFY@1TseR_=VQp^j^<>Je?Oga za&Y(3=CujG^?wTM!Rp2`2xV?&bumUYYin!Vj~_p9>&@$JrXJrK#Geg0&7+5tzOQfy zjDP;A&GS;MCqvx^t{9|vuAC8AZi^m{aK-M=r+NKv_~kct(mNDn#HaM*0% zDLQ6CRK5AhY*p)YK^fUK@1-Zij@OlVvH@SfrlOMskrz#olt83kv1@oq>zmcJw$tzl z0ebP4=ls@yyRs$$^rW-stC^tpjQ<2}Fl<+8*+u!U1y{?nqavG}ClKSyT2t^Jjm zP+N6f-4d^Yf`VDQ2U|vN;3ZwfgS&{1jXosELMAeVR`jr=iGAP0)yO)oU{$pm)n$?_ zNk~ZHM}NM0-^u?<)_;~~FpXVr3L69xr7T$eY#PSZK2M?`A-tZPoZJZDV|i!1+NCG4 z&_XJp7j5>-t+!m9a(gd*kcx;#Eqco?ZXaYqWR((Zy7*8xx7YXW><~()o2l>xKEef= zs$Y6CgS-;XllE1{W713Y+H-v)o$DBU$A^Hr_wPEY-SxGoiXA0c{;oTlR6pv8jV)u3 z<%c{n1S1PuOd;QS2a0(w^p&C(2^-S@Pl4yJrF)GKq3g>f`QZ!jk5GYmfN6D3Y1Bya zA1oJyT*UuL>1@k;c4a>ua%u&*CY4(2HVBGFt5=nlV-Jc$rJEH|=+m$rjWnhTf~1sW z6&Z>TD}MlqQYzvbxQb}vcUb3+J`Qp7{elS|7dYOj!kkUxE%2Ue&mPfx0_k1V8I>XO z5RNC3*$tp0QHEof5+g-hLqP!nnC}4-1*x)if7b>-F2!m(T%?!+5H%@7e*ilTb5OIVm}1?xR#57UhV=!S9I z8gd=TTX|26vHAZCQ<&6_taZf%$te5kJ~=r#-23|akveylB15wG?xqeq70Uw`dkvZo z67G0;d7=Ju`SKYoPQ%#QdU!tPoy11CCDg?FoA9P=kK_H-$yERmXRHJ@6 z!)_%8!bj@- zAvUL5nN``6&M9k6mA=*tDGS=H35D8LqFlszxYb>Vyn>-X75NjLa?%T@_%d++6ciMJ zu#)^6EsSG6o zoH0sBu1|i}3od(=Rm2@Gv3FkY$gd}J9RDE2j7?1J)#DGV@P|`RuiT;-lR7(e@oE72 zYF@wou-1AfQBS-1PkjS^Vt(la%Ak%(G zH!O=|6|!mB54e2!@*ZwG$owQvYn+t{wz+_o1-5p0OHEjsv#rDc9~L^-d$_Z5$NXzo zKKDC&;-gz6^Pd?nsWO!?Zz`! z>^hBWz@12^YdeiDOPvkXocSXTu*FpA@uYFEv#?}q{*^T}8uSCz_wKI$m+^6x3BNEq zJLMcGw5dmJnALL(R&V`a`Tw_{MwH|_drUeCE?Nyi$J!Dsy0&zhX%p`eW0 zJOdi2r$+12~>78Vv(y$?>|7z+ckMt1JupTsNQ~>I`HZLeOeW zCHRcY9%sq4E^{Fx=kxNK6(-IB;CY27U)-Mq0cmpfPc#>e%Zw7H9hHu$r$megi_VJM zam)5_$PRqoV$XC-WcU*x42fV&DxU}YogdwPTLlvH3$U?(Rnq&!B|*BW9Hk;H_shO%2% z+pGV1T|4~e48px)SVkRZxE~uCNYa3+6kZC|>Pt2pXe~5GB1Eq2&;R1o zWFp>pb7EbO`l*X>RV~Z8icu`;DCJ$6Oy|u(+~7Zj#kid|2k#B^iVs_F83!}-HOcIu zd&Ztbm=rocBo}B!p~wGyH>P{kch)L+bG*7Tg$9}Lx!rr3J{?WQ?`Yx`-g<}8-`N>g zHBo6Tm`bNNR6U$TjWE`#yk)Ga%DEU0(UBkktNBBCG(FK4drP$S%O~76&?y>s>0V;H z#3c*jLU#xbUk{Fj7!iOI&mv~|g1q=t0m=nvakRKVMa0;TjWQ}AU%LrDkD;EuW z^41@eBQqEX8mJJjuua^Ha1s!sal#l21_3ZP(h4Jopl}hGB8NHn%rNh|PZe30C*@m9LdLWL&2* zjOX!vHCo!p|85Ts$fKR25wJq_Io0luU{1SruPwh?zt?msZEUc%9g1mT{%-;{kNcI4 zPLb2QzggSXL(da`SlDc?nfkj^p#KQ0MxWome?OFmlC?E>3^__# z?FhRomp}Y6ELR;ELl74Se?$C6Fkj&z?g~*&@K!`fC$#P&!3yTmjRAGpC-T9Ao8kfFcgE))1 z)nB{KOMo>pUP>r5i$+0xeZQ4Q&6n_#qjIpyf(DSu9N*EK-^)t!f_q_k2vL~uo4_w{ z9Dk5$6X$%Dq|Zt5;|MYQGy)?}i+W-hm6@IOolyDQ21E*6cw&}h?SHTo|NZKH4;Ob& z{BQ!Dpf02!?olZnZya}as+f?eUV9}Dg&TkXUPv$)?CI%|5r$?s?DjSyBSF+-?gG3fizh3@^;Mbd@m&Uu}G#w+?Eq5|kgZUWAt z=<@P2e((F~Zv6tl0{h}c|NhvX{4veI1)Yu#ihx~ef-sP=gN??_=HT}xcPQCF8VBM# z`Hu&P`kOCm!}@9dn;3i8)YMc5HiDX4B8_)f4{-UZf%4&fyaibM&`?(V!3c)=@{>N{ zw)J)kt$4_(gWsCmgq^YpF@(gp$EtQbUv@Dfta?=Qid@kE>g=ee+&;8|;NEk%nS_sp z#;!jJ5dUC=K8b@3ryxLa`;#OZYdp0V28Oj46&3ek0u=?SWf5v)eXxt0&}L>ke)eDV zez~ZlT;>)rV!Jq4D3A9~5q5|5H;v)<((-$oEe!4Zc=L>%>~*Vv*{1uIO@Gp$_nP1^fF5Fzng zD8gIn`3kKbqBD`AdqaQOMowBW#lHFx2r~4Kp#nCe^G8G#CP}IJoF`x?AcrBZ74{+} z%WC_NLol(1Uw7ucl$@+{Ww?sFBcupBzg+d3gE`$rjpPSiA?ph%4auRdEr|E4%ERsf z!2Bs+38TZ47SErsRSc&?ICGE<`^$Lf{v_nh)=a&Isc?05711I2{8KxS{a^h~j4Lf` ziP$N6a}k=w1M@$ukeXbdM@L7S{04tDS|LT*Q((nS(z@$1Si(Yi16BqzeQesTD& z1nJcS!6C6TFegnn>-FLziXta^)bHd*vVt{}Zgt}I## zj>t=P7KQ$NDp={Yb~={-9$qj0Vs37(AIPU&aKpKg59tVVe9m?Q_|#R$q~y2yE+ZnA zN^+t!xg}g?cHgcv(Ov9F!jt8tFBt0?BBBw|FhBc2Vys2)dl`E27#W$XSKkl~{0X`A z#D!!d8%|qiC(khiiUsc&0Vq#QCr2y@o~RaNFZTj z0qVb=$go zbXy0XROWT84nkB_uBi`p6Xkea|0x0n%spj z(+wGFG4Sm@Y5!X@m~~A~&emt;O?@mSH;gI}D$@P)W8%>;Y~!}azxLYk>-DV*Y)JJ> ziH%r}dBZlHFD6;n=dH+c28%usXb$Ho;j36CUQa<{`92K0EMOHGgk)@@5tHZ`R1~aN z`)x|ib#*)Hh67+=sw{Rzh#`J>BD_OFKM{FlqU`BkS#|J*T`c-ya&`5;P-(gMAjJ`~ zZt^Yf{T1YBK^F0Uk9{E!Ia7@j`|<`Cd}>`qzmGyw~`cUS?+Mzz3`& zF#@)6B-bz*$wQfIDKEha?i}`6d+Y;$NzPMOclVR|>(DTA12FsDSkx$Ygy^jw7wY;k zzmfd&H<`dG@E9fG-F1`qWEFq&%*eR*ErAM zZ}G!|k|ARK2c=qR-sB6Rn?Xk?qK*5ukI3(*;WwTjthg8vMbiPG@p1yoSu^myZG*BH zOFz}M#Cx)vk&y%>SWMN&M0(@);Cv-*c&rjW{!9gvRurlh;_}zYxaN}8F73Q`$0(qQ zETZ(BrjZeOc{UA|AatY`>uGz#H=xydP^Fat$9g4f+@3`hsrJ&~Q+EA&LpGqr;BbTQ zrvb5eIvsqIA5ectIzzu+Im8(mx1O9Ht<{>^_%lUg+la3fVXr#O`KV>=E#;>f-YaSU ztzN(DJ}V#z4A%c?WXMAO2%$@EGv71fIlM*1HjKaSKOl z9#zVz(k-=?7teMuHk*t|E$q&C;(xMy-yo5dl8T0LwTwOQp{&zy4J9e zQg4w_H&UDjxG{WpXk3m@aM%3CGSuXL)0TrFnA@m3LJ(HxUIdl*E}?&tfx&`yNqWYQ z+GO0+bMozcIgC1g3Q5@m5gCrFbvhT9&{UtYWjqxk7(m_~k+DOpun(sL!*%h z=w>iE(9mR(597`GXcd>5JlgLtK1Tfc^G8fku}#f*{F+u-sqW#xVsVX|*YxDr*g}1M zeS1M$+o?OeF3AH8t$0oDDEQ=#x0VJuoRgk7mgJpZJKEtRJqV@i^`!V{^nfR#DjlsC zRgI^;Rn(sEJ-{zJCba_T$_;KVE}A>?p7nDHs3^lCtfj>B#YB2xNHh}DkrXMiGMb{( z6+*xT026-pS-&Vpwr})YB!gK*8Tml4=v|Cq@IzR+H?8)Kf#z4(0D^{8 z!^6v3t{Z0~TwmWKTX&XL(Vcw5Gv{v~AY$KpWZP>B8fB+Ge||x@k0NN3%k6Q$rZOPX zHAns9)751ur;*&Fj@{LnD*5GCX*4@KJ0Xr#G^#+lzpieO{HI0LDeL_k{DZ78a(Msgn{a7h- zg?WI%i5AYj`T|fiyWM^krSza!qu+c$;JJVwMv1-6)TPUE% zN2@Bu3|8fM_Zc{^8X}o9xOl!I*tkh>$8rGk%}GY7+;YjXZ(OTq;_}=Z6kofVLP!(w zxW>5P->=&imP*?n#`NZRSWEN;(p>=eIy^esOSk}gGrUV5+kb@&vsoiJrG~)GpCvHb z(IKcuwx68^L@>N}znnc}4-<(Qbbj7p^g>dwYF`NfQj6bybASD5e6(=%z71gYAEEY_ zpmFs&JI`3%Q-TQet4D8Z3OSr7e^$(YrGwU3os$t>fl@N?O>dPsy{6$~hN>gJ`Pk?( zp6rXxP9W>LW`q|% z1M-Ezg|q7jl=AxTD%N|=cZ~qE(FjQ5qz=-kiEbId{gMa6FTq~F@Suz@fiqfcSoReb zWFhdDa&=!eH#gf%?0n4eAw&R~@q2Z-zag)_hl2PK_8G{cXS7Rsy+4shXw_2k7x}^q ze5Y*J<$?=hx7p5`_|$Z=J0l7*%Tv``MKrXIdzMcPbpy{uqactA_Uvz19c7G)Sk<1Nj#SO)b+{wio#vKfTTP@wDyUf8H(>7cdzC=K)-<7}hvc}w? zr9uDNtI5OZu+l8?wf!;Rrw=j!6Hq;0(R^5XK_z|C@4tV!VZwZYy_D9kt#(m2JpT?O z=mLb_nAiT2Y(L$pTE8#cOk;^SMs(b~tw1kHMrb7xc|YpS8_h}Svr@PYdC@bwySuF| z1eGiHfC|G74+p5)42T0p>}cyZP~brG1$IJ@6#>@=_*z%_Unj&Jm+q>_o1o#?D?E35 zw~*7l7q;cLgRAJ2hhv+EBDAdcP>16zIRDCGWPQ9UypH93O!P_+3gIGK89Lo?E0v)E zi!ziTEG;h#JX2SemzVAe=luP?BTofY5>yxP0wCk4OYz;v`Y+ayujJ3ZY0`CQe?A@D zQy6FP;(M%+a&Kd#7Bn$%u-7T#x=rtAnfzT|RskWxBC?}A<3;%&C+PH7F{j6?wG6^h zx_#tKTuLhL>q=KNf2bqE-I_gSw`e1=On0Pu@cR-T=pf6=q1-7MTuQ0U6+Yi;V$yej<-xa*7V)fKZ55nDt?wzjDs z6B#Nnr`!3-F4oqO)T2w(-dpqX%HyQA$Ve+`@`{>SF$yB!RmS7?0)xy*)LP-?(dAmiDjO&+C>PYpc2ap3|3>Vj+RPE-wVgmnG_d@2oO`0epMFOzPSHk8p zH#6vw{8d~X8dS~+;KMkxSvXd^F7Nh-HN!-RznQUM<&kC_@N}*c*8)w(B!6p8jnr`c-7&(Cwo|NDGB@XvCIn7owK z9j`A^aJ|q4v$kU+&`>m*wFGWbFDs#qjcPZ~_!rCxB%VywoO`ZKpK}B{i~LSb5CkRq z49hYIn!Hw)VwU^o9*NzE5mR~8rF{{U4tgLh+0}`DYzs5|L7Ka4jt@HJ<@m(J*%%~x zj*!5h;{3nAtb2qnXzHSyxWPPLq`<${^bUa z-hAQ6u)w8s6>A7lXbT{L=u*NT=uupt>O7+j;ov2W>B?OI8d^_&6D{$aLQ1C_wiaG1 zy|D`;+i!z+1df+PF)9Ijx_2d*_S@pT&{36@Q=q6)0gg%HIR@_WN)!zj_qA4fwW?es zTJZXvc@L;xZXH!NuUXUs|Ne9V{Z{C{YUzF()!ZH^1pq>)MQqA@TBNLQfBa`1PPt1W zc%uOj5w7SzN2e?BORrQhIvVvUPk{vp$|eXuKRP}zE(`37_#W2x}SVaJOAP*S2X31FGxP(>4U{j#7ti->;zAeiDdlU_eAaj*oae@aM;0bI0Pgw(x(^7j=JIw%jE{h~4OO^JXk-Yg>QW-cEI< z>s)mEpw9K>7y&k3NGM)H%;Q`QF1%a6y>SOq!mCVHx++vPF-H^&>?<0=xhwwd;=EF{}4r zBOxUPf%IFaAxZS7_bUSD+6Ie`J6;EEfByVA0_LLMO>J|kTnUA&{HBW!h8}nll}b!$ zScmZm?3~`MHq*8aS*<&kw8dYGMiDDtro4_enN3vHG`gy%igfGkY}#4bc*qe-6=P3b zW>m8k?rc$|3m3)AT+c4V+WX!m#ve`KL8j0F8>yO$d$k#Q@q40iG?pX+?pgpHHsWn2 zqV%-6oQzek^6Sfw54aHJRFjJ*j#rJoY|EolZu`+u_dK&1y8HrbaJ|C^hWd16h5HQws! z;c>|dHcK-kjKH2v_%970lgKyBH1z9Tf)QB_Mcc1kp>uO@e&5pJ{5$-P9zl0C6|id1 z0)*+72Fj;+p+6xa4F6P=2V+1l#TEVT_WwPjLStzh$=AcQkz9|WyItJw0l_;XIP=)> z+5>l0;9*qW)dy&EUuEOxacKhx3tj%r`@n^OF&H#g-9Vvpu8J)jMKC=OSFQAk&jE`Gy84 zx_DqqTj@-_@iO)fBR@jlxQ-T>{RdNynf&GDHr59$QaUrY5Ui9mG}g6EZv!`JUR&(^ ztF>s!&SHK58})hsM@U0po=i1eS@}#t*NbxKT1xgI_WW0xnw%V1*{;^^S+Mh`%|f93#h9R6(o$nfe!zf^aVCAbaGA8gsuazl) zq<4ALksZsn_R-;#HTPQunb#_o9Dyhq!^a-Nqomo+_#7pzp z=t6F8?c2};e)M*dBsE1$$}`lN!-jk~gaC3%VXVRw7}e~S1p&gx!C>nvPS~k@C2^%O zcQ2O315qV*5L#Xi>=JB5c4NglHxZuKWwU+iC23UoilkCok4QeDi|Y`8y@5*7>RRsb z&fea7t+(6NMH8)f7^OMWwK}DMkRTsEh@KAQ=83_ADii5kiN1)Xer;J#85Y*s=jikJ z@fkY@piYe=ul>Q+QfWoV+RfPi-;B1l<{`iHB@I4rg~Ox6$66%3c&XmuCY1fiFa6h1i zTl4ltHx*HbM~~HTW3vx#cs&nudVm>rs)btypWuHyq}u&^pl!5DGd8vB&Hel)tHWGAIy4_63q+26@`|h{x zCTOpq2H5>`)s#+J<7a3z3fd|(EatuMAyk0!eozdQ7$>$=E$P`AoZHOg>k4%uTvkv>CmS4=&#C0?4<)gzx z`*cnY5D@6x{XO;G`i&6zHCG8u{*o9EP1h;B@KWVuoby9e6qo^_H|h@Z$qvhEy$4dX z`p>$xPWgF~hmQ>}^@UA=?vWT8Flt5C>7qW%krs zxP|~$rk7?yYo-+y%;9@<>U>4S&sDB)rUu>qy-0H#@q?VeMwZb*OvfjCrD^Y=ZGCNJ z8*2z02TYCXr^|YnEnjPmTelKv5gny4gfoTwN2pt6ft!i85>EmpgW9cyecr5G%Mewfs|p&rV%Fr_UtLG2 zMYi1Z*o3<9SsdS@e{!7z5#4GMbyw)fb)Ga8p0wv~+x@-v)$M-%{* z6F>CWSH}|}j_?e*zCqNg%RRFyxbUgPRS1u#mHfH)a((=;+DcQ0CC zl!KNAm%P1Ld-pp?6~%C)w?wVyfIXO=oy|=%ydgjG5;W^g(oZxy7=B*7frdMy8WtjO zwU6JQLss9XGc@|FjFO@yG59iD7sVfeih^skto)}O^^MQLQ!}D=Tbut1q_o~)e5Qm^ zJlo+RX6M}Jcb8d0efKq$`^Z!T-(2F}3rN1|z}ZB`oTB-W;x3&!Q^4Sx4g})8d$$-x zL*>jKEc{z1AS_`5Y??oGE;A%H*0caySXM>`d-cWfSG~QxU{~V3r!3a7s3ONS%;ir0 z%_nq1tSa7b__Uko{zRdE{C2$%IoRJ|K_A@<3kO-zkN-3{)Ilk~9flFT0H3ZhCufF` zxvHMhiLYX#$X$Wwz>y~DCj_=oHdPK<*hV-+B>Wj+y4?oB>vDA&I}c*1B~Ee}eG$L_*t5?HrOkfV z_U2iyf_L#OM_#fHrMZ^L8!k?@9CTD)hOHCr_nGRf&STr{*;y$lb&RwWq6hI+`I^Qk z%%_K;WwAx7DU-#;*q~Ry&F^ZlZT#(_q5yoIX9pHoZ`wqhjWfn|)}G zT*^tAi_{_Jy}RCyGMnES1a?5JUho)0(;=WUuDEz@SR-`gh+|gl{CoF{J!Yo>QXZ^8 z^BK4?;g<>iw;?tTj(ij%T~pkGkJe396C=j>0lcZDC1b9;!0eKPDBZ=y1-<@HayamM zwb5b4Kr6;)u9-Iab?Ddo+g6XBo-17DY!Y9RCP17ikYqd+Nk~XGK3~V*Fr9D%tq7GN z`@!88-LZ&`0UXi(>8?a~%HHPqc@{>u?fe}3JUwd8lunv7I;Uul-V9Dz5%*oSkte5wkgrhdQKFp^xO zF)#iiv$u8xQJp_r^z=s3vWjzabW7?WG|EFD-4M(@*Lg?Bd~aXOd3f}_)+XPV^^q#2 z_ISigv+#t!^M&6y95Z<|{O|(ARmb?w{Do5T^TS*U45JSyf9r5Xt4iwJ;J<8A7Cq6r z=2rkCwhu?>MyI}`+%pdsmq6C^r*}Y_Zmo5&r_f$v(HaQT0>FZ>D>%xL;rejiwbs4n zrOQnm@i#aelN!%%36W->eSjuG|2n4(Vab@;uwGA-*XRH&%A4HbZ%GcgO7`)qxj~^h z#;tfIoczjPONsuw_n#KuoQXEkx@9gPSM##tBYA0N6z3l4BhE+UA}^3OU&tRZ1oD?6 zO{rBnya|LKDKjuPRZV3%+49zkjsy>{r`}a9b)@DmaQ|L4(ehNAM{*>{dw4H&B*5>K zK0*`OKUv(*!0OMK#mr*B9Dm#$BESFRAp%m0-`@fIcolvlPRR;V`p88xD+K5h3*NjL zs&QwjGfv;g%(zP-JhD}`*qj~Zen0fmjI{D{_!!}N|K!$eo3(A5&H5_A;kh|Sy5S*? zchP%CG1DazLbIoF^K&B!0d31qRJ&wb<8BFh zt*!^XZ1p1n%#4hP4U<^};;C}k*n4*a)CUgos146TzP7trzi?Vz^G}|{=S7mrktV@~ ztadQ#f<(C26B0v$xiF$LWZ$B?oGrsqjiT&?C1EZ0wbJq+GoNTM|%daG1^yaP_ znbN8Q*7jq(9nY3s@20BbzItS%&0(j8aQ?AgedIID)qkG0Bu#SW+vMC#uENgk{A>Tm zlm?(JW=5ssHxm*P;>bUm5{4^T_^%Q=Q2er~qrbR`HaT`ZC(`PDaA8W@Nf&hMHW2>3 z;Ni5zhdcHd4sr%UlA?Rk*`~X*kKi%_@uIqn48$M5*Vmk|qe@Ly9-ch8r$*A*JF=`P zOF2GwC7x^PjA@DGkt$N+q;cPPqMt=SHbrv%_w*@^=2I*vImon@+n*ORK{J^Ls#fsm z=m=9ZVCZRV{%S_zAO3Q5⁡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 literal 0 HcmV?d00001 diff --git a/website/static/img/resources/onprem/analytics/trino.png b/website/static/img/resources/onprem/analytics/trino.png new file mode 100644 index 0000000000000000000000000000000000000000..57de0e6c6dcaf44dc3d3d1192777a1dea8b48ddf GIT binary patch literal 44239 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⁡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 literal 0 HcmV?d00001 From 26affccdf27c06979374fd0d965ff7ae8a1b6348 Mon Sep 17 00:00:00 2001 From: Fabrizio Fortino Date: Mon, 30 Oct 2023 14:53:41 +0100 Subject: [PATCH 03/13] feat(node): add quarkus framework (#934) * add quarkus framework * add img to website folder --- diagrams/programming/framework.py | 4 ++++ docs/nodes/programming.md | 3 +++ resources/programming/framework/quarkus.png | Bin 0 -> 5735 bytes .../resources/programming/framework/quarkus.png | Bin 0 -> 5735 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/programming/framework/quarkus.png create mode 100644 website/static/img/resources/programming/framework/quarkus.png diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index 46f67750..aa28e451 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -48,6 +48,10 @@ class Micronaut(_Framework): _icon = "micronaut.png" +class Quarkus(_Framework): + _icon = "quarkus.png" + + class Rails(_Framework): _icon = "rails.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index c6af42f7..08c83942 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -113,6 +113,9 @@ Node classes list of programming provider. Micronaut **diagrams.programming.framework.Micronaut** +Quarkus +**diagrams.programming.framework.Quarkus** + Rails **diagrams.programming.framework.Rails** diff --git a/resources/programming/framework/quarkus.png b/resources/programming/framework/quarkus.png new file mode 100644 index 0000000000000000000000000000000000000000..4a90d92212bcf436af6151d4b55376d9c3c1cc6f GIT binary patch literal 5735 zcmX|F2UJr{u-*g$36M|{dN0z8R8d4i30(<@G^t9nU<0WNp$Z}>3eu!W6%kO1A}xRv zDFT9kQpG~=H4w-Pzwf<0bN0^6e*4Yr?4G^%+!*{h10(|v0{{SNWT^5&Z)%C7n)*o#TG6}IUjO+5wWk1M1RAZMv`7_tG+H&4LdC$*XsRD~RrAbg_|;-0Vk$Nax@|KW8L7mSi-^b?N~ z&`X*(c)CapcLe^w5L5;Cd>)s$VEBAqH~ENxo|WZ4%uzB&B+nPA$^kH}WjJvFjHvq2 z5}q$oIjIT*8coN>OaUhP2~?Q=8bn{({wdcT;+G0|tX&Wu^9lhPQ|5&afOiffSHo z-XM9|ICBr6SpWtOFiZ$eenB>NMs5){Y6aN2c+hAuG&>WoICT^05WuX60%v2vzowkc zrvP0~0e)#IF5z2rnCrZv0@Ng$d@RnL2m7=Qj}P|`$$LXE+Py>PkPzp+g?Jd5^)Tu6 z$)IxKwFxV_W!bj=kE6HFN-&(^;ZWO%R33g`X>Xv&{8tCLU7qjZ!A;&@T&z#K?IFT~ zWIP~~H^v|9=}H|QP#c*{{xd!D{1 zdvCI>p(X-va#HbV>QSRkCx7i~IiX1RpH)zhk>Q|#Adz;aySl=CeZ9SPbS~oGhXKIm zZKS7d>Hp(*YS%-wHYUo9+ibRPN^YF(j+yCTim8gJxbms6;kX+%Ou4%17npQ-)m z_M3?()RNPJm2aBQv+DGjbBIOwC)$zzPI`qR@Umv9227EyD+Ic=kxF~aJC3a2LZVdh z={+Y-h?Ig)L?x`f@!=@l?aDB&(GMS|*f7Iw@$T!o(aJa2Ic+JT_nv-pC+&oNM=12f zgd$|Z6|brva?`elvmbZclaVW!+4Xx)sFHSWTWG{@DaQ}FlILN^e{Jq4*?S+vi;8U% zAEkzf_o*G$J`vhz=T`?w(q@F#rm*WdlJn_?#A76h{2i`KGoVCV3RJL^EF-n)GiYH#dhq4ND}-j> zmrxd+YQ|bQ{O_n|>P(Ii{GBSd8HKC}&wtYQTxn)-raPCe#Us?)LB5G@C6Z)_>lGX$ zm8V}63Y>I%RP&I?mCN_}^o7hSZaHFG9i31n@8HnJwzgaO#zGZw>+jr4-hPI}SHfN< zuE<)CuuCbLwN3ca>sH}2JWl5BXy!%xL3U$E*bDw!B0X49%c1Rrmmm;3tZH|i^S`MCb`Hh1C-6!lj}qy!iz=WXl-k^gB+T1 z;Ktm{x2c)8 z@Wd)$zu(Pf;f4HG{WBwYX-K_IKN}QE#T@wXS2}C@wnbz{VUB%Wc)8wDy8p>cyYul0 z;!q3Fm;iygA0hMt&2+Z;@F*IjPGWPu3=r9W`Az|DR8P;|16=?@Rg3~!JKZ^fI+fN z=wkzUMU2P!34)6aY-QqbX?H=@Px@RzB*X<(?Rekj1A{3c_~9MaU z-f^avtJhqymN36eqRxv~`YV+x%0k6q^ky@^iL{<&HBQR$xj7JX_PPcM*(V)0QDif2 zpG}o1jer^UX+2EjPxD0{ZQ0xSCJEeI!kHpN%SC4hJL7hIQMBZ?{H}A;MD3Yq2iE(Q zJzNr>#l#aNhdeJiZQ)kOy;tnLnG7!9al6$SdH=hc`wD5BJd>HF>1REhqcPOZM5)+K zANIdf#+wLpjFCP zHAxR_r2H*kk4XA0+Rdn<8_mEhEca1C@>cyBC^2qb+&%H9M&)(1`~9*;kZry!Yg)Df zR+o3%-lPw=*p7q>LiBPI?5;J2q}%M^L>3Hyxu((;yT5~qTc4hfypC7_*j>@;KNERc z^=H%OJJ!}}5l#@oqM-Ve&f!4qOxpJP!NrZf!RxZ=TS$VZig& z|G|5 z_(^MydAcwkdtv8hjJDJ&3JmQit^Mk^W`nH6+e)p%!Ng8OSEJ~(f-M6|FpH&2{4^lM zge*mw%D=f#`BbLc9DUw7aU4ZRpE$i;?(Z(O|EQNvZg6sv> z?zeOA-I892A4fQ6mkO#sbt$mEipagLlxyD;2L!%B2Tb-S9-4%HespK#KG?%mYZ?s5 zRP;%PjB|NU7A62Z7 z=VzsPReT`e%-@|`6#-Xbs@7U7Qc!%=L|gL#yKCbukO1 z$XujXz+YR}Y%UcaSweG)6BLNq(yfemM3(zxS|y;SY`rEd7QWxtNQwFigzTs&F@jSY zSsk$He}@M@h^N^-={eiML{w~qg0zlMrB<_6Q4p=II|CsqYSCg%xb@KFg?{>OPm&%` z_nZ|1xXZzCf`Ges5z2GBH-}ylO4Qaha0Brqc1ZS8_ry{w+;ewy=P3sR1jEd8ik3RS z3i5IyiBVsO7T8v;%S9|&YW=hT#d8V*7J^3W+K$4=#qIVlGdx+g5i@q?G{aPyV*tMj zxeOHlN)d!%TQ$2GZlB4HSK+ zKnQ-LtAUI#tZGBK&96#**-t#?JfJ?oLkk4Hmy4g40G)5v^UV+p1jm+>H2K6}Ft}N; zoU_{nuwO_SvNqeP8F^-s^kAZ6pkH#78Ju0Y@B6k23OqMBqJ1Wj83H~JYa?YjvaiT; zQZW_WK(*ebZq!N*EN=O61|Ec2k9Y;Z5Wruw*AZ|9Ke)jxs5`2F!2YrgIm;I?JzLwh zm2CuJ$(AcDdC4Ux^%g_f2cQ1 zH81wD?~bF(b{7Pj%QxM4hKgava{ZxKZvVlQeSY+Tlr5;lbmN_Sgr<|}Sx(k>_#%7^ z79{8af@=$7v&F>LSVCJs5n8$Dm=1rbe&~DGRhK9z_BOxjTiWiZl}VBvyQLnEc^+p@ zyEZ=_4xh&1*W}^SyEL>4(qWAX{o_J!4WoG&>3H;5Fyzof$ny2-hPd8y)t{F?YV4Qh zWQ_NI`O>}rC4FTAd5L9F(0EYg*mZyxS>*t^x$qfRVDDZ`NezX?v1bhuJ3Tb|DJ`iyRMQF@MlhO$x3O@Asz#F2-{G< zG~@bs3+8fQ%9kEYsksZB8d7gC{2Dte%&HBluj$jHU^gIBU6Z%-mkU|VfoBGGf(8Pv z=CZhePbUp%34!xA`aJz~$6d0*+6`Ml--S7HP2HbjOaQ13;t&wyfDnH*SC>7<09o4K zk|$x;hI&ohx_|C4vD}$OIOGmsI%c z%e2@>m&IU&0v!xt;FO^wh^w}MXZN2rz6yqdoFzKp#G2(K0btj4{~hG?LisbtiXG~k zN)uxrIIvcOnlfn@WNb)`J1?RzGieVd^5IJ@D^S*N%P0%>6GU)ZV5wgFHO1V8+ z#D9tO0aC8j+R<`Ya;Xlio?U(uKdy4<(!&Lr%DOz>$f?kOSXs=521DW}mc4(r-<3hg zp+NUUNRRY#9`8b=g-#%Fzdsyr6swUu!(f`gLu7IsliK@XKm4Ke%2%kT-B>EEO=Dtm zMkj(`?VEMi-1lR52{xI9aA6El8kVl)`4p1!!`j1|U+y`(I4fva&iLW?U}k)(P4*p_ zN*ebo^zGj!nMwh;>Enogiu#3t#10yk7oI*>dfBf4vfi(|c4KoB*-I)~S=(Q?nHkUKuTYyksTF^jxrC2aK zzFhF>u){yLHfyFA!xo_SJcYSOCYsxl?D)>_Q#-z z#&enkRz@H#>r?q!<({E52LR`+`9NnZL=*)qxui7GzdhVoZC3{%#T`N{h`)6HEjUgz zz%r>V_u(!FdJDzx!~%>4A)G=D|4EyvSD?d`_%= z!g!?>us_ZDV<W&Xi1`u zG#OVQ5G(%GC&YVkk}kmuBDP#bN=*la8m-C|R;FcPC1o3m8G-K{Cn&`#f_^v?vk9DD zxP>6wsv}~x}i#kdt!klco`8br28R`UIw zWRn_6lGlMHl?66={z%K=Ox58Ldo~p%Wol-euB}jrb8ubq?@a%De0)Y`@OY#lr@3Ol zl@nZoUWx_?^XR(?r1ZJ~$A=T6Px7NABdD7KyD7FV^72$! zht4J&`Np!n6(*`la?BFC^n<}7NY~P?lF|I(?4?_CK|Q&a0g zTM05W8Plz)<`>eA$FZ^4>s7b>Xw@?LYMmR!+F!^D#k`K^tzs84mu!9m5_1pwBp}?J zim-*7Qmf^U#}-W@Dyw4DE(pztbe*PjUyQjpcDP$s5^9)!CVNVR8@fcUFzgO-fVzaW zr=4c*sOjLTx&poR=ox;u?5t1^Ly>{#6K_^!;d0WG@(zoW(|;58^9C=o7JY~w_un&_ zW{hPBFiKb`hhywr$DYIz>J00&mL(Ra26)bdIo80-GjB$?f0so{q>o;Nf3qpD@X94~3nrH$EBi!!5U~=~E zDO$!T?myg6MyBi&zG|ij&d*+WnOKUDTZ&v*%V$r~+jDb)@9s!`bWw@m+8gQk&|w`j zA9*wS)a%cI(ubpGpaRXo%e6E9KHLYj(>pbbtK+JrHHBT0nKg&^dV5|khR_5s%KP(f TNqwRIO9Mu@b9$vZ&SC!pKb%Im literal 0 HcmV?d00001 diff --git a/website/static/img/resources/programming/framework/quarkus.png b/website/static/img/resources/programming/framework/quarkus.png new file mode 100644 index 0000000000000000000000000000000000000000..4a90d92212bcf436af6151d4b55376d9c3c1cc6f GIT binary patch literal 5735 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 TNqwRIO9Mu@b9$vZ&SC!pKb%Im literal 0 HcmV?d00001 From 45e187466af9ae6665ea190d49a0c2035438b415 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Aillet Date: Mon, 30 Oct 2023 14:54:21 +0100 Subject: [PATCH 04/13] feat(node): Google Cloud Logging (#929) --- diagrams/gcp/operations.py | 4 ++++ docs/nodes/gcp.md | 3 +++ resources/gcp/operations/logging.png | Bin 0 -> 1047 bytes .../img/resources/gcp/operations/logging.png | Bin 0 -> 1047 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/gcp/operations/logging.png create mode 100644 website/static/img/resources/gcp/operations/logging.png diff --git a/diagrams/gcp/operations.py b/diagrams/gcp/operations.py index 53ece13f..8e7a2b4a 100644 --- a/diagrams/gcp/operations.py +++ b/diagrams/gcp/operations.py @@ -8,6 +8,10 @@ class _Operations(_GCP): _icon_dir = "resources/gcp/operations" +class Logging(_Operations): + _icon = "logging.png" + + class Monitoring(_Operations): _icon = "monitoring.png" diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index acec27bd..3199de9c 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -278,6 +278,9 @@ Node classes list of gcp provider. ## gcp.operations +Logging +**diagrams.gcp.operations.Logging** + Monitoring **diagrams.gcp.operations.Monitoring** diff --git a/resources/gcp/operations/logging.png b/resources/gcp/operations/logging.png new file mode 100644 index 0000000000000000000000000000000000000000..71a7ceeafb32d78a702bd06f7adf708c80099763 GIT binary patch literal 1047 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&w@L)Zt|+CxDbkfKP}kkY07{|N7Iv*PQ*i z=Irlvr+=+G{WERux72xGGG>2Ip7U`%NaWYdy+0@K{IT}*Psf%oPOV>3=Y7kV^UbmK zi&M)NXCT@7x%nFF9-vtgB|(0{3_=ci?*F&{cXtpn+yC}|=l1{m&D;xiw0H{_HZU+S zr+KAr|GCQ=4CErR4t_3U1e$^YW-YzEHf(*s%6|)@4mU9f zFfchVa4;|`Ft9XW;cPK!5S)IDsY4N2`U#4rA{5=0$i_6tFd-T4z{d!)#Y34K^CpNf zz|5P(G@~F>N`zs(5L}1_oBPi^^N-ejDyRMGCVC&d4Etg2=E{Fk=9^IwOdooxit0 ztQQ_x$g$xN1vlA)E1|kG)`7tvDF#4JLUA#Xob$qjbvB$-UFOKxqi5*H#lQ%QX9X<= z7FdWjY=JvDppxPE+50_+AX&tOa99T}{VU-56&R2;tgvag{4w9{4yQuH*7I*J8G=&% zp#}fe<~}q&(ZIj~LyAla3?L-H0}}yCfpRiF@L_9jjsX`#`k{F3>;K|)KuSGb{an^L HB{Ts5ZAI7L literal 0 HcmV?d00001 diff --git a/website/static/img/resources/gcp/operations/logging.png b/website/static/img/resources/gcp/operations/logging.png new file mode 100644 index 0000000000000000000000000000000000000000..71a7ceeafb32d78a702bd06f7adf708c80099763 GIT binary patch literal 1047 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&w@L)Zt|+CxDbkfKP}kkY07{|N7Iv*PQ*i z=Irlvr+=+G{WERux72xGGG>2Ip7U`%NaWYdy+0@K{IT}*Psf%oPOV>3=Y7kV^UbmK zi&M)NXCT@7x%nFF9-vtgB|(0{3_=ci?*F&{cXtpn+yC}|=l1{m&D;xiw0H{_HZU+S zr+KAr|GCQ=4CErR4t_3U1e$^YW-YzEHf(*s%6|)@4mU9f zFfchVa4;|`Ft9XW;cPK!5S)IDsY4N2`U#4rA{5=0$i_6tFd-T4z{d!)#Y34K^CpNf zz|5P(G@~F>N`zs(5L}1_oBPi^^N-ejDyRMGCVC&d4Etg2=E{Fk=9^IwOdooxit0 ztQQ_x$g$xN1vlA)E1|kG)`7tvDF#4JLUA#Xob$qjbvB$-UFOKxqi5*H#lQ%QX9X<= z7FdWjY=JvDppxPE+50_+AX&tOa99T}{VU-56&R2;tgvag{4w9{4yQuH*7I*J8G=&% zp#}fe<~}q&(ZIj~LyAla3?L-H0}}yCfpRiF@L_9jjsX`#`k{F3>;K|)KuSGb{an^L HB{Ts5ZAI7L literal 0 HcmV?d00001 From 054c3b50867a4dcddab5ca848172799d3fff2a89 Mon Sep 17 00:00:00 2001 From: Ermias Date: Mon, 30 Oct 2023 15:04:07 +0100 Subject: [PATCH 05/13] feat: Add Azure Container Apps node (#889) --- diagrams/azure/compute.py | 4 ++++ docs/nodes/azure.md | 3 +++ resources/azure/compute/container-apps.png | Bin 0 -> 38538 bytes .../resources/azure/compute/container-apps.png | Bin 0 -> 38538 bytes 4 files changed, 7 insertions(+) create mode 100755 resources/azure/compute/container-apps.png create mode 100755 website/static/img/resources/azure/compute/container-apps.png diff --git a/diagrams/azure/compute.py b/diagrams/azure/compute.py index e2e23ba6..810f9237 100644 --- a/diagrams/azure/compute.py +++ b/diagrams/azure/compute.py @@ -40,6 +40,10 @@ class CloudsimpleVirtualMachines(_Compute): _icon = "cloudsimple-virtual-machines.png" +class ContainerApps(_Compute): + _icon = "container-apps.png" + + class ContainerInstances(_Compute): _icon = "container-instances.png" diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 10667e45..6a0926cd 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -71,6 +71,9 @@ Node classes list of azure provider. CloudsimpleVirtualMachines **diagrams.azure.compute.CloudsimpleVirtualMachines** +ContainerApps +**diagrams.azure.compute.ContainerApps** + ContainerInstances **diagrams.azure.compute.ContainerInstances** diff --git a/resources/azure/compute/container-apps.png b/resources/azure/compute/container-apps.png new file mode 100755 index 0000000000000000000000000000000000000000..b36d9165514739437d27e99baf170b48fea692ce GIT binary patch literal 38538 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 YA3J8NdnV>IKmY&$07*qoM6N<$f~^w{4gdfE literal 0 HcmV?d00001 diff --git a/website/static/img/resources/azure/compute/container-apps.png b/website/static/img/resources/azure/compute/container-apps.png new file mode 100755 index 0000000000000000000000000000000000000000..b36d9165514739437d27e99baf170b48fea692ce GIT binary patch literal 38538 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 YA3J8NdnV>IKmY&$07*qoM6N<$f~^w{4gdfE literal 0 HcmV?d00001 From e66a5db5ad8220a1c41038376f329edc6ac98717 Mon Sep 17 00:00:00 2001 From: Matthias Gatto Date: Mon, 30 Oct 2023 15:04:57 +0100 Subject: [PATCH 06/13] add generic/virtualization/qemu (#868) Signed-off-by: Matthias Gatto --- diagrams/generic/virtualization.py | 4 ++++ docs/nodes/generic.md | 3 +++ resources/generic/virtualization/qemu.png | Bin 0 -> 20030 bytes 3 files changed, 7 insertions(+) create mode 100644 resources/generic/virtualization/qemu.png diff --git a/diagrams/generic/virtualization.py b/diagrams/generic/virtualization.py index 0695fd01..f7f9006a 100644 --- a/diagrams/generic/virtualization.py +++ b/diagrams/generic/virtualization.py @@ -8,6 +8,10 @@ class _Virtualization(_Generic): _icon_dir = "resources/generic/virtualization" +class Qemu(_Virtualization): + _icon = "qemu.png" + + class Virtualbox(_Virtualization): _icon = "virtualbox.png" diff --git a/docs/nodes/generic.md b/docs/nodes/generic.md index 508ab0a8..5bab8cf1 100644 --- a/docs/nodes/generic.md +++ b/docs/nodes/generic.md @@ -98,6 +98,9 @@ Node classes list of generic provider. ## generic.virtualization +Qemu +**diagrams.generic.virtualization.Qemu** + Virtualbox **diagrams.generic.virtualization.Virtualbox** diff --git a/resources/generic/virtualization/qemu.png b/resources/generic/virtualization/qemu.png new file mode 100644 index 0000000000000000000000000000000000000000..39cf1f24e122b08beb368cef5ded3fa073306a9f GIT binary patch literal 20030 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 L2PxGKw2S`(w8Qm_ literal 0 HcmV?d00001 From 0475227a12488459d3b5704895297588f5e8ea27 Mon Sep 17 00:00:00 2001 From: Viicos <65306057+Viicos@users.noreply.github.com> Date: Mon, 30 Oct 2023 15:05:48 +0100 Subject: [PATCH 07/13] feat(node): add GCP apigee (#905) --- diagrams/gcp/api.py | 4 ++++ diagrams/saas/alerting.py | 7 ++++--- docs/nodes/gcp.md | 3 +++ docs/nodes/saas.md | 7 ++++--- resources/gcp/api/apigee.png | Bin 0 -> 15239 bytes website/static/img/resources/gcp/api/apigee.png | Bin 0 -> 15239 bytes 6 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 resources/gcp/api/apigee.png create mode 100644 website/static/img/resources/gcp/api/apigee.png diff --git a/diagrams/gcp/api.py b/diagrams/gcp/api.py index f556ff03..45ec2e09 100644 --- a/diagrams/gcp/api.py +++ b/diagrams/gcp/api.py @@ -12,6 +12,10 @@ class APIGateway(_API): _icon = "api-gateway.png" +class Apigee(_API): + _icon = "apigee.png" + + class Endpoints(_API): _icon = "endpoints.png" diff --git a/diagrams/saas/alerting.py b/diagrams/saas/alerting.py index 76e17ff2..0df15d83 100644 --- a/diagrams/saas/alerting.py +++ b/diagrams/saas/alerting.py @@ -16,6 +16,10 @@ class Opsgenie(_Alerting): _icon = "opsgenie.png" +class Pagerduty(_Alerting): + _icon = "pagerduty.png" + + class Pushover(_Alerting): _icon = "pushover.png" @@ -24,7 +28,4 @@ class Xmatters(_Alerting): _icon = "xmatters.png" -class Pagerduty(_Alerting): - _icon = "pagerduty.png" - # Aliases diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 3199de9c..a47f8020 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -44,6 +44,9 @@ Node classes list of gcp provider. APIGateway **diagrams.gcp.api.APIGateway** +Apigee +**diagrams.gcp.api.Apigee** + Endpoints **diagrams.gcp.api.Endpoints** diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index 2056e921..3bed3f32 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -14,17 +14,18 @@ Node classes list of saas provider. Opsgenie **diagrams.saas.alerting.Opsgenie** +Pagerduty +**diagrams.saas.alerting.Pagerduty** + Pushover **diagrams.saas.alerting.Pushover** Xmatters **diagrams.saas.alerting.Xmatters** -Pagerduty -**diagrams.saas.alerting.Pagerduty** - ## saas.analytics + Dataform **diagrams.saas.analytics.Dataform** diff --git a/resources/gcp/api/apigee.png b/resources/gcp/api/apigee.png new file mode 100644 index 0000000000000000000000000000000000000000..961c4a720453764e3201ca98683e24d7ea6d1f81 GIT binary patch literal 15239 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 literal 0 HcmV?d00001 diff --git a/website/static/img/resources/gcp/api/apigee.png b/website/static/img/resources/gcp/api/apigee.png new file mode 100644 index 0000000000000000000000000000000000000000..961c4a720453764e3201ca98683e24d7ea6d1f81 GIT binary patch literal 15239 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 literal 0 HcmV?d00001 From 44b3b73e28a9036589cd183308f2b89e87d50817 Mon Sep 17 00:00:00 2001 From: Dov Benyomin Sohacheski Date: Mon, 30 Oct 2023 16:07:32 +0200 Subject: [PATCH 08/13] Removed support for Python 3.6 (#856) --- .github/workflows/test.yml | 4 ++-- README.md | 2 +- pyproject.toml | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 88c791d5..dd94314b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,8 +21,8 @@ jobs: python: ["3.7", "3.8", "3.9", "3.10", "3.11"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} - name: Setup Graphviz diff --git a/README.md b/README.md index 0b15594d..73511f7a 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Diagrams lets you draw the cloud system architecture **in Python code**. It was ## Getting Started -It requires **Python 3.6** or higher, check your Python version first. +It requires **Python 3.7** or higher, check your Python version first. It uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use **diagrams**. After installing graphviz (or already have it), install the **diagrams**. diff --git a/pyproject.toml b/pyproject.toml index 05eb3008..93705dcd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,6 @@ include = ["resources/**/*"] python = "^3.7" graphviz = ">=0.13.2,<0.21.0" jinja2 = ">=2.10,<4.0" -contextvars = { version = "^2.4", python = "~3.6" } typed-ast = "^1.5.4" [tool.poetry.dev-dependencies] From 1814e95f180c793b0e1f89a80c69f3c8a2d09d59 Mon Sep 17 00:00:00 2001 From: Shiplu Mokaddim Date: Mon, 30 Oct 2023 15:08:33 +0100 Subject: [PATCH 09/13] ci: install poetry the right way (#917) Install poetry with pip causes many issues. The recommended way is to use this curl script or pipx. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dd94314b..b7337ea0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ jobs: - name: Setup Graphviz uses: ts-graphviz/setup-graphviz@v1 - name: Install poetry - run: pip install poetry + run: curl -sSL https://install.python-poetry.org | python3 - - name: Run all tests run: | poetry install From 8c9a285208571acce4282e5cb9600046b15bbbc7 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Mon, 30 Oct 2023 23:09:41 +0900 Subject: [PATCH 10/13] bump: up to version 0.23.4 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 93705dcd..7b638a8f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.23.3" +version = "0.23.4" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From f54c7aadb539e6a83b68a15f9ced0bd58c798bfd Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Mon, 30 Oct 2023 23:13:02 +0900 Subject: [PATCH 11/13] ci(test): remove support < Python3.9 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b7337ea0..2fd60696 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: test: strategy: matrix: - python: ["3.7", "3.8", "3.9", "3.10", "3.11"] + python: ["3.9", "3.10", "3.11"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 From 3dddbc67e28f7f260db0ed03052167d3dbe7c7f4 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Mon, 30 Oct 2023 23:18:42 +0900 Subject: [PATCH 12/13] docs: update readme --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 73511f7a..e4fc9508 100644 --- a/README.md +++ b/README.md @@ -76,8 +76,6 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). ## Who uses it? -[GitPitch](https://gitpitch.github.io/gitpitch) is the perfect slide deck solution for Tech Conferences, Training, Developer Advocates, and Educators. Diagrams is now available as a dedicated [Cloud Diagram Markdown Widget](https://gitpitch.github.io/gitpitch/#/diagrams/cloud-architecture) so you can use Diagrams directly on any slide for conferences, meetups, and training. - [Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw your existing cloud infrastructure with Cloudiscovery. [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams. From f517463eae03caa5ac7f27dcf901dd395e086a54 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Fri, 5 Jan 2024 15:42:12 +0100 Subject: [PATCH 13/13] Add Apache Airflow as users of Diagrams (#956) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e4fc9508..086a684c 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,8 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md). ## Who uses it? +[Apache Airflow](https://github.com/apache/airflow) is the most popular data workflow Orchestrator. Airflow uses Diagrams to generate architecture diagrams in their documentation. + [Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw your existing cloud infrastructure with Cloudiscovery. [Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams.