diff --git a/After Effects Samples/Multiline.aep b/After Effects Samples/Multiline.aep
new file mode 100644
index 0000000..41a7372
--- /dev/null
+++ b/After Effects Samples/Multiline.aep
Binary files differ
diff --git a/issue-repro/src/main/res/raw/intro.json b/issue-repro/src/main/res/raw/intro.json
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/issue-repro/src/main/res/raw/intro.json
diff --git a/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java b/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
index 646dde8..54b96a0 100644
--- a/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
+++ b/lottie/src/main/java/com/airbnb/lottie/LottieDrawable.java
@@ -1017,7 +1017,7 @@
    * Be wary if you are using many images, however. Lottie is designed to work with vector shapes
    * from After Effects. If your images look like they could be represented with vector shapes,
    * see if it is possible to convert them to shape layers and re-export your animation. Check
-   * the documentation at http://airbnb.io/lottie for more information about importing shapes from
+   * the documentation at <a href="http://airbnb.io/lottie">http://airbnb.io/lottie</a> for more information about importing shapes from
    * Sketch or Illustrator to avoid this.
    */
   public void setImageAssetDelegate(ImageAssetDelegate assetDelegate) {
diff --git a/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/TextKeyframeAnimation.java b/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/TextKeyframeAnimation.java
index cb73ebb..e271585 100644
--- a/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/TextKeyframeAnimation.java
+++ b/lottie/src/main/java/com/airbnb/lottie/animation/keyframe/TextKeyframeAnimation.java
@@ -37,7 +37,7 @@
         DocumentData baseDocumentData = frameInfo.getInterpolatedKeyframeProgress() == 1f ? frameInfo.getEndValue() : frameInfo.getStartValue();
         documentData.set(text, baseDocumentData.fontName, baseDocumentData.size, baseDocumentData.justification, baseDocumentData.tracking,
             baseDocumentData.lineHeight, baseDocumentData.baselineShift, baseDocumentData.color, baseDocumentData.strokeColor,
-            baseDocumentData.strokeWidth, baseDocumentData.strokeOverFill, baseDocumentData.boxPosition);
+            baseDocumentData.strokeWidth, baseDocumentData.strokeOverFill, baseDocumentData.boxPosition, baseDocumentData.boxSize);
         return documentData;
       }
     });
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/DocumentData.java b/lottie/src/main/java/com/airbnb/lottie/model/DocumentData.java
index 718f851..3b6cda1 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/DocumentData.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/DocumentData.java
@@ -18,23 +18,25 @@
   }
 
   public String text;
-  @SuppressWarnings("WeakerAccess") public String fontName;
+  public String fontName;
   public float size;
-  @SuppressWarnings("WeakerAccess") public Justification justification;
+  public Justification justification;
   public int tracking;
-  @SuppressWarnings("WeakerAccess") public float lineHeight;
+  /** Extra space in between lines. */
+  public float lineHeight;
   public float baselineShift;
   @ColorInt public int color;
   @ColorInt public int strokeColor;
   public float strokeWidth;
   public boolean strokeOverFill;
   @Nullable public PointF boxPosition;
+  @Nullable public PointF boxSize;
 
 
   public DocumentData(String text, String fontName, float size, Justification justification, int tracking,
       float lineHeight, float baselineShift, @ColorInt int color, @ColorInt int strokeColor,
-      float strokeWidth, boolean strokeOverFill, PointF boxPosition) {
-    set(text, fontName, size, justification, tracking, lineHeight, baselineShift, color, strokeColor, strokeWidth, strokeOverFill, boxPosition);
+      float strokeWidth, boolean strokeOverFill, PointF boxPosition, PointF boxSize) {
+    set(text, fontName, size, justification, tracking, lineHeight, baselineShift, color, strokeColor, strokeWidth, strokeOverFill, boxPosition, boxSize);
   }
 
   public DocumentData() {
@@ -42,7 +44,7 @@
 
   public void set(String text, String fontName, float size, Justification justification, int tracking,
       float lineHeight, float baselineShift, @ColorInt int color, @ColorInt int strokeColor,
-      float strokeWidth, boolean strokeOverFill, PointF positionOffset) {
+      float strokeWidth, boolean strokeOverFill, PointF boxPosition, PointF boxSize) {
     this.text = text;
     this.fontName = fontName;
     this.size = size;
@@ -54,7 +56,8 @@
     this.strokeColor = strokeColor;
     this.strokeWidth = strokeWidth;
     this.strokeOverFill = strokeOverFill;
-    this.boxPosition = positionOffset;
+    this.boxPosition = boxPosition;
+    this.boxSize = boxSize;
   }
 
   @Override public int hashCode() {
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/FontCharacter.java b/lottie/src/main/java/com/airbnb/lottie/model/FontCharacter.java
index d394d7f..12c60eb 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/FontCharacter.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/FontCharacter.java
@@ -12,8 +12,7 @@
 public class FontCharacter {
 
   public static int hashFor(char character, String fontFamily, String style) {
-    int result = 0;
-    result = 31 * result + (int) character;
+    int result = (int) character;
     result = 31 * result + fontFamily.hashCode();
     result = 31 * result + style.hashCode();
     return result;
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/layer/TextLayer.java b/lottie/src/main/java/com/airbnb/lottie/model/layer/TextLayer.java
index 9f737ec..4d7e4f2 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/layer/TextLayer.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/layer/TextLayer.java
@@ -5,6 +5,7 @@
 import android.graphics.Matrix;
 import android.graphics.Paint;
 import android.graphics.Path;
+import android.graphics.PointF;
 import android.graphics.RectF;
 import android.graphics.Typeface;
 
@@ -47,6 +48,10 @@
   }};
   private final Map<FontCharacter, List<ContentGroup>> contentsForCharacter = new HashMap<>();
   private final LongSparseArray<String> codePointCache = new LongSparseArray<>();
+  /**
+   * If this is paragraph text, one line may wrap depending on the size of the document data box.
+   */
+  private final List<TextSubLine> textSubLines = new ArrayList<>();
   private final TextKeyframeAnimation textAnimation;
   private final LottieDrawable lottieDrawable;
   private final LottieComposition composition;
@@ -115,18 +120,26 @@
 
   @Override
   void drawLayer(Canvas canvas, Matrix parentMatrix, int parentAlpha) {
-    canvas.save();
-    if (!lottieDrawable.useTextGlyphs()) {
-      canvas.concat(parentMatrix);
-    }
     DocumentData documentData = textAnimation.getValue();
     Font font = composition.getFonts().get(documentData.fontName);
     if (font == null) {
-      // Something is wrong.
-      canvas.restore();
       return;
     }
+    canvas.save();
+    canvas.concat(parentMatrix);
 
+    configurePaint(documentData, parentMatrix);
+
+    if (lottieDrawable.useTextGlyphs()) {
+      drawTextWithGlyphs(documentData, parentMatrix, font, canvas);
+    } else {
+      drawTextWithFont(documentData, font, canvas);
+    }
+
+    canvas.restore();
+  }
+
+  private void configurePaint(DocumentData documentData, Matrix parentMatrix) {
     if (colorCallbackAnimation != null) {
       fillPaint.setColor(colorCallbackAnimation.getValue());
     } else if (colorAnimation != null) {
@@ -152,20 +165,11 @@
     } else if (strokeWidthAnimation != null) {
       strokePaint.setStrokeWidth(strokeWidthAnimation.getValue());
     } else {
-      float parentScale = Utils.getScale(parentMatrix);
-      strokePaint.setStrokeWidth(documentData.strokeWidth * Utils.dpScale() * parentScale);
+      strokePaint.setStrokeWidth(documentData.strokeWidth * Utils.dpScale());
     }
-
-    if (lottieDrawable.useTextGlyphs()) {
-      drawTextGlyphs(documentData, parentMatrix, font, canvas);
-    } else {
-      drawTextWithFont(documentData, font, canvas);
-    }
-
-    canvas.restore();
   }
 
-  private void drawTextGlyphs(
+  private void drawTextWithGlyphs(
       DocumentData documentData, Matrix parentMatrix, Font font, Canvas canvas) {
     float textSize;
     if (textSizeCallbackAnimation != null) {
@@ -178,40 +182,37 @@
 
     String text = documentData.text;
 
-    // Line height
-    float lineHeight = documentData.lineHeight * Utils.dpScale();
-
     // Split full text in multiple lines
     List<String> textLines = getTextLines(text);
     int textLineCount = textLines.size();
-    for (int l = 0; l < textLineCount; l++) {
+    // Add tracking
+    float tracking = documentData.tracking / 10f;
+    if (trackingCallbackAnimation != null) {
+      tracking += trackingCallbackAnimation.getValue();
+    } else if (trackingAnimation != null) {
+      tracking += trackingAnimation.getValue();
+    }
+    int lineIndex = -1;
+    for (int i = 0; i < textLineCount; i++) {
+      String textLine = textLines.get(i);
+      float boxWidth = documentData.boxSize == null ? 0f : documentData.boxSize.x;
+      List<TextSubLine> lines = splitGlyphTextIntoLines(textLine, boxWidth, font, fontScale, tracking, true);
+      for (int j = 0; j < lines.size(); j++) {
+        TextSubLine line = lines.get(j);
+        lineIndex++;
 
-      String textLine = textLines.get(l);
-      float textLineWidth = getTextLineWidthForGlyphs(textLine, font, fontScale, parentScale);
+        canvas.save();
 
-      canvas.save();
+        offsetCanvas(canvas, documentData, lineIndex, line.width);
+        drawGlyphTextLine(line.text, documentData, font, canvas, parentScale, fontScale, tracking);
 
-      // Apply horizontal justification
-      applyJustification(documentData, canvas, textLineWidth);
-
-      // Center text vertically
-      float multilineTranslateY = (textLineCount - 1) * lineHeight / 2;
-      float translateY = l * lineHeight - multilineTranslateY;
-      canvas.translate(0, translateY);
-      if (documentData.boxPosition != null) {
-        canvas.translate(documentData.boxPosition.x, documentData.boxPosition.y);
+        canvas.restore();
       }
-
-      // Draw each line
-      drawGlyphTextLine(textLine, documentData, parentMatrix, font, canvas, parentScale, fontScale);
-
-      // Reset canvas
-      canvas.restore();
     }
   }
 
-  private void drawGlyphTextLine(String text, DocumentData documentData, Matrix parentMatrix,
-      Font font, Canvas canvas, float parentScale, float fontScale) {
+  private void drawGlyphTextLine(String text, DocumentData documentData,
+      Font font, Canvas canvas, float parentScale, float fontScale, float tracking) {
     for (int i = 0; i < text.length(); i++) {
       char c = text.charAt(i);
       int characterHash = FontCharacter.hashFor(c, font.getFamily(), font.getStyle());
@@ -220,16 +221,8 @@
         // Something is wrong. Potentially, they didn't export the text as a glyph.
         continue;
       }
-      drawCharacterAsGlyph(character, parentMatrix, fontScale, documentData, canvas);
-      float tx = (float) character.getWidth() * fontScale * Utils.dpScale() * parentScale;
-      // Add tracking
-      float tracking = documentData.tracking / 10f;
-      if (trackingCallbackAnimation != null) {
-        tracking += trackingCallbackAnimation.getValue();
-      } else if (trackingAnimation != null) {
-        tracking += trackingAnimation.getValue();
-      }
-      tx += tracking * parentScale;
+      drawCharacterAsGlyph(character, fontScale, documentData, canvas);
+      float tx = (float) character.getWidth() * fontScale * Utils.dpScale() + tracking;
       canvas.translate(tx, 0);
     }
   }
@@ -255,9 +248,6 @@
     strokePaint.setTypeface(fillPaint.getTypeface());
     strokePaint.setTextSize(fillPaint.getTextSize());
 
-    // Line height
-    float lineHeight = documentData.lineHeight * Utils.dpScale();
-
     // Calculate tracking
     float tracking = documentData.tracking / 10f;
     if (trackingCallbackAnimation != null) {
@@ -270,27 +260,41 @@
     // Split full text in multiple lines
     List<String> textLines = getTextLines(text);
     int textLineCount = textLines.size();
-    for (int l = 0; l < textLineCount; l++) {
+    int lineIndex = -1;
+    for (int i = 0; i < textLineCount; i++) {
+      String textLine = textLines.get(i);
+      float boxWidth = documentData.boxSize == null ? 0f : documentData.boxSize.x;
+      List<TextSubLine> lines = splitGlyphTextIntoLines(textLine, boxWidth, font, 0f, tracking, false);
+      for (int j = 0; j < lines.size(); j++) {
+        TextSubLine line = lines.get(j);
+        lineIndex++;
 
-      String textLine = textLines.get(l);
-      // We have to manually add the tracking between characters as the strokePaint ignores it
-      float textLineWidth = strokePaint.measureText(textLine) + (textLine.length() - 1) * tracking;
+        canvas.save();
 
-      canvas.save();
+        offsetCanvas(canvas, documentData, lineIndex, line.width);
+        drawFontTextLine(line.text, documentData, canvas, tracking);
 
-      // Apply horizontal justification
-      applyJustification(documentData, canvas, textLineWidth);
+        canvas.restore();
+      }
+    }
+  }
 
-      // Center text vertically
-      float multilineTranslateY = (textLineCount - 1) * lineHeight / 2;
-      float translateY = l * lineHeight - multilineTranslateY;
-      canvas.translate(0, translateY);
-
-      // Draw each line
-      drawFontTextLine(textLine, documentData, canvas, tracking);
-
-      // Reset canvas
-      canvas.restore();
+  private void offsetCanvas(Canvas canvas, DocumentData documentData, int lineIndex, float lineWidth) {
+    PointF position = documentData.boxPosition;
+    PointF size = documentData.boxSize;
+    float lineOffset = lineIndex * documentData.lineHeight * Utils.dpScale();
+    float lineStart = position == null ? 0f : position.x;
+    float boxWidth = size == null ? 0f : size.x;
+    switch (documentData.justification) {
+      case LEFT_ALIGN:
+        canvas.translate(lineStart, lineOffset);
+        break;
+      case RIGHT_ALIGN:
+        canvas.translate(lineStart + boxWidth - lineWidth, lineOffset);
+        break;
+      case CENTER:
+        canvas.translate(lineStart + boxWidth / 2f - lineWidth / 2f, lineOffset);
+        break;
     }
   }
 
@@ -312,6 +316,7 @@
   private List<String> getTextLines(String text) {
     // Split full text by carriage return character
     String formattedText = text.replaceAll("\r\n", "\r")
+        .replaceAll("\u0003", "\r")
         .replaceAll("\n", "\r");
     String[] textLinesArray = formattedText.split("\r");
     return Arrays.asList(textLinesArray);
@@ -328,44 +333,91 @@
     }
   }
 
-  private float getTextLineWidthForGlyphs(
-      String textLine, Font font, float fontScale, float parentScale) {
-    float textLineWidth = 0;
+  private List<TextSubLine> splitGlyphTextIntoLines(String textLine, float boxWidth, Font font, float fontScale, float tracking, boolean usingGlyphs) {
+    int lineCount = 0;
+
+    float currentLineWidth = 0;
+    int currentLineStartIndex = 0;
+
+    int currentWordStartIndex = 0;
+    float currentWordWidth = 0f;
+    boolean nextCharacterStartsWord = false;
+
+    // The measured size of a space.
+    float spaceWidth = 0f;
+
     for (int i = 0; i < textLine.length(); i++) {
       char c = textLine.charAt(i);
-      int characterHash = FontCharacter.hashFor(c, font.getFamily(), font.getStyle());
-      FontCharacter character = composition.getCharacters().get(characterHash);
-      if (character == null) {
-        continue;
+      float currentCharWidth;
+      if (usingGlyphs) {
+        int characterHash = FontCharacter.hashFor(c, font.getFamily(), font.getStyle());
+        FontCharacter character = composition.getCharacters().get(characterHash);
+        if (character == null) {
+          continue;
+        }
+        currentCharWidth = (float) character.getWidth() * fontScale * Utils.dpScale() + tracking;
+      } else {
+        currentCharWidth = fillPaint.measureText(textLine.substring(i, i + 1)) + tracking;
       }
-      textLineWidth += character.getWidth() * fontScale * Utils.dpScale() * parentScale;
+
+      if (c == ' ') {
+        spaceWidth = currentCharWidth;
+        nextCharacterStartsWord = true;
+      } else if (nextCharacterStartsWord) {
+        nextCharacterStartsWord = false;
+        currentWordStartIndex = i;
+        currentWordWidth = currentCharWidth;
+      } else {
+        currentWordWidth += currentCharWidth;
+      }
+      currentLineWidth += currentCharWidth;
+
+      if (boxWidth > 0f && currentLineWidth >= boxWidth) {
+        if (c == ' ') {
+          // Spaces at the end of a line don't do anything. Ignore it.
+          // The next non-space character will hit the conditions below.
+          continue;
+        }
+        TextSubLine subLine = ensureEnoughSubLines(++lineCount);
+        if (currentWordStartIndex == currentLineStartIndex) {
+          // Only word on line is wider than box, start wrapping mid-word.
+          String substr = textLine.substring(currentLineStartIndex, i);
+          String trimmed = substr.trim();
+          float trimmedSpace = (trimmed.length() - substr.length()) * spaceWidth;
+          subLine.set(trimmed, currentLineWidth - currentCharWidth - trimmedSpace);
+          currentLineStartIndex = i;
+          currentLineWidth = currentCharWidth;
+          currentWordStartIndex = currentLineStartIndex;
+          currentWordWidth = currentCharWidth;
+        } else {
+          String substr = textLine.substring(currentLineStartIndex, currentWordStartIndex - 1);
+          String trimmed = substr.trim();
+          float trimmedSpace = (substr.length() - trimmed.length()) * spaceWidth;
+          subLine.set(trimmed, currentLineWidth - currentWordWidth - trimmedSpace - spaceWidth);
+          currentLineStartIndex = currentWordStartIndex;
+          currentLineWidth = currentWordWidth;
+        }
+      }
     }
-    return textLineWidth;
+    if (currentLineWidth > 0f) {
+      TextSubLine line = ensureEnoughSubLines(++lineCount);
+      line.set(textLine.substring(currentLineStartIndex), currentLineWidth);
+    }
+    return textSubLines.subList(0, lineCount);
   }
 
-  private void applyJustification(DocumentData documentData, Canvas canvas, float textLineWidth) {
-    float lineStart = 0f;
-    float lineTop = 0f;
-    if (documentData.boxPosition != null) {
-      lineStart = documentData.boxPosition.x;
-      lineTop = documentData.boxPosition.y;
+  /**
+   * Elements are reused and not deleted to save allocations.
+   */
+  private TextSubLine ensureEnoughSubLines(int numLines) {
+    for (int i = textSubLines.size(); i < numLines; i++) {
+      textSubLines.add(new TextSubLine());
     }
-    switch (documentData.justification) {
-      case LEFT_ALIGN:
-        canvas.translate(-lineStart, -lineTop);
-        break;
-      case RIGHT_ALIGN:
-        canvas.translate(-lineStart - textLineWidth, -lineTop);
-        break;
-      case CENTER:
-        canvas.translate(-lineStart - textLineWidth / 2, -lineTop);
-        break;
-    }
+    return textSubLines.get(numLines - 1);
   }
 
   private void drawCharacterAsGlyph(
       FontCharacter character,
-      Matrix parentMatrix,
       float fontScale,
       DocumentData documentData,
       Canvas canvas) {
@@ -373,7 +425,7 @@
     for (int j = 0; j < contentGroups.size(); j++) {
       Path path = contentGroups.get(j).getPath();
       path.computeBounds(rectF, false);
-      matrix.set(parentMatrix);
+      matrix.reset();
       matrix.preTranslate(0, -documentData.baselineShift * Utils.dpScale());
       matrix.preScale(fontScale, fontScale);
       path.transform(matrix);
@@ -551,4 +603,14 @@
       textAnimation.setStringValueCallback((LottieValueCallback<String>) callback);
     }
   }
+
+  private static class TextSubLine {
+    private String text = "";
+    private float width = 0f;
+
+    void set(String text, float width) {
+      this.text = text;
+      this.width = width;
+    }
+  }
 }
diff --git a/lottie/src/main/java/com/airbnb/lottie/parser/DocumentDataParser.java b/lottie/src/main/java/com/airbnb/lottie/parser/DocumentDataParser.java
index bce4aef..c659d11 100644
--- a/lottie/src/main/java/com/airbnb/lottie/parser/DocumentDataParser.java
+++ b/lottie/src/main/java/com/airbnb/lottie/parser/DocumentDataParser.java
@@ -23,7 +23,8 @@
       "sc", // 8
       "sw", // 9
       "of", // 10
-      "ps" // 11
+      "ps", // 11
+      "sz" // 12
   );
 
   private DocumentDataParser() {
@@ -43,6 +44,7 @@
     float strokeWidth = 0f;
     boolean strokeOverFill = true;
     PointF boxPosition = null;
+    PointF boxSize = null;
 
     reader.beginObject();
     while (reader.hasNext()) {
@@ -90,6 +92,11 @@
           boxPosition = new PointF((float) reader.nextDouble() * scale, (float) reader.nextDouble() * scale);
           reader.endArray();
           break;
+        case 12:
+          reader.beginArray();
+          boxSize = new PointF((float) reader.nextDouble() * scale, (float) reader.nextDouble() * scale);
+          reader.endArray();
+          break;
         default:
           reader.skipName();
           reader.skipValue();
@@ -98,6 +105,6 @@
     reader.endObject();
 
     return new DocumentData(text, fontName, size, justification, tracking, lineHeight,
-        baselineShift, fillColor, strokeColor, strokeWidth, strokeOverFill, boxPosition);
+        baselineShift, fillColor, strokeColor, strokeWidth, strokeOverFill, boxPosition, boxSize);
   }
 }
diff --git a/snapshot-tests/src/main/assets/Tests/Multiline.json b/snapshot-tests/src/main/assets/Tests/Multiline.json
new file mode 100644
index 0000000..29c79e5
--- /dev/null
+++ b/snapshot-tests/src/main/assets/Tests/Multiline.json
@@ -0,0 +1 @@
+{"v":"5.9.6","fr":29.9700012207031,"ip":0,"op":180.00000733155,"w":1920,"h":1080,"nm":"Multiline 2","ddd":0,"assets":[],"fonts":{"list":[{"fName":"Helvetica","fFamily":"Helvetica","fStyle":"Regular","ascent":71.8994140625}]},"layers":[{"ddd":0,"ind":1,"ty":5,"nm":"Point","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[44,724,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":60,"f":"Helvetica","t":"Point","ca":0,"j":0,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"Paragraph","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[44,208,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":60,"f":"Helvetica","t":"Paragraph","ca":0,"j":0,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"ABC & DEF 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[424,663,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":119,"f":"Helvetica","t":"ABC\u0003D\rE","ca":0,"j":0,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[544,580,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[32.289,84.371,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[885.37,241.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,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":[13.837,159.727],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,144.052],"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":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"ABC & DEF 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1151,663,0],"ix":2,"l":2},"a":{"a":0,"k":[133,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":119,"f":"Helvetica","t":"ABC\u0003D\rE","ca":0,"j":2,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1016,580,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[32.289,84.371,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[885.37,241.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,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":[13.837,159.727],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,144.052],"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":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":5,"nm":"ABC & DEF 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1751,663,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":119,"f":"Helvetica","t":"ABC\u0003D\rE","ca":0,"j":1,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1616,580,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[32.289,84.371,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[885.37,241.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,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":[13.837,159.727],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,144.052],"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":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":5,"nm":"ABC & DEF 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1751,151,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[266,339],"ps":[-266,-85.560302734375],"s":119,"f":"Helvetica","t":"ABC\u0003D\rE","ca":0,"j":1,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1616,68,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[32.289,84.371,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[885.37,241.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,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":[13.837,159.727],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,144.052],"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":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":5,"nm":"ABC & DEF 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1151,151,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[266,339],"ps":[-266,-85.560302734375],"s":119,"f":"Helvetica","t":"ABC\u0003D\rE","ca":0,"j":2,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Shape Layer 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[1016,68,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[32.289,84.371,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[885.37,241.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,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":[13.837,159.727],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,144.052],"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":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":5,"nm":"ABC & DEF","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[682,151,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[266,339],"ps":[-266,-85.560302734375],"s":119,"f":"Helvetica","t":"ABC\u0003D\rE","ca":0,"j":0,"tr":0,"lh":89,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Shape Layer 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[544,68,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[32.289,84.371,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[885.37,241.53],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,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":[13.837,159.727],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,144.052],"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":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180.00000733155,"st":0,"ct":1,"bm":0}],"markers":[],"chars":[{"ch":"A","size":119,"style":"Regular","w":66.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[21.973,-29.395],[33.545,-61.084],[44.434,-29.395]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[1.465,0],[11.426,0],[19.189,-21.484],[47.559,-21.484],[54.834,0],[65.479,0],[39.453,-71.729],[28.467,-71.729]],"c":true},"ix":2},"nm":"A","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"A","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"B","size":119,"style":"Regular","w":66.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.171,-0.911],[0,-4.688],[3.618,-1.79],[4.144,0]],"o":[[0,0],[0,0],[4.276,0],[3.848,1.628],[0,4.655],[-2.303,1.14],[0,0]],"v":[[16.895,-41.406],[16.895,-63.623],[34.41,-63.623],[44.081,-62.256],[49.854,-52.783],[44.426,-43.115],[34.756,-41.406]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.498,-1.009],[0,-5.208],[1.61,-2.18],[6.013,0]],"o":[[0,0],[0,0],[4.108,0],[4.699,1.888],[0,3.093],[-2.563,3.451],[0,0]],"v":[[16.895,-8.301],[16.895,-33.545],[36.364,-33.545],[46.272,-32.031],[53.32,-21.387],[50.905,-13.477],[38.04,-8.301]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-4.356,5.599],[0,4.623],[3.223,3.125],[3.678,1.4],[-1.335,1.53],[0,4.525],[2.097,2.962],[8.453,0],[0,0]],"o":[[0,0],[9.498,0],[2.914,-3.743],[0,-5.501],[-1.823,-1.758],[2.506,-1.27],[2.571,-2.897],[0,-3.873],[-3.572,-5.013],[0,0],[0,0]],"v":[[7.373,0],[37.883,0],[58.665,-8.398],[63.037,-20.947],[58.203,-33.887],[49.951,-38.623],[55.713,-42.822],[59.57,-53.955],[56.425,-64.209],[38.387,-71.729],[7.373,-71.729]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"B","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"C","size":119,"style":"Regular","w":72.22,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.976,0],[5.984,-7.361],[0,-10.586],[-7.368,-6.677],[-8.237,0],[-5.631,6.152],[-0.837,7.552],[0,0],[1.95,-2.897],[7.035,0],[3.853,5.229],[0,8.406],[-4.268,4.968],[-6.937,0],[-3.149,-2.702],[-1.055,-4.622],[0,0],[4.955,4.785]],"o":[[-10.521,0],[-5.534,6.776],[0,13.942],[5.598,5.049],[9.557,0],[4.697,-5.11],[0,0],[-0.96,4.72],[-3.677,5.502],[-7.642,0],[-3.854,-5.229],[0,-10.262],[4.268,-4.968],[5.69,0],[3.149,2.702],[0,0],[-0.547,-6.087],[-4.955,-4.785]],"v":[[37.453,-73.682],[12.695,-62.64],[4.395,-36.597],[15.447,-5.669],[36.201,1.904],[58.984,-7.324],[67.285,-26.318],[57.812,-26.318],[53.448,-14.893],[37.379,-6.641],[20.135,-14.484],[14.355,-34.936],[20.757,-57.782],[37.564,-65.234],[50.823,-61.182],[57.129,-50.195],[66.602,-50.195],[58.349,-66.504]],"c":true},"ix":2},"nm":"C","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"C","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"\u0003","size":119,"style":"Regular","w":0,"fFamily":"Helvetica"},{"ch":"D","size":119,"style":"Regular","w":72.22,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.454,-4.915],[0,-8.887],[0.478,-2.702],[1.878,-2.897],[3.692,-1.27],[3.214,0]],"o":[[0,0],[0,0],[7.671,0],[3.453,4.916],[0,2.312],[-0.828,4.525],[-2.356,3.613],[-2.069,0.684],[0,0]],"v":[[17.871,-8.301],[17.871,-63.379],[34.725,-63.379],[51.411,-56.006],[56.592,-35.303],[55.875,-27.783],[51.817,-16.65],[42.746,-9.326],[34.821,-8.301]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-4.979,10.873],[0,7.617],[4.786,6.316],[9.734,0],[0,0]],"o":[[0,0],[12.142,0],[2.827,-6.152],[0,-9.863],[-5.365,-6.998],[0,0],[0,0]],"v":[[8.057,0],[36.63,0],[62.312,-16.309],[66.553,-36.963],[59.373,-61.23],[36.726,-71.729],[8.057,-71.729]],"c":true},"ix":2},"nm":"D","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"D","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"\r","size":119,"style":"Regular","w":0,"fFamily":"Helvetica"},{"ch":"E","size":119,"style":"Regular","w":66.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.545,0],[61.328,0],[61.328,-8.545],[18.018,-8.545],[18.018,-32.861],[57.373,-32.861],[57.373,-41.162],[18.018,-41.162],[18.018,-62.939],[60.596,-62.939],[60.596,-71.729],[8.545,-71.729]],"c":true},"ix":2},"nm":"E","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"E","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"P","size":60,"style":"Regular","w":66.7,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[-3.482,4.15],[0,5.599],[3.902,3.597],[6.345,0],[0,0]],"o":[[0,0],[0,0],[0,0],[7.175,0],[3.481,-4.15],[0,-6.51],[-3.902,-3.596],[0,0],[0,0]],"v":[[8.545,0],[18.262,0],[18.262,-30.322],[40.659,-30.322],[56.643,-36.548],[61.865,-51.172],[56.013,-66.333],[40.643,-71.729],[8.545,-71.729]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-5.273],[2.699,-1.855],[4.33,0],[0,0],[0,0],[0,0],[-2.133,-1.009]],"o":[[0,4.688],[-2.699,1.855],[0,0],[0,0],[0,0],[3.716,0],[3.878,1.888]],"v":[[52.051,-51.123],[48.003,-41.309],[37.459,-38.525],[18.262,-38.525],[18.262,-63.379],[37.459,-63.379],[46.233,-61.865]],"c":true},"ix":2},"nm":"P","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"P","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"a","size":60,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,2.533],[-2.718,1.527],[-3.184,0.423],[0,0],[-1.689,0.458],[-1.073,0.686],[0,0],[4.883,-2.373],[3.092,0],[1.855,1.462]],"o":[[0,-3.345],[1.604,-0.909],[0,0],[1.624,-0.195],[1.689,-0.457],[0,0],[0,5.396],[-2.898,1.43],[-2.539,0],[-1.855,-1.462]],"v":[[13.184,-13.897],[17.261,-21.204],[24.443,-23.203],[29.755,-23.885],[34.725,-24.863],[38.867,-26.578],[38.867,-19.509],[31.543,-7.858],[22.559,-5.713],[15.967,-7.905]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[3.027,-2.666],[0,-4.844],[-3.076,-2.942],[-4.851,0],[-3.353,1.724],[-1.791,2.344],[-0.716,-1.139],[-3.027,0],[-0.716,0.098],[-1.367,0.391],[0,0],[0.488,-0.049],[0.391,0],[0.374,0.552],[0,0.912],[0,0],[3.804,2.344],[6.145,0],[4.015,-2.53],[0.163,-6.464],[0,0],[-1.072,1.375],[-4.581,0],[-2.128,-1.356],[0,-3.006],[0.39,-0.784],[2.018,-0.259]],"o":[[-4.916,0.618],[-3.027,2.666],[0,4.422],[3.076,2.942],[4.036,0],[3.352,-1.725],[0.293,2.083],[1.367,2.148],[1.237,0],[0.716,-0.098],[0,0],[-0.554,0.098],[-0.488,0.049],[-1.205,0],[-0.375,-0.552],[0,0],[0,-4.948],[-3.837,-2.344],[-5.299,0],[-4.015,2.53],[0,0],[0.325,-2.715],[1.917,-2.486],[3.963,0],[2.128,1.357],[0,1.471],[-0.684,1.43],[0,0]],"v":[[20.459,-29.893],[8.545,-24.966],[4.004,-13.702],[8.618,-2.656],[20.508,1.758],[31.592,-0.829],[39.307,-6.932],[40.82,-2.099],[47.412,1.123],[50.342,0.977],[53.467,0.244],[53.467,-6.249],[51.904,-6.03],[50.586,-5.957],[48.218,-6.786],[47.656,-8.982],[47.656,-39.111],[41.95,-50.049],[26.978,-53.564],[13.005,-49.77],[6.738,-36.279],[14.941,-36.279],[17.036,-42.413],[26.783,-46.143],[35.919,-44.109],[39.111,-37.565],[38.526,-34.183],[34.473,-31.648]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"r","size":60,"style":"Regular","w":33.3,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.377,2.849],[-4.427,0],[-0.439,-0.032],[-0.521,-0.098],[0,0],[0.391,0.033],[0.163,0],[2.669,-2.522],[0.684,-1.758],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-3.711],[2.376,-2.848],[0.52,0],[0.439,0.033],[0,0],[-0.945,-0.098],[-0.391,-0.032],[-3.484,0],[-2.67,2.523],[0,0],[0,0],[0,0]],"v":[[6.689,0],[15.479,0],[15.479,-30.078],[19.043,-39.917],[29.248,-44.189],[30.688,-44.141],[32.129,-43.945],[32.129,-53.223],[30.127,-53.418],[29.297,-53.467],[20.068,-49.683],[15.039,-43.262],[15.039,-52.295],[6.689,-52.295]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"g","size":60,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.086,0],[4.264,-4.915],[0,-8.756],[-4.231,-4.02],[-5.642,0],[-2.464,1.302],[-1.751,2.67],[1.231,-2.8],[6.702,0],[1.974,1.953],[0.42,2.344],[0,0],[-3.828,-2.523],[-5.613,0],[-3.634,7.096],[0,6.641],[0,0],[0,0],[0,0],[1.653,1.14]],"o":[[-6.031,0],[-4.264,4.916],[0,9.277],[4.231,4.021],[4.053,0],[2.464,-1.302],[0.098,7.195],[-2.072,4.752],[-4.241,0],[-1.263,-1.27],[0,0],[0.455,5.371],[3.828,2.522],[10.089,0],[1.946,-3.841],[0,0],[0,0],[0,0],[-1.719,-2.18],[-3.049,-2.018]],"v":[[24.817,-53.223],[9.374,-45.85],[2.979,-25.342],[9.325,-5.396],[24.136,0.635],[33.912,-1.318],[40.234,-7.275],[38.535,7.715],[25.375,14.844],[16.051,11.914],[13.525,6.494],[4.59,6.494],[11.015,18.335],[25.177,22.119],[45.762,11.475],[48.682,-4.248],[48.682,-51.807],[40.576,-51.807],[40.576,-45.215],[35.518,-50.195]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-6.477],[1.425,-3.223],[6.282,0],[2.38,3.076],[0,5.892],[-1.199,3.093],[-6.154,0],[-2.656,-3.125]],"o":[[0,4.297],[-2.559,5.697],[-4.016,0],[-2.38,-3.076],[0,-5.013],[2.267,-5.794],[4.113,0],[2.655,3.125]],"v":[[40.576,-26.367],[38.438,-15.088],[25.177,-6.543],[15.582,-11.157],[12.012,-24.609],[13.809,-36.768],[26.44,-45.459],[36.593,-40.771]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"g","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"p","size":60,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.115,0],[2.286,5.404],[0,4.037],[-1.208,3.255],[-6.108,0],[-2.287,-5.762],[0,-4.166],[2.727,-3.434]],"o":[[-6.076,0],[-1.208,-2.832],[0,-5.013],[2.254,-6.087],[6.075,0],[1.208,2.995],[0,6.836],[-2.728,3.435]],"v":[[28.516,-5.908],[15.973,-14.014],[14.16,-24.316],[15.973,-36.719],[28.516,-45.85],[41.058,-37.207],[42.871,-26.465],[38.78,-11.06]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-1.569,-0.977],[-3.954,0],[-3.791,3.092],[0,11.394],[4.144,4.541],[5.94,0],[2.969,-1.953],[1.762,-2.376],[0,0],[0,0]],"o":[[0,0],[0,0],[1.928,2.377],[2.679,1.725],[5.032,0],[5.98,-4.883],[0,-8.43],[-4.145,-4.541],[-4.015,0],[-2.089,1.302],[0,0],[0,0],[0,0]],"v":[[5.713,20.85],[14.502,20.85],[14.502,-5.859],[19.747,-0.83],[29.698,1.758],[42.934,-2.881],[51.904,-27.295],[45.687,-46.753],[30.56,-53.564],[20.084,-50.635],[14.307,-45.117],[14.307,-52.051],[5.713,-52.051]],"c":true},"ix":2},"nm":"p","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"p","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"h","size":60,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-2.962,2.507],[-3.646,0],[-1.595,-2.864],[0,-3.841],[0,0],[0,0],[0,0],[1.465,2.898],[7.584,0],[2.832,-1.855],[2.083,-2.637],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-6.966],[2.962,-2.506],[4.395,0],[0.977,1.791],[0,0],[0,0],[0,0],[0,-5.143],[-2.702,-5.305],[-4.232,0],[-1.66,1.074],[0,0],[0,0],[0,0]],"v":[[6.445,0],[15.234,0],[15.234,-27.734],[19.678,-41.943],[29.59,-45.703],[38.574,-41.406],[40.039,-32.959],[40.039,0],[49.072,0],[49.072,-33.545],[46.875,-45.605],[31.445,-53.564],[20.85,-50.781],[15.234,-45.215],[15.234,-71.973],[6.445,-71.973]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"o","size":60,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.761,0],[2.414,3.706],[0,5.56],[-2.414,4.097],[-5.312,0],[-2.446,-4.812],[0,-4.877],[2.141,-4.405]],"o":[[-5.247,0],[-2.414,-3.706],[0,-5.787],[2.414,-4.097],[5.987,0],[1.545,3.056],[0,5.397],[-2.141,4.405]],"v":[[27.026,-5.713],[15.535,-11.272],[11.914,-25.172],[15.535,-39.997],[27.122,-46.143],[39.772,-38.924],[42.09,-27.025],[38.879,-12.321]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[6.691,0],[4.428,-5.203],[0,-8.781],[-4.202,-4.862],[-7.144,0],[-4.073,5.496],[0,8.424],[4.622,4.488]],"o":[[-7.467,0],[-4.428,5.204],[0,8.196],[4.202,4.862],[8.566,0],[4.073,-5.496],[0,-8.716],[-4.623,-4.488]],"v":[[27.366,-53.809],[9.523,-46.003],[2.881,-25.025],[9.184,-5.437],[26.202,1.855],[45.16,-6.389],[51.27,-27.27],[44.336,-47.076]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"i","size":60,"style":"Regular","w":22.22,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.445,0],[15.381,0],[15.381,-52.051],[6.445,-52.051]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[6.445,-61.768],[15.381,-61.768],[15.381,-71.729],[6.445,-71.729]],"c":true},"ix":2},"nm":"i","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"i","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"n","size":60,"style":"Regular","w":55.62,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.439,1.839],[-1.465,1.726],[-2.409,0.716],[-2.084,0],[-1.562,-3.255],[0,-3.19],[0,0],[0,0],[0,0],[1.432,2.832],[7.422,0],[2.766,-1.334],[2.473,-3.059],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-3.418],[0.439,-1.839],[1.823,-2.148],[1.334,-0.423],[4.102,0],[0.944,1.953],[0,0],[0,0],[0,0],[0,-5.273],[-2.605,-5.176],[-3.386,0],[-2.767,1.335],[0,0],[0,0],[0,0]],"v":[[6.445,0],[15.234,0],[15.234,-27.393],[15.894,-35.278],[18.75,-40.625],[25.098,-44.922],[30.225,-45.557],[38.721,-40.674],[40.137,-32.959],[40.137,0],[49.072,0],[49.072,-33.545],[46.924,-45.703],[31.885,-53.467],[22.656,-51.465],[14.795,-44.873],[14.795,-52.295],[6.445,-52.295]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"},{"ch":"t","size":60,"style":"Regular","w":27.78,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-1.465,-2.1],[-4.102,0],[-1.091,0.13],[-1.009,0.293],[0,0],[0.488,-0.021],[0.423,0],[0.684,0.359],[0,1.823],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,3.353],[1.465,2.1],[1.27,0],[1.09,-0.13],[0,0],[-0.652,0.087],[-0.488,0.021],[-1.595,0],[-1.237,-0.618],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.203,-52.295],[1.123,-52.295],[1.123,-45.117],[8.203,-45.117],[8.203,-10.498],[10.4,-2.319],[18.75,0.83],[22.29,0.635],[25.439,0],[25.439,-6.982],[23.73,-6.819],[22.363,-6.787],[18.945,-7.324],[17.09,-10.986],[17.09,-45.117],[25.439,-45.117],[25.439,-52.295],[17.09,-52.295],[17.09,-66.895],[8.203,-66.895]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"Helvetica"}]}
\ No newline at end of file
