From 3bf1aef8e2cde2290c68462f251db3955d254988 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 29 Nov 2021 10:55:55 -0700 Subject: [PATCH 1/2] Avoid loading tiles outside the grid extent --- src/ol/renderer/webgl/TileLayer.js | 20 ++++-- src/ol/source/DataTile.js | 2 +- src/ol/source/Tile.js | 2 +- .../browser/spec/ol/webgl/TileTexture.test.js | 4 ++ .../webgl-data-tile-no-wrap/expected.png | Bin 0 -> 99757 bytes .../cases/webgl-data-tile-no-wrap/main.js | 63 ++++++++++++++++++ .../cases/webgl-mixed-layers/main.js | 1 + .../cases/webgl-multiple-layers/main.js | 1 + 8 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 test/rendering/cases/webgl-data-tile-no-wrap/expected.png create mode 100644 test/rendering/cases/webgl-data-tile-no-wrap/main.js diff --git a/src/ol/renderer/webgl/TileLayer.js b/src/ol/renderer/webgl/TileLayer.js index 1e3ad1ed14..16b3c3309e 100644 --- a/src/ol/renderer/webgl/TileLayer.js +++ b/src/ol/renderer/webgl/TileLayer.js @@ -97,6 +97,14 @@ function getRenderExtent(frameState, extent) { fromUserExtent(layerState.extent, frameState.viewState.projection) ); } + const source = + /** {import("../../source/Tile.js").default} */ layerState.layer.getSource(); + if (!source.getWrapX()) { + const gridExtent = source.tileGrid.getExtent(); + if (gridExtent) { + extent = getIntersection(extent, gridExtent); + } + } return extent; } @@ -236,11 +244,13 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer { * @return {boolean} Layer is ready to be rendered. */ prepareFrameInternal(frameState) { - if (isEmpty(getRenderExtent(frameState, frameState.extent))) { + const layer = this.getLayer(); + const source = layer.getSource(); + if (!source) { return false; } - const source = this.getLayer().getSource(); - if (!source) { + + if (isEmpty(getRenderExtent(frameState, frameState.extent))) { return false; } return source.getState() === State.READY; @@ -248,7 +258,7 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer { /** * @param {import("../../PluggableMap.js").FrameState} frameState Frame state. - * @param {import("../../extent.js").Extent} extent The extent. + * @param {import("../../extent.js").Extent} extent The extent to be rendered. * @param {number} z The zoom level. * @param {Object>} tileTexturesByZ The zoom level. */ @@ -341,10 +351,10 @@ class WebGLTileLayerRenderer extends WebGLLayerRenderer { this.preRender(gl, frameState); const viewState = frameState.viewState; - const extent = getRenderExtent(frameState, frameState.extent); const tileLayer = this.getLayer(); const tileSource = tileLayer.getSource(); const tileGrid = tileSource.getTileGridForProjection(viewState.projection); + const extent = getRenderExtent(frameState, frameState.extent); const z = tileGrid.getZForResolution( viewState.resolution, tileSource.zDirection diff --git a/src/ol/source/DataTile.js b/src/ol/source/DataTile.js index 903d3c0b35..5b3cf452c1 100644 --- a/src/ol/source/DataTile.js +++ b/src/ol/source/DataTile.js @@ -31,7 +31,7 @@ import {toPromise} from '../functions.js'; * @property {boolean} [opaque=false] Whether the layer is opaque. * @property {import("./State.js").default} [state] The source state. * @property {number} [tilePixelRatio] Tile pixel ratio. - * @property {boolean} [wrapX=true] Render tiles beyond the antimeridian. + * @property {boolean} [wrapX=false] Render tiles beyond the antimeridian. * @property {number} [transition] Transition time when fading in new tiles (in miliseconds). * @property {number} [bandCount=4] Number of bands represented in the data. */ diff --git a/src/ol/source/Tile.js b/src/ol/source/Tile.js index 8d9b16207f..03a8038b51 100644 --- a/src/ol/source/Tile.js +++ b/src/ol/source/Tile.js @@ -34,7 +34,7 @@ import {scale as scaleSize, toSize} from '../size.js'; * @property {import("../proj.js").ProjectionLike} [projection] Projection. * @property {import("./State.js").default} [state] State. * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] TileGrid. - * @property {boolean} [wrapX=true] WrapX. + * @property {boolean} [wrapX=false] WrapX. * @property {number} [transition] Transition. * @property {string} [key] Key. * @property {number|import("../array.js").NearestDirectionFunction} [zDirection=0] ZDirection. diff --git a/test/browser/spec/ol/webgl/TileTexture.test.js b/test/browser/spec/ol/webgl/TileTexture.test.js index 3ad9a1bb19..e454a3c53c 100644 --- a/test/browser/spec/ol/webgl/TileTexture.test.js +++ b/test/browser/spec/ol/webgl/TileTexture.test.js @@ -7,6 +7,7 @@ import WebGLArrayBuffer from '../../../../../src/ol/webgl/Buffer.js'; import WebGLTileLayer from '../../../../../src/ol/layer/WebGLTile.js'; import {EXTENT as EPSG3857_EXTENT} from '../../../../../src/ol/proj/epsg3857.js'; import {createCanvasContext2D} from '../../../../../src/ol/dom.js'; +import {get as getProjection} from '../../../../../src/ol/proj.js'; describe('ol/webgl/TileTexture', function () { /** @type {TileTexture} */ @@ -31,6 +32,9 @@ describe('ol/webgl/TileTexture', function () { renderer = layer.createRenderer(); renderer.prepareFrame({ + viewState: { + projection: getProjection('EPSG:3857'), + }, extent: EPSG3857_EXTENT, layerIndex: 0, layerStatesArray: [layer.getLayerState()], diff --git a/test/rendering/cases/webgl-data-tile-no-wrap/expected.png b/test/rendering/cases/webgl-data-tile-no-wrap/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..df2b332db12edddcf70a46a419ba2b516301df2f GIT binary patch literal 99757 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 z z`1FjmwOHrzJ`e@!>4cQ0?^4XKP0}tXgAWetUH*Poq15)G&NH@2?OdCv;dR>%VA%0R z5*h$D#$q($^N!&oK>`6V%B1WVP<@1b%E+lM~cef}OHc&u}{5SdITJb&+bj*gGG zbLS3y-*fon3G>}uR?Qj))D)jxh}(AXvySbQpwcR(-jy0RmcaoeP9fr*hm9-#$>;nj z&uybMgZF9IiD85fDXs}fl(fXR3_Y>IBq-{$v8xTcPXx&xEBItU!{Q&{ht?Wp6wW)k zzDJ>G)*ZoK@WvZ&adCOcyso%)>lUB-)O}pn@Z?Dr+@QF;Tyc7K#$+}{n-b>&mzQg_ zG0bN>C}UVR7kD30#-McpA}F04mnelciVzd?JqRPlojk`}lDA7Cd_wMa<7u}ITPZEMk;=6MVhffdr@sEGZZ~Vq@@P~i+hfJqa?mYiI7Z(@QMM>9n$*HI9J`>!GY1$O8 zUtOqbd%y&|+F&DrG{t?jvS^MJCR(RqeU#jC5Fp-g#`(@bKY7zW2TFF`p-KR@=7h?d@@X zettzLbaj<&zK0U|q^CCDb!%a6BS}b`hxI9JRV1gNbGlu)isXJG*Kj@dzj6d(RG6wT zguu8EhIl`)#S09JcGwX`5=*O6uGnRR%;QLc${sQcxdosB!3PUHSnn{}5Ca%f5Nu?* zT2fUtWmVI4J@35zE{BJQESF1^7*?w$LAbJ_cNP~CWb?u2@I(N`?(RO$B|~z~;dP)i zRr-7%P!h&id`Q*A7&BD9PWa{6e=F}I64A2xeu=?N=|P`ieu!yN_ttW`TvAUas2C~A z67K_Oh3L$pqmdYK0fLV>AL(-@Vzaow#|^}^y``*5lrnfHM5VD84bxefjM%lw5OvIX z^fU|3JA80i3m_zQT}opbZSc;~dzXzQ5<-H>YAe6=NouxD7^pHEo()jaVi2Q|AcUaC zG;t!$vhatHLxz-UuBr-C6ey)}E>IecbB+%_{D2?4`aPb%^Bh%KQkViz^nK5KvB#%B z^D;&ZfAoL;35So5dHDuHl=CWyh|r|zO9T@N{!0G;n+q1$*Kl!DKF#@5(3N{&k(Z31TB)SD23#3 zay;ENXS=P-xb9dspPwExNsk{!2SAJj0hi^#gLjA`Bk7SY3JPsTUSRt}w|7N>Ep=HUqPTnaE{`8SX0fxw+1V*|SyATa)@?&IonS<8%{rwk z%K~kRl=jNf-LfoECTSB=Y@5D=G6~HLi#rj3S^JLKLJON*Z4^De{yNdJJ(*^fPfs~Nzn~~fs>zhYqf^$6=k4lUo<2F@ z%^$yujs>NzP~s?xl6KvIs1#O(Flsx-YgG!R8A-j+w1m1&>F27V?|W3Pdr4kvBYhsS zAEWJr>*!|ldyuUiJdfEJN;1rw$(+$<6OJNi_3VQFq~p2+xPr=Z#>L#bf0yO?1=H!2 z)oR7*=_#ctD2&GYNYiyxb%o3Et5F5LwHU2&TV8$}@^7mP5y>#rGo4OTYS1~_rl%~5 z6iZ2B?>~J1Lnf1&zG=9B?;ZySH}Ik3;}1VzXMc~ybVjpI#NuQ!q3vzrBBD?fRg&zw zfH6t-IYM({RvyMtwWt(%C-BL*V=As0Q(-Wsy;4?VfOIOMn;h08G-A?%4M_tLx4gB@ zlX~;!0p6#)zqK~);IWgu}r3h^RqS1cZeu%-M-76=We5wqHWh49v<=V@gXsIf>RVlg7|{RXn~?2gf%Lr zdXOah7NQ?ioM}w18~7(3F-D@_1`C5@0X=R$*-pYHewK_fv@R%%5@!Q#XE8=|?}dBZ zzju#+|IUy3!WVu8birHiyq`#B(L6mo<-6bg9uf^jQ4<4nokh@;Ws&XEqtqsgGb}y< z3Y}8Jy|o01tWHmmqC{eH-jRsy`yA2*ymceT6G9k;K*M?Ks><_i$H$apf=@P^$(TJF z#x56-smvAlY?I2Q*AHuHJG_2I6EMudCxi)sfKj5TtC~qY0Uz;mmx@n%i>M4wLm+rd z2;e0_9j!HeZ!rU-o_F|R5L8yeZKuhGcvvJ=f}NgUFsbJhMagn`Hae0QKlLK}H}?4G zVyvgw1;haar zq0Njz7?iXC1a)Qc;KSu^BHI7XPlgz@Wn5Fnd8$7 znx;dcJ6W*fB`D0 zEkhne9|wCkSS=ggdjHK-P!$3T|Vm_H03yad|;=bpQv( zLEy@Q9w2MX*$yF-Z<+ABl6wsUB1lFjZbY zY3mEv-(S#Ws9%*PYZZjWw8l9o%*Nr3V=Gz49n;9G4B7daWvyy!mbQ;^<~Dz(FV29( zoOAR&I3H1x>H(C}oSYmppDy^*fBUCA_xua|>Oc4rpZfGK@Xc?2o7rT+$IHhori&EX z`G6k6GiULxhv<{DMx#V0yHOh{bShX&8=xZ>we^M1+l20RcCptCggGI$3ny$2OeQ*0o%B6e8)p#(Pgu zmADvKw+$*L&oi6N&|2Yh%v|b{shZOC4a-%7?|XDv6GOmfW>+hPE{bs>d7mVeAr6}I zB=zjNp5Q@i&*kM3Z$0hB1@jv>Sza!A{_ZW>ZbeZfsclsn+OA7F_82M3I@R2#1YL@Y zgU9DsT4^^=f6Eu5!I|+ekji{K> zPM~c&M1<+QX1ARY1I*`BLO!rF$j!&4UXUCz&!eCFjjfA9zY2fMqsxOe|keE8mD zoQ;G&rAxIW^116;g6lU6Vs!i)Vr+W@6Qw9r;!u3v#ckK)U8I^!H{V7n^oW4dLLX3} zF^1J@g#zm7l-~7O7qaE}hVx{^3eTqThU`n!o7bk0A#nrS=lEGVgv?lATnsFiOO_WG zG^;f`^99BzCRI&Q7@V`LRx2VQlQ0I`X`0RwL&W8HSSy7x2@Va#F(PRfR@W}7s!F_r z%gc3Mh>^WJcOV32vk5V#Dmm*MBB{o}lnU-cJ}D!w z3g(jGs7(6A7zwVYZ5#TorRiI$=>*Z55QXR?M2E8uty3BCY&J^{*!9Gil$ge-ysHEj z^W?yH<`Yz*=(-Lifuhjt?9OS{rznA_5+S)kcqyYZCPju+-ZMzx`rmT(_n4~&ucQJu zyRdV96dWy=OCmS$&hg&+?_vZhRT5m%8FcHO8@so7^!S*?JQC4(Ymtx=nZ$tadqTHP z-X%-Juf)fji6(_}o0Mjni=^4`-V%L}a}_amDFilVOp|->aXtxq=JPp0V78M~ik-8V zB02ss)`zihXxr8#4$|t)V^6Wj3w3bLS2RH*TYk&3)&M!MIE*j?ZQ>wD2>p_V@1&6oE zE(kHH_;T6$l~_4zVAAv}Opy!VwlXh9YlMgo;JOZ*$?u{lsOuWZd>DXeg{eyB^EqGn z%2#;$^eNx`*0)f`;QD@y?IDF$DtrQSpNwz3uAy)!JuFxMZ9P7ct6QVIovDLVooaR# zyF?$*2r4GX-85@LQSjXDo7}l`2j_a^IOQor^eC;dKC*1OM63YTb=hFkz?ve-K$Qj= zcjpvKU0!xHO~<20kEp8|r779p+oS6mX0sY%V0UL1tpiF2LUcIWqs@>LP7A{gEdB81 z<7NO9f)75iy4gDeN&D@G<{CqmbLf4Lsv$$N^etW^X9Y<4SVkYAucpGbCvKZlNCDYs zL^?ym5CTRiP+4=6tLunYJ1Kde(pA-@pfZL@U1O?>i>Al9fKnQ5N{XVSYdef7an=(( zcx!>=d(#sx{G+Pxi~#zTFof6f#_36m$@fZ7>rhk zHVK)9ILhAK}%=xmQgd)&M8 z9O4}hKm35h<0FcyVp5j$!PBhQR650l-aGofBdX*HtFporbuO+L$P7U!==+Z2qZ7`~ z&)D1BVLn|jo6f0xvLl9Y|Hzh&J>cL{erUJ*Se<3mHX`NUUo+_Rl`Xm?8fak}?oT zHHr!_Th2ujyv5lLk($fPCCbzs989r&$EsQLJOAvfyz|~e{^Kh@U@@uD#RS)ST$g%H z2G`T~4Sm}XLZ8Md^FzU>GWZx1nJI$=d}|IxwpEZrs1s2tQj`i};sso;`gG3bYFA0* zw^lrT`jp@Q{oe;t>P{ngr68I_3~ExQErb!S2T2^zNOFr1MIj2pcs-e19m{`{ZbNcD zENyO)RMLI*=YZTz2!T=?f;f~!>e_H)XF(yt^5PWbE!}E`SO=mB89rzfxAylqIyuI7 zHmST~+Tpw2p^cz*nbIR6*~{URBTkM_*xg<5;tP9}WfFi$u*Bf0w8=Tx6dPC7lzLLI zySKyf*(s~_3Mn*EJQM|;wK(gktBPt;(sd!n{5`!*%}J(Z!NLAM^Z5?8?KwU^VQp8b zzkv$4T$-y@65x2U07?|S_h^-_hmoM$*!}QcB^rrB^f@b`Nwo$(Zc06~K@1LyT=?O$ z1_4RE0tP*~BG9#o+^Z`yrd8*=JBSF&sp-%fO%43YR(31Kh^Q2b1=piZK(wOm9jn%Q} zbh3^bQQ*8sD}$i$<RYJyANPhl>JhJ7Nr(+v<{9V5IYhT7lfZn-Wd+oS5KgUGR zjh!8KcIK2yb8usis;pRd9ZDD6ym7!}I;Ec1eE8vqJbL(q%hfu!ztXvLOoET+=NELn zrBDT{{Fx5?83+PRzoUHHbh}ErXjZ7-u(p~B2f!Eb06M0h>9lols{Ia z#-hPz?;ik7jDu1$g(}wdNpeic66sC7LR5;;ilspl2^lgN`r`H|9dHP{NJCD~%e5L{fo%yruptLbm#^8d-6ctet*Q8BBrP7>P zXS0n&#F(^skSZqIzQ;tE%;rqWik-dtJbLf|MDw|qKgaz~zsT|N5k_fEp-Kv+Qf@R@ zJkaz#Z@=>%pLy{m4sPDYg+tC(OT2Z2^K&}y_{F=odFiE>SSsmd+)@=g#drn4;wTe94n1PiUH!$!tbFt7%+HZ>bot&L*aO z=mC&90JavvCLJi_f*z&OF{V1}A+*RDkl}r4k#EkC2vaui9Ujbo#}E=s@59I;SnEbL zSsci!Eg{Qr48)|*uPusd6eMlbYKkBMXHy16>%?-05a|0p^C80KDz_J}zCy76yoVxe zT4PJD8jO(`HR!}_x9ys`Qgqf+Rt44ttdD&D7k-(e(+mFQuYbT>KYEM3-CKm-gGorp z7{S_(-gX3Q5tSBC(uSz90&?5Q4Nl>@jwLAuWlR%>ERPpmWFj%~0!9~z_r$&*)92Rq z5CyL_1W#~%LKjL>?+p|x+erGn)VXOsoALQy`4wJ!?X{%3b&kWwkGc2hPjUabTL2VQ z!TIF{MOjeKYP3>(=}TYYl~-Qj#XB!Dttads+~CQh$IKT~_WK)5CN-UH`Rl)ag{Z)2 zrK!rAh^5pug%YCe@d0+`GoBnC(RCeFUGtBA?LTL_v&-Ydr+obJ$NbfQ_zq3e(AdP3 z7N(>qD^}~Cqr*ei>n6pFG404zSum|jY`4btksG&mQw*91Ix4{w1@py%s;X$LqqUYO zLd>yP>PZKL$fT^WO+(*x)P6A{Jo^o%DbM?@6$bjD;c$2!l^(INBs z4k0(p$YcdR#*N2k!+Ix=KPU*do>!8Y+|6S43`I6uqM>2ZWs^GGHnzl*WQkYqxMQ*s zaL5!u>a~z6GBc5*hNdmg>b@a4p|VWvyar;?XErgsFCV9e;OVW`+m6ulNVzI!xhEmlu>xMhe-QzcYKiVzbqIuL2bq=quV zZ|q{Y--Qkum)n>TB0+?{@5fpYtqsw8lqQE)9&%p_f?{=X&UgOu+et_kBc?34bMG$g zYRT(Ad&ppS^&YbCF##jD}ukfAkyuw>=y}{|}IreFX zQku!6W_fvr>H9v3X+n=wW%9f}89>`v3S;P4ebgoAb zCRK%qO8W1RQh0up{B8_3DGF0sEXa@oBqN0(<#??MOw##GHaL%vYVC$lX;@UbS>&(- z5mVf*NScV4T2zTvgrR|@Y<8uwdTdD3Wk)sW#X}f&8Sp-`JX>*gcA5D+VLHqG4@u;g zF@|336(@Ej7XB$hlb?Mg#1vH=(~Lm6iH4}`YyxMe7eso>N^$exCX?wd>$Rt8Jm3G` z>zo~4GMg-Do1VV4R7Hu>LbqNKYzqohky_Zv(6%n5!Z4M`YDjM;wY`iw5D8n?C0U>| zZ~|oFQVgg~Rw?nwsm}v8Rd4#-BQQ8m-}gA9lVDC)Xk);b6o}-TyhNplxj&;W4ee@; zx0=PIPBu9@99XU{Q|GL+BX)Q8c=gpEV6Ek?AD=U+r@Zpr@1T`VW70PmqbarK?9l`2 z*$mUQE!MU~0V6`ximE6$IJn93>^w2=c?~pe%Y#Rcna<`A;pyR1s;Z_cYeH;UwH-!j zZrwWI_U+p&&o6M!F`rCPG0-(FMk#h?b9VQ3=v_zjAr%Qtr&#A{`yQKFdY9#|k+jf_ z))=FyiUKXdYQ0J|>@k%VS4Oitov|~YF*7BL$%N&)p`A=<+m1FQWMkJWv@*otz=w2K zp1L0E2)xUwGq$U?VplL2BD^1r~oQoJ;^PT_r*Bl+5qov~Va>aZyr(HF4 z&QTQ_XFDJuN>i8urBdual#8ddY`Ee8hIt;ifuH8&Vg&00O5(WlZ_h!5vA}DX3m-fo zI)ZbA;6S;gN6;lntCU*A8DkI?P|9$6_=KIEJ?d%2`N;`YT`-@dUKvV+vaGm$`!*ka z^bu{dPI?ey*j?=8dYzv2YDs8YCVP9VmP@)AneFf4yB0IXK^bxlaHp=PxQV0bEzP>6 zo=oW4)V%WMttmc4rn5P{v$U=!YDGPrB;)Ekx~{|ZmeLqRMY?rEQ5tR^+!#r|*`ns; z^pwse$?LLN)Ac<*rzYo%MS@CM`4@6H;a#M6J$>I{lu#Ol5k;vB_U1EoXA8tRy49Ml zYpDPe1EqpVU9s+6s^Ig1Y9Im?iQn*+kozPKdV-O)9Nq66LsN|*2{3kk`gsmvMA%v2lIu8xWQ!rvwjJxW zMd^s`8y1TR-~aw=y!P4~oE)A~s0pUhTyz&1aviVJI2$_$_ z%}zxKxm{Sy-IxZk$(WX7$fxJ?OOm7yZNj6<1z`$8E<6jlDXoto>i~S}`ye3$$bbz6 zA!-CgVHC}3N!Knhx@6fm4C<5h@&YDP-uU4Un9k>8m8llZ#pyAj?=f|qHj%18#lUou zNXWiv5$`Z{QD6$gYMmM#Xen4PS6rN*vpZk#^vM%;c6RvtpZ`3MpB(a|x8I^DOWLj- zzlhR0*S<%@YYJUZ!25Tx&k!BJ{SU3V5cG+m36Bqq7+J5*i6 z*%^gORghX01R<3c_dR%*(teWEd4ozZj)gi|0xLr!i=VVZgzLGl5k4o!lFs2ru3>fs!rD45V;as1J zq=KSzj=G$%ytqV>bR>4YLQQK*Q*6yg`b=`A<+$fDAUU~03O+lZ8wu`qEys4~mH2@{ zZyIt-{Ur2C$~;9`8q)nD6H_!aZN>Ri{wP^$Eno_T@A{_p8y;NW<-8EP(Hj2k)bsecZo9TSQ?VATo%aSM_?-M&anM}BK>o&`_ zVcE6V5a^vp2cf7Z>EdI=sDcr|zspsZ{5>IwVPDJBGJt?^yUe0PF) z!`W)dr|#V4WO>Ph!>8Qd-C;VN(=|P&ED3qx_>g+E^v>bNc%R&{7L3xV<~$^#549C< zi)=!GT(4PACL0K@62nbQO*NGgoZa-uOBsVr`Z2~xKj_At#paup%xCG=VqMqKc8RbX z7Wk$QV6OGf1fX*cYaMNyieQvB*xur7MCl?a+;WL_*L5hRXqpT9-qPC+Q>B{xey9#D zD!Q&`=wQMyawK7B)19kAw+O(HOPa^hZc>&>;?N5#hXW)oAVyCZNnC%WsuLhJ zn#m1twNR90Zim19+IS@-Goq62DP~9F!`LO-cMZO4Km^;jW40#*MW1y5DtJmIxVE7f zHWKeBmEgN}M1~=R)W|f1R1G;0&q`rj+pu?IkNv$Jj!#Y~jb@hF^)^CT7|NpJ?YG`! zeR0X{n>U%(6~`B6NzJ4bPY7tP1jP0Fso}!QP9|qb=%W+eF{6c8ViaD zdgx(qG+H*L&`Jrx4^@w;ab%T49*Hr-G}y$Nn^fBX>z#FIv!yAQP4=MclVB^A$tK5K z6vdS^U$VDUOw{Gx_uB}-`#@3FXx%{+oKJlL2R2)4p)3m&hUv7XZ4&~BIpj!AN)l)G zQ;wgNEf`{D;MqIy#)R6QyK{>hH}?4c_rK4B2M^LsJQNshASB^T@GdtG7|NI97F$2u z4?$sug6)`B66YP=7ocE7C#7IsaLPmo7TdO5TFY)#0Wh1+m@1Vt^JR&I zKsA}rbRCAsq^h}SRw-UIDJ#*(h$c{K0c~(GptZZgjSNN^!ypVv6IvA|CM&K)MU+n6 zTtiL|6_sI9RT!gFQO#1FeTpA+>}`%yhb2jb~`pu9RSk6x$ERJKWSY zM!2}R$W2HT)9Dlug)s$HRX_-w9-X9~^SKq;b^{5Kd~=t&q-)c>h@=u$XI&=M{{N=~ zpIJ0n2r;HXfuXJ>HA4~RlNrxFcZhEMY2ly+1|zQx%PhNWJPF{b&5(c@J>i^fnQ$QFm=HzAuO3^9aUJ|?B4 zh#EUBr|+8YCM1eYfByfEwf7FvY|ZQYK2JK~4c$FG;oeOkS%8EHGGLIv7)wR52(7^j z2oO-Hu!RJ+jKClZER)Jom2H6vyDU@&WYUt82%=0X(k`sXme_&<0e8dQ8)kZ@!y8U` zlK=QU=k0fTdgji8Pt{cS^qbCk&l7&(8!p8^rk{3)3%Jy(j91gj6!-QIb=kk%Wi*$Y zlG4S^xhxbIDfrvt<$}8}zJRGKZXO)4TrOF!RygN4oGtNw{6Qjg#Z4VzX4UiOb@ih<`vZ|^}TU3`~VB8JdX+d!AvgnsmF1-K9cH7Hh zF&Vb#X;CZK_)>Ott`yN?##%#8;C-a7?Nd+w>yC`f&HW{0GMga_W_`WB;JN4ih_;<` za`$EFv0FrcJ|2#CBs7z!*p#qDU>P2NNGBX9RFTjWr_->*V!!KvYcgO1mP7tDFV=C zVbV(P9-p2cOQK^x^aDSTZX7r{d%*MWemAH0I^z;KgvVMjTP~ZC+q6x?Draurta$l+&8GA8#kj&4 zL#ws4f>Ne-R@!{ph*vy{x^m3hmZqt2I-|7XsGYH>8V=`6Y>7ZZ2n@N$Im0mYP^!V! z8J2FwdfPK=6!?Ho9=pL*~rXN=J#;^hrZ^2I47mfN*8G^Nr!<|*`+FIYvH>^X`u z@nnH5D#(6!lc$LqqwIc0n>`#sLC0ySArzfnl##aL1el45U5{U6*QEUye8iZ&0$3T9 zDG6O$8W_c}MTsJiF9tzYT^5 zC-<=CjJm4id{f4t82f=Z41}>K#Q{Y^8@V?|ivzOg4aia}9fm|EmdT%Xo2e=-$f?US zsXbppmW#nj4$>V;f?|wGa(o_I0J!uAnD}KyacI{?nrch=QX;)HKFW7>xd=?(l}u#$ zIf;U5>vj`;n%GL(83iGpnS21J&)&h%%YW>>m)_0M@l9?W9^!kk;F`5F{1|AQK!jg@ z@p;ji50T};f>+2|$9v*UXc18$+kU&=&o5f6Yh(U^SQ=gi>qL!kFrqndn ziD)Kjr$dm6Zk#GNN2$vdUFgzTJP7w{3n|G$ll7$sfYyapT2h1Q`AR7fFfHvtr9@sV z7ST@cy%ZP|41)-RPTKY{M(H0rhc?9xDovgN!m-%7K^sNoGIb@8>$Z?}8WakU6| zmA(R%^zBV(hjXbWEf)0I>*_PIhj46Q{5Ya|*jw zV`g&K5kSyBo?{;iu#XB&Iiq4^DhyK6q+B=>ay<_hMdf;VX#8A0Hq{@}E^<%1&FAU@ zaQS}n^KvqaP)q5cT=~D+MOZ@Po*vg_Q80i#oX@DW;_SgG7iSM3N1EC(bR8!zzPPI- z9~~{pS*$6-R<^8YoS}6~Uj59ov~|tccZ7bxmR!ll zfHID{wd^C{oUv2|Dk*sqB?R+?C=N4q&fI7h+?daqS2d)-&~@0R!6QYox~&M&mo(5) z&uYdH@WaT#!2;(jO;yoWHBo6o!D}}$()mCbJUfj+rAjVWxCqvY1XPf|uPvxN6(dm_ zvUOk-#!A<~hf&T$iPgDKZ6(&+fkjHWL6DgV9m)cc1Wg7L*r=!#O*_G){IWM-jJ3?$ z`K|*1>?ZIy2DV)%g|;NSqO%mU)Xb*au-R;h9%2+kq_&0_RAF|Sy-D`uV;?#A@F13W zG^PYfV7aLb*y(yME-o0y9;*$j^*LdX8i>k3lx`A9YA9;L~HQ<=-}gsG!6 zP4LHbS*G_WPfjJYpMJ92EObeI*pc0)=P4y)$XXPB=*Z*9vo~*(a^~#beb(!(6g*;N zxm*xJq-|!P#jqlF!_M0-#YpUW{C0~XxzJvh91UtMPtA z%#sgVD>=16VYR{<$zLmHiYRH}`{zWh46U=Yl_rOQVHH`j~T8+bqR#=_YnE(JF07*naR6rK8i?J2-!nV^>4_K5! zu&S^Iy%$PwwwTg$oDV7<@d1IE==qrg>h|-Vz%t?`nI{;LgimF<%+mV&DTD7tyow2r} zvQAK`&a&-0{4mJe7J8z*UY9UGOEHc-?TD9TswsMtWkG~)cYoizchezQ4kc7?vY>fP zF6ci)LZH6H%jcIhefNH{&_z+$RvEoZC-$6!c9G>?4FE+h-j@40z7RL;isj(}KElO%jrU$GwiZin-M+>7**U9=GcGPJI5;@u zRmZo5Z(LP8|H8XCUd&jnRvg_tqVESPvT&V^W4+mmsEDmOxN#f5UZaN*lZ!b6Ni^KF z#=5DPmuRh_DK5peol&`Bs+l6UjuzZJJYd<*MVTdfGzp_X5l}`^nS`q{0+pdM+a~`|O?Dtk!GEPwSd-@Z7uqfNu2E%?xWR&d$!ccXFTLJ#E_* zIU`6uV2wtT_;c_5UYwtwv#1^YI54x~Ge}A}r&%-&<1o_oTgD*T{>!Fjh(Y-7zh7X1t9NDoa>IuC}l!W%C%2MD-M{~UyZ7#*j1dJMBlb)HuCB@oB*c=@_k=DG{lLvz zH`uJtn9W*RqgWmuF`Lb}Sg+{Ep6ml@?C@QW(w3Ri+&ep`p3T4tJhE0Ao#Z6jX2z^- zX|zTA1U8{#rnZizYH8|<+7_wjK4Y|@at4DT#lYyrKcJa4pp>lQ1e&&H97d|9;^^oY zRoD27HS0~srW?gUrcgTLD7mRXY%`UuIG8V(w=;}}^}0hTg^yyU5@L})(ne5cO7HB{ zjL~HDLpuPIK!=p^Wk=Ksi!SZC%h1p{i?cP8w0aB?t!;7BDFsBKGqJPQGBRAOt+7Vj zbylmM^{OL9iO!s>@NuNu_Ox?PR-y+$&P9#5FcuN_Vx|GkWwGjVKovIPuAF@dWRZ|R zKlD7MM3X=(gHdiLgEawkRPv#UG? z6gX>G&Kl;k2BVQGdx+@DQCU~QxmetawCoi*M#jr*4?y0B+#yDcktS)-aPFHN!Bi7V3?F{1#smqMs zi?*X5cJ+c>qNWrhImiIkN)<1VNh3i|BZ~>rTmB%h+P(aG|1p^XC3M#ojObP3^d`Jiw4}iv>u1&qqVE>a3>4UMX4=QC3BxVj={*^LN+gTn)A>x4;XElw*^*xcA)q2Bb(~18Zs^sjYuwx9fre-;xQ&*ay zk7Q$TZ9~kN90VXj5-tC1N^y=@9E#Fz7udTMf)UV~x~^#2dWY!;_VD{sn3Dc}EdC0i zRQ>Z#vtCNPk^l9}zKXy3@t-7lbBNrzd7HoRAH5&X-h4G*^|k*yIa;)?uvSbnvx-<( z(KI!)*$f|s;$9rE+R09bmey3hlx0gLWton+Kk=uDt{H|7EeAJTa%8UgdPT08EwkQsABx zo%T_IQ#yFvXFW}{a@}+He}7zr@K6M>n75pso)U%)O>MYwv_w}mi#W#zIA5Y+IVTCIaW%4cqmKoZ)bB zxD!o?QP_U1HMsUbTwF(C{;8B0x{iJribHFKGpg*2Vt-v35q;35RYuNStS*=>7Lp4Q zivOMF@aT|LH((YE&bxtOv%yEv2dtbU>q5i{k;YmYXK9-XXAL<9hykZHb=}bW5mRag zm5&U;lavN+=?WZLDM8rnm|?1zsV1S6HkG5cPGBpARjIX9&|@f*J|&@#hQK%mhCzJ& zCIU}J^5;)^{eQtbUU(Ou{}um$m+!sIXZ(#%=gYp}i};i`d?NqHH+?7fPq!#)RJPvv)|!psnM4-QmboZADezpdUOJ z+bxRB;lY9!0}oD5i7K&PUvSYjG}`joJI^pPhU4Xe;2d4b*evi@=M+In|JzzkW1Auy zmKeRK_a3J*Z7a2dVeF`kk^X-UK%jDpx@txCNdqeG&~?VxqPQa!@kl1bjJ2-#xhrxC zSYtUnJfsh2Bs3v)_#kRK#u^wh!_Z;0;b?w9>l`y{Xq>_1h#z{w&|{p%kKhL{0-)C7 zOrjq%AqAApvKWQ{iBX!*_=Hd8(?8*pr(44`ZB8%F`1=3*|KvB` z_M5!%uYWS1@SlAg-~2t_%1^xcXEC}eDUVFb*Zg-rMzcaCUZ4xC57xXA@8>$3%`r&g+^% z^`yV;BkiE@7GfYo3GD$5jy1^uChs zi`1OfwzTvjAtiG1WXeL7A~t6!Og|*o_Ndy>d%6$+57j58bA8fcaP{+Y277k)0HqC! z#R8ua+isw)4NWu0RW*Hzj6PFcShoGZ3opGytu?o99C0S4|wLrF;#}`c8iXI z7(7)~3t`0>vFajAIIn7&x4;H$*XOf_zVGqlNZYhxagV~8OZ%Pi3;G)8lJa>|$rZa#?pGdXj(6v?x? zlHF-JZ*WG_)((8nm?O2RX=XDPOW6ex6|5U+S8s)>*!ySMiq?>$vjF`LgxQ_W%6Vv+GN_B}(l#`ishfO1A$l=mdJ1c@(d z&QCgCX#!nZw>|pYiHZ5R_sa!Ihe@SFP$c7brnD2D12Q7$G8HWImGAA9&h_f^o_4o? zQju`i20Xu5addRVd@&=0MB6rG3_}QPx~*`gXJ=Hv zjro#A5eu=#(6lX(>AQ}s6|Sym>x$6_kteDhxvB~oMWnsP5;A9CxsXL5<8iL$;LZ(k zRxuJ@N&erURmC_)PR}nGeWYq?ZXZ3vd_H5lU9<8l0bzth*Y$M$$ks=y%ChZ6Bq8TW zQ&}48m@gJ+pi%}EBegZ$JUnFP49Qt~C5uB_Rm=|#=*E%xe9jAZ@6q)=Na?;dd`u`NwIVs2fq8qzn3@t>o+lLXQ+_)=U@4Cyx*UFUw--*ewJVQtzRap z%#Z#2|HB`>>p9;18^0=pGpoWj6lm$c`Gue2r+?+=P({LZK{<_SLHSdLCQo_1()B8(uvOilw84*o^VK=FIG7kRhx3Lp zB(|N1hK3Y5oHzKs!CJ-f%_CAu)Xs4@UvhkK$g-)iNR>Xvi1#BQ1u{arwbtOw1dE(3 zwWXUhpH-MK)Av1Ei#GbfLS&5;NFMG)(#WWaVeDD0R*d6{5Je?t7)4LON6*>$DT5cc z9Dvp7iVz|P%OehM&Nx|h1ifYOBgR?kwn16PY&IjsL}fH4C0Zv!j8?(%;UPw4G2{#* zjT5`GcDZD}-k^zZW^?+F!rQa`tK?8C4c81@E70b z{rUap{(x`#!GA>v;*0QmfAstO-gAGzILa=KQK)!1uqN4SlH#L3?4$W7U-IR=_St87 z?w!x`rC;;EvF%2*GE`NK_X3IvQFQbxQ*m*6#yfuh53y}4br#nUv!rbTgi)n^xohO@ z?P#Ttr;s9D&V;d$PSqs|#aKrSL3ki33WXQZl<<8=7zT(@a_dS2OtrC~)PzHN+Tp)D zx2Z$%xC!$36yo|e-LyfGrv+lt7DMjIm3H2vZy(EZo~)?!idUE)?E<`KH4cqk^;_;= zoH1)!X0w*VDD7T2fBWP_o6E|sp3|Z!~1|r5{A!b4Hb$$Mv@YypZA^|15MM=SVQ#Uqj%%R zF~>JV*YJ1JG6C87yB_ZcHrt9AMFA%agA^CDNKgrVUdTEsUG9qe$i;`M z+o@Qhr@XVnnjE7iLsw(Kl~i8_4lOL+v8hz&{{F}9o=Tjdc9^j zpL1|uQ?s14IOjxSdmM2(k+tS{Iis#?LJ0KzmJ|b(fp%8Y))kwTRLHB!5u?Tr z14=1sXK+fWz$uDqkoYr3R8i&;nk(Y8;)OF%IiahH+D^n-#qo_JX0yP>W@NSLNm>e(?|$)R`mQ7PJ$@Ki&KET8oIZ$XsPI9S$TdTonX3II1tEHZkLf+p-g@NV@n(MlIg~@la@$BtB1Rb zN2@7e`JwlE%!Dbwhz5X`NI;i#Cq;YZeWuT!cKXXsf;@ih$2|4%G$Hq&8qIF$b(QXj_$n33OeDbB5Z?1ULiaFk%sOoUs*6W2gqt zc06MkJlkPI$_k$%#wiXD4``Ye??KY_(4T*QzUB+RlCJM~(+_{HeydQ-cTw2GI3CsR&KSc%m=e7&v{uIa4 zRQq4)u&!=EX=3!8onBycrl~4|hH>Z#UIxo-x!~~d5Ut?$@gcLerQfU>h5=XCxLUaO z!!XeIGQgd4ggl}mfI_E)DhK~0IG@*Je$=8;}|ej zV~g3wIC^3TSS77B1}_|QGEF-Jqv?kpYYew;-)1>qkV3+*SIn}&PScR^#i2Nbk(fjm z;KtDbvx1ClYRCHG96yYt5NYQ#-s`!{s6C?V1n&kPqi0KJ+i6wB}-c!H@skPx9+;`)$7P zvp=6td;KTzFTV3z_?934zLGmjNbR)cBmd)%Amz;Aa>@7q%YT7V2CYP_^5v5UeBC#E zEC1oSw}VQIW6!YlCra+kjrkN(KAT=j!{XX&La#HNk zs2?*~o^}y&YZ-?P^#?0UVX zc9zOj__(I7TNd*<(T~j9W+xMEZIP-T2b!j#tsHZA#AdU>H8s{*E>XYJKo8!z3n%#Mg%OJG2$zyR8bjL)UM%! z|NLJhr^Kxr$K3kxWA?Yqm+qeMnrCnE2Y>uW0K^n&XRTl|TF0wjbBFt<_t?IDMUIgn zMCxiTjM6;m-id*VP)#pov9&R{rYRbAilHy0DkU^nNj;<{GWI=j>>>21u_uoO5?vM> z0d4IGTI|B-%j&u+R^`*Ynn+344f`oI_><(_kHg-VGZEBh5GZ$D*8%`i8j4#`jCofC zoz8HQZc~54$-RHPQl#?ag`kLq{>%^llWdH@G1u!gRWUp?N^$GfG0s{UXkp~ye9hVU zDMnikmvfRIan7(<%o&D(oTakd_oG-l*9}@rUq1P9M`|%f%s-s1h{cb6k`)g{8cSQl za=9c=72;tehCm8YsH;IxRh!M0VGN8uvFQe4Ry4CYRo!B%n)z}`0$#d%m-S{#Oo?vr zc&)kco}d(WPfo5xx@x$0?;h4k82y^pyo%Sp z_BFigg?IDf-Iv++1A`BYA)&BXV+p+ogc?=j$H;?w=bS!RV{o+f07-(;qA&+z z5K1(P(Qj#ImcQ`+e-0lyPEJmE*E^rbxdkaWoSidzSS}CIM$r!&w2pvS${S;;nik_K zx?yCy?a|6oSG6n>DU#zr^gUtRG7cTd4-h=~4BCLT7*~mPySQZ*!Ax^0hygt8(3F^L z#q^cjV5&vzP?Fd5_<^04!IL6^C)NYXV|88Awk;_}*6X!&GL*<}E2XX#O_4If^<97` z0h|CTYgpZTC$n3xdnm2A?wqgUGNzx?LTZO@LkNMkX*pOdsVXrA2|kd}#H?hOwiV06 z1B|nz7-{MTH)}aPeXzr=OMhAV_-)$|hJbcj?7=Ea+stszh+H$U*=&SKl`}C#2Jac; zK+XzRJ7MzW#4h4fBFnYAzMMplpmI2ysGZ=;>t=>Fl|W~`2$IGS0aMiAM0>sSflc3W z|MUUI7>A;v$kb9n{lvQFmGyFD}tTd&6j^Q^^*v*X z7*`3OKpDEeXBY;2h-}9Z)ot;9WHD=TjhILH5XcNPFh@j;}uj1pFz4+HDX8C9)0JZd>R zpL21#MW-6q9@5NO(H0DXT=Z!GC9TMqg-NKRATLEfK-zX81c)Qicf?VQF0$W397SEn zR#NaYMucA{XJCYcmEa-D@k5g&msynarJC?#j`tKQ`y@2u{$!eP5c_}EQ>yfY_j?=~ zaR2eAiCC^q`m5)1mBe)QTyoCXjA1?#7oKg`bH2J@KA&^*&h4UQ7g-Nm0k<>_^W`Bq zXPgFSG_!GJv)OQZevY+{tZ~$B zjW&)DN5?*V=rsG9@vllP(QJYtxUlt$}fp{=HFfbak^0%x|h zpvBFzW8dq6dwye%poZLHM+zx2l zhzxsaQP!@Jg)szayE%=qN*2(d8G0{u87nN$lmcDf)6NXfyy^z7syRQ~km)ei(#$IQ zVL%t*5$^*EOU_dGs*J;E$RQN#v5^=C^3X#VMa{<;uvLi|g>AUQ5va?F@T37R6J03S zDLpzt_b0;BVC1hJuY}PrXG7Xeexb+f>lP4TA19%e=qbv=me5xiO;^M9CmlQMvumF_ z)k>}}aPFYMC{6FBU}NhBJ$kxfpg(zl)0U>GaaF@?HskQ{kgBr9CAg#OhtmH~ES3U} zxma!Jx?!iJW2`PV)de7u6IKhpJ5M;UEFqmOA`3AlVjdZaCt*qnRm3us68Y_vBd#ir zI7tzTvaC@CTLDI3#ltYL?MC{s=VIH_2a(I3ABgKr-}jJ2X=q+mESnZ*EvndWS)&Od zadEK{Upg%ylrd>e&R1-@p7Yfj;~Z66Ga}V*>ni-VD`9%g=snKKjUD@*(f4$t7_4F( zIRzXwIcrdsq!KZ!!p+yDYzQGS^Z}(Ss=9)dS)Xs{)&o`D($)(sivQ&+{}CVg;U7ZI z@Do4%3w+CW{U9&geVJTbgH$Q%rrLsvEDjplc>}7)4Y3qn%iFxl-{#_6IvH9k z`f&i@!GjZ&s>R1Z3tii4f$aLRCl1>kI7&kPB;E|xVrz@lA_SwDT72q}!Kq6Be{aZN zySrUCX&wi}c~5%h`#Jh`DL~$VqVx`AH36fh&$}c)Nmn2j%QBtWi(wx9{HIL=9{1e* z81&=S*I1(+rgo$p*ladCFF9vj5utE^rthV7wIj`txpV6#A;NmK5nHcfNTC?%`%Wmb zmAsEFWQdponoNzNt{VYM=t(nQ{^inR%?P6^1o5Z0#?V$Z##OSBXhkSiVkt>4Ut4*P zs;L>ekueVF%5ik-4(aTSvzK0E7(MN>m2N~F#c#lhR)I>MGc{%D;^Nd}VB4pQd9$r;;CkI|OeH8`dDsqcRiANrR*V298D!1sS&KKHXe zng8}nzmlJQ%UgF$Hi7sGm}+@26SZNZSyXez@v@Cu)fI;~<}44ye){bEzEH4@AtxzD z+Cp7cIf{hWuqBQil*Ix7YeiVoTG1MuCRe^3kXL^`xlLCh&TI1C{Q>^C1>;d>+@o#3 zSBeCT*)s%D>?Z$&Zk-;x`aVi2(1=1Xmpl3XxjgOhr0aa#^Dns@3agB`=vZ5!jbV9E z(`~lW!&MO-ycB6LvV&O1aw({?e(-4PP}Y%R1mkFD4uhc|2Kqt5VP_M1)-r2aa*;-M zPN=@su6L}8P^W~|6L(&WV-hL`O^x-6)EWwX&|N!tM!`u=PS13NFSj0 zQi)$Q63x_gg-)J>`J7o@OYW}?XZIg)ae9hRLhl0!fn!+g;)hMwR%nx-P;MAn&Z6iV)Lc7xes4hdd#FBXaTnr>UX z>yn@u!`Kn}Ufgt-X1rpqom14d;z^DS2h>_?cqwytY z3OH+MTZeTDt1Ou$NKhp$s*uD|%VfD~w(8C^HhR5K2iw>UXDVdw^|X=S3OK#U$g4EVmt zcB@o&d@W)gu0rXF^qY64DEbMiJ&&ti?>~OE==Y~R9=GdXn*!{e$JKu+rCqIu{N!ud zUrYqI@bu^Ua9w2Ye31?1>N)R!CV)*TT#6bZf|J{gv<74HoSi>lxm+@z&q+z-wA4&m zcrj*NC6U80j)YR=n$PDnO-3LmGO~YSbBHEKOa5GGL@oD;0iGrdMQgip0G=QuOLC z^KPy8cdYyfcxK-|{kr42opCpj5%lrZ39?V-QTzLMo+j4xd{u;IA}Ixu*4SNiqOryh zgD6~2dH*zF_b=lrk?Lv-@9K5zA5-)({l32#OumCxzn}frrh9xQbxysQt4OLw;^crijguo#%3>_&- zj&E%x?!v=BC7>NxP1i zMHdhOCS@f8Bsm0D>op-1^T^!|S3s6}NgruVjjLL|_eXw&kNJ>~`gRBR&hXwg%&Mo^yD6{jST6BQ=d8>m+X_|=g0 zN!@|#d+iTTmaBi)#iZqG6!A0*3OlypmEBuip7+y4B#&$TJ(8~MJvWv$@@nni>T_TD zP}tkIjtQkOHI5_B3WSlIIGE3gp2}I~iyEymA@rz0kxbg51Stj@yAVbjh7d^+!XV7S5Hcx33<)12!#L9U zNI#0=@Q@N?RGe-$XgAUa&-rS_rthiS8SQe(ruVc>z=y=exJ8pWSS|^`svqdj*NjnW z09}l1hQP(TW7YNelrgTs$5`4q7GsjwMa8^R*3~5vm?XDijKnc8X0d*1W;0d~HuT%T z7k|Z9^9w)xgM8Qre=wu>e8+cxFW>b8KT-yl=54?Ghy3pEyQV5oR+Mxuzqjo2JdD2rdu;b2Mnf$xmF_#_h zG4t!Xu=r_u%6nH79Bc+a}~Y!g$<6ErPYqYAU>jsmJ z)NqEL6csvaEYSIZR9bvWi4m%?`r)t^n5cY{n$OhE(|TIOt~(x`Adia_t{d==+X*ix z;G=K!xQhDYCek$7r{D8rE($xjwEfS#dhB-}u3hM^=}zRFcO8_g*ZZU{#&t)|8JnV~ zvNCBwAiT~PMx)rQ*Hl#{#SC$S5THklXq`D&%<$fj3-e2>ypu_8YRAF6<^24Nq1)mX z3zmz8m^vV?y4s4ydsK<&Bf}5~Aribysxc&T$_#11M`;(HuX`~{RFePoz2FwcQJjOv zC}}_+0^5rXL2JUgW7YSf{99KzV;ExMT`%5cwO(-R)-kiXCI-)HbwL;h8MxZA?MH@? zNGgchuW~Gw4RftHUvI>xP*b?;#X-0fxnh!nUkEZdtQ8*wtF&0FjfvBH=e+#F3A5QD z@B3%ohtK<*&jjFA&)(the$La~vKl`GEI(AAahW-V9oEczDFTZFuRWmsl)nl(uX;PaF&nPPVwJ zB75QR`zQ=ZA`lb97)W76AuU~{iw1)=p!E*Dx69`hkQJJY-Z2BG2OcuJ+U9foZkPs!l6=X z=O^%_>v-CBqBYh~SxZ&P4k)daOx-xNo=g6(P3iLoLL5nczyOtzLY_c5bD{1!akH@k z^oVIhsZ8yJ!Yeg;jSqpknzJ1P+wGR^wj+f^ilUr53K`8ZN6oJvK2kEcdsz#&e zf`t7(CSrn!CRs7ks9h~OcMl%$;Nn~aDU712XN>(o+V&`=aZSs15b+X^B0Etb8n#<9 zhNPw5FoZzNV4Vnvq$DDwXtir?<#cHWJ>39fgwi~rC_@Y+pTQd*oSx%cLk^j*`=9?O zlv4cKZ~lAU?|uFZZ~UY;@Jny~Eq?r`e!kd$B{Bx3CqUG=yWv_Xp1pIMJGXE0Q6KRk z{Om8jm2T_^W5;V>{S5a{&v@rcFLQWwjB}3rcki*fI3@as9~DYv7Rw{X!E^r7ebl^0 zr-W^UW*u{496S8blLl#1nyNxfSVV~_PfWg?iF^6K&Y}Z28CXt#e+1&o)m{710sJ(( z+I3a$>t6r3o$_(f!`1(5t#@hGKBCcBD*&h`obT21cw`aC54QrJCS`f0>$>i+4^Hl) zi!`{i7NZ*!l0TZJk`O0GREm(q2av2$m0`14GZes2j9&5~s|5%Xg{JDXsOcK5L{dAB zC}r7MF&Gd?L4gn=%R~f`m=J_WWP=o?pH0*1O$lce~oz@W)td?|sfa_r5CI66@;doO|{@Yt6OxoO6uvjWNEj ztQyLuAuqb#)si}ZphObP1!486nwBp-c}mcRRaKJaxd2nviZ$|qOeLUG>ejQaYDtB< z7Nr$UTldyh;c`N@EdPGhujnPR@p1B2yy!S-sr5Q$PK=S0@ z`ul%BU-MhPil6_bclhRS{SWwEU-Q-c58wSK`QzXIhxmz~`dKb#GycSX@<;eLzvY|x z(|`7R_%q-8S22ByHcHXO$p82QKf<5>kqL%Q{f+sC)j+OSyGv~3_bLz1S94n#OLu@GWI*H%>JoUmF#@Yo`!$O>F7 zIt!`?{CvMiJcD3qztGWF(tT

(N&M_Ok240vk34Jy`tMpGm#gf?q#ww!mN9-`({6 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 JPDHLkV1m(_&;$Sg literal 0 HcmV?d00001 diff --git a/test/rendering/cases/webgl-data-tile-no-wrap/main.js b/test/rendering/cases/webgl-data-tile-no-wrap/main.js new file mode 100644 index 0000000000..3ea6865880 --- /dev/null +++ b/test/rendering/cases/webgl-data-tile-no-wrap/main.js @@ -0,0 +1,63 @@ +import DataTile from '../../../../src/ol/source/DataTile.js'; +import Map from '../../../../src/ol/Map.js'; +import TileLayer from '../../../../src/ol/layer/WebGLTile.js'; +import View from '../../../../src/ol/View.js'; +import XYZ from '../../../../src/ol/source/XYZ.js'; + +const labelCanvasSize = 256; + +const labelCanvas = document.createElement('canvas'); +labelCanvas.width = labelCanvasSize; +labelCanvas.height = labelCanvasSize; + +const labelContext = labelCanvas.getContext('2d'); +labelContext.textAlign = 'center'; +labelContext.font = '16px sans-serif'; +const labelLineHeight = 16; + +new Map({ + layers: [ + new TileLayer({ + source: new XYZ({ + url: '/data/tiles/satellite/{z}/{x}/{y}.jpg', + transition: 0, + }), + }), + new TileLayer({ + source: new DataTile({ + loader: function (z, x, y) { + const half = labelCanvasSize / 2; + + labelContext.clearRect(0, 0, labelCanvasSize, labelCanvasSize); + + labelContext.fillStyle = 'white'; + labelContext.fillText(`z: ${z}`, half, half - labelLineHeight); + labelContext.fillText(`x: ${x}`, half, half); + labelContext.fillText(`y: ${y}`, half, half + labelLineHeight); + + labelContext.strokeStyle = 'white'; + labelContext.lineWidth = 2; + labelContext.strokeRect(0, 0, labelCanvasSize, labelCanvasSize); + + const data = labelContext.getImageData( + 0, + 0, + labelCanvasSize, + labelCanvasSize + ).data; + return new Uint8Array(data.buffer); + }, + transition: 0, + }), + }), + ], + target: 'map', + view: new View({ + center: [15700000, 2700000], + zoom: 2, + }), +}); + +render({ + message: 'data tiles outside the world are not rendered', +}); diff --git a/test/rendering/cases/webgl-mixed-layers/main.js b/test/rendering/cases/webgl-mixed-layers/main.js index 31f4e24f19..d35267d0b0 100644 --- a/test/rendering/cases/webgl-mixed-layers/main.js +++ b/test/rendering/cases/webgl-mixed-layers/main.js @@ -46,6 +46,7 @@ new Map({ }), new TileLayer({ source: new DataTile({ + wrapX: true, loader: function (z, x, y) { const half = labelCanvasSize / 2; diff --git a/test/rendering/cases/webgl-multiple-layers/main.js b/test/rendering/cases/webgl-multiple-layers/main.js index d0021531e8..b7336d6f1d 100644 --- a/test/rendering/cases/webgl-multiple-layers/main.js +++ b/test/rendering/cases/webgl-multiple-layers/main.js @@ -44,6 +44,7 @@ new Map({ }), new TileLayer({ source: new DataTile({ + wrapX: true, loader: function (z, x, y) { const half = labelCanvasSize / 2; From 3ef40f8e225bcd1ef1f64ccf0ab26597ed381ea3 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Tue, 30 Nov 2021 16:49:13 -0700 Subject: [PATCH 2/2] Allow wrapX to be set on GeoTIFF sources --- src/ol/source/GeoTIFF.js | 2 ++ test/browser/spec/ol/source/GeoTIFF.test.js | 23 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/ol/source/GeoTIFF.js b/src/ol/source/GeoTIFF.js index 784cc28852..88b81a6657 100644 --- a/src/ol/source/GeoTIFF.js +++ b/src/ol/source/GeoTIFF.js @@ -300,6 +300,7 @@ function getMaxForDataType(array) { * @property {boolean} [opaque=false] Whether the layer is opaque. * @property {number} [transition=250] Duration of the opacity transition for rendering. * To disable the opacity transition, pass `transition: 0`. + * @property {boolean} [wrapX=false] Render tiles beyond the tile grid extent. */ /** @@ -318,6 +319,7 @@ class GeoTIFFSource extends DataTile { projection: null, opaque: options.opaque, transition: options.transition, + wrapX: options.wrapX, }); /** diff --git a/test/browser/spec/ol/source/GeoTIFF.test.js b/test/browser/spec/ol/source/GeoTIFF.test.js index 2ad410dacf..778f965956 100644 --- a/test/browser/spec/ol/source/GeoTIFF.test.js +++ b/test/browser/spec/ol/source/GeoTIFF.test.js @@ -27,6 +27,29 @@ describe('ol/source/GeoTIFF', function () { expect(source.readMethod_).to.be('readRGB'); }); + it('defaults to wrapX: false', function () { + const source = new GeoTIFFSource({ + sources: [ + { + url: 'spec/ol/source/images/0-0-0.tif', + }, + ], + }); + expect(source.getWrapX()).to.be(false); + }); + + it('allows wrapX to be set', function () { + const source = new GeoTIFFSource({ + wrapX: true, + sources: [ + { + url: 'spec/ol/source/images/0-0-0.tif', + }, + ], + }); + expect(source.getWrapX()).to.be(true); + }); + it('generates Float32Array data if normalize is set to false', (done) => { const source = new GeoTIFFSource({ normalize: false,