one-var-declaration-per-line fix
diff --git a/.eslintrc.json b/.eslintrc.json
index efc364a..f738b63 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -30,10 +30,9 @@
         "no-restricted-globals": "off",
         "------": "off",
         "func-names": "off",
+        "max-len": "off",
         "-------": "off",
         "no-param-reassign": "off",
-        "max-len": "off",
-        "one-var-declaration-per-line": "off",
         "one-var": "off",
         "vars-on-top": "off",
         "no-continue": "off",
diff --git a/player/js/3rd_party/BezierEaser.js b/player/js/3rd_party/BezierEaser.js
index 5cf597f..80e161d 100644
--- a/player/js/3rd_party/BezierEaser.js
+++ b/player/js/3rd_party/BezierEaser.js
@@ -50,7 +50,9 @@
   }
 
   function binarySubdivide(aX, aA, aB, mX1, mX2) {
-    var currentX, currentT, i = 0;
+    var currentX,
+      currentT,
+      i = 0;
     do {
       currentT = aA + (aB - aA) / 2.0;
       currentX = calcBezier(currentT, mX1, mX2) - aX;
diff --git a/player/js/3rd_party/transformation-matrix.js b/player/js/3rd_party/transformation-matrix.js
index a45d466..9ea1cde 100644
--- a/player/js/3rd_party/transformation-matrix.js
+++ b/player/js/3rd_party/transformation-matrix.js
@@ -284,7 +284,9 @@
   }
 
   function inversePoints(pts) {
-    var i, len = pts.length, retPts = [];
+    var i,
+      len = pts.length,
+      retPts = [];
     for (i = 0; i < len; i += 1) {
       retPts[i] = inversePoint(pts[i]);
     }
@@ -301,7 +303,12 @@
       arr[4] = pt3[0];
       arr[5] = pt3[1];
     } else {
-      var p0 = this.props[0], p1 = this.props[1], p4 = this.props[4], p5 = this.props[5], p12 = this.props[12], p13 = this.props[13];
+      var p0 = this.props[0],
+        p1 = this.props[1],
+        p4 = this.props[4],
+        p5 = this.props[5],
+        p12 = this.props[12],
+        p13 = this.props[13];
       arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;
       arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;
       arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;
diff --git a/player/js/EffectsManager.js b/player/js/EffectsManager.js
index a1782c4..143fd63 100644
--- a/player/js/EffectsManager.js
+++ b/player/js/EffectsManager.js
@@ -1,7 +1,8 @@
 function EffectsManager(data, element) {
   var effects = data.ef || [];
   this.effectElements = [];
-  var i, len = effects.length;
+  var i,
+    len = effects.length;
   var effectItem;
   for (i = 0; i < len; i++) {
     effectItem = new GroupEffect(effects[i], element);
@@ -21,8 +22,10 @@
   this.data = data;
   this.effectElements = [];
   this.initDynamicPropertyContainer(element);
-  var i, len = this.data.ef.length;
-  var eff, effects = this.data.ef;
+  var i,
+    len = this.data.ef.length;
+  var eff,
+    effects = this.data.ef;
   for (i = 0; i < len; i += 1) {
     eff = null;
     switch (effects[i].ty) {
diff --git a/player/js/animation/AnimationItem.js b/player/js/animation/AnimationItem.js
index 4516031..db2d17c 100644
--- a/player/js/animation/AnimationItem.js
+++ b/player/js/animation/AnimationItem.js
@@ -123,9 +123,11 @@
     this.totalFrames = Math.floor(data.op - this.animationData.ip);
   }
   var layers = this.animationData.layers;
-  var i, len = layers.length;
+  var i,
+    len = layers.length;
   var newLayers = data.layers;
-  var j, jLen = newLayers.length;
+  var j,
+    jLen = newLayers.length;
   for (j = 0; j < jLen; j += 1) {
     i = 0;
     while (i < len) {
@@ -448,7 +450,8 @@
     this.segments.length = 0;
   }
   if (typeof arr[0] === 'object') {
-    var i, len = arr.length;
+    var i,
+      len = arr.length;
     for (i = 0; i < len; i += 1) {
       this.segments.push(arr[i]);
     }
@@ -561,7 +564,8 @@
 };
 
 AnimationItem.prototype.getAssetData = function (id) {
-  var i = 0, len = this.assets.length;
+  var i = 0,
+    len = this.assets.length;
   while (i < len) {
     if (id == this.assets[i].id) {
       return this.assets[i];
diff --git a/player/js/animation/AnimationItemWorkerOverride.js b/player/js/animation/AnimationItemWorkerOverride.js
index 6829b10..be2845c 100644
--- a/player/js/animation/AnimationItemWorkerOverride.js
+++ b/player/js/animation/AnimationItemWorkerOverride.js
@@ -44,9 +44,11 @@
     this.totalFrames = Math.floor(data.op - this.animationData.ip);
   }
   var layers = this.animationData.layers;
-  var i, len = layers.length;
+  var i,
+    len = layers.length;
   var newLayers = data.layers;
-  var j, jLen = newLayers.length;
+  var j,
+    jLen = newLayers.length;
   for (j = 0; j < jLen; j += 1) {
     i = 0;
     while (i < len) {
diff --git a/player/js/animation/AnimationManager.js b/player/js/animation/AnimationManager.js
index c6d980c..8ca5dcd 100644
--- a/player/js/animation/AnimationManager.js
+++ b/player/js/animation/AnimationManager.js
@@ -41,7 +41,8 @@
   }
 
   function getRegisteredAnimations() {
-    var i, lenAnims = registeredAnimations.length;
+    var i,
+      lenAnims = registeredAnimations.length;
     var animations = [];
     for (i = 0; i < lenAnims; i += 1) {
       animations.push(registeredAnimations[i].animation);
@@ -150,7 +151,8 @@
   function searchAnimations(animationData, standalone, renderer) {
     var animElements = [].concat([].slice.call(document.getElementsByClassName('lottie')),
       [].slice.call(document.getElementsByClassName('bodymovin')));
-    var i, lenAnims = animElements.length;
+    var i,
+      lenAnims = animElements.length;
     for (i = 0; i < lenAnims; i += 1) {
       if (renderer) {
         animElements[i].setAttribute('data-bm-type', renderer);
diff --git a/player/js/animation/AnimationManagerWorkerOverride.js b/player/js/animation/AnimationManagerWorkerOverride.js
index 60c0260..14fd498 100644
--- a/player/js/animation/AnimationManagerWorkerOverride.js
+++ b/player/js/animation/AnimationManagerWorkerOverride.js
@@ -41,7 +41,8 @@
   }
 
   function getRegisteredAnimations() {
-    var i, lenAnims = registeredAnimations.length;
+    var i,
+      lenAnims = registeredAnimations.length;
     var animations = [];
     for (i = 0; i < lenAnims; i += 1) {
       animations.push(registeredAnimations[i].animation);
diff --git a/player/js/elements/BaseElement.js b/player/js/elements/BaseElement.js
index 0cfb70b..9f79704 100644
--- a/player/js/elements/BaseElement.js
+++ b/player/js/elements/BaseElement.js
@@ -6,7 +6,8 @@
     if (!this.data.hasMask) {
       return false;
     }
-    var i = 0, len = this.data.masksProperties.length;
+    var i = 0,
+      len = this.data.masksProperties.length;
     while (i < len) {
       if ((this.data.masksProperties[i].mode !== 'n' && this.data.masksProperties[i].cl !== false)) {
         return true;
diff --git a/player/js/elements/CompElement.js b/player/js/elements/CompElement.js
index aac1a4b..64db420 100644
--- a/player/js/elements/CompElement.js
+++ b/player/js/elements/CompElement.js
@@ -46,7 +46,8 @@
   } else {
     this.renderedFrame = num / this.data.sr;
   }
-  var i, len = this.elements.length;
+  var i,
+    len = this.elements.length;
   if (!this.completeLayers) {
     this.checkLayers(this.renderedFrame);
   }
@@ -62,7 +63,8 @@
 };
 
 ICompElement.prototype.renderInnerContent = function () {
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   for (i = 0; i < len; i += 1) {
     if (this.completeLayers || this.elements[i]) {
       this.elements[i].renderFrame();
@@ -79,7 +81,8 @@
 };
 
 ICompElement.prototype.destroyElements = function () {
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   for (i = 0; i < len; i += 1) {
     if (this.elements[i]) {
       this.elements[i].destroy();
diff --git a/player/js/elements/ShapeElement.js b/player/js/elements/ShapeElement.js
index 66cb2af..1c800b4 100644
--- a/player/js/elements/ShapeElement.js
+++ b/player/js/elements/ShapeElement.js
@@ -3,13 +3,15 @@
 
 IShapeElement.prototype = {
   addShapeToModifiers: function (data) {
-    var i, len = this.shapeModifiers.length;
+    var i,
+      len = this.shapeModifiers.length;
     for (i = 0; i < len; i += 1) {
       this.shapeModifiers[i].addShape(data);
     }
   },
   isShapeInAnimatedModifiers: function (data) {
-    var i = 0, len = this.shapeModifiers.length;
+    var i = 0,
+      len = this.shapeModifiers.length;
     while (i < len) {
       if (this.shapeModifiers[i].isAnimatedWithShape(data)) {
         return true;
@@ -21,7 +23,8 @@
     if (!this.shapeModifiers.length) {
       return;
     }
-    var i, len = this.shapes.length;
+    var i,
+      len = this.shapes.length;
     for (i = 0; i < len; i += 1) {
       this.shapes[i].sh.reset();
     }
@@ -43,7 +46,8 @@
   },
   searchProcessedElement: function (elem) {
     var elements = this.processedElements;
-    var i = 0, len = elements.length;
+    var i = 0,
+      len = elements.length;
     while (i < len) {
       if (elements[i].elem === elem) {
         return elements[i].pos;
diff --git a/player/js/elements/TextElement.js b/player/js/elements/TextElement.js
index 5f0b7b5..a8587d0 100644
--- a/player/js/elements/TextElement.js
+++ b/player/js/elements/TextElement.js
@@ -30,8 +30,11 @@
 };
 
 ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {
-  var j, jLen = shapes.length;
-  var k, kLen, pathNodes;
+  var j,
+    jLen = shapes.length;
+  var k,
+    kLen,
+    pathNodes;
   var shapeStr = '';
   for (j = 0; j < jLen; j += 1) {
     pathNodes = shapes[j].ks.k;
diff --git a/player/js/elements/canvasElements/CVCompElement.js b/player/js/elements/canvasElements/CVCompElement.js
index 4669f73..558836f 100644
--- a/player/js/elements/canvasElements/CVCompElement.js
+++ b/player/js/elements/canvasElements/CVCompElement.js
@@ -18,7 +18,8 @@
   ctx.lineTo(0, this.data.h);
   ctx.lineTo(0, 0);
   ctx.clip();
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   for (i = len - 1; i >= 0; i -= 1) {
     if (this.completeLayers || this.elements[i]) {
       this.elements[i].renderFrame();
@@ -27,7 +28,8 @@
 };
 
 CVCompElement.prototype.destroy = function () {
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   for (i = len - 1; i >= 0; i -= 1) {
     if (this.elements[i]) {
       this.elements[i].destroy();
diff --git a/player/js/elements/canvasElements/CVContextData.js b/player/js/elements/canvasElements/CVContextData.js
index d50b336..09ce82d 100644
--- a/player/js/elements/canvasElements/CVContextData.js
+++ b/player/js/elements/canvasElements/CVContextData.js
@@ -3,7 +3,8 @@
   this.cArrPos = 0;
   this.cTr = new Matrix();
   this.cO = 1;
-  var i, len = 15;
+  var i,
+    len = 15;
   this.savedOp = createTypedArray('float32', len);
   for (i = 0; i < len; i += 1) {
     this.saved[i] = createTypedArray('float32', 16);
diff --git a/player/js/elements/canvasElements/CVImageElement.js b/player/js/elements/canvasElements/CVImageElement.js
index f6801ad..c38dd15 100644
--- a/player/js/elements/canvasElements/CVImageElement.js
+++ b/player/js/elements/canvasElements/CVImageElement.js
@@ -19,7 +19,8 @@
     var imgH = this.img.height;
     var imgRel = imgW / imgH;
     var canvasRel = this.assetData.w / this.assetData.h;
-    var widthCrop, heightCrop;
+    var widthCrop,
+      heightCrop;
     var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;
     if ((imgRel > canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {
       heightCrop = imgH;
diff --git a/player/js/elements/canvasElements/CVMaskElement.js b/player/js/elements/canvasElements/CVMaskElement.js
index 86ecd56..5c69af6 100644
--- a/player/js/elements/canvasElements/CVMaskElement.js
+++ b/player/js/elements/canvasElements/CVMaskElement.js
@@ -3,7 +3,9 @@
   this.element = element;
   this.masksProperties = this.data.masksProperties || [];
   this.viewData = createSizedArray(this.masksProperties.length);
-  var i, len = this.masksProperties.length, hasMasks = false;
+  var i,
+    len = this.masksProperties.length,
+    hasMasks = false;
   for (i = 0; i < len; i++) {
     if (this.masksProperties[i].mode !== 'n') {
       hasMasks = true;
@@ -22,8 +24,11 @@
   }
   var transform = this.element.finalTransform.mat;
   var ctx = this.element.canvasContext;
-  var i, len = this.masksProperties.length;
-  var pt, pts, data;
+  var i,
+    len = this.masksProperties.length;
+  var pt,
+    pts,
+    data;
   ctx.beginPath();
   for (i = 0; i < len; i++) {
     if (this.masksProperties[i].mode !== 'n') {
@@ -37,7 +42,8 @@
       data = this.viewData[i].v;
       pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);
       ctx.moveTo(pt[0], pt[1]);
-      var j, jLen = data._length;
+      var j,
+        jLen = data._length;
       for (j = 1; j < jLen; j++) {
         pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);
         ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);
diff --git a/player/js/elements/canvasElements/CVShapeElement.js b/player/js/elements/canvasElements/CVShapeElement.js
index 5d38915..c786849 100644
--- a/player/js/elements/canvasElements/CVShapeElement.js
+++ b/player/js/elements/canvasElements/CVShapeElement.js
@@ -102,7 +102,8 @@
 
 CVShapeElement.prototype.reloadShapes = function () {
   this._isFirstFrame = true;
-  var i, len = this.itemsData.length;
+  var i,
+    len = this.itemsData.length;
   for (i = 0; i < len; i += 1) {
     this.prevViewData[i] = this.itemsData[i];
   }
@@ -116,7 +117,8 @@
 };
 
 CVShapeElement.prototype.addTransformToStyleList = function (transform) {
-  var i, len = this.stylesList.length;
+  var i,
+    len = this.stylesList.length;
   for (i = 0; i < len; i += 1) {
     if (!this.stylesList[i].closed) {
       this.stylesList[i].transforms.push(transform);
@@ -125,7 +127,8 @@
 };
 
 CVShapeElement.prototype.removeTransformFromStyleList = function () {
-  var i, len = this.stylesList.length;
+  var i,
+    len = this.stylesList.length;
   for (i = 0; i < len; i += 1) {
     if (!this.stylesList[i].closed) {
       this.stylesList[i].transforms.pop();
@@ -134,16 +137,25 @@
 };
 
 CVShapeElement.prototype.closeStyles = function (styles) {
-  var i, len = styles.length, j, jLen;
+  var i,
+    len = styles.length,
+    j,
+    jLen;
   for (i = 0; i < len; i += 1) {
     styles[i].closed = true;
   }
 };
 
 CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {
-  var i, len = arr.length - 1;
-  var j, jLen;
-  var ownStyles = [], ownModifiers = [], processedPos, modifier, currentTransform;
+  var i,
+    len = arr.length - 1;
+  var j,
+    jLen;
+  var ownStyles = [],
+    ownModifiers = [],
+    processedPos,
+    modifier,
+    currentTransform;
   var ownTransforms = [].concat(transforms);
   for (i = len; i >= 0; i -= 1) {
     processedPos = this.searchProcessedElement(arr[i]);
@@ -224,7 +236,8 @@
 };
 
 CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {
-  var props, groupMatrix;
+  var props,
+    groupMatrix;
   if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {
     groupTransform.opacity = parentTransform.opacity;
     groupTransform.opacity *= groupTransform.op.v;
@@ -233,8 +246,18 @@
 };
 
 CVShapeElement.prototype.drawLayer = function () {
-  var i, len = this.stylesList.length;
-  var j, jLen, k, kLen, elems, nodes, renderer = this.globalData.renderer, ctx = this.globalData.canvasContext, type, currentStyle;
+  var i,
+    len = this.stylesList.length;
+  var j,
+    jLen,
+    k,
+    kLen,
+    elems,
+    nodes,
+    renderer = this.globalData.renderer,
+    ctx = this.globalData.canvasContext,
+    type,
+    currentStyle;
   for (i = 0; i < len; i += 1) {
     currentStyle = this.stylesList[i];
     type = currentStyle.type;
@@ -299,7 +322,8 @@
 };
 
 CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {
-  var i, len = items.length - 1;
+  var i,
+    len = items.length - 1;
   var groupTransform;
   groupTransform = parentTransform;
   for (i = len; i >= 0; i -= 1) {
@@ -329,7 +353,10 @@
   if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {
     var shapeNodes = styledShape.trNodes;
     var paths = shape.paths;
-    var i, len, j, jLen = paths._length;
+    var i,
+      len,
+      j,
+      jLen = paths._length;
     shapeNodes.length = 0;
     var groupTransformMat = styledShape.transforms.finalTransform;
     for (j = 0; j < jLen; j += 1) {
@@ -371,7 +398,8 @@
 
 CVShapeElement.prototype.renderPath = function (pathData, itemData) {
   if (pathData.hd !== true && pathData._shouldRender) {
-    var i, len = itemData.styledShapes.length;
+    var i,
+      len = itemData.styledShapes.length;
     for (i = 0; i < len; i += 1) {
       this.renderStyledShape(itemData.styledShapes[i], itemData.sh);
     }
@@ -397,7 +425,8 @@
   var grd;
   if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {
     var ctx = this.globalData.canvasContext;
-    var pt1 = itemData.s.v, pt2 = itemData.e.v;
+    var pt1 = itemData.s.v,
+      pt2 = itemData.e.v;
     if (styleData.t === 1) {
       grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);
     } else {
@@ -411,7 +440,8 @@
       grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);
     }
 
-    var i, len = styleData.g.p;
+    var i,
+      len = styleData.g.p;
     var cValues = itemData.g.c;
     var opacity = 1;
 
diff --git a/player/js/elements/canvasElements/CVTextElement.js b/player/js/elements/canvasElements/CVTextElement.js
index 058471c..48bbc9f 100644
--- a/player/js/elements/canvasElements/CVTextElement.js
+++ b/player/js/elements/canvasElements/CVTextElement.js
@@ -40,16 +40,29 @@
     this.values.sWidth = documentData.sw;
   }
   var fontData = this.globalData.fontManager.getFontByName(documentData.f);
-  var i, len;
+  var i,
+    len;
   var letters = documentData.l;
   var matrixHelper = this.mHelper;
   this.stroke = hasStroke;
   this.values.fValue = documentData.finalSize + 'px ' + this.globalData.fontManager.getFontByName(documentData.f).fFamily;
   len = documentData.finalText.length;
   // this.tHelper.font = this.values.fValue;
-  var charData, shapeData, k, kLen, shapes, j, jLen, pathNodes, commands, pathArr, singleShape = this.data.singleShape;
+  var charData,
+    shapeData,
+    k,
+    kLen,
+    shapes,
+    j,
+    jLen,
+    pathNodes,
+    commands,
+    pathArr,
+    singleShape = this.data.singleShape;
   var trackingOffset = documentData.tr * .001 * documentData.finalSize;
-  var xPos = 0, yPos = 0, firstLine = true;
+  var xPos = 0,
+    yPos = 0,
+    firstLine = true;
   var cnt = 0;
   for (i = 0; i < len; i += 1) {
     charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
@@ -107,14 +120,23 @@
     this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
   }
 
-  var i, len, j, jLen, k, kLen;
+  var i,
+    len,
+    j,
+    jLen,
+    k,
+    kLen;
   var renderedLetters = this.textAnimator.renderedLetters;
 
   var letters = this.textProperty.currentData.l;
 
   len = letters.length;
   var renderedLetter;
-  var lastFill = null, lastStroke = null, lastStrokeW = null, commands, pathArr;
+  var lastFill = null,
+    lastStroke = null,
+    lastStrokeW = null,
+    commands,
+    pathArr;
   for (i = 0; i < len; i += 1) {
     if (letters[i].n) {
       continue;
diff --git a/player/js/elements/helpers/FrameElement.js b/player/js/elements/helpers/FrameElement.js
index 862cc43..6cd867a 100644
--- a/player/js/elements/helpers/FrameElement.js
+++ b/player/js/elements/helpers/FrameElement.js
@@ -32,7 +32,8 @@
      *
      */
   prepareProperties: function (num, isVisible) {
-    var i, len = this.dynamicProperties.length;
+    var i,
+      len = this.dynamicProperties.length;
     for (i = 0; i < len; i += 1) {
       if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {
         this.dynamicProperties[i].getValue();
diff --git a/player/js/elements/helpers/RenderableElement.js b/player/js/elements/helpers/RenderableElement.js
index dd19aac..d14023c 100644
--- a/player/js/elements/helpers/RenderableElement.js
+++ b/player/js/elements/helpers/RenderableElement.js
@@ -60,7 +60,8 @@
     }
   },
   renderRenderable: function () {
-    var i, len = this.renderableComponents.length;
+    var i,
+      len = this.renderableComponents.length;
     for (i = 0; i < len; i += 1) {
       this.renderableComponents[i].renderFrame(this._isFirstFrame);
     }
diff --git a/player/js/elements/helpers/TransformElement.js b/player/js/elements/helpers/TransformElement.js
index 7c0ef78..b1f4e64 100644
--- a/player/js/elements/helpers/TransformElement.js
+++ b/player/js/elements/helpers/TransformElement.js
@@ -24,7 +24,8 @@
     if (this.hierarchy) {
       var mat;
       var finalMat = this.finalTransform.mat;
-      var i = 0, len = this.hierarchy.length;
+      var i = 0,
+        len = this.hierarchy.length;
       // Checking if any of the transformation matrices in the hierarchy chain has changed.
       if (!this.finalTransform._matMdf) {
         while (i < len) {
@@ -61,7 +62,9 @@
         flag = false;
       }
     }
-    var i, len = transforms.length, ptNew;
+    var i,
+      len = transforms.length,
+      ptNew;
     for (i = 0; i < len; i += 1) {
       ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);
       // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);
diff --git a/player/js/elements/helpers/shapes/CVShapeData.js b/player/js/elements/helpers/shapes/CVShapeData.js
index 8a80d35..2ce2481 100644
--- a/player/js/elements/helpers/shapes/CVShapeData.js
+++ b/player/js/elements/helpers/shapes/CVShapeData.js
@@ -10,7 +10,9 @@
     ty = 7;
   }
   this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);
-  var i, len = styles.length, styledShape;
+  var i,
+    len = styles.length,
+    styledShape;
   for (i = 0; i < len; i += 1) {
     if (!styles[i].closed) {
       styledShape = {
diff --git a/player/js/elements/helpers/shapes/SVGElementsRenderer.js b/player/js/elements/helpers/shapes/SVGElementsRenderer.js
index 2babe34..a006f1a 100644
--- a/player/js/elements/helpers/shapes/SVGElementsRenderer.js
+++ b/player/js/elements/helpers/shapes/SVGElementsRenderer.js
@@ -39,9 +39,19 @@
   }
 
   function renderPath(styleData, itemData, isFirstFrame) {
-    var j, jLen, pathStringTransformed, redraw, pathNodes, l, lLen = itemData.styles.length;
+    var j,
+      jLen,
+      pathStringTransformed,
+      redraw,
+      pathNodes,
+      l,
+      lLen = itemData.styles.length;
     var lvl = itemData.lvl;
-    var paths, mat, props, iterations, k;
+    var paths,
+      mat,
+      props,
+      iterations,
+      k;
     for (l = 0; l < lLen; l += 1) {
       redraw = itemData.sh._mdf || isFirstFrame;
       if (itemData.styles[l].lvl < lvl) {
@@ -104,7 +114,8 @@
   function renderGradient(styleData, itemData, isFirstFrame) {
     var gfill = itemData.gf;
     var hasOpacity = itemData.g._hasOpacity;
-    var pt1 = itemData.s.v, pt2 = itemData.e.v;
+    var pt1 = itemData.s.v,
+      pt2 = itemData.e.v;
 
     if (itemData.o._mdf || isFirstFrame) {
       var attr = styleData.ty === 'gf' ? 'fill-opacity' : 'stroke-opacity';
@@ -120,7 +131,10 @@
         itemData.of.setAttribute(attr2, pt1[1]);
       }
     }
-    var stops, i, len, stop;
+    var stops,
+      i,
+      len,
+      stop;
     if (itemData.g._cmdf || isFirstFrame) {
       stops = itemData.cst;
       var cValues = itemData.g.c;
diff --git a/player/js/elements/helpers/shapes/SVGGradientFillStyleData.js b/player/js/elements/helpers/shapes/SVGGradientFillStyleData.js
index c960507..80edd86 100644
--- a/player/js/elements/helpers/shapes/SVGGradientFillStyleData.js
+++ b/player/js/elements/helpers/shapes/SVGGradientFillStyleData.js
@@ -25,7 +25,9 @@
   gfill.setAttribute('spreadMethod', 'pad');
   gfill.setAttribute('gradientUnits', 'userSpaceOnUse');
   var stops = [];
-  var stop, j, jLen;
+  var stop,
+    j,
+    jLen;
   jLen = data.g.p * 4;
   for (j = 0; j < jLen; j += 4) {
     stop = createNS('stop');
@@ -40,7 +42,9 @@
 
 SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {
   if (this.g._hasOpacity && !this.g._collapsable) {
-    var stop, j, jLen;
+    var stop,
+      j,
+      jLen;
     var mask = createNS('mask');
     var maskElement = createNS('path');
     mask.appendChild(maskElement);
diff --git a/player/js/elements/helpers/shapes/SVGShapeData.js b/player/js/elements/helpers/shapes/SVGShapeData.js
index cf64fea..ddfe895 100644
--- a/player/js/elements/helpers/shapes/SVGShapeData.js
+++ b/player/js/elements/helpers/shapes/SVGShapeData.js
@@ -10,7 +10,8 @@
   // One way of finding out is checking if all styles associated to this shape depend only of this shape
   this._isAnimated = !!shape.k;
   // TODO: commenting this for now since all shapes are animated
-  var i = 0, len = transformers.length;
+  var i = 0,
+    len = transformers.length;
   while (i < len) {
     if (transformers[i].mProps.dynamicProperties.length) {
       this._isAnimated = true;
diff --git a/player/js/elements/helpers/shapes/ShapeTransformManager.js b/player/js/elements/helpers/shapes/ShapeTransformManager.js
index 01edcd4..fe92a8a 100644
--- a/player/js/elements/helpers/shapes/ShapeTransformManager.js
+++ b/player/js/elements/helpers/shapes/ShapeTransformManager.js
@@ -6,7 +6,8 @@
 
 ShapeTransformManager.prototype = {
   addTransformSequence: function (transforms) {
-    var i, len = transforms.length;
+    var i,
+      len = transforms.length;
     var key = '_';
     for (i = 0; i < len; i += 1) {
       key += transforms[i].transform.key + '_';
@@ -24,7 +25,9 @@
     return sequence;
   },
   processSequence: function (sequence, isFirstFrame) {
-    var i = 0, len = sequence.transforms.length, _mdf = isFirstFrame;
+    var i = 0,
+      len = sequence.transforms.length,
+      _mdf = isFirstFrame;
     while (i < len && !isFirstFrame) {
       if (sequence.transforms[i].transform.mProps._mdf) {
         _mdf = true;
@@ -43,7 +46,8 @@
     sequence._mdf = _mdf;
   },
   processSequences: function (isFirstFrame) {
-    var i, len = this.sequenceList.length;
+    var i,
+      len = this.sequenceList.length;
     for (i = 0; i < len; i += 1) {
       this.processSequence(this.sequenceList[i], isFirstFrame);
     }
diff --git a/player/js/elements/htmlElements/HCameraElement.js b/player/js/elements/htmlElements/HCameraElement.js
index 5bdfbb9..e726a2e 100644
--- a/player/js/elements/htmlElements/HCameraElement.js
+++ b/player/js/elements/htmlElements/HCameraElement.js
@@ -15,7 +15,8 @@
     this.a = getProp(this, data.ks.a, 1, 0, this);
   }
   if (data.ks.or.k.length && data.ks.or.k[0].to) {
-    var i, len = data.ks.or.k.length;
+    var i,
+      len = data.ks.or.k.length;
     for (i = 0; i < len; i += 1) {
       data.ks.or.k[i].to = null;
       data.ks.or.k[i].ti = null;
@@ -38,7 +39,9 @@
 extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);
 
 HCameraElement.prototype.setup = function () {
-  var i, len = this.comp.threeDElements.length, comp;
+  var i,
+    len = this.comp.threeDElements.length,
+    comp;
   for (i = 0; i < len; i += 1) {
     // [perspectiveElem,container]
     comp = this.comp.threeDElements[i];
@@ -58,7 +61,8 @@
 
 HCameraElement.prototype.renderFrame = function () {
   var _mdf = this._isFirstFrame;
-  var i, len;
+  var i,
+    len;
   if (this.hierarchy) {
     len = this.hierarchy.length;
     for (i = 0; i < len; i += 1) {
diff --git a/player/js/elements/htmlElements/HShapeElement.js b/player/js/elements/htmlElements/HShapeElement.js
index 7d2fe07..ac8f3b7 100644
--- a/player/js/elements/htmlElements/HShapeElement.js
+++ b/player/js/elements/htmlElements/HShapeElement.js
@@ -49,7 +49,8 @@
 };
 
 HShapeElement.prototype.getTransformedPoint = function (transformers, point) {
-  var i, len = transformers.length;
+  var i,
+    len = transformers.length;
   for (i = 0; i < len; i += 1) {
     point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);
   }
@@ -59,7 +60,13 @@
 HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {
   var shape = item.sh.v;
   var transformers = item.transformers;
-  var i, len = shape._length, vPoint, oPoint, nextIPoint, nextVPoint, bounds;
+  var i,
+    len = shape._length,
+    vPoint,
+    oPoint,
+    nextIPoint,
+    nextVPoint,
+    bounds;
   if (len <= 1) {
     return;
   }
@@ -156,7 +163,9 @@
 };
 
 HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {
-  var i, len = itemsData.length, path;
+  var i,
+    len = itemsData.length,
+    path;
   for (i = 0; i < len; i += 1) {
     if (itemsData[i] && itemsData[i].sh) {
       this.calculateShapeBoundingBox(itemsData[i], boundingBox);
diff --git a/player/js/elements/htmlElements/HTextElement.js b/player/js/elements/htmlElements/HTextElement.js
index ae34d3b..733334c 100644
--- a/player/js/elements/htmlElements/HTextElement.js
+++ b/player/js/elements/htmlElements/HTextElement.js
@@ -49,18 +49,23 @@
       this.innerElem.className = fontData.fClass;
     } else {
       innerElemStyle.fontFamily = fontData.fFamily;
-      var fWeight = documentData.fWeight, fStyle = documentData.fStyle;
+      var fWeight = documentData.fWeight,
+        fStyle = documentData.fStyle;
       innerElemStyle.fontStyle = fStyle;
       innerElemStyle.fontWeight = fWeight;
     }
   }
-  var i, len;
+  var i,
+    len;
 
   var letters = documentData.l;
   len = letters.length;
-  var tSpan, tParent, tCont;
+  var tSpan,
+    tParent,
+    tCont;
   var matrixHelper = this.mHelper;
-  var shapes, shapeStr = '';
+  var shapes,
+    shapeStr = '';
   var cnt = 0;
   for (i = 0; i < len; i += 1) {
     if (this.globalData.fontManager.chars) {
@@ -176,13 +181,17 @@
   if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) {
     return;
   }
-  var i, len, count = 0;
+  var i,
+    len,
+    count = 0;
   var renderedLetters = this.textAnimator.renderedLetters;
 
   var letters = this.textProperty.currentData.l;
 
   len = letters.length;
-  var renderedLetter, textSpan, textPath;
+  var renderedLetter,
+    textSpan,
+    textPath;
   for (i = 0; i < len; i += 1) {
     if (letters[i].n) {
       count += 1;
diff --git a/player/js/elements/svgElements/SVGBaseElement.js b/player/js/elements/svgElements/SVGBaseElement.js
index 5e6ce6c..b8d308e 100644
--- a/player/js/elements/svgElements/SVGBaseElement.js
+++ b/player/js/elements/svgElements/SVGBaseElement.js
@@ -12,7 +12,9 @@
     this._sizeChanged = false;
     var layerElementParent = null;
     // If this layer acts as a mask for the following layer
-    var filId, fil, gg;
+    var filId,
+      fil,
+      gg;
     if (this.data.td) {
       if (this.data.td == 3 || this.data.td == 1) {
         var masker = createNS('mask');
diff --git a/player/js/elements/svgElements/SVGEffects.js b/player/js/elements/svgElements/SVGEffects.js
index 94d8b68..997c5e2 100644
--- a/player/js/elements/svgElements/SVGEffects.js
+++ b/player/js/elements/svgElements/SVGEffects.js
@@ -1,5 +1,6 @@
 function SVGEffects(elem) {
-  var i, len = elem.data.ef ? elem.data.ef.length : 0;
+  var i,
+    len = elem.data.ef ? elem.data.ef.length : 0;
   var filId = createElementID();
   var fil = filtersFactory.createFilter(filId);
   var count = 0;
@@ -45,7 +46,8 @@
 }
 
 SVGEffects.prototype.renderFrame = function (_isFirstFrame) {
-  var i, len = this.filters.length;
+  var i,
+    len = this.filters.length;
   for (i = 0; i < len; i += 1) {
     this.filters[i].renderFrame(_isFirstFrame);
   }
diff --git a/player/js/elements/svgElements/SVGShapeElement.js b/player/js/elements/svgElements/SVGShapeElement.js
index 1d0fc4d..c8a7043 100644
--- a/player/js/elements/svgElements/SVGShapeElement.js
+++ b/player/js/elements/svgElements/SVGShapeElement.js
@@ -38,9 +38,13 @@
 This method searches for multiple shapes that affect a single element and one of them is animated
 */
 SVGShapeElement.prototype.filterUniqueShapes = function () {
-  var i, len = this.shapes.length, shape;
-  var j, jLen = this.stylesList.length;
-  var style, count = 0;
+  var i,
+    len = this.shapes.length,
+    shape;
+  var j,
+    jLen = this.stylesList.length;
+  var style,
+    count = 0;
   var tempShapes = [];
   var areAnimated = false;
   for (j = 0; j < jLen; j += 1) {
@@ -61,7 +65,8 @@
 };
 
 SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {
-  var i, len = shapes.length;
+  var i,
+    len = shapes.length;
   for (i = 0; i < len; i += 1) {
     shapes[i].setAsAnimated();
   }
@@ -154,7 +159,8 @@
 };
 
 SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {
-  var i = 0, len = this.animatedContents.length;
+  var i = 0,
+    len = this.animatedContents.length;
   while (i < len) {
     if (this.animatedContents[i].element === element) {
       return;
@@ -170,7 +176,8 @@
 
 SVGShapeElement.prototype.setElementStyles = function (elementData) {
   var arr = elementData.styles;
-  var j, jLen = this.stylesList.length;
+  var j,
+    jLen = this.stylesList.length;
   for (j = 0; j < jLen; j += 1) {
     if (!this.stylesList[j].closed) {
       arr.push(this.stylesList[j]);
@@ -180,7 +187,8 @@
 
 SVGShapeElement.prototype.reloadShapes = function () {
   this._isFirstFrame = true;
-  var i, len = this.itemsData.length;
+  var i,
+    len = this.itemsData.length;
   for (i = 0; i < len; i += 1) {
     this.prevViewData[i] = this.itemsData[i];
   }
@@ -195,9 +203,16 @@
 
 SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {
   var ownTransformers = [].concat(transformers);
-  var i, len = arr.length - 1;
-  var j, jLen;
-  var ownStyles = [], ownModifiers = [], styleOb, currentTransform, modifier, processedPos;
+  var i,
+    len = arr.length - 1;
+  var j,
+    jLen;
+  var ownStyles = [],
+    ownModifiers = [],
+    styleOb,
+    currentTransform,
+    modifier,
+    processedPos;
   for (i = len; i >= 0; i -= 1) {
     processedPos = this.searchProcessedElement(arr[i]);
     if (!processedPos) {
@@ -277,7 +292,8 @@
 
 SVGShapeElement.prototype.renderInnerContent = function () {
   this.renderModifiers();
-  var i, len = this.stylesList.length;
+  var i,
+    len = this.stylesList.length;
   for (i = 0; i < len; i += 1) {
     this.stylesList[i].reset();
   }
@@ -296,7 +312,8 @@
 };
 
 SVGShapeElement.prototype.renderShape = function () {
-  var i, len = this.animatedContents.length;
+  var i,
+    len = this.animatedContents.length;
   var animatedContent;
   for (i = 0; i < len; i += 1) {
     animatedContent = this.animatedContents[i];
diff --git a/player/js/elements/svgElements/SVGTextElement.js b/player/js/elements/svgElements/SVGTextElement.js
index 11b75e8..9b217a7 100644
--- a/player/js/elements/svgElements/SVGTextElement.js
+++ b/player/js/elements/svgElements/SVGTextElement.js
@@ -13,8 +13,10 @@
 };
 
 SVGTextElement.prototype.buildTextContents = function (textArray) {
-  var i = 0, len = textArray.length;
-  var textContents = [], currentTextContent = '';
+  var i = 0,
+    len = textArray.length;
+  var textContents = [],
+    currentTextContent = '';
   while (i < len) {
     if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {
       textContents.push(currentTextContent);
@@ -29,7 +31,8 @@
 };
 
 SVGTextElement.prototype.buildNewText = function () {
-  var i, len;
+  var i,
+    len;
 
   var documentData = this.textProperty.currentData;
   this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);
@@ -48,7 +51,8 @@
     this.layerElement.setAttribute('class', fontData.fClass);
   } else {
     this.layerElement.setAttribute('font-family', fontData.fFamily);
-    var fWeight = documentData.fWeight, fStyle = documentData.fStyle;
+    var fWeight = documentData.fWeight,
+      fStyle = documentData.fStyle;
     this.layerElement.setAttribute('font-style', fStyle);
     this.layerElement.setAttribute('font-weight', fWeight);
   }
@@ -60,8 +64,12 @@
 
   var tSpan;
   var matrixHelper = this.mHelper;
-  var shapes, shapeStr = '', singleShape = this.data.singleShape;
-  var xPos = 0, yPos = 0, firstLine = true;
+  var shapes,
+    shapeStr = '',
+    singleShape = this.data.singleShape;
+  var xPos = 0,
+    yPos = 0,
+    firstLine = true;
   var trackingOffset = documentData.tr * .001 * documentData.finalSize;
   if (singleShape && !usesGlyphs && !documentData.sz) {
     var tElement = this.textContainer;
@@ -96,7 +104,8 @@
     this.layerElement.appendChild(tElement);
   } else {
     var cachedSpansLength = this.textSpans.length;
-    var shapeData, charData;
+    var shapeData,
+      charData;
     for (i = 0; i < len; i += 1) {
       if (!usesGlyphs || !singleShape || i === 0) {
         tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs ? 'path' : 'text');
@@ -175,13 +184,15 @@
     this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
     if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {
       this._sizeChanged = true;
-      var i, len;
+      var i,
+        len;
       var renderedLetters = this.textAnimator.renderedLetters;
 
       var letters = this.textProperty.currentData.l;
 
       len = letters.length;
-      var renderedLetter, textSpan;
+      var renderedLetter,
+        textSpan;
       for (i = 0; i < len; i += 1) {
         if (letters[i].n) {
           continue;
diff --git a/player/js/elements/svgElements/effects/SVGMatte3Effect.js b/player/js/elements/svgElements/effects/SVGMatte3Effect.js
index d0eb795..a486293 100644
--- a/player/js/elements/svgElements/effects/SVGMatte3Effect.js
+++ b/player/js/elements/svgElements/effects/SVGMatte3Effect.js
@@ -12,7 +12,8 @@
 }
 
 SVGMatte3Effect.prototype.findSymbol = function (mask) {
-  var i = 0, len = _svgMatteSymbols.length;
+  var i = 0,
+    len = _svgMatteSymbols.length;
   while (i < len) {
     if (_svgMatteSymbols[i] === mask) {
       return _svgMatteSymbols[i];
@@ -28,7 +29,8 @@
     return;
   }
   var children = parentNode.children;
-  var i = 0, len = children.length;
+  var i = 0,
+    len = children.length;
   while (i < len) {
     if (children[i] === mask.layerElement) {
       break;
@@ -74,7 +76,8 @@
 SVGMatte3Effect.prototype.initialize = function () {
   var ind = this.filterManager.effectElements[0].p.v;
   var elements = this.elem.comp.elements;
-  var i = 0, len = elements.length;
+  var i = 0,
+    len = elements.length;
   while (i < len) {
     if (elements[i] && elements[i].data.ind === ind) {
       this.setElementAsMask(this.elem, elements[i]);
diff --git a/player/js/elements/svgElements/effects/SVGProLevelsFilter.js b/player/js/elements/svgElements/effects/SVGProLevelsFilter.js
index 8646761..82c54f8 100644
--- a/player/js/elements/svgElements/effects/SVGProLevelsFilter.js
+++ b/player/js/elements/svgElements/effects/SVGProLevelsFilter.js
@@ -2,7 +2,9 @@
   this.filterManager = filterManager;
   var effectElements = this.filterManager.effectElements;
   var feComponentTransfer = createNS('feComponentTransfer');
-  var feFuncR, feFuncG, feFuncB;
+  var feFuncR,
+    feFuncG,
+    feFuncB;
 
   if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {
     this.feFuncR = this.createFeFunc('feFuncR', feComponentTransfer);
@@ -67,7 +69,10 @@
 
 SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {
   if (forceRender || this.filterManager._mdf) {
-    var val, cnt, perc, bezier;
+    var val,
+      cnt,
+      perc,
+      bezier;
     var effectElements = this.filterManager.effectElements;
     if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {
       val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);
diff --git a/player/js/elements/svgElements/effects/SVGStrokeEffect.js b/player/js/elements/svgElements/effects/SVGStrokeEffect.js
index 5842560..884d38d 100644
--- a/player/js/elements/svgElements/effects/SVGStrokeEffect.js
+++ b/player/js/elements/svgElements/effects/SVGStrokeEffect.js
@@ -7,7 +7,10 @@
 
 SVGStrokeEffect.prototype.initialize = function () {
   var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;
-  var path, groupPath, i, len;
+  var path,
+    groupPath,
+    i,
+    len;
   if (this.filterManager.effectElements[1].p.v === 1) {
     len = this.elem.maskManager.masksProperties.length;
     i = 0;
@@ -58,8 +61,10 @@
   if (!this.initialized) {
     this.initialize();
   }
-  var i, len = this.paths.length;
-  var mask, path;
+  var i,
+    len = this.paths.length;
+  var mask,
+    path;
   for (i = 0; i < len; i += 1) {
     if (this.paths[i].m === -1) {
       continue;
diff --git a/player/js/mask.js b/player/js/mask.js
index 573d119..2f71512 100644
--- a/player/js/mask.js
+++ b/player/js/mask.js
@@ -6,17 +6,24 @@
   this.masksProperties = this.data.masksProperties || [];
   this.maskElement = null;
   var defs = this.globalData.defs;
-  var i, len = this.masksProperties ? this.masksProperties.length : 0;
+  var i,
+    len = this.masksProperties ? this.masksProperties.length : 0;
   this.viewData = createSizedArray(len);
   this.solidPath = '';
 
-  var path, properties = this.masksProperties;
+  var path,
+    properties = this.masksProperties;
   var count = 0;
   var currentMasks = [];
-  var j, jLen;
+  var j,
+    jLen;
   var layerId = createElementID();
-  var rect, expansor, feMorph, x;
-  var maskType = 'clipPath', maskRef = 'clip-path';
+  var rect,
+    expansor,
+    feMorph,
+    x;
+  var maskType = 'clipPath',
+    maskRef = 'clip-path';
   for (i = 0; i < len; i++) {
     if ((properties[i].mode !== 'a' && properties[i].mode !== 'n') || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {
       maskType = 'mask';
@@ -137,7 +144,8 @@
 
 MaskElement.prototype.renderFrame = function (isFirstFrame) {
   var finalMat = this.element.finalTransform.mat;
-  var i, len = this.masksProperties.length;
+  var i,
+    len = this.masksProperties.length;
   for (i = 0; i < len; i++) {
     if (this.viewData[i].prop._mdf || isFirstFrame) {
       this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);
@@ -184,7 +192,8 @@
 
 MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {
   var pathString = ' M' + pathNodes.v[0][0] + ',' + pathNodes.v[0][1];
-  var i, len;
+  var i,
+    len;
   len = pathNodes._length;
   for (i = 1; i < len; i += 1) {
     // pathString += " C"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + " "+pathNodes.i[i][0]+','+pathNodes.i[i][1] + " "+pathNodes.v[i][0]+','+pathNodes.v[i][1];
diff --git a/player/js/renderers/BaseRenderer.js b/player/js/renderers/BaseRenderer.js
index 6e38c89..6392317 100644
--- a/player/js/renderers/BaseRenderer.js
+++ b/player/js/renderers/BaseRenderer.js
@@ -1,6 +1,8 @@
 function BaseRenderer() {}
 BaseRenderer.prototype.checkLayers = function (num) {
-  var i, len = this.layers.length, data;
+  var i,
+    len = this.layers.length,
+    data;
   this.completeLayers = true;
   for (i = len - 1; i >= 0; i--) {
     if (!this.elements[i]) {
@@ -46,7 +48,8 @@
 };
 
 BaseRenderer.prototype.buildAllItems = function () {
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   for (i = 0; i < len; i += 1) {
     this.buildItem(i);
   }
@@ -55,8 +58,10 @@
 
 BaseRenderer.prototype.includeLayers = function (newLayers) {
   this.completeLayers = false;
-  var i, len = newLayers.length;
-  var j, jLen = this.layers.length;
+  var i,
+    len = newLayers.length;
+  var j,
+    jLen = this.layers.length;
   for (i = 0; i < len; i += 1) {
     j = 0;
     while (j < jLen) {
@@ -81,7 +86,8 @@
 BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {
   var elements = this.elements;
   var layers = this.layers;
-  var i = 0, len = layers.length;
+  var i = 0,
+    len = layers.length;
   while (i < len) {
     if (layers[i].ind == parentName) {
       if (!elements[i] || elements[i] === true) {
@@ -106,7 +112,8 @@
 };
 
 BaseRenderer.prototype.searchExtraCompositions = function (assets) {
-  var i, len = assets.length;
+  var i,
+    len = assets.length;
   for (i = 0; i < len; i += 1) {
     if (assets[i].xt) {
       var comp = this.createComp(assets[i]);
diff --git a/player/js/renderers/CanvasRenderer.js b/player/js/renderers/CanvasRenderer.js
index ffbabc3..935e5c1 100644
--- a/player/js/renderers/CanvasRenderer.js
+++ b/player/js/renderers/CanvasRenderer.js
@@ -104,7 +104,8 @@
   if (this.contextData._length <= this.contextData.cArrPos) {
     this.contextData.duplicate();
   }
-  var i, arr = this.contextData.saved[this.contextData.cArrPos];
+  var i,
+    arr = this.contextData.saved[this.contextData.cArrPos];
   for (i = 0; i < 16; i += 1) {
     arr[i] = props[i];
   }
@@ -123,7 +124,8 @@
   }
   this.contextData.cArrPos -= 1;
   var popped = this.contextData.saved[this.contextData.cArrPos];
-  var i, arr = this.contextData.cTr.props;
+  var i,
+    arr = this.contextData.cTr.props;
   for (i = 0; i < 16; i += 1) {
     arr[i] = popped[i];
   }
@@ -178,7 +180,8 @@
 
 CanvasRenderer.prototype.updateContainerSize = function () {
   this.reset();
-  var elementWidth, elementHeight;
+  var elementWidth,
+    elementHeight;
   if (this.animationItem.wrapper && this.animationItem.container) {
     elementWidth = this.animationItem.wrapper.offsetWidth;
     elementHeight = this.animationItem.wrapper.offsetHeight;
@@ -188,7 +191,8 @@
     elementWidth = this.canvasContext.canvas.width * this.renderConfig.dpr;
     elementHeight = this.canvasContext.canvas.height * this.renderConfig.dpr;
   }
-  var elementRel, animationRel;
+  var elementRel,
+    animationRel;
   if (this.renderConfig.preserveAspectRatio.indexOf('meet') !== -1 || this.renderConfig.preserveAspectRatio.indexOf('slice') !== -1) {
     var par = this.renderConfig.preserveAspectRatio.split(' ');
     var fillType = par[1] || 'meet';
@@ -250,7 +254,8 @@
   if (this.renderConfig.clearCanvas && this.animationItem.wrapper) {
     this.animationItem.wrapper.innerText = '';
   }
-  var i, len = this.layers ? this.layers.length : 0;
+  var i,
+    len = this.layers ? this.layers.length : 0;
   for (i = len - 1; i >= 0; i -= 1) {
     if (this.elements[i]) {
       this.elements[i].destroy();
@@ -274,7 +279,8 @@
 
   // console.log('--------');
   // console.log('NEW: ',num);
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   if (!this.completeLayers) {
     this.checkLayers(num);
   }
diff --git a/player/js/renderers/HybridRenderer.js b/player/js/renderers/HybridRenderer.js
index 07ae0dc..aaca5b7 100644
--- a/player/js/renderers/HybridRenderer.js
+++ b/player/js/renderers/HybridRenderer.js
@@ -49,7 +49,9 @@
       this.addTo3dContainer(newDOMElement, pos);
     } else {
       var i = 0;
-      var nextDOMElement, nextLayer, tmpDOMElement;
+      var nextDOMElement,
+        nextLayer,
+        tmpDOMElement;
       while (i < pos) {
         if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {
           nextLayer = this.elements[i];
@@ -114,7 +116,8 @@
 HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;
 
 HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {
-  var i = 0, len = this.threeDElements.length;
+  var i = 0,
+    len = this.threeDElements.length;
   while (i < len) {
     if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) {
       return this.threeDElements[i].perspectiveElem;
@@ -150,7 +153,8 @@
 };
 
 HybridRenderer.prototype.build3dContainers = function () {
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   var lastThreeDContainerData;
   var currentContainer = '';
   for (i = 0; i < len; i += 1) {
@@ -175,7 +179,8 @@
 };
 
 HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {
-  var i = 0, len = this.threeDElements.length;
+  var i = 0,
+    len = this.threeDElements.length;
   while (i < len) {
     if (pos <= this.threeDElements[i].endPos) {
       var j = this.threeDElements[i].startPos;
@@ -234,7 +239,8 @@
   }
   this.animationItem.container = null;
   this.globalData.defs = null;
-  var i, len = this.layers ? this.layers.length : 0;
+  var i,
+    len = this.layers ? this.layers.length : 0;
   for (i = 0; i < len; i++) {
     this.elements[i].destroy();
   }
@@ -248,7 +254,10 @@
   var elementHeight = this.animationItem.wrapper.offsetHeight;
   var elementRel = elementWidth / elementHeight;
   var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;
-  var sx, sy, tx, ty;
+  var sx,
+    sy,
+    tx,
+    ty;
   if (animationRel > elementRel) {
     sx = elementWidth / (this.globalData.compSize.w);
     sy = elementWidth / (this.globalData.compSize.w);
@@ -280,7 +289,8 @@
   } else {
     var cWidth = this.globalData.compSize.w;
     var cHeight = this.globalData.compSize.h;
-    var i, len = this.threeDElements.length;
+    var i,
+      len = this.threeDElements.length;
     for (i = 0; i < len; i += 1) {
       this.threeDElements[i].perspectiveElem.style.perspective = this.threeDElements[i].perspectiveElem.style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + 'px';
     }
@@ -288,7 +298,8 @@
 };
 
 HybridRenderer.prototype.searchExtraCompositions = function (assets) {
-  var i, len = assets.length;
+  var i,
+    len = assets.length;
   var floatingContainer = createTag('div');
   for (i = 0; i < len; i += 1) {
     if (assets[i].xt) {
diff --git a/player/js/renderers/SVGRenderer.js b/player/js/renderers/SVGRenderer.js
index 0bf9e99..a063ea8 100644
--- a/player/js/renderers/SVGRenderer.js
+++ b/player/js/renderers/SVGRenderer.js
@@ -141,7 +141,8 @@
   }
   this.layerElement = null;
   this.globalData.defs = null;
-  var i, len = this.layers ? this.layers.length : 0;
+  var i,
+    len = this.layers ? this.layers.length : 0;
   for (i = 0; i < len; i++) {
     if (this.elements[i]) {
       this.elements[i].destroy();
@@ -186,7 +187,8 @@
     var element = this.pendingElements.pop();
     element.checkParenting();
     if (element.data.tt) {
-      var i = 0, len = this.elements.length;
+      var i = 0,
+        len = this.elements.length;
       while (i < len) {
         if (this.elements[i] === element) {
           element.setMatte(this.elements[i - 1].layerId);
@@ -213,7 +215,8 @@
   this.globalData.frameId += 1;
   this.globalData.projectInterface.currentFrame = num;
   this.globalData._mdf = false;
-  var i, len = this.layers.length;
+  var i,
+    len = this.layers.length;
   if (!this.completeLayers) {
     this.checkLayers(num);
   }
diff --git a/player/js/utils/BaseEvent.js b/player/js/utils/BaseEvent.js
index ad65301..e8c66f6 100644
--- a/player/js/utils/BaseEvent.js
+++ b/player/js/utils/BaseEvent.js
@@ -22,7 +22,8 @@
     if (!callback) {
       this._cbs[eventName] = null;
     } else if (this._cbs[eventName]) {
-      var i = 0, len = this._cbs[eventName].length;
+      var i = 0,
+        len = this._cbs[eventName].length;
       while (i < len) {
         if (this._cbs[eventName][i] === callback) {
           this._cbs[eventName].splice(i, 1);
diff --git a/player/js/utils/DataManager.js b/player/js/utils/DataManager.js
index 843e140..013eeae 100644
--- a/player/js/utils/DataManager.js
+++ b/player/js/utils/DataManager.js
@@ -3,9 +3,14 @@
 
   function completeLayers(layers, comps, fontManager) {
     var layerData;
-    var animArray, lastFrame;
-    var i, len = layers.length;
-    var j, jLen, k, kLen;
+    var animArray,
+      lastFrame;
+    var i,
+      len = layers.length;
+    var j,
+      jLen,
+      k,
+      kLen;
     for (i = 0; i < len; i += 1) {
       layerData = layers[i];
       if (!('ks' in layerData) || layerData.completed) {
@@ -48,7 +53,8 @@
   }
 
   function findCompLayers(id, comps) {
-    var i = 0, len = comps.length;
+    var i = 0,
+      len = comps.length;
     while (i < len) {
       if (comps[i].id === id) {
         if (!comps[i].layers.__used) {
@@ -63,8 +69,10 @@
   }
 
   function completeShapes(arr) {
-    var i, len = arr.length;
-    var j, jLen;
+    var i,
+      len = arr.length;
+    var j,
+      jLen;
     var hasPaths = false;
     for (i = len - 1; i >= 0; i -= 1) {
       if (arr[i].ty == 'sh') {
@@ -101,7 +109,8 @@
   }
 
   function convertPathsToAbsoluteValues(path) {
-    var i, len = path.i.length;
+    var i,
+      len = path.i.length;
     for (i = 0; i < len; i += 1) {
       path.i[i][0] += path.v[i][0];
       path.i[i][1] += path.v[i][1];
@@ -146,7 +155,8 @@
     }
 
     function iterateLayers(layers) {
-      var i, len = layers.length;
+      var i,
+        len = layers.length;
       for (i = 0; i < len; i += 1) {
         if (layers[i].ty === 5) {
           updateTextLayer(layers[i]);
@@ -158,7 +168,8 @@
       if (checkVersion(minimumVersion, animationData.v)) {
         iterateLayers(animationData.layers);
         if (animationData.assets) {
-          var i, len = animationData.assets.length;
+          var i,
+            len = animationData.assets.length;
           for (i = 0; i < len; i += 1) {
             if (animationData.assets[i].layers) {
               iterateLayers(animationData.assets[i].layers);
@@ -173,8 +184,14 @@
     var minimumVersion = [4, 7, 99];
     return function (animationData) {
       if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {
-        var i, len = animationData.chars.length, j, jLen, k, kLen;
-        var pathData, paths;
+        var i,
+          len = animationData.chars.length,
+          j,
+          jLen,
+          k,
+          kLen;
+        var pathData,
+          paths;
         for (i = 0; i < len; i += 1) {
           if (animationData.chars[i].data && animationData.chars[i].data.shapes) {
             paths = animationData.chars[i].data.shapes[0].it;
@@ -197,8 +214,10 @@
     var minimumVersion = [4, 1, 9];
 
     function iterateShapes(shapes) {
-      var i, len = shapes.length;
-      var j, jLen;
+      var i,
+        len = shapes.length;
+      var j,
+        jLen;
       for (i = 0; i < len; i += 1) {
         if (shapes[i].ty === 'gr') {
           iterateShapes(shapes[i].it);
@@ -230,7 +249,8 @@
     }
 
     function iterateLayers(layers) {
-      var i, len = layers.length;
+      var i,
+        len = layers.length;
       for (i = 0; i < len; i += 1) {
         if (layers[i].ty === 4) {
           iterateShapes(layers[i].shapes);
@@ -242,7 +262,8 @@
       if (checkVersion(minimumVersion, animationData.v)) {
         iterateLayers(animationData.layers);
         if (animationData.assets) {
-          var i, len = animationData.assets.length;
+          var i,
+            len = animationData.assets.length;
           for (i = 0; i < len; i += 1) {
             if (animationData.assets[i].layers) {
               iterateLayers(animationData.assets[i].layers);
@@ -257,8 +278,10 @@
     var minimumVersion = [4, 4, 18];
 
     function completeClosingShapes(arr) {
-      var i, len = arr.length;
-      var j, jLen;
+      var i,
+        len = arr.length;
+      var j,
+        jLen;
       var hasPaths = false;
       for (i = len - 1; i >= 0; i -= 1) {
         if (arr[i].ty == 'sh') {
@@ -284,8 +307,12 @@
 
     function iterateLayers(layers) {
       var layerData;
-      var i, len = layers.length;
-      var j, jLen, k, kLen;
+      var i,
+        len = layers.length;
+      var j,
+        jLen,
+        k,
+        kLen;
       for (i = 0; i < len; i += 1) {
         layerData = layers[i];
         if (layerData.hasMask) {
@@ -317,7 +344,8 @@
       if (checkVersion(minimumVersion, animationData.v)) {
         iterateLayers(animationData.layers);
         if (animationData.assets) {
-          var i, len = animationData.assets.length;
+          var i,
+            len = animationData.assets.length;
           for (i = 0; i < len; i += 1) {
             if (animationData.assets[i].layers) {
               iterateLayers(animationData.assets[i].layers);
diff --git a/player/js/utils/FontManager.js b/player/js/utils/FontManager.js
index 77e597e..59341c0 100644
--- a/player/js/utils/FontManager.js
+++ b/player/js/utils/FontManager.js
@@ -13,7 +13,8 @@
 
   function trimFontOptions(font) {
     var familyArray = font.split(',');
-    var i, len = familyArray.length;
+    var i,
+      len = familyArray.length;
     var enabledFamilies = [];
     for (i = 0; i < len; i += 1) {
       if (familyArray[i] !== 'sans-serif' && familyArray[i] !== 'monospace') {
@@ -50,8 +51,10 @@
   }
 
   function checkLoadedFonts() {
-    var i, len = this.fonts.length;
-    var node, w;
+    var i,
+      len = this.fonts.length;
+    var node,
+      w;
     var loadedCount = len;
     for (i = 0; i < len; i += 1) {
       if (this.fonts[i].loaded) {
@@ -121,7 +124,8 @@
     }
 
     var fontArr = fontData.list;
-    var i, len = fontArr.length;
+    var i,
+      len = fontArr.length;
     var _pendingFonts = len;
     for (i = 0; i < len; i += 1) {
       var shouldLoadFont = true;
@@ -207,8 +211,11 @@
     if (!this.chars) {
       this.chars = [];
     }
-    var i, len = chars.length;
-    var j, jLen = this.chars.length, found;
+    var i,
+      len = chars.length;
+    var j,
+      jLen = this.chars.length,
+      found;
     for (i = 0; i < len; i += 1) {
       j = 0;
       found = false;
@@ -226,7 +233,8 @@
   }
 
   function getCharData(char, style, font) {
-    var i = 0, len = this.chars.length;
+    var i = 0,
+      len = this.chars.length;
     while (i < len) {
       if (this.chars[i].ch === char && this.chars[i].style === style && this.chars[i].fFamily === font) {
         return this.chars[i];
@@ -268,7 +276,8 @@
   }
 
   function getFontByName(name) {
-    var i = 0, len = this.fonts.length;
+    var i = 0,
+      len = this.fonts.length;
     while (i < len) {
       if (this.fonts[i].fName === name) {
         return this.fonts[i];
diff --git a/player/js/utils/PropertyFactory.js b/player/js/utils/PropertyFactory.js
index 56ea625..cbc4d95 100644
--- a/player/js/utils/PropertyFactory.js
+++ b/player/js/utils/PropertyFactory.js
@@ -10,8 +10,10 @@
     }
     var iterationIndex = caching.lastIndex;
     var i = iterationIndex;
-    var len = this.keyframes.length - 1, flag = true;
-    var keyData, nextKeyData;
+    var len = this.keyframes.length - 1,
+      flag = true;
+    var keyData,
+      nextKeyData;
 
     while (flag) {
       keyData = this.keyframes[i];
@@ -35,7 +37,12 @@
       }
     }
 
-    var k, kLen, perc, jLen, j, fnc;
+    var k,
+      kLen,
+      perc,
+      jLen,
+      j,
+      fnc;
     var nextKeyTime = nextKeyData.t - offsetTime;
     var keyTime = keyData.t - offsetTime;
     var endValue;
@@ -93,7 +100,11 @@
         caching._lastKeyframeIndex = i;
       }
     } else {
-      var outX, outY, inX, inY, keyValue;
+      var outX,
+        outY,
+        inX,
+        inY,
+        keyValue;
       len = keyData.s.length;
       endValue = nextKeyData.s || keyData.e;
       if (this.sh && keyData.h !== 1) {
@@ -165,10 +176,20 @@
   // based on @Toji's https://github.com/toji/gl-matrix/
   function slerp(a, b, t) {
     var out = [];
-    var ax = a[0], ay = a[1], az = a[2], aw = a[3],
-      bx = b[0], by = b[1], bz = b[2], bw = b[3];
+    var ax = a[0],
+      ay = a[1],
+      az = a[2],
+      aw = a[3],
+      bx = b[0],
+      by = b[1],
+      bz = b[2],
+      bw = b[3];
 
-    var omega, cosom, sinom, scale0, scale1;
+    var omega,
+      cosom,
+      sinom,
+      scale0,
+      scale1;
 
     cosom = ax * bx + ay * by + az * bz + aw * bw;
     if (cosom < 0.0) {
@@ -252,7 +273,8 @@
         this._mdf = true;
       }
     } else {
-      var i = 0, len = this.v.length;
+      var i = 0,
+        len = this.v.length;
       while (i < len) {
         multipliedValue = val[i] * this.mult;
         if (math_abs(this.v[i] - multipliedValue) > 0.00001) {
@@ -275,7 +297,8 @@
     this.lock = true;
     this._mdf = this._isFirstFrame;
     var multipliedValue;
-    var i, len = this.effectsSequence.length;
+    var i,
+      len = this.effectsSequence.length;
     var finalValue = this.kf ? this.pv : this.data.k;
     for (i = 0; i < len; i += 1) {
       finalValue = this.effectsSequence[i](finalValue);
@@ -322,7 +345,8 @@
     this.k = false;
     this.kf = false;
     this.frameId = -1;
-    var i, len = data.k.length;
+    var i,
+      len = data.k.length;
     this.v = createTypedArray('float32', len);
     this.pv = createTypedArray('float32', len);
     var arr = createTypedArray('float32', len);
@@ -363,8 +387,12 @@
 
   function KeyframedMultidimensionalProperty(elem, data, mult, container) {
     this.propType = 'multidimensional';
-    var i, len = data.k.length;
-    var s, e, to, ti;
+    var i,
+      len = data.k.length;
+    var s,
+      e,
+      to,
+      ti;
     for (i = 0; i < len - 1; i += 1) {
       if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {
         s = data.k[i].s;
diff --git a/player/js/utils/TransformProperty.js b/player/js/utils/TransformProperty.js
index 39a48d9..af12af2 100644
--- a/player/js/utils/TransformProperty.js
+++ b/player/js/utils/TransformProperty.js
@@ -62,7 +62,8 @@
           .rotateX(this.or.v[0]);
       }
       if (this.autoOriented) {
-        var v1, v2;
+        var v1,
+          v2;
         frameRate = this.elem.globalData.frameRate;
         if (this.p && this.p.keyframes && this.p.getValueAtTime) {
           if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {
@@ -78,7 +79,8 @@
         } else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {
           v1 = [];
           v2 = [];
-          var px = this.px, py = this.py;
+          var px = this.px,
+            py = this.py;
           if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {
             v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);
             v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);
@@ -181,7 +183,8 @@
       this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);
       this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);
       if (data.or.k[0].ti) {
-        var i, len = data.or.k.length;
+        var i,
+          len = data.or.k.length;
         for (i = 0; i < len; i += 1) {
           data.or.k[i].to = data.or.k[i].ti = null;
         }
diff --git a/player/js/utils/audio/AudioController.js b/player/js/utils/audio/AudioController.js
index 94ab5ea..051f0dd 100644
--- a/player/js/utils/audio/AudioController.js
+++ b/player/js/utils/audio/AudioController.js
@@ -11,19 +11,22 @@
       this.audios.push(audio);
     },
     pause: function () {
-      var i, len = this.audios.length;
+      var i,
+        len = this.audios.length;
       for (i = 0; i < len; i += 1) {
         this.audios[i].pause();
       }
     },
     resume: function () {
-      var i, len = this.audios.length;
+      var i,
+        len = this.audios.length;
       for (i = 0; i < len; i += 1) {
         this.audios[i].resume();
       }
     },
     setRate: function (rateValue) {
-      var i, len = this.audios.length;
+      var i,
+        len = this.audios.length;
       for (i = 0; i < len; i += 1) {
         this.audios[i].setRate(rateValue);
       }
@@ -64,7 +67,8 @@
       return this._volume;
     },
     _updateVolume: function () {
-      var i, len = this.audios.length;
+      var i,
+        len = this.audios.length;
       for (i = 0; i < len; i += 1) {
         this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));
       }
diff --git a/player/js/utils/bez.js b/player/js/utils/bez.js
index 46848fe..c7b6811 100644
--- a/player/js/utils/bez.js
+++ b/player/js/utils/bez.js
@@ -33,10 +33,14 @@
     return function (pt1, pt2, pt3, pt4) {
       var curveSegments = defaultCurveSegments;
       var k;
-      var i, len;
-      var ptCoord, perc, addedLength = 0;
+      var i,
+        len;
+      var ptCoord,
+        perc,
+        addedLength = 0;
       var ptDistance;
-      var point = [], lastPoint = [];
+      var point = [],
+        lastPoint = [];
       var lengthData = bezier_length_pool.newElement();
       len = pt3.length;
       for (k = 0; k < curveSegments; k += 1) {
@@ -68,7 +72,8 @@
     var pathV = shapeData.v;
     var pathO = shapeData.o;
     var pathI = shapeData.i;
-    var i, len = shapeData._length;
+    var i,
+      len = shapeData._length;
     var lengths = segmentsLength.lengths;
     var totalLength = 0;
     for (i = 0; i < len - 1; i += 1) {
@@ -100,10 +105,15 @@
       var bezierName = (pt1[0] + '_' + pt1[1] + '_' + pt2[0] + '_' + pt2[1] + '_' + pt3[0] + '_' + pt3[1] + '_' + pt4[0] + '_' + pt4[1]).replace(/\./g, 'p');
       if (!storedData[bezierName]) {
         var curveSegments = defaultCurveSegments;
-        var k, i, len;
-        var ptCoord, perc, addedLength = 0;
+        var k,
+          i,
+          len;
+        var ptCoord,
+          perc,
+          addedLength = 0;
         var ptDistance;
-        var point, lastPoint = null;
+        var point,
+          lastPoint = null;
         if (pt1.length === 2 && (pt1[0] != pt2[0] || pt1[1] != pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {
           curveSegments = 2;
         }
@@ -182,7 +192,8 @@
     var t0 = getDistancePerc(startPerc, bezierData);
     endPerc = endPerc > 1 ? 1 : endPerc;
     var t1 = getDistancePerc(endPerc, bezierData);
-    var i, len = pt1.length;
+    var i,
+      len = pt1.length;
     var u0 = 1 - t0;
     var u1 = 1 - t1;
     var u0u0u0 = u0 * u0 * u0;
diff --git a/player/js/utils/common.js b/player/js/utils/common.js
index b9f2db9..e0709d9 100644
--- a/player/js/utils/common.js
+++ b/player/js/utils/common.js
@@ -15,7 +15,8 @@
 var BMMath = {};
 (function () {
   var propertyNames = ['abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2'];
-  var i, len = propertyNames.length;
+  var i,
+    len = propertyNames.length;
   for (i = 0; i < len; i += 1) {
     BMMath[propertyNames[i]] = Math[propertyNames[i]];
   }
@@ -28,7 +29,8 @@
   var tOfVal = typeof val;
   if (tOfVal === 'object' && val.length) {
     var absArr = createSizedArray(val.length);
-    var i, len = val.length;
+    var i,
+      len = val.length;
     for (i = 0; i < len; i += 1) {
       absArr[i] = Math.abs(val[i]);
     }
@@ -116,7 +118,14 @@
 }());
 
 function HSVtoRGB(h, s, v) {
-  var r, g, b, i, f, p, q, t;
+  var r,
+    g,
+    b,
+    i,
+    f,
+    p,
+    q,
+    t;
   i = Math.floor(h * 6);
   f = h * 6 - i;
   p = v * (1 - s);
@@ -137,7 +146,8 @@
 }
 
 function RGBtoHSV(r, g, b) {
-  var max = Math.max(r, g, b), min = Math.min(r, g, b),
+  var max = Math.max(r, g, b),
+    min = Math.min(r, g, b),
     d = max - min,
     h,
     s = (max === 0 ? 0 : d / max),
diff --git a/player/js/utils/expressions/CompInterface.js b/player/js/utils/expressions/CompInterface.js
index db3f67f..3804069 100644
--- a/player/js/utils/expressions/CompInterface.js
+++ b/player/js/utils/expressions/CompInterface.js
@@ -1,7 +1,8 @@
 var CompExpressionInterface = (function () {
   return function (comp) {
     function _thisLayerFunction(name) {
-      var i = 0, len = comp.layers.length;
+      var i = 0,
+        len = comp.layers.length;
       while (i < len) {
         if (comp.layers[i].nm === name || comp.layers[i].ind === name) {
           return comp.elements[i].layerInterface;
diff --git a/player/js/utils/expressions/EffectInterface.js b/player/js/utils/expressions/EffectInterface.js
index dbcd865..324b16e 100644
--- a/player/js/utils/expressions/EffectInterface.js
+++ b/player/js/utils/expressions/EffectInterface.js
@@ -7,7 +7,8 @@
     if (elem.effectsManager) {
       var effectElements = [];
       var effectsData = elem.data.ef;
-      var i, len = elem.effectsManager.effectElements.length;
+      var i,
+        len = elem.effectsManager.effectElements.length;
       for (i = 0; i < len; i += 1) {
         effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));
       }
@@ -36,7 +37,9 @@
 
   function createGroupInterface(data, elements, propertyGroup, elem) {
     function groupInterface(name) {
-      var effects = data.ef, i = 0, len = effects.length;
+      var effects = data.ef,
+        i = 0,
+        len = effects.length;
       while (i < len) {
         if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {
           if (effects[i].ty === 5) {
@@ -51,7 +54,8 @@
     var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);
 
     var effectElements = [];
-    var i, len = data.ef.length;
+    var i,
+      len = data.ef.length;
     for (i = 0; i < len; i += 1) {
       if (data.ef[i].ty === 5) {
         effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));
diff --git a/player/js/utils/expressions/ExpressionManager.js b/player/js/utils/expressions/ExpressionManager.js
index 0769e3e..9356181 100644
--- a/player/js/utils/expressions/ExpressionManager.js
+++ b/player/js/utils/expressions/ExpressionManager.js
@@ -19,7 +19,8 @@
       return -a;
     }
     if ($bm_isInstanceOfArray(a)) {
-      var i, lenA = a.length;
+      var i,
+        lenA = a.length;
       var retArr = [];
       for (i = 0; i < lenA; i += 1) {
         retArr[i] = -a[i];
@@ -56,7 +57,9 @@
       return b;
     }
     if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {
-      var i = 0, lenA = a.length, lenB = b.length;
+      var i = 0,
+        lenA = a.length,
+        lenB = b.length;
       var retArr = [];
       while (i < lenA || i < lenB) {
         if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {
@@ -95,7 +98,9 @@
       return b;
     }
     if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {
-      var i = 0, lenA = a.length, lenB = b.length;
+      var i = 0,
+        lenA = a.length,
+        lenB = b.length;
       var retArr = [];
       while (i < lenA || i < lenB) {
         if ((typeof a[i] === 'number' || a[i] instanceof Number) && (typeof b[i] === 'number' || b[i] instanceof Number)) {
@@ -118,7 +123,8 @@
       return a * b;
     }
 
-    var i, len;
+    var i,
+      len;
     if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {
       len = a.length;
       arr = createTypedArray('float32', len);
@@ -145,7 +151,8 @@
     if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
       return a / b;
     }
-    var i, len;
+    var i,
+      len;
     if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {
       len = a.length;
       arr = createTypedArray('float32', len);
@@ -208,7 +215,8 @@
     if (!arr2) {
       arr2 = helperLengthArray;
     }
-    var i, len = Math.min(arr1.length, arr2.length);
+    var i,
+      len = Math.min(arr1.length, arr2.length);
     var addedLength = 0;
     for (i = 0; i < len; i += 1) {
       addedLength += Math.pow(arr2[i] - arr1[i], 2);
@@ -222,8 +230,11 @@
 
   function rgbToHsl(val) {
     var r = val[0]; var g = val[1]; var b = val[2];
-    var max = Math.max(r, g, b), min = Math.min(r, g, b);
-    var h, s, l = (max + min) / 2;
+    var max = Math.max(r, g, b),
+      min = Math.min(r, g, b);
+    var h,
+      s,
+      l = (max + min) / 2;
 
     if (max == min) {
       h = s = 0; // achromatic
@@ -256,7 +267,9 @@
     var s = val[1];
     var l = val[2];
 
-    var r, g, b;
+    var r,
+      g,
+      b;
 
     if (s === 0) {
       r = g = b = l; // achromatic
@@ -292,7 +305,8 @@
     if (!value1.length) {
       return value1 + (value2 - value1) * perc;
     }
-    var i, len = value1.length;
+    var i,
+      len = value1.length;
     var arr = createTypedArray('float32', len);
     for (i = 0; i < len; i += 1) {
       arr[i] = value1[i] + (value2[i] - value1[i]) * perc;
@@ -310,7 +324,8 @@
       }
     }
     if (max.length) {
-      var i, len = max.length;
+      var i,
+        len = max.length;
       if (!min) {
         min = createTypedArray('float32', len);
       }
@@ -329,10 +344,13 @@
   }
 
   function createPath(points, inTangents, outTangents, closed) {
-    var i, len = points.length;
+    var i,
+      len = points.length;
     var path = shape_pool.newElement();
     path.setPathData(!!closed, len);
-    var arrPlaceholder = [0, 0], inVertexPoint, outVertexPoint;
+    var arrPlaceholder = [0, 0],
+      inVertexPoint,
+      outVertexPoint;
     for (i = 0; i < len; i += 1) {
       inVertexPoint = (inTangents && inTangents[i]) ? inTangents[i] : arrPlaceholder;
       outVertexPoint = (outTangents && outTangents[i]) ? outTangents[i] : arrPlaceholder;
@@ -346,7 +364,10 @@
     var needsVelocity = /velocity(?![\w\d])/.test(val);
     var _needsRandom = val.indexOf('random') !== -1;
     var elemType = elem.data.ty;
-    var transform, $bm_transform, content, effect;
+    var transform,
+      $bm_transform,
+      content,
+      effect;
     var thisProperty = property;
     thisProperty.valueAtTime = thisProperty.getValueAtTime;
     Object.defineProperty(thisProperty, 'value', {
@@ -361,11 +382,29 @@
     var width = elem.data.sw ? elem.data.sw : 0;
     var height = elem.data.sh ? elem.data.sh : 0;
     var name = elem.data.nm;
-    var loopIn, loop_in, loopOut, loop_out, smooth;
-    var toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime;
+    var loopIn,
+      loop_in,
+      loopOut,
+      loop_out,
+      smooth;
+    var toWorld,
+      fromWorld,
+      fromComp,
+      toComp,
+      fromCompToSurface,
+      position,
+      rotation,
+      anchorPoint,
+      scale,
+      thisLayer,
+      thisComp,
+      mask,
+      valueAtTime,
+      velocityAtTime;
     var __expression_functions = [];
     if (data.xf) {
-      var i, len = data.xf.length;
+      var i,
+        len = data.xf.length;
       for (i = 0; i < len; i += 1) {
         __expression_functions[i] = eval('(function(){ return ' + data.xf[i] + '}())');
       }
@@ -378,7 +417,9 @@
     var active = !this.data || this.data.hd !== true;
 
     var wiggle = function wiggle(freq, amp) {
-      var iWiggle, j, lenWiggle = this.pv.length ? this.pv.length : 1;
+      var iWiggle,
+        j,
+        lenWiggle = this.pv.length ? this.pv.length : 1;
       var addedAmps = createTypedArray('float32', lenWiggle);
       freq = 5;
       var iterations = Math.floor(time * freq);
@@ -468,7 +509,8 @@
       t = t > 1 ? 1 : t < 0 ? 0 : t;
       var mult = fn(t);
       if ($bm_isInstanceOfArray(val1)) {
-        var iKey, lenKey = val1.length;
+        var iKey,
+          lenKey = val1.length;
         var arr = createTypedArray('float32', lenKey);
         for (iKey = 0; iKey < lenKey; iKey += 1) {
           arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];
@@ -479,7 +521,10 @@
     }
 
     function nearestKey(time) {
-      var iKey, lenKey = data.k.length, index, keyTime;
+      var iKey,
+        lenKey = data.k.length,
+        index,
+        keyTime;
       if (!data.k.length || typeof (data.k[0]) === 'number') {
         index = 0;
         keyTime = 0;
@@ -519,7 +564,9 @@
     }
 
     function key(ind) {
-      var obKey, iKey, lenKey;
+      var obKey,
+        iKey,
+        lenKey;
       if (!data.k.length || typeof (data.k[0]) === 'number') {
         throw new Error('The property has no keyframe at index ' + ind);
       }
@@ -588,7 +635,13 @@
       value = valueAtTime(time);
     }
 
-    var time, velocity, value, text, textIndex, textTotal, selectorValue;
+    var time,
+      velocity,
+      value,
+      text,
+      textIndex,
+      textTotal,
+      selectorValue;
     var index = elem.data.ind;
     var hasParent = !!(elem.hierarchy && elem.hierarchy.length);
     var parent;
diff --git a/player/js/utils/expressions/ExpressionPropertyDecorator.js b/player/js/utils/expressions/ExpressionPropertyDecorator.js
index 57e2cb3..11b6592 100644
--- a/player/js/utils/expressions/ExpressionPropertyDecorator.js
+++ b/player/js/utils/expressions/ExpressionPropertyDecorator.js
@@ -10,7 +10,8 @@
     if (currentFrame <= lastKeyFrame) {
       return this.pv;
     }
-    var cycleDuration, firstKeyFrame;
+    var cycleDuration,
+      firstKeyFrame;
     if (!durationFlag) {
       if (!duration || duration > keyframes.length - 1) {
         duration = keyframes.length - 1;
@@ -25,7 +26,9 @@
       }
       firstKeyFrame = lastKeyFrame - cycleDuration;
     }
-    var i, len, ret;
+    var i,
+      len,
+      ret;
     if (type === 'pingpong') {
       var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);
       if (iterations % 2 !== 0) {
@@ -73,7 +76,8 @@
     if (currentFrame >= firstKeyFrame) {
       return this.pv;
     }
-    var cycleDuration, lastKeyFrame;
+    var cycleDuration,
+      lastKeyFrame;
     if (!durationFlag) {
       if (!duration || duration > keyframes.length - 1) {
         duration = keyframes.length - 1;
@@ -88,7 +92,9 @@
       }
       lastKeyFrame = firstKeyFrame + cycleDuration;
     }
-    var i, len, ret;
+    var i,
+      len,
+      ret;
     if (type === 'pingpong') {
       var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);
       if (iterations % 2 === 0) {
@@ -138,7 +144,8 @@
     var initFrame = currentTime - width;
     var endFrame = currentTime + width;
     var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;
-    var i = 0, j = 0;
+    var i = 0,
+      j = 0;
     var value;
     if (this.pv.length) {
       value = createTypedArray('float32', this.pv.length);
@@ -333,7 +340,8 @@
       if (time !== undefined) {
         shapePath = this.getValueAtTime(time, 0);
       }
-      var i, len = shapePath._length;
+      var i,
+        len = shapePath._length;
       var vertices = shapePath[prop];
       var points = shapePath.v;
       var arr = createSizedArray(len);
@@ -370,9 +378,12 @@
       var segmentsLength = this._segmentsLength;
       var lengths = segmentsLength.lengths;
       var lengthPos = segmentsLength.totalLength * perc;
-      var i = 0, len = lengths.length;
-      var j = 0, jLen;
-      var accumulatedLength = 0, pt;
+      var i = 0,
+        len = lengths.length;
+      var j = 0,
+        jLen;
+      var accumulatedLength = 0,
+        pt;
       while (i < len) {
         if (accumulatedLength + lengths[i].addedLength > lengthPos) {
           var initIndex = i;
diff --git a/player/js/utils/expressions/ExpressionValue.js b/player/js/utils/expressions/ExpressionValue.js
index 8ee058b..361e0fa 100644
--- a/player/js/utils/expressions/ExpressionValue.js
+++ b/player/js/utils/expressions/ExpressionValue.js
@@ -1,11 +1,15 @@
 function ExpressionValue(elementProp, mult, type) {
   mult = mult || 1;
-  var expressionValue, arrayValue;
+  var expressionValue,
+    arrayValue;
 
   if (elementProp.k) {
     elementProp.getValue();
   }
-  var i, len, arrValue, val;
+  var i,
+    len,
+    arrValue,
+    val;
   if (type) {
     if (type === 'color') {
       len = 4;
diff --git a/player/js/utils/expressions/Expressions.js b/player/js/utils/expressions/Expressions.js
index 3df3728..4a566d9 100644
--- a/player/js/utils/expressions/Expressions.js
+++ b/player/js/utils/expressions/Expressions.js
@@ -24,7 +24,8 @@
     }
 
     function releaseInstances() {
-      var i, len = registers.length;
+      var i,
+        len = registers.length;
       for (i = 0; i < len; i += 1) {
         registers[i].release();
       }
diff --git a/player/js/utils/expressions/LayerInterface.js b/player/js/utils/expressions/LayerInterface.js
index 2bb3332..252b6b2 100644
--- a/player/js/utils/expressions/LayerInterface.js
+++ b/player/js/utils/expressions/LayerInterface.js
@@ -35,7 +35,8 @@
 
   function applyPoint(matrix, arr) {
     if (this._elem.hierarchy && this._elem.hierarchy.length) {
-      var i, len = this._elem.hierarchy.length;
+      var i,
+        len = this._elem.hierarchy.length;
       for (i = 0; i < len; i += 1) {
         this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);
       }
@@ -45,7 +46,8 @@
 
   function invertPoint(matrix, arr) {
     if (this._elem.hierarchy && this._elem.hierarchy.length) {
-      var i, len = this._elem.hierarchy.length;
+      var i,
+        len = this._elem.hierarchy.length;
       for (i = 0; i < len; i += 1) {
         this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);
       }
@@ -58,7 +60,8 @@
     toWorldMat.reset();
     this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);
     if (this._elem.hierarchy && this._elem.hierarchy.length) {
-      var i, len = this._elem.hierarchy.length;
+      var i,
+        len = this._elem.hierarchy.length;
       for (i = 0; i < len; i += 1) {
         this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);
       }
diff --git a/player/js/utils/expressions/MaskInterface.js b/player/js/utils/expressions/MaskInterface.js
index 07e4ca9..f53b7c0 100644
--- a/player/js/utils/expressions/MaskInterface.js
+++ b/player/js/utils/expressions/MaskInterface.js
@@ -24,7 +24,8 @@
     var _maskManager = maskManager;
     var _elem = elem;
     var _masksInterfaces = createSizedArray(maskManager.viewData.length);
-    var i, len = maskManager.viewData.length;
+    var i,
+      len = maskManager.viewData.length;
     for (i = 0; i < len; i += 1) {
       _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);
     }
diff --git a/player/js/utils/expressions/ProjectInterface.js b/player/js/utils/expressions/ProjectInterface.js
index 2aafd57..a893bb7 100644
--- a/player/js/utils/expressions/ProjectInterface.js
+++ b/player/js/utils/expressions/ProjectInterface.js
@@ -5,7 +5,8 @@
 
   return function () {
     function _thisProjectFunction(name) {
-      var i = 0, len = this.compositions.length;
+      var i = 0,
+        len = this.compositions.length;
       while (i < len) {
         if (this.compositions[i].data && this.compositions[i].data.nm === name) {
           if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) {
diff --git a/player/js/utils/expressions/ShapeInterface.js b/player/js/utils/expressions/ShapeInterface.js
index 8afa57e..6c657b4 100644
--- a/player/js/utils/expressions/ShapeInterface.js
+++ b/player/js/utils/expressions/ShapeInterface.js
@@ -1,7 +1,8 @@
 var ShapeExpressionInterface = (function () {
   function iterateElements(shapes, view, propertyGroup) {
     var arr = [];
-    var i, len = shapes ? shapes.length : 0;
+    var i,
+      len = shapes ? shapes.length : 0;
     for (i = 0; i < len; i += 1) {
       if (shapes[i].ty == 'gr') {
         arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));
@@ -33,7 +34,8 @@
   function contentsInterfaceFactory(shape, view, propertyGroup) {
     var interfaces;
     var interfaceFunction = function _interfaceFunction(value) {
-      var i = 0, len = interfaces.length;
+      var i = 0,
+        len = interfaces.length;
       while (i < len) {
         if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {
           return interfaces[i];
@@ -122,7 +124,8 @@
         get: ExpressionPropertyInterface(view.d.dataProps[i].p),
       });
     }
-    var i, len = shape.d ? shape.d.length : 0;
+    var i,
+      len = shape.d ? shape.d.length : 0;
     var dashOb = {};
     for (i = 0; i < len; i += 1) {
       addPropertyToDashOb(i);
@@ -464,7 +467,8 @@
         }
         return interfaces[value - 1];
       }
-      var i = 0, len = interfaces.length;
+      var i = 0,
+        len = interfaces.length;
       while (i < len) {
         if (interfaces[i]._name === value) {
           return interfaces[i];
diff --git a/player/js/utils/expressions/TextInterface.js b/player/js/utils/expressions/TextInterface.js
index ed145e5..ccce274 100644
--- a/player/js/utils/expressions/TextInterface.js
+++ b/player/js/utils/expressions/TextInterface.js
@@ -1,6 +1,7 @@
 var TextExpressionInterface = (function () {
   return function (elem) {
-    var _prevValue, _sourceText;
+    var _prevValue,
+      _sourceText;
     function _thisLayerFunction(name) {
       switch (name) {
         case 'ADBE Text Document':
diff --git a/player/js/utils/expressions/TransformInterface.js b/player/js/utils/expressions/TransformInterface.js
index 58da5e4..fede4ed 100644
--- a/player/js/utils/expressions/TransformInterface.js
+++ b/player/js/utils/expressions/TransformInterface.js
@@ -60,7 +60,10 @@
     Object.defineProperty(_thisFunction, 'scale', {
       get: ExpressionPropertyInterface(transform.s),
     });
-    var _px, _py, _pz, _transformFactory;
+    var _px,
+      _py,
+      _pz,
+      _transformFactory;
     if (transform.p) {
       _transformFactory = ExpressionPropertyInterface(transform.p);
     } else {
diff --git a/player/js/utils/functionExtensions.js b/player/js/utils/functionExtensions.js
index 1f9ed72..0d6cbaf 100644
--- a/player/js/utils/functionExtensions.js
+++ b/player/js/utils/functionExtensions.js
@@ -1,5 +1,7 @@
 function extendPrototype(sources, destination) {
-  var i, len = sources.length, sourcePrototype;
+  var i,
+    len = sources.length,
+    sourcePrototype;
   for (i = 0; i < len; i += 1) {
     sourcePrototype = sources[i].prototype;
     for (var attr in sourcePrototype) {
diff --git a/player/js/utils/helpers/arrays.js b/player/js/utils/helpers/arrays.js
index bb2aa02..4e43a0f 100644
--- a/player/js/utils/helpers/arrays.js
+++ b/player/js/utils/helpers/arrays.js
@@ -1,6 +1,8 @@
 var createTypedArray = (function () {
   function createRegularArray(type, len) {
-    var i = 0, arr = [], value;
+    var i = 0,
+      arr = [],
+      value;
     switch (type) {
       case 'int16':
       case 'uint8c':
diff --git a/player/js/utils/helpers/dynamicProperties.js b/player/js/utils/helpers/dynamicProperties.js
index eec5100..d9e27fb 100644
--- a/player/js/utils/helpers/dynamicProperties.js
+++ b/player/js/utils/helpers/dynamicProperties.js
@@ -9,7 +9,8 @@
   },
   iterateDynamicProperties: function () {
     this._mdf = false;
-    var i, len = this.dynamicProperties.length;
+    var i,
+      len = this.dynamicProperties.length;
     for (i = 0; i < len; i += 1) {
       this.dynamicProperties[i].getValue();
       if (this.dynamicProperties[i]._mdf) {
diff --git a/player/js/utils/imagePreloader.js b/player/js/utils/imagePreloader.js
index 35ce2d1..b598f21 100644
--- a/player/js/utils/imagePreloader.js
+++ b/player/js/utils/imagePreloader.js
@@ -88,7 +88,8 @@
 
   function loadAssets(assets, cb) {
     this.imagesLoadedCb = cb;
-    var i, len = assets.length;
+    var i,
+      len = assets.length;
     for (i = 0; i < len; i += 1) {
       if (!assets[i].layers) {
         this.totalImages += 1;
@@ -106,7 +107,8 @@
   }
 
   function getImage(assetData) {
-    var i = 0, len = this.images.length;
+    var i = 0,
+      len = this.images.length;
     while (i < len) {
       if (this.images[i].assetData === assetData) {
         return this.images[i].img;
diff --git a/player/js/utils/pooling/segments_length_pool.js b/player/js/utils/pooling/segments_length_pool.js
index 621d53d..da5e14b 100644
--- a/player/js/utils/pooling/segments_length_pool.js
+++ b/player/js/utils/pooling/segments_length_pool.js
@@ -7,7 +7,8 @@
   }
 
   function release(element) {
-    var i, len = element.lengths.length;
+    var i,
+      len = element.lengths.length;
     for (i = 0; i < len; i += 1) {
       bezier_length_pool.release(element.lengths[i]);
     }
diff --git a/player/js/utils/pooling/shapeCollection_pool.js b/player/js/utils/pooling/shapeCollection_pool.js
index 804a12c..4aecbaf 100644
--- a/player/js/utils/pooling/shapeCollection_pool.js
+++ b/player/js/utils/pooling/shapeCollection_pool.js
@@ -20,7 +20,8 @@
   }
 
   function release(shapeCollection) {
-    var i, len = shapeCollection._length;
+    var i,
+      len = shapeCollection._length;
     for (i = 0; i < len; i += 1) {
       shape_pool.release(shapeCollection.shapes[i]);
     }
diff --git a/player/js/utils/pooling/shape_pool.js b/player/js/utils/pooling/shape_pool.js
index 2851f41..381257a 100644
--- a/player/js/utils/pooling/shape_pool.js
+++ b/player/js/utils/pooling/shape_pool.js
@@ -4,7 +4,8 @@
   }
 
   function release(shapePath) {
-    var len = shapePath._length, i;
+    var len = shapePath._length,
+      i;
     for (i = 0; i < len; i += 1) {
       point_pool.release(shapePath.v[i]);
       point_pool.release(shapePath.i[i]);
@@ -19,7 +20,8 @@
 
   function clone(shape) {
     var cloned = factory.newElement();
-    var i, len = shape._length === undefined ? shape.v.length : shape._length;
+    var i,
+      len = shape._length === undefined ? shape.v.length : shape._length;
     cloned.setLength(len);
     cloned.c = shape.c;
     var pt;
diff --git a/player/js/utils/shapes/DashProperty.js b/player/js/utils/shapes/DashProperty.js
index b1e159f..78a4cd8 100644
--- a/player/js/utils/shapes/DashProperty.js
+++ b/player/js/utils/shapes/DashProperty.js
@@ -8,7 +8,9 @@
   this.dashArray = createTypedArray('float32', data.length ? data.length - 1 : 0);
   this.dashoffset = createTypedArray('float32', 1);
   this.initDynamicPropertyContainer(container);
-  var i, len = data.length || 0, prop;
+  var i,
+    len = data.length || 0,
+    prop;
   for (i = 0; i < len; i += 1) {
     prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);
     this.k = prop.k || this.k;
@@ -28,7 +30,8 @@
   this.iterateDynamicProperties();
   this._mdf = this._mdf || forceRender;
   if (this._mdf) {
-    var i = 0, len = this.dataProps.length;
+    var i = 0,
+      len = this.dataProps.length;
     if (this.renderer === 'svg') {
       this.dashStr = '';
     }
diff --git a/player/js/utils/shapes/GradientProperty.js b/player/js/utils/shapes/GradientProperty.js
index aa577ee..2fd1319 100644
--- a/player/js/utils/shapes/GradientProperty.js
+++ b/player/js/utils/shapes/GradientProperty.js
@@ -14,7 +14,9 @@
 }
 
 GradientProperty.prototype.comparePoints = function (values, points) {
-  var i = 0, len = this.o.length / 2, diff;
+  var i = 0,
+    len = this.o.length / 2,
+    diff;
   while (i < len) {
     diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);
     if (diff > 0.01) {
@@ -30,7 +32,8 @@
     return false;
   }
   if (this.data.k.k[0].s) {
-    var i = 0, len = this.data.k.k.length;
+    var i = 0,
+      len = this.data.k.k.length;
     while (i < len) {
       if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {
         return false;
@@ -49,8 +52,10 @@
   this._cmdf = false;
   this._omdf = false;
   if (this.prop._mdf || forceRender) {
-    var i, len = this.data.p * 4;
-    var mult, val;
+    var i,
+      len = this.data.p * 4;
+    var mult,
+      val;
     for (i = 0; i < len; i += 1) {
       mult = i % 4 === 0 ? 100 : 255;
       val = Math.round(this.prop.v[i] * mult);
diff --git a/player/js/utils/shapes/MouseModifier.js b/player/js/utils/shapes/MouseModifier.js
index a63f27b..72d9fdd 100644
--- a/player/js/utils/shapes/MouseModifier.js
+++ b/player/js/utils/shapes/MouseModifier.js
@@ -12,10 +12,15 @@
 };
 
 MouseModifier.prototype.processPath = function (path, mouseCoords, positions) {
-  var i, len = path.v.length;
-  var vValues = [], oValues = [], iValues = [];
+  var i,
+    len = path.v.length;
+  var vValues = [],
+    oValues = [],
+    iValues = [];
   var dist;
-  var theta, x, y;
+  var theta,
+    x,
+    y;
   /// / OPTION A
   for (i = 0; i < len; i += 1) {
     if (!positions.v[i]) {
@@ -161,13 +166,16 @@
   var mouseX = this.elem.globalData.mouseX;
   var mouseY = this.elem.globalData.mouseY;
   var shapePaths;
-  var i, len = this.shapes.length;
-  var j, jLen;
+  var i,
+    len = this.shapes.length;
+  var j,
+    jLen;
 
   if (mouseX) {
     var localMouseCoords = this.elem.globalToLocal([mouseX, mouseY, 0]);
 
-    var shapeData, newPaths = [];
+    var shapeData,
+      newPaths = [];
     for (i = 0; i < len; i += 1) {
       shapeData = this.shapes[i];
       if (!shapeData.shape._mdf && !this._mdf) {
diff --git a/player/js/utils/shapes/PuckerAndBloatModifier.js b/player/js/utils/shapes/PuckerAndBloatModifier.js
index 77cf833..b5776c9 100644
--- a/player/js/utils/shapes/PuckerAndBloatModifier.js
+++ b/player/js/utils/shapes/PuckerAndBloatModifier.js
@@ -9,7 +9,8 @@
 PuckerAndBloatModifier.prototype.processPath = function (path, amount) {
   var percent = amount / 100;
   var centerPoint = [0, 0];
-  var pathLength = path._length, i = 0;
+  var pathLength = path._length,
+    i = 0;
   for (i = 0; i < pathLength; i += 1) {
     centerPoint[0] += path.v[i][0];
     centerPoint[1] += path.v[i][1];
@@ -18,7 +19,12 @@
   centerPoint[1] /= pathLength;
   var cloned_path = shape_pool.newElement();
   cloned_path.c = path.c;
-  var vX, vY, oX, oY, iX, iY;
+  var vX,
+    vY,
+    oX,
+    oY,
+    iX,
+    iY;
   for (i = 0; i < pathLength; i += 1) {
     vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;
     vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;
@@ -33,12 +39,16 @@
 
 PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {
   var shapePaths;
-  var i, len = this.shapes.length;
-  var j, jLen;
+  var i,
+    len = this.shapes.length;
+  var j,
+    jLen;
   var amount = this.amount.v;
 
   if (amount !== 0) {
-    var shapeData, newPaths, localShapeCollection;
+    var shapeData,
+      newPaths,
+      localShapeCollection;
     for (i = 0; i < len; i += 1) {
       shapeData = this.shapes[i];
       newPaths = shapeData.shape.paths;
diff --git a/player/js/utils/shapes/RepeaterModifier.js b/player/js/utils/shapes/RepeaterModifier.js
index c4469b3..e2aa00a 100644
--- a/player/js/utils/shapes/RepeaterModifier.js
+++ b/player/js/utils/shapes/RepeaterModifier.js
@@ -59,7 +59,8 @@
 };
 
 RepeaterModifier.prototype.resetElements = function (elements) {
-  var i, len = elements.length;
+  var i,
+    len = elements.length;
   for (i = 0; i < len; i += 1) {
     elements[i]._processed = false;
     if (elements[i].ty === 'gr') {
@@ -69,14 +70,16 @@
 };
 
 RepeaterModifier.prototype.cloneElements = function (elements) {
-  var i, len = elements.length;
+  var i,
+    len = elements.length;
   var newElements = JSON.parse(JSON.stringify(elements));
   this.resetElements(newElements);
   return newElements;
 };
 
 RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {
-  var i, len = elements.length;
+  var i,
+    len = elements.length;
   for (i = 0; i < len; i += 1) {
     elements[i]._render = renderFlag;
     if (elements[i].ty === 'gr') {
@@ -86,7 +89,11 @@
 };
 
 RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {
-  var items, itemsTransform, i, dir, cont;
+  var items,
+    itemsTransform,
+    i,
+    dir,
+    cont;
   if (this._mdf || _isFirstFrame) {
     var copies = Math.ceil(this.c.v);
     if (this._groups.length < copies) {
@@ -152,7 +159,8 @@
     i = this.data.m === 1 ? 0 : this._currentCopies - 1;
     dir = this.data.m === 1 ? 1 : -1;
     cont = this._currentCopies;
-    var j, jLen;
+    var j,
+      jLen;
     while (cont) {
       items = this.elemsData[i].it;
       itemsTransform = items[items.length - 1].transform.mProps.v.props;
diff --git a/player/js/utils/shapes/RoundCornersModifier.js b/player/js/utils/shapes/RoundCornersModifier.js
index 9e3bff2..58f8ebe 100644
--- a/player/js/utils/shapes/RoundCornersModifier.js
+++ b/player/js/utils/shapes/RoundCornersModifier.js
@@ -9,9 +9,24 @@
 RoundCornersModifier.prototype.processPath = function (path, round) {
   var cloned_path = shape_pool.newElement();
   cloned_path.c = path.c;
-  var i, len = path._length;
-  var currentV, currentI, currentO, closerV, newV, newO, newI, distance, newPosPerc, index = 0;
-  var vX, vY, oX, oY, iX, iY;
+  var i,
+    len = path._length;
+  var currentV,
+    currentI,
+    currentO,
+    closerV,
+    newV,
+    newO,
+    newI,
+    distance,
+    newPosPerc,
+    index = 0;
+  var vX,
+    vY,
+    oX,
+    oY,
+    iX,
+    iY;
   for (i = 0; i < len; i += 1) {
     currentV = path.v[i];
     currentO = path.o[i];
@@ -62,12 +77,16 @@
 
 RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {
   var shapePaths;
-  var i, len = this.shapes.length;
-  var j, jLen;
+  var i,
+    len = this.shapes.length;
+  var j,
+    jLen;
   var rd = this.rd.v;
 
   if (rd !== 0) {
-    var shapeData, newPaths, localShapeCollection;
+    var shapeData,
+      newPaths,
+      localShapeCollection;
     for (i = 0; i < len; i += 1) {
       shapeData = this.shapes[i];
       newPaths = shapeData.shape.paths;
diff --git a/player/js/utils/shapes/ShapePath.js b/player/js/utils/shapes/ShapePath.js
index 63d9804..2cab7c2 100644
--- a/player/js/utils/shapes/ShapePath.js
+++ b/player/js/utils/shapes/ShapePath.js
@@ -69,7 +69,9 @@
 ShapePath.prototype.reverse = function () {
   var newPath = new ShapePath();
   newPath.setPathData(this.c, this._length);
-  var vertices = this.v, outPoints = this.o, inPoints = this.i;
+  var vertices = this.v,
+    outPoints = this.o,
+    inPoints = this.i;
   var init = 0;
   if (this.c) {
     newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);
diff --git a/player/js/utils/shapes/ShapeProperty.js b/player/js/utils/shapes/ShapeProperty.js
index 0f66725..6d6e60d 100644
--- a/player/js/utils/shapes/ShapeProperty.js
+++ b/player/js/utils/shapes/ShapeProperty.js
@@ -3,7 +3,15 @@
 
   function interpolateShape(frameNum, previousValue, caching) {
     var iterationIndex = caching.lastIndex;
-    var keyPropS, keyPropE, isHold, j, k, jLen, kLen, perc, vertexValue;
+    var keyPropS,
+      keyPropE,
+      isHold,
+      j,
+      k,
+      jLen,
+      kLen,
+      perc,
+      vertexValue;
     var kf = this.keyframes;
     if (frameNum < kf[0].t - this.offsetTime) {
       keyPropS = kf[0].s[0];
@@ -19,7 +27,10 @@
       isHold = true;
     } else {
       var i = iterationIndex;
-      var len = kf.length - 1, flag = true, keyData, nextKeyData;
+      var len = kf.length - 1,
+        flag = true,
+        keyData,
+        nextKeyData;
       while (flag) {
         keyData = kf[i];
         nextKeyData = kf[i + 1];
@@ -92,7 +103,8 @@
     if (shape1._length !== shape2._length || shape1.c !== shape2.c) {
       return false;
     }
-    var i, len = shape1._length;
+    var i,
+      len = shape1._length;
     for (i = 0; i < len; i += 1) {
       if (shape1.v[i][0] !== shape2.v[i][0]
             || shape1.v[i][1] !== shape2.v[i][1]
@@ -130,7 +142,8 @@
     this.lock = true;
     this._mdf = false;
     var finalValue = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;
-    var i, len = this.effectsSequence.length;
+    var i,
+      len = this.effectsSequence.length;
     for (i = 0; i < len; i += 1) {
       finalValue = this.effectsSequence[i](finalValue);
     }
@@ -177,7 +190,8 @@
     this.keyframes = type === 3 ? data.pt.k : data.ks.k;
     this.k = true;
     this.kf = true;
-    var i, len = this.keyframes[0].s[0].i.length;
+    var i,
+      len = this.keyframes[0].s[0].i.length;
     var jLen = this.keyframes[0].s[0].i[0].length;
     this.v = shape_pool.newElement();
     this.v.setPathData(this.keyframes[0].s[0].c, len);
@@ -239,7 +253,10 @@
         }
       },
       convertEllToPath: function () {
-        var p0 = this.p.v[0], p1 = this.p.v[1], s0 = this.s.v[0] / 2, s1 = this.s.v[1] / 2;
+        var p0 = this.p.v[0],
+          p1 = this.p.v[1],
+          s0 = this.s.v[0] / 2,
+          s1 = this.s.v[1] / 2;
         var _cw = this.d !== 3;
         var _v = this.v;
         _v.v[0][0] = p0;
@@ -332,7 +349,11 @@
         var shortRound = this.is.v;
         var longPerimSegment = (2 * Math.PI * longRad) / (numPts * 2);
         var shortPerimSegment = (2 * Math.PI * shortRad) / (numPts * 2);
-        var i, rad, roundness, perimSegment, currentAng = -Math.PI / 2;
+        var i,
+          rad,
+          roundness,
+          perimSegment,
+          currentAng = -Math.PI / 2;
         currentAng += this.r.v;
         var dir = this.data.d === 3 ? -1 : 1;
         this.v._length = 0;
@@ -362,7 +383,8 @@
         var rad = this.or.v;
         var roundness = this.os.v;
         var perimSegment = (2 * Math.PI * rad) / (numPts * 4);
-        var i, currentAng = -Math.PI * .5;
+        var i,
+          currentAng = -Math.PI * .5;
         var dir = this.data.d === 3 ? -1 : 1;
         currentAng += this.r.v;
         this.v._length = 0;
@@ -411,7 +433,10 @@
 
     RectShapePropertyFactory.prototype = {
       convertRectToPath: function () {
-        var p0 = this.p.v[0], p1 = this.p.v[1], v0 = this.s.v[0] / 2, v1 = this.s.v[1] / 2;
+        var p0 = this.p.v[0],
+          p1 = this.p.v[1],
+          v0 = this.s.v[0] / 2,
+          v1 = this.s.v[1] / 2;
         var round = bm_min(v0, v1, this.r.v);
         var cPoint = round * (1 - roundCorner);
         this.v._length = 0;
diff --git a/player/js/utils/shapes/TrimModifier.js b/player/js/utils/shapes/TrimModifier.js
index 6b093e9..8d33951 100644
--- a/player/js/utils/shapes/TrimModifier.js
+++ b/player/js/utils/shapes/TrimModifier.js
@@ -39,11 +39,14 @@
     });
   }
   var shapeSegments = [];
-  var i, len = segments.length, segmentOb;
+  var i,
+    len = segments.length,
+    segmentOb;
   for (i = 0; i < len; i += 1) {
     segmentOb = segments[i];
     if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {
-      var shapeS, shapeE;
+      var shapeS,
+        shapeE;
       if (segmentOb.s * totalModifierLength <= addedLength) {
         shapeS = 0;
       } else {
@@ -64,7 +67,8 @@
 };
 
 TrimModifier.prototype.releasePathsData = function (pathsData) {
-  var i, len = pathsData.length;
+  var i,
+    len = pathsData.length;
   for (i = 0; i < len; i += 1) {
     segments_length_pool.release(pathsData[i]);
   }
@@ -73,7 +77,8 @@
 };
 
 TrimModifier.prototype.processShapes = function (_isFirstFrame) {
-  var s, e;
+  var s,
+    e;
   if (this._mdf || _isFirstFrame) {
     var o = (this.o.v % 360) / 360;
     if (o < 0) {
@@ -96,8 +101,14 @@
     e = this.eValue;
   }
   var shapePaths;
-  var i, len = this.shapes.length, j, jLen;
-  var pathsData, pathData, totalShapeLength, totalModifierLength = 0;
+  var i,
+    len = this.shapes.length,
+    j,
+    jLen;
+  var pathsData,
+    pathData,
+    totalShapeLength,
+    totalModifierLength = 0;
 
   if (e === s) {
     for (i = 0; i < len; i += 1) {
@@ -109,7 +120,9 @@
       }
     }
   } else if (!((e === 1 && s === 0) || (e === 0 && s === 1))) {
-    var segments = [], shapeData, localShapeCollection;
+    var segments = [],
+      shapeData,
+      localShapeCollection;
     for (i = 0; i < len; i += 1) {
       shapeData = this.shapes[i];
       // if shape hasn't changed and trim properties haven't changed, cached previous path can be used
@@ -136,7 +149,10 @@
         shapeData.shape._mdf = true;
       }
     }
-    var shapeS = s, shapeE = e, addedLength = 0, edges;
+    var shapeS = s,
+      shapeE = e,
+      addedLength = 0,
+      edges;
     for (i = len - 1; i >= 0; i -= 1) {
       shapeData = this.shapes[i];
       if (shapeData.shape._mdf) {
@@ -204,7 +220,8 @@
 };
 
 TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {
-  var i, len = newPaths.length;
+  var i,
+    len = newPaths.length;
   for (i = 0; i < len; i += 1) {
     localShapeCollection.addShape(newPaths[i]);
   }
@@ -231,9 +248,13 @@
 TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {
   var pathsData = shapeData.pathsData;
   var shapePaths = shapeData.shape.paths.shapes;
-  var i, len = shapeData.shape.paths._length, j, jLen;
+  var i,
+    len = shapeData.shape.paths._length,
+    j,
+    jLen;
   var addedLength = 0;
-  var currentLengthData, segmentCount;
+  var currentLengthData,
+    segmentCount;
   var lengths;
   var segment;
   var shapes = [];
diff --git a/player/js/utils/shapes/shapePathBuilder.js b/player/js/utils/shapes/shapePathBuilder.js
index 00178ed..cf0d936 100644
--- a/player/js/utils/shapes/shapePathBuilder.js
+++ b/player/js/utils/shapes/shapePathBuilder.js
@@ -5,7 +5,8 @@
   var _o = pathNodes.o;
   var _i = pathNodes.i;
   var _v = pathNodes.v;
-  var i, shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);
+  var i,
+    shapeString = ' M' + mat.applyToPointStringified(_v[0][0], _v[0][1]);
   for (i = 1; i < length; i += 1) {
     shapeString += ' C' + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + ' ' + mat.applyToPointStringified(_i[i][0], _i[i][1]) + ' ' + mat.applyToPointStringified(_v[i][0], _v[i][1]);
   }
diff --git a/player/js/utils/text/TextAnimatorProperty.js b/player/js/utils/text/TextAnimatorProperty.js
index f53451d..8eedab2 100644
--- a/player/js/utils/text/TextAnimatorProperty.js
+++ b/player/js/utils/text/TextAnimatorProperty.js
@@ -16,7 +16,9 @@
 }
 
 TextAnimatorProperty.prototype.searchProperties = function () {
-  var i, len = this._textData.a.length, animatorProps;
+  var i,
+    len = this._textData.a.length,
+    animatorProps;
   var getProp = PropertyFactory.getProp;
   for (i = 0; i < len; i += 1) {
     animatorProps = this._textData.a[i];
@@ -49,9 +51,26 @@
   var renderType = this._renderType;
   var renderedLettersCount = this.renderedLetters.length;
   var data = this.data;
-  var xPos, yPos;
-  var i, len;
-  var letters = documentData.l, pathInfo, currentLength, currentPoint, segmentLength, flag, pointInd, segmentInd, prevPoint, points, segments, partialLength, totalLength, perc, tanAngle, mask;
+  var xPos,
+    yPos;
+  var i,
+    len;
+  var letters = documentData.l,
+    pathInfo,
+    currentLength,
+    currentPoint,
+    segmentLength,
+    flag,
+    pointInd,
+    segmentInd,
+    prevPoint,
+    points,
+    segments,
+    partialLength,
+    totalLength,
+    perc,
+    tanAngle,
+    mask;
   if (this._hasMaskedPath) {
     mask = this._pathData.m;
     if (!this._pathData.n || this._pathData._mdf) {
@@ -124,19 +143,36 @@
   yPos = 0;
   var yOff = documentData.finalSize * 1.2 * 0.714;
   var firstLine = true;
-  var animatorProps, animatorSelector;
-  var j, jLen;
+  var animatorProps,
+    animatorSelector;
+  var j,
+    jLen;
   var letterValue;
 
   jLen = animators.length;
   var lastLetter;
 
-  var mult, ind = -1, offf, xPathPos, yPathPos;
-  var initPathPos = currentLength, initSegmentInd = segmentInd, initPointInd = pointInd, currentLine = -1;
+  var mult,
+    ind = -1,
+    offf,
+    xPathPos,
+    yPathPos;
+  var initPathPos = currentLength,
+    initSegmentInd = segmentInd,
+    initPointInd = pointInd,
+    currentLine = -1;
   var elemOpacity;
-  var sc, sw, fc, k;
+  var sc,
+    sw,
+    fc,
+    k;
   var lineLength = 0;
-  var letterSw, letterSc, letterFc, letterM = '', letterP = this.defaultPropsArray, letterO;
+  var letterSw,
+    letterSc,
+    letterFc,
+    letterM = '',
+    letterP = this.defaultPropsArray,
+    letterO;
 
   //
   if (documentData.j === 2 || documentData.j === 1) {
diff --git a/player/js/utils/text/TextProperty.js b/player/js/utils/text/TextProperty.js
index 9d70b96..2b111c1 100644
--- a/player/js/utils/text/TextProperty.js
+++ b/player/js/utils/text/TextProperty.js
@@ -101,7 +101,8 @@
   this.lock = true;
   this._mdf = false;
   var multipliedValue;
-  var i, len = this.effectsSequence.length;
+  var i,
+    len = this.effectsSequence.length;
   var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;
   for (i = 0; i < len; i += 1) {
     // Checking if index changed to prevent creating a new object every time the expression updates.
@@ -120,9 +121,11 @@
 };
 
 TextProperty.prototype.getKeyframeValue = function () {
-  var textKeys = this.data.d.k, textDocumentData;
+  var textKeys = this.data.d.k,
+    textDocumentData;
   var frameNum = this.elem.comp.renderedFrame;
-  var i = 0, len = textKeys.length;
+  var i = 0,
+    len = textKeys.length;
   while (i <= len - 1) {
     textDocumentData = textKeys[i].s;
     if (i === len - 1 || textKeys[i + 1].t > frameNum) {
@@ -139,7 +142,8 @@
 TextProperty.prototype.buildFinalText = function (text) {
   var combinedCharacters = FontManager.getCombinedCharacterCodes();
   var charactersArray = [];
-  var i = 0, len = text.length;
+  var i = 0,
+    len = text.length;
   var charCode;
   while (i < len) {
     charCode = text.charCodeAt(i);
@@ -166,18 +170,27 @@
   var fontManager = this.elem.globalData.fontManager;
   var data = this.data;
   var letters = [];
-  var i, len;
-  var newLineFlag, index = 0, val;
+  var i,
+    len;
+  var newLineFlag,
+    index = 0,
+    val;
   var anchorGrouping = data.m.g;
-  var currentSize = 0, currentPos = 0, currentLine = 0, lineWidths = [];
+  var currentSize = 0,
+    currentPos = 0,
+    currentLine = 0,
+    lineWidths = [];
   var lineWidth = 0;
   var maxLineWidth = 0;
-  var j, jLen;
+  var j,
+    jLen;
   var fontData = fontManager.getFontByName(documentData.f);
-  var charData, cLength = 0;
+  var charData,
+    cLength = 0;
   var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];
 
-  var fWeight = 'normal', fStyle = 'normal';
+  var fWeight = 'normal',
+    fStyle = 'normal';
   len = styles.length;
   var styleName;
   for (i = 0; i < len; i += 1) {
@@ -219,7 +232,8 @@
     var flag = true;
     var boxWidth = documentData.sz[0];
     var boxHeight = documentData.sz[1];
-    var currentHeight, finalText;
+    var currentHeight,
+      finalText;
     while (flag) {
       finalText = this.buildFinalText(documentData.t);
       currentHeight = 0;
@@ -364,9 +378,13 @@
   }
   documentData.lineWidths = lineWidths;
 
-  var animators = data.a, animatorData, letterData;
+  var animators = data.a,
+    animatorData,
+    letterData;
   jLen = animators.length;
-  var based, ind, indexes = [];
+  var based,
+    ind,
+    indexes = [];
   for (j = 0; j < jLen; j += 1) {
     animatorData = animators[j];
     if (animatorData.a.sc) {
@@ -391,7 +409,8 @@
       }
     }
     data.a[j].s.totalChars = ind;
-    var currentInd = -1, newInd;
+    var currentInd = -1,
+      newInd;
     if (animatorData.s.rn === 1) {
       for (i = 0; i < len; i += 1) {
         letterData = letters[i];