diff --git a/docs/en_US/images/materialized_view_parameter.png b/docs/en_US/images/materialized_view_parameter.png old mode 100755 new mode 100644 index ae8d7cd8aff25d7ecf63e8e76dfd7fe5d99ee988..e5794299c8d1e9072e60498235d5f6382b683435 GIT binary patch literal 114152 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

H=J z^iB2r(^Hmq2puKs5-^tN0gTI1jc?@K{6lRQgtwa1%VUI+*lL+9jaFo~IxexN`m+g& zd|6a906g53(K%PH^L_(M+V{aIt87xN9vpp;-M!;vUqFdWlkJ9nE9}@|qN))7%Jf}v z2thF|;H6U+kyK(n^rsjADYx8es_4K3iChy!DZlHSzVowDDEWHp)vbWjwu;neVG;l@ zs-*!MOjuBvSdi8Ua$1^@SN-7`cxOvzrlV8Qjg`(bD&x)Oa!!`NcMZUl>o2;Q!f_Nu zzzC(hA^XxFgou@RUNbh%XX1h1b0In)Sr5aT^YH zF82%$I=N6{1gBXQcxrnbrs%~p)=R~l`p>TvQo_`98d_EH!Z4fez`Ze2;Dt5tmNj{i;-^zO2^1<;S_jDlZZ=Ml1hR{vy2 z@Vmw}jnJYK(!ZN*xDrU4<`IUj5FAbhs51tHJFrOf4#RIlyqwtkP4x)I^4gH$Xu~oD z<$m_gdrnkSoXFL}86^!4qwa(+K(3Jn#*^L88F(qYm@4LvD0EjW6e-PDATAD=7ag50t?d#B=?Y6%X3UN-2*DKj zV9E#nU^-9w#d?8UN``<;#b5zyBQO=^1@v9A9*;Y?fHama2$o(timFXQcl32R!3(Q=mX!+{q+ui=$Ur_4Dm=}XHvfXYa%vP zt8V1ZK7e`odA`1K#$t{`reKg51ZjgiT zE7&}>NTSHStL*elT0CqIu}IxI6%#sGD`-zehI=By!Wa2EKt%-?ZTAL}agR z>&>j^+s>;WSb?IK+Bo6lGL8BfSm0{SV&H)oRTW;(+K`2E+#Gd%S{(;EnU?be(IHXh z%E}JP6?`B1Vnj)Xj5CHB^o@GE?u2{k5Ph4i?*m2gSLyY)m$f&#G}22+?1&BJ?mUZF z-rZBNUs`M^GXC=r5EB4$74&%LQDGV(6vP41N853whR6|#Zx!vQp8DFzB|)jIAf$~i ziD{xpWD3_YOrrRR#yM^fm>Yqgs%7W9H5^16WObANqn1Ya0hXzfKtImURb%L($39hpg6@G=uJh5d0UQw1~T`da{pIwZftx6rXXxVB0DefHuI?chaf`ND-U zydQ1uRxv71*Q?Rk2AKvKyK|^-z^y6fk ztyCK43xhVVZv}RFvz699yBhVFxAN@5KC9JSlQpSf(nfD~@zxF?SZhWe^p3sjhdH?# z%F?Ps7plnw4S$!OD302=O#j5ym`G(;Y%CMGLM%r=c2In-VMGTT&v~}j=>(Y?KZ+R8 zfUq*2i~y0%1QI?@bdZVNTo*c?Jt$WzFDMr4(&%`;!y;HFE~HaWEF!!HGtC>vShUT3 zfY%5UPb&PWgIQR)qAoobfI08#mc#H5d>NQ;^oHzOo3S0 zRT+FVKaLiZi%tt~D$EF?OR}vUGvhWOY0vNtG(5-(cXME95KZ8k)#E%D-bE|x)raer z;lYj9KwUj4{G~u9;d+KE5nl{O&zGd-q%6>Hlh;BoT(TdT6_o@67YCk~pGH!YQl6dE zqkCkUnbH_j{tL}~DY~+-+`xSC(&y+O@WUwub1XbKy9(3klO%FKB5CX>CjmIyaEYRw z<%~tBY)>neNcyP|G(0wz6mTvD!~P6aP5DDt)vyH?PK!2hS9oLaI>LFnTp zJIETI=yqUFt2%~gh$o{+DgA}l_R+CZYqLbIwC+8c(R!1R&UoF z@^ca*#03BPGy_+8q&%kn&zAc)SZvdT!3&bd?D2Hs4Q4xHzL_X*R-Xg?)2zSJYWX0r z+7PW8V-kE}Z~C`d^sf>jAqzt`IOIQ*f6Yyaf zQwQrl|AqkItiQqer^43^2XWCgwwM4n$bH#am@7)Qz5Z#;->h^5+5hmzcIi#$+4zN` zU_cZD%!dqI@>Sh`X2IW-^rL7RS!JJ9+LY?-LE>|iNnh_jI`Y35DlLQI50QY}((IG+ z6=F5Li*5&bjc!Vgy^v59Q=ba^m&e0EM~OoqF`<%QJA$`i-}%$$1~$t|yBtk3KlPoc z16_%uO*OTr_e&9Xn!Bc8dqZVebkdCG+F|+V$>RRh;jz8G4I#D7)RS@Xu247~gRq?A zM_!_Y_iO{h4`e3OS~*9$?QM@n%dz}veZ5m_EKqB6Y|m|rwkV6GOMB`IhUy-skF(=V zrCr7I<}K~)B&MzIer7IZWo?fd_AYjFk~ta{en%!ttkt#(L=IT$^Q(nq#+Zsjw`(*>kML)1T=#HgP zF~}5$;YrMvNEftLc~Q;GYE2woQmveQr*W~3XmXi}8fK`bv~@8R*o{f*xoNBPxuUaM zd)_L{dTs!fU7600&AL7Q9{ z9?#U`$r`iaEMGz3_2*53_v^;eAZXZaDP8|>EI*EoaK5i+k%wnkMy;4hd$l)~GFz@I zx7Oz4LYQ)8&63Qm3Rt|Pm7&W1+!SvF_E{H53cjZHKY7T(k?DP zx3{;Ie~OvBCMPEkmTA`({P-bjTW>w5_=gkOZid`Uc;~S#Mjf@^Z$?~hgpkNC)!XhA zBq+u!fS327a$(&d-_%z7wg*YeQm?yHE8SU|^Si@*iR70aZrW~ckA=nY!Kmjd zUz1(%*(`z2c~`nrqrAZFY<1Dldd=Hth~%c`0r=8E{FK(0={;mh@>}s3-Xqv_S{ek z9!@`p4%|i??(Qrk!_@ zu8rp1wt0c6M7IyGaYc5fJ&T>A#|yP)i*;6>E9;Asjm{Qa_WV>-RF`0^LoW%&=&{*C zUPV6ZkDP9&dLvt6(}$e1B9&)<_7w=t#Y{Pt=I8X=6Qr(>#jc{qon2p_bKahdm%&<4 zd`=EaY!0|aa`h{&x>PWF01V~=SGJ!K+_)M~5kn)~o{qk@H^-aVC32o%j#mRl5QAW% zLrTOCvSiQWH6O;K0_p{cJRNg1f@#{WFs&^qBP-ZuXz;33zeb$nLW1{Qw%q z_INBGD|As5hr=!}ZTkc-o`7XwXDBgCYR|QX`0T&F!BxOQV+3rfOPEH@DQU|s-N_9i z(HNYT8he%)vr$*4BFQcq%Vsf*%pmvibVcP(=uW6l;H7#Ah}7}A;66}LwhP+7K=ZvY zay%$Z83Z#FGBY!?%enSf^|2IGo@M2wQNem0mKmP(F;~42%}@^D@Vu-w&qhaK%KD6`VH#x9q{2w&jbvAq=TfBi%Ls>V6{K3oM9Gcx$0D@n8LiEugC>OI4s(Q z_EJF|OkBrP$zl3i77h&y^Di8xWubdWr!v>$Fzfx&Bjhk2mj2+e9T#>Etf((HXv+0G z)zZ!Jd-X5@XC@m&n|+J*WRc~fu?a?6I={(H-jKH;8Ev;-zM+g#R1Dkdf)L3F!R(Oto!;mnPes+ji>R_qjsrF2^ z>z`#M5O8IDCSx-j#O4Y-0i$kpM^lklJtj1jI1rz}eK#AA;k?Pz=zE9iEotFYM*XHw zw&%t-v|aCXFU#8Km=%p&mqZNH|%?2Wt^q$`My1by%?Xd`8_m3 zGTCC?!`c|Z*ZZxo{AhmqYRd`om+0O#v%zZ9J&J>1q%}WEz#5kSGSl4JAMC-_0l&z< z{skJ-ZP`((X+^~_dh$}VVg_yrOyBr0^1{=(m(tJC{!%>%LOa~1%xQ%2x%sOHbN7r4 za~6%$z(cViD5D*8G|NP^K}LWcnkWhFo}R_;@*^lBJqQ{6{Zr3rfJz)hivHn`;p%z- z_hle~#(LWx3@KHf65n3V{N{=`L_yn|5zMnR=GjF#?wg1MLqk(!BVatKn)Bo0D}v!K z+Cj4v{UVhHhuU$n58ig4jcL>N$&~I54P+R5l#Czz6(C~=TBCvN%h?Rv39)E zS<-D!VX*D5eB=51EFByeSLfO^thg?|lW+xibOi>~OL^X{xTOe5 zfbb#v9Ij?8hu#SsllBq0Wo8RRoir0D`PId?EN^p$ETi)+dmF`NR&_z(3mE^fX)?CQ z=X1>yeCe%1Zz@e5JPgWoyUw1hR6V1!<-Cna8LSO zL(WmVFw=S4?z8FdO%sppLbL*@Vpn!QmFmbx*P_f{exbX#^~q#ieM5=pBgvjgT;p4Ok?eDg>`xwR55L=TBCxVELKZJNi8oE zv>sOHv{p$u6oett`;PD@l&}vTmpWB!&SKS(8G^dEOU4v@Mt9{Bb@8T|r{1lu$C-$f z(w%`HA9;-n>_d6|&VR!bs8f!x?WAKNWDwWZjtT3ISq}!I5>m$qKWc?eHh?)wrr#^9 zr$OuGAcJSy2fycw?=qxW>?Ylz%D%q$(NQUWZ%=CkwmZ$89@l!I_h(fvx1Dah=pPZ$ z)cAD*SkBs>Dt!C!5RF2g!N!r=Ot6vd;7CEDxE>GgI^qa+4IZlk60nul_PZZ)@9Lm9 zCtKKpX9>j7Iy)XS!n3B=-X4aou`95*`DcF?O(5^+@m0t8=%u=Mko;YTRA_@BML+Z& zL&)o4Cxt8Ts+Z87va?4gXP8DY^Sjb-|8vVv$6#$q5eBmWgM1O8n+}6HngH=0ybl)N zxF4e7x|ZWgYmvw1!?;2X$e<7lYMlt5cR+_xMDvOhkuTOCRWwsWY0rR6bDqo30N7!> z7$coDFiRVoS?*6K4O~Qaq+zU#m2qLBc9>qr)lvZnG!x;-EG@JbDecc6k79A(<=uXz zg?j=U<9^;Upv-;dNAW9BAV=IV|MukXKpidoxZe%7wQ!==`_mo?V;D^B@WRF?&4V!^ zmyUnuH?cs>4eB%mAp6Bd9|=w8xC1$gsntra3D6zg>H$nv&LB ztX)%alM#6O0Hm;oG#FTe)lvnVVMAPqc~tAf2#)0PF5_2+;8!~B^cX(gVEFbp7gjP= z^cfi36eIMSn(RLXw)z(LLFROhyFaEbT&VZJd26kO(VqHjoP^;!;}nz+XEu{ozce;b zN=Bx|(lS*_XFl|WVC6)A$oYMytwz#j;|k_`pFIl zzz`LU=zz5W50UR-JAn(ISh244d_8{MtGDqhc-i-m8tQ_!Bo_o0wm09KPmGAl|2&QF z8KAW>9VIyui3$$+@N?*nTX4994q){=>lm%xFRo6UU_X!n zNn8Qg;&d>@HX)Jc03O2?Fsk3M>carAm-$K$!?k3C9m|A=7?7sFQB+8?zdv0c96Xtumm zQa1DprvLqclHZRuOh|-ojnIPkU-?u3zeCXjn8fQk$b*K}3YhYO5FP+jaiSVrofyHx zpm*EVeZ-}0ti_1A@9vGE8KK!`q+!jXqQsSRgt2U?COu}~~38OWu%x>iz#4C~r3e{owwEcKgIT!kV0-t;pK$fN(G4_EX+O&%b|F;!BP9UXt z!THACYLZlrm(=US_L0*A)7YSumkndayM2lW4?d?UDyg9_ZLO3jG;%pEb8#|P;e`cd z;`yj@b3CeSYPJ2++Ks}lj~7*TlQg7B!^jR(Df({C7(-5e zMu8AjdWaebXrFG+=tEBH)2VK%kKN^~|;I!KpJX3Fivmy@v*pNl1yW-qS-8G68b&9YuL@I|B=Y4wwn_cLm0(-=Rek+D!oj4_le*0)3s>Sfez%B;-t8Ez;ysfFvHU0rQ3UD?DARu*#@MI5URu@iO=p z3Bg7|68$l%B23gfXd2HRfJNp*a=#keE|#L5Skp&$3~U|h)|XKYh=M2|B| zT%fQ?xK=iw@>5O3N_p=UNr@mKBfCs={DvnfD|dePg;3%~Ud-qRlvS611_cnx32~z5 zT~LBI&VcAEZ;E^sd>g`^Rj9IDC>|Z1kqa#v~j&i@y4d08^mP7*ul*zIy* zj)Rf~y&w%)7T6pWA5>D-BHo!P^Rl(9^+Eb5WoF5(7RYqhhxQAL^He{UE=@Aq#C_f) z|2^TonC|?N*^z&ZT_{9)Dq4P@QnG*{F+G}rhl#tHq8B2v^!5k~@r>`J<~2REl|)+_ zr@o!1dDXJ-L7XafsJS+8iUIzk!X$9rLb;CBsnp6lr2A_R+rZ^HzU23$Wj4ba^-v&j z+g>u+<*ztKq|&*?AdgUE6ipYtu|>G}wBkL``uE>&&~B@M+Z7kN8QU59%rpP($<@j8 zMUsSqcCs0SivH>zw|-KFCnceqPeLKu9>X_*rbDs@t9l&|9UcH8ht21WCm0oW?~|wQ zF2p@}tEcRB9yHebsH&Z2BbR|%=ij&0YxFM6j;~G?m+1Y_1ZZs1relQO-}HBtFvW!K zmYumq7z#U;YvWCJcP}AE=q*<{A%z7QDTW(Yz^5@665Vp$1{uGGV}YWtuN!}9o)j2b zJL4R;jnWh-s29K&yVUg&h0Jy^RMBL)*K_X@#P>NgzktH!%-%eC&%y*v79gMI@SD0R z=v|ylKlOx+-EARNA^-I-Y;1(^1WfaI?fBPR1v_lOht%t0T&wzf(>A%&f4>Tm09A>PLH zVWX&@jT$O6)1ebl2kt?Fx9Io`k34vq>a(Ru+oW5Sf1*=GmC`4~XA-YtHuVtJs}5rx zC%X>tu__}mCCM5l*i=e?l;&z>(dwN0yxzljLgr)m{AUm=UM*9>@zsJ{L7lhNcuBH_ z;Ts@$gznu*$QE9xz6_~}tFJS0Ocr4<__ms?))hHR8`md;SL!f)6o-pRf=S8r{#^F1 z#4BUw{CK&%fRGb*Wn#~VEzxUwiRtPn6nuV3$)Jy12od^{emqK@&mR>?>YvP==8#E- z;?Yk4ceN^pLo^h9*7#>(b+kq1-Kf+Y1lI%StZNKK@mh&l{cLMiqcp+k9`2-hlGy3a z0qkvejQ2+Aa61TS5iRLqTccihd?d+1@JJO{jKTTuI{75BH%9n60z>pgq_5Dm2-<29 z=BmNHV@Lu;R*tR=DsQ9b+6)X?VGYqRaNmHviF3{>p+t9FWTvNA-Rx&@#N%6U{v9ft zdR3aw%NaFBA?aN)NAuX}5`LC;(};2Eq5c;b&=9&tk#wE;il|$R?wz?fL3jT3)YOGk_(?1FeBwa~Mk)fGXsSK^bp#gO_dm z{w!BS=o9yfjT)8A@I@fNfy1A(2P2?}w^y$U|FY$xm(XP&H|Lk}1kO{ecJ^x;THj~W z)8!@GhE_>Z%bX12E^~x7Ht${>lwS{8fFP&5y1Ee7l&M1uN2-7h2PQz4G{FR15G_pK z*N0Crg3qC=%IlP>o#8pTA*{xaxISoX7q?gnpsY0f69#(KRHn7EI@H z4f$>}83esSMhHyn{d`GSRoieOsx%u-CmkjwR0iX{l@X`Tcbf;rjs>DI1!-)$_#b zlUV~e)O{+ccgGkAa%tP}of^}Pw!HB13`I}xZ{jl)mlc@Xw_p!e+kPImc*JGao;->* z=phNX#X{;YeRZaJ@WxdnIcQW|I&Uov%X35O8n^8P|Lg9#j~l{vo$Bb*6vbr8|KaMJ z!{gc(zMC{^V>C7!+n6*-W81cE+cq0JY0M^V(%4pG+t#;p?z!il@BMF{d1lsLd+)`c zmK8ObZ!tkfM)Eb{B^f(RBi;RBg8kt(MZY&uJO@1-yN+%5=46B5;ka;BrpFb2*;1p_ zmry?Pm>^?S=!7tLANx`MMvgI?&S&Q=`JZhvMA5@0!B=*p#FALefMj=T;gyFPc86Y6 z2g8yy;4|MY`VD5DaI{>yKmieJ&8SL)~zz(4$`cMZ(zNia?oV=86?fefu9uI24fjt(7_gIs3U}>llP25sindM7{?KqcKmYHk^N?Y* z+p)-wNOW6ISYHI7x&N?4TFOfE2DdOD+MTmK&Xd$aGd8$IYu?pJC8BDzA%9y^{YCFt z==Bo$Q#XZ0|M;AAOsa2ZSWepOH{FKPjGnZ1GqOWx&teQhkcj-YT=o~gGBWa< zPmF%LjDv=`C>=|t{J7Td$sEWNj1@*)I}TQ>E1HZq<)q99aF`TOZ7x*T7I zk43@AAg2#U_2yw%!`QtbZ{A?In4@M`#rau3=P#GA(~pgJb*J!Fwkz{4qn>(bzL#*k zJ6f-AQY)&?YRLn2`izw_%j$~d;N;4|nAV%N zs$-MJ6gB!f9_FmlPOiy?#d@A4^|pezyLqF7RJx_b!Dc%?+t>FGFVf1Bmk|s?1(@!E zXtPaO%_BvN#pUPwIvP3^Kbm<~nl4(c6Oia-LPxT#M$pX)s`|PQSe?s{gC*W?&63{G zt`ze~_dVLF8FwsH4zX3ielSW0KlO*NZbCtC{Jrf|qk@rT$+p?Rv=oex@bGS3x!0q#7Pa1Fu7oBV)_C1HA}0 zwc$hk4jcz`HNP=iLran>oF&ULuU6cIUzW}W1p3des|U2jI80H(MhC`4mEP@9R+Uts z3_6ji#h63(ZN6i5?sGR?E5pl(+Qkdzq3_m)iClI#X=V|8D8CH2ply&ic2W(7lV%#V z)O0ppkiHB@qNy*>w=~Dtb)5c1Fvwy+5QZz@pvYB3*v;8N%%Xv(vAbC`HF{FtR+0cq z+u0(AkF}wow7{AUFMF@QCJ=MMpP~9A5KW6LysOBn5y*t*`s`A95l19aPVdR|RY=e; zYb7@mG0BkY-T2A zK3P;`amF%^QjS(OPzqp(Y|lw={hP0v*%~|U>z?_ zHlX~Jrl~A1_*@@}Sot&7L~>%o(H>;>Lm1jaTz2Y-b|HPgMyq2aT~A|55vTOyP*cuu zRjlcxt|w;t-ILV^UC!iVIc`(Nbg2f3Tju)f?Uz%pzE8;mR*lnm=$#}~hH zPabv0KYgb?jsA78*N;Y~DOnURCDJfn&=|K)wYX|ktURHmr+(Y$M5E5mjSY{w=@{T{ zjoVq_Hrojny{-CQLuL_g=icaUKPVz#7+cR`US9_t-9grTL2@r7AOgSfO6B&+ZNE9O z_2Oh*CS5IbhG-7vry5FD9(-xDAzN;Bys(fswsi~pOTPeufsjY;;V?c6I9tkcgiz)N zZ@)cD)cHYN>lSiGJkF1DUy7Eph}{2S4ta%{!_&|6`sN*3cmuV^fBp^(wP0X5`FDaG z;wPK8{=OZ$?h(-!3HVms{=sMVj(i7PNGY^;0C|IFO#ADq^t ztknNihYSY9^J2&b?7Uodfqkp&@DrAP#%6%t2ozMwfnYa_9Yp2g^0J1fpI;X zs)i?kvmk2G>~(v7FPvI#qv6CsbKct zg4C+Q)_jZf&R^_2QI=|R}J{W{)Pv?k4gQc8ndRWCYo3tLK`ej zjU;y-OqP*EwZC26mXq*owi-G#AK$5BXE|#3*KhK7gl+HFL{mdSmPb_KN!(mder~CL2xfTh|fqeE;Y_v z^dnyCTrx(dK2P&Sse4VuJR+qOUIs*w_G6YJ4>eXM#R_k{q%9kYT`*g(TAF4nORl3R z8t|IW8pHZDz~P|jY&r*%z#xBS^qIlGE{R1M95&uTPvVHFXG<`*XsL}&8I)dXa-MQm1{tXw2Z<|7 zV^6%yM;9_$dqrK!yU&sxA}&NmZf^yK+>HC)3wvuBVRaG_yaeU$Vud*$FU~e(AO8PZ zm5OZ`e(a%cjn8*#lf&#wzxNkc_T-e*DC-gg$1L1rmU;gg3jZrs@^dGNrHzLXGvr98 z6gb)qcA^^Ysg7cJDBE@KKKbiW8GN{rmMG0CL%-L^*Yvh9Y5 zWXc)vdEJB~k!$@Q36v)YrXKFJvT{g&$aN13yqQ!8l_+wWqEc{7?~8-m*Pu62_2W`K z0-k#I-b~nM{gU=}0SX~+P^@eDzoj=E;DqlcEN04l;|#P|wJ;P3gNMqx5k(+sN^-3j z<+G@UG>LzR=au9RA|=D|1u-765z%0g^UU^;0CUQ}Z{JiNA`~S#nKmgN3C|Lh*!Qfy zH~fN&S+MJ-+qzN+IeB2rHYtUECTII#wo+mKA+fg?AMQVbiNBqx{02y-ON~*(S)HG4 z>o54xmkLM%;Ty2d1<09aQ$G~cDDOZE!fVP=b;~r@BZB(2No%0kR~;a(_RH}Zrd2xe zi?n8dhkM}rv#cYaoT^$7wQ2*V0vW=xxmh8^Sua~3Q+ihCm$`qD#XZWjINBz87|q)Q z<%b8KxKx(f5x+So??h41-U0?4cz#`_)n7_U?BB$yfiln`EKAb9_Cmaxue(UiI%i>i ztC=IWn1TOyvl>c|*!XW2z#0q-CYZ2S+{|;V0!3b`W6%Gw%FaSTY?KC;PvtcDe@3aP zpf&$sup_l@Q9ixnqV>ED-87fDc33N9Z|2#^mSLGK$hMjN_el6=;019&m}_1CiOsHv zWLZdcXKSOTC#h&{eP7P1U0H!>npPc4b#otaYe7SHYfhby_i|L2a+L8S>0b9(gS#jr z&1U;t`M4TF!t;L$!nc=*WQvl9nSjfznN#@{&P~LiNSFHwG0?oHR&u$wsFHxX&fqr< zxl&_JrFSFK6tjIX1l`rLrG~eax2o5mN+HhDH+-L+DSIQL+BBH*;^CC$;oJYYf4{jA zkDKP178tF^quf6%nLRxE-QT;d_Z2#Hjr~#-S8{5oN3cO$^#nwuSQQ9n{_3;hkQaJ6BQ6wndb*&=--=&aTFAlDjRBmiez%= zR=ppszGsjCa+p?H*v=?bKqLY%;D5=R#u6c6(fa|GgtD-(aI#zlaF`}YO-_6vv6;^V zv>s^a=!2~Q%K?u3^kx{HED(#w@eXaXS?!oCmLae*nJ$rA|C&w)sCTOQ6qS{O=g^eQ zSE1ptNv)O|l?XzWC!sq0sUcz;2NW^`lDFePmh%kvPnTocM|ES$9*MaUkC!{62>{Q) zKgzKQw?A1Jv7=y&ELWEg{}}Sur2AKoWPydi=ADH};}`GJ=mI@$XkhW3aJ!uxj~PW+ zWXHP%N2SDcW`54^NGk)uqc)2Zl5xi4gu)9Uq4;~Ux)nvHF-YA~20W=PY>*XR%tLP` z@#o2Y^45o%^v_b2p=RIceqaQ|O7{S7Ns;4u5vJ*~48#^BYYYP3K?*?iRpfa+qp}FT zbqZ+K6W_>qLJyNnx8OexW4z)WktMm!fP&#o(SpL@FtX?d{B|4g_bC%|0>(4W!-~3k zsRKkjF2xm}S1-52%BFfR%Y+cbSY-&$pI|;Y-VbJE5z|4kwLwqkA<=rA2EA}@8(|dn z-rCyPvo%cGi*7xiRQ86r4IbxxLy33V$e;f4gxNxPU%{|&cP9-IIvz8h=T9j% z}QH85zPH!{!2&xHs%wYXg5i3Rl@*(wVJGmvQE3LI`S@7IgLm&~qW zYoFRR7iv`~$Uwl)n}MrB)%JfwKn~ zVGHa>qy~$s7GVU?lPxCz`!x*Y$MC6>`0u@LQGmqSzWhe^8R$I}ftHsMfAp` zXgqH7A4Naa;qU*|kSeZWSkgcD@=CsZbR@L&>z{8Iq}Gv_Cy(jiP$ielp*Pz8G}-1M z!g)HM15v9|(mieCc@rg>p+e)ZL!Z15F|?IJaZ2(&++ExV^MaPLdODP}k=&bI;>2|a z&nzp2WC|mB@LuGEYRPi8I#@_8AZi}lEYQ;!g(SET^sq2|S`3Kzl0^94SCvq}VVaop01*%SG6X z!DJM`_qvi>a7)SB&JDqjkDzN6<#IWp0RYqL2T@QcjDRK9L(vQK7*GD=W^Yu28nem3 zR}3A}H+$p_DwBoaEL`R5I-<|`)o>c~_M3B55P?(3%1}T4YW81a@>*Xoe||`|0Y4_X za9N6ygi@+t|C3O{x&irsKbevJlu_TnDm_T9XjF~H#+yMt;`04|28T=7QPZWdeUDnm z;7P#4Ai=2ztx_^|#2^(*m#Uf)Z4=*pGHy*DVav^i!4?L^32hV4a}^C-_f#w)jHCf1 zPAmwb*2Kp+Mf8uh$1xcI6wlI-DC1Z)$3^0CD+79~3C|sT0W_BdBaE!hJD>{|9y=e- zN`+LWow@>@YcO@fATieJ&Gft-vDC-MM`&pf-*`Q%VR02Fnma;k7@D4YlwsW}cGCIk ztp=#P5+&scHu`1notLaA*jHThGaWC)?7Kcth}zlJ+(2KLcMtpA59t`rX}KgV*>q}I z@!rfEFnRxR9WDr|WnKTrI^s)mmjCseSXf@AdT@QvYbhkP*pc&!xnRrL?`OlwX*DLR zUd#Q3QlKfdiNX$b<)s)nuZTifk4r2zQpR@QE@+d}eNIYqzz{G0?pxTLM+KL&Gq`uI zU^qQ}56BXQi^kIFD`77T=j$Pv=xFl3Fy*JFtBoOgHiZ%|aYRuDXRB?Y9L6Hr6+|X= z!(3w1w``$k#n#^MWWa9O4yQ7z_x1rUVM-cxB7N73G3n$fX>KV%QJYFp#Y^v zsvf$mT&ceAk9~pF)$wpp&Z z|BYLt6jx7eS?G+-E@8)cI^}J&Q%igY=xwL&{bB_*;JW?@?7WW`5du^<1c`vZkoug8 zmOAN8auteMYrYWJ68nS<|0eEq+Pf<)&K4iT5kj=Q8$yGjsde0!zxFF3yo6amfi$%H z7>J}3#*x0YO}@(z-%HoMgZ`_cqHH>JBc5!aWKV+rM**xoVehbsp%R-usT%5kNR0oi z)s4#1sGTy}9!amewh1(ZFKjLjUokB>;6GQN;_F$G`O6AmCOlnReH5&2d}RH z)^lYiKnZ2ta3Ny{U?S0|}6VFKO%b`fWrB80o~50q|=efBzFO^3thYy@Ny;{4%}=O$wh;AxbXAXBHgcHZuZDyG5s5 zTV%^IJQtxI%yDy*a9B)27-0-(a0>-=K5!a!sezDmLP&t08r}_<_JdrgF8q%H-d~%< zSLk^>B$lzj$^p01iyPr?vdW4ZZ^gKfxq3%$l;}5V-XMDX;5Z{G+N%52UakX%RVUYhP4q-|F6u0h zdPhJUiZl>_w8+yn-?2Z}80D0f5ei>7MBke_VtIX@q2~~7X9>N`5rt1d1i@G*$^7qC z*(?Y6pYr11IHjU&BNR}k-{%Whw|3+4lk2*jVTl)T{Ghm>5?oHE^v6q|f_3q#*I;eb zKloKGeDRsl>*|*kbQ$?_fFow;%9Y(G8iGs`mbRU!7vlM#VnESu!Vp`v-4=OsfP4u1 zB9I+PihVEf!m@s0IK;yU4wWWIK(rVl+na;TJEGYWa^J=Fq6V52Mj4@J{)!ViVm3@u z9Qm-LQz63V^RE^P4A81pLKC8KzhHj(<}vV$@R3e9_OpZMZTsCA#fwrmJr%4R==fRi zse|S>V0{wR+$7Iv=&KB_D~7K|pv(>pG{>$092s=;9>*9XPXud!KDYrnCF6%GeFomt zW#zxt@Q4rxLTETBf=mJ^-Jw|=t2YLZH*~$*2asI}lnYl(PU*x}e8zQO)fz8=@EcHF z1shJozJ_=Eh;er)zI&QgJVr`_@IhJ1^o`8_aEQAa5?Np;iCsC}KaGeLYbmrB@`vDd z`F~gfuHQ_U?~hz#r^fZh|Lwfq3`*X-y*YJ{@X za)x^E<5Mz7#)5T}(%3xw&;nOAq<3Cqzl+gj{@Ncrv!E{~_|fEOy6W80g9l2?ZqE5% z*I$Fd1ZSfipDee~pq8tLQoA~vz(C!e-R%n`(4{k6uy;*~NP2nK$f-vJ$46fgi;B1` zg?H1xhq%_<67j!MWU0Z`X76XqmQwwdP`Z9-~nQZW-CbT9Po;w(0B6UoZyMZH&Zj;rne0*g%XVfewij#QYn%p2Re_{H8ZDz| ze+z(t{|mGD5uk!wmN4NT8aD!;Q!i8!UDBF@cGVNld$tz+Go{InhW-uKOYrBTA0LEj z9qx+8G-zsdPVu($c&igvvLaagIjUW&{@g!U+28Q(4()g~jqB}kprkK<+xyhK1^ixU7_arxl*moTvnlzHcqK(Z#7OO=~h#EyMeX-VWvQu8rxU4qlOku zudC}xm*tLqjIlcNDnUJHH}n2{zt1ZL-P>Ga=N@NHtY6lQ|L&{Ue!xo+_T5#&^OJ-) za)LB6+E$+?ua+GwmzbNkv9H>bxwz#AQQ?!MoVYchUGGtUN}7@XQ6U~iEjaGgdYhDa z(4KCpuNBhAjC1)P5I_273<4NMIH*DOJX*iPCL>R66qtUJP2KMnjfrD_34( zsAV1hC8K^@2mXe+W9q|vYZK`o!L-w=D<=9=tSqoiiD(7uYlM;&>E!KANo$y5hrWJt z5WFT$FtB)JZJ=fExiSBk_row_mWet8`I%BewERsyXh6OTw=pIEQw`g zHn!f8itVB3eRArkAF-;wM4Tukn9#s#u}pty`ShP*)sFxgJc>NL;v$d-sZckkvv+V& zT6EU=6+6PG@!{NV#sI%0OrjgfcYeE}KLs(_lh^~1hrbGR!nVI?tfiOwPzjmSPk;Lo zpy~Ou+Hk*i@;gkC0H5Yv5uC=8a>)!+Y)>XXA#6c?nW}c`ZLp`(le6e!xN zvz7i9e`AL%3J}+^QoY~Hq`)w!CiyM;+ z5TT?y^}|Wm-EixOo!&ZJO^3w0N9R5lz3c=7ls{tPmZ6S`5{hKvUC`lEup~l;YJQBx zzxT+d$(INY#ENQRs(aEXl}sEk!qFyOa^zCf);a^6cq$OJsTyPb`rS{r>VFS{BhY?O z^u~<#8~|E`#i$>cn3NQnl*98fQdc`S?zR05&l_9Y`Lli3Xz{=iWZl-Hi;Pl$58s*? zR{gJJ_sE+xTi?vH!GVjq>*zQIXOP6h%{(E}XtI5Oiby|gz$+o1hU452x33Zvk`1We+vPn@qIHO9XN=a zZS1PnkW6LxqV0L!Q!lNgMA#&!Ghbb$?G3|sGqaNrXW~3!atVneJU>4fVrisIpfS{d zynxU~ooJ>b?=|>)WRbCA?{rqfst^$Z@Orgmx^{&zIUOj{7D=T%ko@G7O)81aYPBYo zLGa-(8q1*T9>t-0cE3(&;`0&g9YJbw8EZ4jfNx4D&+gF7c0EO2u!`W_I?7Yniv1!o z=={DZ1@&}EX663L3TxVi8f)AxcDV9RIzRmSw%6jH32Xtm#6<{M|D72nJ$(uQHs0F5 zW#hfser9i%Y(Qo}blBBllOL|#Z{%9tU*KjlWl8ncc;4y6{eYXzF#>^&ii*l`wn7ct z?`Y*mTRbgsV(fQ+fA9ss6;~jY!6sfrXfRbQqr%jD(t21%*Bc%Y(UAGPP-im4by$(l z_YGvV$YQqCSm}83hf@mOYz`v60oe5den(?3C7e zN;-|{tGB~;l06WwV&M+J%oo5Weoqj*L*uo69CQ%)POhi6On!f&wTXxQwDY2?Z)|Xe z;#G_f@3Q6(@6j#sdaTug54Bm+oH)Y#QSoG>68HXeRl-rz{g;dNyIZ3aTIZzIlS}q{ z7C4noo(DBG%?{aC^eeH>kHyl`&GG+j&fh;m97v&!tZWS=YzJXz$F`lcO4Jd0#nu90 zak3u>(|`?jC9c=iL@f|oS3cVL`fNkS2z0;3__z$44z)0p-+$#jD#-9EX}j-}-5-=! zJC+;+{;A}*3@sPx5Ub9g;&5~-`21;psQ+}~pB0DlXbD3jq?Q|EIf zO3NE+40v-G6t!xedhJB>>+DUB_@8e5Uny{c&pq#JGu{K_lYR01nZ> zqvp+MCiCgfymS;fxI4cfCC?myoJVtm*XP@mH;VxPupu`5f-ZXes{C6+lhX#I)?QR@9L2NIyPUs@^f)qh> z45ZST$urt-iAMRB3f$>tr;g3mHjSIqW>2+kT1wdStB$=@gJF+N_z*b~G+4h^c zYa7URiF*s4Bm6mB^MLyaUUT4c)S>*Z-~r&lmR`n2N0rzD2kR`u;J1 zl&G}&V)_OP)sG{`9^4w1M@y+q{1)klQUV~yGL0V{E<&->8Cc-_gfLf% zB5660K6tLZKsz!bZpX?HrwTELMc2Xv2Jr!Kax%gUA^@Je`NgwB#I{g0kdEFW1bUd68e_m##E{Y9a$X7L)wFjvOyT02ed0tJoF&Q7E*zfr54(_Q4iyiv2UEJS|8U2oo zG1{CB;7OnN6T*aH*FzCtaoCga)Eb9EoCJYvUy#aTstEpIUt>U-(i~op)ch6 zdZE~Q$Z)?yObI8NCFoj&LP{wOqO(3YTo76dEBBk+-2%hn#C=eKSzq7{VW9E*PW@U# z_ttxyNSM+rdpDO6AT8Xf{KI~gSH5@JT7&5Uiz60$q z69Cbl5?u%WR~*+;H^!-P$jFY20`;p9L2$Q%u-IlzG7+s5KxpqHh29|t4;cKqZ9cuT z5=hevk~vBcSzYKenJUKZ8bJSY3iuV3?MIN>XPB2dDna0_4=rVyTp_u;wS)34&pn+( zPm^x77LT-7sl${RbSXS`$+-3Fa_KLI7qMqv8dPIZ9{j>1m~?HoOCsSZba5)ZAQD;> z+CnRB5sGjCAk_Ywozo?QnU46}>r5Cv9Q0^C=)wg;LJ53(sq%`71+bcg1a^v}FsSas zyCmUXN#X4mnrz~POH)yy)oOaMhC>XriQ_;d5eZ%TAN$cJzQRb*6hy(Pc}tpG=CEO@ z8{uyPn0tw{>Njw(K$;DUr*!1<5UCp?Zi)=iWV;cl1lY} zQF{UceMD%TV$F{YDxx01Uh|ub)OHd&}%3; zHe)@TrG$4RC@>a8>L8JgEOHZOJ0TN+769$QcHI2UfNkEz3={l`PlE0g1lM`^bRNmx zP5-?AIL z4X=G?Cx7Uot#hpwc2ARoye4~U?Y|?a0RZ)zwgZ|0N9aKfW{_JTTmaK+)V&1_m!9e; zKcqL)EVh~f-3pNVni+k((t?l zfRT~wHIB$WINzpyUAQOdWgIF(In|+GmR%LgkL2PO;D`^*ZDANw7tT0Sm&Vzg%gW1w z^mghY?o?9^U3C)-a1F9%ud{@S-cg1$JJIb?R@#5O1`9GZa3YMU1ab^tg4#qoyRr(k zLNTfQ5VvZ*v`rS8kLf0xM(7?Kyaz(kkGAOVr9!nLukw~vyZl<;qbm4cYa-;!qD1w22tM5kA1P<@je1Eke5^)~YalF?X#UqWF`4!8zgCOt} zx>mCn2uU1^n`cvjUxdrl%fls#{W~a>1eS(S7tV`GKb>eg9(M z@ESpNm0utu3oNHW$t-dFbpFv=0K%-&(%n2TyJ=;O*m5{fvoD&G9HVv!CL{3O=~4pn ze%_tkku+YB0UC#U!rw@|!4qnP-LdC@%lXogCFbU?oBlyWF&bpKXkn*1F!K0OO);Re z;)dM(L$Gcz2yn2)w%@G24i@PJ-2w}_lHch}qQtQBXQ*(Gx2M%|+Kspg0K2b3QY%EW z|K34BZO5d1MS?RNEs{c>nGE3P1nK|k$4@|p>*yRI;$lp21+w>sJuLGlEN9h zetG^<=^)ARdM-Tz)by0Ju)jjLyr@o) zZm(u5KZ3JwKr6s#k-oRtYf9yC6VB6WJF4dTW&01#jolDz=DV&J3MqhHV=tPQ6i1K% z2lK%_HorMiPl4DL-7dd^O{+3>o5Y$zqQ*G4JGT7mVt?e}%nmo#AKlIS7+koEit3uI z#lj0#kgvMZ$>M(PYMPR?8mt0``hNm}v0 zbq)<9UEY$=I(~kb*2e+1D`ylf?&!3wYQe59^uLD||x?~kASYCqLkonRr;rtR}- z;Nk4~?y&N2BxxEFtZGJ~_!Z=#0;a2U{sYmHVtE+`MO+kS65Jn8H^47QOP8pZKtl-b z%0%xy@jNlqH{Xw$A+%U; zVH=N0d@mN%PmN%$wNMztVLP6`Un)&Y|2-f_qtiv3m6ohH-6kr8rM-J?*O@a;s2`91 zPvxN^sP6~(%{Fmn((WVbt$bmu`NaU=9Y&?#vK>v@4`S}|$U>d7-FIW(l;Jh(mh2lF z1iX{2)Wv@h`3a*$-0Y~D2m2D~!X$o#xR64V<8t&Q6cM+ytt3TW=eR|fibkuwdtW1` z#<@;#XTd`zu`s~pNnMVmG$re`GIww~nzN%}^rM?ahU0+Kkk!W;S23k1VHw$d+RR=2 z=}LWSNV;>-2m{gW>Qk^|Lq&SXAI(kH?$CVVoy}A`2@N*Wucy~pLft+cX}f~&j(~}R z`xNHgg=z?c4$}z-Rlxi~j6+m0a0rz;mrXV2>5tR>{i=i#y`)|NxZ9qST*!>wiGHwK zfyIhGfB$Dp@W1ZkGdP71no?Li)(>ZbAKibpVC)y-s7_shdTUZ!#2jV?-#S@e?q)$Z z;h!?>U2X454|$!;7QU>U|1fIrc0e8Dj@BrC#BIHBuiRf^MD?pRy2Dwv?18;PEGT!^ z5ve?A%1!NNY)5A6lr;+f)QzQW{^T0uNkv9VA*(s5Hy~)skF@Oa(ydr0PwQsK|1yI0 zpITvphx7X(eN{3R5&Vg?mO_A`X1Q8nQ0fbzynCd*DE<|UCgHEzV}b|y`y%%U_{}6{ zAHaN83&cWJKHX>_$M;}&e0YaWr8fxH0b?+V!~g*Y29$Ir{4+F2^hb8sklxt|0Yza*34n~!oikT8#r z{#6nKgtQw(>VU|$;u z%bivm&EdKK)&{7Qp8`G@NqDj6Cx&-_7yF-jM)@LtU2RUS1{&Jm?+FvUm4zrk+ZO0-+(M3Em*(3BjneEkLtFJ;r%Gb`;n7uE$F~}Cx5h$>FrkwArJRy= zY)4n08FKaitjW3MJ##w6)05)g2pfg_qz-RaTDqx;8*d~Nh4u;RceYjA182Q-0LZlERZAW$SQLD)z67T0Yc9Ixf7E@C*vPEJnt zZ20j>iINiVX5}J|Pz4Ys4UN(l+bSJLA68D`t$J12W6$9QJKU8M7}hyhbMmTWg(hUt zHB}69m~jw&$G2LkN!dV&9~g@%)+oQGY>UjSc(F$v6vZo7Zo!=?Q;w6DpTwMpyGV?% z_gEESzX?4-a0zKSm5^o{_j9$i=G1(gEN1H1xVwObIV(<|p;mBJ4HY49%wPtZKB~yi z(2XzyQ*1b}9GIhdyszBOU*)38K2a8U#+uC2*FDajoXzj4L1z=~-Wm3eGwUqVT$#B7 zCv-RwOKzGB8fBZM;xh}@X5-QGl-EB}F&posapUgxvokmlte>9lir9GG<48TZ!^>65 z665cHjIsz;PxnY$TVzOD9Zc!VMhzKxk3$vTvpbJI&$gXRBloaU10Tn^HmB8+`r(ES zs@Kavmk;xG!;h8whl~_z6g13Un%(}GI4Ppk$~Jku@D>W&;oDnTem~wuEq*XUU7?zH z{4Ae>eTl!#{uZn`ueWevX)slfAtvc!nU98y}9;|psYFC<@Vcbl6F>V`@cw%G5!$WK5>#`WpA^C_p zVQdho@t1GH#RvV&44;QU!zsL5vgdLU>GVfDOz!f-eeJV0Ng`McQIL0!3S6B$p+lwP zJ(|iAD@dQEVCI9D3iqwmv?aj6_Zk;+F@`v3v2L&jW(F=3zJT)>u5VGQWlO|EzW>o* zmz+Qbj-B>h0HP- z{neX=?xM6nZcK)>Q%#|^++TqI05bv8@+|7H;8yhM9^2dYAV;e;R$<}D@Ztcd)FrU0 z=qFfrKOI{dzGH@>Y(F(ZO89z|QgsFW5`joMUcp-uw=%q2dIqqR@zR8*9 z6NkNV3*2kmbJm=L>bVn73r}4%R8&FW6p*|iSd7W1`^){)&etM&jJ{Vm3dn zlS3E)JTA@q>0CtpyDnHyUysQ?63^gq!93DWudjH5UaGZ*AAq36A=VShCq!HhAYZaN znJe0&-@?oOAS=PCGC*C%_R1MM*nLkc#53qi@nFkgRntmd2UM5?w`O;EDD;Lfxu=A_ zg6YsYY41m&@wmu!sfxbrx#Vnu@${GF9Dd|>)eq|)DDwLa5ld52%NbLAe0|BmN?raX z@}`84wuVw4DTARNK z(`7#X!GrRF7ko&Ux%;)x+V#iH7opkda8~Z|=Gg4!Xh8t&3(A*{o8u*lby0#=MZ{57 zI@@t3V$Ej-1qHLKy$MOUcp(v4+1S1DE8r+1nZ?-iZ?m-}-Y$GZF&4i=BBG;<-Xe!a zcSkZr;BnXr8Z71}f%9~PU)fJy17(SQ(xYJ(Won4N9UB7Ia|ANl#oGjo>$58~nv$z< zoSA(pNxoi$HWpof=*xdXfl|w?UP}p7>l{vY-}8#G>s)q1b0W`rUh@nx<1#&*>U>$u zSGXiYj<|y!K}P=>F1hhk5T(~pFNhN0cISFi6yW&!v+?RNUuFE8a>IgnDk-|~kwP;m zc^LLgrErrLtM6zT`hdnIZZ7AN)Y7T#9aB!MC7MGjcP8o z?>2w;!H|b7A&^a8L2~c6Wrci>tbSIjW;dhN7rn^JoNZ&Zn3DsNP)%3bL0?l=R@FM6 z1b`&_G7->0XxqxVx)HB{vp%pMBt!5+UBNdQN~X1(Sd;=z?kS$JY%m4btXKpd2z>(s zN*0zxaB%Q~H9I@I$%&sfCx2S5?lE#AJfpB#3sC)#L_c!XmnoHp6L8@mjjyfgu2}zG zz=8b@!xR@6mxs8&R;}4$57-cP-0r@SNJvT+lbEPh(|7o*0l;~>{F-CtyUeA+bPKT$4h8_Z`0iD5x|A*1FqWnzos z0_)I23{QTW3nn?VS)db2m}ekNY>Q9FapJ4vL=T1nH#upjLDe1dxVv&=g~KY)zr zUyS^5j(t$v-34nRYQGF-YI$_-26MkI8+Ba%%1gW zKW%JB_E9-%KhDBkt|=~|RQy>Ko9P?#@gLN$E;4HTR)dfeE*_ivHGZ^^8H^6I6IknD zia}xfw{7}nvdb5a3S;Q??l_&1wDaO7GvP>Gse>L%&G;B!{rkem^R7o%S4&+0A}Mwk zHapCgh=@qB#hy%t$(1fQ8jr))mrAju|9Xfm@7C9VBAEY!Frkjn#Il+1nV--%gFApE zE3wLG-0DL_K&l5wr9f-I(9Z?%GZ5f#LH_S%s&#Vsp05;$cuzYn>6X3wjyDiH0d_ad ze71tJU>BflFgC6M4sMcjH9a0@MBTkCu~S*K zlXn>O+L9Pru0&b`foNuaspX$O?7tlz#bPl_vtMyIQ%-RU6^Plr@e@gK6u1TQJ;hpX zz;S~Z2K^=2iScv5cfsP84H5oBENw-)<~@{yrDAs8i+O{qa}fe@UI`N)S@)x3m?rCG zcXy*F3&m1>$i-jX0V-OYfty#kpq*i(ygTZ`f}-)_9Ir2PnqEncJL9nSA)CNyS^}W4 zhp!c5z$47{IO&jB3L`q2NlqnO7elT4p$&BZWS$kCDi<8f%c$NHB>FNM zVKwb1==hm3N!Ltr^U42cWW_twc=RQts^dF!)@(b9)?^XFOr=s3x%U$<-p2agPxo!J z6)gNhMt2=|Q}??S#T1~IEEI*Qg@Zi` zon%TXo{vmf1;0sKw;Q=X$LjEFXE4NNV{;2n=WCm11wd!ZY;v}H1KrYSh^=)yIitj( zSen=Z1Z;t1?UDQE#_OCV35f}P@VJ}{fV0dZ03(+4l8a@^q(9~}aFmw-X2acg)#K&1 z6d+7lkdV;zvVDIiBal?!W-|s<1UQl8gB1Wq&ykauE|k2V2snUqGm1TMTvvJ)V5fr& z{q_L1)QSaQDQj$f`}I_B{9)<7^)*km1J0%2;!yGs)Yv;qr2#XWzyVdCmcL{AR}j70 ze!ub4B|>-tq7g~T6p9gmoG-z671eo$RitDAB$+z{I%3?5GMi;WYv7pOf-$~F$>@G| zQAXUWJV`=*gTCk_&o_39h7Tr$rXr3I;PPUM!QMlKIw5m?QMQ;Xl>+=H^uW{}Eo_&@ z2#tbZC^H1+2^?@HPT+awxA!xHH@IUxmI6*L;B$avw>zvP5&;Alg1ffc_9yd|cFy&c zpJoeNUEbk%V8b|ko*c?B_@aZmKsvEomz(4;k@xwB0Ik?AhX{f6WDiL`waF51xWwoVB; zeGCZPZ?cJ4_GiIZJo@y~Yus~Ue3yUIC`-|P{bo#JgjldvA&Xqe zYKUySWN&|U+117VQ;uh~(2*fLrcRcCm4h`KLZuQ~fIQ|YkivTd_B9Z43O-NQV$6J9ls#_HU-+K z{_;WhEW#cnW6%HN?Jc9?=(0A@;2qrE8VJEXxN9J|TW|sdcM0xJCj<@dE`i|QxJ%IB zF2UVzG4s7MbJx1R?_X9^)qUzz)!vV7K_=AVKtU5;LU=6a1EZ0k1auSuwz4{_DcVNi z1g)I16QY`#I0T zJOe2!-j&Qk)mU??k7B?zEBo6S6;5kytpkO%NqNBpsCagLd_9w&E>QA*wG(4MB2mWk4Qpm{)zJhhU1W zR_uCt_PhN)g#&)6`GfV{QJdJs;uhInV)i2)?|3y0i*92?Xgf!`>U?0N6#alr1VVQe zgC^?htT%#VCmZ%pd9k*ssvBO@drN!H#ufQ2Xbh7?%*3i(er>1Gq0>d~QM$M|KSa~D z(HTul(EHR5_Y-zA1jh1)R&LWnMTAo7j$*R8w#D6S%a=X974OE-I`i zxmT}*fdIO8Mb$3wUPPaSdFYBy5}O0kAe3AL)>4sL(9J(HwYvsTEf2c8v4z)44)=ps&%5kH9+G zL#s$ge8E<2j_@ggP(DybufltI2)c5)9R!B^$oi%eJUX5&vG?LuLdxGbcz}i575+A% zlb1*H!G9ZuF{$0?KzS@fDBrn{t!5bxb&Gmz-=Q2|L9k;wU@nj@Xc0;#=%Eav9gHz{ z3ND2s7su`n73V12ZL+R3{m^+V{$5OTNn(e1EVd`=6_Y`>&AaX>)p**Ny~Fyq6GJu# zZIJSPG?L#*!`V+6Zo1B3;Ubcrv?Mt7kCCoVnmUX*GM9H`$23-D&K#bv?go#noYf*!ejk z$22v)UGlN@^V&u9yIYIvaT!Y*ZIL!o)g}0qHS9s(V~Khf*q2EtQK{q|1XN1hV^$U= z3f|sn@_H~3-D6^B-tB=dJlAxH021scz(Os7@;IxUptFIm6B(k_BzrEZdFq{OGGhlI6C^Rm_;!SidRAv_&L?E zKgY&n*Gm7Um}#_?Y`w(bn5{6^;mn^+&;>gG6Yd-G2j*>Ns$&NV-;?aOWDsti3c}^t zflYBrPA|S)XxeC-;4sLqTkJ`Ufvu5L#=bBL%^{QRZ#dY!;qTxo*-AweKFs3&>MEtu zQp4F`_Qg0fcQ5gejH-RzS;yLz)xt%kQ2M(E&2obcotwa>Y)!x5Y~kFBReNY?jCza= zYzFbrltcqrtfv!`f`<>4ki)aj;uH=BP|pUP{~ z87hAk+H%FYvqy(U=2AyfN#l50qQJFzYlW+_4bq51Ezr&w3kO@*!>M$$If6uH*0Iy1 zT$?;&MHPmjk5E{~id%1fW{EcHk$xpp3%SnTyvh-bLkz?XAd*k+a|G*9e?~M3!owa zR-;@sVJDO|!P&=`$*?id%l!AydI?TGmhDgtSot@|>}P|1-e0@nx#fJ#5nUHR%oAyj zEQx*&!`^pTYBlQJwLOwLv?v0>><^MOAtxtg(w;lFJ>MR2@`2M^VC%zl-eR+1k0=LU zJ0b=5;5ZyE{7N#OhP%h;*AzTaE5#2rGxqGRV!R08H6bS}d#hF;|1}onPm7Tq4Syvt zA$k(nQY@P&5@p(wL44kH6#ba}tl?OpO;{Ap_p6w(JuJNY@A`{>&;`y}Ar(7O4cRXx z4~3r{uCJXk3x=WWbRedmv^1Ve7Csr7Tj{2nHUW)Ev!`7SG41V&T`1dWYZ$jm z2?vOT?ys>8M@MWsbX*aWM|O`3y%!3-tgb@HdnJi`&L_qpR^j?JPI8lC6XW(midLgH zwkKQ^vAsj{-3Nll7!ul)PTW`lnPtW2>J{<~l4!5r*%Dvc`ieL+<%G0INk~g8dE{Kzoh6sAFPWIF`)d7?I+A?Ny2%hQ#=a^d-Aj~4n99W zFH~x~%Wx%!)WN3rY<2W_@z5!0wVk5)+>PifaU03D*et3u7$&;Iho2~5gQL?J!N{B0 z`;-RX#ano3zm+Ha@uWWTOSH{G@p8|qhVm=NdExEuAdMDYSMvYRlR6; zGJlucbuQr8-V#ytRw93wMo1{e?RaUYy2V6&BcGsmVjnL`=n_uNZJYHW?9+*$?Qaa5 z&WroSTaFkcDdtgrmB_5RGGf@CK>wAc>qQY-I=XR-b;}ldpcum^X0ngQoQ#FLhq*eK zRSG3A3Xs_7`#}{NR}D*88dV)hK!X^?O9^L4P&DxCVxnij1ekwM`mUy%oy{zO;V?IJiz5L1TGAx-u{&Vku#X4T5T zc$sbr53qs}+~d-V8BbTzG>x$;Em-q-vDKkjJI84Zke9jMAd^P z$rQZVi;<1{Z~gw23~<4#A3$= zt@CGxsQEcU+#3Yk`tJKKiP~dd(xzer_6>JAeRb|O;`jt*PJOKW`VH~w9*iPk%PxVY z8S9`~7xaVMwo7kMaQE#OVG_-Rf39hvy;uSHYyl}!uXB*uf}N0P7M2Lt(--MV_cVm)O4iHLZaM zzO3-uV#gM*CaY->f2k`q13~fSktEwFpNQ@;8>1q4|@L4CbRt4-XK zKR&Z?4!Q74eZ@l{f4WRg+xkTM*2Q-Bsd`-I$8l#9*Uo{r`w|yVgw-W7!2%M?d`TVR zXaSRP9mW|*Xt^ns+`-%dR$@mx%o#c!^OuP-0;p?P^e1A%2?QeDLEb4NdhQg{3E|5S zF%?q3h+MfXryNn}651c1iZ$N#4-8GR+)Tlgn)_Vn959S{{a>*$Aeh?p>IUZTD#(|f z#$m7v@uh=1=`r6MGN&w`LRdnR)>@#LhCJE$0VWSH^a$KX#$xVnn6VG{3{lPclz$=9 zd=U*ukwOk(zC9!5E2GX~{#$la(R$PF+&P)jtR6Q) zv~DbMvUEz%wR@4ubyni59#;QXi{KIH|zodYxeHvE1g;~9$CqOn%`h8l8}~WbaSot zypII0WSRP#A>H;1kDgPusL!-)0nost#cz_E)UQzE(#JJ>r*E&EiHPT_sCsDf$608D z9z6}E$`TcgtPPvxlHHuYb4zimAYbId$kVR*QPHSyD8u?Gv#z!rknKl)lXP!o43Mf~ zdSN3GVQ;A-!w-(U7cD=B1?D!xIl4=N)c6i9y>A;Y_xUz|Tag~#a0w+$SiAGCn=xrA?iRH4! zbU>oRXY8GOL%SUSx*y#iGMBnaK05yP3S>jOu8^1yX?$Gbk2)t+`sP9VdB2v)%cmt5 zUFjfAYF7fMk1E-Sd>`XA9knE;FJ;!8HVNRGL5-)#Z!l|_-tbhvBRi@j5fO5~KdAZe zSWBMxG^zI*H6WfOz#B)(2lFPd4Fb`rzS`3*|I-=la|zw1Z0B&tGw*v7Q3 z8kC{Ym2^ADv`mn!THtQFJw(K29PI#nu|bS31CcIko3ZBOd+qDs=fh|J{7o0bdu!?8 zMOPt4IrU%`4yZB!68Kf%YQr$+W%WjJpg(4}4e}2)ZEls}`v#Dp{ z6pj{Eu<8Ot)eJ@@FLPrbAGGWW5Si6{r!Z~!%Yoi!l)n|Cp6EgB0NWQhlcc5@o0Qn> zO?7~`=5a%5TS>=fUZ@OxA$Mi&CskMF4Trf}lsRn&0hr=dfcKb+AVO6&6*26s^sCIt zKdts6(>rnVAgf{1%B>;c^&!?3BBl_mUk^u~_U4`{x_nRZA#Xem@d_X+4S(6fsOyh1ZdnK?Fe}wiaM0FYUxqppXIcuj&{CCD1I=@G3)Cr=qR1B-4eou z3jK&7c!*)0C)7Sd4d@aF0x6Bb)?P}o@T3RXH5%`SKA~A|%%s=4Y#|;Ev*VVt6lSb2 z=kDzOi?dOzGF^s-jN!6H_T@e zba2y+yRTI*n1Iq-A6gTd$)F`le#s~}o>`)Sx-+&%W@LQ@v*Q*ir4SI1mjOrCYH>2< zd;@LVayUfS@)V*HtQ;lN8gmSGE)20o>uYS1*TKbtj!l=So1yr+VvRFRV?mgShFfsevpZXYxp-o z3L`=J44M;;yzLt`A^t~o1}v0=DmC!s^V(W9dH+{Zbr$z>W>X9He@UPIPgccSjK!AY zp}JzgnD)O)ty@6ZV)9g7lMEd0KLW0_-!J>P*uE0)KXSAe0oVg@HumQ^9r^z~nd0Xc zZQ1YoS!4@f$^SWu=o4_ZWWT>m1^+!N;Y%UDBcT$K=2a0+CCp|2zXu1_2)JeH%Ag}B zm!n-Sjd#I@s!oyK$OpS$yG9j_@uyu#fP?eEdW@5HS{J{wwYU6xXC~@@uR_RQ7MqF6 zGc^bSbfSM&&Cd94nP3q79QAXwLrHXO^r_y^7C0E1w90m_z)o3$aB*N4(@wDoadA5` zCF@jzOqx&fL8&gA^R1=nvoj+4nIlJRd7a8pRrYlQ0`z~R0Kk5@=u&sZI zZc@j3QKtQ}ILhBaM*Xm+qcS#fvMOD6R(N1onb@jdAqS15QEVSS3}VtD!$&vJ^EAI zL$2Di4;|>XL@WWikVv?D8?te2#Sne<%X|ob4<|l8KEL(m{{G8Zwv!tdd?ZPLAeNM^ zC}4*w{7Nl@>?r|Ln{8!0{&f}O$r3_*49rK(1H7AZ8~$a@U)PD9h%sc|lxAETqTyjFUTA+Y5;(?PXPH&NxN9S00S~?^#KC+%h@N*6o?WBfW{uuK}d6~+&_Yzjt_7`xyQIvmd*6dHc zN02?pCy&b$$aC5nOmG3_QK|xP?=Ijri@#&#AdRi_cP_u??aSmx>$`lJ+o}}I4v)^N z3orqLRID&prXXBuSWl|RR3&Zr6`$*mu*Mf|mhc{&P>Rr!lh8agrMT?uY;0yWHf6x0 zU8`axNQy!KW;~PzkI22PpssTnX0j`#7eJAA<+!%C zHn|M2*0L|tGvAUPcBg@r7lDlyo1##>?K?9hh*ue0He`u zqFSNP$M3NEN(^Ijf^WmK8ZZ!lE!HSa><(Brs?M&vg>V z6>C&g)mu$Thrivwc_FBL2=6#+qb?6-Km6GR+|PxE-9Yq6UWr`dvN-P9_X3eP4vj!#_zG001Ix`jQbRX)v&Uvc>}p#PYE`S?%O9 z=?0~I0R;fo9Tno)1T6#l7zegu0`Fbq`4V`QSU}YsK zoq-H4V%x=rufW1c1K>~&a9@01_+|Z86SMzwSSULBdF1`&feet9C8boe_NP@#GzHP&W{b2ri~GhN9qrDDJ3#{{hG; z#k=~wslpFFGGrkl+jQ#)AZaXAnHMT{;dOzr=r$lk$p_51{>-639X0bFQ#E?H^Cw8P z30S^84E7%6JwVd3d*^e zblB|0e3p#1Ih!ql#Qb}>Jrly?+nvno;g}1$Y8>G0hdJI<6pSS+DJ?B02e@{Ul89;p zFobVJ_urNU0%Ual)=<*W5Ec_;Vq#(vk?r^iiXof_3?h}mckFcX1x`N&IJ0S4g)Nn0 z5vHmato=d-jR=Vki#|4AaSVnwcCuBqaId}V!o{dX8?gp=7%`v$Zv{wYwuSwOYRV9Q z%xcT|XzokC0vv_C!S4H2HW&i|DpWND1jGnWvKdhFI-`0Kr4yiOdXa-v({#ZF*BC=X zu|J)^gGan)het+$IfSse6Lud1#5_b1724;JObd$?7-n1x_;C~2E~1m5c1ukI-mKFw zeChS!&b+qI$@k%Fg1ph9@+ll4<9tx#8}!j~8A0GlOa~9|JYj#M(_}w1Za+r~6FJ2(_15L^+vCH)~S?M$VZF_jLro38llC{mLDuCN={iV)JS` z)86t9zYd_Mu>S~9x~;=1-3)BJF>eWghc6*4LgcFjx&<134%Eg@h5OIM<@(jC1>wKT z^|T(?@)mPtFq+mQ8O_M?>WIWF=xrB&35B=KS@jjAzbWJO00%>h;I_?-cQN2`y~><% zE&mpRFvo>aW%oY&q9Rxu2DO10hlFHQi-6VrH8m3O(r?tyg?a<`NxqLsyE?B+sF;|TQ-#RFkujgjWW*YO zi*}doQj-RL_1?ME#{2{(oh5v2tW_rbQ0B~zbPTa4(;pyhHfcCl>MofjpvR!Pa1P0ks5P^)j9@6Tg)L~;lC3Pnlfof+Or_n|XFey(@A-)XHw5t| z831RS&7@0!G(4XVDER3F;l~}bg>oPFlsQ$WxWk=?2VQhewT{}x-?RyVx3gUP`4tV2?Hb!XJE~7L9|uZ%HGwm}QQyY)!v6qipo!6G1$kqAY{;*0)nydoiAEiNRZ_mbmhK7m}I zYP+UTTiuG=Pu&k*KnKxWfkUb{0ONMTx2$sitgbauEAGvftaPI$yaH!`E-Ex@6xjGj zp!x@}rlOWA*xv5$_i&>5y^-eHlvNbdfJ94zXUPQz2sJdI?JyO9!IbKTer7F8dx`fm zd-rCW&v=xI_z#fY@P@IEO#~S|2Bnl%OnU8v_TSzM0vMlcxRmBtfeuCavl6Y!BUxOD z?p-?e`R8vRShCqod;3e2#R7pO!c{q1lNauGGJp$ad_ zCmG|y<2y@$cz8XIqU;HYUh+$aB02Ct%(~E{3~c>!jc-kTCzLRYv$?Jt4-F(fewT&9^&0jR-1v`!jchIE%VgbT9XlU>#QEem*fww@XHf~1!xPTFe zRA?{Mw2y@^oxC{VXcU{R_*)9v>A$poExvLFuI-;VE-QJkI+LV+SOP2EgC&-^` z6o@R*DDF>Bn~H7ywGT(gDk4^W%Zf3D6@D-_?`~AYg9(r<1d&zouNOfl zJrXHd7TSbSxX_MU=6-=8TJW)?d~(g#l4>#g34+j;@qlboLRMu~W2sqR6yqX4huvr8 z%n1t5StV2o3G_>S!_VXO*{%K$U{nrEisYX#D75>0cM`ke3qT~Om|&Xqb66XWEs`(r z+tV;bh5l4C%4HPmVl18Mhcx=;t1^gKV4>f(s@&7Z9Q>*mywMJE`ie`0CB3(3cVd#z zd+A0ov=c?w#JTPh+wHO(;+|Y-ZAOZoqWN<-@%$>N#T{np%*_sX5;n?EzRlUSvpzas ztUFEH%);qUrg$zK?^X&>W`%(XWaXX5`99-Yc%!VBfZ&;9TTJxo4t4#7;X<8kIEo+J1_m}%N`d`(; zXZ0fvN>bX#2VO2FTT9|+$%|ri0RW{CUB>FKs5zTf%qA<%7`hW6%h#va(Sf9AwCwyg zd0CW>=C}ctPi~h}TFw26_)Rq^=c8eluJcQ;&sh}#SHW&i3d)B+|895x&o7qM4Ss1( zm#~K*|J$6tfdgR5Hygs*EH4P>KmS4J2!I$&j`iIf04n!iU}8WN06Yd7FcMMz`%%DB zK?=Z^9~PObQGw3#KS+o&$BU7K<0xpW>z|{(;2_vxK;w+<{((v2zaIr$mZ$&_k{Eq& z)cCJP`v2oAD|3PRwYbt*t?(5B6C=UOn;>ljR;PaEPAUn}j5R5UZbo>{yGE)8>cn8M zazDtdZey5}CgrjO!fCvZ79cK3+1!+t?g#$VqfP>g5G$%OyP=QO^YZ~fe|G9ShHQ`l zxF-vQHSQLDJc#|gcl~L)9aLi?OZ4J9oG~x{<8AEPqHM&S57fb*9%pL0M#7&@f9G<} z`>nFw-rrA5wm-2`_r?-JBj-m^n zfl9`=W@em^4I@|+M@s+j_S!Lm3Ni2D0gjH65?J8kGPy*n7Z;yL%XeAX{O}XyvvbBD z6Kzr3Xw&You{(@>!Wj@P4}*^*el9 z)I9u)r*RzYOcFA44PU>d%E2s#MIZ?Ae3tLUqmX!ub%ohG2PXb@?1M8Z?4jZR%^(1%n29E62GK@EGy zo{_m0av1vo_bW`5rdfYz2Fkr#vadvzC8lWDo=d9bADN=EOv4Epn_@y(sc?VPA;*t0 zWIHL5QprExn1gUxU`IJyESJ5V=AC|$gwpF%$~V7slH{-+)FCx9hpR^IZ#iK#hm^LP zt<4$r;hki0QFw3)mj2mSbPn**6!<_c|Hw5LE6Lt7{eIA9Vdiy0e&FQB2Y0(ir*|^!Z_Vl8pIkB-5;XkExST7wr^K5d zF=e)V_QV?WmXpxyGc%|&_;0KXyh9{L(?fe1cTJ6qvLLMhuAyI8=!t=hyw2NQnx=Y| z&Wx$i174A1%K7h&MjG_$&iWx>s9`J)%M9Z!>A3}2#^yHV5#WO{^g{k~45;-uFxG>n z&Fs!{o_u}H>FDVhi(%%)Jmlme!|2wCpBx4T2FU&No3|Vf`{Iv+0w4H%`GLU#5lrj% z_xI=c!oEK(G>x(-?j;r+ll!6%YHM>zGg7NzM^Dv=G&?;N@UVBWDp@O3&-!}#q-ZiXoNZb#Lr9k=e0?$``?X} zgkwv&1tcT{1m|ai(Axp5wYR&4t(SCuj_0(~YPfwkRFOcUS)ENb(CaD>B^IJ&2jruE zVX4rm30*hAQ2WCdM_g`Bz>06R!!_Q&FTyPKy4+VO*ZsA(;`eNR z8}vORgBBi@hKGtOaCEaJG&po{Wb(o|z*%#culc@IfB6b5bu8JE^$3(>5PY5nk3e@nN5Ch-0YrN=RB{P1@ z-c^x*g2?Z}R7*c)W9(51O=E}zcPgdp3cVZt=$25O`_H9!D53UmQ@=lc6O}aCba~)$ zP_2A)@J9`3#|3FHdByNs5TwiJ=HPYf?U*%+l)rwStzdrSx--6LetxJ4=eC*aFvi;j zAO~Eci~CeX72}LbzDPQn_i(X*^q1U~zf`EFn-up9)+s>z>FSTo{=%<#2+uF%9EW(3 zJIJSJjwo2TK{gdnq_AD_CThePXAD;EPTDFDv&J(D!D0=wr*67s=Ca08yWXS~5 z=)DoV;e1$m(LBZ;ua^|S!*4nYfn2aR5xIgi*83q}66~XLGBZWuOPOmu&uM`+o>C7! zNoA#NIz$^LJp2SSa9cALonOD~n-rm(hZ&EI$Ea$logB>9aX0mF8&&*awuY!kqxP$; z0e}YuYrs`SLM$|6znY_et8C*B7~P+Xy}Q`^fJQQtuRu~i+5feEit5v;>u0S( zutcRv7FiX{gY(!Uh0yJ$+Hn7$h~<8#Ez6q|l46Uoqpocg{5*u6x+Y_7GBex9yAk=e z$zrcdV)@aoIqYN_i6amYPDYJWO|4$2NETg#URQg=YgFj#oWbcUZu|_8 zbixH2j#qn)d;*(Qxly(E!<_{U;*umuen@1>z9JJ)G52NcguHt=mF)q5I_D>hA!RNH z)f%q%#=qO>B4cAs9vB?kN~_;-1`Jil9yM9hytAAO?-Fmue$T_O1Sn4V+L1QPkvv1l zF()4HubrQuR@X;_1Ds3^Ct79jY(TI7e@`JrWB3k?@ndpf(!PhyH(uK*jxKiX%PmB1 z$RC|Al~bQ*GhLn#f`oF5cH7xY8oylI5xrS#w0;}+#77EGx(dis%S@SKNUmWod3S8~ zz1(<+-5%cwrZ%Mk;n}@jk@$ZFaikz*mPLOOQ{Ir+O(-Cv)X*NiqOv$Mf47aL0L<2#u?av~2m zoO=DR^eikY{f2a*xjG_cP7NYfd&#-G!*P;Cjx|Pm-q%aA7h@|Z`PlI6onKBm!#q7& zz+}9b636mhQFS&;;>PmcP;uyP-Jjzuz*98|w9!&yBG*jsJ}(A8eTuegyyR}$FDXT+ zmtYUe``MA>LCKw%;pdyCZE9@(cP^WHX!!^nMfv?;wz9CYK*9VhSq|`}VJ~@Xj6^#V z+^t8A?Wxs8&e)Gb@LBJY47~S%ku+^VdF*~qh8GM&b#_ak_>OZD7;yzJIzNj{UvUfP zkRKddD9Ag4*G4%HLuH100OFlHW4rJZ&kZkz(2+5HD);RMuFRP5`S;ZZyF=Z!B&Esu zrKZTV8vYIyu)%KLi-7T%uM!RF>k`29g^*lqVOr^s623d__jWzvY!jw zZEnO_&Q+0UcM!RSB%o)KE>=0BpzW?C(aI;k2j~H#4_Ok>Qq9s{$pg;2-CU*J!+P3@ z1DqAJf;LsA!1p*-@aH4Y5ucNQd&{l^dqDlQj34zUPQ;rP+N)ORI{;nyWA%5g&O(P`e?Mo5oRGGd4|q_?G~K!Icu_;r%G4-I@yFj)pnyFLd%FBTgtJa`*9#y0es^J+};BRTwV@Q{O1o7j?SNHG$qc`tzaiXKJ4C*o*c=96vwaX6J zLBkIu@8ES2DI`fcMx^bJqIr~#`7znJb5(eEY5n1i)E52&P2E4?GA~dbEi7eNa>kYe zC24h$hVYvdaIh~fdTs{)$nb4&$wr(ocTCJj5Dpa8a6>zhpuC_avv*8cizZAEO^8vY zBdw*~lh^HT)=;Iez8S=cxaXgLk`u*RkovA95&`ASs?!7lfq|sR;{~le3TQ>d+rUxN90GBl`}CpJ6Igsijk3tH4^v1T(In|T5=#z*iU?PrF!E&o zLZwW4Xa!L0ydZH@;jrJ!42F))Z|v<4w8=lElwVQd)Ldak0*8rXPhGiQ4{Vqe zPO<)tMaH8@(?+b`UhG%*Q~i#+?}M5@DY>`0j2&OU#}|clgzcZ3MD&DZ4}_-qzbl=c zh&LtA9cxb>#BZ1T-o1&YDY*Cw^DU;bJyI)3ONfo&x!$Z;`+*!Fma27yZ#OqCW`5w9 zk5asUiyzg2sZ-$%50Ib++sDR?8H`~DEYRf`;+b4HB-1@>+TRYzWs$Ed`$g(DBBBK3 zXFm!=haGupC+%={P~1)lT9T`LRhAx}H8ZWiTxAt`{*M1#A6QNQ!Ft9HavSM!&~YU! zkjyKNq$wYC{`k}l9DZEHX_i?K?$HA)iG#ka)n@i*R3kU%MGSVnipx!wb2K-^sQ>6<}TM!FJF( zgGDR*OT_Cyna*>f-?W{2VActLjt>4lk7l+{Jm23R`N8wLgHj^OlN`*H z<}m){WEH$Dy=|-`6?2e3q!wx5QG2!)C^$fCnxJgRUF5e+(iV8(+gJ<)HK0i2T zY~K1ke+lzl^^7SJl;O<`^O!)!zcXrh63Y;|p&NUvKg3vQjOT5-4o`H2hU`?gCYIt4 zGZ-Ny_E|@YxRfvoaQ=oRR%$DlW_U#J__J65_3ycqilVky?lr~w?YEV|83{Uq{!eCR ze7eID_mpFR&)(tz|Mgd)4vDo)&RfYRHVo|Bk5xtiMp1&e8X=M?|Gl&F5nxV`wI50} z%jL9C8^1MnGS>R^*)30)!w7YT7T7I~8Xt-MJc41&njmOig4w27rP#IZ6k*UTqdZ`t zJq?^M+9gco+`%C7w3*L&a}LQlj(Y^`UQg^|V(5;}7Nk2y1C*X(^07wXULIT^gs1!Y|W|W&Mq|NCBKDyuU!oc*nRch1`Nljalmamr>dpE-FCF% z=bzSh-Xbwf&7?Pz$)H)%{X@QDXQb(m8uEe8APvS3#R~mKeeR52G%IMSOXpzqdc%}X zx*0n883`U9vu8&gTa<^XZ5ha5tf}q!Nv}kurl5?f%YlKrLBHz@X#kta&6kyBpWh{} z)}GWI(u-;4pC|L^S+^}aqReT}$8RxyH^|~Nr4BeKzfZRL8-vCnlJS5wlFliEpLTI9 z0%3M;;V;%Q1P`Nlj?yxf@1#w|SNRvv7RK=eZ;$+_c~ggYV9(Nhu`v*D4r)?NZ<1g3 z3hz;hAS(0cm`FGkIFEK~x%Ei4sSm;%!J&;VY;EB&D;!PtlyY*f!{p9e_*J5EkDd-+ zXy2AHK=Pd;>$I|U6t5vQZ@S2sdO7S&U$L)f+=3q1Di78NYx^Wk!aKF^FCHK@Y`ha{?I;A;6CwVu z_VMp*NGIBl|I{nF>FM-RyRo+1{3LX!D)D@J5HT;rwdq1LfDhxH%cuZful)KfKw@Y5 z8^ep+epwO-qke6>^>r4>Bfy693T|c6gO~Qqj=4(xu4JX?j4cn$j25?JEG@q`Wv$XH z((ebV$2k$JC8@>#N3z~CUd4(emE4Tq`2~sp>wG~Eu~E8s-#Xjsa4(WycfdR39S6!p zhww1oR~=xJijdLx{PJBVG|n>8 zj$d^fL>X^~ip6otf7HA%3Shxc+sF4MCU8RXz{R5&c{O|Lb^^=VSu4CH{w4S7ytc#i zT0(jOZ*Clq2&-2x;uePynv?3olsWyhmmV2sO@kOhiMdP!C#Eiv2HpGB3x$1s31=)R zcBva5WS0lySFeaROTF$DuVLuRP}!H}QWCw*BTVjm_s}yL9#gj_ngeO~SdPcy!9jOA zkrCYaGWs-mYqBDJ8J1Rn#`m3*g~jHz6l}Y60f>OOD1*S3q^IV1 zn3DaJ7?Cm9vihY=_}i<#uax?`JWWeIfBpx7G6I=Ny?SK1Q+O~|VY%Cfuj>y0b#+pp zJJ}Vsh(2OgoD)vO1u@c81@w*e-66-QCHDdSuo)sev^nb}EHiYE?_t{WzPK#(KxNAz zI4G@tip}1y^$HKkn0QR9A+#7>e*ICu4J*R+F1eD~`F!iA|MCD3A=rhLl58nH(JOZEFw)$@ zolCiySuk_X0SZzTwZdhn91r+5b5i9?Y>Xe)jxj@%$}yEUVB7tDHqC zP9(PNhoOHEqZhtHH5lM4R9$MAO8@U)Jw+++J1Yh0*i|G}e@jy)NuJK}1r~DKXnILx zT~KGK`IWmSJ$`8Y8h`5cf8226(gPZc!U4oQRZ ztKkzZBq%N5Ygf8RtJ1auw#s?{!^*cXQI(k;edbS{CE9;wwhVOi&WvhEU!;2mm<~*l zqZW+SeQ8r|r_!KXs$+S?zVeqNx{D`0?6b={Tz+9do4{iEDrY*c_9I; z?1d$o6vC?3P0If_I#P#1)62eKOOO%v0kvvAydjOIMl z>h^^irAs$pgkr0-&4{gjIj4jt|G zTYx+VK3$I7%3Vsxja?S8FU=k~A3GegUH`h*-?-&(+FIP{iwKKc>X|U`LHJ!P`I6(bQrr=n`<+)td>T%u&@LMi!6U(FdNzNI zy$tZZsIpka+cL!v^eXgOK6Pq)bkf=^07Yt+2bRME*Cz*^4VGmA<6;7Q*aiClN@7_i zrtb>&j+DyZFZq%rCmy#oNg>*)!0uKa2Nl6g=(>whTi?l{!e$H}^3k*F)IQW6iS*?SHcXs%THeAYhK+m z$W~TXUOHtmn^>Nm)m4iTd0#U!MoUqqd_JM^79?Sk`g|G}{70u9U?M7d8%Ew*14(bM z*EcrEWK$U~#+(o7TuFkF5we#=sa+%u{~+Dm)lW{q*qg zK*P$r-jtOt5YwV~C%rg6j*0yGH6Ngbhl|ZNMvo2odL7u?b@3mDGbF~p@=5t|{CNZ8 zkzL;{G`VY(`eNtvw6hzLSinmv6D2)8y-xS)@s3vFw|KQ+!QDtX2x9jK1qIjgpEO_` zmC>b0K`Xd8_B1R?&s&HL=^w+o8|o#U5V~5273)$8od6PsfaW< zk?%b0>|dwCx6d>;?j!Fve>8k43~4!>(LZSzQ#m>-m)P2#e zXUzZeoa`8geRcQoB5p2qnA0$gPgYK@>4egus6$kw5gip3v*KG?nm&_{MO!!(a(FCx zu=UeJyX90bn#(|b($G7Qse=RCiMjvk-d#+w0ya1#;{`r0nGd8R2?)IdlY-I;JgBV9GN5r%p)l=tDJlUZ>foeAG`py zYdxFk8!QqYo2)FUaii&)=Tz0q0c67m3a-y%g zTRfeu(1wuM@)78PKnae+*Aoao&0CIzKK(^>FdXq=1m8>_ldz!eyU3)q8X@ zs}BDF^*VVSFCc!8KAib0ub)qsNA)0}9F60zlCL!IDLN#w05#7(P`At6l;XXpyN$?I zV?Y?6zTvEcT^lAGP8bP@2BBSw$s5O*RyTkcWgj#4OiGg1m~y%Vg@e)|J3Dszax2Lo z3)nzT8M5zZ2NRxU$t40GQ~X1`&QMUJ#>m*UH`lvDaVAh3-dxlpp+e)8Nz>gnXB ze`eO}_JX71qUnea?S-<_(ELACy=7QcQM)!uv*>PwMR$XAx0Hm05{pI}>F(|ZX;47v z?(PQZ?vU<|Gu`oi`~3IvnlLA0JkOolTNLl;vIAjH(ZVQ5ckB&Dl2KBhP@CN9M}e#D z|E}*_6YCwQEC%&auTOSJb+*$XpKGn<&Fih$`WY4PLd8+N{?-FA1b}|^Zx`ZOk>02` zdw#^d^xsQURVf5Dsi)toeq$UU6lL3y4wu+vO#a$C#yd&w_-b@yAY2co zMFFLaAkck-Ha)25c>OVu9qu6_8PUbza(SwaCqu_(CN{cVg+yWhyVz1`rLWZag+2p=DIo0lT01M`2 zN>KC1ndC1}4dnkz9OlANK)oh?_XxVJia#!IIs3WRHXgrn5hZX+7Y<|}D%f$@r3;)` zZ3-Oh?~gxZl|_!Eo6j<;Sy6JPm`73ycw(Yyud(+oZ)avZt={w;91%?i-*+a!xgMNT z5dTAepR%7UR^Ehrqz2Ow_p1b|P))Ye2fZKq_PKN4pqe8>e|0=s{*I&NDG}J|Hk^Rs z6%mP-H`nv9>6RioRaE>?;JThJWvAky1*N!QKk6tY0NDirG#x??8!yyDNcPSSb+_x5 z_)KY$zx8 zzqGipByN5DT;sx%*h46fLw$}^A7#||_O~eehpdb!buYn{*jeK?e)HpRit9fL6C;zS zuP>noYo4b+0QPNit1t2(VuWqnjRfh(S^Gc zTSRC^NAj@u;!gq&)|lkkXbyYM{}`__89})iPK}B}(lr!cg-Hf|9^K!++)uMvU-S1G z_9B!^{r=SQKK3x#*qD@!c2l)|uc$6gM2Kg06C%Bsx;K&^Mlp8qGR0Z{I?Pm|x=kDH zR?L~CS)t$Oh}6QxuwnQ`pAUw;yu*j@)2`i+zSq!CZhJA&iF*N)fI!%<50`jG@2vWb z&%nfB39u9z@eBbBUClOWHa#=(22?RnLmy<@;tYpVK(LVC5Zy0w!+m7-Q%Dz$2z7lt z=Z$yO`%aGRP=7+Q+Atp@8B4SFV%xy5WR=ZJ5_>^3ejgq+(a-`@whbDbtdzl>Crj>` zX*vH}85XGNX8FSXQ#^2-poDr)#OHpKPH06h3ox8W{KImY$_W`$>Yh&9zA$H{IjGYiO~|*!LvN9I;rTM>swEP54&4F)ZSz9YW;> z@(F&@5K16HnhyYF1Xk_0m9CH9gvTz(egJ5$cxv^h+c91Pa})^feg=#G6GoVF+%i)| z>-WRiGWk39#etRZu0Vvzj>y*n7xVhOJS}~iUZNd`gSe5MU1%vn^s5hFD&cQ_rVgMu zly>rsWeD2?X~!7HdtM*4jMT{_aQN5bN(`fLvq%D4^whd*A^Kbe}yVvspCB>>cL& z(X2q&PB2xNL4gcU^WQxzr`HYt>lX~si~FSb*%r;Fy-M7shfV3&b1~LTt>|x>C zkZeiz)O9#?P`o8zEIE=(q&Ngx%YyaYd@`9YzmAy#=M>hsE9cAAooE7jm@!c{Tevij zdXaJ-@4825=vdFs%uZ>|NG?^Sz3Ohmb`yX>chhcS0@piJTVO2SnGtcX9-~JCTo8{~wbwsisa@mfJUVWB_ zGfiALvjW-N0xrjcOheQ35kn^r`v#qoOG>@SQ4gu$BdhyeaB>lCKIQf+4RzrkU!fK6 z-ASfhvTd7UndtAhgge@b{w4nrf^29=L3z_Os=Gsj$2aMdof@*a9fEfF z;T2j=jT5A7?y9EA6X|36B9%G zrVf%8IAYQ@OpCu^ zTfU(3yT6m6p%QXp7H-9CBOu_;lw{Ak&n+FC-&~OLIIfzi{!HAn)Z%i2dl^zI{=?2t z0Wx3HGG*5>UN~<+u0kcdHnwxE8{@5kp8*Gt;2?q?F6}T^x}IjiUy_u?-N(+zR5p_0 ztf^42(uo);vmr)$A+v?aR-b<^-q$P z^P6~qtgxK9>(Myey?zya|K--ZS=e{?lEjU7ZVXWP_UD18ZnR5-sR{Oj|N2N^a@BA8 zCepl3*;A^bt4wTE<#4eUmq5wyza-^nQL@w~7C$RQzW)#(rcrH|M{l}5-$fX>sP%Rw zXm>iAv7dp)g|I*8b=KCB>3MqAHu2&O)mI)LD(mCoN>48@G88l(nB zw7*d{XIj8US7R{9Yo$lK*eUQ3NbLO^f5UtW2FVGGc77?mPJlR#IKkg3~fvWfNaS zaNAew1VxKaMziq!vwS_W$HQ*CMkK5$L^_D45peP-J}(N5Ybvb}XeVNw2a;p6e5sFX zuOg=zmdf5a2nF8Pf4w&QzZ8B=m}E`fo_Bvj$(7^y(3vkHq80L`0f|maJ#UR_e@;Gs zG49CuZ_QuyKfckB%s$@vrtQ1;YHE`>82hkBXh8BoKYh{#wRC$~%I#s&UQwRdr8krLZ&jVu^2vSM6V%C5|!WIKyEj0X3c^I7n^~R<>)Yamc{8 z&%2cdZo5WBG;c$#m4Na~#YP0nKy~FhCHCzBPC(y2H~|YQlscgJC~NgVC5Ac1ke5r2 ziP<#lS^AnIfDd!hA%Gx;mbw?k9o2-3o!JU<4>{VfvZpeBM+Ku@-uxS@C9ES6WM|zK z*!L4qGA7&v+o!%=Pb=#0n>Xbe@&G-d3=%GOd*Cc!L!9E8K*hpd3@D2tyc>+K_~7ff z=s~R6CU7RYAS*}IpVTiV78_Sh0q7~Vfeh{{iM15AFDc@Ujo6}KCarSZ>Znjtz!O+4 zGxbg3N$m|fw(`?0e*IGWaQV*g^)5k<;(UT}IHVvEJXTD7^d@aqTz# zQ2MWNwj&YufIuL;q}}DjULQjsMW&Tqaf!l`q^5Qm24XIt$)X)!E%O;9H!K&cMv3slb^ix}0$qjFCRe#8W$ zfrRFpLxoqum^VTWBf>WJ%s_>7>J$b&8C0&YDf+{m*Lxh5j-4#SDn}Pvw6JxjZaCCP z#&}4)g2_B(*k^lt9a^jliBjdPZ^qMKLBNi!J~xugpf0nLfybzc834rzTMcrxwsG-% zbg+kiztEl%DCXt$Li3%UfgxBvG~+lp%*KK7({E;*%3Jj1^UCe?1b$0CFgOmN`55Qw zNNg?SH&^K7DAgn+C|4(|@$|-*o6~MW7p#c|Qn#JGCi7TZN)$NL10!d$^jhKoJ^tf` zQ7Sv3FOsVYMK0*Jc+{ix?T(ycK-hDQi5ClNh-D!wQW)$n59GQ2LTMRMxEe!6V^KM= zJstF>MbatNoLw3v*}*swi>VUbUK4IH^~}6gq@C(`aE3x*DDUa9`WAFS(GSa~5$6yb zs%5@q)t3HK`U+pj1)bU`U0Z>OjBMP5CGJcX+gK}n^)!p`(4)folcV|-!T~KO}(c-!0ndO{iuU~A6X;WQ4<6?g&pWziEPUjUf6EV-X=SzjP}7mi?ccI zWB{zY(uRh!rjdf9Z+C01Io7F&6Oa`1cz%olkxs%rOXWW9$X$E(!t_hNm||sD4n$-9 z+ubvydvH5%THX};&8o{uI3FIN1-vSsEJjyVm4i_Hy*YP%S}9f#uQg#X1!lQQqmMXW zl;HgRA2j~+n;Rp7;u}U`DdD0Y+7(+hBVD;wyU6ur(9omj#StDK$uzl=@}g5y5pfDM zh%g_;I^0g8QIk@q^F(UU1E)B#ryWe#JCOBfAB<~LrVX-PD@kJ^PMf3P#Tvs_zSGX0}$+70aP%A;yE<1%LY%MwnNGuGJE32EboBY4S2 zE5AT&bLf~t-yX6=R7-)B45%Q`QOUA$icmL(m{R0%ntf7z z+$_fHcc@s{uGjv{czBd2W{~Tl(O*ty8-bw~L~@D7(9NGPwR!ELsdo@s&Froz_(Zoh zX5GK3W{%k$g&?CcO*TJ?baG)nKXLul$?=ofPFi#0`~AYKCYkg$U(a>=nvsDzTHv7l zuk&_8O}2A1&rG>)B024iqa%Y;{mu*GA|o}WjGXylUvsZ?Wu^^r@*vT-lU= zH{;eFKmzvC)L$|$r%n||6myh`l->CYQfaytX-lYGUyg4w_nU@l=f~`XJxPSM{`*w_ z2**kT_br3Tk%@^hN|_f0|I@@$?EhZsAJafP`}0nQw-wcR{*h47G!X<{N;4GyGp99* zZCvBYu`+&50sj3?h?q!tzR&VESk)0+e-td}nkcP~Rf4Tm^(>SSKapMd9tA5V7#+aN zA5H1CLvufYygz7JY7Pv1_M4QQ249u$ZTGM4wt@vUW}mU8#p-)E_euSsG|x9_kb}^l z@+G0(e9U_n@E;d0sUtojoVoO$0j*|V4nBWH1pbSU#UMYb?tHfhgEqp6WubJ}=zV;M zW-;=v0^ciMz#hCjyiMSv9RJPs@0Cy4G{IQo(kZ{x31!VY#;rVaf>q5@bJnj`t_NdL zJw1tNxH|l|o4hP$Lrn(q)+NXI3E9qU zXesqptzUA$#{mp!%2pZb*bElV7Ye7u_47ogR@Ivb_7?p2EZiVJ>d&H5Di=rJ?{6{| zGP7DV3lyd{D%t?s&YlkbHiAK#QY1=)R&qHA_Z`e!$EMpK6w$wox7`EUp1^Z};F75I zF&pHQM-gEjnfGC-%kqJ2EPpR->6fKl9F?*{kS;r@)7k&Wx-AOgODhO#(5sP4g|%D! zFb>zhTN<1rRb`+2@$Y|4^1z4E$uFC0A>_EPYlBw|!li?|tdp5a?k=BWT3VO4U~AZy zOlccsU7m6LlRr~<(+H!#6%i>^VQbfF_P5SQVsHy>1~j|5l2;1Jk5v3tERRPXWK)* z<$@W%V4txjJqdjqy}GIfwkXGg-;u>AusX@V{%3}*qVjVmxuWNT-uqKqTdPRs&$;92 z=GMpzyDmnAy_DC!2}a;e+~3?B(ji?iFG>Bh*JVb}`$0)zj23oRhPRfBw0E$7iWPR= z<)KiBj>sZo`hF5Pc!;p1Q2}---oJ`654s(mc%55CWi3}Q99n(?ZfJQq;~a2xF&it$ zR}DKDLy)*3`RIO%^75NrBj%lY@|Pw}#i`%Ff0yS}MF3BU4y%TUGMU!N64{0br;9j9 z0i~-~ON;&b1p6{Ezs$=Wq9P-=ZGu~M>g!knyM|b)8eXGDGh@c<$E{LNv@1~MxCX2% z5Q*@^MYD$X725UEvYGyS=c0!(_w!4iH#RmlWko|qrZg}x*hEZ=9L@B-K2Y5x@b~xc zCKm(p@e5wUaRy9dSU)jpb64I=rrb@%jT#T+4<^c+ejG}Wxc`V@x5RRo0egNu95?00!j6;y$p&_uZ@E5=&H+Thl)gfYFcX#)x?>r?3RRd&2g3V4p zV?`dxU-*m#fJ~4aWzM*t3aN$d-sJf}_wRQjOA|jh3(Dahg$<}D#sxZVlFC~z8P~*kRQ*-~KwEFN7_05^ zkfhe@f%9jy_U<&2(x1pokGaX5yE`A55MW`G}nKwi(|~r%-bV2$G?dx zv}yo8NzZu+5`G!Q+{2n5^m5(kgeC^O8nkKy?rdH3hpR0Z&c_QnAi}}rc>`~8V4cm! zRvaWYm`?M!IaL5Bg1^SuG>$g9uICARx?GWF$u+FGkT{<#De<8lDrMZh8+-klf;k0@ zn_nk41{nAnYe)UB_FiOg(nf-Uf!7IUNINKzFZ zZfL}O=Ny|-V&)IkKd;w3w~MJ0CxhG*S*j~O|Gq8c_E=aBh}9`j%HZYD4g}m5b_6o$>6Oh7j~>(VW^2xeGX+>|?aVKo zmf@E`@6K<1;bgm&*gphmt|mLGmQJ4}J%ar2E}aU1uni81)`)CRTem%>fN}6|$X=Xr zLJ?g?Vv~yG!paIWy*+H4Shrde+OYWfC>utS|B5)-a9pg355)#?2kCGMi^5qem-1sj z8>XEdxh>)`GeK+9RQgMmZE>j8U?A`_~ona*E~Y>5Qk^L6#jz>tt8VuNu)d&HugAkprOiXhcQH0pkkK zs)rTb=eIK%3Kj5|)zj9j*JmqXoB>P^*JDEDGL3M3?-Ql>qsKoVZ!D*qJKlaWRal5Q z`ev&b_`cx1aC??Jy$tre{4(nMc<3;{n(j!w*90us@<0p^_r>?7Ifr?Xgs zKs;1)@b3+-e}KyNC%dJ#eZROFEUJ*HR0GBQJjtA&?*#AuIm@KB`&DvD?5vg4X?>Lf z5rsc+nU5L1Zqja-cmwtTdymZ5$0L=glTf0XG{;%fZ5^Zd@iutch|(;#;I90VPbdYG z5xev>KS*&fw7-Xy1tNVjX1qWv)%_LF$PXAeWJF)M6Xz=4LIs>G*bM1_Go%Q4cjOX{ zjcI;}p;B9?d}GB%pKnFES_TCIqeJ@HaF>cKA2Y8Pr)p8*yTK1HkG@hMAmZX=rtMf zi#Ga#`2Q&}_2!>F>SMB#3`i^O^}8_k!*LugH+bwE+MZ#S&ewevqedcWa63rPODvXe z%f7AF9cATj19;_MzBfusmsMxDruzgSgDS3r-UrADANw&*?pwOkZnQfOH!L;@30`ge zTA*!HVYQYySFXo|p}zYe`PZ0|O>i;sx2Q*O#?;gRs3YL^;(j=ZL6UcUMZ6t~J`~Bj zD`5TWzeX>-Sh{2+BYNMe^2W;#6p?`6F=p@WRnXnT{SO*%Z4w(I`={!(6V+*y|2~ua zYoz>&sIwE5Ips6D9d-5ML)_~COB<(F*T-7x2emyYb%xIMjA(_rh2?t~o0UrcXlb;A z*iTG%J8Q zp=88jhK7d6DYPEvU2BRv2!9G<(F$+go+T$l1e1t)niJd+RqsxP7sPmi(2v(u>MZAR z%M(&uBK9?COA|ZtEI&yGqudTzpenNj*fiFANHxw zlHYMIR*^eZfoRa;?$mWEg(V}H9>30?)^kSQ$Cee<78MmVHk3%W!2F%H{NUgq(aW|> zT&T~~Z5j6W<;#XYdG6PB-+>BMMjDepBO@6ur%Uor7^Hjtc12^)hz*>Pc=a7QU2E;e z7&fc*iDj|N!O?+98*DL)9igElV=ty;XzsUPiJ$Ki|IqRz&%?44bw@8XJJU6+1Flco zF>90n3ppjmj)q4d*VtmK7vo>qn1L!`@9F6{K-;mMS3rq2mn!Q41~3+YRgLiS7P1)n z(>HTFV|MEco7kVMA;1^L!6&aGA`%94#67;;xj#d0@Fc>V;eqluM4V>6 zewz5x<`R;zEfR7v{Xn$^;`!*2b0#3Sj8P-ox2(1`uc>j!+gtc=kq+0_vBOy*Wo?}B z)yI;r=r~`rsZ&|>C@~yhT3(K3?ZBKKcOHHK?ebx4AsK_~g&@b5R-34VA|Mn3{V$Ql z0!aT*#9US|U~A{oZD$6@lY8^|i#%Q9(6(v~SJW)ur>>0a3GPt5gm&Ok$+k;H16|ExZuf@OCPoV|Fbr{; z1JU{N1R!;_Zvy*8IH+o&=+c#{H2(Q+tCX#&45Omwh)m?zQFL+^i1~yY=DBE!$bWT@X&!G z9zgY7=Txtymouae5$uJ>l!RA}*nIl9GHrTmEts{c`1o5XX)IW|sS2qfnw2f>rf zQ6lEe@BJ|+(O=%)T!qOuLnPt_XR~ll4s^vOC{5vgh30y)uh*nKAKA_E^=Z^TE4Q0c z^f4uk2*a$oLe{5xn0SoVD0GU$Tz5HH3a7!q*Z~ZOY#mbFC0baV?~Qux`%P*A))qnZ zP3TLhyYoXTR+#ax4Yg+|ah!aJe%KfPGEX-sj`3JpABnq_RmtH5?OUsgSZv|*k;9o0 zs^DuwJ-V?#Q{^)}!sGO2kLva9 z0k1pSdL${qW>0@^f%Q-g%!iKzGPulV5s*8MB?!@XUXmZoY&1jsgEXM;pE`o~==zJR@} zc6@7OgbTkD&RwQ@)YFY`b}keB5z;4L-!HGZ0Brbl(pIrnB(?A z4mZEDQm)>m?C_eS!m;>E11pY7B%k3boEkAoADXPM+(Csxs^BlnCjYQ^t*^aO8#SKm4VB{sIV%IZQJ$vaW;bsHy{f;ICyUUem3phF;lE*2bkSieY90jX4!j4D@N=f%nMYt0raxHCO z3=IruJ@(Ta5^v*O`;!&2x`f2{I@SzHlJgO?ci*&ep&G;mdO@H?;35nA%u7XB#Dm{- z?DNw&_~5K{R}YAP>u@Q`p==NHju}mY4S^D}jz+sL4ejABRi+r_OXw%dLt*yQkoV}D zH?TiP;BXuTD72smb0I7Svy6BSOlcCFQ%1l8UK#S9Uw`H5^+wJ==!)@%ipq$9+e5#y zuCq)wU45bCQD92&5Lbj z*tjYzREh{SB`@c>I2vVu_xh^n(IlEy7+=Yb=eCJ4lm*1K=yVXCLp4Vd38;(q6T&57 z1Smm1f}5n})G0ECj<;mfG4)OndvW|}_4T7*4T>&cO-;lxgevcU-gLs={h8bkQAN?m zsY-S3|BM=i<=yv94BK8zZ)$4QgWF_6p+C3ph8J@#rki=K?P=Ahtd>ms`7=z!_y6}k zWr6oO2oC#`Vb@A4&h&yPL^%)EV^4vs^^n39VE&mZE-*s%k1rx^vBx4rSw@Y-&h~pi zbEHji?ShSV$3RGP$`%yn-}68D!0Bte#;U_97DfZ3H;Fh6pUz}R(M!s(6AN!lr0da) zXK~nfbZ0mlBmn+>K*)i-ftO2Pq+C^QP1LK4HXh(Uy+xR!zX3Z`N_c%|xC$8+53ofI zB;4ul?rv0Zom<|5BK)FCjj|bV-TNI$-jEX73e5ZkAV<#)GFPPhkiW$b@QWw@7Q!Zkgl=HBN1%0+RGYtl zx{`WrZG=98BjrG5;>(0{G_>zkOH;Kg`~>9o!W6gwIpXop}2w>!}u0fNhE z_mh@t@-W`d)sDCFR77+PxH%o1bZT zq>^Qsn*aVkaX*K^!bH(DK@Ba6vp+;gf zQCiO-uLXEylCv0^0#qwtX9tVza=w9u1nG01E>!wDwAIHM*mWWZn68mgP!gLO%%ZQF)#v1`wkdlN+yT_KP_&=uYQ5-;w=8Q`KQS71jD*)a?z6jmyuSScui z_Z1ROJczj)byxP&T&r%z0SrOf9BzVHpFOrMGP!pU7Z|Tn8_VL`si>$H0X;-N)Ss^o z+4&i+IyV6{l5(#*&Y^sW3^1x3Ch&hKW69z(qDV56G8tJ9$4RHSY?fSSYWBT_?0G%* zehqv*N*U`;;INo^*M9^f9#*LQl42+Ij^nA2UA;#?0%Ro{c8?Ha`RG1wy;gLANXxI? z`@MUv3{rLLe!&)}B9cu%)yz)U1CQ=U?p8@4OQ$#XW8(85@;j`qD5b7=vGz)eLY)c3 z?&MAk*-VTIRY*`}`(@#KUgRl(KC=%8p&%fdlEZkd5RjNUfaQ(#wFnh&4(Iawqe-q{ zi8>!&X{1m)v|sh_=+;-5yCXtjx8FAq{~+nmj1zDN|uty^E#ZsxF?cPj8u~S{&>~_lK$%r?p0WpVExGBE8sq+ zXmNlb;k#USlD@4tO7`Ve#isgGSQ1@5IPFnrN8X?Ng@QDP#beP-RCKs20)?0rN^PxY zKewip*;=zG>}T&=nDsJ%haXp6*KuIA+B|N)&J6Mb`K+?0NGsOwOIz8WX=3O=Nhe+q z_;&+SK*D509uTiQ#YGAg@zX&22}6>g7%>dU(C9h%MMqxb(t0%Py6&s6u9QPF(#!4} zh+)`a2_zzH>nWYKx6s)^Yve>5YL@mbLUbqVZCh@oGLcbH?HAFhVM$C7FPph>HZ8GY zaRs~%;!5WO(=~M)@xNdOd>Q791zj1w0k(i zMN)&BBn4Rq@8590V2%v(gkcYcFB(jxIdqLr-5yNIQ9z)GoAX&mJMQ6);_1>Nrs)Ib zcg1PncfpAVDQg@1dC0k0i0N0MVg3O!rGF~%=nsIdIF}%F&W%5?^h{Sq7d#O5*`r|* zg&_9)#uKtLlH}T`ku2_$qK8|N{;v?rfqI@v98Up%#m^nA3sGZ8SgL?j8JpAQkfNEm z+#aqI(%Q)rG9ML^gtEyNR_B9x33=(ETm_^JVa(6XF#6y0%#Udl2b%S-J#MQvBHgd{HZ7DQL$ZYA-wxOLj4t zu=g!HBWK>7`_I-@gkO5ahDR_o;(QvH@B&ll{J|y*J-fD_7DQyFZ%%Nufd@bfd3@5Y zI4USyi~#LsEBYG{u&$%NWJu<9JSFSq*|O&}AuQ}}t4uHs#Til`2Tg@BcP|-|ez)oOYP=`tHIUQ7aKfQNwloYwuu20F* z8CiEZTcZ(z8M$D;Gt!rqAm3ovAOl&T?Z0l`%5oRcf4E?~~}r%QLj< zPg@2)hEf#}4wUYGr3@3Dv}5;G30R0s>rWFWE^U@=^zjd;43ePm0|lQ@W0}g)OBUfT z)*u85)xvglHkC&8ZH`+)3dIq~j z(A4C{!OYLK~_3-cpj_@}6c) zb>@=k4gBSH(sw-!b<24~cbR&1M9+@Ji77?}I?tBYaV6iv>?ZthqBP={DE-1w-3$Qa zry5DxUZVEYbBy5>I=|nAPklsx-GwdLr-CI z^~3Ia-qg^wN^k1_mE%apd2@V4c3C-!_O?w*jc$UDK;(92FO}fIKWgRDRG2+QQ^Yx% z4tAs6)xg*t=iEu>*wGB}kSkWlmAY`6&YJbj&M{*zXKZGy*v<#)A3^Z@T z&S05fU}~`POn+HPR=&N=9KW(OXKNU#+}|c0(#clO=2~AvH%J2#y@%G~wHqTtNzL3O zu^p`9@=PUuYNuj_t0MuKVYEna*eJ|!Mvs7nT z@_8TEK9LST8L}F$EQRhyl5zVp|KH8hoQ&hl;ql<8Op|>&(TdkA#)%RPtrNZ7UD|;e zSF#fu#dP6`%zaJZRxPykiFx?T#mnCW@JItZJJpel=#5}w@tslxQBV=&Hh=iLdnOF?CKC_SI$go zF8L_nE!{}D&4-QOg@!;otsVQ19yX-%y9*U;uM3GMSFOpv>W&b*|KKspP{;tIK)kZYcAqAdHD)ljcgg!8;x9|>ElOdhTDM!q=IgsW;?AHc(6viRRoUg>+z zNqw7wl)|b4BSf}eRjgS`oiv3i94kKDXm*9|rPtBpQRHs>As;G?v^e&Z7QiS++&?~^ zw|lHTGm^RpAH{My#$FeLbkjg#Rej&3F5dr8qk-ife(7#a{Ov4)85XS&r!_nrOQAjH zj6Q;B`T3_dRosJ}n*hxvKnQ33qsO7FaH@FYDz)hUOT5Ku4acdAf84ln=TUg&sjbb^hBE%eY5+rzqEmNH!=z%RT{s=b?f*z?gLS^1_ zlgY1*r~DX&Ip~oxmd=k)Me_+ydLtA3@qWTZB;06|>6`Mo8U^sW;_Tp@Y<%1E{zMQk z!U#C)6}u|mu*!gT66x`&qS>%MZR|} zkYMn~6KXw_U!um`az617XU*TfFCRZ~w}?ziMD#7`!~o$X-sqOb=<@Oxe8i$3KTHyEQG0uOBUYmCFE@aLrX*>`>4RyyTy}OgB}uhd&`0tgpvx%c>(tDsM;%d;lNa%j7Eh#K zfqkPPA5DiYcZBQzaP7(u1m8oyOu70b=*_Pjl30H$DKP!tr}_8wf+73#GTSpV+#i&b z#&$SpJLqHJ>*utjh>2#fxFk;-DkD)|XmQ9NY-vFUlS`n}@3{-`;wzd7hFc%)=PEZB`w3U{WCYL3+s%X4Ulr<4ya&$~1Zy=4s zZW@T0|FEV{V=-5%qvm^8t|vhX&3Xty{b!~FwBUc(9DVn!w0Uag;I>GI=I2vkV7&Sw zz7FQMjjpe2ne1vH9MOUpZgb&~g7gUu#QY|{?%;6dYWa0ET;E+~^4A83Gm}XDWFaHI z-rwKPXu=>g@wuLQ`$vqmwjs$Ifa40u##vg0r3$Cs9km$Z_4im@nsoj@u`@l)J{t7s zvK(NA`Z0hg`T>w~rs{h-Q@7o%xkW@q;#FJl$*MBw0KBIfw3aQvHvOFre=Cs0!jiBR zv(L|u0a77Hf0pZ=;s)%Vp2}n_{Mp^zm4CYsyE|ECGJ%H;j3PIG7E?%NEo5uYR8$eU zp$=sCM<*5P9B|-tA-5yH!~hM3zz(VfKB5IV!HkZumW=JY3~;GJAef0#c3%l_aj6GB zmAqjdk%VDk4=%T^`zAV)uPF)z5=7`mVZHe6WC^(^0A8_P{84IJPy8my4tm(l$S^); zYV;o{CyI*zA98S>M`iQ?w+J^C{PQZR`&3`7UZ_y=VyQ)YVm{G8aXs!mujXANUm`@mX_$ z6&3^nc(Mb*dJ%MQTSB0^H(oh2swhF+huiBOWXqM2pw2v90&>ZXXEXoWp90c8a|4F< zuZw?v&eYooBBPa2n|wXX7Pjtt4kU9o$;G6NQ=&dVTl(84brmbB`6r3N;OYz02UUUn zyQ4eIPbK)Y#=5N*SV}ps?~;*Ol|&TJPknO zZ?s-whO<_asRlmE{}d39Q8*x`_gu2REenSauTR^9Bh!(LAtA{6ck6Gttx`}ak_Xjh zHQXOq9z z9o+YaMLYmhqJN6cBmp-d8f`pMdat_QB*y;^RDfPs4G!|7+v{vBq*^*M_2OAKBOzh> z7my7*(=Le^p%Ny@#)i)rCyfa=XrFrCRS%Hh!UnKvI0POGGs)&vIE?sadd%wd7YXXsGD$3K(yM+??d@zT0-*cZ{7TqLpfl& z!sTTt{igkNzZGWa1T>^f8wZjV4JR{BOTIjUs=jo*lDnjeN(i5|<&b$=v%6P2U(Bkq zMc!aqaR33j04TW-DHG%IsnYEsnSgu}=c zOwivGpfYezMnH871B`0YpGq{hf5O-y5d}wjz_zRc_Mi_G6cnYQ!O5Wi`x^M{K%IUX zWuJL0r}CTJURvFV-lYuN?B7HHvWKx9Md@D<|1iphatgcX^7ik06Hn2URI!5|l5t5# z|5Wp5iF$Sj?D;WEJ9-LEyTkE8W4$37nFc1Zd zJ9*d7S3P|+x;17>6brM9#3)C&T|{^;{G%b@Rd}qviwE$w>Z@;o(IF>3pvv zz2`?m>y_}<$S+qD0`&r{SXe(tlJM1%(;zyCW8I2UT(VN6Mv-7GWBmQ`9jsOiDUhs5 zx38UE&Q>mgXgr;!)GuRc0}^*|zWspy(9u1x;QE+-=kyWRowPo{3` zI_;Q-DTFwV34jo4f|@Z}`BGa9(z4=Eg4tdmO9j~E?LWxVuqt4BFV(lD1H3t1ko9(< z%~pN;$(-^(dCsthyvpg;{RIwl2V7rYKRf@}L8S8@h1&Inh2_$*0FerSHj9FyP+~ja z?joHd@fbC7&lV!WAUT_@<5(T68#19JOMyrf%*pn`IeZS8G954Y-hk=6*6qURasSNO z$Qe$K#m-`g^`1u20%Nkn8qa3tz%s8tjgR-E}CcO|C55boYFf#(x(I;VB z3o%uv7+Mjj2GiuhN`B;4$i``t?jFrGUIu@ydiu+@y3vssWMvm3kT3W9u?E3@M{Z@b z{m#q+Aq5F92LMiqB%bxKjq0Kz+C8-~O~huGlBl>=DmX}iZTlYeJE(baq)SAelpBYX zl-`QFO7jAjAmG@jC1-x!?ThX`=mWIQ?N$dh?c9Pa_7M?8)ysU;g2=N%9|PH8rOm3S zu~$_S$U&rN1+r*~5_be}@inuMzW&}Y|5}jqe?EB;EGP`|6&O@=ySAGU!sf?sLjLmm zR8TyD)r5GLA`!FEhyh*P7WVutUkNV1HxjtF8E{chf<+wD<5pb;-W{(U%Yp_Q-(Ed` z`M!nne`sPI%Xt$-^lOY9saH9B`Z{~q5mago$RIw~HD@nXj?7Q@M3*;TGNPXnsyO4d5j3hqC3` zygbS5pLhMS1%*l#cvi&Pp2+K{)Lg7HHbdgzvzT{E01v=o3J9MhV}&0pw={S?VCtBkkLaS0Z;E(%dHtQ-1T8ki&n5(k zs4s9MDOh95TB$s}3cmKmQKobPO;K4l%Bd&cPIsK66X|?u;zxi4fG5xG{%E6QVHf6z zv*0>q++MGq+Q$FQ0uZ>AqsBR;{wJ7fVgrwi<^=byJE;qLJp9CRvZ*n%{&S0CJw705 z9<48m_s^a4U!w8O7(c-Qmd@g9ku#`3?bvMLGaOhVBXDUWDlLO_=J;Sf=$&Dk{75PbUVy9mvdi`24>taTEz_9G zGI|m>p!|*(n>x_h9T3qJ0uh3LEL_&d?+pc{Nh9KT;sCT7Kdh4M98f}74>YnOfMo zqhK90V(uRRtIz03pwq=qa}bC`j)c|zeI8jkvuf(&MdrTmaD(=g*OkHAm%%8yP@Qh$9+rRjbI=F{VcrY}n_uNnOQR zj4D(FgU3$&ctCFA&-WWp3+<)RNdAW)hL+xFrG$db6!hezx_yUBr2(|iyCW@=kai{v zk1XGg#L%&~`@i`K;(q$JTt~O10fF4UAS>;I-9WFP9r$FoD@24%MNP5*MdoelQm1<^ zD`L zP)?bRmJTtu;2ODu0o|T}5XS=(w$zAcLnrBVZE`54cY~CV0lKvV{I{x7Iy$sLjVUaa zji}{DjiFV-X!%*Bd;PR?$?~fmYL0r_Xbwnl^%_<>d35AuE;F&Bv z)ArWvHr!>ZgfO*$(P#@_QZ(vIG6FUpAVPzd2Ep*us?|FAj>nuyVGY6TwQBS_)dhbtr%^QOs4nGA-G3gmiEQ z`8;8Qk+VK(IE~<4rs3XvL}<^>W@JohUTpd5^c4@n{7B=;c*_8;K)cF2Y6vG=oJlN7 z6GU{(iF2u;Y_%{ORZx!3Z4B3WsQXul`*+Y&kq?czeW)yY3wGkAw_U(8pLT>rxVB^! zW}DtoXJr?6$^DOTOF2);F89r^r;)0*4&U;QV+T4%x=C`ElG|*uMTR~I%k#mkeLxL# zFePZyAq^x=wHxlbo!2C%W?^ajHa|39@Sp!I4-N|zD$DWtaqegpt^b-E;*?hbO3ztV zN($pk_3TlGsbS^6PwVd=sq_#sSWG`OV?Ss7pD@vEgl2b&)@l?|4fzdf0vbYjGX5uZ3Uoc4Wm2A+eh6Wp5<-Ci;+>2}Q6}5zs|qcPB{%h)9k?;9vS)XnD4+v0 z%GdPPJ62C`l}XU9lQk%0aO6i(@*F+*kL0 zv6z4|sU5I@m-)bVjp2=-UhF%|T(7Lk%U!=PTAKJHkdU==a!Rgp9OetZjul**EqL+I z3T~v9m+YaJqcja_NXbOm^cELq_ESX@!O5~J2Hl^g2NdsnT+2J75k_+D^X?`jc*a%B z(sG{e5-NlhzF-wmvX9N|hRz3m`C}aN=@XV^QK<4JT3#Q?wTE4&Q-3v#es*TP0?kls z9_{pj(tYAgQv;8qD0h0?CDyEV9I0TPqv z7#LyXQ!15zXoIA&E_Zp{SyQ%Gcj}|pO0!AE0i|5l<)u{GEF+3|Bs zzz|*OL~$o~>(Qqs*6+7}B}OO4^XsJpNNoqpbD53RBhj34P?94x>xqM$=QFw{vlyYk z-V0bK{!<>?Be4wS{OjZy9f0nbIwL)$!p3^~kzw0+)mXCq}@B)v=gX)ft9wgcTV`k z9f$icCqMTJs4%w7R&cKg)iZN-;~&?J(P;qpG-6EO3s-ApFxsJ=i{n zM(KCcVy^4!-PM)R9l|X;U~%j2_XF!3e?V8`;fmv9kEO-BE?7|Z2*CXTk|O6mJAlqC{*et4sU5ubc!J^GYGt3gEzdYi;PX?Op|Ek@+tM%o#J6A3|6QlF z+TpU$m7oaSd~4WR$mvS=e=;ry5dIiDu?@CNBpprWOH9>l=|BNxT2c^5&aQt;?^ti) zZR%ZgJemYF$BPJl6`L67!;K~Cl3EzP?VJlwt7) zTAe=?e&$36m2*9#XSP1*Kz{+pdz%N~5De~#PHjZqZtqhNbh;nH;N4x0eBOw4Ldk`l z|6g7Bfx_=`C1bWDn9~o?;R~}k`w`8QeyvZ`>AiV99ajqmr}+hKqC%ODri=qs23ln1 zixFVHkvI(bK*y@diViGT-rH6mI=lPGS3nMi%(z*?`Q^A@g;cjA{Qh#y$)MdTR;6za zlsXk+(#TJZrPtGPaHIg8&I9{wY{N-p9zgd=vG2R~B-EeG`Ks5*V!3Dk?QMf}W)HXv zA^d$Bg`C1Nm9A7DQUabO%qkTXmEFBXhV0VB+&ZJqvSOm6z~+I$!O>|nP7ox;oafsk z836W|pSC{YR5_d!Twu1pNqGZyXcu{Dje9%{4Bu{q*N_R`3g}ciw>+?wV#A}+y`qTk zE)QG&d!=A8K_M~0!Ck~Zdfxv0+}o5_blHjBFaQVyi>v5RwkvnmH%H~waPa}#q`aHz zK;S`qG?i(b(sMADq$Ja(H68%aH^^SW%|PG*A)+F{Nm6(#3r8?lt#Ao{=`^{vW;Pf@ z1ll>3|4SXS?Mf%d7EaUEj|K#WA642m1zgk-gRzp=kEisU(odXV@;NUJen%4&nhi&& zN7Egjtk>JsE8@X$IKiJqs*LkJf#V%cezt5zdNOTkwMTLH_xJhwvrzEyGGr$tFTF00 zv>ZuQ$TYo!Xehg@%Xs(YCNUfU+eJYf@;w;vGn0@^@zfr?=bmZ zU%ka~)R3p=wVoYX4oR$qJoJ}t@2~R#P)pYEJqiNCP4eZ3+rFaLf84eaLT~6`xdHJ< zp(G|VQ$HpZ0nO+4CJcPYK1g@DrOaKTY9Dy&FP4NA7&Ed(4GvvE!+<#61lSXYe{D1d zkiC$R>wut6lftY<05qh?kbMT*8fBtZ0&s6j2^?AB@iYJtP6lqXWsHtH_fTyD|HiMl3 z%AK+4$^k_XDDnws_)#mO(e-*q@Dmq*1nL*0Cf{pad{d^ajlvmKg->5AvYf0Y}NM+7X5G7Q5k88TzhQuA3$@l=4gIK`>b zS&T8pF`B|K>Pxotln8$Gk3A09Wg$X!lXN@k>B;ErEWO?fN;O#i!L}_ljx(f~cc1zt zge`smn*ck*?skC*Q1cyXAKcxN&|GbkftE{v3nkKyfth&NR<@zo1Z-~ zp@$wB!82mB+do%pNJA}~b0QOCcqQ(1&(9A~%RDbz`d4c@C(<{2lYf6paF3=;AmXa6 zGDZ_rJIHZ2fqNaVvW?RKi+*deS(8CWhdoS=FIZ%C*Q#)fgN&pbB7f^lXHC!XGC*Tc zualyWwF`WHbVr1L2JM8iZv(z=y&kXD^1;1)CsH%MRmWo}q3 z{_Sb*e?@UsI6qInzHWe1tBKm$c=*`>>7B?^#WqoHDDf; z2tUOKNTU?cwNywjEtQ(C5#qI5yQwO{5g!h27bKK(J5iO2rW~x`BMo}@+;K09-3qQt7ahd#~hG4LMLEpPpueLS7D*_w~> z?i{3>hEDCoqUK8yyC*qY40WMlR1)Ocp9>p|2cq?fp?1;6{f#S<%|Q|q)1ppc((im8 zxN6$KR<^S<2QVL4J<3Zjt;O3S8@)CzApY(kPrBpf>-A@#eSKc!qEhLo1S*EPZt>-Y?tF-u`VYgTOt zL5yCj*{?FNBi#)eO{-=+<1@}E&d5c+OS8Ff6ulq)C*msMm^dUfyex&Q3;or4TBaUW zMVm0P5wgHCa(O%uWelEvCz{;RkkRw z6dMB&kid}C`u?lJFtEpg42h_|#9?0Mka9w7-GAIQz=q2U4UFu!JR^XkDyGRLlm*sD zkXx{Vm@uZNUy(~X$Z!AdIv&9Yc+~EFjcV`%kSH`gq-w6NK!T{L5=J_>%W$6XV)Zc|T0k zu-mRzpRf`S8palvQVmi-0_H-Xh+S@2xS&~yAx}~#h!r|~f1;&3^?E5%k zASO8Xp*M?cj8DrAEM91YO`gr-K=}XmkAJt36Pys6;ALfpCq(r9U&hW-+(~rQ6X_)a z%jrAgoJ}k~yw!FWQ%9Z@Mi%`<);#Kb_xZ`J*X)3v2Y%INzXL-i!PI_%;e0S9z1j}s z9QE!`AYyvgc?}>x_5rmHwt7C2xd{ScXmurE_KChS$Ae56`<6 z>8Vk<&_$A_j$L;aw^p!cQrPs@OXqC`t0&a6X=XxICX3t&Yma-}-DexxO}6?EGat#f0^<%}kQZ1ZHiEj z)^ux3&#QA1t$_Dvgaru^K%M##2GkfRNKk4~JQNcq>ShHZ<*y6t42A{40;wHuE8*YR zVrPWt+Bub(T}liw83E9X(#%EiKL5)YaXc!&0WWnDS6&rLvtX59a*uZ}*VpQ_q6-fGRsyu0(R*SAJoY6- zRQjdRt5f!{qVi3BnaAoyh>$7*T4M{TB5|aHZvDVx!-6rMLV|;*qey(>hAu{u%Z)HN z(V8v3l`C~T-5Re_xhYw?MdR1)p<{nNh-7fn0}uAWRoNZ+R>Y6p8p3*6@x625yJ&tt!epqF!)R1!v{?lCftH?i zRj0d4e?EhdD3KhpPQ?Y=gr4)KtR72r7oFK&(=?Vw?XK%=@;Z=q8emg5m!m$@c*&C7 zIRMtW(}iwg&;p3S${x8xKUvJ%lc22Pe+Ju%73eiUhu@d!ldWln-vF_{uj|t7uT_f#eS=R~cjm&@V zl@TNmOZyMkKXR+|1c5i`e};+x`4J3oU$=wVB>eohoyQIa&dAjz+aJt2AJBInDI=CB zoIY>>(oORPIGngwP7WX$z?#zmA~kmK$WsxhGf zbK^>II9$7%_;fVprl;`jx6Ws2 zSay=z{UGbsoRR7MMK$?o?uZ*P`R5+74&jN&dEV98dI5d^4pd>wG1DUll zY9DPhS)Z#})Z*KEL~)PZlG=K-@hvBQ`{!8temjTtspOn+ouTor(cmCx*ZJ4Ix!`0u zQL3qD%(c=xefeLt6Iv8RpYME%-e9^^%>iJY{I8?@Ug`(mHz}|8Zrn^;y}Gnt3EXmS z`O41_AI_`CLJycZ3A0$ChX|Lsj&p|fCd5MOqpzQ2Z)i_AOv?*8_;UksM`CcjRBCOt z;Ma*n6UpsZ$VlH!0@<-00Eur~SN4P;Oso$)81$ zE})f7F*(-qf3A`sP>wootA2)+b6};?AW7I1a3%(~&_{Hfy$nEWfAj9--tf zPVdE7T2a=kQ-{-i)yk9H;#E+Fz{$ei>bG24HtVd{Oczyme1#k(r5BG3-3LhF+S;4h}Er>Bp1 zjS?y46w7IM#nIZjp6P5P*3q(#F$M8~j+82c>+2tfpMKpZCL=1jjmqek0MaL}C0bWY z|DQ~C1WoSbYT$Ygjs#mD1AHjvsh)AzHj^K<(P_P)n0<-3hHOpf`fW|7NkoHDo9`40 z;Wi%!fM4U?WlJln`J?#wpJ|N{8JXgPM5>6gR{uwceUg7coKmviHH+{8+aWgiPVJQK zeM|qhq7NicV{AUHZPgD4r5Usk{X~C#>Z@M+{oY|ebAjinW|3~U?VFWT1fuaaTD1QI zK1Jvsk^c`wqtwJ2G_kYqi z@qMp5b>|-b%zEl9r=w3)+pp;1q2b>zDrqGbbSGYB>;K^o%zs{iA2}%;s9z9CR{d7% z{pavUPKJm#HwiKHXO$Lmh9SoW_v-Ri+>dw7A`bift5YaOLpfT*bwKbyj@L7X+x1UZ zIUhvpK`HE>lwpOICZE8JU%SZ!$BZqQ+Vk!am{xmh9}YJmNPk zDqUTYtE;R0LXeR;B5QEaU0k4`sR)S_jFxFj2how6her@l`NJs3{?^NRsNCC!D%4Un0hSbbNHlp2BQlGNqnQ+$NPR64Py** z0%M?osRpY<)+)}h9QQqGd;zP{u~}kSG_w80T0@`#SF<-h$K%NU>3Z^WLaa|TeF;ji z^Ir^6;zu}5DJgD`*IOk(OQQLWVg(ep1b1dXA!AAin#^|ck-Cx@D)6zS4ezM&*l!0R zVdyH*tKnQ*twIKL>>$1+uol}5ohR2c|l$FUlZugG2t2k77{ca`&-=(^^1RX$daxVv>8j}t+&)i4pnSTo{pS)&F zogOa8CYqj@H+SGT&d<*&d`YXQxkrU~PJw(mZ#|Jw+8b$K-&$S8vN05tn(8-DIuuTO zb#+OU_seNPNYVtUw;umD6)Sye0AZ z4wL}!Y3xNweomtHbC6@pGk^s9t8n)J{M%*!w<>!P!Z`v!Nzg^zhtuR>I6z!ASS?}T zvusl}h7gqi0|n*dc}@py)QDJx!f;H%!bxgxVg6RvqThw=KQ)TTs#y>WyQP1qA>dFJ>k(h~O(Cqu}1Av97 zimuCl0GOJLUdy>5%8KLpN&r;F0pDXW(+m$hYKiOk9!zwht;$@qNvf;IRR_YNMj*v) z6w75O-(J|U2#Vs|pyT1m0nQ}~?BQKmi}>$AOAB@EFd%`l^4RGKV&0+QrRL^#@u|7F zsa9(+pqc|h+Cc3GDk`e!{9wdg;a4E`>%g=n?~Er3s#dEFaXDF(2i$svmR06smSlmn z(bAxi51)o|?NvVU&(;Hn%36M_{)2R1D}77-(tNT+TFcXsmX@l?4Vu&u?cw8`~m;& znTyS!Ax~!fMX8*?w$Q!nT>{|S z*Vck4Ic$CSzm+L}`^E3hs#@Xx*TqD{jksLNMdOc)69L1;3W4o5hKvdI^R4ehhR0i321UG${t1Ef8R<2l5v& zGBC+Tj^~b8<9pg1tZIa9ETeq%(u&KP)=Ut12xFH6;8`*7nt~%<<0~L8u4WECs=Zy$)Q@ zCF<;YLV`es*I?n532>xeuX4yNyVp8nS`yB(l2?}~Jj-jnmGWBdA#r#L(x~d9&7cZq z34P~m4KR7*3fzdtr+C7;Wx_pAjmUqx%JnI-w-hcQQI`ahK_3hiNhw~oB72#AQL zjE-U4{tbndwEG|kb*$j-iy`4gjYcb~&fB+F5^VCDW2UaDQ&%VS1-3ApG~3&wEd%Jl zev1>{0`vPbZ720p{NA*+C1ga-&wfFXSZDKoenQl-J-w*ffpOx5{ZFvUX~|T2E7b)B zvEhGeMfxMGzG(^p6PhA5-ja7_Ij7(v$LB^`vNp3Qfvvlcv+MnL3Bc&sP~)zK{KNAj ztg%Aw8-K(3R6KxRy}G`~%wG(u3@{!|`N1tXSpf8ts>lv%8byOr#xrrtv0wBk5#-I- z{NdN-I2(#WpKg1KnAe!xt#_r~cERa|K7RU2`$hZwWZ;+po9(eZ)xNCnoSvT^dzB{F zD;~Adb;9>$^}Q^#bcKzKCe3fGDTdhO%tm zU+fUY3Ce)m^UWzuAqzEi3eYw|uPQjyeAbGMLC9t};G`Z4&uK4X@v}J-;BYLDr!9)5 z)T+>joOkl(tW8sy0W}Z-nDj}cM&00rSY02LRaEFl$=`p{sua_=y=G3kT4nbG*F5nT z>rT|tSiRI%=VQc)OZfTDNZU?s4Q6g1@|fL1<2Q$;U+xtAmp6)klO3pLio;+QD~&|f zE3L`r@bdxGN<|~dyX$_xmRVTU{`c;90%sH_x<|fAQ6hi&dGe4siVQCyl>5WF$OWkz zf@F-BdP<%?@xbc&aQy71GIO3V$}*V*RQ&WNT?pHfC*#;P8)by~*E%D*qxlY42JOb6 zVQF!DCLjPHjLSY&fQU0z66dhHcsr`fYO)ARfdUtPwEoIihKhMQoJhFY%ZIE71+6c) z>Z4Kb@p;YVnWz`Kr&x&*DlS&5P1S;;z+5X5|API zX0g8Qp)sm7FS!)GQZgwDG=)h=L=L*J<)lAkWQID&ObR>`z5*ptz}$`GrW=y~@RoDE z`018F5j0KVFgp!>Bh-zsyd}}ur#dS}{5`hqY|9H(hpGAFPS4PTa}WO(wdf#Ft~J^^ zxbuSeL!g=;O7$*CmzOy znS#-JOGC=A99j3Y=fI`Kh)%EqTb^r$W53`bnSuL*|p}NDH7+|a2gZ>;|J10D9at6-3Di3VjDs;58g&F7#S`GapF=N*B5Uq6Udgwfvh+TI`5ySlsNcJO-+hNz*5(_w$b zid*+2b&@*wfA=zVbf6iPb5J4EhjDOq0ZR1PHqJV(Pt)rbk@qmykzu^~o>c9?xQ4Sj z7Zv7h^a!#fNxTC}5`%ZSb1jD0`M4r#T)sA?^^!lDS<8irf(0GV;DKn~z`*b7j)G!2E(L;3SB-@20a@m-tMfHb-OS(<7TkFp#{_8NkmarGuQdC@*hn=wG?b>7(lG=-T* zeZyU8%>V{z)Ie>dJYPD?OVIVvC#LHQZ?0+qUlmnOU9LlNbvhI#=8$GyC$m8X(Fs+a z97|inKk)tlv58=KL-S>7Ne{i$25!@zmzyfucY*L+&e<~8da~9ZtQjLDj)J_`7$=_B zeOW_HjD1{B665Kzyeeai_%~YmS%|hQ3@W}**Ld#a>K41Yf}eN^P??t+Rcdm*=$Oe- zsir{TvFYzgM_n9)HWCtzKaF>C0YL)6DUuC$$k(7C0e?LqCl&{VTEuf7mzt3>F}sy@ z>Lsgw5u^B))ti4=}H`9#97h=CaUZfqf5!TPIuDWl85Ggpv7^W#Xn|l z`KPrZsvI&2sBi=pX}k4x7-SJYQ>*iJ{<=Z3#tiVh=X;X44h+}J1czpmHs|93M3JKi zO>AV?>jC1hl}2mKy5;0+1+E|Jo$@sfbHRdRfmT3{IF8iqyv7-s&!pzV%7PGynm~x& z56DBHF(QfVyBi&gE||3lk5=zRH^52>+P|P0;p+yf4fmSxa(eqCaq5Y<+sRvLJ{x=E zev(|lVbG8Qd=*6#?L{adtNv=49M*+r%+yx3#d61&k7OR`Tpo@Nn?9@7U_97bEnGahwxROgs>(2|Dt&41yxC4EK3v@EU6;>`HBpYeoOtg2-d0*oLQiOzvH5x z*XmakowU@0&0ymj8NY@~3rHy!J3Bu;RPV)BI2WD;R0aB+y3#@5E%u{|_;cO5tjZ0i zmTz_*G$JPSY;8w+GcLbzv_)vw?B8BgVv67j@jm^A??R5M&CeC?KzAVQVN)d;+X#RA z4MxdHmD8+}iZ4LRUyGD9Mi3VTja`o1{gIU6MHd7H(LFTcz?YbwK5={yS7l7(zRw>z zg_vJ_Yo=XRh6h1A!N!_KRZzu8WV51}do(aTmWs3kNnmZMZPFqCoW(;{IH1dYYH^d!0eh!o*W7X|C695wp-c|*RZ8t* z`RJViJ5>uDO2-^8g)wW2BR?OgN`)f1751~?>!eve!sMxp);OEM|2YpTQK9GWwy(dI znt1F_En_L8#1HAx#f?)L*_7zp;3YA*n&dIHT!|+lNAFb!Qh(*&q;O1DG|>_jXYuN2 zwe((f6nTDeTrizvfWQWi^!wL=FNpjTZYyPQW9M{P`6W}BVzErKn)uk&iT?Qst`s!d z_ILi2ieHUtP%-9EUX&3Niu){U7?xSU5fsUxPMTW9?9{h@hWT|2mv4Wo=O8hJdyvA4 zWht-Z296@Mgg%sc{L{OPc(iKKq6Ur-nD(`&#>#THVlOWV2 z(Q*B!QWs+>L9b-vwfBTJ)?+lkfZq5+sDV>nHPh@ertMQlQ5pYwjE(y}_lVmU6>ag| zWHAY2Z|)~$QzegxPv;Y^xj01x?s1aL=cfrrcI<8f*CV|5QT1?9sezXh@9wT2lmOvp!+ugXNBpJ80qL&9kwiF_BDR|#6;{Hs=tE^{^vlt+<=I7Ji z5v-Imv&++ZcAiz^)&0&tT6g=rx<^VYHwRzvY*|g*!>`48#-10qcM;9q+QbAzZ&a6y z)uDb8Lu?u)_l!nRMfjn#xlwG6n*P0X6ur^9V`ZtkidEVf1ibo$<6??7z;#bAzsXlu zFkN*Hl?o7k`DmNsJop3g2YI!)`|`1xW=pPtAmnfDvg=-mFIb=MAr_ZE5`u?Ps)DNh zW`hjE$&tdN!s0l?2?b8t(?LVIe6LHa_WqY=x%evb*K5XhRSpP#Ws*A{?4y?4h34wN z$DOh)X~$sxoC;WQ^Z(Sb^&lWpSQN-eam+FxrKx0Cb?-<>K5`6D3rV~Ee87&2p@)qIz>$1@HvFlm{MYHgpJ>9D?SqM`4cepu|KZ{HvsTdbvIZo+@o+~iQK!&X(d?v&<$zfh3!=}c?) z<^V~(dnI6NAIwJ-mA%<_($^isIL4uLwgYR%>6nFLXLO&)vPScKu?eK(eR2FQvx~6FcKM*PDV<)38xOSR3Czch8`xlYngF6 z5Fs)Fb`17&&FQgRBL@RNOINI8>0+bY-jr}GD_R8}R^7cdU^RtH?ZXwyb*B+^B6_0K<`Bw zDvHxC2z22>{Jfi%oy~CB*KRP26s`qh{DZ)mgv+j*ELUrtNYT~8B4W;;uObTaP`%9s z8K{nEtiM;)X>FrlR0&Wv$asO3Iqt~ z|8oPgYo`E{ha_$Q<|@GK0QLQ}XsyjvNrG5cmK8s98iRx6sAPzQ&=On;y4Dm2aU&fr&$$=Tc#0(Y1j(igFEIg2XM7ll>H z@H@IB7kIr%WOv*{LO_PkGuQQ!kH()bI$hbJ4LfClp9n!dF0(K2xB>cezwqkeyg{Uw zROxhREW={pV_=BAdG(A%268Qf+S7(K<0i)A*5cM`eZw*-}eLO zH_BlRyb%jCY1~F*Je_+fY$H7U1jT52I-Uq+eCSW5>baiNi3ye?z3eH}?1w}eB7yu@ zGv1B*uWZHCpU2E7?|7k-kM|n)K`db4QG%UkAbk6kQZ8>)!%r`F^2b~YU~)P}rc@q`u}$U!wM8w$LU)_fp8MHNw29J- zb7dq-#~jwBCgZr~!;{y0@Z6ehHkC;P%zC6<1)S1+)$uR${zYF>rVdz2rn|wt%_p*S z&F)S}g85L0`GP|1R)jN9iTQ+dVm$m@M7CyQjiyq{4t zIxML8UoI#D6oGJv`8G7p%+u{LU|nN;BrK`h{k+Y zaKEuX8x~)XhP;5&8GLycO46DOgNi3ZlfxCZ?s-l`96PC(k1q7gg{o5p)Q-c`Ubqw$ znkWNBB8L-gXZqeg+e%P*XJEFt5Op(bGgLW}=aeYgC#H#9?Xjk8N{GnF`pRuuGZ2uk zOY%|dn7vm3bE0?*RV)+DruhvYPb8S;G@OPw@t0*)M-0FBmeakq z>yQ=%TJehQGiNZHd;7!omtE@Sm%7N`v!N{^3jB{yfNj^Ws^!juES<#XA}5X;O>+}L zL3^X~Rm?P3z`IO3vDhk;1c*YVW53sj*~V49h)u`vw+0$bKwMRA{#Zj@_l@OoJ?u4V zgJ;nC6$AvbK9fb`)VSg_8qlt6bis67^j`mR1_shsBg5OL$7|)hr^_9>Rr?h{CB|c& z@mzta0-1ZD{0Wne&f?whT7BnpT)Zw$XQsy?j5n8RhdGxqzv zbv%Zb@H(54x5S6uv)uP?kci$xq`&^(!zb`9@3xQhiWqKAQTpg3MvFqMwrAB!fl~$Okz!{d3aFEy*@w^?+HW?BcmdYPE{8m z=8{I^@^oATNIPAMrz&p<@E;au+WuhBU@aG;INh<;{8ssd|#0Q zBFUb8UY}H6J#I@)C)d3ysMdMh2xt^KLts!&25k;L9fA@Sel%OJxD9c~0oSU$>zX%- z9M`#4ORbLgt}#CMk1*euzbS2eL^4Rb6iqPtWJRZVzoR zhH;{REVfq$^*vJZD&kZ1--@ruP+UZxs=Y__SiUE&+mq?!0RT3lLhK$T@M`o?KS(g` z5^T8tHf@x6*!TU}rB!bm>S&=URaP#}Gh}7&dp_^DBfr(yKSIMFXz-ixgL4+>^SNn5 zI10~_T%VAeB}g|hW&xj6t~g~k7RD#Hp=VgVQ=vS1A8=Sv4dW0DRQ^7$F(RvZ`jjVB zzWCu;4ZN9tJGyr58bJnzM3eC+9jV<__b%q8VQi70KeZPI;`NdkI=pV1-N#w3(mQTx z@N)Q`&H2z__zEn~3Pw zIavpt8)R8#Ba~{w9C|->E>9NJVLL`o1C@mIcAk}4O3I4>oB`*j)LA21{2-jZani%? z?cMJ>1^YRkAp^OieIp&u7c~z{U#sPjDh*I=XQ^qJd+t+tgmM7xI<#gI$%N4_lkp5z zTZo69<;iSb$tt#G^lnajRaF$st>`PT`1s^6q3PlV>y+)~7Z<8$*48>o1Wo_hcXtDF z@{_?KL3&sBmQ&cX3=+5DPaHxG0MU`u61EAs`C$_*Y=6(ecf>f!Ox46vMjT6@ykyN98K?o}9B)3w>PKf(B>fonV0}ynp!kc00McizI7m?`UOly5ruT;iKkkb35BAO4SzL(ihH$q}&hdw(jnSLq^_h-Mqb_sHlrEsr!`~ zYM}sx*Nc7bK6om^s%WjcL zwSy-Do9&j6L)j__xN8D`iZDEgqp}_&20v+iGbuBljCD#i(jdP~q&nQ4P+|tunanZD zhnH)nJYg$>Wny%6x>G+{xMQzP|Iii&-oqwc-yfrlZE5==K8$WX&k@k9CPaF!-43Jk z;||e^IX`e#m6tvtC4_;UpvUe#7L>Aa!F}qHK60kVX8GUSB0l&{>gETvp#;FN3(OHR zp1<1tM9cA65Ptf85df&ZGJ*&g>ErU`R=Nv~a+-JlkE*i{i=tuFJ}DsGQcEe_9ZQ!; zOLt3mce9j)fOMyT64Kq>jdXW+f8%q``@HA-Ph~H>uGyX0nfrH#_(kVr)F6p3)44wx zV#K$q69LchD7&^oBD?x%`K_E!v3O@mS$>%^U67dkMcbwzTLYuuHsBA+JDtz>eWy5> zAPQ`D(l6yppmW@>iQewmf)L{%K3k?>8%gWGH;HVV>7nVjBLwi^#8S5{%b zZdD_BbyT#Vg2R%7An@#V%`d6Laa|dR{32Dtsx}|UY!(00BqS1=)WNELvD63blOgXf0xe`s-=qeb zo0&5B$7w(mzA?LBI%OhyNXuIu-ZH=R=eycyBZ=rVI{yI6ts%j>!5zVeo|#Zxh~lE2 z**|Q5U54?SFPnp^I^&{fN1iWrvwJu^g>N1&`i|n)RY<~Li(Coz>ug}tuS6{`>^-}B zTJ?>W;Qz$6-XYOWZ9lY5z7OEx{*3|x_EyYq?rR2YEw3v;M}mMTa5lXc!&^Kun133i zXWC?L7vzB8om*Z4Evd-&Jq@V;y|>N8RBiwz*Zb7!Bc^CIU{0XL*|q_=2=E>?5n3cq(N z8Ap<>&sm&74kP{jIcg{@p)tnBX+yEB{M#mn1O&ZY7zomxXH07E{d%<@y`Rn@96o>W zukP`u8d_XZ)(+kLAxZ8Ng^5TO>Iwj7Dkrow4vWs!nG`KdUG z_fTGjZ639qn{NY=1$Hys1OS~qq2*WU}OjZ;mV{V6|@-V0Cd2%$EHy$XEK#YL1qs2P)otJ=*oaW=g zg9hff7f{G{?*k(7B29!-?ZpMH10M0P1vfo3c;f3UIw-KFkz4xvwAJs(Rs{FD(zJw! zS@KbuDh?1G`AE?nrjZ^exZvD3D+ZfHf+TgQ)QHfqO{EVMO&T`kn)p)Gb_CE99*3aR zPKXdyY@=?pgT#5096AEYhOPXU+w;liVs3I;Dlmib+;hDF=|+NjN5=@_z84@rOwfZT zndAMnLIXb8pqSUzi}(;R!6qBs|NZ!SRd;+i1A%js9rz)uStVPhiOb6 zdzJt~&SJ*7lVT!c)C$A|c9`T>+%_lDTV$oD#f;m0-BA|}7rcOP0146IMVl2gu+;vk zRa4Lw%5+4Dih!aQirGe)Ns$ti%`Ekb^pf*Tb4ARPOoPTC$8H1tbzpdS=Q%E8-!gV} zWE3pR?lhF=7yUncZ0@v-zFlz43kb%FW4;L>CZpk<>OE{Q+3_Jm_xp5(fw1o1VGcE! zD7!|y-wz>%xmYG6*S8VY>^C2Gu7R%_FXiJPHO1lBqSPJ3luBhs#|TFA;xP*0LQI^p zeS*rd-MgNpN|?(&79l*~yi}3A79+jtd}9M^k`23mC$==umHQ4ss^5yJLZkO;FXcLq z_{G4<(1ncjrdWR3P7fiUl84KE<@T#8w@}&T(~k- z?JscSQn?Bok0w_?_n2$SyR}CvvZ^oO+0oySwXlU5{eWcRe&9fXM(rX+LHIElT0$Ic zo{xo|7?L!Bq9q^Gs3>O2L9!c`=UXE(rGmFlS6;Pd;yNLj%LakAH)(U=6q0NlT~V!%uBXnbYVd~NQj#Mit}TcV>!;;AdaVOPVC(s_eiI0$y| zsz6lHguAk$(k?wmioSDlHDCL(e~ZkhvYy*2ma0xnQKIgGM^*0ljU(Rql;)|RjOk7x)##Woimgldp9tY}5O)U=(`)lVE5c~Ro|*OU zQy234fmx}$OvaxYE|+#~HRp>wA4b@sB~%|THLMh9k2{{f z;+v>A(|o7t^v`aGG7GZUZ=n10{-2LiF%H~aA1y?`{2g9I-D!n7X3P&R4Y(3yn6uQ& z%=#3~g^Mqhlwn3L7DYCF4v|p4Rp(?X6FC~Wh`kYWJ0Zbv=i|SRKhiw}YCPiw3<^Va z3E#y@1M7S0&Y_@vn;$5Y)+BfVpM=TCX;t;4O2ozz6$^fLQYfw?t^rGp&{LCizSVUa zxnZ-NHAvqOC(ZxCZP%FX>I?ULm-LMHeN<$ps!^(KrnT^R(C9E5OKV;vBqgYL0SCeU z>_BGM~f62Q=+eAua!y&ephAC!FWf6b9nWC^SBR4p`Fg}jZ@G3!r5yX;s{7}l5 zG_7U%zb9{?|8e8dR|8BMcHoCSY;(rAe<}6*;_lIL&#}t#poA#zuHdX1H{Nw`)<^5^;e?po#vqHL^De%*amEvJri8btZWXD-mQg zG+}j%_Nm$TDJi_^S@ifF!;pl*{30_YVW`@T^CXUmc2AM9swy;xRMOpmFwem~;_cyK zhJ{XQvh2_z>rC5(kVz?xR$9C+rRQ>V^jrqKIB$*?BGHKF75*A_5|g2@{GfgTX##Iplkpw7 zG@4{PsH2#WLu@=kD)C=F5Hz4kN&ZixDLcs^eO|5W-gq3~zND_DQzQG?-xp!41FnYN z{V0`D|B(mbUc12&zMwE)aZInJ;CMU$e2E0b4SS#uXouINEQ*Nbv*eCCg_0mINxs0@ zaGuF(c>yVskIDiOKx+(%MQjk$X@GhSTWiRGNL{VEX*LnGs})gPsHgRRC9DZiC?Bkc z?dfS1twv|0f`UTn*QCS@37`oS<5xhdWnc6$P{sU~>yiavIdMP@c=~Fam42wN({tl> zwe7JMc?b!=OD^EkMN&X|`?gTG$yNF_DmZbiqrJtr|eo#C4L!v{xCG)aM-x^)txwum;D z-QTk2&qbpdv~+Zh)AGzSnyGoOa@?yAP|ZOrFzvw*mgE#CVJMALLvmqhX=xy|V)Ygs zeRl-pL}RG@)SH(zu z?*ut5=aZ$^-vHwc$j1Pld$>84LdIjrR-%L`0V4qBk2gGjYHdol>dYrTf84rV9m@xD zA&w7Rz_zrIT(Ujd{mfY&0828yjAhCh_oj=Ih0;V4nUc({{?g?yQ7($sF{sAI$L>ZW zPspMY6@}p)BhO!7&vEp<1MW*u6;NfqKZz}BswXk&7BJW{J%vCJE-|;bBd_5nn5ZJ0 zc1H_XuGIcPnsDgZoVa4SyMMVP_R)l-UD;YUB zR7S0)5ixl8xL}<(nHd-okX*>HXWF0AWG}N}J;uY+Nax8E+M+P6y@WH5$B%z?m5ue5 zf?)Qa&Tt7Z)zL%k-Pr}a$UaVNA${#unf{a}4i84dN&T~T461+))c z?=NQndUAc+syyKB?-j2kcY>e|6Vy(&*|x^zQse~#RU1#gr;8L;y&;$n^<*c;>J0kw z>UtiuH5Q9{>0o^y&J53rt`Y#Vm9b}nyw?OjNy~Nkb1gfKW#r~rO!X#o+Ld}e>{AE- zJ{!L^rL zlq1V~gY|6;BK}E`?_HAq&V6Q*p3aj}IJp!HN!xo)9|ftLAq#Mq zliGUlL?oz_F(=;Y2D6VaqRWcjd%-XToubae4T`jOgCzRGx?tvU)%7GYQnrCaAo36B z251YuZv2Z`zg2ml<%AGBp5afwNrhEXG>1vQG+b}Ao7Ae$Z3|F{zCS!Tb;185HWrH2 zdZQb8ukp|p<09x`oD2#w-sDC)xNf**zw+LFKxl|2ipX{IEBEE2<$Xf{5zveMDi!~F zN?3{T9?t}MdnCtf$viwf90wDVTvia0;_Ks!g@lZ3SiWWpGLnxkdaHwx0DB%ZhrNA< zgW10_M#%Y;LUvkcPSppH1%@OsR6?$N>3F6MqW2n^u8Leha}Ag6Jd@ryz#?QGYptV= z)57d}AMQ;s6mW8mNZ@I^dwA{F{4ux_R_pAt=2K&1+dY+wU61*2NJu*N5fCj{IgM%P z8rS0AF!B8X;o!8}ERD_4gok@`y!P~S!cYZxQ<8%B_KNk}Lh5E08`^03{`N-)v5NY1Tbx#Bg2#_?)2sL zeg4sR?H4)wWH{CU&;0`Yy%Fx!d?0c%Sw`AgMEYd}*tE{gS9r7ERcwCzr=~|a%)}^5Z72tjSt$f7jVC3_1Z^m&QKUVBvt!%ki$atA{!r^_3xQ+ps z@|pia9uCKDMM5rbI9(143e??Aphv6$z5IQ}WeF{-Qnv)m;;_jYG!#GKg3~+NBkavb zz+m^LH2^$3EYD7*D$;qzYywl00tw-FIe8yU2?htQGRxqQ;8GQuT!2OQ;1^(}1CkN1H&*>I~E2BpSkGRILgyEX(cp2@BlLc!sr6d zLY&s~VO0d@AC6i<>^mGcp_#&dPl8z+8?{O{H^M94myFZ-(qgIS$75_NzSmo&`@0@a z7PDof-A#9Wq?fco4)sBHfr2ew z$h}eS>#P?(*#dhY&opot?=Nc?PjNg@#x@Cg=k{3^1%p<6Zf#&Nb(+3#3V^pU4@MN! z$XbwJA0k1DI=_{d?DnbL3$oa_q7>2n{gMziY66 z$JG<^0+8ku#B0nLeJn3j?P~KlAu~mRsN~;JYOhbo%;)3R;t{KrK`j~20OIYNdPWD+ zJg`13XXtjvGo^p@N)EHpXp?XL{*JwAWrG#=_{0X`Shy;aB|$)}NpUbj^r2r%_w z*>F<-@=nXnQF)f(wDEMM$rMd;?pMbAaVFEX%B-B_VdZ}yh5t9o9gm~@ zf$XN!MzM#!8Y^{Vf?x!+Co*3tuopDt0`0azD5f;ZbFTgyrEcCGgg|b8_nj@CscM$o zq|S6WN=Sbn4%=1Vg6tLs8G0Zs?CH)#7FKm7KEhE*w8z#IiH!JFIZ&CiV< zA~FRsKXpCc6ai22PG8m)!K?vHyd(qpbyB|<#(c&^>da8KyN@z*GKoS^@vG*pD$sZs zAN_xbV_k26zX`+&jXfsr!Yy@y26@N}$x>n1fCl;sJtkm9C?UNY)XXp{W}(m?B6Qv@ zA{#6Z+(cRq!q?wz(3_JL^>A5H1jbY8G8}hG!+8m@F3~4Nx(M9d#ZTvX;l~kin6q^F zL>0Zon1P0U6T#R|?ADvYrlQB5x=Z4GFsuMaE#u30({9wd8H}{64E8$IsAA?Uy^K?kFBqd_}rC>`758p7WD z2wdchk;H~7eeOepAc}GysZK^VCfp|vubY`LndEVTIhTguW@(0ZaQ^TpG^>7DbHFquf z2Z8G_+^9@gm^&@h>)qwn3ClY|#^v{57iOWn6jzWSA4pHvB%r9;al0-nE-^M^3}1(3 zcL!jGQIX{psV}a>sz`mVpnvLA21=iWvw1K3L$c3Jf~ZMRxG9C1kGhkfxG8@z){@)> z;G=zDUqCau^#xSZADY%>7)C<7zucfOP;a{a)x~gQpdNUxAjyuQZDnP|u7dF6E_18> zlp)L$yx{4@dL_!vaYnarES7EhZ*y4faUp`lKAt@MpDN_Z)1(PXw>Tigo!H^~cKv;p zX8n)s`@vFJk#cKs;-r!Ara)$x7&!R2#-%5 zD!4ib8|Kt7M-oK29y7nceHtjvj{)Ao`dKJqLfql_kI?B=j-eum8e)3$O69gFs3d$* zRC+AoE546%4%o;Om}?}b1cN#2qa`FoGf-*qygbMnP!u~KI)8@@ybn%)vn$HSWUvQ~z9CbzAR1OtMJN)c0SX8z%P*nH zY6sN~p-PY=JBFnV@tSq^aZ_E9=U3w6Xv2{ktc0x5nvK%gRO42;H$sERV&t0=-|Zk> zLUZG`@|;1nUiThyc%6)?6uHX%!K+i=5ftU#2{Rg{FmXWrUByD0z-sV@c!0j=Ork@P zyOszlTwJ(iK2X@^yZHZMiJyd_;81kPDJe5r?;q$7rs~Se7=>r{vc|Ive;I62$yp$e z?M{jCxudP;i>%@kAC37qeD#)x?nB&a$FJzo6*qx9g~Jr(^w1+KEC?VaBc)6{`;;5g zmy1(|DvbE{A|CUzJK1_Wv|l?0*Mp@sa=qygUP|rG*slGz4&STtH8}*2x9_ac(2;X9 zz=MqzQ<8eb$};scJ0nCMiybH_tH~)IA9tvYN(gUk;gW=fqPWy0?UOZ-EU`8u z5MzjkoxysbB%08~se4hQK&ma~hAlQApw16$vAA?rR8Hb~(b_KJ0psO!mw0@KCZ-&l zA*B+27Zh>VhujyJ#$A>KptY3vFP zeVLy=+hdaHP)cA>*bw&SXF@yInlxh9E8(~r54FgzBu0IzJDa8I#7w^vf)#Ab0`P~P z-rm8Hy8&v_sTCh2ju`xX?~4JIn}jdQ*4FHq+8!TThVzNJPS%)*UiG{Z@z<<3*6nW^ z2SXz@Ii;HY>fs4*V@w8^~3P z@W{HaTNd^j+?XJcD6r5>AaJ|nXK|bPT&2Ike>8s3^9WEO{tO^-C$V#Sy5i)o=f2KM zu#d8l80K;qns@MHnp7F8c?q~scG(6 zvGrWP-`%qYT?c=)@sP;`o;HD=?9~C!Xh0wsME=bGS?ngXbIJp?yw~>;u)49*ezkcC z@_pXM*R+E2Rnml0DmM?mRf21JqXbRV*$UAJFO8>9`T`27tia-{M)ujPGrpxfeEQ>OK>8M7KvJ#u%WZ8_7(iLT6zYwwU3;N0;W zLX_*4l>cash&_Qro~PUBx{W(i1D~YZjMb<*G^=B#thYQJAozNu z{NTGITg$9%J9$IGH#qf~7<&}Y8`~)6(>(e{X!x&pH&V-FD`XAzmFLxgR_(8*xEj=@nl- zp0+9R>!D0R@R9EC!%NkV#?$&irA#ocq&+2G$7S0+l>V!ZO)*C2JgT@z4uST&Z^p=W z?u`%Y-I8TTQZBJGy5Nq6e~*3_EK$nqttwx)DsLV3A{tx&c{iFLufUt=ri}EZ^EUTL z)NvymmbTV|-gT5XHjXQ{@-@vH_4I)?`EgBbIt)qs_x#Qk-l=e)Z-aiDZ2bu5ZfisI1;8RDeA#a#SBYjhTgS@>p`06cuGN1Zi zy)Or)%%%u<)_FmUN8|EWQ-H59PM}D=T&qX>Xo=QG5a_lt!JsoHmH6L~qk1V2a;&H{ zc^@;xpT=@g$HeT96FB2(T)T3?vWgCedQsoM0)vQlpaLaJkTB)U{)??A(PeSJcEZQk zMA!b(Gc-aq>yOp!X>{q=6TU0r3wyI5l`c-yTTYl!OqJ0x?EM|yBYzNTzZfrul)FrT z5Eph|DUO3*M|^lgK{7J*w=l*xqwj!fXTMEG@_2X4u4ZMk7up@!U`K*o&Zvm5v!*es z_yMp_lV2z^O*;#cQl5>VufDrMViN{H-hLLEnTq9qih;)x9l|*x_*c1A& zK1kcY+mj+il!x1W>*^b@*}LBdJ1=&hezmTFfqXAqODUj$a3aPt8;eHr=hRq(=pn99 zxnqlEgtvwd=zdg~1yr>RRK6r_laD{B}1gLa+E&8zU2&Z4;qiD8vnr+PVs-gQ6-_C zF%XFm@pl&UVqgrX1m8Xrjk4lnSR{XXQw1;Tx|3oy)C!3e@puZ^#+0_>6P_2|1CF9E z2YwY<={u@74Pv01xRdrw;iGWGw0!h0yfcOe5VSowW|#?azeu*hcopg^D=!XoQ~LKj z37d#B1vfOnmUFK*4THjz!xf%NR-N~jhm5*FPogRiN@A4w+fH}bEn*_DAIs{3i|00k z>l%HLnFh_nd#uJ^O&oo~aY=knXdh1wED6PsDJUIT1UHdfO0cRzDQF}clq&GYvJY)6 zg&u_XU(=|SA6jTDV?ZA&F@#CEfa3)th^U$z>IuVM>(P zaLy&u37P9)-4w25Q@M=)LxS_Z3M={GJg^;)*~9HSdR-f|mGdpxa9&$w=8^jRH2Yb> z&6~(fht4LkP{=p9NnKr_Jn8ka7zjCjWwi~5M$F$#64OIxY#k^!;&u^wm*=BSMKb3$JxP=BJqw(SF#kz1~ z(h&NL@81aN{R+1!`kP;iMyv-@ZWk|oEZk}q_ZdIL9fK4@VC$(z`dtCVhuEX^2zZYm^jSNHyA=PD$5 zKLMDGMHcH9;{@m6!$TMF7GO%nlZf@Cal&Yn^QB<|SuUld47M|MtsaM{-V_mNyUuFp zsuta4=YN?KnLo88iIF`iqd0&8{ry)q_u9Ih9Os?J)FC$uT*Rx0d(XP5tmNLL6$)%G z80n{ww9lSri~#$5*R1-UbEZ$pGR9T`<=QLn2Pk~9r&<>`N1L&PW>NLE(w)H~%_r_w zqL76_5f6y+{Z0tg~(?ImwE@*BQ^BH6gyS$sK_s!U2kL553@I5T>(k~WSSNQzbw^3xJcr6*jp0 zeTjNeAy|`7h&bfAOl5}a`xSmY$MH0&rQN)$)fFrkX+T)vKaE1Qq|G&nC)p? zfO3tXb`AFw z{A8fstp03escrur29iR&K}xm131SY%-~MRB)k9%_MCQM04~h5i5@yur_aRoOy~G~E zcP$;Euy@83hJ+g;M{zHXUhe53YkT#OuPtr%jCGXoAeViK6z(BYOleyLxNC%287^$W z%wMF46Y3w`yz;BiycwLP}o zkK|69|4%UauQg(uY;EW5Aa=Fuh+C0WD=6|Cy-nspZzTg?1fA8aQrtP4J5G$Z%G5m> zJj#x^^+8x0Oh>8xx|1~2cNjI{n93q4L$;N{fVKNZ9%?|954^kPvK8Rzqqh_FPEuM{KCkUurVh!ii`UAilb5GQ4M7qaCvv~7;m-3$eu8~nn}aq>PU zhH6JAtn@rIp;58%hpqf?LZ7yk;8;XN$eSZ%UCA&?)PgcXd3nVb78Y>cz3T^YnNfRJ zBcSyh9d#w7q|jz^y9t`yc`8dv;@M4Mwr`)m80LG5y55jCXaoeDY4GjySc2JqpH*pU zHdqri2Z9PJ0GP?lbTnTHh)|Ri6qf@ZY$@C^(TRE5ZH9nCE6YehJ8ol#2bE~RAVWW`Zo{fI#+W`c9iH_bTo)MUF*<$D{-iq0j)p_qskpL4~)s=)bITC3#b`P zJUoW&gfW0jM-VeO9QOD3kM2U{Jkfy@21W#Ab8Q&oZ^@E$bdV2w zJSB?}=f=hgTjV)n+2^dSLDiz_z|yA+*aV$?LXNTu52Nsh=LII@3(DIv^r z!gBz1G7@Ny`{05A2eU-n5clodH}j`Er0EhDt3g9i2r{Il#sJ|DHX&grw<>BwrL1I3 z8iq~Cuo$|4FgBHJevTNV3Uxp<*db0-492`SO5bAto8R6I{|VN&w8ZVDC>jV+VFkIx z7HOw4+M&Y`xk47mSq6dl`VGf%u&-QsHBq0M$-igETL2VixA{RiA^QQLolHDty^p{{ zX!c6Wu`HQ6K1&z5>JbEZFy~YPXjt+36fF75&%6mdx>RyzV8f)3@*<%%U9N)6>#3Or-f7j zR&^XuuqVIEkvOGP#_(u9qQiHKHdF|Xv-j(>Y~>I1MWL{!5tP1#isI0k_vOj9Bs+u1R{b2i{J{+#qnmxhk*TZ?N=vDBE}bo7w( z$&y6$oF0G5z_uh+26VOSF=69zt+qJzpqLwwaY&hfAoEUtk(3Ob3>10=l-i6>ahRhO zthVnk=JtwN?qSp1`au%_$`F-3uT4wkr0kLJr!-;3L-Nie69z#)DeSceEU@GL^B|xZj-wxW~k} zVb?y@4yoVkbCNq*0FtwRall8xhdms=AQCyiE%1+X8<^4_h%Pm7a9wuqs_Ene%5CC7 z-ep(MV7|n6$C@%2^}e#tk97bpex>~NhWjb8xit4!s*NY#AGrB zmF^zZ+AMwozn{+%i1}?k9v-w;Qc4v`)_YOja^p$Zp@3sQv$IuU`$~8uJ-l9zCO}&F zK}LNXsEZx$c4S0-#}fP3K&}9@?zm|)Uy&J@!V;J*$;KET1VqDdBcPbsLZ)n$}BIDvkaFwd1G-oJzH$bG^)Hg(G) zt5vs{AZZNVtIEA3eeZpEDu3l-^)cJ&kVB11Bi@nMWA%fTpTF(lFuIlHN#sO^mAHk$aO!gObjubb!yT_*f!qd9V|8x>3VF>Y%F=6CH;RFzXv+9o2KngrIInO8*+ea)IJWm5X^8Rm61dQ$2P)n8695#~D0|WACNeJg+ z?eMVD-Ab^w7*UVARVb6^5b3N~85xLgyx2EOp6Tl+{^&keRlqRFi!CC8 zB{C{3A~I|62v~k-0T=KX^AfWH>c`jPy4B=+w<4hIZ&HRC%&a$JQj6b>a<`3+G9Rw@sqj(w0)ntaVyA9bydWU2DaYfoABvm?b}Q`%pN z?Ux;rm&)RVHRxBL6_(-Y;j7nIrc{nNpy=~s%#&Hf)}~BA&dK&r(gd$rhDhl=$#duB z*f04bjJL=2rjlXAbWLFtFZ z4>spVV8~+v{r49qZ-n@ELeW;1d}MU;e##f%v-v)g|F|>oJ_*o_`l&G|S$6n_m{sPZ;-P*2p=10}foPcPzwcqm(+qj~9vb zNkjc~dVRx1Dlvf34e@V{u5%vE;n12%; zqBMPXN7CuiE@NP43QsB!5h`L$ypn=sw+J9Y8LI{C(9kX!9`kVnY4o=!xi;E$la1GD z1kO?`59u6Ji91!5X}_X*1LRt>4P4ck=bdbKuF-@Y?x_gptq*~rKb#F9TH z=|5-H|2DiWNRrL%k)=UE1@&|5rB?s0vIS`?%t#9RnMK*T&Dh4)tWYS@z|;?AV3vwX zSogAqK!pKe{924$oiCPqO`QJq@N8r5aga>d6!GIfxC*3xS8?`eWg%g^FT}`-=R^>p zGuYw#u4>-=pnk)j@adnS!T4Bg_$Y(Ahs1 zYsZOi5}sS^$!%7!q)>^bbGq|YKJ8LNGkA8KIkCYaO{xLCKh|w|7p*q!QY3J0|oIh+FoJ zf}#ZR7B-WyETPZqbBxJ}=@THJr>A#shixpRA>cdNE24Vv?N1dkFQ1Tp}yA}C%4$yVS6q{T*=ECnY7TAi|`S`SU_}6;18Z6<3RD=6R z;O1`SxL;*L)6Y%Km+DzLZ6<}SyPHS#7sMKTpZWe&`ZQG|9qV^Fv5Vk1z~Z?w7Oeke zVPs_b+s&l(lnauKFf(tUuaMUucgIpoQ&&Iax(xRD;9^Dv` zGIchQMU6{+UB4kNXs=$!rj3u8kIC5|w$W8LQ;pYY`jebUdB9NVU-mavdz6tZ?eAC$ zOHGkug!NN~O3`${ZhhZ`+fy*Gg)=I8h->qh z@~nhyMwl8RLueWYROjEyfBKakoL;;eY8}y?7}(jx{^TSl`v`38G_2r^Z$3HX2X{>4 zLt%*YHp8pLc72`pW?9ssqB?u4=RRQ4=)a3lZLyq=q*=>>lU-Oj#{lTIgnldHdi&sX zrgUc{pr=~<$kmi8Gmc&y;Ds^=i{+$a_K^Q4GltvUIM+Q*b0Lm?GkM(8wp~owcjQZ=d?T`kY_& z5BdomC+igz_O1?Yn`w0MgdCQlath|7r8!(f@Dj^*&G$_3Y#y?5BUt5@=H{ra1UJAJ zO`EvO{BNM3!;UJ5+MXl|dXa#DV1(P->${7ZLQ#>~xaO`-e-eU_qwi9y)q*w=^(Bqr zP;7jta+51biv6xnoPC$D+9w|MnhGAr5wH}Yg}kL<9iAg*>}hw#VSb|`h$~s-l0$AR z<3hgVVCoyZY4mjXXLwU$K*yAF>QHdY_+qQ%0l%G|I-|CQTV0UdLRF{*(NuG3av{?# zFB;^r7)=?p%KV{y36@fjb-qX>et8m$JPmbP20Lb!md#S2cYx>W$orc_B9xH<)dOgbws;#doupt}A?+&H?#||| zzCmv@@u!s)x!=bHW;>3iT<(A5zxKQk*!91HcYuOooRJn6QPENx67Hon{(hVPqghJ5 z11!hwA{?LD6eG_FFGNCsuGY_aow^$)rWd3=D(%KmMI9!N&%6Uc=DT-23gc(111S zbWf3jQ|PEqG8$bpakV_0(#b060EP%K?t_CF0v=EGd>&+kqF4E^GN6y*njaeZ(;tKC zTH-kLgvMLNsN)Xjf6$l9*-NsB5a*nJ8!9*5eD3+)JDfI|OiI=c&Eei}f085?LTvzt zi&oqrCRK4s6MSrN(jLuB#_iiF(aB4Ztj}RLk-7+{xw0HGuzQAC#1?~;#5T9=U3vz! z7n;P%$0u3X5fBq##jDf1ppR)mRf(Nkc^CE(1eY4x5En&sPL#1BaW0b zc!%d@j*;QPjdEqw43ff7+u{wdqoX|>CK_g6t&|!RMf)+TWYWN}BeEd_<)d*O6+(p( z(1(eSroG>;2XW@Rq!S@r$9i)Yjr?aKh@-!Ah(`4sL1$;)3=>Y<20oyBRzzcxS;Jl+ zIo_Wd#Tv;!w#&hSU=gv*0b7jLxvP|}v7YyiynE$y#f%eXO~!a|_AU=a*ca;5tRy!& zgv74!!4kCm6o<bZMy-P9rn0nyHCi7{2sE@EMn=4=LaXJ~Wgrum-( z#^o~Q!*S1=W=(n1*g{7w2&g7KrJQg0;!CP#Z#B|>iIk~5M^JoBIr@o@n}zaZFHqk` z08Jj|7<8z6@*%cNohN1o(Y;k6HwP=U(P7p)p{e9c>CRK&_c&% zChrHV!_4NWRAb?K*qYqz0Ihk_V4A54n$(Q8Mym44K7Iy*_Ky_5`f+Z`IR_j=rLs1A zl&g$Mv%us^6qtIXk40B`PhQj(Ww4$TryJZDB495M$4=vV@PifHI{A`a-YSAV^cxy_ zkp~MDxzgsKm@X1WRFctJuZoE-67V5Au}6`veYQyS*Lb=FqV2g9H`FcerOMnj>WFP! zsunGH__vt^8~5rTGDy_CZjNB}e~6$S%+YCV@CbIPeXfakEux{7>x*A z+i?dKh?A%GoYovie{Loy!W=kx(3}59(fHe=lZ^=H+I?zjhQq(!&XX{oyp?h{sumlC>^kxg3m zrzq|{(#af@+q%S6r$PUA`6>Ry7#I9qESV!SdP?7+5V1y9(w88Tsu@GT%)~52ib+}T zLMC&_KsT14?6R`OSq_dKoNqq@J4iVNsE)PPQ_p1QHfx+TZ;Yx^N84($m)AdS45l_N zRY_ztUCQzggV}9ox1+t{r#J*sO*!O##YDdQzLlE7XS4J#AXkNkK8B5~n%O7J08KES z3aSg7IA1PBiLHRSH$(OvlN^R{i@Gv^fA`sTQDF-B;dj!G4T}u3hF1Zs)%dA!jLIjKL92tloa%o;;LDB%xz*a^3`0w&Hn*LTbJ-lyWjov@| zY}7RmR2jS{l(2|Y%l}cU0dYRs|B31{rnqjM!EMp!{-;Y4>saJJ?Sg5IbnJTHUb>e1 z5_{#{nwEE0oKye5|Ib$ULkC=yeboL+aLA0(^5oE;6D({AmEvwWW<`mB2+!e0j+39Q zgVjT2tJM>-bwIbr-5s#jAC++=L)MijauKPbKYji@Wzn@ma!=%dU#K%Bb4VxI(D)=7zeCND;5ot^ zaWG4H^hx$p&R6XX(=5unA{p)SgYL?YBv0l+EwQPbKgV2WIU*P8|4~JGPB7>F$l|#A zjva5}x?(KgLn-`98}!_K9d>ceEn6+;6{$nH^=xN9HtY0UJ4g@wnCvq|H-vK|de3^A zR{>^Uj!H9KcF^Bm+P2sGUbS-7Fa-k(TdZnr?5hdiRu#j(43g?MCgMAa3&Z#GejO6J zI^1w+?xQ$`K34ssD>frwru7~)?df7Q*+6|;@a5~l_j=a$DPS{u8Is0P(kEWFci{<3 zU6emDnMg!?6Z{5^7waahN`jW==mPh%S>_yDWE%=m?O9~22Xc!1acX46pPUb>mjS`= zwQ5}HYb;lijVvYk_JoV;Lx1Fo#%Kl6wp%={#;nf3f@iJ6^6+H85Y3j`y#3Fyu*IBj zx%KD4`BQEEX(DcYw3cjA4rf-~{qZNG!rjut^6s`$QVieaL%p@HCQLdJqAp)`!X~DV zPNub}(OX9S-zi$XT={=kCrtM?Wr;AQSjxjwPPaZm)P*Ide0V)eyOJCw1}fxPr((`n zsw}L)F1D-Ra`Wu7aF1@zt58rlH@ET2y}^;cURTSfb1mS`=~-wHI%hc6B6b`vDPS$f z|4hqTl9EWS3UY)m>gl&ewz}ihT?$6ot=wPXuLc%mxj?Kk9pa`T&c-MzZoods4uXm{s!TgO8K5s#LB zXKlEh6lLlz;ta2`V~96vY>j<5EPfTsn#|_Q!NJ23PC3#oI{``9KkDpAP2>bzjqJcW z_f?>AY(F^Njj-(mbzsJBQzI%ZH8hz-YMzbCf}v;1i6|qMfJTHrL*yG6K4yX@8Cnw? z4MBaQ+Lvb_@%h}YHe8FO1&-+;3|ve}k)xO1M-ma7p`&gN`pW+~#T0um+U>|!NYTC( zx5c-*vy^DC51IVB0xdzH@UL_MQSEHjZ%wzA4D52K;=QU}D5>gbczk%s&IIP8E5Ghh ztbXG>@$O!1zQ^R-T}vN%z)M1a`Yj*6ute$ZL=H_tdYstvVd&I_TvKpSFeD_QJx6s= zbquA&|KJc`e>JgKT~z<-=k7}MXwrxBOc)rc&plvW=uP_ianP*m#}rijmeCjQa^A0ztWtJ;B+1+LbG+;{Yf64{sDs z3E4SH6m+QlOL;`vU*131Q@bCJHd8e|h>$uHQP`S&{gPPQHg(ZAI&s@Hl9SM*jV7uJ zOImo)+zAxbZtyhe4>!lz;?Isv zi^+sR{@hn#{oS!r>qt~Rk&9G~vXV|Xe;K9G)Z7Ptk*jwdH5E6!``ZwLKSyH+f$n;g zP9mU2S8&6}zW-O%S4TzFM_mgDq9EYVT|*DuLrM22-5?;{odeR{Al;n;0@5Yj-H7DS z9n$aU^S<9&-~adCnY(`Hu5->l`|SOow4(C_!urx%k;<)kOT=v&fQQ zS7V}e(n+pz=tlB%@wB)KS^n;>4A^7KzWE}0nSqKbPc?AlrU;k0RD@9uYkF#GYZwOr zpaPzqu8UW6p0VLo4(|M&Y{C!hy$9u&HB;Wni?610uWAE0C?rm^)<5_zD>e;=qv<(?je>Vcej=JHL}-iQ zjY>95AOHvniQZdiHRUnU0%JLvyyes}kgHjAugd`TUg~`CEf9n1-*!vYu0g+RjbUWX zXTb+S^h0mmaVEst?!@6*I7D|gPu_5}3k?|sMY+Y*#$w=i*G#pcc+E(n(3_$q#(xDz zr-R=MAFH#FN`?0_i6C>`7+Qi|d(0M@+?EUm1Hv;nLS7@p$Qb?_;f5P`@MVN~?4n!S zQ=iUZPE(XrmSFJpk%-JQ=s{1;=W+Ch^HgjX4iS+Y0)q4u!ezpe#v84n@^PS)WXi{l z3dF0VM(0Jem({PZZnTug4AVS&+4iT37~t5s{gUC%t0$b1Ep5Cjj=l6B_ROnyU5MZ| z6(PCL<5ZvROV?$BrOywN#^@PaXu|*;r8?zlGi)3w01rc1inYxq#|{A!)!@cO@899~ z$gMb{$9CRy=KwxNj*@$lelzFHvug+wLYqPC68img_IPWus$jU;l4W^N|HLCuX}{%r`v~dg53Z zGvNczJ=p+Ck>k{}91-I_^uKezl3jDK%?N?zQe7CzZI+0iEXeJ_UWv5uMT?m?uZj$n0>MNFCVcw`&~~Gred0A%AbWBhO(IGXCSE!@xQz1n!L>Z#7qCLPbbbZlc3w2N4g+>Vfjx*^V|( z+WrpUXv83}oww4&alQ4>Wg2>+v)hS5JAqF^0&*{_^4?@*LyX7kVk+v0_>eoOm!|v! zgL$ivD$~Pv_!C5=^Ir4m&wTSxtr!cmqcI5p{0)_LP2?>Y0 z3lA4E`=-Qd>0y|J@Rk~F*z01}3*az1p@A_utx{q;(F!^$EJ`HVCyO(pJ^PG%)n~b5 zn-)oJj@4?L9@<-E$Wu{DD~KE(Bm>ZOs{jFHNCT1^z^)2J+bHsTivT%mYV!= zaHFDX|3dQgDe__?emB2dYHDE}YTkRtcX#_utrgQ5z0LdnC78Q`=Lj-b0A3g6ax$Y* zymvr@wm5X4OB+MBM*c`FWhHhw5sNlIF1$+>U$gn}TZkN!T@*bhb1;?5=2-pC^VU|Y zE0RCfgR5L@vh-sN70cyVroih6Eq@Q+E)pN*PNT2QF7Drt^KW8lzVKKsgxa>=8eFb$ zJ{QImLkijRrB#fKsDz%oBQEE>$R{gK%qHOe&gQ>65pH>XgY;jQ|JR?8grL$lX+DgL zz*Xc>ML&)Ig8p+1=b;TT9w+*cK3}=P@5;2B0M~#dz)WCN8Xg-ff@S&oJvlv-I>X%$ zWftL+Rjh$c9lH+kn^mtEtkkWo&k!A&&jl_AJgVPmI~D_x20qKk(3_Z=OwBRtl)`np zW(0ZE&p+YsYt1tSo%4)@S!1X1ap0mZ^3kZ34 zS3-6#5%4vypO5rjzgJVcd$zD`tVZ>x_4lU=x3bi>O&pdnW=Sn=V&zWK{Cb-$WhPau zT9;-yRYBt7m|f3hj*0#8mlu(z0`SlA{^)lC`I*Up!x3X@dyN?C(s7tsI zYWdTPGOG5t;c_R;b+*PIJgp|>oo_ghh3tls&4~aMX}vrIXy%9+9~xGX*3! zbN3ET!)k6n<$7drAwk2|)`%n^vR$t96O*&3E$~Rd z^>=PNbQZH)2h6mVIF`|p)5FMA@#|&47tv0NPgwTkh@P#dH#gF-dmD+fSq)Qa&lOIB zn@e}fu(Pr=2&upT5j$Z8v!4X3>pkQ$bU)Wf7DAAfeF`EA4OfPRV3La#-!~gyrMbA< zO&XySa1qc2uCP^Tea9Qs{?XrZ@f7{x^P8_K}cvL@VawGnarDKJOhW7giC zfq{Xrre+y;FnYB?aki`Z^6|7)(|_fgb^<-d=7(%~{86JKOCB!z7lYZ4WJlV;n~jHv z0oV04mR_x=L8^iCm9K#YiKGSvBSD}HeAu2FcU6eGo)sE_M$N{l#lyNC`TFMbkyuJ> zkL37ecO#|HZ@TDiY2g)Qa>#DLs+aP_V-~95FA+cs_BIWW8SSyGEsNEaY@@1MnWXY*+VAt6-&~5m)j_Ssd zQ;65Ny_hXKvI!~HHS7981z)?ZHMR>&3hC+n-q@josq}+a*&;DPgaR8K5d{Gr9lv*| zatwYUSu_|<*<670Y?{T~wvegw^Oq@F%q|2)Q@b&=49!5Dot_Gm$>D-eS z{&s?Mg!fEe3+? zM>T2#1_BH>sRR>1I=aoHCMQ+mE|&myuQA<`lqW!+2q%WqPJ4jEq;V2YjYOY5;Xdo| z7;}cQ2-5*zSyA^38D)F8pn8H!P$@pEafHIFpDk2FVH{yr#HE$>qw!xwW$Mq}T_)vP z+3rLud^Z_-NFklgm9^etb-^4Vk&~7FpWklawziuin=1anHy!grpA^q$<0umrUTZ|d zmb#LFc?!!64u~aGQyeaN5u7$68Q-nNESy|#<{qECSoOC*4}h^X_v;Zfm}4Jf#!UDj)=- zzYf1RT!4J}QbKmv0)Hff;3Ygn{FVv)zzkRLu%5`%j));P{G)@QM36%Annd{Dxu=C>EOjk^GE zxTFl-w`V(yMs}6NTCG2)9WZlpawZiz)nV0UuK5&)=H;ifhA`$Sr1Dw3i6#*WFI9Pp zeC2i3E3&4OlL$)Zwd-P86!Gv~@#!HKq}QG)*Zh9&L)y-RuK*{c8R2 zqh&;!q5+gSMP0SvBD&UX;PTREyE)`2VOPbraL^g2r14u28z2DH4s!#hps1I)D*Z&YFo(0k{Yo!tpWlJO`{tT>zQcS10y zL%#S(8()Jcm{)yQ(b4xFAtmJ5;($jXc9$z*LG}_RG7IwP1!(^)Udl=39m=@K1VPqp z8Aazf@$kG5a>LJU?{~R*H6sO5ae%EGrbdL*0?Qv*lI1eqXmHKr-qOH)#wAnA?IPk@ z9^FoUffoWaKZlZd0K-m@q-Tfo&$pEBB@iPSDkb(Vcy3@rZG45`fwP?SN_YAiR?3>E z|7c&K)do;2n-}vO@@PHlOCNGfK6tJGMy5%`hl8{@dOFX7B$(ORWuG9qTHj3<8ZEF* zdq%ng&H5u;hw-0k4`s09YBv;9hodylcH-^ zV_F|<@L3?q4(-SHecReVhJDZbGqL#2a0Q8(eLtX*@3dJFoAh3fM6g_4>SruCFB69s zEY14K;DNo)Lfb&!a)?s#P~ho)U;n|y5Oem&@Nh(Qh_s|Ce*B-+UjYkFzxlc!1QV~m zw@^?ay9g*1oX*vUz6{v64u;zR${{XGN9>HU+blVoa7)h$$WoaUNzMGf{7;9dN)mb& zr0|Y6+MEt4z~=3J_LCs8bZ_V9Gm$lw>3E%iqs>UD!H+04lfc3N}1CH%7Jz;p{(m~O^EbDb&3am8Ifas5kC{_ zE>`GO`5;Vb#njO$&-#RXQ+Erw#|W<1rTSkiTam^8=3yY zFwV@^Ld2xcqvjnxm<))c9KblBUyJLBI;;aqA%`xRU+ugnO~B<0bUlfbgzFco`dAvc zP=uLKC>5gvw`d5>9WoeHM!LA6iB}f|{KM7z#W;01M@B}bU#C__BaXwG>mMbi-L)i= zgms$)A;kt_ElcfxknF7fww$H3k4b-i*?7oiRn=anQ-F5@ieZ2-5pz*3bW==H4 zoE1rMsAV=q(ud@jI=uO3q3o+1?wSYZts}Pgb1b^=!!?a22`yxwQY0w6PA|_T-jBX0 zgs`S7V%Xs>9*U)5|10@Dh|3K{S1?&6?V4-jec2=ghqkc$d9L8L-=nOmMbe~c|T!+*7T=BbsdyYH0tvl(rfD`Z_F!j&#vaQ6rFx`V){}k1Gr|#i67J${$YP4Ly@> zlj3HBEoZYmm?H*X9!JK4p9XM7h`CYm&UFwBtbdi??MYH5PiK2$A+>NxADF)Vtu`x; zW4`^dNE;dS=b9joye+U(+lK)6!p@mU1(RI|GheK~V_Uc~Plp>G2yNF(2Y)^d`r2z8@a#uzr=PUr=f~~2E9sKI9P-3*9g3$gd3Y>? zP_Fu^jC;GY*(c+%l+B57;aUj)Z=Ki4jJj*aJRf%QXNS0_m-HiEvvbb~`$i?dol%rR z#FS<75@Tkz^pgYFX|Z3v+VaZMp}7rF*r?#_n3v&2Qq-kYx7%k>ckP#P}eXuJ)W9>gsr zR2U7!{6S*7hBI5H+Sgj6lxH}iJpD6GCWIFipim;)9{wkvt}w?uztG!?(hF+p6G`}Z zB6<-lDwf7HgyV=}I{J)$@EP13u3$B8(2N0Xu9Lbr{Zz4bE)*Rm=~7hThmL>rDOkb4 zm$J$Q5y`uHUA3%n<*Y|Y8NQXPAGC+GobQqUY1XV`sRp0Pl}wEE?6$-;$bp*2B$@`O zkJ&oC21z@&iV!KuTJGGQTc1I6DYoA38^FUhY&0y)ubxsafsjgUaUT zaHTHhQ`!K7)h6!Wc>-d^@FL)TYthM?lAQMaiBS$4V$w2{f+qXITDpfbC4p-*=RK0^ zO2i4hl=sN&Jb4Dh?Ioc)nd%5?J%%@=L$}v4Fb)T?NY&=ovI_WGf8iy7+Vze0EybG&`&UX3^sav8-Ft4@7nz+N@ zrzLjOzh_fOh=8%17J6DTADZy~)We$i)M+5HFWeYamL_JT{~>xiHF*!L2s05z`8sXG z7T)7OKj&H5leDdw{B@FDalVw1wF`4-Pz34=3~Q}YuPnRU6k@}|w3-0Mc@S#qlWPUv zR=NXT?aZd|8Nn7HK8^dXssX(ZqSDI}-8!ht)xNffW5ZnEW4X>cnIoq~32<5CaEJ1a zGG}|vTs$aqcv_jlCuL9Y;J7?Bdxd&=+9mFy1i;+axR3M|=Zr*sM+^H;NTA z+G>HIFQZJm7#SMP0-G-VX2h37<07PT$}G$Q{6znHm#M%P*@F+87xQwu?#BeM(1^?u z`cX|=<^q;)uQ7⪚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

    kq>&z_%WVPtVE#jd=wFkKzEeEYm& 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
    rnKQ+2l#{E(P>A?RTBJ% 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 Q4)&3iRFbF?Gy3^|0HYa`H2?qr diff --git a/docs/en_US/images/table_parameter.png b/docs/en_US/images/table_parameter.png old mode 100755 new mode 100644 index 6ad16c10f9a8948ed8e9a49fadbd4825e2c2b2d9..b8399f6a0197e0efa83b889f9c5f617af65caf0a GIT binary patch literal 122363 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

    d7I5(`HOjjzch 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

    CF5_MYQu^N8jN*Hp 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 diff --git a/docs/en_US/materialized_view_dialog.rst b/docs/en_US/materialized_view_dialog.rst index 534e86b73..c13e3fb63 100644 --- a/docs/en_US/materialized_view_dialog.rst +++ b/docs/en_US/materialized_view_dialog.rst @@ -67,9 +67,10 @@ thresholds; use the *Table* tab and the *Toast Table* tab to customize values for the table and the associated toast table. To change the default values: * Move the *Custom auto-vacuum?* switch to the *Yes* position to perform custom - maintenance on the materialized view. -* Move the *Enabled?* switch to the *Yes* position to select values in the - *Vacuum table*. Provide values for each row in the *Value* column. + maintenance on the materialized view and to select values in the + *Vacuum table*. The *Vacuum Table* provides default values for maintenance + operations. +* Changing *Autovacuum enabled?* to *Not set* will reset autovacuum_enabled. Click the *Security* tab to continue. diff --git a/docs/en_US/table_dialog.rst b/docs/en_US/table_dialog.rst index abb009649..02401da33 100644 --- a/docs/en_US/table_dialog.rst +++ b/docs/en_US/table_dialog.rst @@ -485,10 +485,10 @@ thresholds; use the *Table* tab and the *Toast Table* tab to customize values for the table and the associated toast table: * Move the *Custom auto-vacuum?* switch to the *Yes* position to perform custom - maintenance on the table. -* Move the *Enabled?* switch to the *Yes* position to select values in the + maintenance on the table and to select values in the *Vacuum table*. The *Vacuum Table* provides default values for maintenance operations. +* Changing *Autovacuum enabled?* to *Not set* will reset autovacuum_enabled. Provide a custom value in the *Value* column for each metric listed in the *Label* column. diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/static/js/schema.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/static/js/schema.js index 084e4cd9e..f606e384f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/static/js/schema.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/static/js/schema.js @@ -88,7 +88,9 @@ define('pgadmin.node.schema', [ var gridHeader = _.template([ '

    ', - ' <%-label%>', + '<% if (label && label != "") %> {', + ' <%-label%>', + '}', '
    '].join('\n')), gridBody = $('
    ').append( gridHeader(attributes) @@ -151,7 +153,8 @@ define('pgadmin.node.schema', [ },{ id: 'autovacuum_custom', label: gettext('Custom auto-vacuum?'), group: gettext('Table'), mode: ['edit', 'create'], - type: 'switch', + type: 'switch', controlLabelClassName: 'control-label pg-el-sm-4 pg-el-12', + controlsClassName: 'pgadmin-controls pg-el-sm-8 pg-el-12', disabled: function(m) { // If table is partitioned table then disabled it. if (m.top && m.top.get('is_partitioned')) { @@ -169,45 +172,29 @@ define('pgadmin.node.schema', [ return true; }, },{ - id: 'autovacuum_enabled', label: gettext('Enabled?'), + id: 'autovacuum_enabled', label: gettext('Autovacuum Enabled?'), group: gettext('Table'), mode: ['edit', 'create'], - type: 'switch', + type: 'radioModern', controlLabelClassName: 'control-label pg-el-sm-4 pg-el-12', + controlsClassName: 'pgadmin-controls pg-el-sm-8 pg-el-12', + options: [ + {'label': gettext('Not set'), 'value': 'x'}, + {'label': gettext('Yes'), 'value': 't'}, + {'label': gettext('No'), 'value': 'f'}, + ], deps: ['autovacuum_custom'], disabled: function(m) { if(!m.top.inSchema.apply(this, [m]) && m.get('autovacuum_custom') == true) { - // If reloptions is null then set the autovacuum_enabled to true. - if (!_.isUndefined(m.get('reloptions')) && - _.isNull(m.get('reloptions'))) { - setTimeout(function() { - m.set('autovacuum_enabled', true); - }, 10); - } return false; } // We also need to unset rest of all setTimeout(function() { - m.set('autovacuum_enabled', false); + m.set('autovacuum_enabled', 'x'); }, 10); return true; }, - control: Backform.SwitchControl.extend({ - onChange: function() { - Backform.SwitchControl.prototype.onChange.apply(this, arguments); - let m = this.model; - // If value of autovacuum_enabled is false and reloptions is null - // then we should set the value of autovacuum_custom to false, as - // there is no query to run. - if (!m.get('autovacuum_enabled') && !_.isUndefined(m.get('reloptions')) - && _.isNull(m.get('reloptions'))) { - setTimeout(function() { - m.set('autovacuum_custom', false); - }, 10); - } - }, - }), },{ id: 'vacuum_table', label: '', model: Backform.VacuumTableModel, editable: false, type: 'collection', @@ -224,7 +211,7 @@ define('pgadmin.node.schema', [ name: 'value', label: gettext('Value'), cellHeaderClasses:'width_percent_30', cellFunction: Backform.cellFunction, editable: function(m) { - return m.handler.get('autovacuum_enabled'); + return m.handler.get('autovacuum_custom'); }, headerCell: Backgrid.Extension.CustomHeaderCell, }, { @@ -235,13 +222,14 @@ define('pgadmin.node.schema', [ }, ], }), - deps: ['autovacuum_enabled'], + deps: ['autovacuum_custom'], },{ id: 'spacer_ctrl', group: gettext('TOAST table'), mode: ['edit', 'create'], type: 'spacer', },{ id: 'toast_autovacuum', label: gettext('Custom auto-vacuum?'), group: gettext('TOAST table'), mode: ['edit', 'create'], - type: 'switch', + type: 'switch', controlLabelClassName: 'control-label pg-el-sm-4 pg-el-12', + controlsClassName: 'pgadmin-controls pg-el-sm-8 pg-el-12', disabled: function(m) { // We need to check additional condition to toggle enable/disable // for table auto-vacuum @@ -255,50 +243,32 @@ define('pgadmin.node.schema', [ return true; }, },{ - id: 'toast_autovacuum_enabled', label: gettext('Enabled?'), + id: 'toast_autovacuum_enabled', label: gettext('Autovacuum Enabled?'), group: gettext('TOAST table'), mode: ['edit', 'create'], - type: 'switch', + type: 'radioModern', controlLabelClassName: 'control-label pg-el-sm-4 pg-el-12', + controlsClassName: 'pgadmin-controls pg-el-sm-8 pg-el-12', + options: [ + {'label': gettext('Not set'), 'value': 'x'}, + {'label': gettext('Yes'), 'value': 't'}, + {'label': gettext('No'), 'value': 'f'}, + ], deps:['toast_autovacuum'], disabled: function(m) { // If in schema & in create mode then enable it if(!m.top.inSchema.apply(this, [m]) && m.get('toast_autovacuum') === true) { - // If reloptions is null then set the autovacuum_enabled to true. - if (!_.isUndefined(m.get('toast_reloptions')) && - _.isNull(m.get('toast_reloptions'))) { - setTimeout(function() { - m.set('toast_autovacuum_enabled', true); - }, 10); - } - return false; } if (m.isNew() || m.get('hastoasttable')) { // we also need to unset rest of all setTimeout(function() { - m.set('toast_autovacuum_enabled', false); + m.set('toast_autovacuum_enabled', 'x'); }, 10); } return true; }, - control: Backform.SwitchControl.extend({ - onChange: function() { - Backform.SwitchControl.prototype.onChange.apply(this, arguments); - - let m = this.model; - // If value of autovacuum_enabled is false and reloptions is null - // then we should set the value of autovacuum_custom to false, as - // there is no query to run. - if (!m.get('toast_autovacuum_enabled') && !_.isUndefined(m.get('toast_reloptions')) - && _.isNull(m.get('toast_reloptions'))) { - setTimeout(function() { - m.set('toast_autovacuum', false); - }, 10); - } - }, - }), },{ id: 'vacuum_toast', label: '', model: Backform.VacuumTableModel, type: 'collection', editable: function(m) { @@ -318,7 +288,7 @@ define('pgadmin.node.schema', [ cellHeaderClasses:'width_percent_30', headerCell: Backgrid.Extension.CustomHeaderCell, cellFunction: Backform.cellFunction, editable: function(m) { - return m.handler.get('toast_autovacuum_enabled'); + return m.handler.get('toast_autovacuum'); }, }, { @@ -329,7 +299,7 @@ define('pgadmin.node.schema', [ }, ], }), - deps: ['toast_autovacuum_enabled'], + deps: ['toast_autovacuum'], }]; // Extend the browser's collection class for schema collection diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py index 03073e277..68b945c56 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py @@ -619,6 +619,42 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, return False, gone( gettext("The specified table could not be found.")) + # Set value based on + # x: No set, t: true, f: false + res['rows'][0]['autovacuum_enabled'] = 'x' \ + if res['rows'][0]['autovacuum_enabled'] is None else \ + {True: 't', False: 'f'}[res['rows'][0]['autovacuum_enabled']] + + res['rows'][0]['toast_autovacuum_enabled'] = 'x' \ + if res['rows'][0]['toast_autovacuum_enabled'] is None else \ + {True: 't', False: 'f'}[res['rows'][0]['toast_autovacuum_enabled']] + + # Enable custom autovaccum only if one of the options is set + # or autovacuum is set + res['rows'][0]['autovacuum_custom'] = any([ + res['rows'][0]['autovacuum_vacuum_threshold'], + res['rows'][0]['autovacuum_vacuum_scale_factor'], + res['rows'][0]['autovacuum_analyze_threshold'], + res['rows'][0]['autovacuum_analyze_scale_factor'], + res['rows'][0]['autovacuum_vacuum_cost_delay'], + res['rows'][0]['autovacuum_vacuum_cost_limit'], + res['rows'][0]['autovacuum_freeze_min_age'], + res['rows'][0]['autovacuum_freeze_max_age'], + res['rows'][0]['autovacuum_freeze_table_age']]) \ + or res['rows'][0]['autovacuum_enabled'] in ('t', 'f') + + res['rows'][0]['toast_autovacuum'] = any([ + res['rows'][0]['toast_autovacuum_vacuum_threshold'], + res['rows'][0]['toast_autovacuum_vacuum_scale_factor'], + res['rows'][0]['toast_autovacuum_analyze_threshold'], + res['rows'][0]['toast_autovacuum_analyze_scale_factor'], + res['rows'][0]['toast_autovacuum_vacuum_cost_delay'], + res['rows'][0]['toast_autovacuum_vacuum_cost_limit'], + res['rows'][0]['toast_autovacuum_freeze_min_age'], + res['rows'][0]['toast_autovacuum_freeze_max_age'], + res['rows'][0]['toast_autovacuum_freeze_table_age']]) \ + or res['rows'][0]['toast_autovacuum_enabled'] in ('t', 'f') + # We will check the threshold set by user before executing # the query because that can cause performance issues # with large result set @@ -943,6 +979,11 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, data['partition_scheme'] = self.get_partition_scheme(data) partitions_sql = self.get_partitions_sql(data) + # Update the vacuum table settings. + BaseTableView.update_vacuum_settings(self, 'vacuum_table', data) + # Update the vacuum toast table settings. + BaseTableView.update_vacuum_settings(self, 'vacuum_toast', data) + SQL = render_template( "/".join([self.table_template_path, 'create.sql']), data=data, conn=self.conn @@ -1023,14 +1064,9 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, data[k] = v try: - SQL = render_template( - "/".join([self.table_template_path, 'properties.sql']), - did=did, scid=scid, tid=tid, - datlastsysoid=self.datlastsysoid - ) - status, res = self.conn.execute_dict(SQL) + status, res = self._fetch_properties(did, scid, tid) if not status: - return internal_server_error(errormsg=res) + return res return super(TableView, self).update( gid, sid, did, scid, tid, data, res) @@ -1266,14 +1302,9 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, res = None if tid is not None: - SQL = render_template( - "/".join([self.table_template_path, 'properties.sql']), - did=did, scid=scid, tid=tid, - datlastsysoid=self.datlastsysoid - ) - status, res = self.conn.execute_dict(SQL) + status, res = self._fetch_properties(did, scid, tid) if not status: - return internal_server_error(errormsg=SQL) + return res SQL, name = self.get_sql(did, scid, tid, data, res) SQL = re.sub('\n{2,}', '\n\n', SQL) @@ -1335,17 +1366,9 @@ class TableView(BaseTableView, DataTypeReader, VacuumSettings, """ main_sql = [] - SQL = render_template( - "/".join([self.table_template_path, 'properties.sql']), - did=did, scid=scid, tid=tid, - datlastsysoid=self.datlastsysoid - ) - status, res = self.conn.execute_dict(SQL) + status, res = self._fetch_properties(did, scid, tid) if not status: - return internal_server_error(errormsg=res) - - if len(res['rows']) == 0: - return gone(gettext("The specified table could not be found.")) + return res data = res['rows'][0] diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js index 9ce744cfa..68b2209a8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/partitions/static/js/partition.js @@ -330,8 +330,8 @@ function( is_sys_table: undefined, coll_inherits: [], hastoasttable: true, - toast_autovacuum_enabled: false, - autovacuum_enabled: false, + toast_autovacuum_enabled: 'x', + autovacuum_enabled: 'x', primary_key: [], partitions: [], partition_type: 'range', diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js index d65957132..0e73de872 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.js @@ -300,8 +300,8 @@ define('pgadmin.node.table', [ is_sys_table: undefined, coll_inherits: [], hastoasttable: true, - toast_autovacuum_enabled: false, - autovacuum_enabled: false, + toast_autovacuum_enabled: 'x', + autovacuum_enabled: 'x', primary_key: [], partitions: [], partition_type: 'range', @@ -1149,6 +1149,16 @@ define('pgadmin.node.table', [ id: 'vacuum_settings_str', label: gettext('Storage settings'), type: 'multiline', group: 'advanced', mode: ['properties'], }], + sessChanged: function() { + /* If only custom autovacuum option is enabled the check if the options table is also changed. */ + if(_.size(this.sessAttrs) == 2 && this.sessAttrs['autovacuum_custom'] && this.sessAttrs['toast_autovacuum']) { + return this.get('vacuum_table').sessChanged() || this.get('vacuum_toast').sessChanged(); + } + if(_.size(this.sessAttrs) == 1 && (this.sessAttrs['autovacuum_custom'] || this.sessAttrs['toast_autovacuum'])) { + return this.get('vacuum_table').sessChanged() || this.get('vacuum_toast').sessChanged(); + } + return pgBrowser.DataModel.prototype.sessChanged.apply(this); + }, validate: function() { var msg, name = this.get('name'), diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql index bc7ce83b4..c2cfd974a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/gpdb/5_plus/properties.sql @@ -58,8 +58,6 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, NULL AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/10_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/10_plus/properties.sql index 4bf44a156..48e6248d1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/10_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/10_plus/properties.sql @@ -49,15 +49,9 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, typ.typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/12_plus/properties.sql index 40a257b5b..c2c8e4274 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/12_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/pg/12_plus/properties.sql @@ -49,15 +49,9 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, typ.typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/10_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/10_plus/properties.sql index 4bf44a156..48e6248d1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/10_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/10_plus/properties.sql @@ -49,15 +49,9 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, typ.typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/12_plus/properties.sql index 40a257b5b..c2c8e4274 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/12_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partitions/sql/ppas/12_plus/properties.sql @@ -49,15 +49,9 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, typ.typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/create.sql index dafc87aa2..0e0fdd263 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/create.sql @@ -78,15 +78,15 @@ CACHE {{c.seqcache|int}} {% endif %} WITH ( OIDS = {% if data.relhasoids %}TRUE{% else %}FALSE{% endif %}{% if data.fillfactor %}, FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.parallel_workers is defined and data.parallel_workers != '' and data.parallel_workers != None %}, - parallel_workers = {{ data.parallel_workers }}{% endif %}{% if data.autovacuum_custom %}, - autovacuum_enabled = {% if data.autovacuum_enabled %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum %}, - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}TRUE{% else %}FALSE{% endif %} -{% endif %}{% if data.autovacuum_enabled and data.vacuum_table|length > 0 %} -{% for opt in data.vacuum_table %}{% if opt.name and opt.value %} + parallel_workers = {{ data.parallel_workers }}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %}, + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %}, + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %} +{% endif %}{% if data.autovacuum_custom and data.vacuum_table|length > 0 %} +{% for opt in data.vacuum_table %}{% if opt.name and opt.value is defined %} , {{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %}{% if data.toast_autovacuum_enabled and data.vacuum_toast|length > 0 %} -{% for opt in data.vacuum_toast %}{% if opt.name and opt.value %} +{% endfor %}{% endif %}{% if data.toast_autovacuum and data.vacuum_toast|length > 0 %} +{% for opt in data.vacuum_toast %}{% if opt.name and opt.value is defined %} , toast.{{opt.name}} = {{opt.value}}{% endif %} {% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/properties.sql index 5707f46d1..7c3a67c9a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/properties.sql @@ -28,8 +28,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r (CASE WHEN rel.relpersistence = 'u' THEN true ELSE false END) AS relpersistence, substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, substring(array_to_string(rel.reloptions, ',') FROM 'parallel_workers=([0-9]*)') AS parallel_workers, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, @@ -39,8 +38,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, @@ -50,16 +48,10 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, CASE WHEN typ.typname IS NOT NULL THEN (select quote_ident(nspname) FROM pg_namespace WHERE oid = {{scid}}::oid )||'.'||quote_ident(typ.typname) ELSE typ.typname END AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (array_to_string(rel.reloptions, ',') like '%autovacuum%') AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/create.sql index caec8f520..73717cd2d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/create.sql @@ -79,15 +79,15 @@ WITH ( OIDS = {% if data.relhasoids %}TRUE{% else %}FALSE{% endif %}{% if data.fillfactor %}, FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.parallel_workers is defined and data.parallel_workers != '' and data.parallel_workers != None %}, parallel_workers = {{ data.parallel_workers }}{% endif %}{% if data.toast_tuple_target is defined and data.toast_tuple_target != '' and data.toast_tuple_target != None %}, - toast_tuple_target = {{ data.toast_tuple_target }}{% endif %}{% if data.autovacuum_custom %}, - autovacuum_enabled = {% if data.autovacuum_enabled %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum %}, - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}TRUE{% else %}FALSE{% endif %} -{% endif %}{% if data.autovacuum_enabled and data.vacuum_table|length > 0 %} -{% for opt in data.vacuum_table %}{% if opt.name and opt.value %} + toast_tuple_target = {{ data.toast_tuple_target }}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %}, + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %}, + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %} +{% endif %}{% if data.autovacuum_custom and data.vacuum_table|length > 0 %} +{% for opt in data.vacuum_table %}{% if opt.name and opt.value is defined %} , {{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %}{% if data.toast_autovacuum_enabled and data.vacuum_toast|length > 0 %} -{% for opt in data.vacuum_toast %}{% if opt.name and opt.value %} +{% endfor %}{% endif %}{% if data.toast_autovacuum and data.vacuum_toast|length > 0 %} +{% for opt in data.vacuum_toast %}{% if opt.name and opt.value is defined %} , toast.{{opt.name}} = {{opt.value}}{% endif %} {% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/properties.sql index 1d7e596b8..f874f52ac 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/properties.sql @@ -29,8 +29,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, substring(array_to_string(rel.reloptions, ',') FROM 'parallel_workers=([0-9]*)') AS parallel_workers, substring(array_to_string(rel.reloptions, ',') FROM 'toast_tuple_target=([0-9]*)') AS toast_tuple_target, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, @@ -40,8 +39,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, @@ -51,16 +49,10 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, CASE WHEN typ.typname IS NOT NULL THEN (select quote_ident(nspname) FROM pg_namespace WHERE oid = {{scid}}::oid )||'.'||quote_ident(typ.typname) ELSE typ.typname END AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (array_to_string(rel.reloptions, ',') like '%autovacuum%') AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/update.sql index 0f27dbed2..d5b9d367c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/11_plus/update.sql @@ -115,14 +115,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( autovacuum_freeze_table_age ); {% else %} -{% if data.autovacuum_enabled is defined or has_vacuum_set %} +{% if (data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.autovacuum_enabled is defined and data.autovacuum_enabled != o_data.autovacuum_enabled %} - autovacuum_enabled = {% if data.autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_set %}, +{% if data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_set %}, {% endif %} {% endif %} {% if has_vacuum_set %} -{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value is defined %} {{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -131,13 +131,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_reset %} +{% if (data.autovacuum_enabled == 'x' and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.autovacuum_enabled =='x' and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled{% if has_vacuum_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_reset %} {% for opt in data.vacuum_table.reset_values %}{% if opt.name %} {{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} @@ -165,14 +171,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( toast.autovacuum_analyze_scale_factor ); {% else %} -{% if data.toast_autovacuum_enabled is defined or has_vacuum_toast_set %} +{% if (data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.toast_autovacuum_enabled is defined and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, +{% if data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, {% endif %} {% endif %} {% if has_vacuum_toast_set %} -{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value is defined %} toast.{{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -181,13 +187,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_toast_reset %} +{% if (data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled{% if has_vacuum_toast_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_toast_reset %} {% for opt in data.vacuum_toast.reset_values %}{% if opt.name %} toast.{{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/create.sql index 486bc3091..79d5d74b6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/create.sql @@ -17,7 +17,7 @@ {% set empty_bracket = "\n(\n)"%} {% endif %} {% set with_clause = false%} -{% if data.fillfactor or data.parallel_workers or data.toast_tuple_target or data.autovacuum_custom or data.autovacuum_enabled or data.toast_autovacuum or data.toast_autovacuum_enabled or (data.autovacuum_enabled and data.vacuum_table|length > 0) or (data.toast_autovacuum_enabled and data.vacuum_toast|length > 0) %} +{% if data.fillfactor or data.parallel_workers or data.toast_tuple_target or data.autovacuum_custom or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum or data.toast_autovacuum_enabled in ('t', 'f') %} {% set with_clause = true%} {% endif %} CREATE {% if data.relpersistence %}UNLOGGED {% endif %}TABLE {{conn|qtIdent(data.schema, data.name)}}{{empty_bracket}} @@ -83,30 +83,31 @@ CACHE {{c.seqcache|int}} {% endif %} {% endif %} {% if with_clause %} -{% set add_comma = false%} +{% set ns = namespace(add_comma=false) %} WITH ( -{% if data.fillfactor %}{% set add_comma = true%} +{% if data.fillfactor %}{% set ns.add_comma = true%} FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.parallel_workers %} -{% if add_comma %}, -{% endif %} - parallel_workers = {{ data.parallel_workers }}{% set add_comma = true%}{% endif %}{% if data.toast_tuple_target %} -{% if add_comma %}, -{% endif %} - toast_tuple_target = {{ data.toast_tuple_target }}{% set add_comma = true%}{% endif %}{% if data.autovacuum_custom %} -{% if add_comma %}, -{% endif %} - autovacuum_enabled = {% if data.autovacuum_enabled %}TRUE{% else %}FALSE{% endif %}{% set add_comma = true%}{% endif %}{% if data.toast_autovacuum %} -{% if add_comma %}, -{% endif %} - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}TRUE{% else %}FALSE{% endif %} -{% endif %}{% if data.autovacuum_enabled and data.vacuum_table|length > 0 %} -{% for opt in data.vacuum_table %}{% if opt.name and opt.value %} -, - {{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %}{% if data.toast_autovacuum_enabled and data.vacuum_toast|length > 0 %} -{% for opt in data.vacuum_toast %}{% if opt.name and opt.value %} -, - toast.{{opt.name}} = {{opt.value}}{% endif %} +{% if ns.add_comma %}, +{% endif %} + parallel_workers = {{ data.parallel_workers }}{% set ns.add_comma = true%}{% endif %}{% if data.toast_tuple_target %} +{% if ns.add_comma %}, +{% endif %} + toast_tuple_target = {{ data.toast_tuple_target }}{% set ns.add_comma = true%}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, +{% endif %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, +{% endif %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %}{% if data.autovacuum_custom %} +{% for opt in data.vacuum_table %}{% if opt.name and opt.value is defined %} +{% if ns.add_comma %}, +{% endif %} + {{opt.name}} = {{opt.value}}{% set ns.add_comma = true%}{% endif %} +{% endfor %}{% endif %}{% if data.toast_autovacuum %} +{% for opt in data.vacuum_toast %}{% if opt.name and opt.value is defined %} +{% if ns.add_comma %}, +{% endif %} + toast.{{opt.name}} = {{opt.value}}{% set ns.add_comma = true%}{% endif %} {% endfor %}{% endif %} {% if data.spcname %}){% else %});{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/properties.sql index d283cef22..1a7aec47e 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/properties.sql @@ -29,8 +29,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, substring(array_to_string(rel.reloptions, ',') FROM 'parallel_workers=([0-9]*)') AS parallel_workers, substring(array_to_string(rel.reloptions, ',') FROM 'toast_tuple_target=([0-9]*)') AS toast_tuple_target, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, @@ -40,8 +39,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, @@ -51,16 +49,10 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, CASE WHEN typ.typname IS NOT NULL THEN (select quote_ident(nspname) FROM pg_namespace WHERE oid = {{scid}}::oid )||'.'||quote_ident(typ.typname) ELSE typ.typname END AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (array_to_string(rel.reloptions, ',') like '%autovacuum%') AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table -- Added for partition table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql index e2415ad2a..b8b4da665 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql @@ -51,7 +51,7 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} {% endif %} {#####################################################} -{## change fillfactore settings ##} +{## change fillfactor settings ##} {#####################################################} {% if data.fillfactor and data.fillfactor != o_data.fillfactor %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} @@ -107,14 +107,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( autovacuum_freeze_table_age ); {% else %} -{% if data.autovacuum_enabled is defined or has_vacuum_set %} +{% if (data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.autovacuum_enabled is defined and data.autovacuum_enabled != o_data.autovacuum_enabled %} - autovacuum_enabled = {% if data.autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_set %}, +{% if data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_set %}, {% endif %} {% endif %} {% if has_vacuum_set %} -{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value is defined %} {{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -123,13 +123,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_reset %} +{% if (data.autovacuum_enabled == 'x' and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.autovacuum_enabled =='x' and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled{% if has_vacuum_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_reset %} {% for opt in data.vacuum_table.reset_values %}{% if opt.name %} {{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} @@ -157,14 +163,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( toast.autovacuum_analyze_scale_factor ); {% else %} -{% if data.toast_autovacuum_enabled is defined or has_vacuum_toast_set %} +{% if (data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.toast_autovacuum_enabled is defined and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, +{% if data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, {% endif %} {% endif %} {% if has_vacuum_toast_set %} -{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value is defined %} toast.{{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -173,13 +179,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_toast_reset %} +{% if (data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled{% if has_vacuum_toast_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_toast_reset %} {% for opt in data.vacuum_toast.reset_values %}{% if opt.name %} toast.{{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.1_plus/properties.sql index eaa5c1056..ef3bcfd9a 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.1_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.1_plus/properties.sql @@ -26,8 +26,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r WHERE i.inhrelid = rel.oid) AS inherited_tables_cnt, (CASE WHEN rel.relpersistence = 'u' THEN true ELSE false END) AS relpersistence, substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, @@ -37,8 +36,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, @@ -48,16 +46,10 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, CASE WHEN typ.typname IS NOT NULL THEN (select quote_ident(nspname) FROM pg_namespace WHERE oid = {{scid}}::oid )||'.'||quote_ident(typ.typname) ELSE typ.typname END AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table FROM pg_class rel diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/create.sql index 87df7a386..9f32fb855 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/create.sql @@ -66,15 +66,15 @@ CREATE {% if data.relpersistence %}UNLOGGED {% endif %}TABLE {{conn|qtIdent(data WITH ( OIDS = {% if data.relhasoids %}TRUE{% else %}FALSE{% endif %}{% if data.fillfactor %}, FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.parallel_workers is defined and data.parallel_workers != '' and data.parallel_workers != None %}, - parallel_workers = {{ data.parallel_workers }}{% endif %}{% if data.autovacuum_custom %}, - autovacuum_enabled = {% if data.autovacuum_enabled %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum %}, - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}TRUE{% else %}FALSE{% endif %} -{% endif %}{% if data.autovacuum_enabled and data.vacuum_table|length > 0 %} -{% for opt in data.vacuum_table %}{% if opt.name and opt.value %} + parallel_workers = {{ data.parallel_workers }}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %}, + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %}, + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %} +{% endif %}{% if data.autovacuum_custom and data.vacuum_table|length > 0 %} +{% for opt in data.vacuum_table %}{% if opt.name and opt.value is defined %} , {{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %}{% if data.toast_autovacuum_enabled and data.vacuum_toast|length > 0 %} -{% for opt in data.vacuum_toast %}{% if opt.name and opt.value %} +{% endfor %}{% endif %}{% if data.toast_autovacuum and data.vacuum_toast|length > 0 %} +{% for opt in data.vacuum_toast %}{% if opt.name and opt.value is defined %} , toast.{{opt.name}} = {{opt.value}}{% endif %} {% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/properties.sql index b43658d14..444fe27c0 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/properties.sql @@ -27,8 +27,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r (CASE WHEN rel.relpersistence = 'u' THEN true ELSE false END) AS relpersistence, substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, substring(array_to_string(rel.reloptions, ',') FROM 'parallel_workers=([0-9]*)') AS parallel_workers, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, @@ -38,8 +37,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, @@ -49,16 +47,10 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, CASE WHEN typ.typname IS NOT NULL THEN (select quote_ident(nspname) FROM pg_namespace WHERE oid = {{scid}}::oid )||'.'||quote_ident(typ.typname) ELSE typ.typname END AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (array_to_string(rel.reloptions, ',') like '%autovacuum%') AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table FROM pg_class rel diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/update.sql index 98e9ebf4b..fc44fe8bc 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/9.6_plus/update.sql @@ -103,14 +103,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( autovacuum_freeze_table_age ); {% else %} -{% if data.autovacuum_enabled is defined or has_vacuum_set %} +{% if (data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.autovacuum_enabled is defined and data.autovacuum_enabled != o_data.autovacuum_enabled %} - autovacuum_enabled = {% if data.autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_set %}, +{% if data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_set %}, {% endif %} {% endif %} {% if has_vacuum_set %} -{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value is defined %} {{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -119,13 +119,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_reset %} +{% if (data.autovacuum_enabled == 'x' and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.autovacuum_enabled =='x' and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled{% if has_vacuum_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_reset %} {% for opt in data.vacuum_table.reset_values %}{% if opt.name %} {{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} @@ -153,14 +159,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( toast.autovacuum_analyze_scale_factor ); {% else %} -{% if data.toast_autovacuum_enabled is defined or has_vacuum_toast_set %} +{% if (data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.toast_autovacuum_enabled is defined and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, +{% if data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, {% endif %} {% endif %} {% if has_vacuum_toast_set %} -{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value is defined %} toast.{{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -169,13 +175,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_toast_reset %} +{% if (data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled{% if has_vacuum_toast_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_toast_reset %} {% for opt in data.vacuum_toast.reset_values %}{% if opt.name %} toast.{{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/create.sql index 25b243041..9553d99bb 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/create.sql @@ -65,15 +65,15 @@ CREATE {% if data.relpersistence %}UNLOGGED {% endif %}TABLE {{conn|qtIdent(data {% endif %} WITH ( OIDS = {% if data.relhasoids %}TRUE{% else %}FALSE{% endif %}{% if data.fillfactor %}, - FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.autovacuum_custom %}, - autovacuum_enabled = {% if data.autovacuum_enabled %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum %}, - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}TRUE{% else %}FALSE{% endif %} -{% endif %}{% if data.autovacuum_enabled and data.vacuum_table|length > 0 %} -{% for opt in data.vacuum_table %}{% if opt.name and opt.value %} + FILLFACTOR = {{ data.fillfactor }}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %}, + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %}, + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %} +{% endif %}{% if data.autovacuum_custom and data.vacuum_table|length > 0 %} +{% for opt in data.vacuum_table %}{% if opt.name and opt.value is defined %} , {{opt.name}} = {{opt.value}}{% endif %} -{% endfor %}{% endif %}{% if data.toast_autovacuum_enabled and data.vacuum_toast|length > 0 %} -{% for opt in data.vacuum_toast %}{% if opt.name and opt.value %} +{% endfor %}{% endif %}{% if data.toast_autovacuum and data.vacuum_toast|length > 0 %} +{% for opt in data.vacuum_toast %}{% if opt.name and opt.value is defined %} , toast.{{opt.name}} = {{opt.value}}{% endif %} {% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/properties.sql index 9bb7bc8b7..b5c3c2527 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/properties.sql @@ -29,8 +29,7 @@ FROM ( WHERE i.inhrelid = rel.oid) AS inherited_tables_cnt, false AS relpersistence, substring(array_to_string(rel.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - (CASE WHEN (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS autovacuum_vacuum_scale_factor, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS autovacuum_analyze_threshold, @@ -40,8 +39,7 @@ FROM ( substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS autovacuum_freeze_min_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(rel.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') - THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_scale_factor=([0-9]*[.]?[0-9]*)') AS toast_autovacuum_vacuum_scale_factor, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_analyze_threshold=([0-9]*)') AS toast_autovacuum_analyze_threshold, @@ -51,15 +49,9 @@ FROM ( substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_min_age=([0-9]*)') AS toast_autovacuum_freeze_min_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_max_age=([0-9]*)') AS toast_autovacuum_freeze_max_age, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, - array_to_string(rel.reloptions, ',') AS table_vacuum_settings_str, - array_to_string(tst.reloptions, ',') AS toast_table_vacuum_settings_str, rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, NULL AS reloftype, NULL AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (array_to_string(rel.reloptions, ',') like '%autovacuum%') AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - ARRAY[]::varchar[] AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql index 36eb180db..09817343f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql @@ -59,7 +59,7 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} {% endif %} {#####################################################} -{## change fillfactore settings ##} +{## change fillfactor settings ##} {#####################################################} {% if data.fillfactor and data.fillfactor != o_data.fillfactor %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} @@ -92,14 +92,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( autovacuum_freeze_table_age ); {% else %} -{% if data.autovacuum_enabled is defined or has_vacuum_set %} +{% if (data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.autovacuum_enabled is defined and data.autovacuum_enabled != o_data.autovacuum_enabled %} - autovacuum_enabled = {% if data.autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_set %}, +{% if data.autovacuum_enabled in ('t', 'f') and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_set %}, {% endif %} {% endif %} {% if has_vacuum_set %} -{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_table.set_values %}{% if opt.name and opt.value is defined %} {{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -108,13 +108,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_reset %} +{% if (data.autovacuum_enabled == 'x' and data.autovacuum_enabled != o_data.autovacuum_enabled) or has_vacuum_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.autovacuum_enabled =='x' and data.autovacuum_enabled != o_data.autovacuum_enabled %} + autovacuum_enabled{% if has_vacuum_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_reset %} {% for opt in data.vacuum_table.reset_values %}{% if opt.name %} {{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} @@ -142,14 +148,14 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( toast.autovacuum_analyze_scale_factor ); {% else %} -{% if data.toast_autovacuum_enabled is defined or has_vacuum_toast_set %} +{% if (data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_set %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( -{% if data.toast_autovacuum_enabled is defined and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} - toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, +{% if data.toast_autovacuum_enabled in ('t', 'f') and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if has_vacuum_toast_set %}, {% endif %} {% endif %} {% if has_vacuum_toast_set %} -{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value %} +{% for opt in data.vacuum_toast.set_values %}{% if opt.name and opt.value is defined %} toast.{{opt.name}} = {{opt.value}}{% if not loop.last %}, {% endif %} {% endif %} @@ -158,13 +164,19 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET ( ); {% endif %} -{% if has_vacuum_toast_reset %} +{% if (data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled) or has_vacuum_toast_reset %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} RESET ( +{% if data.toast_autovacuum_enabled == 'x' and data.toast_autovacuum_enabled != o_data.toast_autovacuum_enabled %} + toast.autovacuum_enabled{% if has_vacuum_toast_reset %}, +{% endif %} +{% endif %} +{% if has_vacuum_toast_reset %} {% for opt in data.vacuum_toast.reset_values %}{% if opt.name %} toast.{{opt.name}}{% if not loop.last %}, {% endif %} {% endif %} {% endfor %} +{% endif %} ); {% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql index 356a94f15..738608c54 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/gpdb_5.0_plus/properties.sql @@ -62,10 +62,6 @@ FROM ( rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, NULL AS reloftype, typ.typname AS typname, typ.typrelid AS typoid, (CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - -- Added for pgAdmin4 - (CASE WHEN array_length(rel.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND rel.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum, - ARRAY[]::varchar[] AS seclabels, (CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_table_parameters.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_table_parameters.py index bbed26998..4bd59f5c1 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_table_parameters.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/tests/test_table_parameters.py @@ -25,25 +25,104 @@ class TableUpdateParameterTestCase(BaseTestGenerator): """This class will add new collation under schema node.""" scenarios = [ # Fetching default URL for table node. - ('Enable custom auto vacuum and set the parameters for table', - dict(url='/browser/table/obj/', type='set_vacuum_parameters') + ('Enable custom auto vacuum and set the parameters for table ' + 'without autovacuum_enabled', + dict(url='/browser/table/obj/', + api_data={ + 'autovacuum_custom': True, + 'vacuum_table': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 20}, + {'name': 'autovacuum_vacuum_threshold', + 'value': 20} + ] + }} + ) ), - ('Disable auto vacuum and reset the parameters for table', - dict(url='/browser/table/obj/', type='reset_vacuum_parameters') + ('Change a parameter to zero value ' + 'without autovacuum_enabled', + dict(url='/browser/table/obj/', + api_data={ + 'vacuum_table': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 0} + ] + }} + ) ), - ('Disable custom auto vacuum and reset all the parameters for table', - dict(url='/browser/table/obj/', type='reset_all_vacuum_parameters') + ('Enable autovacuum_enabled', + dict(url='/browser/table/obj/', + api_data={'autovacuum_enabled': 't'} + ) ), - ('Enable custom auto vacuum and set the toast parameters for table', - dict(url='/browser/table/obj/', type='set_toast_parameters') + ('Reset individual parameters for table', + dict(url='/browser/table/obj/', + api_data={ + 'autovacuum_enabled': 'x', + 'vacuum_table': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': None}, + ] + }} + ) ), - ('Disable auto vacuum and reset the toast parameters for table', - dict(url='/browser/table/obj/', type='reset_toast_parameters') + ('Reset custom auto vacuum', + dict(url='/browser/table/obj/', + api_data={'autovacuum_custom': False} + ) + ), + ('Enable toast custom auto vacuum and set the parameters for table ' + 'without autovacuum_enabled', + dict(url='/browser/table/obj/', + api_data={ + 'toast_autovacuum': True, + 'vacuum_toast': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 20}, + {'name': 'autovacuum_vacuum_threshold', + 'value': 20} + ] + }} + ) + ), + ('Change a toast parameter to zero value ' + 'without autovacuum_enabled', + dict(url='/browser/table/obj/', + api_data={ + 'vacuum_toast': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 0} + ] + }} + ) + ), + ('Enable toast.autovacuum_enabled', + dict(url='/browser/table/obj/', + api_data={'toast_autovacuum_enabled': 't'} + ) + ), + ('Reset individual toast parameters for table', + dict(url='/browser/table/obj/', + api_data={ + 'toast_autovacuum_enabled': 'x', + 'vacuum_toast': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': None}, + ] + }} + ) + ), + ('Reset auto vacuum', + dict(url='/browser/table/obj/', + api_data={'toast_autovacuum': False} + ) ), - ('Disable custom auto vacuum and reset all the toast ' - 'parameters for table', - dict(url='/browser/table/obj/', type='reset_all_toast_parameters') - ) ] @classmethod @@ -77,50 +156,8 @@ class TableUpdateParameterTestCase(BaseTestGenerator): if not table_response: raise Exception("Could not find the table to update.") - data = None - if self.type == 'set_vacuum_parameters': - data = dict({'oid': self.table_id, - 'autovacuum_custom': True, - 'autovacuum_enabled': True, - 'vacuum_table': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': 20}, - {'name': 'autovacuum_vacuum_threshold', - 'value': 20} - ]})}) - elif self.type == 'reset_vacuum_parameters': - data = dict({'oid': self.table_id, - 'autovacuum_enabled': False, - 'vacuum_table': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': None}, - {'name': 'autovacuum_vacuum_threshold', - 'value': None} - ]})}) - elif self.type == 'reset_all_vacuum_parameters': - data = dict({'oid': self.table_id, 'autovacuum_custom': False}) - elif self.type == 'set_toast_parameters': - data = dict({'oid': self.table_id, - 'autovacuum_custom': True, - 'autovacuum_enabled': True, - 'vacuum_toast': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': 20}, - {'name': 'autovacuum_vacuum_threshold', - 'value': 20} - ]})}) - elif self.type == 'reset_toast_parameters': - data = dict({'oid': self.table_id, - 'autovacuum_enabled': False, - 'vacuum_toast': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': None}, - {'name': 'autovacuum_vacuum_threshold', - 'value': None} - ]})}) - elif self.type == 'reset_all_toast_parameters': - data = dict({'oid': self.table_id, 'autovacuum_custom': False}) - + data = self.api_data + data['oid'] = self.table_id response = self.tester.put(self.url + str(utils.SERVER_GROUP) + '/' + str(self.server_id) + '/' + str(self.db_id) + '/' + diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py index c552006ab..6a442bfd6 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py @@ -1029,6 +1029,11 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): data['partition_scheme'] = self.get_partition_scheme(data) partitions_sql = self.get_partitions_sql(data) + # Update the vacuum table settings. + self.update_vacuum_settings('vacuum_table', data) + # Update the vacuum toast table settings. + self.update_vacuum_settings('vacuum_toast', data) + SQL = render_template("/".join([self.table_template_path, 'create.sql']), data=data, conn=self.conn) @@ -1191,21 +1196,20 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): """ data = res['rows'][0] - data['vacuum_settings_str'] = "" + data['vacuum_settings_str'] = '' - if data['table_vacuum_settings_str'] is not None: - data['vacuum_settings_str'] += data[ - 'table_vacuum_settings_str'].replace(',', '\n') + if data['reloptions'] is not None: + data['vacuum_settings_str'] += '\n'.join(data['reloptions']) + + if data['toast_reloptions'] is not None: + data['vacuum_settings_str'] += '\n' \ + if data['vacuum_settings_str'] != '' else '' + data['vacuum_settings_str'] += '\n'.\ + join(map(lambda o: 'toast.' + o, data['toast_reloptions'])) - if data['toast_table_vacuum_settings_str'] is not None: - data['vacuum_settings_str'] += '\n' + '\n'.join( - ['toast_' + setting for setting in data[ - 'toast_table_vacuum_settings_str' - ].split(',')] - ) data['vacuum_settings_str'] = data[ 'vacuum_settings_str' - ].replace("=", " = ") + ].replace('=', ' = ') data = self._formatter(did, scid, tid, data) @@ -1496,7 +1500,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): return schema_name, table_name - def update_vacuum_settings(self, vacuum_key, old_data, data): + def update_vacuum_settings(self, vacuum_key, old_data, data=None): """ This function iterate the vacuum and vacuum toast table and create two new dictionaries. One for set parameter and another for reset. @@ -1507,8 +1511,14 @@ class BaseTableView(PGChildNodeView, BasePartitionTable): :return: """ + # When creating a table old_data is the actual data + if data is None: + if vacuum_key in old_data: + for opt in old_data[vacuum_key]: + if 'value' in opt and opt['value'] is None: + opt.pop('value') # Iterate vacuum table - if vacuum_key in data and 'changed' in data[vacuum_key] \ + elif vacuum_key in data and 'changed' in data[vacuum_key] \ and vacuum_key in old_data: set_values = [] reset_values = [] diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py index be3c43c52..f7b8e701b 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/utils.py @@ -10,6 +10,7 @@ """Schema collection node helper class""" import json +import copy from flask import render_template @@ -575,8 +576,8 @@ class VacuumSettings: * type - table/toast vacuum type """ - vacuum_settings_tmp = self.fetch_default_vacuum_settings( - conn, self.manager.sid, type) + vacuum_settings_tmp = copy.deepcopy(self.fetch_default_vacuum_settings( + conn, self.manager.sid, type)) for row in vacuum_settings_tmp: row_name = row['name'] @@ -585,6 +586,7 @@ class VacuumSettings: if row_name in result and result[row_name] is not None: if row['column_type'] == 'number': value = float(result[row_name]) + value = int(value) if value % 1 == 0 else value else: value = int(result[row_name]) row['value'] = value diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py index c64de73bd..60ff902bf 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/__init__.py @@ -1619,27 +1619,17 @@ class MViewNode(ViewNode, VacuumSettings): This function will generate sql from model data """ if vid is not None: - SQL = render_template("/".join( - [self.template_path, 'sql/properties.sql']), - did=did, - vid=vid, - datlastsysoid=self.datlastsysoid - ) - status, res = self.conn.execute_dict(SQL) + status, res = self._fetch_properties(did, None, vid) + if not status: - return None, internal_server_error(errormsg=res) - if len(res['rows']) == 0: - return None, gone( - gettext( - "Could not find the materialized view on the server.") - ) + return res - old_data = res['rows'][0] + old_data = res if 'name' not in data: - data['name'] = res['rows'][0]['name'] + data['name'] = res['name'] if 'schema' not in data: - data['schema'] = res['rows'][0]['schema'] + data['schema'] = res['schema'] # merge vacuum lists into one data['vacuum_data'] = {} @@ -1660,26 +1650,6 @@ class MViewNode(ViewNode, VacuumSettings): item['value']))): data['vacuum_data']['changed'].append(item) - if ( - 'autovacuum_enabled' in data and - old_data['autovacuum_enabled'] is not None - ): - if ( - data['autovacuum_enabled'] != - old_data['autovacuum_enabled'] - ): - data['vacuum_data']['changed'].append( - {'name': 'autovacuum_enabled', - 'value': data['autovacuum_enabled']}) - elif ( - 'autovacuum_enabled' in data and - 'autovacuum_custom' in data and - old_data['autovacuum_enabled'] is None and data[ - 'autovacuum_custom']): - data['vacuum_data']['changed'].append( - {'name': 'autovacuum_enabled', - 'value': data['autovacuum_enabled']}) - # toast autovacuum: separate list of changed and reset data if 'vacuum_toast' in data: if 'changed' in data['vacuum_toast']: @@ -1696,27 +1666,6 @@ class MViewNode(ViewNode, VacuumSettings): item['value']))): data['vacuum_data']['changed'].append(item) - if ( - 'toast_autovacuum_enabled' in data and - old_data['toast_autovacuum_enabled'] is not None - ): - if ( - data['toast_autovacuum_enabled'] != - old_data['toast_autovacuum_enabled'] - ): - data['vacuum_data']['changed'].append( - {'name': 'toast.autovacuum_enabled', - 'value': data['toast_autovacuum_enabled']}) - elif ( - 'toast_autovacuum_enabled' in data and - 'toast_autovacuum' in data and - old_data['toast_autovacuum_enabled'] is None and - data['toast_autovacuum'] - ): - data['vacuum_data']['changed'].append( - {'name': 'toast.autovacuum_enabled', - 'value': data['toast_autovacuum_enabled']}) - acls = [] try: acls = render_template( @@ -1762,32 +1711,15 @@ class MViewNode(ViewNode, VacuumSettings): data['schema'] = self._get_schema(data['schema']) # merge vacuum lists into one - vacuum_table = [item for item in data['vacuum_table'] + vacuum_table = [item for item in data.get('vacuum_table', []) if 'value' in item.keys() and item['value'] is not None] vacuum_toast = [ {'name': 'toast.' + item['name'], 'value': item['value']} - for item in data['vacuum_toast'] + for item in data.get('vacuum_toast', []) if 'value' in item.keys() and item['value'] is not None] - # add table_enabled & toast_enabled settings - if 'autovacuum_custom' in data and data['autovacuum_custom']: - vacuum_table.append( - { - 'name': 'autovacuum_enabled', - 'value': str(data['autovacuum_enabled']) - } - ) - if 'toast_autovacuum' in data and data['toast_autovacuum']: - vacuum_table.append( - { - 'name': 'toast.autovacuum_enabled', - 'value': str(data['toast_autovacuum_enabled']) - } - ) - - # add vacuum_toast dict to vacuum_data only if - # table & toast's custom autovacuum is enabled + # add vacuum_toast dict to vacuum_data data['vacuum_data'] = [] if ( 'autovacuum_custom' in data and @@ -1838,22 +1770,10 @@ class MViewNode(ViewNode, VacuumSettings): display_comments = False SQL_data = '' - SQL = render_template("/".join( - [self.template_path, 'sql/properties.sql']), - did=did, - vid=vid, - datlastsysoid=self.datlastsysoid - ) + status, result = self._fetch_properties(did, scid, vid) - status, res = self.conn.execute_dict(SQL) if not status: - return internal_server_error(errormsg=res) - if len(res['rows']) == 0: - return gone( - gettext("Could not find the materialized view on the server.") - ) - - result = res['rows'][0] + return result if diff_schema: result['definition'] = result['definition'].replace( @@ -1861,16 +1781,6 @@ class MViewNode(ViewNode, VacuumSettings): diff_schema) result['schema'] = diff_schema - # sending result to formtter - frmtd_reslt = self.formatter(result) - - # merging formated result with main result again - result.update(frmtd_reslt) - result['vacuum_table'] = self.parse_vacuum_data( - self.conn, result, 'table') - result['vacuum_toast'] = self.parse_vacuum_data( - self.conn, result, 'toast') - # merge vacuum lists into one vacuum_table = [item for item in result['vacuum_table'] if @@ -1880,43 +1790,7 @@ class MViewNode(ViewNode, VacuumSettings): for item in result['vacuum_toast'] if 'value' in item.keys() and item['value'] is not None] - if 'autovacuum_custom' in result and result['autovacuum_custom']: - vacuum_table.append( - { - 'name': 'autovacuum_enabled', - 'value': str(result['autovacuum_enabled']) - } - ) - if 'toast_autovacuum' in result and result['toast_autovacuum']: - vacuum_table.append( - { - 'name': 'toast.autovacuum_enabled', - 'value': str(result['toast_autovacuum_enabled']) - } - ) - - # add vacuum_toast dict to vacuum_data only if - # toast's autovacuum is enabled - if ( - 'toast_autovacuum_enabled' in result and - result['toast_autovacuum_enabled'] is True - ): - result['vacuum_data'] = vacuum_table + vacuum_toast - else: - result['vacuum_data'] = vacuum_table - - # Fetch all privileges for view - SQL = render_template("/".join( - [self.template_path, 'sql/acl.sql']), vid=vid) - status, dataclres = self.conn.execute_dict(SQL) - if not status: - return internal_server_error(errormsg=res) - - for row in dataclres['rows']: - priv = parse_priv_from_db(row) - res['rows'][0].setdefault(row['deftype'], []).append(priv) - - result.update(res['rows'][0]) + result['vacuum_data'] = vacuum_table + vacuum_toast acls = [] try: @@ -1996,6 +1870,7 @@ class MViewNode(ViewNode, VacuumSettings): and render in the properties tab """ status, res = self._fetch_properties(did, scid, vid) + if not status: return res @@ -2023,6 +1898,59 @@ class MViewNode(ViewNode, VacuumSettings): return False, gone( gettext("""Could not find the materialized view.""")) + # Set value based on + # x: No set, t: true, f: false + res['rows'][0]['autovacuum_enabled'] = 'x' \ + if res['rows'][0]['autovacuum_enabled'] is None else \ + {True: 't', False: 'f'}[res['rows'][0]['autovacuum_enabled']] + + res['rows'][0]['toast_autovacuum_enabled'] = 'x' \ + if res['rows'][0]['toast_autovacuum_enabled'] is None else \ + {True: 't', False: 'f'}[res['rows'][0]['toast_autovacuum_enabled']] + + # Enable custom autovaccum only if one of the options is set + # or autovacuum is set + res['rows'][0]['autovacuum_custom'] = any([ + res['rows'][0]['autovacuum_vacuum_threshold'], + res['rows'][0]['autovacuum_vacuum_scale_factor'], + res['rows'][0]['autovacuum_analyze_threshold'], + res['rows'][0]['autovacuum_analyze_scale_factor'], + res['rows'][0]['autovacuum_vacuum_cost_delay'], + res['rows'][0]['autovacuum_vacuum_cost_limit'], + res['rows'][0]['autovacuum_freeze_min_age'], + res['rows'][0]['autovacuum_freeze_max_age'], + res['rows'][0]['autovacuum_freeze_table_age']]) \ + or res['rows'][0]['autovacuum_enabled'] in ('t', 'f') + + res['rows'][0]['toast_autovacuum'] = any([ + res['rows'][0]['toast_autovacuum_vacuum_threshold'], + res['rows'][0]['toast_autovacuum_vacuum_scale_factor'], + res['rows'][0]['toast_autovacuum_analyze_threshold'], + res['rows'][0]['toast_autovacuum_analyze_scale_factor'], + res['rows'][0]['toast_autovacuum_vacuum_cost_delay'], + res['rows'][0]['toast_autovacuum_vacuum_cost_limit'], + res['rows'][0]['toast_autovacuum_freeze_min_age'], + res['rows'][0]['toast_autovacuum_freeze_max_age'], + res['rows'][0]['toast_autovacuum_freeze_table_age']]) \ + or res['rows'][0]['toast_autovacuum_enabled'] in ('t', 'f') + + res['rows'][0]['vacuum_settings_str'] = '' + + if res['rows'][0]['reloptions'] is not None: + res['rows'][0]['vacuum_settings_str'] += '\n'.\ + join(res['rows'][0]['reloptions']) + + if res['rows'][0]['toast_reloptions'] is not None: + res['rows'][0]['vacuum_settings_str'] += '\n' \ + if res['rows'][0]['vacuum_settings_str'] != "" else "" + res['rows'][0]['vacuum_settings_str'] += '\n'.\ + join(map(lambda o: 'toast.' + o, + res['rows'][0]['toast_reloptions'])) + + res['rows'][0]['vacuum_settings_str'] = res['rows'][0][ + 'vacuum_settings_str' + ].replace('=', ' = ') + SQL = render_template("/".join( [self.template_path, 'sql/acl.sql']), vid=vid) status, dataclres = self.conn.execute_dict(SQL) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js index 34d45773c..5036f8a77 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js @@ -58,6 +58,7 @@ define('pgadmin.node.mview', [ hasDepends: true, hasScriptTypes: ['create', 'select'], collection_type: 'coll-mview', + width: pgBrowser.stdW.md + 'px', Init: function() { // Avoid mulitple registration of menus @@ -140,8 +141,8 @@ define('pgadmin.node.mview', [ }, defaults: { spcname: undefined, - toast_autovacuum_enabled: false, - autovacuum_enabled: false, + toast_autovacuum_enabled: 'x', + autovacuum_enabled: 'x', warn_text: undefined, }, schema: [{ @@ -207,6 +208,9 @@ define('pgadmin.node.mview', [ id: 'fillfactor', label: gettext('Fill factor'), group: gettext('Storage'), mode: ['edit', 'create'], type: 'int', min: 10, max: 100, + },{ + id: 'vacuum_settings_str', label: gettext('Storage settings'), + type: 'multiline', group: gettext('Storage'), mode: ['properties'], },{ type: 'nested', control: 'tab', id: 'materialization', label: gettext('Parameter'), mode: ['edit', 'create'], @@ -228,6 +232,16 @@ define('pgadmin.node.mview', [ mode: ['edit', 'create'], canAdd: true, control: 'unique-col-collection', uniqueCol : ['provider'], }], + sessChanged: function() { + /* If only custom autovacuum option is enabled the check if the options table is also changed. */ + if(_.size(this.sessAttrs) == 2 && this.sessAttrs['autovacuum_custom'] && this.sessAttrs['toast_autovacuum']) { + return this.get('vacuum_table').sessChanged() || this.get('vacuum_toast').sessChanged(); + } + if(_.size(this.sessAttrs) == 1 && (this.sessAttrs['autovacuum_custom'] || this.sessAttrs['toast_autovacuum'])) { + return this.get('vacuum_table').sessChanged() || this.get('vacuum_toast').sessChanged(); + } + return pgBrowser.DataModel.prototype.sessChanged.apply(this); + }, validate: function(keys) { // Triggers specific error messages for fields @@ -235,9 +249,11 @@ define('pgadmin.node.mview', [ errmsg, field_name = this.get('name'), field_def = this.get('definition'); - if (_.indexOf(keys, 'autovacuum_enabled') != -1 || + + if(_.indexOf(keys, 'autovacuum_custom')) + if (_.indexOf(keys, 'autovacuum_enabled') != -1 || _.indexOf(keys, 'toast_autovacuum_enabled') != -1 ) - return null; + return null; if (_.isUndefined(field_name) || _.isNull(field_name) || String(field_name).replace(/^\s+|\s+$/g, '') == '') { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/create.sql index 89b200d39..f092223ac 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/create.sql @@ -7,15 +7,21 @@ {% endif %} {% if data.name and data.schema and data.definition %} CREATE MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} -{% if(data.fillfactor or data['vacuum_data']|length > 0) %} +{% if(data.fillfactor or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum_enabled in ('t', 'f') or data['vacuum_data']|length > 0) %} +{% set ns = namespace(add_comma=false) %} WITH ( {% if data.fillfactor %} - FILLFACTOR = {{ data.fillfactor }}{% if data['autovacuum_enabled'] or data['toast_autovacuum_enabled'] or data['vacuum_data']|length > 0 %},{{ '\n' }}{% endif %} + FILLFACTOR = {{ data.fillfactor }}{% set ns.add_comma = true%}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, {% endif %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, +{% endif %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %} {% for field in data['vacuum_data'] %} {% if field.value is defined and field.value != '' and field.value != none %} -{% if loop.index > 1 %}, -{% endif %} {{ field.name }} = {{ field.value|lower }}{% endif %}{% endfor %} +{% if ns.add_comma %}, +{% endif %} {{ field.name }} = {{ field.value|lower }}{% set ns.add_comma = true%}{% endif %}{% endfor %} {{ '\n' }}) {% endif %} {% if data.spcname %}TABLESPACE {{ data.spcname }} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql index df3fafcdc..39b435cb8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/properties.sql @@ -24,8 +24,7 @@ SELECT (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=c.oid AND sl1.objsubid=0) AS seclabels, substring(array_to_string(c.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - (CASE WHEN (substring(array_to_string(c.reloptions, ',') - FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(c.reloptions, ',') @@ -44,8 +43,7 @@ SELECT FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') - FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') @@ -65,9 +63,7 @@ SELECT substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, c.reloptions AS reloptions, tst.reloptions AS toast_reloptions, - (CASE WHEN c.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - (CASE WHEN array_length(c.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND c.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum + (CASE WHEN c.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable FROM pg_class c LEFT OUTER JOIN pg_namespace nsp on nsp.oid = c.relnamespace diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/update.sql index e7ab7ab07..dc752a2ec 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.3_plus/sql/update.sql @@ -27,14 +27,17 @@ ALTER TABLE {{ conn|qtIdent(view_schema, view_name) }} {% if def and def != o_data.definition.rstrip(';') %} DROP MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }}; CREATE MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} -{% if data.fillfactor or (data['vacuum_data']['changed']|length > 0 ) %} +{% if data.fillfactor or o_data.fillfactor %} WITH( {% if data.fillfactor %} - FILLFACTOR = {{ data.fillfactor }}{% if data['vacuum_data']['changed']|length > 0 %},{% endif %}{{ '\r' }} + FILLFACTOR = {{ data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} +{% elif o_data.fillfactor %} + FILLFACTOR = {{ o_data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} {% endif %} + {% if data['vacuum_data']['changed']|length > 0 %} -{% for field in data['vacuum_data']['changed'] %} - {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{{ '\r' }} +{% for field in data['vacuum_data']['changed'] %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %}, +{% endif %} {% endfor %} {% endif %} ) @@ -43,11 +46,14 @@ WITH( {{ def }} {% if data.with_data is defined %} WITH {{ 'DATA' if data.with_data else 'NO DATA' }}; - -{% elif o_data.with_data %} +{% elif o_data.with_data is defined %} WITH {{ 'DATA' if o_data.with_data else 'NO DATA' }}; {% endif %} +{% if o_data.comment and not data.comment %} +COMMENT ON MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} + IS {{ o_data.comment|qtLiteral }}; +{% endif %} {% else %} {# ======= Alter Tablespace ========= #} {%- if data.spcoid and o_data.spcoid != data.spcoid -%} @@ -74,11 +80,8 @@ RESET( REFRESH MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} WITH{{ ' NO' if data.with_data|lower == 'false' else '' }} DATA; {% endif %} -{# ===== Check for Table tab properties ===== #} -{% if ((data.autovacuum_custom is defined and data.autovacuum_custom|lower == 'false') or -(data.toast_autovacuum is defined and data.toast_autovacuum|lower == 'false') -) %} -{% if data.autovacuum_custom|lower == 'false' %} +{# ===== Check for Autovacuum options ===== #} +{% if data.autovacuum_custom is defined and data.autovacuum_custom == False %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( autovacuum_enabled, autovacuum_vacuum_threshold, @@ -92,21 +95,9 @@ ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( autovacuum_freeze_table_age ); -{% if data.toast_autovacuum is defined and data.toast_autovacuum|lower != 'false' %} -{% if('vacuum_toast' in data and data['vacuum_toast']['changed']|length > 0) %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( -{% for field in data['vacuum_toast']['changed'] %} -{% if field.value != None %} - {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{{ '\r' }} -{% endif %} -{% endfor %} -); - -{% endif %} {% endif %} -{% endif %} -{% if data.toast_autovacuum|lower == 'false' %} +{% if data.toast_autovacuum is defined and data.toast_autovacuum == False %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( toast.autovacuum_enabled, toast.autovacuum_vacuum_threshold, @@ -120,47 +111,42 @@ ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( toast.autovacuum_freeze_table_age ); -{% if data.autovacuum_custom is defined and data.autovacuum_custom|lower != 'false' %} -{% if('vacuum_table' in data and data['vacuum_table']['changed']|length > 0) %} +{% endif %}{#-- toast_endif ends --#} +{% if data['vacuum_data']['changed']|length > 0 or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum_enabled in ('t', 'f') %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( -{% for field in data['vacuum_table']['changed'] %} -{% if field.value != None %} - {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{{ '\r' }} +{% if data.autovacuum_enabled in ('t', 'f') %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if data['vacuum_data']['changed']|length > 0 or data.toast_autovacuum_enabled in ('t', 'f') %}, {% endif %} -{% endfor %} -); - {% endif %} +{% if data.toast_autovacuum_enabled in ('t', 'f') %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if data['vacuum_data']['changed']|length > 0 %}, {% endif %} -{% endif %}{#-- toast_endif ends --#} - -{% else %} -{% if data['vacuum_data']['reset']|length == 0 and -data['vacuum_data']['changed']|length == 0 and data['settings']|length > 0 %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} SET( -{% for field in data['settings'] %} - {{ field }} = {{ data['settings'][field]|lower }}{% if not loop.last %},{% endif %}{{ '\r' }} -{% endfor %} -); - {% endif %} -{% if(data['vacuum_data']['changed']|length > 0) %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( {% for field in data['vacuum_data']['changed'] %} -{% if field.value != None %} - {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{{ '\r' }} +{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %}, +{% endif %} {% endif %} {% endfor %} + ); {% endif %} -{% if data['vacuum_data']['reset']|length > 0 %} +{% if data['vacuum_data']['reset']|length > 0 or data.autovacuum_enabled == 'x' or data.toast_autovacuum_enabled == 'x' %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( -{% for field in data['vacuum_data']['reset'] %} - {{ field.name }}{% if not loop.last %},{% endif %}{{ '\r' }} +{% if data.autovacuum_enabled == 'x' %} + autovacuum_enabled{% if data['vacuum_data']['reset']|length > 0 or data.toast_autovacuum_enabled == 'x' %}, +{% endif %} +{% endif %} +{% if data.toast_autovacuum_enabled == 'x' %} + toast.autovacuum_enabled{% if data['vacuum_data']['reset']|length > 0 %}, +{% endif %} +{% endif %} +{% for field in data['vacuum_data']['reset'] %} {{ field.name }}{% if not loop.last %}, +{% endif %} {% endfor %} + ); {% endif %} -{% endif %}{# ===== End check for custom autovacuum ===== #} +{# ===== End check for custom autovacuum ===== #} {% endif %}{# ===== End block for check data definition ===== #} {% set old_comment = o_data.comment|default('', true) %} {% if (data.comment is defined and (data.comment != old_comment)) %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/create.sql index 89b200d39..f092223ac 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/create.sql @@ -7,15 +7,21 @@ {% endif %} {% if data.name and data.schema and data.definition %} CREATE MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} -{% if(data.fillfactor or data['vacuum_data']|length > 0) %} +{% if(data.fillfactor or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum_enabled in ('t', 'f') or data['vacuum_data']|length > 0) %} +{% set ns = namespace(add_comma=false) %} WITH ( {% if data.fillfactor %} - FILLFACTOR = {{ data.fillfactor }}{% if data['autovacuum_enabled'] or data['toast_autovacuum_enabled'] or data['vacuum_data']|length > 0 %},{{ '\n' }}{% endif %} + FILLFACTOR = {{ data.fillfactor }}{% set ns.add_comma = true%}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, {% endif %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, +{% endif %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %} {% for field in data['vacuum_data'] %} {% if field.value is defined and field.value != '' and field.value != none %} -{% if loop.index > 1 %}, -{% endif %} {{ field.name }} = {{ field.value|lower }}{% endif %}{% endfor %} +{% if ns.add_comma %}, +{% endif %} {{ field.name }} = {{ field.value|lower }}{% set ns.add_comma = true%}{% endif %}{% endfor %} {{ '\n' }}) {% endif %} {% if data.spcname %}TABLESPACE {{ data.spcname }} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql index df3fafcdc..39b435cb8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/properties.sql @@ -24,8 +24,7 @@ SELECT (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=c.oid AND sl1.objsubid=0) AS seclabels, substring(array_to_string(c.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - (CASE WHEN (substring(array_to_string(c.reloptions, ',') - FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(c.reloptions, ',') @@ -44,8 +43,7 @@ SELECT FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') - FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') @@ -65,9 +63,7 @@ SELECT substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, c.reloptions AS reloptions, tst.reloptions AS toast_reloptions, - (CASE WHEN c.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - (CASE WHEN array_length(c.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND c.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum + (CASE WHEN c.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable FROM pg_class c LEFT OUTER JOIN pg_namespace nsp on nsp.oid = c.relnamespace diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/update.sql index 922b11887..dc752a2ec 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/pg/9.4_plus/sql/update.sql @@ -30,13 +30,14 @@ CREATE MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} {% if data.fillfactor or o_data.fillfactor %} WITH( {% if data.fillfactor %} -FILLFACTOR = {{ data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} + FILLFACTOR = {{ data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} {% elif o_data.fillfactor %} -FILLFACTOR = {{ o_data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} + FILLFACTOR = {{ o_data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} {% endif %} {% if data['vacuum_data']['changed']|length > 0 %} -{% for field in data['vacuum_data']['changed'] %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{{ '\n' }}{% endif %} +{% for field in data['vacuum_data']['changed'] %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %}, +{% endif %} {% endfor %} {% endif %} ) @@ -79,11 +80,8 @@ RESET( REFRESH MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} WITH{{ ' NO' if data.with_data|lower == 'false' else '' }} DATA; {% endif %} -{# ===== Check for Table tab properties ===== #} -{% if ((data.autovacuum_custom is defined and data.autovacuum_custom|lower == 'false') or -(data.toast_autovacuum is defined and data.toast_autovacuum|lower == 'false') -) %} -{% if data.autovacuum_custom|lower == 'false' %} +{# ===== Check for Autovacuum options ===== #} +{% if data.autovacuum_custom is defined and data.autovacuum_custom == False %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( autovacuum_enabled, autovacuum_vacuum_threshold, @@ -97,20 +95,9 @@ ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( autovacuum_freeze_table_age ); -{% if data.toast_autovacuum is defined and data.toast_autovacuum|lower != 'false' %} -{% if('vacuum_toast' in data and data['vacuum_toast']['changed']|length > 0) %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( -{% for field in data['vacuum_toast']['changed'] %} -{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{{ '\n' }}{% endif %} -{% endif %} -{% endfor %} -); - -{% endif %} {% endif %} -{% endif %} -{% if data.toast_autovacuum|lower == 'false' %} +{% if data.toast_autovacuum is defined and data.toast_autovacuum == False %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( toast.autovacuum_enabled, toast.autovacuum_vacuum_threshold, @@ -124,40 +111,42 @@ ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( toast.autovacuum_freeze_table_age ); -{% if data.autovacuum_custom is defined and data.autovacuum_custom|lower != 'false' %} -{% if('vacuum_table' in data and data['vacuum_table']['changed']|length > 0) %} +{% endif %}{#-- toast_endif ends --#} +{% if data['vacuum_data']['changed']|length > 0 or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum_enabled in ('t', 'f') %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( -{% for field in data['vacuum_table']['changed'] %} -{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{% endif %} -{% endfor %} -); - +{% if data.autovacuum_enabled in ('t', 'f') %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if data['vacuum_data']['changed']|length > 0 or data.toast_autovacuum_enabled in ('t', 'f') %}, {% endif %} {% endif %} -{% endif %}{#-- toast_endif ends --#} - -{% else %} -{% if data['vacuum_data']['reset']|length == 0 and -data['vacuum_data']['changed']|length == 0 and data['settings']|length > 0 %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} SET( -{% for field in data['settings'] %} {{ field }} = {{ data['settings'][field]|lower }}{% if not loop.last %},{{ '\n' }}{% endif %} -{% endfor %} -); - +{% if data.toast_autovacuum_enabled in ('t', 'f') %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if data['vacuum_data']['changed']|length > 0 %}, +{% endif %} {% endif %} -{% if(data['vacuum_data']['changed']|length > 0) %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( {% for field in data['vacuum_data']['changed'] %} -{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{{ '\n' }}{% endif %} +{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %}, +{% endif %} +{% endif %} {% endfor %} + ); {% endif %} -{% if data['vacuum_data']['reset']|length > 0 %} +{% if data['vacuum_data']['reset']|length > 0 or data.autovacuum_enabled == 'x' or data.toast_autovacuum_enabled == 'x' %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( -{% for field in data['vacuum_data']['reset'] %} {{ field.name }}{% if not loop.last %},{% endif %}{{ '\n' }}{% endfor %} +{% if data.autovacuum_enabled == 'x' %} + autovacuum_enabled{% if data['vacuum_data']['reset']|length > 0 or data.toast_autovacuum_enabled == 'x' %}, +{% endif %} +{% endif %} +{% if data.toast_autovacuum_enabled == 'x' %} + toast.autovacuum_enabled{% if data['vacuum_data']['reset']|length > 0 %}, +{% endif %} +{% endif %} +{% for field in data['vacuum_data']['reset'] %} {{ field.name }}{% if not loop.last %}, +{% endif %} +{% endfor %} + ); {% endif %} -{% endif %}{# ===== End check for custom autovacuum ===== #} +{# ===== End check for custom autovacuum ===== #} {% endif %}{# ===== End block for check data definition ===== #} {% set old_comment = o_data.comment|default('', true) %} {% if (data.comment is defined and (data.comment != old_comment)) %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/create.sql index 89b200d39..f092223ac 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/create.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/create.sql @@ -7,15 +7,21 @@ {% endif %} {% if data.name and data.schema and data.definition %} CREATE MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} -{% if(data.fillfactor or data['vacuum_data']|length > 0) %} +{% if(data.fillfactor or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum_enabled in ('t', 'f') or data['vacuum_data']|length > 0) %} +{% set ns = namespace(add_comma=false) %} WITH ( {% if data.fillfactor %} - FILLFACTOR = {{ data.fillfactor }}{% if data['autovacuum_enabled'] or data['toast_autovacuum_enabled'] or data['vacuum_data']|length > 0 %},{{ '\n' }}{% endif %} + FILLFACTOR = {{ data.fillfactor }}{% set ns.add_comma = true%}{% endif %}{% if data.autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, {% endif %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %}{% if data.toast_autovacuum_enabled in ('t', 'f') %} +{% if ns.add_comma %}, +{% endif %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}TRUE{% else %}FALSE{% endif %}{% set ns.add_comma = true%}{% endif %} {% for field in data['vacuum_data'] %} {% if field.value is defined and field.value != '' and field.value != none %} -{% if loop.index > 1 %}, -{% endif %} {{ field.name }} = {{ field.value|lower }}{% endif %}{% endfor %} +{% if ns.add_comma %}, +{% endif %} {{ field.name }} = {{ field.value|lower }}{% set ns.add_comma = true%}{% endif %}{% endfor %} {{ '\n' }}) {% endif %} {% if data.spcname %}TABLESPACE {{ data.spcname }} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/properties.sql index df3fafcdc..39b435cb8 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/properties.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/properties.sql @@ -24,8 +24,7 @@ SELECT (SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=c.oid AND sl1.objsubid=0) AS seclabels, substring(array_to_string(c.reloptions, ',') FROM 'fillfactor=([0-9]*)') AS fillfactor, - (CASE WHEN (substring(array_to_string(c.reloptions, ',') - FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') THEN true ELSE false END) AS autovacuum_enabled, + (substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS autovacuum_enabled, substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS autovacuum_vacuum_threshold, substring(array_to_string(c.reloptions, ',') @@ -44,8 +43,7 @@ SELECT FROM 'autovacuum_freeze_max_age=([0-9]*)') AS autovacuum_freeze_max_age, substring(array_to_string(c.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS autovacuum_freeze_table_age, - (CASE WHEN (substring(array_to_string(tst.reloptions, ',') - FROM 'autovacuum_enabled=([a-z|0-9]*)') = 'true') THEN true ELSE false END) AS toast_autovacuum_enabled, + (substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_enabled=([a-z|0-9]*)'))::BOOL AS toast_autovacuum_enabled, substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_vacuum_threshold=([0-9]*)') AS toast_autovacuum_vacuum_threshold, substring(array_to_string(tst.reloptions, ',') @@ -65,9 +63,7 @@ SELECT substring(array_to_string(tst.reloptions, ',') FROM 'autovacuum_freeze_table_age=([0-9]*)') AS toast_autovacuum_freeze_table_age, c.reloptions AS reloptions, tst.reloptions AS toast_reloptions, - (CASE WHEN c.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable, - (CASE WHEN array_length(c.reloptions, 1) > 0 THEN true ELSE false END) AS autovacuum_custom, - (CASE WHEN array_length(tst.reloptions, 1) > 0 AND c.reltoastrelid != 0 THEN true ELSE false END) AS toast_autovacuum + (CASE WHEN c.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable FROM pg_class c LEFT OUTER JOIN pg_namespace nsp on nsp.oid = c.relnamespace diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/update.sql index 922b11887..dc752a2ec 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mviews/ppas/9.3_plus/sql/update.sql @@ -30,13 +30,14 @@ CREATE MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} {% if data.fillfactor or o_data.fillfactor %} WITH( {% if data.fillfactor %} -FILLFACTOR = {{ data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} + FILLFACTOR = {{ data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} {% elif o_data.fillfactor %} -FILLFACTOR = {{ o_data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} + FILLFACTOR = {{ o_data.fillfactor }}{% if (data['vacuum_data'] is defined and data['vacuum_data']['changed']|length > 0) %},{% endif %} {% endif %} {% if data['vacuum_data']['changed']|length > 0 %} -{% for field in data['vacuum_data']['changed'] %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{{ '\n' }}{% endif %} +{% for field in data['vacuum_data']['changed'] %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %}, +{% endif %} {% endfor %} {% endif %} ) @@ -79,11 +80,8 @@ RESET( REFRESH MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} WITH{{ ' NO' if data.with_data|lower == 'false' else '' }} DATA; {% endif %} -{# ===== Check for Table tab properties ===== #} -{% if ((data.autovacuum_custom is defined and data.autovacuum_custom|lower == 'false') or -(data.toast_autovacuum is defined and data.toast_autovacuum|lower == 'false') -) %} -{% if data.autovacuum_custom|lower == 'false' %} +{# ===== Check for Autovacuum options ===== #} +{% if data.autovacuum_custom is defined and data.autovacuum_custom == False %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( autovacuum_enabled, autovacuum_vacuum_threshold, @@ -97,20 +95,9 @@ ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( autovacuum_freeze_table_age ); -{% if data.toast_autovacuum is defined and data.toast_autovacuum|lower != 'false' %} -{% if('vacuum_toast' in data and data['vacuum_toast']['changed']|length > 0) %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( -{% for field in data['vacuum_toast']['changed'] %} -{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{{ '\n' }}{% endif %} -{% endif %} -{% endfor %} -); - -{% endif %} {% endif %} -{% endif %} -{% if data.toast_autovacuum|lower == 'false' %} +{% if data.toast_autovacuum is defined and data.toast_autovacuum == False %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( toast.autovacuum_enabled, toast.autovacuum_vacuum_threshold, @@ -124,40 +111,42 @@ ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( toast.autovacuum_freeze_table_age ); -{% if data.autovacuum_custom is defined and data.autovacuum_custom|lower != 'false' %} -{% if('vacuum_table' in data and data['vacuum_table']['changed']|length > 0) %} +{% endif %}{#-- toast_endif ends --#} +{% if data['vacuum_data']['changed']|length > 0 or data.autovacuum_enabled in ('t', 'f') or data.toast_autovacuum_enabled in ('t', 'f') %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( -{% for field in data['vacuum_table']['changed'] %} -{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{% endif %} -{% endfor %} -); - +{% if data.autovacuum_enabled in ('t', 'f') %} + autovacuum_enabled = {% if data.autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if data['vacuum_data']['changed']|length > 0 or data.toast_autovacuum_enabled in ('t', 'f') %}, {% endif %} {% endif %} -{% endif %}{#-- toast_endif ends --#} - -{% else %} -{% if data['vacuum_data']['reset']|length == 0 and -data['vacuum_data']['changed']|length == 0 and data['settings']|length > 0 %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} SET( -{% for field in data['settings'] %} {{ field }} = {{ data['settings'][field]|lower }}{% if not loop.last %},{{ '\n' }}{% endif %} -{% endfor %} -); - +{% if data.toast_autovacuum_enabled in ('t', 'f') %} + toast.autovacuum_enabled = {% if data.toast_autovacuum_enabled == 't' %}true{% else %}false{% endif %}{% if data['vacuum_data']['changed']|length > 0 %}, +{% endif %} {% endif %} -{% if(data['vacuum_data']['changed']|length > 0) %} -ALTER MATERIALIZED VIEW {{ conn|qtIdent(data.schema, data.name) }} SET( {% for field in data['vacuum_data']['changed'] %} -{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %},{% endif %}{{ '\n' }}{% endif %} +{% if field.value != None %} {{ field.name }} = {{ field.value|lower }}{% if not loop.last %}, +{% endif %} +{% endif %} {% endfor %} + ); {% endif %} -{% if data['vacuum_data']['reset']|length > 0 %} +{% if data['vacuum_data']['reset']|length > 0 or data.autovacuum_enabled == 'x' or data.toast_autovacuum_enabled == 'x' %} ALTER MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} RESET( -{% for field in data['vacuum_data']['reset'] %} {{ field.name }}{% if not loop.last %},{% endif %}{{ '\n' }}{% endfor %} +{% if data.autovacuum_enabled == 'x' %} + autovacuum_enabled{% if data['vacuum_data']['reset']|length > 0 or data.toast_autovacuum_enabled == 'x' %}, +{% endif %} +{% endif %} +{% if data.toast_autovacuum_enabled == 'x' %} + toast.autovacuum_enabled{% if data['vacuum_data']['reset']|length > 0 %}, +{% endif %} +{% endif %} +{% for field in data['vacuum_data']['reset'] %} {{ field.name }}{% if not loop.last %}, +{% endif %} +{% endfor %} + ); {% endif %} -{% endif %}{# ===== End check for custom autovacuum ===== #} +{# ===== End check for custom autovacuum ===== #} {% endif %}{# ===== End block for check data definition ===== #} {% set old_comment = o_data.comment|default('', true) %} {% if (data.comment is defined and (data.comment != old_comment)) %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_fillfactor.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_fillfactor.sql index a79299f2e..c79991c4f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_fillfactor.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_fillfactor.sql @@ -4,8 +4,7 @@ CREATE MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" WITH ( - FILLFACTOR = 18, - autovacuum_enabled = false + FILLFACTOR = 18 ) TABLESPACE pg_default AS diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter.sql index 72fb22614..824b3d13f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter.sql @@ -5,8 +5,8 @@ CREATE MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" WITH ( FILLFACTOR = 18, - autovacuum_analyze_scale_factor = 0.2, - autovacuum_enabled = true + autovacuum_enabled = TRUE, + autovacuum_analyze_scale_factor = 0.2 ) TABLESPACE pg_default AS diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter_msql.sql index 737ffaa32..6f13ab46d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter_msql.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_add_table_parameter_msql.sql @@ -1,4 +1,4 @@ ALTER MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" SET( - autovacuum_analyze_scale_factor = 0.2, - autovacuum_enabled = true + autovacuum_enabled = true, + autovacuum_analyze_scale_factor = 0.2 ); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter.sql index a79299f2e..c79991c4f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter.sql @@ -4,8 +4,7 @@ CREATE MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" WITH ( - FILLFACTOR = 18, - autovacuum_enabled = false + FILLFACTOR = 18 ) TABLESPACE pg_default AS diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter_msql.sql index 8aed82923..cccaa3885 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter_msql.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/alter_mview_remove_table_parameter_msql.sql @@ -1,6 +1,4 @@ -ALTER MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" SET( - autovacuum_enabled = false -); ALTER MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" RESET( - autovacuum_analyze_scale_factor + autovacuum_enabled, + autovacuum_analyze_scale_factor ); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/test_mview.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/test_mview.json index 7f0bd477d..29ff3e27f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/test_mview.json +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/pg/9.4_plus/test_mview.json @@ -8,62 +8,8 @@ "msql_endpoint": "NODE-mview.msql", "data": { "spcname": "pg_default", - "toast_autovacuum_enabled": false, - "autovacuum_enabled": false, "schema": "public", "owner": "postgres", - "vacuum_table": [ - { - "name": "autovacuum_analyze_scale_factor" - }, - { - "name": "autovacuum_analyze_threshold" - }, - { - "name": "autovacuum_freeze_max_age" - }, - { - "name": "autovacuum_vacuum_cost_delay" - }, - { - "name": "autovacuum_vacuum_cost_limit" - }, - { - "name": "autovacuum_vacuum_scale_factor" - }, - { - "name": "autovacuum_vacuum_threshold" - }, - { - "name": "autovacuum_freeze_min_age" - }, - { - "name": "autovacuum_freeze_table_age" - } - ], - "vacuum_toast": [ - { - "name": "autovacuum_freeze_max_age" - }, - { - "name": "autovacuum_vacuum_cost_delay" - }, - { - "name": "autovacuum_vacuum_cost_limit" - }, - { - "name": "autovacuum_vacuum_scale_factor" - }, - { - "name": "autovacuum_vacuum_threshold" - }, - { - "name": "autovacuum_freeze_min_age" - }, - { - "name": "autovacuum_freeze_table_age" - } - ], "datacl": [], "seclabels": [], "name": "testmview_$%{}[]()&*^!/@`#", @@ -218,7 +164,7 @@ "msql_endpoint": "NODE-mview.msql_id", "data": { "autovacuum_custom": true, - "autovacuum_enabled": true, + "autovacuum_enabled": "t", "vacuum_table": { "changed": [ { @@ -239,7 +185,7 @@ "msql_endpoint": "NODE-mview.msql_id", "data": { "autovacuum_custom": true, - "autovacuum_enabled": false, + "autovacuum_enabled": "x", "vacuum_table": { "changed": [ { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_fillfactor.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_fillfactor.sql index 8a297d450..d281242c3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_fillfactor.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_fillfactor.sql @@ -4,8 +4,7 @@ CREATE MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" WITH ( - FILLFACTOR = 18, - autovacuum_enabled = false + FILLFACTOR = 18 ) TABLESPACE pg_default AS diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter.sql index 3fc763dd4..b38de214f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter.sql @@ -5,8 +5,8 @@ CREATE MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" WITH ( FILLFACTOR = 18, - autovacuum_analyze_scale_factor = 0.2, - autovacuum_enabled = true + autovacuum_enabled = TRUE, + autovacuum_analyze_scale_factor = 0.2 ) TABLESPACE pg_default AS diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter_msql.sql index 737ffaa32..6f13ab46d 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter_msql.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_add_table_parameter_msql.sql @@ -1,4 +1,4 @@ ALTER MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" SET( - autovacuum_analyze_scale_factor = 0.2, - autovacuum_enabled = true + autovacuum_enabled = true, + autovacuum_analyze_scale_factor = 0.2 ); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter.sql index 8a297d450..d281242c3 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter.sql @@ -4,8 +4,7 @@ CREATE MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" WITH ( - FILLFACTOR = 18, - autovacuum_enabled = false + FILLFACTOR = 18 ) TABLESPACE pg_default AS diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter_msql.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter_msql.sql index 8aed82923..cccaa3885 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter_msql.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/alter_mview_remove_table_parameter_msql.sql @@ -1,6 +1,4 @@ -ALTER MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" SET( - autovacuum_enabled = false -); ALTER MATERIALIZED VIEW public."testmview_$%{}[]()&*^!/@`#" RESET( - autovacuum_analyze_scale_factor + autovacuum_enabled, + autovacuum_analyze_scale_factor ); diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/test_mview.json b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/test_mview.json index 4ea610331..33d0f9ba7 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/test_mview.json +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/ppas/9.4_plus/test_mview.json @@ -8,62 +8,8 @@ "msql_endpoint": "NODE-mview.msql", "data": { "spcname": "pg_default", - "toast_autovacuum_enabled": false, - "autovacuum_enabled": false, "schema": "public", "owner": "enterprisedb", - "vacuum_table": [ - { - "name": "autovacuum_analyze_scale_factor" - }, - { - "name": "autovacuum_analyze_threshold" - }, - { - "name": "autovacuum_freeze_max_age" - }, - { - "name": "autovacuum_vacuum_cost_delay" - }, - { - "name": "autovacuum_vacuum_cost_limit" - }, - { - "name": "autovacuum_vacuum_scale_factor" - }, - { - "name": "autovacuum_vacuum_threshold" - }, - { - "name": "autovacuum_freeze_min_age" - }, - { - "name": "autovacuum_freeze_table_age" - } - ], - "vacuum_toast": [ - { - "name": "autovacuum_freeze_max_age" - }, - { - "name": "autovacuum_vacuum_cost_delay" - }, - { - "name": "autovacuum_vacuum_cost_limit" - }, - { - "name": "autovacuum_vacuum_scale_factor" - }, - { - "name": "autovacuum_vacuum_threshold" - }, - { - "name": "autovacuum_freeze_min_age" - }, - { - "name": "autovacuum_freeze_table_age" - } - ], "datacl": [], "seclabels": [], "name": "testmview_$%{}[]()&*^!/@`#", @@ -218,7 +164,7 @@ "msql_endpoint": "NODE-mview.msql_id", "data": { "autovacuum_custom": true, - "autovacuum_enabled": true, + "autovacuum_enabled": "t", "vacuum_table": { "changed": [ { @@ -239,7 +185,7 @@ "msql_endpoint": "NODE-mview.msql_id", "data": { "autovacuum_custom": true, - "autovacuum_enabled": false, + "autovacuum_enabled": "x", "vacuum_table": { "changed": [ { diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_mviews_parameters.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_mviews_parameters.py index c84276ef6..177aa21b5 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_mviews_parameters.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/tests/test_mviews_parameters.py @@ -24,25 +24,105 @@ from . import utils as views_utils class MViewsUpdateParameterTestCase(BaseTestGenerator): """This class will update the view/mview under schema node.""" scenarios = [ - ('Enable custom auto vacuum and set the parameters for table', - dict(url='/browser/mview/obj/', type='set_vacuum_parameters') + # Fetching default URL for table node. + ('Enable custom auto vacuum and set the parameters for table ' + 'without autovacuum_enabled', + dict(url='/browser/mview/obj/', + api_data={ + 'autovacuum_custom': True, + 'vacuum_table': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 20}, + {'name': 'autovacuum_vacuum_threshold', + 'value': 20} + ] + }} + ) ), - ('Disable auto vacuum and reset the parameters for table', - dict(url='/browser/mview/obj/', type='reset_vacuum_parameters') + ('Change a parameter to zero value ' + 'without autovacuum_enabled', + dict(url='/browser/mview/obj/', + api_data={ + 'vacuum_table': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 0} + ] + }} + ) ), - ('Disable custom auto vacuum and reset all the parameters for table', - dict(url='/browser/mview/obj/', type='reset_all_vacuum_parameters') + ('Enable autovacuum_enabled', + dict(url='/browser/mview/obj/', + api_data={'autovacuum_enabled': 't'} + ) ), - ('Enable custom auto vacuum and set the toast parameters for table', - dict(url='/browser/mview/obj/', type='set_toast_parameters') + ('Reset individual parameters for table', + dict(url='/browser/mview/obj/', + api_data={ + 'autovacuum_enabled': 'x', + 'vacuum_table': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': None}, + ] + }} + ) ), - ('Disable auto vacuum and reset the toast parameters for table', - dict(url='/browser/mview/obj/', type='reset_toast_parameters') + ('Reset custom auto vacuum', + dict(url='/browser/mview/obj/', + api_data={'autovacuum_custom': False} + ) + ), + ('Enable toast custom auto vacuum and set the parameters for table ' + 'without autovacuum_enabled', + dict(url='/browser/mview/obj/', + api_data={ + 'toast_autovacuum': True, + 'vacuum_toast': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 20}, + {'name': 'autovacuum_vacuum_threshold', + 'value': 20} + ] + }} + ) + ), + ('Change a toast parameter to zero value ' + 'without autovacuum_enabled', + dict(url='/browser/mview/obj/', + api_data={ + 'vacuum_toast': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': 0} + ] + }} + ) + ), + ('Enable toast.autovacuum_enabled', + dict(url='/browser/mview/obj/', + api_data={'toast_autovacuum_enabled': 't'} + ) + ), + ('Reset individual toast parameters for table', + dict(url='/browser/mview/obj/', + api_data={ + 'toast_autovacuum_enabled': 'x', + 'vacuum_toast': { + 'changed': [ + {'name': 'autovacuum_vacuum_cost_delay', + 'value': None}, + ] + }} + ) + ), + ('Reset auto vacuum', + dict(url='/browser/mview/obj/', + api_data={'toast_autovacuum': False} + ) ), - ('Disable custom auto vacuum and reset all the toast ' - 'parameters for table', - dict(url='/browser/mview/obj/', type='reset_all_toast_parameters') - ) ] @classmethod @@ -88,49 +168,8 @@ class MViewsUpdateParameterTestCase(BaseTestGenerator): if not mview_response: raise Exception("Could not find the mview to update.") - data = None - if self.type == 'set_vacuum_parameters': - data = dict({'oid': self.m_view_id, - 'autovacuum_custom': True, - 'autovacuum_enabled': True, - 'vacuum_table': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': 20}, - {'name': 'autovacuum_vacuum_threshold', - 'value': 20} - ]})}) - elif self.type == 'reset_vacuum_parameters': - data = dict({'oid': self.m_view_id, - 'autovacuum_enabled': False, - 'vacuum_table': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': None}, - {'name': 'autovacuum_vacuum_threshold', - 'value': None} - ]})}) - elif self.type == 'reset_all_vacuum_parameters': - data = dict({'oid': self.m_view_id, 'autovacuum_custom': False}) - elif self.type == 'set_toast_parameters': - data = dict({'oid': self.m_view_id, - 'autovacuum_custom': True, - 'autovacuum_enabled': True, - 'vacuum_toast': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': 20}, - {'name': 'autovacuum_vacuum_threshold', - 'value': 20} - ]})}) - elif self.type == 'reset_toast_parameters': - data = dict({'oid': self.m_view_id, - 'autovacuum_enabled': False, - 'vacuum_toast': dict({'changed': [ - {'name': 'autovacuum_vacuum_cost_delay', - 'value': None}, - {'name': 'autovacuum_vacuum_threshold', - 'value': None} - ]})}) - elif self.type == 'reset_all_toast_parameters': - data = dict({'oid': self.m_view_id, 'autovacuum_custom': False}) + data = self.api_data + data['oid'] = self.m_view_id response = self.tester.put(self.url + str(utils.SERVER_GROUP) + '/' + str(self.server_id) + '/' +