From 840599637f2af797d42731ec27d91e0c82325134 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Tue, 6 Jul 2021 00:03:19 +0300 Subject: [PATCH] Add 'shape' mode for filler-plugin (#9360) --- docs/charts/area.md | 1 + src/plugins/plugin.filler.js | 32 ++++++++++++------- test/fixtures/plugin.filler/line/shape.js | 35 +++++++++++++++++++++ test/fixtures/plugin.filler/line/shape.png | Bin 0 -> 30910 bytes types/index.esm.d.ts | 2 +- 5 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 test/fixtures/plugin.filler/line/shape.js create mode 100644 test/fixtures/plugin.filler/line/shape.png diff --git a/docs/charts/area.md b/docs/charts/area.md index 39e7f2221..5dc8a5049 100644 --- a/docs/charts/area.md +++ b/docs/charts/area.md @@ -16,6 +16,7 @@ This feature is implemented by the [`filler` plugin](https://github.com/chartjs/ | Disabled 1 | `boolean` | `false` | | Stacked value below | `string` | `'stack'` | | Axis value | `object` | `{ value: number; }` | +| Shape (fill inside line) | `string` | `'shape'` | > 1 for backward compatibility, `fill: true` is equivalent to `fill: 'origin'`
diff --git a/src/plugins/plugin.filler.js b/src/plugins/plugin.filler.js index 4b70e2cf4..9e3e3b8f5 100644 --- a/src/plugins/plugin.filler.js +++ b/src/plugins/plugin.filler.js @@ -74,7 +74,7 @@ function decodeFill(line, index, count) { return target; } - return ['origin', 'start', 'end', 'stack'].indexOf(fill) >= 0 && fill; + return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill; } function computeLinearBoundary(source) { @@ -315,6 +315,10 @@ function getTarget(source) { return buildStackLine(source); } + if (fill === 'shape') { + return true; + } + const boundary = computeBoundary(source); if (boundary instanceof simpleArc) { @@ -481,24 +485,30 @@ function _fill(ctx, cfg) { for (const {source: src, target: tgt, start, end} of segments) { const {style: {backgroundColor = color} = {}} = src; + const notShape = target !== true; + ctx.save(); ctx.fillStyle = backgroundColor; - clipBounds(ctx, scale, getBounds(property, start, end)); + clipBounds(ctx, scale, notShape && getBounds(property, start, end)); ctx.beginPath(); const lineLoop = !!line.pathSegment(ctx, src); - if (lineLoop) { - ctx.closePath(); - } else { - interpolatedLineTo(ctx, target, end, property); - } - const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true}); - const loop = lineLoop && targetLoop; - if (!loop) { - interpolatedLineTo(ctx, target, start, property); + let loop; + if (notShape) { + if (lineLoop) { + ctx.closePath(); + } else { + interpolatedLineTo(ctx, target, end, property); + } + + const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true}); + loop = lineLoop && targetLoop; + if (!loop) { + interpolatedLineTo(ctx, target, start, property); + } } ctx.closePath(); diff --git a/test/fixtures/plugin.filler/line/shape.js b/test/fixtures/plugin.filler/line/shape.js new file mode 100644 index 000000000..3a78bc745 --- /dev/null +++ b/test/fixtures/plugin.filler/line/shape.js @@ -0,0 +1,35 @@ +const data = []; +for (let rad = 0; rad <= Math.PI * 2; rad += Math.PI / 45) { + data.push({ + x: Math.cos(rad), + y: Math.sin(rad) + }); +} + +module.exports = { + config: { + type: 'line', + data: { + datasets: [{ + data, + fill: 'shape', + backgroundColor: 'rgba(255, 0, 0, 0.5)', + }] + }, + options: { + plugins: { + legend: false + }, + scales: { + x: { + type: 'linear', + display: false + }, + y: { + type: 'linear', + display: false + }, + }, + } + } +}; diff --git a/test/fixtures/plugin.filler/line/shape.png b/test/fixtures/plugin.filler/line/shape.png new file mode 100644 index 0000000000000000000000000000000000000000..08e59986ccb7e5aa358cdc810875306b94ba524b GIT binary patch literal 30910 zc-maMbzIZm`v&}8F}49ix*1AIOE&`)6^SV=H53u0rgU$lg<_zTFbqVgeL(5hKm`>9 zgAfFUl1fZTsXasR`+J_}4_^Fp&VBB@?(2S^v&%S}!<jvgIq6UHih+d4sbtte9Ei6`;G`mN)n8zoA+zhMhrG4^DsPipb(I_$$d9RY% z5lHBz^aWht-*WTr9wWss|AR4XfS`K zlxdW79X@&8H}G+=42C2R;{y&N3O~tk?*pwPS2sT3ZlSkq2y?J5MaJY$FGW0hsBhza z9b1N!;pd>O_Ap7eVD&qkDyJ1|;=n6gT<7=hUk}A?^4C$@ZJA=}ksFLu_n~~`& z=(YIZxQMa61i=nnP+1ncksdt=KB@1k$G>&BoNwFKGUOM);CwSHcc5pDVqlL3-FLo^ZB@`bEIMS z?n*>dU$TXG%Sw&l);OQMcubczAx3hpp-o+V0cq8ZPq;)Qy)3vgUCS>U`zv;Ev}y0< zB<$o7j53rDcyvgk_|^ddf+3re1n0tUY9Dg0hw(9kVLz3#PBkAEfl02;(}Nh0L+koV z4SS4lK>|g+`%8jzwYmq9e!pqszzyDt>-K_@R+-@M?uirJpA$<(JvxQgqznktHU#h1 zU*m~^W3WM+{>cgnYO2vj_Yk@hBctq^+uCYdNGwuvu? zETk=|HYd9mUb3S`g7~ab8ZNeXr6wq~FJPNQf7eS@iwOvtH(%zS;nw{A(}4VfPn#=_ zJjoT6I+sF@?&jDGB+RFrz9J>Z3l`^|Ne+KP9ri5>qe9VE?_klY{n-V6JSA^L7L`X( zVZ1^~<v;{V7okM3dE=dPu?qXtp9Q!KJ%d)aQC4lK04BLgSu|SCm3L z{aEB!YS!x6;p%X6N2w5twN578AoC_syZuc>#O{(9rT(2&Gfw7*L7YZ^Lofo}2@^2M-bkW7ZC8}>%d{xR>8IWl$k9NboJEQctI zjzW1cN5KeQLM9eZAmHHRc6f^kvXh9%R3u7Uo674)p5yYJj%3bv`Xw=LAdoGJT)ACT zgc0u4gtmWDkIrFTxxED>2VKN9EEYs%XDogg6I|7>a$)bYP9R54X`8)1>1!YuXRzwN zIh`IUWp9)6c5hKfie>$h&4^WnqI{y>ciLGAhEGwHYX5JqGhVk$sNaWL0_b|cv0{u6 zGzY=GoKTPGJ!@LO-xFwX$MqpY4GQLt7e#YLv1JUc=&X*J$txuq^X6u)sK=*z#zx{_ zJmx|?dO`#f7yZL~26!k&$UddyT2sop`LS6M%y+Md5ZRiyWOYG>Asn~G0v5x&7F;m0 z(YFyVekYW6$A4eWbxU8(he#v3F2J?mxxgH)kMv@K ziu{u5jPUD}jL*Ip#Rt4#ZT6BRPQjM^J7nLnfJchb+e(c2>tsZ&f=8udH4Kc_gBZV( zabrZV!Pp?CTJU!@wRf-YTOu)%ngg$o>_;yd4>d&V%)d+ZG>rXC0N?D-253--djXM* zo+-uYqY8bT7vNk_a--yOdGg)hQh==Z+&`G12+>M{p73C`fVVmq2JE{HS(4~lv0ocn zb~xn;N(f1^aughbO5aa{aB9^9Chv&XwCHg=vVI1VHU54}6wrf$ib63z6LH zr=91aIjx)(6V!r!H+D038#aFX1WMQO1K|7~WZTBfz z-)uLwiBM8xBezE~{;qIXOH)))B>(w1r1b)3KCI>f*Wwx1V|&-DiSE1zyW;#ut^q86 zxL$pNi+{rdJW%9mNFz)Uov$YP7tyCc}6ysRqUBe$l)|z;R^e#_|{0 z`K_3jv8k4L&!S*hf*H{UfbPmZs#ttsb&lX#qXgkw16pt$GAfkL|mtD9u z&DUi|Z3O!_7(U5&=}*nm9$=05^hPuN*|TSo3z801bu!-iL@cIKDtn_=bEFRr6-ZiR z#9wK5Keq5>p}|znk1HQgN$aCDCO#VxCgR`J3IJpspUI@FsL2QwMLNepT)con=-tKnb!+bb^%*CTaI!ymz z=jC`^D`dV5-gTSutBWzysTPbB%i#QO1?oK5q|V4rZR(w9D}594eII+~3cy*s)DXh|8&g!xJdnPWGymMJ0vS;^RmaD z3|p`{BJ%?=9P@lW#1ROq}-9 zE0BpHp zYr4NfC6yRi-Yl6A==?+`1~HVU@Kp`gal%YhNgl`%X7i;~@CLpoEprvQz=C4A^uZ#4V4WD2&1{bi}z#6c?w&4*y4?wUQrt0MmAUVuRwd+|IRS)1%3 zNAUJ6sJy0dcEG)3OJ3|}!momt^79^CgXZYCJ}@DkcfzUF?Dkz9!`mZDqsI*PJ2->Q z*)ty}jq*cfHyJh&3#p7{{hy;jacAr9wtiO13{>GK8VR|}=acT;NKlcPIc|HC+77cKG=eHnURhZh+)2xE z{ex)nb()@N+{^Xp)WdP+?ot8UoZ8y%#>qpSB5@kUCZ}OB0bEuuOi6E2^AMZsWIw}( zvNJIcCrVLAsa9Z0Ps^Ep9tfawmLz1b9MICFLJfxazkzOusWTnlcw7DHJ|Yy`Q5QaaJ9 zUty}r%i?Oa(2n1xF!0U)3YT1vz{k2j`<^wpyw_o*F_qfacye)E3%PhncUb?)LqPS9plo5|W#-2>!%2KJ9 zCDr6jp4H7EwO}qKEkumfHwop*W2;s6AQ?3bw}-JW4=O9kOw?=q1!Wwx`qHeuoH)mt zy^;&h5b6_%i?g~c{iV}ov5_xMz8*8xlW3A=koqid5u6Aig)!_+ zJ-9Seg4q|%2r`B-QYAKPZ=Zo%d2oQ5Qq||x?oGm%r<9lIFoQAuf&n(Yd9&8z6w|Er z6A$k@TwN4U%Yu!NYCjbivfqy@LQp|+P!D3CYU27QSNT}KasXpAIQ%@Crc4-kOo%eJ zqL@E*sh50ycOf7LKWkZN&Kl7{BqO!`l7(NWfmO0xSUZE6NFZ-r-w-|1C-8EAclU8e zQxNtJem|k^OF@^?&q^lGbpwg58(A}FKQ0eoaPX=aXBXdq!_Rg^X)~U;eza6s`c`L#i0M!*7JjXP-m<#gwBkoNd7wjmWVy|>ylMK0 z&BJ0@9wB9rhB^gp=wnZYX>Y;}nYk~X5dRz?5nUAgo9r{0D`~y4q4!r={pC{rX3@|e zW8DCWTo3TF0Hc9@&;)X0bI(Kv>9#vvdt~((|C<}xwJOpidwySV^-<-SCS|Nk*dj8q|DLY`xTX;hH6jBGJ}U(~b{W^6+;| z+tw~N6JbtN{!KbEp%w9c7WaaGV1jy5WB?<{5WualhVhw$;B{Y zUx^jzeQXo(sa%#tY3n-!Mv{0fU;u82>MyT|Fdo5zw6Sxxb5%>D3rY!yBBTj z9WVa=0`-7wmaU9#JxwqvnyJ zT-V=_h>@%H8MGkH`=QD#+rXg8AqoPlU%CMb8U|E*PW}N|y$5Dxct~Ciw#NbPc>$rd zt-`d9^!WFoIL5ge4DVYj?Pg2GZ@nyZK7t7Zho*Z~urFi3i!+>kZ9%s!YW4*te@xrQ zLLBZrpEC2kD+02v#rb%6O3~LK9XY5cXA({mxR?i2vjXK=0_YeLBag)inA(Qn%Kq$U zQ2r=uZVqOSY(11EAsw6c3+ULNc>4yMD|Zjblc0hg*evbj$3>++s-rS(Ak zQv}NrUc8kM8hL#J;Fe^PmNpNiUyzI`;+qgi2r^v!vJ_xqto)$f5(_>csCEptVrC&) zlZ|iXXWZyrv14CpYXItKa2C0_7MrSuX5NC)YsHOkL3r=<1kH$=hTkDVzsYgGm*_`C z2PUNUxjaqGc~MO7ueuB-{@R&>c{nrtvR@)-Fv$M#8}i&FxTviZ#Lf*;_Teoo;}WY?eTZDpVkIo8hqpjJ)9 zfb{X?rZ#%P{7FQ@^BYtlt=nK?KXz~~;VCb^Eb{3KE|Dfs{d|hv!l=2A5MDpzXKcJb zBh-PlJrdf{Kn$097c=V#v2{o1#Iy5GnkIi4h(Y_;NL0z#rrmn-2nn3(c8pK>Zkuo; zb3Eog{T$FG!AMIa%dWoy-0rbVzI77MFa}4{jQ8Y@cjrJFJLypfi6%CWV?Qiq@uU2} zwYZ169;xx}>@ub4{LoaCPmehX<)J>ZahQ3RMT(>`q%lFYeV{nqr((z<)gcw#w`?w(+zi?kOTQdX@$ICQCZrQx_D+#* zi{a5`)#%~>NY#RCa?CIEELsQX%fw9uj6z;bwAyV7hDn+7tc@UcVH^9da)Q|k~Vrlev3C4snSnF|K& zgNQ|}#`C`|OL|v9D}|cugY-O+VO6Ay`2-UFCvT2fH0R!#(sfYwp=5-hhCY!w* z^4=Me9hy0M`p4~USETT;!$Cvzcwmkx^;wZ!$a0nuUk>0S!XW7Q+kH&48cmc~)G8W% zBL5ak749@D8AE1*oXap6kw$c0F@RAw*k-|kHE8TeIC(QwZBDF4ns+8@^>9j2<=^I$ zLZxHq$0O+VIOcqMK1%pDH5%dH+uLG(Oc4+oXkSv__^Bx$oLDMwG0e<1%VhzsZM2cf z_E~saI}2Bg7&KFh#L1nBbaCjOPNh2fp7eRl)$924FwqH6J6IkAwlUsg%%K}i9VfN~ z>OK?JR!$lk_z?6wzBJTm`=00~A`^pGwo*#Y%3|1SNgEWc6V>c4c=%tS*=m~RkV9A`?HbO#?AEo}@Q~l!UM}0?n6>`qR;umPI z1E-=m^O}(oX->7bMw^hp^{|Vs_Okt7>E+2-M8jQF?3?a(g@@Y}$6{P? zTSYM^SXlYeGwm8q?P2!nK;rBGc8Z}~4$v9e5Ycrvwm&+pX<2HuLTdr^uGDO^@dq|N z@wWD=tYUcs9iV>V>M79$_vlHn z2&JLW(wC%jJrF24v!H^CBWX2>(>np&-_2Gw zME`;+?yBa2Wc7h$N%#RtBv7KF#$b4IUG<^vcj$IP4nLn42XEI~Iv8wCFH62=&G_m- zaWp0N6itf&{aYNj4KOC`%Uz}mdEx@+lQ@5-NnQb57smm zBoh)wnhlNkernb4eD50Lg=IZJ@54oE#}t5LO4HAz`s0TKechlzk6q!o*zH<>besB9 zty!car7Q?eu4k|NNn6@iGk&l8u8qJsLEtM0RYp8!4Q2PP!{_metrs-%4dWiM1y^uzUsYbNKs%FVCxf{<>z+B4HWAur=>~(ZsxrmFjYR;2| zuJ=uM?q44jQMH|Q`G2E{@6e6L5%oP$oP@y_y~Ch$!H?VlfRD)^sLyr%T|$BqqdH-T zEyxLbdf<73g2Fa2$Nhks=*FE`Q3X|!;#G1p zM?=(PzKXm1606@yGfY9ZRciKpEu}|r&utoi_DX|3ImFfZ&E{pPo?; z9^37}nTlF2O%DZrbfreSmi7Vro6lnPp+F?oMz@V=KlPpz7aF^b1lvn74Ht0A4UsB_ zXfgK9M@lE2!2zGr_z(Bh{0`)v9sc8VvfgxhI|nh_WR=XN-jPepU`$QY-Amq#?#~f1 z&VT?K)8%9Da9bBvGr!EX`Og<`sryCu)^~I{)a;a z^kSTs_1Zh_`Aw~9+vdfcJ}eE=*srE3N&e2uNVV==rpdCi7iPODz<}j(H96kG+0>F~ z{5xjiW0=|nkr2OH&u5|TJ%_iA@P~H%rUs<uNJH-GG1}WE2NZ(`R@NuUGHBq za2z8GUoBLUP{x8$$W`?Cno-YnkBe;}N5t19&={Vy>(h-vVo z`b2D5Mrho@$e(k9NCyLIYK!sWcVZ;Ul!@dMn}zK`S~&CL55QflWs zVXURNbi|jgmbQxpZsttH+TepzN4G0Vio_@;Lb?fT8!}m}WqyDf<=qH`;w_TC9?7`cRVTD=CScWO6e|IT=m-4L|t~Wl1!QJ}X22kRMWJTC9V2wMmz1#346&b*WD<-dVNxGaYPgVBA4~-MT_x_ZQ0`NKT+s$yDjug9KseaB<7^PA3&0SaNi*mRxe{&PR z3bw}8NEZ5--uxov%iFLTM3{`~&uXs)@fZQ}MG0S1M^D1}Y!dRmkv_!l%ncaQOCDcP zpG`Z5+29vOy`vvLb?c?V`1<3cV*noiqe@AWO0Zn zZ>R)zFC2LF4#S)zm`nA)_>>>_-(OuY!ceO~qBeVs#9WN<0O{^QrSJ!AKo)lN6Qkgw zZj^RN?TZPMJ?l5#O8+f>I3j}9gsAxGHS~qyFMo*QLcNPSyq66qw0f*#`e%u8S)Jh^ zd-UY1r1LKP7CZby76%tjqt~J0;_F`=PyeDOU*K3Ka|%dDjWuyNjkW3qEb~@x6^m}O zu5_vztR)BbqP6J^K@u;(o|&Jd$D<4oGJ}{*l*YZ5WZAy>0-sGetFy;VceKAq(k9HZ zb-iP>TT`?&k?Cr;zwjyp@+Aqmhv|07>1TYl4%?J!$m~3tx-3J1RiLqbhZs30{h%1H zyD(Wx0RQ&p>69%dvdudA%*o|@&i9=k-~8+FDOk%paCOVod#$1ceSoY9_Uk0%r4iuF zbxgJe(U|@LD(s*ZXZZYF@yL`xw($<#y)1|KfXt9K^ox{Jnv|vnImo={7lPfHpkAo4_-h1;nA4mT+9eWX}Y3?JQ>jqmg?)M5qmB1%Yu6~lC zNO`=t;s-FK-C|^we3ShbkW|=Vcu5R1$d+=~dTJLSrC(4b8RNOf8Gz*KR+hGN3$@ru81PKou|Sde(w0Y!#RD z{kK#%!bZ}6DygiK(H%+I>tV?u^?O%VT$6vSGf!z|?v* zBlK%Htq0_;IQqtxChly&_ImtMIDlJrDAJcKQv|I?^yfbjXMX#*C&ccr#+OR52D&Sz zaT-vG)R9f0^Poysyxa8%HUJ{J)c{EDPkmEKR#XAkJ>5A4&jHgm4};9;@=IKvv@rd} z0lYO6-Ewn<#XhEso5v4X{>@ZrZb6c{KOf({$Ep6ACvrSy;JvG z;L)^%Z2Zq@Mnr=J=o>$9#~m)?Nwhs*Kcc&6Jal3wllNj-nBM)tRWbPUB6*|_LK6?VgEr}9s*2I_%J%) zv=LIR7eu92GvldW_z8EKHsu`8+MnC8Zf1L3C}p&jvGSh;Oz0;-o>7>LD?90bke~eq zcqXy>eagN6KGLfpP0si9CP38r(WF;|KsN7i?0ZnA8e%w`z45=Y+%najOga)m5^4Vm zJ3QH%XE-&JSk}X+wxt&Trxa}kA*!0uCh6~PQ+v+`tZICLXT!yOI>wrCMRUGit`@ z7y~>r#96f1a=LC8VZHbCBT& z=U{Uyie}SqD6#zN*@?QcUF}_<%hX41nG4 z6OoN&p;va?Ovi!Y)@=T1uT)6?u>)+fOd~G2 z8>z3dH=ev#-jQ(024g5pP%SZ*bOh3fCUwPPe`cJaK=y`Cw(=vtqkqphiA<7%#IeWq zAn!jk5+*!{01LCtzil#`gx-G|Ykodc`Rw`MqnJ0JoAx>{dU;>#e&T!KBk*s=LjoD+%05)8rZW!D(B(WZ%XpN%x^%nZ7JFZy8i{6ss;@+Kg8{$izyb( z9!cqWH(Iq$lZK0YIG_Lm(kDp?ZKH*I+cP<5*CtFJgndZe?KTjwk2IcltlDfOiy+#~ z6>{y)+2>$lg)9E83&BNeaqPy$ss}e6Pvq}bfpjISS@>ZVf+!oJ6pcH=go6$uX#gIx zG;c?Et($4m_tx=|Id~TYj`Q^cdeL4(dW^5WkJu#A0E{Z{MbDJ34C3i;RNv(Pm7s+k z^$}Yjc>XBkr^HWwD(R+Mye63VQIa~gFpA`4-gvZs(Ph`jQCLekNFq798KSjsNQ&?X zM1;u4^VpOpB`+KnN-G-OwTeggIW{7ddNN|ctpmA1$_U$RT@pD5q~AxtRB36i(!DHz z6j$z8n}3?_LuFnjDtA}2$MK)!?ACItyvYVUW^(liwq#5U#TR_s;;I&3)Z5h|9UMSc z4+d=^1&IdTTYbPj z1W-ZR(4lLHY)J;%{RrMwU<%sdNA#I;;RwGrrbQ({h}ZnQyo9|yK!R2&5}eG#eMEiN z9c9(TKno&xIqxlmgdPwZPCH3f9q>CO4t(W2D~5iOz1WNmRUGR~b*i+eQ9S+}*7s-k zgb=zq(qc zfBc_+ybv=<=U{5Wj3rvO;Z!M{8NjG?^@@Kan5MAZO`642mPmu}KPtNV&zFLt^-6l! zus17y8t%f-BDg>~LD0eU`j@@^@Ss|9D`*%_C)v_mZ+d7w1L&ri^?b$xNgQ(5f~hYJ z8MDOAPo?49`nx#5bE$yp=&Z(%G@$mN>o;(IiA`;z)qRH#h)6mB_>^_0mTFnEK-rFq zW=(?NMoOgN%vG=0&~yKCi`c049#Z)gzhWMZ_8;bi-)%v6_>qp>e835;@>v;hzRyQZ z4p8&Z26EG*l25DO-`|;W`4Gu`ko&9S z2Sq>dSxxTNy)+?$g&RSMC2gZn`}<^K=y;d=Jyr%9RSHv&C5zf8;5I+Xm@fz#%m3gqH6s}K%+`KD20O0AH%)_In2R2nt zoVqW!>(n%CL^w5i)YhaT41O&_0{a|99A>r^a&F%c{gw0?ye|vRZ4HoDn8$U}jQ<6r zluDQc9pnY3Hsk#VaZbCia8Oz8Yb5Xi3Pdp_Lo25syJ^#pYPLMU|2uP)RwW=HfX#wEW3O7{AoJ%;Rv-;EPtk&n3RhD&i|9*#Jj`)lXg;_11e7K}+9HE1X za%?#^N&VD{1mck2jX6BEBbh^LBe1N1?tEDBu?OushW4XNEB{i2!APDv~ZedRtyV!XiOf~h^QNo&-?ml3XpVG*Yo#JE_Yxz&@4+6ePAEPqQLnaLv z9V!uXKN)K`=QO+lfG=M7wI{OgeZrg>BQ1=!a|`kpux0T);DD5pb$U1x5>2dPq2-zI zmane}!&Xzj#k`Kv+OL$^{?DmyBo9guX{LwqlCyV)`I@!Z;Rfv}FaAwT7@W>e28h(7RDI2%IfpIl}w9rl-RfE#oKjhqgJ z{4**==I?Obgp6x?lMU@Z@O2OITYTz%RtsQ}F!)-k!`|2<;Qy%_l5pC<+lXT&MlcMl z+{y_kY;m+@iUE}c?@IZB13`vE|7Sg;m-=&5QZh9ZyGZ~8mFu2=> z_#}ex2q06vL7IxdGYsxAg4lWv9&53Ccp>;j`hVzzV|1MYfV_!=>DmMMbt5rPgxo!v zu4>0S;_Ttp;RB_lKv~fLYV&77ouF*3SM0tSza+tOk^{UMx%z~K(u%Y5JudXAR35pG zAJF*1FyLCmj@B4G?faHwplDfuV+ z3tEMmWx-=!P=YJK#CBKHv%ARqnuXQ&H&WjW(SMsiL|5IzPTEoCz!6iIK-7zw;b6D# z&?llk^_XTsuxUi2RSqcag58g>-9Wa(L@-^Ts~Xg~#4uI=-wE;j8`Bq^<6i;*WdwfD zvGwU0wR*IAE~O`Cz51{R+x`9j3>HE`g^nbX&r~HU7qDOn)(MeKrpp>`SC_W>Y zj&17J{sE}(wH#daZcE|t#2a`wp_YT`VdM<+YjjB!G&XS0m_)~=JZF_12SpvNT$@Oi*9Sd+1J(y$rh)kARIlYf5ufO<~y(}~y;om+dD!4(nz z2!#EG#{c+3NDc#Clkmv@R|j^O21WWq!hATstso3$_>~+hw zJk_&=*iGMD*m+DPLjN8$h^WmKl_z-~iqYZy?bsstj^>Goy-=1IsQNF{?|@~6aS&a> zmM*i)MB{XhDLOz670sO@>Y?akC;D|b^&d1mvAOrJ7rh4$V#*P(OH&2cM(=mg6cZ;w z99%%I;;5%0{*<=&I^I-u^$I=1Y$`3-C?xtHsO;tQh1jB$-hoqjdqYiEJoEQ7*tLY7*(__jL z5nub#l4CIrAPDA0Xyx{RT*BnTshF6%w_Tj=BD1|1zb@tnR-o*Tsz#tnNot^Ts8mA?BMyL1f`r(Cx#ZJ6v~x({^VQuXd83F26Sp~k zgz*D_Zmb(7oBIsFM2fo0>_#yYAWIDEi{@RH2b}-j*0MH7{% z%}?E=MCj+1{C@?AgTh;@K8^lL42K$e0}MbZi%o7nfSbIz>$!3w0$8S%+0hFwfr-s6 z7wo*Uz{IhDkPNq-n6MPo?~mp&~pE-(ECOKZu0Q}SMxM1lTzv9IDs0kye6=Q`l}2X<`sBDcfN2ayve@H!Dy zq+xV<=lg^uGSdmD#K0BV)doR1oS-nt4J4p}U|7}^3dx>r zy(U1&N^O<}6?!-09`7XPD_Dm#RW>sREgVbn;q`atLT`PNrlu!~3atq0F3D#WpCRra zHn87eLq{S>K2r+GgB{UKT87b>57w3@%um_=wbu&D0k;zZPx2eKX5E_XR21;Og!pIs z;jdFs%D-EiQ0>*wgCOePJA#v}ec{Oe?Za0qKVOb-cLJEiN=q#`W~n~uy!_600t}^< zE&h@(lrBjK+uy+ox&9)mXJ=kJ;fBB3Il#3FX_J}+3?Y;DtsPIh?|+kjmbY7ZJuvM7 z`W7oe&yIdQs%8$tK3hTb*#6!75sSaiDREsB&<*0TastxXhRhu9{Oy$Xg3bYna(uv} zD2?K{-R_A-Hk?mZPPVg~s$ z>1Y=jxeJaTv1Cre`?z7~;4*DQHR(k`8j0<^Nd!M}A#&AB#!4yqsj>VV$kVvQo;#h* z=+LerclM~EnPJW+k>0Jn0=^OOY@3w9R#Pe~JrmVdbZcI7spxcEG$oQb6VJ^T-`4C!mhJCm9X;eM9AAfOwtSIm<$Shi(O;W5Of%+cxGE-Fy9+x-$Q1hp=J`WN*g z#tFqh3;xvz@#wwQ9$7S&Yw_5Lf2?(krzr6n8$l&09|SiunRoa`?<973j@^fysivNN zM|DNSzHvB{;rMU4NV|W+dl`l(nR80GjnP>Q#CZJ~KfNuF^M}PUJx5HHYAK{R`jFr>v5Fm zS)yO^9DpMT--+inc8A42hAWF7QHS$8?WT_-SQdfXS7Vdv>RPZ#m&USv$K3`x^K;w) znfO#y8q911Mq>_t~8WY2zt+D($n$ zcy7mxbBC}BE22F+H@~;s$e`b16lsXRasPaBrw5}v!Ni^GCu?9fWD|@R5~wn(LKW&2 zXrf}Gy(Ybjj$Rb~-?4<~!4}Z7QskH7#G@%A5kl z@AJP8jka^N=KserYO$R5PSi08!cuFX$&4bgjGr;#!eH!yZ1bX1HTt46aq^)pB{qz+ zEkAfzi2l2*;M>mSo&rkKwS3mLy^4n!bkS@9#NGspZ{XIJH~^@{N20}?IG)_4MwoPT zCIkfIJry244cyIVd+vVVdz9BRh_-g?utmf#k%(D(op_)ySx@qugbP_f{XDHnXpTJq;{O}i_;leBfX6#go#<~b7U5Kg_H!!Fa(24X72+2NS>nfC zT5JJ86%7E?D2nu*F|QE&^rMzNdMCNhfGSaVqY?wrJlGE+{yB)K*Zi%E&>^OKdi!>G zKTcsq_?THWw#;HTHg)JaR25_rTft%K6E<{nI4UHN|Q+@pFNKIy(Gh8?=S^hz={ z@U6td<&#anZA&B-6D*V0H6#N%4+4K|Vldq0lM#E!X*DSxznA&PQoersW-N0&hQD-r37K z9Iy3G;6Qb9g-7oqC6Z0Knn8_>iMI#S&)dYnf|MUW&skHq`SG|sb$ybeNP(07?Yn&p zkFu7@b+jzZNqy%#_h7}QDfGgeCUwCh^&+^#qig(d@JYQd9`F5q2A>+@qS9x~ZeNu; zkKQpBgL8vMwHs2OE_J+RypxE^pJ>uy1gH{1m^d*0(zoa6%5VI+5tA? z0vF6Ov7Bn9&jHV#N^KKfOTNb$MPoibasvT z{urn@kWGO)3_v}dZxDQ~unHAJ9~$F~3qJrk^=t$p4SzU}`e_I(Kl`8mtq5JqAhhFB zyE_~*7?AxJja)!$c1iWhA&+O+Ggsy(@!-zJkNiZ$z-#r$G{K}XN3}KiZP869lJ4h3 zZ`C4Pi-853x@cF*9!5`dzC-JSfZZ=Z$@t=>MydaR${+(H?XO;G^uD98>4NO>+YI4@ z#%(XANwZ^lGV`>gG#nZk^qy1ENsJ!Sgv2j)ESlap!u=0$MI5{0Wi0nQZF+;vr#nlj zWZf6un#F@@!S{d*0yz-E^aH~=olr)e@zJ_Wg}T6+ecVy9_;;Cm#{cu(y@IEkrl$Qx zrBS2qEc|vJgw~VZTg^evjrD4r0L6QqJE&+B@2r*sZrP#HT)&ultdbweWMiYqep%v;>QkqFR;3XAc1_(kA$RX$g9rvIG)6NF3n;+=%E ze@THLHcRQ|D*0{_cUE0x*Iabts?dyVlCruW0FSu3G0Es=Ipik2@QVXD$0L>_ylb0D zz-Z7%=5N|M4x87{Zyeq1(mHm=Rl3uHcX+fvw{9$082YX11^!c|>r+0We4sK;_QPzq z+F5O*hDCm%^gTg1Re#$HvwmbfwM)+^=my79=6~K_7{)pMDzChyw%r;&T|?U%9kwsE z!w>_|C>c1Hj+y_u8e@ACEPlTH--=Fd(UglF(8&bPgXpc!us|j=fT4keiTHW!(HBX$ zb2D4sHBdz5fi5Rdo?MZ&7&~*c-iJ6pTrl|Ng5zLrUjaFJ>7T}d^GE;I9P48;Qt{>S{&x6IYtC0g&?7Ij)HxdWiCLei9rB< zyVTR96=Khyj$fFs(Ha5QAgCqez2U%}9ZVzY3aAGs`Q2`oz$rQ)}P0tRb>s%nq|a zt`{W$+SgLlxX-CuZSM#YV$8G1KR5!F_gi8o?GhaCRs23BkJfZJG{Y$m6IHTDZG8@VC+LY6VXhg_VU6T64 zp2_ZBdwCqCt|F_Z=eSiVW;L%PT8l^teG`g1ygdFFbrj1Df}JuBDF-!8 z*%D&Tq2bJBsFRU30E4X@3lJXHvhI*Gp%+9h!Kgc{z2Utr7>9HBcKkJ6Vw!&YywQ|`DfaTowenq>3s^TS zGp4$WBz)`l`h#Y`Ou9ef(g6&=vT10Xx6@^Uap{>04>Og&8Au#%?5{%o0n-`cq<^CjX2*vAzpO@c8i21*y%^K%ZQyToJnz-a ztqdTE#6x2t1;Je}>g_wp!85XgL_~irQlSUtMa|=F2PrfpsQ;YDuF#1DX!!NFq?CeI z1CS#U$?q!Wtw%mzpJG`BEVr7?i@DhbA#Lu?I@vj?%;Lq;kLu3%>LH;MzG>I}dar}A zr-;&7m9&Hwx=l z!~SbIa4gQV9L&UijMOfwqX9E_o9?V7L9ZB~L95%I!njBxO=(T<@Her+jX6BSQS)S* zIpvbN^#BG>yq4S;E%RXh5DvM8dwvcnH~$_!O8YWpV{30b8kez>G8lwL+Yy5c;ss<- zw!$(=V!bZw4wF=-s`25>g(|xo$hHJ8vcC;eIu88 z{23uFV1B9C3^ifH-}@lLp+o$WS=|`}OHR3(YSVSDA&P>JT{XFNJ zZ;Msue#1=74`}<`CMxdd+Go zvL$rtt4c5rj}M%g0*Drgi41O`Jy78XB5%$`7EG&6Aw^oQbbg(upekz5kLKgy(XNyzYP+ zOR!J?SR`viY~-WfF%cY#G{cWC4*EH@Zaq^DHWx=tD%|@Yi7^FcSA5r8=V^NUx)#mc z-`yz$zyo4mkXPq+?mxg~*cg6+{EMdoeL|Af3y-yt`K5Lq+1(*n4p{?0<8bIx1S9K8 zfa3`BTR@boZ|C;EI3$K0{BDn{ZC~u0Trotu-_#1?2=%{%1Bdg&^%}u+h;DwkMzi4d zKRuLrL@&itd29v-qR+NKd)Xvd6qoxcdUvA#?MDqOY`{R5=G!ziPkkQDqj`(~B$dFK z-Y79?SyQZT@%W|1e|BdBs(4_g1NTj4#2Gy>$(QkAiZwU1DG)R%_~|o!LAaVn#*Kd@ zhWqlXP+AOH=A&-+G{&Ad9A*+e9XKYKCRpV6O?fy^(r6uR0{ z@k@)8R~JbyvaSv-iUZ<(b(_lZUpUdQ4{NWhmF^U5;6n~~ro=DToUj2Nw|~aS#!QYI zW*5HAj6>`ia}s4K7b#{@{n6SM$hSCT#54w%H{NuZ&pqEILemN*M>*E&Vv*DzaSxhz zXFsmsTaL5{&bse|5pk;Vs4ckHdX3fY7&zIl+8i5oC~?WGd`m(+Pt!KgowYhx&0^4= zD7-(eWiPezySl1OpH`;n-61?vmaer#N$zX&v%T`bFd z$S;x~p)S|coGj>6uccUjE53KvA?KSq^d`ATe~?-??RA(I5LP<*lkzxxEpEWnZ_X=i z2+1FR$^m4gJTb(DkLNT-Gz=9wk(-n-eaM{hX$r;LN>=9NC%wjCJdVHqhfJTf+7Hp= zr1c)JH*d9t-A;(NGvVNWY>2B=d+=EIAzVwg{JTz<)!LBL5WB3}x1>gy>w?Te^+0_U zuhh*Jr7hdHJ_EN-_d2rAl3NFYYxa8LExuXzt!v4g@&0(co~tcw5O7@!-%~gj+DnY< z`J9!^a3B}*=ykVG*a6RuB?pUs2hYuF_)%fmVX+Qf$8&}@P|vU~VM1y*Rj26%bjbck z9d!1D8=xtQdMN$7#46<@){XT+`Uj8HuRpLz^|pF9LC zU=n+`)`i&Jm!``|=;U$zS355VNtn+pd#XHE(H*W(g%b_Fd|aiaanXcNJE(Ugaq7c) zy14gB;SeUxM@D~O5=dCA@N4A|BWQB587A~_Hnr~{T?&CF+suW~12Uh0~G>6c&q$Q_LfRwYQ#~%ew`*>Ix zLisQSfik{J5Wbv|TZ^0ap11GZ{q)WZ9T1$O?oIR0pd9S4aFo(~G<$x(f1mBgH$6}7 zN{S`Qp3)wKN(kJLVVb_*X@hex}uSwl~8U-qN~n1K3o52OM8Vh1%3|9=TNWhzyynxg|tD`e$-soGd;a z;DY%!gu49|@q@{igI*Qj2x2}?EYZl3>`Si>4B6N9uf zx|ILGk=y9}DQzs>+us$JY48!N-=D_wWj1_x6vH3pPZ(f_|A{D0vydqKOOOSvA866d zuRp#jT={13qd!!)V3&YI=wioi$clD@!Z#BT3%LF~W0lE209PyXqZ7Rl!aLNjLN zS{RjjVr#(pV}S)ki^C0+tw4cjn8qWAKT5p%qlClQ+Y|R&A{TmGSfVwwyWFK1N>=_d z7rd$un>mTo*)Oi+6kblSS@14uU9Mu={s^?2x%0m6RXVyX3Bd53=vZsclQCWLea*`` zx;wM-ZO`M1ejNt#{u`}i!7bLzysb=xNA!AhC#*X^KsyejejY->PP$P-;aFIntoa%0 zEo}ogs8_t$rXG?H@6&QSLZ*hkFK{gfP!K*3wI&p=2pjm7u_fAVogf@AowfqBRb&z%4 z@wBqSX#;demljJOO#}76H^^1TT?I&~gyXF6f$~)V zPE4(n7YUTv62MU?({W@o)FtAm%6!pW@dH8G?4pn-5$CJtd1wInyIA`cu$eC;l54CY zt2+x%_IF}aezV9*h*4pMkpnK@tzH_sXQ_K5QQzKjb4Do>a&@`{*i-t-D#x z{dWdLBMtMN!|=U1dVh2QS$4O;!$#BC*SFLEim%`Y7-nl3rNGI>&T?C-uo5L|;LyxR zVSlV0L0CDcgT8pUwDAxk{LNzr$4ri|OV0u8RXCYF>G_>LQ_l{;Pivzxe8okh|4rI1 zNt)V8?#yn8e4KR?1;7ZE^$W;$XkmRi)8FJHBe9RGJpf~>`jahVqu}~E7@ZlYVneTL zQts%8eau}z@$K8KFW#{3PROotLc{kxiJ1C4xbpr~U~NXAwLSjPMMF#8&gN@t;hCM3 zwwI~^k`-d<1Q%$s4^gGOY!0yO03P3s`?vV8$y_Mp#{8b#D?2|+_%27gbWUEj)x{2= zidmtN-WbXZx$WWhTIvMn%N~4@B)O62Pc}IuC|(Y88G_PtP44CD)i6#Eiyc~=Wef3h zW4*G-_m&k8%dLxF5+Y4WA2IElkdbjpX#CgozNG%%ziFCf`19EMKz^VBnl1O<(*2~J z_nj>@pu(u^VdvSy?)6mh(&D?*d;|N#IXU|=|AMNN7bbpk)`Mn|Yx|Pu@<3G|L!5_of{D;b#gb9w%Qc7=Q~hZP@G!+%}5&^kpXD zYM*%MpeZbW^9J>Ou$0647E~eN;nyMCeQ3NtLHI+~ps}~*EiZ_(q$R2FbykM%{B3Wv z1!09fP#(ROmzbnJJh@f7bMo}Zm*PCBf&I>}mxAYJ;GawCyGG!PWMzM6gs)g}3^V3U zjCUNjZl27&n^|cuVmLY_pWwI!2utn{CyvsH3)r5603f@JcZ}=zu3eX1t7#>}{1sJps@IU|cGU<;OjFOb{ zVIM9^C9@1Y^O-jV?D{~c*=pq6X)@sXZrk$k*)2df)>4=%2`9yAd&@ZxU68mb{>k#| z=3-`vyj|O&nCb#wd`3s&_`yzztCWJ&{#3$B#A$H}MtV+4*ZR_#IZE4R+Ffyw z72mbu87y=D$LqTHv2Qe1WpR35_Y2qr_4>8xK8{6EwTiOMfd?!fZNAQTWn+%XGARJd zePXGmt$7%0T^A6o15m_k30@vt>PbO_Ixy(4_dT5rm6Od9_tmm5mVd^&76s zXjh(2adyrVXUBmb2i)tKJx5pce^>PbaXAQ1E2}Vqv=BIm_FmrGf2O?0IHpG9T~l=~ z+l~&;=D2^bfD!8u-O7UaCp?#qHp^-H+}4pPvK&|Ub53j3pI>TJLMk0p;6%xs2m%A) z>WNqEf)nQ34P{OpNO9+^dp^qOt6OAu(*cA$+gYH;oobYql*NJL_zg}L*{m}zk#0NM>l83Qx#ftVi_zR=I|_>>#T_pP z-j>9HFK(2(lLO^RW%9XA9u^rOPbfFQhc zx(plZsj$-zR&N*DL)5x!Y)Wc$1O4ldSC?hEaQ9wG!x3E+$a|o{CpqlikzA|-HE==n zGfU-THd8pCaag?6M6IXkAgBPfn@uJ0r@tlx!3K<7i&~-%caUe~WcSYE#L&^rJjwtj z_ob%OBm!sG*GtVUj@&%OCgHfg&wLhEd^NsZRy+6?YK_6Lo8=lFnCYMcq4S}4Gktn5 zx6`dkmt6}loX2lOai~W33q!>k>$6|?{JSk`3bCo@m!8{IC z;wE(g_)`aO+LQ8a2C?(9&(9DgwY>KCu40*BGID0-RRsP8t$I!;g6?*Rn((fwBadbJ zzBAw6at6hLf%8>4Q!R+@=hw{`+|)d6FlvJdf!2)j!CPScdEM z(50oUdzX7~Q=-u(7@qW&6fv=slCLnvUzbVw^N*q+S-pM|vA_31S4p`pb6)2@D5N>4 zHX*OMabv(ru2Olal#q)82v*)BYu~jD>~yL8S=bVjWJu@x-jm~r-pYC}0Zayx;pKF7 zr>x1Ay913ZLe>@M_$j#ZmNi6fH#c7RojV(n#`fY9L;}7h!**TP@`vz^BH^LNANAYP zPW}D+OYJ4C#W)i6^A1ciC@)>qK~UU^u4>ZrkQhrJw$ce;X4cd97I=6J$c|W8p}x#A zC!xCn#O@2nc!Tb*?MY`r3ms=u=zx}wu#!Y|wgg!L?aLy&FiEh3{hX z7B%8^+0JGB!g==k^h4d&!=}Br#YLf%L+t=rMI0q8-_e2>e7gFb^1bhta)NR!wC0s% zdpqyecn04VBn28pD)lZkC?cyU^aKhCb*V6&!m~ z@#9{IfMrM%#-r&3zutC!f#+dAncTCxY^H!`SbTaO_sJr3ctkJekB<%MiZO}o1d_>a z$dMD*0i)^8%B%i260YWG=JUDUDlchtWu)OH>CT!6OOGm_PX0mrGQa5Mxriz|$!4gI zjck5TTUqF-G9n6Uljh=FEqbY=W?O2mMg=|GyEF(PdmDT%7mxPrGXJp?op)%QfR|QW z$+N0O??5>4@{v`<(|lw~!)}^Q@2L+Z4!vXMnYdg!N}q|oKOu}rAVTRDl?LLBWi`dl z<(Hk&%b)3mQYuGr5acDze!fMN?QA zJTq8vxM6Vg-B5qS)(lrtA=-m)BTexySy7osH9=JUG5m-ZN(A9vK$*-gNV-`m+g-kh z1z~;cm87L zfGo^Fx{63EKjCt>3Nhi{Q8WgO)A5c*3}AvZxG=Dh$#rm%11mCnX?y#1@FZZx*Wtt zZ${c{f>K(TtMrcc)?C5_F6`iPrAT4L3&k+LbUn^3RD+&1(MT;eVI+We z@OI*9>!L@{Dp!tWehjl{o%m6L%0scYbZfRD2->UhJX=j(*P-CRtF2pOh~JJA53k+? zrFHaxY>)L|Z7lbxFEf7R1Wogitgu4%Sjg8j(W*!;#>aV%8{RB&Y|2KJokcRL_t~~k zpurdFVsG=)SSAkMSEsb)dmVLI8Kr<KgB$eoY9l3$WD;CHxN4O_AOF;hhX(9l#59)aPc!%@#3@w* zV&fhbf~*JsvKciGDR)Bop zN|D_41hAq}Jq9saNdd4cG-Dbk5)@LT%q;eH#I=Qv8xvASvi z0WjuoTbK}mLOTvxg#)+6#i8Apj@{PVdwKv&g{l2za7`3ZPv*VppoNVJI0xd32&~eg z9%OyQO;X?6o^f0<#?~>Zh!X0c6AbszFFX2zxnwyi6_4uA)MCVRGPJ?1vRlmI34tlD@h=SvVo|O`Q6& zj;e4eD^Ax2g|OHi%AC)JXrmv#@JgmY$_KvwP%fX zGF6GLyxrOq405n~1cq1QFh?S;Ei5Z!YPfGsA%z7|Rui--p-R|w*+?n9KRiDE(BR4i zZ3`bQWB{7KnH0s|c(bmz7{w6}KgLQ(dKm*B_G+W~*f5~fpBAO{eM)_L*c|P5AdIYL zSMczPi`#qbMi9QoZXUU6HPq#_yX4Ey_9Fc7+stQ??S-}guOC*r{f0JrLnNQrYr&Lc zNzVJv35&mm%JF)X)+f9hkcZG7<#w%CJ9I&Q7_#NB974&DtiB$pS>2bXz*#YNu(}Jb z$ElTCiN_Px2uX624`qDogAYt8S$+!b?a`8!z@^b#f95oj3M7vE_&HFRK-&b!XFD(1 zYxHT3297k}#&D98vmmwFGbi54yooPaKbk=;7|9C2s-P4^J zGQGn&J@^sPcvK|cB#>SxB6IkmTLx{*z#QEkcS*}YDBHL1?RSsC4w`q*j|3HyY5fG} z)Gq|%vsE5GL;J?oq~Igpzx~dp8d9bR(-A-P)U?}9Rj7;Flr)`q?m&VomIf{+1+i^@o7VlI zUa>VlyAdhwo|+xa@$^E)ZP~8D(|WRCuA9|M9_YBOr%uOXH=$aB8+z-DucYFLv0h18 z8yG+1q!c~7ttg+X&4;S(*ZvG9=L%_DmbOS9QZg`j(XD$Q=%RUW*YySzF7UP%K#v4qg%d`P%mf_;#V`z1^XBUa=Yu%4BESIS@?xQ`Vw8VOqI z$xqv}oH`&$z&tdy>3BPYJZ`El>uJwS%10eXL7u#1d+tcXa8>gr9vSt|_{Q#TG74&i z6o&*Zv2WkdR+nE850n`bUOqk%6yb@wtCtxaJZkXyAXm9~yYzO~tqip%*g}gS(Jr<7 zdE!o!0wGtI@eHxJ&z>OHNHz!P87xaCWOlN4W^^kaq z+10X_;}&qgp^kW@R{W%TDUz{Y7puy!CeN?QxS6~}o}sng1KD$+hIxVfyw4rob|52q zd#Iy3?aFM_*y-{#z9G$HZ<^}K{ZC&MLm zXTWX=^fe?XZUkauJyS&Brh9r5j*am}koc|ZZ1G7BIGOxlFE5m0BH$^>Cu$pA`8uh2 z-{Qyo*HMRlX6a@`+e+7b-{6zL73>-56kZIw*W8SG?$s$c`OV#d8+Nx zYLGo()clcwCeSM}iJ%FS{va(wF)@;yM6IeAQ6YiX-7Mka0^*vVQg@MUOYhZt6x5Jp zJxDpexmhN)wRkjg#MU0jJQ>%(Y+yqn&2-hzk@XrNA}Nl=Q4c%M(nh9L?hBM880=xS z9gChR_V=gP*pq2J&b-9+4}J}HFlHQ_Wme{4gtgAoL2GJTUm96HoTR#+!Z(aS z=_879%yGV(n6!LuOnrSm_c5KM`=bHt$`kQvJ^LTXz@dFB!?)Xp!TFpafBF^f5(5Jl z3I>i#7~0`5BvPPDlOk_UhDdAvKPjrKxn?=i|+`Tr8a>%KA$ygpoW+v)UiyqHAS%T34Fp zTVkB@Z3pNd9DVU2d^NO@qdRQ916=!dC6|=Lc)dL2D^`8Gi@7wASX{6V-W$Drnqd` z$S8`QN3g%jAxNgs$j`zo<(7>aE32fPu4sI}dod-N+FXQ07SS%G$y3!in+@7KCPo8P9p9ddOUv4y^8G4;=H^euo+`=jX+Pj`OAqTh0xC&B2Yj<>6T6uW@ON}-x2R<2|$Ct%i`no=c@PtTjw?^Gu?N%Z%uK}hNiK*`kf!>KtWMvs?Q zXiX8;JtKk%S(cuqo29i;>HW;wh1od=6Grc!M!$8@CH+2}+TfPCd;CRy39@+!Z}&b6d>X=h#$JVhj4H7AjbsqfEINl-^q8{>;bE@NqSNQoX@PPl)u5)u0lsDrFRT3C7;0 z(>k3j{K*UzB~5K`+}$RR=))4@%z}M zm(fbWD7^@<5)&kiSmaTVtYb!rq>72G;W67r8S_m)!?`9?<)bNOM;^Vy z`kYpdbkssy$~>6UIr){w*{Ykd)TlRad(_j^T<(?GZ>D2u=Qq@X`EAKR$jP`#a?u{_ za5TfJV$7Q`ob!qd<~vGqvQr?I8khaf2aiIVXMDZ?Z78_1FG8g`_lCgN$gg$SeR z_#NwPgN1Wk4e2h{#}66(2UgzKM~E6jz15gbcT!>jNdq6@6*wera}%E z8o{1^!aoO+Wbe2{%-!9v-F`dgk)-4FbL`}_&^sA5I}9z8I?l~$jO_0CNHWvFkuJ2e zoubX7v$B3{jUQt1y){}P`+F#;xqYbZz!W1Vh^Fw!)(iPz!8gP_-meHBK>AE;{Ghpd zy1ct_nK{2aCji><=zA-q=YJ-2@z%{;++P0OcWkh2zX+#OKGhY#SAn8Us?3HxZ zp`KKHUHM4Wnnh=TH00 z59qDT+vjZpf>+z44tExQ9SjE<4;4Z1R^yDdi(Y5#^YinU|9t(J63MKh!hIyENYN{K zA}K$J{b9(VBBXt&F`tg9LQ|maE*ZcD zqO@~L54T|98*@rt4Ru>WkkIzpG1D(->LYZ>Zm5}8e_!AkQ1o5XK^63D!cARoM=U&$&9*!6i` zpjM^gFW7H+o0Ajrw0mAH&pYyOuSKVm3Tl#IPTAE()*=t?$y8PMDzL(mo+XHGlK`o& zP8V4i7x5HcPFOs@>il%f{vEQViOJ~xj;;kOGP->zE%5;=XiX6LVXR`kV8xszh`1rX zI2L=GSu49+-%b9;p9x?j;Q4z>oKkMsEvHV{&j7o|Q7^IA$$ug@-tsAWQ= g!hb(%z=mP)K}Uq0Sn)GkfXl!8s=D{yDT5>a4?qdbc>n+a literal 0 Hc-jL100001 diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index 1598bc828..d26a63396 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -2011,7 +2011,7 @@ export interface FillerOptions { propagate: boolean; } -export type FillTarget = number | string | { value: number } | 'start' | 'end' | 'origin' | 'stack' | boolean; +export type FillTarget = number | string | { value: number } | 'start' | 'end' | 'origin' | 'stack' | 'shape' | boolean; export interface ComplexFillTarget { /** -- 2.47.3