From 2f0f7610aec94261b6e58bd52a5ed2e1127eeb19 Mon Sep 17 00:00:00 2001 From: Cal Stephens Date: Wed, 14 Feb 2024 15:48:09 -0800 Subject: [PATCH] Fix infinite loop when setting LottieAnimationView.viewportFrame (#2316) --- .../Public/Animation/LottieAnimationView.swift | 1 - Tests/Samples/Issues/issue_2310.json | 1 + Tests/SnapshotConfiguration.swift | 14 ++++++++++++++ Tests/SnapshotTests.swift | 4 ++++ ...utomaticEngineDetection.Issues-issue_2310.txt | 1 + ...mationRenderingEngine.Issues-issue_2310-0.png | Bin 0 -> 7388 bytes ...tionRenderingEngine.Issues-issue_2310-100.png | Bin 0 -> 7388 bytes ...ationRenderingEngine.Issues-issue_2310-25.png | Bin 0 -> 7301 bytes ...ationRenderingEngine.Issues-issue_2310-50.png | Bin 0 -> 7506 bytes ...ationRenderingEngine.Issues-issue_2310-75.png | Bin 0 -> 7357 bytes ...ThreadRenderingEngine.Issues-issue_2310-0.png | Bin 0 -> 7388 bytes ...readRenderingEngine.Issues-issue_2310-100.png | Bin 0 -> 7388 bytes ...hreadRenderingEngine.Issues-issue_2310-25.png | Bin 0 -> 7319 bytes ...hreadRenderingEngine.Issues-issue_2310-50.png | Bin 0 -> 7506 bytes ...hreadRenderingEngine.Issues-issue_2310-75.png | Bin 0 -> 7366 bytes 15 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 Tests/Samples/Issues/issue_2310.json create mode 100644 Tests/__Snapshots__/AutomaticEngineTests/testAutomaticEngineDetection.Issues-issue_2310.txt create mode 100644 Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-0.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-100.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-25.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-50.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-75.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-0.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-100.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-25.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-50.png create mode 100644 Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-75.png diff --git a/Sources/Public/Animation/LottieAnimationView.swift b/Sources/Public/Animation/LottieAnimationView.swift index 76f1d52ff8..f5db6b48da 100644 --- a/Sources/Public/Animation/LottieAnimationView.swift +++ b/Sources/Public/Animation/LottieAnimationView.swift @@ -855,7 +855,6 @@ open class LottieAnimationView: LottieAnimationViewBase { var shouldForceUpdates = false if let viewportFrame { - setNeedsLayout() shouldForceUpdates = contentMode == .redraw let compAspect = viewportFrame.size.width / viewportFrame.size.height diff --git a/Tests/Samples/Issues/issue_2310.json b/Tests/Samples/Issues/issue_2310.json new file mode 100644 index 0000000000..fae5c10a48 --- /dev/null +++ b/Tests/Samples/Issues/issue_2310.json @@ -0,0 +1 @@ +{"v":"5.6.8","fr":60,"ip":0,"op":70,"w":85,"h":85,"nm":"loader 2","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Layer 3 Outlines 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":70,"s":[360]}],"ix":10},"p":{"a":0,"k":[42.711,38.518,0],"ix":2},"a":{"a":0,"k":[20.133,28.209,0],"ix":1},"s":{"a":0,"k":[43.854,43.854,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.054,2.5],[1.274,-0.538],[-0.537,-1.272],[0,-2.06],[3.363,-3.074],[3.521,0.315],[0.781,0.166],[0,0],[0.705,1.187],[1.186,-0.708],[0,0],[0.16,-0.65],[-0.351,-0.57],[0,0],[-0.84,0],[-0.409,0.252],[0.724,1.176],[0,0],[-0.778,-0.07],[-0.472,0],[-3.73,3.408],[0,5.514]],"o":[[-0.536,-1.272],[-1.273,0.536],[0.793,1.883],[0,4.114],[-3.089,2.823],[-1.025,-0.092],[0,0],[1.187,-0.705],[-0.705,-1.186],[0,0],[-0.575,0.341],[-0.16,0.65],[0,0],[0.472,0.768],[0.446,0],[1.175,-0.724],[0,0],[0.672,0.112],[0.468,0.042],[4.484,0],[4.397,-4.019],[0,-2.73]],"v":[[14.254,-17.014],[10.98,-18.347],[9.647,-15.073],[10.842,-9.131],[5.55,2.179],[-4.852,6.121],[-7.563,5.717],[-1.122,1.889],[-0.25,-1.537],[-3.677,-2.409],[-14.532,4.043],[-15.682,5.594],[-15.383,7.502],[-9.109,17.695],[-6.977,18.885],[-5.669,18.514],[-4.851,15.074],[-7.469,10.821],[-5.301,11.101],[-3.891,11.164],[8.923,5.87],[15.842,-9.131]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[24.173,37.283],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.352,0.57],[0,0],[1.176,-0.724],[-0.724,-1.176],[0,0],[0.778,0.07],[4.122,-3.767],[0,-5.514],[-1.054,-2.498],[-0.975,0],[-0.317,0.134],[0.536,1.272],[0,2.062],[-3.363,3.074],[-3.522,-0.318],[-0.781,-0.166],[0,0],[-0.705,-1.187],[-0.853,0],[-0.4,0.238],[0,0],[-0.16,0.651]],"o":[[0,0],[-0.725,-1.175],[-1.176,0.723],[0,0],[-0.671,-0.112],[-4.911,-0.443],[-4.397,4.019],[0,2.733],[0.403,0.955],[0.325,0],[1.272,-0.537],[-0.793,-1.88],[0,-4.113],[3.088,-2.822],[1.025,0.092],[0,0],[-1.187,0.706],[0.467,0.786],[0.434,0],[0,0],[0.577,-0.342],[0.16,-0.65]],"v":[[15.383,-7.155],[9.109,-17.349],[5.669,-18.167],[4.85,-14.728],[7.467,-10.475],[5.299,-10.754],[-8.923,-5.523],[-15.842,9.478],[-14.253,17.362],[-11.949,18.891],[-10.979,18.694],[-9.646,15.419],[-10.842,9.478],[-5.549,-1.832],[4.852,-5.774],[7.562,-5.371],[1.122,-1.542],[0.249,1.885],[2.402,3.108],[3.676,2.756],[14.531,-3.696],[15.682,-5.247]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[16.091,19.141],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":74,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Layer 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.572,42.129,0],"ix":2},"a":{"a":0,"k":[25.143,31.47,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.005,0.112],[4.805,4.824],[9.72,-9.76],[0.959,-4.586],[-0.253,0.254],[-2.648,-2.658],[-0.329,-0.743],[-1.582,1.589],[-5.198,-5.218],[-0.066,-3.33],[-0.001,-0.101],[-0.003,-0.074],[-1.059,-1.068],[-2.267,2.265],[-0.071,1.389],[-0.001,0.08]],"o":[[-0.055,-6.323],[-9.721,-9.76],[-3.546,3.56],[0.204,-0.282],[2.647,-2.658],[0.607,0.61],[0.618,-2.007],[5.197,-5.218],[2.53,2.541],[-0.004,0.101],[0,0.075],[0.062,1.396],[2.256,2.276],[1.058,-1.059],[0.005,-0.079],[0.001,-0.111]],"v":[[24.618,10.279],[17.331,-7.174],[-17.87,-7.174],[-24.626,5.341],[-23.945,4.535],[-14.357,4.535],[-12.956,6.585],[-9.658,1.098],[9.163,1.098],[13.055,10.279],[13.049,10.583],[13.055,10.807],[14.734,14.65],[22.923,14.669],[24.617,10.852],[24.626,10.615]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[25.41,17.183],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.215,-0.214],[2.642,2.664],[0.328,0.751],[1.557,-1.564],[5.197,5.218],[0.019,3.394],[0,0],[1.118,1.124],[2.261,-2.27],[0.014,-1.47],[0,0],[-4.831,-4.85],[0,0],[-4.709,4.727],[-0.999,4.454]],"o":[[-2.652,2.652],[-0.61,-0.614],[-0.624,1.971],[-5.198,5.218],[-2.579,-2.59],[0,0],[-0.012,-1.472],[-2.262,-2.27],[-1.117,1.122],[0,0],[0.03,6.356],[5.012,5.033],[0,0],[3.452,-3.467],[-0.18,0.235]],"v":[[23.998,-8.204],[14.411,-8.225],[13.007,-10.294],[9.739,-4.902],[-9.082,-4.902],[-12.978,-14.275],[-12.982,-14.275],[-14.676,-18.339],[-22.864,-18.339],[-24.559,-14.281],[-24.584,-14.281],[-17.294,3.273],[0.164,20.609],[17.907,3.273],[24.584,-8.88]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[24.834,42.082],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":74,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Layer 5 Outlines","sr":1,"ks":{"o":{"a":0,"k":70,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.5,42.5,0],"ix":2},"a":{"a":0,"k":[42.75,42.75,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.419,0],[0,0],[0,4.418],[0,0],[-4.418,0],[0,0],[0,-4.418],[0,0]],"o":[[0,0],[-4.418,0],[0,0],[0,-4.418],[0,0],[4.419,0],[0,0],[0,4.418]],"v":[[34.5,42.5],[-34.5,42.5],[-42.5,34.5],[-42.5,-34.5],[-34.5,-42.5],[34.5,-42.5],[42.5,-34.5],[42.5,34.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[42.75,42.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":74,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/Tests/SnapshotConfiguration.swift b/Tests/SnapshotConfiguration.swift index 6b4a887c0f..35c2fbb380 100644 --- a/Tests/SnapshotConfiguration.swift +++ b/Tests/SnapshotConfiguration.swift @@ -46,6 +46,9 @@ struct SnapshotConfiguration { /// The maximum size to allow for the resulting snapshot image var maxSnapshotDimension: CGFloat = 500 + + /// A `viewportFrame` value to apply to the `LottieAnimationView`, which crops the animation + var customViewportFrame: CGRect? } // MARK: Custom mapping @@ -200,6 +203,10 @@ extension SnapshotConfiguration { /// Animations which are very expensive to render using the Core Animation rendering engine, /// and should fall back to the Main Thread engine when using `RenderingEngineOption.automatic`. "Issues/pr_2286": .excludeCoreAnimationRenderingEngine, + + // Other misc test cases + "Issues/issue_2310": .customViewportFrame( + CGRect(x: 0, y: 0, width: 85, height: 85).insetBy(dx: 10, dy: 10)), ] } @@ -280,6 +287,13 @@ extension SnapshotConfiguration { return configuration } + /// A `SnapshotConfiguration` using the given custom `viewportFrame` + static func customViewportFrame(_ viewportFrame: CGRect) -> SnapshotConfiguration { + var configuration = SnapshotConfiguration.default + configuration.customViewportFrame = viewportFrame + return configuration + } + /// A copy of this `SnapshotConfiguration` with `customProgressValuesToSnapshot` updated to `[0]` func nonanimating(_ isNonanimating: Bool = true) -> SnapshotConfiguration { var copy = self diff --git a/Tests/SnapshotTests.swift b/Tests/SnapshotTests.swift index 1e2a73517d..35b2efbc6e 100644 --- a/Tests/SnapshotTests.swift +++ b/Tests/SnapshotTests.swift @@ -366,6 +366,10 @@ extension SnapshotConfiguration { animationView.fontProvider = customFontProvider } + if let customViewportFrame = snapshotConfiguration.customViewportFrame { + animationView.viewportFrame = customViewportFrame + } + return animationView } } diff --git a/Tests/__Snapshots__/AutomaticEngineTests/testAutomaticEngineDetection.Issues-issue_2310.txt b/Tests/__Snapshots__/AutomaticEngineTests/testAutomaticEngineDetection.Issues-issue_2310.txt new file mode 100644 index 0000000000..4b816d7353 --- /dev/null +++ b/Tests/__Snapshots__/AutomaticEngineTests/testAutomaticEngineDetection.Issues-issue_2310.txt @@ -0,0 +1 @@ +Supports Core Animation engine \ No newline at end of file diff --git a/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-0.png b/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-0.png new file mode 100644 index 0000000000000000000000000000000000000000..d324f236f8b2867f08ba55208d5438b471142caf GIT binary patch literal 7388 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 literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-100.png b/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-100.png new file mode 100644 index 0000000000000000000000000000000000000000..d324f236f8b2867f08ba55208d5438b471142caf GIT binary patch literal 7388 zcmZ8m2UHV5yG;lQy$XncNEJyydhZA*NDU!`-a(3pAkvX4g3@~rCDhQQ2uPPMy$RBr zh=3qPihytZ&wt)K=WWjHH#>S{lvAY~#2fj|`Mk5rI=E&G>-mTll7%nqY&ucZZo19@T)6if?({Hp@|Kwu^i^gnqJNCV9Lzj-A1 z-hb;5fItzBAj1FFF$V0vBMwMF>;GB^7W{ut#1i~(?J_Ln|MLHu4L?%Y01S!SBO?zG zh=KcG0;?mr4uC=yM-?3uV1W+*a~J^UdqDbUfkdV9vD|kGu+-`*N+@seu9=UE_Gjk1 zVQj=o%G8AHA!7=BN;V`kH7YK7%3&DgU6VKUm%+0kbs@7KWlc@neKv9|M&z=kmeW1#M<(_~9ouS0T8>6UJnWZzmb{#%O7zxWpYCsWKp79< z1JL9R&%5T_J`~g3z~vw}{pNma84-%Aq_QIj5q5mK)QxEWlIi{bZi^^BoxvNad~jX- zNy#Y4=Jb6mZ@fS)I_j2)z2?vx8ctS17;K4(n7Hvvkyhq>z4MpfUf6X0b|Mr%cBaDQ z)c)`FRRIIP@iCvMsOb4fw#=M>MH}Dc*)N;(<%wm5i@)%8|MNqBe*TKH&QPMJt&!}< z%hgs7WEB_lRo@cx-)iw|7yJP>AR!F0|GCigDoffEP7!qZYrRkB3L|=LtF5i==N}PnD~f_DhbFwk>N@W^5_3X6ot|2b9}vQ zwI9woL^DxWPkG%=Xnm9`4*|8dwurE>@JI7jUkS6Z zkJ8K~Kwp1usJZYMHq6`kU7kIcAM&RpD)$I(2F9F9ODr2_JVu+N@XCCwP(9I&D0Dhq zak25aO$+p7-7ase@pw*6_sqC!Xoiqeu7Z#@n3abb(3d#XRDGk8+z=aOBSaWi=${Fp^dLIfdUZW_0uC;ztXMHh-z3xmpJ(8^25`xtc9ly}!tO+85iE z{pC%`Nc&umz1l}uw92)2FM0kFc zYJ^F+F7&Uh+LMbXuqF@@G*(!&%P&!kLsv7Fsw@=B&8mU=7(HzWP9tZqy1E(6J2yvk6w`L=qFI@fp3}NS{ni6e2$yhaA2fZh)1P6doTR)6xsFctqVp zATI-4m(q#5%I_~+U;X(zVbT=MEJ2y-pMm6xlbPXOuzrSi4vI>zZeGiBi(%dG2!=fK zj%YhS-qug1PW^7=ck<&T)4Y03YWGfDdir)h8}mx#`=p+Y+8NMv+etuFZG^hY=zb-^~!MC2_3|EW34|jaX;FXkBN>R?qeJadjCR)`nukY`a$(g1_rd{ zD>&!5O&?}=sfXROaefZwz=-XAWq<-3BJ^}TpewnSldFfgAq064x$CuHvFLyDd0$pB4Msr>w zi8N=K>}7Q+ITei&pqFu~L@WM*+4mgZK;RAPC_E`8sqj z-zk?#3K8MO8Ww zHn&^Dn)cNui|uquX1j=PcySA~Iv>VLS_V%A!3IUnCpC(O z^w)~e@drBZyzAu87{Xt_z8fkQ^NVLl&h50L!&Ik5Ta?r@DLE~T@e`hPR-QY~>F150 zr5i4S+=^3uY-XQi6sdFzZxj~t_Z0>!JsLO^*P0h52&JZw6q^yk?E(}ia(ytz;<@LTI-HP$<2TZy|yQC znoIGI>ISj*Z|oo8@pxoLpqBX-6)Hiox+br9N;uG&mm-nk%p`uIw?19Op?57nBucqT zI}!XK-Kf^SXX3EWQ}Ae9W@19uoG492Zv%h_c3V*fIK8gu6jz)dFyCuwW6?3{152%b zrF=e`*t(z2$)3QLkAic!BpF8&$~F6*{!{z=Lrm=I7ZrCyH7YyXnaCQ!;fExA+_Pcyq~*eMlQs;>oS~|U&z?d2MBx5o zSf$r*1`^uQl;!3=a#TF3`~kOGcqmISLV7W`eRv7BJ9q{xgUdk_mG?yFRzj97rzvA# zs5Qp}W(kWXckap5gw+}i2tgYcX8JJs^@aREHytf)LSdlx4$EDU4AcCo(0f(fnVo(> zaErYhCk2a?I*jHtOF~39Esrb`veM|R@DKfTe9W%W!|MsuUKN-VrZtw@g~;NQIsiE4 zm@zlyb0Dqr_%TB7N5rJiE9}~2_~4p>Tg3~m(7%2nQP{nTLE(`QBeJ^^{`uS<`mom! zd)xegNK9&2r{?5Dc8On_e+I9@rWp`4rrdfOY=tI{qWL6@zr&8NI~$D!?J5Q(jf|u| zzTD&ZeOSE;&pq;N0S5S`@X+Y_F!}i#@AU$A~2MEigm|=avx!TGZ8kaQ-$~ zm~;D=FHx2uPWDi!k%-S{C`WF-0Yhpp*^nfB2rWyIL!u@3Eei0rUCJLN^pvQ-$+sNt zRrY%*wUcVs?G|O5Qh)wFtcldP_jfC z_hiM;aN;;Gn4J6aQZn5}ZkG6_opL0F@lTS3{~0Yd_sLZgZt&ya{!DDnqppKr4LYuF zd~}}H%0Nd~IN+W5dEnqP(Bx5;F+4VIPMOKaVzjvhc}tgzH`nj<=jOfK+MP58Obk89G9!MF_mD~UCG>l= zfbRPG`qMf8RL=%V`Fo87KS&dqzB+(4?3p+e#V5YqU>mI-Y_RSj{j5Hvr>9qxQqOC* z0U(*ya>R0!2jP!=x;RqWI3D8n1{|}5&c?F2hJ7k=cHIO}XL-vAbuy>{Q(;!oo8_Lj zH$_BxUnIR1(5*6W)$rV+&ZCpkI=ka|E*wt>CWyRjJN&oYjH-{Cct-aogMRhAA*Z3C zN$I{DMEQ%mLt9X7a$`R?1uDm39!2j>H&>CyK&oLN#B6n=wTQeon( zMlF?F>1)kk4r#k2+HBiDM?g1Kz`~WemSq8%9eypwf<0%*LmK%xNLd`;eS#M*MhQ~| zWJ^BJcdf#Fby;@dqQ{7+yr3KuT{R*fEWneEwEG7~;Y4r;XjbOPm=KVi(=9752?CUN zsfNuad|oX-LPcl0d~FOenRQ4_HvQ#~@#%O_p-_`xESaVz1OlNr_i`MlXzaULQYZF8 zj8P>ELX8J83)}VwoH)?fsDy`V#MfH*+{^gXoY zHouYH_2aDgfC>9U{G%lrPB zr~S{fpN^#0E;)9!dW~eI`{bNwIW%ky)j5BuG^5>nWnf@H@wfK-v*8S}SMh_jwgU+d zjf{+PEn0mIJP%en*8t>cVVI~E%PN;}gO*k!BQw(^sr%&U=p#?6y|wk40@BfCvH9d# zlV4BeZH2%~9Omro*ZRIcfVU!0=7p9#W57klSb!l3?BZyz6@y$~oFYt*KdB4dDV>}{Ff$cpN^bulrq`s4lOzeV6Er%-5$ zkc^DUbSTEmY>^RIqh1=bKi~w)&oE(0pFT0xwW$-YWh0UfSHUjg3w2BpSWH)T*zYBYR$k!)+EP$W|;Y z1EbXVbF#y8-hrKuOGrT8O`S>MH*r_r1j*Ld*K7GV1CYs=KUEDdl|)eJW=Gc=`_}%A zbC-bgLpuW$3Pr>B9+e?4FE3G8xlLY7^&^h`0aBGvjQ>roEd}569H-AkL6^M zmelI%>gey?IsJbS^e>-T^KpCzn$#U&W0)a@ZAl9*)xNZd^#X(s4 zZ-_20B|I8oQjR=_BM>`6-{W_5MlvP#SAjki;JD&gdJR7m;oL=ST(5AE-H{f|!$@$Kiyaa*9d&6;}wOvi)znPWoE<@h6SJl-W%c%Q+31Q4>4eU*^ zZ|8jhF=xxatuWW7_no@)lP7UIHVyPVoSf^E0M&AhFA`w5V-|jPc6KxFR^)QC=T5uz zuY2LQAn=PfS!)^dbvEO#blEOUed(aiPhR{I+HY~+94z)71nASGd;KQ9yxh6hB~Z$+VlLX8tfKI&-;L|nd~BT7rVy1Fzp)1P}3R*g|e z`5r$Rz&%b~vRpd*bGjex?z8aGYd_T7i0-EZC2EL1KRy1&7~a{+%Icgn>a5@u{GCpL z=Zad7XWCn+X;)o+V4vl}$+uGWE&JQ@KSiX3q;2-^$J?!lN&qMoSp^}OJHP|A~@!v^>} z<|hH-NPDHPy`fR1REPi+H@rqnTDlqII-rj&T*h`PhhQ??FnWhF$r}2+{)Za_UdwF( zkL%9Z&}v_;%Fz|V<)3Y2OG*g67st@F(Z?%-TGFv3pYNWm$oU)=nvzIQ?6|>ee1EBE zepxtlr!VD`Udx2Q7etYkdO?_OD1F|B!@XTr7x(MTX_8LQ^wO^LnT zCF!hDC_+1@x|RWf3#;in6G0y*gFnY{K_Hr{K1I+iavJWxGoHH5F?v^kCPEe#h|4+0 zTrszmYPjpRxw4ip)&LZU+Ak^7h?nt69+kA~f~4xGulKSIr5;9Jj*P6j+l{`?#sYPZ zvn^BV_Nl2nul10r-qAt872!H9-LI32r98gLj;)RHp_PJeRApEm zK>O@VTlN@Y7#zC7NbH9)eP5>jYbWkJga1>Fd09>*{ey^lc+sl_wlYVwZ4!Rjjs$G~`)YDYyK$Km%E17cL z6v`(S+1+#sL78L934tFdQN)3O>PhQmSaXE?si}IRyo~jX2M1-%oP%&ZASjO7NRz+2x zgQ!ZwMC-hRSrJXw5AtL_HFrv$xVtX3oR4%}91h}F=|tQ&`sW$CzB{Uhx9<_b>B1e$ z0TqeLT>TwX*=8oZ`{oydv^^4d=(MbH&FKyxHR2E6&>Cyv_J2d^tGm+E=Jk_|(4mc< z#Dzh#OW4Ee_pYD-WX-S2;Y`20D}^=^wfC7JOY$>q`g+0)eZ!R#+I*_{90c^Q!{Gx?(r(C4$rc{@Dsm&oEB z9UaNhk;R+9E-F^1tyGgn?+`lpDQcL5>&KvT=r1+CtO@p=|LXFat`M1Q%$Dv!@9p8c3EuMDP-$e*)RxK}?DrzX1(N{*m6Nt>*5 zLKlV`dNjY-c3-@k5(5i!nmAwu+?L()40Oq~lDK0RM_{{8062I)zh#Qlxr9e&h{C3H zmU(9gp|okGrK$OX9KT>$J!J2vlz!FWovTW3TnLD4e+&8s)1M18!`&YelWac!<+Tr^ zr}z84Yc$X5A51jRa}bZQgTWOg11{?JEajfBg-!qYmKbFF!W0I7R^x^Zxuw;VA?wxv zwz&U$uJ<0qfSAC`v~aV!x3^dRW=dp$12#(BaF*6IdRl}-+t${W2BJUZ9R-U*V22J0-8Fo)V%V-w(#931(& zWcUSeBmY1BStaAn+tG}`VgBy6fIp;i7^yP)pLJ$YH#%XAhzfNP^`9YzDOJX9|QoG(i2NdN82Ecl9?4z!`6 z#88?LXLhh!4}kk5)Z68PiKf;r@mXGe5+5Sd56JuI=pi0{NO7QILI h;A{tQ>CD_;FyimZC9&V`G4O#8q^_#1QmJei@;}3z{?-5h literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-25.png b/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-25.png new file mode 100644 index 0000000000000000000000000000000000000000..fcc275ca92a786362bec9075e07912b619a2d7e1 GIT binary patch literal 7301 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 HY!&iEx;E4E2PB0Ud&@W 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 literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-75.png b/Tests/__Snapshots__/SnapshotTests/testCoreAnimationRenderingEngine.Issues-issue_2310-75.png new file mode 100644 index 0000000000000000000000000000000000000000..c1dfaa056781df1bd81a8287890f4fed2d070b02 GIT binary patch literal 7357 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 literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-100.png b/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-100.png new file mode 100644 index 0000000000000000000000000000000000000000..d324f236f8b2867f08ba55208d5438b471142caf GIT binary patch literal 7388 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 literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-25.png b/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-25.png new file mode 100644 index 0000000000000000000000000000000000000000..228d11f489724b31bc7332a2484c37f9a1009cfa GIT binary patch literal 7319 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 VPu$L#Hb5{y>dHDw)e1IY{|BDCtyus7 literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-50.png b/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-50.png new file mode 100644 index 0000000000000000000000000000000000000000..204406ee251130479b2bea35d296108d64a2a186 GIT binary patch literal 7506 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 literal 0 HcmV?d00001 diff --git a/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-75.png b/Tests/__Snapshots__/SnapshotTests/testMainThreadRenderingEngine.Issues-issue_2310-75.png new file mode 100644 index 0000000000000000000000000000000000000000..7a503c7065deb2f7b66ef9b1e25cb5d34248fedd GIT binary patch literal 7366 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