| <!DOCTYPE html> | 
 | <html xmlns="http://www.w3.org/1999/xhtml"> | 
 | <head> | 
 |     <meta charset="UTF-8"> | 
 |     <style> | 
 |         body, html{ | 
 |             background-color:#fff; | 
 |             margin: 0px; | 
 |             height: 100%; | 
 |             overflow-x: hidden; | 
 |             overflow-y: auto; | 
 |         } | 
 |  | 
 |         #lottie{ | 
 |             background-color:#000; | 
 |             width:100%; | 
 |             height:100%; | 
 |             /*width:1000px; | 
 |             height:500px;*/ | 
 |             width:550px; | 
 |             height:400px; | 
 |             display:block; | 
 |             overflow: hidden; | 
 |             transform: translate3d(0,0,0); | 
 |             /*display:none;*/ | 
 |         } | 
 |  | 
 |     </style> | 
 |     <script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.6.5/dat.gui.min.js"></script> | 
 |     <!-- build:js lottie.js --> | 
 |     <script src="js/main.js"></script> | 
 |     <script src="js/utils/common.js"></script> | 
 |     <script src="js/utils/BaseEvent.js"></script> | 
 |     <script src="js/utils/helpers/arrays.js"></script> | 
 |     <script src="js/utils/helpers/svg_elements.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/utils/helpers/html_elements.js"></script> | 
 |     <script src="js/utils/helpers/dynamicProperties.js"></script> | 
 |     <script src="js/utils/helpers/blendModes.js"></script> | 
 |     <script src="js/utils/helpers/effectsRegisterer.js"></script> | 
 |     <script src="js/3rd_party/transformation-matrix.js"></script> | 
 |     <script src="js/3rd_party/seedrandom.js"></script> | 
 |     <script src="js/3rd_party/BezierEaser.js"></script> | 
 |     <script src="js/utils/animationFramePolyFill.js"></script> | 
 |     <script src="js/utils/functionExtensions.js"></script> | 
 |     <script src="js/utils/bez.js"></script> | 
 |     <script src="js/utils/DataManager.js"></script> | 
 |     <!-- <script src="js/utils/DataManagerWorkerOverrides.js" data-builds="canvas_worker"></script> --> | 
 |     <script src="js/utils/FontManager.js"></script> | 
 |     <!-- <script src="js/utils/FontManagerWorkerOverride.js" data-builds="canvas_worker"></script> --> | 
 |     <script src="js/utils/PropertyFactory.js"></script> | 
 |     <script src="js/utils/TransformProperty.js"></script> | 
 |     <script src="js/utils/shapes/ShapePath.js"></script> | 
 |     <script src="js/utils/shapes/ShapeProperty.js"></script> | 
 |     <script src="js/utils/shapes/ShapeModifiers.js"></script> | 
 |     <script src="js/utils/shapes/TrimModifier.js"></script> | 
 |     <script src="js/utils/shapes/RoundCornersModifier.js"></script> | 
 |     <script src="js/utils/shapes/RepeaterModifier.js"></script> | 
 |     <script src="js/utils/shapes/ShapeCollection.js"></script> | 
 |     <script src="js/utils/shapes/DashProperty.js"></script> | 
 |     <script src="js/utils/shapes/GradientProperty.js"></script> | 
 |     <script src="js/utils/shapes/shapePathBuilder.js"></script> | 
 |     <script src="js/utils/imagePreloader.js" data-builds="full,canvas,canvas_light,html,html_light,svg,svg_light"></script> | 
 |     <!-- <script src="js/utils/imagePreloaderWorkerOverride.js" data-builds="canvas_worker"></script> --> | 
 |     <script src="js/utils/featureSupport.js"></script> | 
 |     <script src="js/utils/filters.js"></script> | 
 |     <script src="js/utils/asset_loader.js"></script> | 
 |     <!-- <script src="js/utils/asset_loader_worker_override.js" data-builds="canvas_worker"></script> --> | 
 |     <script src="js/utils/text/TextAnimatorProperty.js"></script> | 
 |     <script src="js/utils/text/TextAnimatorDataProperty.js"></script> | 
 |     <script src="js/utils/text/LetterProps.js"></script> | 
 |     <script src="js/utils/text/TextProperty.js"></script> | 
 |     <script src="js/utils/text/TextSelectorProperty.js"></script> | 
 |     <script src="js/utils/pooling/pool_factory.js"></script> | 
 |     <script src="js/utils/pooling/pooling.js"></script> | 
 |     <script src="js/utils/pooling/point_pool.js"></script> | 
 |     <script src="js/utils/pooling/shape_pool.js"></script> | 
 |     <script src="js/utils/pooling/shapeCollection_pool.js"></script> | 
 |     <script src="js/utils/pooling/segments_length_pool.js"></script> | 
 |     <script src="js/utils/pooling/bezier_length_pool.js"></script> | 
 |     <script src="js/utils/webgl/programFactory.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/utils/webgl/textureFactory.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/utils/webgl/shader_provider.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/renderers/BaseRenderer.js"></script> | 
 |     <script src="js/renderers/SVGRenderer.js"></script> | 
 |     <script src="js/renderers/CanvasRenderer.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/renderers/WebGLRenderer.js" data-builds="webgl,webgl_light"></script> | 
 |     <!-- <script src="js/renderers/CanvasRendererWorkerOverride.js" data-builds="canvas_worker"></script> --> | 
 |     <script src="js/renderers/HybridRenderer.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/mask.js"></script> | 
 |     <script src="js/elements/helpers/HierarchyElement.js"></script> | 
 |     <script src="js/elements/helpers/FrameElement.js"></script> | 
 |     <script src="js/elements/helpers/TransformElement.js"></script> | 
 |     <script src="js/elements/helpers/RenderableElement.js"></script> | 
 |     <script src="js/elements/helpers/RenderableDOMElement.js"></script> | 
 |     <script src="js/elements/helpers/shapes/ProcessedElement.js"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGStyleData.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGShapeData.js" ></script> | 
 |     <script src="js/elements/helpers/shapes/SVGTransformData.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGStrokeStyleData.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGFillStyleData.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGGradientFillStyleData.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGGradientStrokeStyleData.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/ShapeGroupData.js"></script> | 
 |     <script src="js/elements/helpers/shapes/SVGElementsRenderer.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/helpers/shapes/ShapeTransformManager.js"></script> | 
 |     <script src="js/elements/helpers/shapes/CVShapeData.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/BaseElement.js"></script> | 
 |     <script src="js/elements/NullElement.js"></script> | 
 |     <script src="js/elements/svgElements/SVGBaseElement.js"></script> | 
 |     <script src="js/elements/ShapeElement.js"></script> | 
 |     <script src="js/elements/TextElement.js"></script> | 
 |     <script src="js/elements/CompElement.js"></script> | 
 |     <script src="js/elements/ImageElement.js"></script> | 
 |     <script src="js/elements/SolidElement.js"></script> | 
 |     <script src="js/elements/svgElements/SVGCompElement.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/SVGTextElement.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/SVGShapeElement.js"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGTintEffect.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGFillFilter.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGGaussianBlurEffect.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGStrokeEffect.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGTritoneFilter.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGProLevelsFilter.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGDropShadowEffect.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/effects/SVGMatte3Effect.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/svgElements/SVGEffects.js" data-builds="full,svg,svg_light,html,html_light"></script> | 
 |     <script src="js/elements/canvasElements/CVContextData.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/canvasElements/CVBaseElement.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/canvasElements/CVImageElement.js" data-builds="full,canvas,canvas_light"></script> | 
 |     <script src="js/elements/canvasElements/CVCompElement.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/canvasElements/CVMaskElement.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/canvasElements/CVShapeElement.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/canvasElements/CVSolidElement.js" data-builds="full,canvas,canvas_light,canvas_worker"></script> | 
 |     <script src="js/elements/canvasElements/CVTextElement.js" data-builds="full,canvas,canvas_light"></script> | 
 |     <script src="js/elements/canvasElements/CVEffects.js" data-builds="full,canvas,canvas_light,html,html_light,canvas_worker"></script> | 
 |     <script src="js/elements/htmlElements/HBaseElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HSolidElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HCompElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HShapeElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HTextElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HImageElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HCameraElement.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/htmlElements/HEffects.js" data-builds="full,html,html_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLBaseElement.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLSolidElement.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLImageElement.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLCompElement.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLShapeElement.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLMaskElement.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLTrackMatte.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/WebGLEffects.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLTintEffect.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLTwirlEffect.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLRippleEffect.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLSpherizeEffect.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLNoOpEffect.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLPuppetPin.js" data-builds="webgl,webgl_light"></script> | 
 |     <script src="js/animation/AnimationManager.js"></script> | 
 |     <!-- <script src="js/animation/AnimationManagerWorkerOverride.js" data-builds="canvas_worker"></script> --> | 
 |     <script src="js/animation/AnimationItem.js"></script> | 
 |     <!-- <script src="js/animation/AnimationItemWorkerOverride.js" data-builds="canvas_worker"></script> --> | 
 |     <!-- Expressions --> | 
 |     <script src="js/utils/expressions/Expressions.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/ExpressionManager.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/expressionHelpers.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/ExpressionPropertyDecorator.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/ExpressionTextPropertyDecorator.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/ShapeInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/TextInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/LayerInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/CompInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/TransformInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/ProjectInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/EffectInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/MaskInterface.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/ExpressionValueFactory.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/utils/expressions/TextSelectorPropertyDecorator.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/effects/SliderEffect.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <script src="js/effects/EffectsManagerPlaceholder.js" ></script> | 
 |     <script src="js/EffectsManager.js" data-builds="full,svg,canvas,html,canvas_worker"></script> | 
 |     <!-- end Expressions --> | 
 |     <!-- endbuild --> | 
 |     <script src="js/module.js" ></script> | 
 |     <script src="js/elements/webglElements/effects/WebGLGaussianBlurEFfect.js" data-builds="webgl,webgl_light"></script> | 
 |     <!-- <script src="lottie.js"></script> --> | 
 |     <!-- <script src="bodymovin_light.js"></script> --> | 
 |  | 
 |  | 
 |  | 
 | </head> | 
 | <body> | 
 | <div id="lottie"></div> | 
 | <div id="lottie2" style="opacity: 0.5; display: none; transform: translate(0%,0);"></div> | 
 |  | 
 | <script> | 
 |     var anim; | 
 |     var elem = document.getElementById('lottie'); | 
 |     var animData = { | 
 |         container: elem, | 
 |         renderer: 'webgl', | 
 |         loop: true, | 
 |         autoplay: false, | 
 |         rendererSettings: { | 
 |             progressiveLoad:true, | 
 |             preserveAspectRatio: 'xMidYMid meet', | 
 |             imagePreserveAspectRatio: 'xMidYMid meet', | 
 |             title: 'TEST TITLE', | 
 |             description: 'TEST DESCRIPTION', | 
 |         }, | 
 |         path: 'exports/render/data.json' | 
 |     }; | 
 |     // lottie.setQuality('low'); | 
 |     lottie.registerEffect('ADBE Twirl', WTwirlEffect) | 
 |     anim = lottie.loadAnimation(animData); | 
 |     anim.setSubframe(false); | 
 |     anim.onError = function(errorType, nativeError, errorProps) { | 
 |         // console.log(errorType) | 
 |     } | 
 |  | 
 |     anim.addEventListener('error', function(error) { | 
 |         console.log(error.nativeError) | 
 |     }) | 
 |  | 
 | </script> | 
 | </body> | 
 | </html> |