From b1b58d21f89c99a682f4520ef62662b322126afc Mon Sep 17 00:00:00 2001 From: Gabriel Peal Date: Sun, 9 Jan 2022 21:17:25 -0800 Subject: [PATCH] Handle cases in which the Lottie file only has a single color (#1985) Fixes #1967 --- .../lottie/parser/GradientColorParser.java | 11 + .../main/assets/Tests/GradientOneColor.json | 3512 +++++++++++++++++ 2 files changed, 3523 insertions(+) create mode 100644 snapshot-tests/src/main/assets/Tests/GradientOneColor.json diff --git a/lottie/src/main/java/com/airbnb/lottie/parser/GradientColorParser.java b/lottie/src/main/java/com/airbnb/lottie/parser/GradientColorParser.java index 3f295abbef..6654998621 100644 --- a/lottie/src/main/java/com/airbnb/lottie/parser/GradientColorParser.java +++ b/lottie/src/main/java/com/airbnb/lottie/parser/GradientColorParser.java @@ -55,6 +55,17 @@ public GradientColor parse(JsonReader reader, float scale) while (reader.hasNext()) { array.add((float) reader.nextDouble()); } + if (array.size() == 4 && array.get(0) == 1f) { + // If a gradient color only contains one color at position 1, add a second stop with the same + // color at position 0. Android's LinearGradient shader requires at least two colors. + // https://github.com/airbnb/lottie-android/issues/1967 + array.set(0, 0f); + array.add(1f); + array.add(array.get(1)); + array.add(array.get(2)); + array.add(array.get(3)); + colorPoints = 2; + } if (isArray) { reader.endArray(); } diff --git a/snapshot-tests/src/main/assets/Tests/GradientOneColor.json b/snapshot-tests/src/main/assets/Tests/GradientOneColor.json new file mode 100644 index 0000000000..3cc184b10b --- /dev/null +++ b/snapshot-tests/src/main/assets/Tests/GradientOneColor.json @@ -0,0 +1,3512 @@ +{ + "ip": 0, + "fr": 60, + "v": "5.1.20", + "assets": [], + "layers": [ + { + "ty": 4, + "nm": "green 8", + "ip": 0, + "st": 0, + "ind": 9, + "hix": 1, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 234.21300023825074 + ], + "e": [ + 123.52599994262695 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 123.52599994262695 + ], + "e": [ + 45 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 206.171 + ], + "e": [ + 214.621 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 214.621 + ], + "e": [ + 223 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 42.199999999999996, + 43.1 + ], + "e": [ + 94, + 85.2 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 94, + 85.2 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 8 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 7", + "ip": 0, + "st": 0, + "ind": 8, + "hix": 2, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 235.56899997961426 + ], + "e": [ + 134.6009997606678 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 134.6009997606678 + ], + "e": [ + 55 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 185.29000024243163 + ], + "e": [ + 112.08699998152161 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 112.08699998152161 + ], + "e": [ + 58 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 33.4, + 33.1 + ], + "e": [ + 70.1, + 69.19999999999999 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 70.1, + 69.19999999999999 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 7 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 6", + "ip": 0, + "st": 0, + "ind": 7, + "hix": 3, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 218.97400004492187 + ], + "e": [ + 177 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 177 + ], + "e": [ + 155 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 187.5699999493408 + ], + "e": [ + 112 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 112 + ], + "e": [ + 54 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 18.4, + 16.6 + ], + "e": [ + 48.5, + 45.1 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 48.5, + 45.1 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 6 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 5", + "ip": 0, + "st": 0, + "ind": 6, + "hix": 4, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 250.430005859375 + ], + "e": [ + 216.1059940761566 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 216.1059940761566 + ], + "e": [ + 226 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 175.18500561523436 + ], + "e": [ + 79.881 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 79.881 + ], + "e": [ + 19 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 31.1, + 32.2 + ], + "e": [ + 110.00000000000001, + 101.49999999999999 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 110.00000000000001, + 101.49999999999999 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 5 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 4", + "ip": 0, + "st": 0, + "ind": 5, + "hix": 5, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 265.430005859375 + ], + "e": [ + 351.626000358223 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 351.626000358223 + ], + "e": [ + 391 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 190.33700561523438 + ], + "e": [ + 112.2920000322342 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 112.2920000322342 + ], + "e": [ + 39 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 31.1, + 32.2 + ], + "e": [ + 66.60000000000001, + 67.60000000000001 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 66.60000000000001, + 67.60000000000001 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 4 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 3", + "ip": 0, + "st": 0, + "ind": 4, + "hix": 6, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 255.406005859375 + ], + "e": [ + 415.2460001816664 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 415.2460001816664 + ], + "e": [ + 507 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 204.42999267578125 + ], + "e": [ + 167.71600031269836 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 167.71600031269836 + ], + "e": [ + 138 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 31.1, + 32.2 + ], + "e": [ + 98.7, + 101.2 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 98.7, + 101.2 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 3 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 2", + "ip": 0, + "st": 0, + "ind": 3, + "hix": 7, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 272.2339609375 + ], + "e": [ + 377.57400018166635 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 377.57400018166635 + ], + "e": [ + 492 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 204.92999267578122 + ], + "e": [ + 250.87499994016264 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 250.87499994016264 + ], + "e": [ + 313 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 31.1, + 32.2 + ], + "e": [ + 98.7, + 101.2 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 98.7, + 101.2 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 2 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "green 1", + "ip": 0, + "st": 0, + "ind": 2, + "hix": 8, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 16, + 16, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 260.3820056861648 + ], + "e": [ + 275.84599947170256 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 275.84599947170256 + ], + "e": [ + 312 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 217.5999999508667 + ], + "e": [ + 278.77799964866637 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 278.77799964866637 + ], + "e": [ + 338 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 31.1, + 32.2 + ], + "e": [ + 125.89999999999999, + 120 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 125.89999999999999, + 120 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "green 1 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 32, + 32 + ] + }, + "r": { + "a": 0, + "k": 16 + }, + "p": { + "a": 0, + "k": [ + 16, + 16 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 0 + }, + "w": { + "a": 0, + "k": 0 + }, + "c": { + "a": 0, + "k": [ + 0, + 0, + 0, + 0 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1 + }, + { + "ty": "fl", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "c": { + "a": 0, + "k": [ + 0.08627450980392157, + 0.7333333333333333, + 0.34509803921568627, + 1 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 80 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + }, + { + "ty": 4, + "nm": "Bubble 8", + "ip": 0, + "st": 0, + "ind": 1, + "hix": 9, + "ks": { + "o": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 100 + ], + "e": [ + 100 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 36, + "s": [ + 100 + ], + "e": [ + 10 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "or": { + "a": 0, + "k": [ + 0, + 0, + 0 + ] + }, + "a": { + "a": 0, + "k": [ + 24, + 24, + 0 + ] + }, + "p": { + "s": true, + "x": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 234.206 + ], + "e": [ + 123.72100050822067 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 123.72100050822067 + ], + "e": [ + 45.316 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + }, + "y": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 206.706 + ], + "e": [ + 214.88900052166747 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 214.88900052166747 + ], + "e": [ + 223.5 + ], + "i": { + "x": [ + 0.515 + ], + "y": [ + 0.955 + ] + }, + "o": { + "x": [ + 0.455 + ], + "y": [ + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "rx": { + "a": 0, + "k": 0 + }, + "ry": { + "a": 0, + "k": 0 + }, + "rz": { + "a": 0, + "k": 0 + }, + "s": { + "a": 1, + "k": [ + { + "t": 0, + "s": [ + 30, + 30 + ], + "e": [ + 67.80000000000001, + 61.6 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 30, + "s": [ + 67.80000000000001, + 61.6 + ], + "e": [ + 20, + 20 + ], + "i": { + "x": [ + 0.515, + 0.515 + ], + "y": [ + 0.955, + 0.955 + ] + }, + "o": { + "x": [ + 0.455, + 0.455 + ], + "y": [ + 0.03, + 0.03 + ] + } + }, + { + "t": 54 + } + ] + } + }, + "shapes": [ + { + "ty": "gr", + "nm": "Bubble 8 shape group", + "it": [ + { + "ty": "rc", + "s": { + "a": 0, + "k": [ + 47, + 47 + ] + }, + "r": { + "a": 0, + "k": 23 + }, + "p": { + "a": 0, + "k": [ + 24, + 24 + ] + } + }, + { + "ty": "st", + "o": { + "a": 0, + "k": 100 + }, + "c": { + "a": 0, + "k": [ + 0.9176470588235294, + 0.9725490196078431, + 0.9764705882352941, + 1 + ] + }, + "lc": 3, + "lj": 1, + "ml": 1, + "w": { + "a": 0, + "k": 1 + } + }, + { + "ty": "gf", + "o": { + "a": 0, + "k": 100 + }, + "r": 1, + "g": { + "p": 1, + "k": { + "a": 0, + "k": [ + 1, + 0.47843137254901963, + 0.7803921568627451, + 0.047058823529411764 + ] + } + }, + "t": 1, + "s": { + "a": 0, + "k": [ + 24, + 0 + ] + }, + "e": { + "a": 0, + "k": [ + 24, + 48 + ] + } + }, + { + "ty": "tr", + "o": { + "a": 0, + "k": 40 + }, + "a": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "s": { + "a": 0, + "k": [ + 100, + 100 + ] + }, + "p": { + "a": 0, + "k": [ + 0, + 0 + ] + }, + "r": { + "a": 0, + "k": 0 + } + } + ] + } + ], + "op": 54 + } + ], + "op": 54, + "w": 540, + "h": 360 +} \ No newline at end of file