{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:@vimeo/player@2.16.4/dist/player.es.js", "ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/0sWquksFr1YDkaIgrl9Z/VgWe6mCMJOseqaLiMnaC/Vimeo.js", "ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js", "ssg:https://framer.com/m/framer/useAutoMotionValue.js@0.3.0", "ssg:https://jspm.dev/npm:lottie-web@5.7.8!cjs", "ssg:https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/7oWoX9MqdnxameM59dqC/Lottie.js", "ssg:https://framerusercontent.com/modules/7F4DdrlYfMtz5f8Z1pgK/CzJ4aEE6jIKQ8NOVlfGY/y6XDYlAE2.js"],
  "sourcesContent": ["function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;\"value\"in r&&(r.writable=true);Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){t&&_defineProperties(e.prototype,t);n&&_defineProperties(e,n);return e}\n/**\n * Check to see this is a node environment.\n * @type {Boolean}\n */var e=\"undefined\"!==typeof global&&\"[object global]\"==={}.toString.call(global);\n/**\n * Get the name of the method for a given getter or setter.\n *\n * @param {string} prop The name of the property.\n * @param {string} type Either \u201Cget\u201D or \u201Cset\u201D.\n * @return {string}\n */function getMethodName(e,t){return 0===e.indexOf(t.toLowerCase())?e:\"\".concat(t.toLowerCase()).concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}\n/**\n * Check to see if the object is a DOM Element.\n *\n * @param {*} element The object to check.\n * @return {boolean}\n */function isDomElement(e){return Boolean(e&&1===e.nodeType&&\"nodeName\"in e&&e.ownerDocument&&e.ownerDocument.defaultView)}\n/**\n * Check to see whether the value is a number.\n *\n * @see http://dl.dropboxusercontent.com/u/35146/js/tests/isNumber.html\n * @param {*} value The value to check.\n * @param {boolean} integer Check if the value is an integer.\n * @return {boolean}\n */function isInteger(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}\n/**\n * Check to see if the URL is a Vimeo url.\n *\n * @param {string} url The url string.\n * @return {boolean}\n */function isVimeoUrl(e){return/^(https?:)?\\/\\/((player|www)\\.)?vimeo\\.com(?=$|\\/)/.test(e)}\n/**\n * Get the Vimeo URL from an element.\n * The element must have either a data-vimeo-id or data-vimeo-url attribute.\n *\n * @param {object} oEmbedParameters The oEmbed parameters.\n * @return {string}\n */function getVimeoUrl(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t=e.id;var n=e.url;var r=t||n;if(!r)throw new Error(\"An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.\");if(isInteger(r))return\"https://vimeo.com/\".concat(r);if(isVimeoUrl(r))return r.replace(\"http:\",\"https:\");if(t)throw new TypeError(\"\u201C\".concat(t,\"\u201D is not a valid video id.\"));throw new TypeError(\"\u201C\".concat(r,\"\u201D is not a vimeo.com url.\"))}var t=\"undefined\"!==typeof Array.prototype.indexOf;var n=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.postMessage;if(!e&&(!t||!n))throw new Error(\"Sorry, the Vimeo Player API is not available in this browser.\");var r=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof window?window:\"undefined\"!==typeof global?global:\"undefined\"!==typeof self?self:{};function createCommonjsModule(e,t){return t={exports:{}},e(t,t.exports),t.exports\n/*!\n * weakmap-polyfill v2.0.1 - ECMAScript6 WeakMap polyfill\n * https://github.com/polygonplanet/weakmap-polyfill\n * Copyright (c) 2015-2020 Polygon Planet <polygon.planet.aqua@gmail.com>\n * @license MIT\n */}(function(e){if(!e.WeakMap){var t=Object.prototype.hasOwnProperty;var defineProperty=function(e,t,n){Object.defineProperty?Object.defineProperty(e,t,{configurable:true,writable:true,value:n}):e[t]=n};e.WeakMap=function(){function WeakMap(){if(void 0===this)throw new TypeError(\"Constructor WeakMap requires 'new'\");defineProperty(this,\"_id\",genId(\"_WeakMap\"));if(arguments.length>0)throw new TypeError(\"WeakMap iterable is not supported\")}defineProperty(WeakMap.prototype,\"delete\",(function(e){checkInstance(this,\"delete\");if(!isObject(e))return false;var t=e[this._id];if(t&&t[0]===e){delete e[this._id];return true}return false}));defineProperty(WeakMap.prototype,\"get\",(function(e){checkInstance(this,\"get\");if(isObject(e)){var t=e[this._id];return t&&t[0]===e?t[1]:void 0}}));defineProperty(WeakMap.prototype,\"has\",(function(e){checkInstance(this,\"has\");if(!isObject(e))return false;var t=e[this._id];return!(!t||t[0]!==e)}));defineProperty(WeakMap.prototype,\"set\",(function(e,t){checkInstance(this,\"set\");if(!isObject(e))throw new TypeError(\"Invalid value used as weak map key\");var n=e[this._id];if(n&&n[0]===e){n[1]=t;return this}defineProperty(e,this._id,[e,t]);return this}));function checkInstance(e,n){if(!isObject(e)||!t.call(e,\"_id\"))throw new TypeError(n+\" method called on incompatible receiver \"+typeof e)}function genId(e){return e+\"_\"+rand()+\".\"+rand()}function rand(){return Math.random().toString().substring(2)}defineProperty(WeakMap,\"_polyfill\",true);return WeakMap}()}function isObject(e){return Object(e)===e}})(\"undefined\"!==typeof self?self:\"undefined\"!==typeof window?window:(\"undefined\"!==typeof r,r));var o=createCommonjsModule((function(e){(function UMD(t,n,r){n[t]=n[t]||r();e.exports&&(e.exports=n[t])})(\"Promise\",(\"undefined\"!=typeof r,r),(function DEF(){var e,t,n,r=Object.prototype.toString,o=\"undefined\"!=typeof setImmediate?function timer(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},\"x\",{});e=function builtInProp(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:true,configurable:false!==r})}}catch(t){e=function builtInProp(e,t,n){e[t]=n;return e}}n=function Queue(){var e,n,r;function Item(e,t){this.fn=e;this.self=t;this.next=void 0}return{add:function add(t,o){r=new Item(t,o);n?n.next=r:e=r;n=r;r=void 0},drain:function drain(){var r=e;e=n=t=void 0;while(r){r.fn.call(r.self);r=r.next}}}}();function schedule(e,r){n.add(e,r);t||(t=o(n.drain))}function isThenable(e){var t,n=typeof e;null==e||\"object\"!=n&&\"function\"!=n||(t=e.then);return\"function\"==typeof t&&t}function notify(){for(var e=0;e<this.chain.length;e++)notifyIsolated(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function notifyIsolated(e,t,n){var r,o;try{if(false===t)n.reject(e.msg);else{r=true===t?e.msg:t.call(void 0,e.msg);r===n.promise?n.reject(TypeError(\"Promise-chain cycle\")):(o=isThenable(r))?o.call(r,n.resolve,n.reject):n.resolve(r)}}catch(e){n.reject(e)}}function resolve(e){var t,n=this;if(!n.triggered){n.triggered=true;n.def&&(n=n.def);try{if(t=isThenable(e))schedule((function(){var r=new MakeDefWrapper(n);try{t.call(e,(function $resolve$(){resolve.apply(r,arguments)}),(function $reject$(){reject.apply(r,arguments)}))}catch(e){reject.call(r,e)}}));else{n.msg=e;n.state=1;n.chain.length>0&&schedule(notify,n)}}catch(e){reject.call(new MakeDefWrapper(n),e)}}}function reject(e){var t=this;if(!t.triggered){t.triggered=true;t.def&&(t=t.def);t.msg=e;t.state=2;t.chain.length>0&&schedule(notify,t)}}function iteratePromises(e,t,n,r){for(var o=0;o<t.length;o++)(function IIFE(o){e.resolve(t[o]).then((function $resolver$(e){n(o,e)}),r)})(o)}function MakeDefWrapper(e){this.def=e;this.triggered=false}function MakeDef(e){this.promise=e;this.state=0;this.triggered=false;this.chain=[];this.msg=void 0}function Promise(e){if(\"function\"!=typeof e)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var t=new MakeDef(this);this.then=function then(e,n){var r={success:\"function\"!=typeof e||e,failure:\"function\"==typeof n&&n};r.promise=new this.constructor((function extractChain(e,t){if(\"function\"!=typeof e||\"function\"!=typeof t)throw TypeError(\"Not a function\");r.resolve=e;r.reject=t}));t.chain.push(r);0!==t.state&&schedule(notify,t);return r.promise};this.catch=function $catch$(e){return this.then(void 0,e)};try{e.call(void 0,(function publicResolve(e){resolve.call(t,e)}),(function publicReject(e){reject.call(t,e)}))}catch(e){reject.call(t,e)}}var i=e({},\"constructor\",Promise,false);Promise.prototype=i;e(i,\"__NPO__\",0,false);e(Promise,\"resolve\",(function Promise$resolve(e){var t=this;return e&&\"object\"==typeof e&&1===e.__NPO__?e:new t((function executor(t,n){if(\"function\"!=typeof t||\"function\"!=typeof n)throw TypeError(\"Not a function\");t(e)}))}));e(Promise,\"reject\",(function Promise$reject(e){return new this((function executor(t,n){if(\"function\"!=typeof t||\"function\"!=typeof n)throw TypeError(\"Not a function\");n(e)}))}));e(Promise,\"all\",(function Promise$all(e){var t=this;return\"[object Array]\"!=r.call(e)?t.reject(TypeError(\"Not an array\")):0===e.length?t.resolve([]):new t((function executor(n,r){if(\"function\"!=typeof n||\"function\"!=typeof r)throw TypeError(\"Not a function\");var o=e.length,i=Array(o),a=0;iteratePromises(t,e,(function resolver(e,t){i[e]=t;++a===o&&n(i)}),r)}))}));e(Promise,\"race\",(function Promise$race(e){var t=this;return\"[object Array]\"!=r.call(e)?t.reject(TypeError(\"Not an array\")):new t((function executor(n,r){if(\"function\"!=typeof n||\"function\"!=typeof r)throw TypeError(\"Not a function\");iteratePromises(t,e,(function resolver(e,t){n(t)}),r)}))}));return Promise}))}));var i=new WeakMap;\n/**\n * Store a callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @param {(function(this:Player, *): void|{resolve: function, reject: function})} callback\n *        The callback to call or an object with resolve and reject functions for a promise.\n * @return {void}\n */function storeCallback(e,t,n){var r=i.get(e.element)||{};t in r||(r[t]=[]);r[t].push(n);i.set(e.element,r)}\n/**\n * Get the callbacks for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @return {function[]}\n */function getCallbacks(e,t){var n=i.get(e.element)||{};return n[t]||[]}\n/**\n * Remove a stored callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @param {function} [callback] The specific callback to remove.\n * @return {boolean} Was this the last callback?\n */function removeCallback(e,t,n){var r=i.get(e.element)||{};if(!r[t])return true;if(!n){r[t]=[];i.set(e.element,r);return true}var o=r[t].indexOf(n);-1!==o&&r[t].splice(o,1);i.set(e.element,r);return r[t]&&0===r[t].length}\n/**\n * Return the first stored callback for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @return {function} The callback, or false if there were none\n */function shiftCallbacks(e,t){var n=getCallbacks(e,t);if(n.length<1)return false;var r=n.shift();removeCallback(e,t,r);return r}\n/**\n * Move callbacks associated with an element to another element.\n *\n * @param {HTMLElement} oldElement The old element.\n * @param {HTMLElement} newElement The new element.\n * @return {void}\n */function swapCallbacks(e,t){var n=i.get(e);i.set(t,n);i.delete(e)}var a=[\"autopause\",\"autoplay\",\"background\",\"byline\",\"color\",\"controls\",\"dnt\",\"height\",\"id\",\"interactive_params\",\"keyboard\",\"loop\",\"maxheight\",\"maxwidth\",\"muted\",\"playsinline\",\"portrait\",\"responsive\",\"speed\",\"texttrack\",\"title\",\"transparent\",\"url\",\"width\"];\n/**\n * Get the 'data-vimeo'-prefixed attributes from an element as an object.\n *\n * @param {HTMLElement} element The element.\n * @param {Object} [defaults={}] The default values to use.\n * @return {Object<string, string>}\n */function getOEmbedParameters(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a.reduce((function(t,n){var r=e.getAttribute(\"data-vimeo-\".concat(n));(r||\"\"===r)&&(t[n]=\"\"===r?1:r);return t}),t)}\n/**\n * Create an embed from oEmbed data inside an element.\n *\n * @param {object} data The oEmbed data.\n * @param {HTMLElement} element The element to put the iframe in.\n * @return {HTMLIFrameElement} The iframe embed.\n */function createEmbed(e,t){var n=e.html;if(!t)throw new TypeError(\"An element must be provided\");if(null!==t.getAttribute(\"data-vimeo-initialized\"))return t.querySelector(\"iframe\");var r=document.createElement(\"div\");r.innerHTML=n;t.appendChild(r.firstChild);t.setAttribute(\"data-vimeo-initialized\",\"true\");return t.querySelector(\"iframe\")}\n/**\n * Make an oEmbed call for the specified URL.\n *\n * @param {string} videoUrl The vimeo.com url for the video.\n * @param {Object} [params] Parameters to pass to oEmbed.\n * @param {HTMLElement} element The element.\n * @return {Promise}\n */function getOEmbedData(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n=arguments.length>2?arguments[2]:void 0;return new Promise((function(r,o){if(!isVimeoUrl(e))throw new TypeError(\"\u201C\".concat(e,\"\u201D is not a vimeo.com url.\"));var i=\"https://vimeo.com/api/oembed.json?url=\".concat(encodeURIComponent(e));for(var a in t)t.hasOwnProperty(a)&&(i+=\"&\".concat(a,\"=\").concat(encodeURIComponent(t[a])));var u=\"XDomainRequest\"in window?new XDomainRequest:new XMLHttpRequest;u.open(\"GET\",i,true);u.onload=function(){if(404!==u.status)if(403!==u.status)try{var t=JSON.parse(u.responseText);if(403===t.domain_status_code){createEmbed(t,n);o(new Error(\"\u201C\".concat(e,\"\u201D is not embeddable.\")));return}r(t)}catch(e){o(e)}else o(new Error(\"\u201C\".concat(e,\"\u201D is not embeddable.\")));else o(new Error(\"\u201C\".concat(e,\"\u201D was not found.\")))};u.onerror=function(){var e=u.status?\" (\".concat(u.status,\")\"):\"\";o(new Error(\"There was an error fetching the embed code from Vimeo\".concat(e,\".\")))};u.send()}))}\n/**\n * Initialize all embeds within a specific element\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */function initializeEmbeds(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;var t=[].slice.call(e.querySelectorAll(\"[data-vimeo-id], [data-vimeo-url]\"));var n=function handleError(e){\"console\"in window&&console.error&&console.error(\"There was an error creating an embed: \".concat(e))};t.forEach((function(e){try{if(null!==e.getAttribute(\"data-vimeo-defer\"))return;var t=getOEmbedParameters(e);var r=getVimeoUrl(t);getOEmbedData(r,t,e).then((function(t){return createEmbed(t,e)})).catch(n)}catch(e){n(e)}}))}\n/**\n * Resize embeds when messaged by the player.\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */function resizeEmbeds(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;if(!window.VimeoPlayerResizeEmbeds_){window.VimeoPlayerResizeEmbeds_=true;var t=function onMessage(t){if(isVimeoUrl(t.origin)&&t.data&&\"spacechange\"===t.data.event){var n=e.querySelectorAll(\"iframe\");for(var r=0;r<n.length;r++)if(n[r].contentWindow===t.source){var o=n[r].parentElement;o.style.paddingBottom=\"\".concat(t.data.data[0].bottom,\"px\");break}}};window.addEventListener(\"message\",t)}}\n/**\n * Parse a message received from postMessage.\n *\n * @param {*} data The data received from postMessage.\n * @return {object}\n */function parseMessageData(e){if(\"string\"===typeof e)try{e=JSON.parse(e)}catch(e){console.warn(e);return{}}return e}\n/**\n * Post a message to the specified target.\n *\n * @param {Player} player The player object to use.\n * @param {string} method The API method to call.\n * @param {object} params The parameters to send to the player.\n * @return {void}\n */function postMessage(e,t,n){if(e.element.contentWindow&&e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var o=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\\d+).*$/,\"$1\"));o>=8&&o<10&&(r=JSON.stringify(r));e.element.contentWindow.postMessage(r,e.origin)}}\n/**\n * Parse the data received from a message event.\n *\n * @param {Player} player The player that received the message.\n * @param {(Object|string)} data The message data. Strings will be parsed into JSON.\n * @return {void}\n */function processData(e,t){t=parseMessageData(t);var n=[];var r;if(t.event){if(\"error\"===t.event){var o=getCallbacks(e,t.data.method);o.forEach((function(n){var r=new Error(t.data.message);r.name=t.data.name;n.reject(r);removeCallback(e,t.data.method,n)}))}n=getCallbacks(e,\"event:\".concat(t.event));r=t.data}else if(t.method){var i=shiftCallbacks(e,t.method);if(i){n.push(i);r=t.value}}n.forEach((function(t){try{if(\"function\"===typeof t){t.call(e,r);return}t.resolve(r)}catch(e){}}))}function initializeScreenfull(){var e=function(){var e;var t=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"webkitRequestFullScreen\",\"webkitCancelFullScreen\",\"webkitCurrentFullScreenElement\",\"webkitCancelFullScreen\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\"]];var n=0;var r=t.length;var o={};for(;n<r;n++){e=t[n];if(e&&e[1]in document){for(n=0;n<e.length;n++)o[t[0][n]]=e[n];return o}}return false}();var t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror};var n={request:function request(t){return new Promise((function(r,o){var i=function onFullScreenEntered(){n.off(\"fullscreenchange\",onFullScreenEntered);r()};n.on(\"fullscreenchange\",i);t=t||document.documentElement;var a=t[e.requestFullscreen]();a instanceof Promise&&a.then(i).catch(o)}))},exit:function exit(){return new Promise((function(t,r){if(n.isFullscreen){var o=function onFullScreenExit(){n.off(\"fullscreenchange\",onFullScreenExit);t()};n.on(\"fullscreenchange\",o);var i=document[e.exitFullscreen]();i instanceof Promise&&i.then(o).catch(r)}else t()}))},on:function on(e,n){var r=t[e];r&&document.addEventListener(r,n)},off:function off(e,n){var r=t[e];r&&document.removeEventListener(r,n)}};Object.defineProperties(n,{isFullscreen:{get:function get(){return Boolean(document[e.fullscreenElement])}},element:{enumerable:true,get:function get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:true,get:function get(){return Boolean(document[e.fullscreenEnabled])}}});return n}var u=new WeakMap;var l=new WeakMap;var s={};var c=function(){\n/**\n   * Create a Player.\n   *\n   * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to the Vimeo\n   *        player iframe, and id, or a jQuery object.\n   * @param {object} [options] oEmbed parameters to use when creating an embed in the element.\n   * @return {Player}\n   */\nfunction Player(e){var t=this;var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,Player);if(window.jQuery&&e instanceof jQuery){e.length>1&&window.console&&console.warn&&console.warn(\"A jQuery object with multiple elements was passed, using the first element.\");e=e[0]}\"undefined\"!==typeof document&&\"string\"===typeof e&&(e=document.getElementById(e));if(!isDomElement(e))throw new TypeError(\"You must pass either a valid element or a valid id.\");if(\"IFRAME\"!==e.nodeName){var r=e.querySelector(\"iframe\");r&&(e=r)}if(\"IFRAME\"===e.nodeName&&!isVimeoUrl(e.getAttribute(\"src\")||\"\"))throw new Error(\"The player element passed isn\u2019t a Vimeo embed.\");if(u.has(e))return u.get(e);this._window=e.ownerDocument.defaultView;this.element=e;this.origin=\"*\";var i=new o((function(r,o){t._onMessage=function(e){if(isVimeoUrl(e.origin)&&t.element.contentWindow===e.source){\"*\"===t.origin&&(t.origin=e.origin);var n=parseMessageData(e.data);var i=n&&\"error\"===n.event;var a=i&&n.data&&\"ready\"===n.data.method;if(a){var u=new Error(n.data.message);u.name=n.data.name;o(u)}else{var l=n&&\"ready\"===n.event;var s=n&&\"ping\"===n.method;if(l||s){t.element.setAttribute(\"data-ready\",\"true\");r()}else processData(t,n)}}};t._window.addEventListener(\"message\",t._onMessage);if(\"IFRAME\"!==t.element.nodeName){var i=getOEmbedParameters(e,n);var a=getVimeoUrl(i);getOEmbedData(a,i,e).then((function(n){var r=createEmbed(n,e);t.element=r;t._originalElement=e;swapCallbacks(e,r);u.set(t.element,t);return n})).catch(o)}}));l.set(this,i);u.set(this.element,this);\"IFRAME\"===this.element.nodeName&&postMessage(this,\"ping\");if(s.isEnabled){var a=function exitFullscreen(){return s.exit()};this.fullscreenchangeHandler=function(){s.isFullscreen?storeCallback(t,\"event:exitFullscreen\",a):removeCallback(t,\"event:exitFullscreen\",a);t.ready().then((function(){postMessage(t,\"fullscreenchange\",s.isFullscreen)}))};s.on(\"fullscreenchange\",this.fullscreenchangeHandler)}return this}\n/**\n   * Get a promise for a method.\n   *\n   * @param {string} name The API method to call.\n   * @param {Object} [args={}] Arguments to send via postMessage.\n   * @return {Promise}\n   */_createClass(Player,[{key:\"callMethod\",value:function callMethod(e){var t=this;var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new o((function(r,o){return t.ready().then((function(){storeCallback(t,e,{resolve:r,reject:o});postMessage(t,e,n)})).catch(o)}))}\n/**\n     * Get a promise for the value of a player property.\n     *\n     * @param {string} name The property name\n     * @return {Promise}\n     */},{key:\"get\",value:function get(e){var t=this;return new o((function(n,r){e=getMethodName(e,\"get\");return t.ready().then((function(){storeCallback(t,e,{resolve:n,reject:r});postMessage(t,e)})).catch(r)}))}\n/**\n     * Get a promise for setting the value of a player property.\n     *\n     * @param {string} name The API method to call.\n     * @param {mixed} value The value to set.\n     * @return {Promise}\n     */},{key:\"set\",value:function set(e,t){var n=this;return new o((function(r,o){e=getMethodName(e,\"set\");if(void 0===t||null===t)throw new TypeError(\"There must be a value to set.\");return n.ready().then((function(){storeCallback(n,e,{resolve:r,reject:o});postMessage(n,e,t)})).catch(o)}))}\n/**\n     * Add an event listener for the specified event. Will call the\n     * callback with a single parameter, `data`, that contains the data for\n     * that event.\n     *\n     * @param {string} eventName The name of the event.\n     * @param {function(*)} callback The function to call when the event fires.\n     * @return {void}\n     */},{key:\"on\",value:function on(e,t){if(!e)throw new TypeError(\"You must pass an event name.\");if(!t)throw new TypeError(\"You must pass a callback function.\");if(\"function\"!==typeof t)throw new TypeError(\"The callback must be a function.\");var n=getCallbacks(this,\"event:\".concat(e));0===n.length&&this.callMethod(\"addEventListener\",e).catch((function(){}));storeCallback(this,\"event:\".concat(e),t)}\n/**\n     * Remove an event listener for the specified event. Will remove all\n     * listeners for that event if a `callback` isn\u2019t passed, or only that\n     * specific callback if it is passed.\n     *\n     * @param {string} eventName The name of the event.\n     * @param {function} [callback] The specific callback to remove.\n     * @return {void}\n     */},{key:\"off\",value:function off(e,t){if(!e)throw new TypeError(\"You must pass an event name.\");if(t&&\"function\"!==typeof t)throw new TypeError(\"The callback must be a function.\");var n=removeCallback(this,\"event:\".concat(e),t);n&&this.callMethod(\"removeEventListener\",e).catch((function(e){}))}\n/**\n     * Load a new video into this embed. The promise will be resolved if\n     * the video is successfully loaded, or it will be rejected if it could\n     * not be loaded.\n     *\n     * @param {number|string|object} options The id of the video, the url of the video, or an object with embed options.\n     * @return {LoadVideoPromise}\n     */},{key:\"loadVideo\",value:function loadVideo(e){return this.callMethod(\"loadVideo\",e)}},{key:\"ready\",value:function ready(){var e=l.get(this)||new o((function(e,t){t(new Error(\"Unknown player. Probably unloaded.\"))}));return o.resolve(e)}\n/**\n     * Add a cue point to the player.\n     *\n     * @param {number} time The time for the cue point.\n     * @param {object} [data] Arbitrary data to be returned with the cue point.\n     * @return {AddCuePointPromise}\n     */},{key:\"addCuePoint\",value:function addCuePoint(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.callMethod(\"addCuePoint\",{time:e,data:t})}\n/**\n     * Remove a cue point from the video.\n     *\n     * @param {string} id The id of the cue point to remove.\n     * @return {RemoveCuePointPromise}\n     */},{key:\"removeCuePoint\",value:function removeCuePoint(e){return this.callMethod(\"removeCuePoint\",e)}\n/**\n     * A representation of a text track on a video.\n     *\n     * @typedef {Object} VimeoTextTrack\n     * @property {string} language The ISO language code.\n     * @property {string} kind The kind of track it is (captions or subtitles).\n     * @property {string} label The human\u2010readable label for the track.\n     */\n/**\n     * Enable the text track with the specified language, and optionally the\n     * specified kind (captions or subtitles).\n     *\n     * When set via the API, the track language will not change the viewer\u2019s\n     * stored preference.\n     *\n     * @param {string} language The two\u2010letter language code.\n     * @param {string} [kind] The kind of track to enable (captions or subtitles).\n     * @return {EnableTextTrackPromise}\n     */},{key:\"enableTextTrack\",value:function enableTextTrack(e,t){if(!e)throw new TypeError(\"You must pass a language.\");return this.callMethod(\"enableTextTrack\",{language:e,kind:t})}},{key:\"disableTextTrack\",value:function disableTextTrack(){return this.callMethod(\"disableTextTrack\")}},{key:\"pause\",value:function pause(){return this.callMethod(\"pause\")}},{key:\"play\",value:function play(){return this.callMethod(\"play\")}},{key:\"requestFullscreen\",value:function requestFullscreen(){return s.isEnabled?s.request(this.element):this.callMethod(\"requestFullscreen\")}},{key:\"exitFullscreen\",value:function exitFullscreen(){return s.isEnabled?s.exit():this.callMethod(\"exitFullscreen\")}},{key:\"getFullscreen\",value:function getFullscreen(){return s.isEnabled?o.resolve(s.isFullscreen):this.get(\"fullscreen\")}},{key:\"requestPictureInPicture\",value:function requestPictureInPicture(){return this.callMethod(\"requestPictureInPicture\")}},{key:\"exitPictureInPicture\",value:function exitPictureInPicture(){return this.callMethod(\"exitPictureInPicture\")}},{key:\"getPictureInPicture\",value:function getPictureInPicture(){return this.get(\"pictureInPicture\")}},{key:\"unload\",value:function unload(){return this.callMethod(\"unload\")}},{key:\"destroy\",value:function destroy(){var e=this;return new o((function(t){l.delete(e);u.delete(e.element);if(e._originalElement){u.delete(e._originalElement);e._originalElement.removeAttribute(\"data-vimeo-initialized\")}e.element&&\"IFRAME\"===e.element.nodeName&&e.element.parentNode&&(e.element.parentNode.parentNode&&e._originalElement&&e._originalElement!==e.element.parentNode?e.element.parentNode.parentNode.removeChild(e.element.parentNode):e.element.parentNode.removeChild(e.element));if(e.element&&\"DIV\"===e.element.nodeName&&e.element.parentNode){e.element.removeAttribute(\"data-vimeo-initialized\");var n=e.element.querySelector(\"iframe\");n&&n.parentNode&&(n.parentNode.parentNode&&e._originalElement&&e._originalElement!==n.parentNode?n.parentNode.parentNode.removeChild(n.parentNode):n.parentNode.removeChild(n))}e._window.removeEventListener(\"message\",e._onMessage);s.isEnabled&&s.off(\"fullscreenchange\",e.fullscreenchangeHandler);t()}))}},{key:\"getAutopause\",value:function getAutopause(){return this.get(\"autopause\")}\n/**\n     * Enable or disable the autopause behavior of this player.\n     *\n     * By default, when another video is played in the same browser, this\n     * player will automatically pause. Unless you have a specific reason\n     * for doing so, we recommend that you leave autopause set to the\n     * default (`true`).\n     *\n     * @param {boolean} autopause\n     * @return {SetAutopausePromise}\n     */},{key:\"setAutopause\",value:function setAutopause(e){return this.set(\"autopause\",e)}},{key:\"getBuffered\",value:function getBuffered(){return this.get(\"buffered\")}\n/**\n     * @typedef {Object} CameraProperties\n     * @prop {number} props.yaw - Number between 0 and 360.\n     * @prop {number} props.pitch - Number between -90 and 90.\n     * @prop {number} props.roll - Number between -180 and 180.\n     * @prop {number} props.fov - The field of view in degrees.\n     */},{key:\"getCameraProps\",value:function getCameraProps(){return this.get(\"cameraProps\")}\n/**\n     * For 360\u00B0 videos set the camera properties for this player.\n     *\n     * @param {CameraProperties} camera The camera properties\n     * @return {SetCameraPromise}\n     */},{key:\"setCameraProps\",value:function setCameraProps(e){return this.set(\"cameraProps\",e)}\n/**\n     * A representation of a chapter.\n     *\n     * @typedef {Object} VimeoChapter\n     * @property {number} startTime The start time of the chapter.\n     * @property {object} title The title of the chapter.\n     * @property {number} index The place in the order of Chapters. Starts at 1.\n     */},{key:\"getChapters\",value:function getChapters(){return this.get(\"chapters\")}},{key:\"getCurrentChapter\",value:function getCurrentChapter(){return this.get(\"currentChapter\")}},{key:\"getColor\",value:function getColor(){return this.get(\"color\")}\n/**\n     * Set the color of this player to a hex or rgb string. Setting the\n     * color may fail if the owner of the video has set their embed\n     * preferences to force a specific color.\n     *\n     * @param {string} color The hex or rgb color string to set.\n     * @return {SetColorPromise}\n     */},{key:\"setColor\",value:function setColor(e){return this.set(\"color\",e)}\n/**\n     * A representation of a cue point.\n     *\n     * @typedef {Object} VimeoCuePoint\n     * @property {number} time The time of the cue point.\n     * @property {object} data The data passed when adding the cue point.\n     * @property {string} id The unique id for use with removeCuePoint.\n     */},{key:\"getCuePoints\",value:function getCuePoints(){return this.get(\"cuePoints\")}},{key:\"getCurrentTime\",value:function getCurrentTime(){return this.get(\"currentTime\")}\n/**\n     * Set the current playback position in seconds. If the player was\n     * paused, it will remain paused. Likewise, if the player was playing,\n     * it will resume playing once the video has buffered.\n     *\n     * You can provide an accurate time and the player will attempt to seek\n     * to as close to that time as possible. The exact time will be the\n     * fulfilled value of the promise.\n     *\n     * @param {number} currentTime\n     * @return {SetCurrentTimePromise}\n     */},{key:\"setCurrentTime\",value:function setCurrentTime(e){return this.set(\"currentTime\",e)}},{key:\"getDuration\",value:function getDuration(){return this.get(\"duration\")}},{key:\"getEnded\",value:function getEnded(){return this.get(\"ended\")}},{key:\"getLoop\",value:function getLoop(){return this.get(\"loop\")}\n/**\n     * Set the loop state of the player. When set to `true`, the player\n     * will start over immediately once playback ends.\n     *\n     * @param {boolean} loop\n     * @return {SetLoopPromise}\n     */},{key:\"setLoop\",value:function setLoop(e){return this.set(\"loop\",e)}\n/**\n     * Set the muted state of the player. When set to `true`, the player\n     * volume will be muted.\n     *\n     * @param {boolean} muted\n     * @return {SetMutedPromise}\n     */},{key:\"setMuted\",value:function setMuted(e){return this.set(\"muted\",e)}},{key:\"getMuted\",value:function getMuted(){return this.get(\"muted\")}},{key:\"getPaused\",value:function getPaused(){return this.get(\"paused\")}},{key:\"getPlaybackRate\",value:function getPlaybackRate(){return this.get(\"playbackRate\")}\n/**\n     * Set the playback rate of the player on a scale from `0.5` to `2`. When set\n     * via the API, the playback rate will not be synchronized to other\n     * players or stored as the viewer's preference.\n     *\n     * @param {number} playbackRate\n     * @return {SetPlaybackRatePromise}\n     */},{key:\"setPlaybackRate\",value:function setPlaybackRate(e){return this.set(\"playbackRate\",e)}},{key:\"getPlayed\",value:function getPlayed(){return this.get(\"played\")}},{key:\"getQualities\",value:function getQualities(){return this.get(\"qualities\")}},{key:\"getQuality\",value:function getQuality(){return this.get(\"quality\")}\n/**\n     * Set a video quality.\n     *\n     * @param {string} quality\n     * @return {SetQualityPromise}\n     */},{key:\"setQuality\",value:function setQuality(e){return this.set(\"quality\",e)}},{key:\"getSeekable\",value:function getSeekable(){return this.get(\"seekable\")}},{key:\"getSeeking\",value:function getSeeking(){return this.get(\"seeking\")}},{key:\"getTextTracks\",value:function getTextTracks(){return this.get(\"textTracks\")}},{key:\"getVideoEmbedCode\",value:function getVideoEmbedCode(){return this.get(\"videoEmbedCode\")}},{key:\"getVideoId\",value:function getVideoId(){return this.get(\"videoId\")}},{key:\"getVideoTitle\",value:function getVideoTitle(){return this.get(\"videoTitle\")}},{key:\"getVideoWidth\",value:function getVideoWidth(){return this.get(\"videoWidth\")}},{key:\"getVideoHeight\",value:function getVideoHeight(){return this.get(\"videoHeight\")}},{key:\"getVideoUrl\",value:function getVideoUrl(){return this.get(\"videoUrl\")}},{key:\"getVolume\",value:function getVolume(){return this.get(\"volume\")}\n/**\n     * Set the volume of the player on a scale from `0` to `1`. When set\n     * via the API, the volume level will not be synchronized to other\n     * players or stored as the viewer\u2019s preference.\n     *\n     * Most mobile devices do not support setting the volume. An error will\n     * *not* be triggered in that situation.\n     *\n     * @param {number} volume\n     * @return {SetVolumePromise}\n     */},{key:\"setVolume\",value:function setVolume(e){return this.set(\"volume\",e)}}]);return Player}();if(!e){s=initializeScreenfull();initializeEmbeds();resizeEmbeds()}export{c as default};\n\n//# sourceMappingURL=player.es.js.map", "import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map", "import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{motion}from\"framer-motion\";import Player from\"@vimeo/player\";import{useEffect,useRef,useState}from\"react\";import{useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";const vimeoRegex=/^https?:\\/\\/vimeo\\.com\\/(\\d+)/;/**\n * VIMEO\n *\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 270\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps borderRadius, backgroundColor\n */ const Vimeo=withCSS(function Vimeo({video,autoplay,mute,controls,loop,titles,backgroundColor,onPlay=()=>{},onEnd=()=>{},style,...props}){const[key,setKey]=useState(0);const player=useRef();const borderRadius=useRadius(props);useEffect(()=>{if(!player.current)return;const[,id]=video.match(vimeoRegex)?video.match(vimeoRegex):[null,0];const embeddedPlayer=new Player(player.current,{id,autopause:false,autoplay:RenderTarget.current()===RenderTarget.canvas?false:autoplay,byline:titles,controls:controls,loop:loop,title:titles,muted:mute,responsive:true});embeddedPlayer.on(\"play\",onPlay);embeddedPlayer.on(\"ended\",onEnd);},[player,key]);useEffect(()=>{setKey(key=>key+1);},[video,autoplay,mute,controls,loop,titles]);return /*#__PURE__*/ _jsx(motion.div,{style:{background:backgroundColor,...style,borderRadius,position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\"},...props,children:/*#__PURE__*/ _jsx(\"div\",{className:\"framer-vimeo\",ref:player,style:{width:\"100%\",height:\"100%\"}},key)});},[\".framer-vimeo > div { padding: 0 !important; width: 100%; height: 100%; }\",]);Vimeo.defaultProps={video:\"https://vimeo.com/642263700\",autoplay:false,loop:false,mute:false,backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:0};addPropertyControls(Vimeo,{video:{title:\"URL\",type:ControlType.String},...borderRadiusControl,controls:{title:\"Controls\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\"},autoplay:{title:\"Autoplay\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},// playOnCanvas: {\n//     title: \"On Canvas\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Play\",\n//     disabledTitle: \"Pause\",\n// },\nloop:{title:\"Loop\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},mute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},// titles: {\n//     title: \"Titles\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Show\",\n//     disabledTitle: \"Hide\",\n// },\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0, 0, 0, 0)\"},onPlay:{type:ControlType.EventHandler},onEnd:{type:ControlType.EventHandler}});export default Vimeo;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Vimeo\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"270\",\"framerIntrinsicWidth\":\"480\",\"framerComponentPresetProps\":\"borderRadius, backgroundColor\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Vimeo.map", "import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map", "import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map", "var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    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\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + \",\" + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Ga\u00EBtan Renaudeau 2014 - 2015 \u2013 MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          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])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n\n          (this || _global).matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n\n          (this || _global).matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      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]);\n    }\n\n    if (closed && length) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // 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];\n      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];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + \",\" + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", colorWhite[0] - colorBlack[0] + \" 0 0 0 \" + colorBlack[0] + \" \" + (colorWhite[1] - colorBlack[1]) + \" 0 0 0 \" + colorBlack[1] + \" \" + (colorWhite[2] - colorBlack[2]) + \" 0 0 0 \" + colorBlack[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + color[0] + \" 0 0 0 0 \" + color[1] + \" 0 0 0 0 \" + color[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    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) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n        }\n\n        pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */ export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===Poster.Custom;const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.play();};const pause=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.pause();};const destroy=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===SrcType.Url)dataUrl=srcUrl;if(srcType===SrcType.File)dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:!isOnCanvas&&loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress,]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/ _jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:SrcType.Url,pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:Poster.Auto,posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Url,SrcType.File]},srcUrl:{type:ControlType.String,title:\" \",placeholder:\"../example.json\",hidden:props=>props.srcType===SrcType.File},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===SrcType.Url},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\n// pauseOnCanvas: {\n//     type: ControlType.Boolean,\n//     title: \"Canvas\",\n//     disabledTitle: \"Play\",\n//     enabledTitle: \"Pause\",\n//     hidden: (props) => props.playing === false,\n// },\nloop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[Poster.Auto,Poster.Custom],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===Poster.Auto},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map", "// Generated by Framer (99bc0fd)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,ChildrenCanSuspend,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,Image,Link,PathVariablesContext,PropertyOverrides,RichText,SVG,useCustomCursors,useHydratedBreakpointVariants,useLocaleCode,useLocaleInfo,useQueryData,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import Vimeo from\"https://framerusercontent.com/modules/0sWquksFr1YDkaIgrl9Z/VgWe6mCMJOseqaLiMnaC/Vimeo.js\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/7oWoX9MqdnxameM59dqC/Lottie.js\";import Footer from\"#framer/local/canvasComponent/ghbEQSWXT/ghbEQSWXT.js\";import MenuBar from\"#framer/local/canvasComponent/n5CqopfPo/n5CqopfPo.js\";import Button from\"#framer/local/canvasComponent/WEDZM5tC3/WEDZM5tC3.js\";import Hamburger_menu from\"#framer/local/canvasComponent/Xnkhgbnfl/Xnkhgbnfl.js\";import Blog from\"#framer/local/collection/GGz7dCRCi/GGz7dCRCi.js\";import*as sharedStyle1 from\"#framer/local/css/DfJn5_Oul/DfJn5_Oul.js\";import*as sharedStyle3 from\"#framer/local/css/JrcpQL16y/JrcpQL16y.js\";import*as sharedStyle7 from\"#framer/local/css/KjEL69wIH/KjEL69wIH.js\";import*as sharedStyle from\"#framer/local/css/olRG77Qg_/olRG77Qg_.js\";import*as sharedStyle4 from\"#framer/local/css/RY2LjSAUj/RY2LjSAUj.js\";import*as sharedStyle6 from\"#framer/local/css/Uag4QGl1N/Uag4QGl1N.js\";import*as sharedStyle2 from\"#framer/local/css/ujRE1KznF/ujRE1KznF.js\";import*as sharedStyle5 from\"#framer/local/css/xRwScoltc/xRwScoltc.js\";import metadataProvider from\"#framer/local/webPageMetadata/y6XDYlAE2/y6XDYlAE2.js\";const MotionDivWithOptimizedAppearEffect=withOptimizedAppearEffect(motion.div);const ImageWithOptimizedAppearEffect=withOptimizedAppearEffect(Image);const ImageWithFX=withFX(Image);const MotionDivWithFX=withFX(motion.div);const LottieFonts=getFonts(Lottie);const VimeoFonts=getFonts(Vimeo);const ButtonFonts=getFonts(Button);const MenuBarFonts=getFonts(MenuBar);const FooterFonts=getFonts(Footer);const Hamburger_menuFonts=getFonts(Hamburger_menu);const breakpoints={DiQ8ngg4E:\"(min-width: 1200px) and (max-width: 1439px)\",mJVKxAaaw:\"(min-width: 810px) and (max-width: 1199px)\",n699I8gTW:\"(min-width: 1440px)\",VKrzHFZeI:\"(max-width: 809px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-4GeRL\";const variantClassNames={DiQ8ngg4E:\"framer-v-1j8qp7s\",mJVKxAaaw:\"framer-v-1950v2g\",n699I8gTW:\"framer-v-1vm3uxv\",VKrzHFZeI:\"framer-v-1gpl90e\"};const transition1={damping:30,delay:.2,mass:1,stiffness:100,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:100};const animation2={opacity:.001,rotate:0,rotateX:40,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:0};const animation3={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition2={delay:0,duration:.6,ease:[.5,0,.88,.77],type:\"tween\"};const animation4={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:0};const transition3={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const toDateString=(value,options={},activeLocale)=>{if(typeof value!==\"string\")return\"\";const date=new Date(value);if(isNaN(date.getTime()))return\"\";const display=options.display?options.display:\"date\";const dateOptions={dateStyle:display!==\"time\"?options.dateStyle:undefined,timeStyle:display===\"date\"?undefined:\"short\",timeZone:\"UTC\"};const fallbackLocale=\"en-US\";const locale=options.locale||activeLocale||fallbackLocale;// We add a try block because an invalid language code results in a crash\ntry{return date.toLocaleString(locale,dateOptions);}catch{return date.toLocaleString(fallbackLocale,dateOptions);}};const QueryData=({query,pageSize,children})=>{const data=useQueryData(query);return children(data);};const metadata=metadataProvider();const humanReadableVariantMap={\"Desktop 1440\":\"n699I8gTW\",Desktop:\"DiQ8ngg4E\",Phone:\"VKrzHFZeI\",Tablet:\"mJVKxAaaw\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"DiQ8ngg4E\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,wHE4NV284ssEe1VnD8,JYr6PIA64ssEe1VnD8,tKawDG834ssEe1VnD8,xaIDwJmTlssEe1VnD8,idssEe1VnD8,...restProps}=getProps(props);React.useEffect(()=>{const metadata1=metadataProvider(undefined,activeLocale);if(metadata1.robots){let robotsTag=document.querySelector('meta[name=\"robots\"]');if(robotsTag){robotsTag.setAttribute(\"content\",metadata1.robots);}else{robotsTag=document.createElement(\"meta\");robotsTag.setAttribute(\"name\",\"robots\");robotsTag.setAttribute(\"content\",metadata1.robots);document.head.appendChild(robotsTag);}}},[undefined,activeLocale]);React.useInsertionEffect(()=>{const metadata1=metadataProvider(undefined,activeLocale);document.title=metadata1.title||\"\";if(metadata1.viewport){var _document_querySelector;(_document_querySelector=document.querySelector('meta[name=\"viewport\"]'))===null||_document_querySelector===void 0?void 0:_document_querySelector.setAttribute(\"content\",metadata1.viewport);}const bodyCls=metadata1.bodyClassName;if(bodyCls){const body=document.body;body.classList.forEach(c=>c.startsWith(\"framer-body-\")&&body.classList.remove(c));body.classList.add(`${metadata1.bodyClassName}-framer-4GeRL`);}return()=>{if(bodyCls)document.body.classList.remove(`${metadata1.bodyClassName}-framer-4GeRL`);};},[undefined,activeLocale]);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const ref1=React.useRef(null);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"VKrzHFZeI\")return false;return true;};const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"VKrzHFZeI\")return true;return false;};const activeLocaleCode=useLocaleCode();const defaultLayoutId=React.useId();const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className,sharedStyle5.className,sharedStyle6.className,sharedStyle7.className];useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{primaryVariantId:\"DiQ8ngg4E\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:[/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-1j8qp7s\",className),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},children:[/*#__PURE__*/_jsx(Link,{href:{pathVariables:{wHE4NV284:\"department-of-trust-launches-unique-combined-player-identity-and-risk-assessment-solution\"},unresolvedPathSlugs:{wHE4NV284:{collectionId:\"GGz7dCRCi\",collectionItemId:\"OgzrGavh4\"}},webPageId:\"DhxHxSF7e\"},openInNewTab:false,children:/*#__PURE__*/_jsxs(\"a\",{className:\"framer-i4jf22 framer-ya0c6a\",\"data-framer-name\":\"top bar\",name:\"top bar\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"-0.18px\",\"--framer-line-height\":\"150%\",\"--framer-text-alignment\":\"center\"},children:\"\uD83D\uDEA8\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czhwyr\",\"data-styles-preset\":\"olRG77Qg_\",children:\"\uD83D\uDEA8\"})}),className:\"framer-ds8mo4\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-font-size\":\"14px\",\"--framer-letter-spacing\":\"-0.18px\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"NEWSFLASH - DoTrust launches Complete ID combining risk and identity\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czhwyr\",\"data-styles-preset\":\"olRG77Qg_\",children:\"NEWSFLASH - DoTrust launches Complete ID combining risk and identity\"})}),className:\"framer-jk1pfa\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-font-size\":\"18px\",\"--framer-letter-spacing\":\"-0.18px\",\"--framer-line-height\":\"150%\",\"--framer-text-alignment\":\"center\"},children:\"\uD83D\uDEA8\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-czhwyr\",\"data-styles-preset\":\"olRG77Qg_\",children:\"\uD83D\uDEA8\"})}),className:\"framer-1egqioz\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]})}),/*#__PURE__*/_jsxs(\"header\",{className:\"framer-1i1zevs\",\"data-framer-name\":\"Header\",name:\"Header\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"y6XDYlAE2\"},children:/*#__PURE__*/_jsxs(\"a\",{className:\"framer-q9szj5 framer-ya0c6a\",\"data-framer-name\":\"DOT Logo\",name:\"DOT Logo\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-vnl2fx\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:21,intrinsicWidth:24,name:\"Vector\",svg:'<svg width=\"24\" height=\"21\" viewBox=\"0 0 24 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M20.2989 0.851166L7.55584 13.598L3.98817 10.1742L0.868919 13.6741L7.57556 20.1465L23.3344 4.43733L20.2989 0.851166Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svgContentId:12552588525},n699I8gTW:{svgContentId:12552588525},VKrzHFZeI:{svgContentId:12552588525}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-gk120i\",\"data-framer-name\":\"Vector\",layout:\"position\",name:\"Vector\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 37 41\"><path d=\"M 32.139 1.897 C 22.756 -0.629 13.246 -0.634 3.858 1.897 C 1.587 2.511 0 4.651 0 7.101 L 0 19.747 C 0 21.771 0.808 23.708 2.242 25.098 L 3.858 26.716 L 6.978 23.216 L 5.411 21.644 C 4.903 21.152 4.617 20.462 4.617 19.742 L 4.617 7.101 C 4.617 6.817 4.795 6.554 5.036 6.493 C 13.645 4.17 22.372 4.17 30.976 6.493 C 31.212 6.559 31.395 6.817 31.395 7.101 L 31.395 18.342 C 31.395 19.945 30.759 21.507 29.65 22.638 L 15.089 37.622 L 18.331 41 L 32.893 26.011 C 34.873 23.997 36.007 21.203 36.007 18.342 L 36.007 7.101 C 36.007 4.651 34.42 2.511 32.148 1.897 Z\" fill=\"rgb(119,145,128)\"></path></svg>',svgContentId:3962653933,withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svgContentId:11169485445},n699I8gTW:{svgContentId:11169485445},VKrzHFZeI:{svgContentId:11169485445}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1x4e9tk\",\"data-framer-name\":\"Vector\",layout:\"position\",name:\"Vector\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 166 41\"><path d=\"M 6.918 0.984 C 9.609 0.984 11.747 1.75 13.349 3.282 C 14.945 4.814 15.749 6.792 15.749 9.211 C 15.749 11.631 14.95 13.609 13.349 15.141 C 11.752 16.673 9.609 17.439 6.918 17.439 L 1.335 17.439 L 1.335 0.984 Z M 6.918 15.055 C 8.825 15.055 10.348 14.512 11.476 13.432 C 12.605 12.351 13.172 10.941 13.172 9.206 C 13.172 7.472 12.605 6.061 11.476 4.981 C 10.348 3.901 8.83 3.358 6.918 3.358 L 3.888 3.358 L 3.888 15.05 L 6.918 15.05 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 31.133 17.439 L 19.228 17.439 L 19.228 0.984 L 31.108 0.984 L 31.108 3.368 L 21.78 3.368 L 21.78 8.009 L 30.394 8.009 L 30.394 10.368 L 21.78 10.368 L 21.78 15.06 L 31.133 15.06 L 31.133 17.444 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 42.083 0.984 C 43.832 0.984 45.226 1.471 46.271 2.445 C 47.316 3.419 47.833 4.702 47.833 6.29 C 47.833 7.877 47.311 9.186 46.271 10.17 C 45.231 11.154 43.832 11.641 42.083 11.641 L 37.431 11.641 L 37.431 17.439 L 34.878 17.439 L 34.878 0.984 Z M 42.082 9.237 C 43.068 9.237 43.847 8.973 44.423 8.44 C 44.995 7.908 45.28 7.193 45.28 6.29 C 45.28 5.387 44.995 4.717 44.423 4.18 C 43.851 3.637 43.073 3.368 42.082 3.368 L 37.431 3.368 L 37.431 9.237 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 61.074 17.439 L 59.497 13.609 L 51.721 13.609 L 50.144 17.439 L 47.375 17.439 L 54.417 0.984 L 56.802 0.984 L 63.838 17.439 L 61.069 17.439 Z M 55.609 4.2 L 52.721 11.2 L 58.497 11.2 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 76.892 17.439 L 71.191 10.88 L 68.874 10.88 L 68.874 17.439 L 66.322 17.439 L 66.322 0.984 L 73.837 0.984 C 75.473 0.984 76.798 1.441 77.808 2.349 C 78.819 3.256 79.321 4.459 79.321 5.945 C 79.321 7.355 78.863 8.501 77.951 9.394 C 77.035 10.287 75.818 10.774 74.29 10.855 L 80.065 17.439 Z M 73.837 8.501 C 74.714 8.501 75.418 8.268 75.961 7.801 C 76.503 7.335 76.774 6.716 76.774 5.945 C 76.774 5.174 76.503 4.555 75.961 4.078 C 75.418 3.601 74.714 3.368 73.837 3.368 L 68.874 3.368 L 68.874 8.501 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 88.94 3.363 L 88.94 17.434 L 86.363 17.434 L 86.363 3.363 L 80.755 3.363 L 80.755 0.984 L 94.568 0.984 L 94.568 3.368 L 88.935 3.368 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 114.993 17.439 L 112.51 17.439 L 112.51 6.924 L 107.02 17.434 L 105.443 17.434 L 99.954 6.924 L 99.954 17.434 L 97.47 17.434 L 97.47 0.984 L 99.712 0.984 L 106.227 13.437 L 112.766 0.984 L 114.983 0.984 L 114.983 17.439 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 131.141 17.439 L 119.236 17.439 L 119.236 0.984 L 131.117 0.984 L 131.117 3.368 L 121.788 3.368 L 121.788 8.009 L 130.402 8.009 L 130.402 10.368 L 121.788 10.368 L 121.788 15.06 L 131.141 15.06 L 131.141 17.444 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 149.275 17.439 L 147.102 17.439 L 137.439 5.625 L 137.439 17.439 L 134.886 17.439 L 134.886 0.984 L 137.059 0.984 L 146.698 12.995 L 146.698 0.984 L 149.275 0.984 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 160.368 3.363 L 160.368 17.434 L 157.79 17.434 L 157.79 3.363 L 152.183 3.363 L 152.183 0.984 L 165.995 0.984 L 165.995 3.368 L 160.363 3.368 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 14.852 25.382 C 16.468 27.051 17.271 29.08 17.271 31.474 C 17.271 33.868 16.463 35.887 14.852 37.541 C 13.236 39.194 11.259 40.021 8.924 40.021 C 6.588 40.021 4.612 39.194 3.006 37.541 C 1.399 35.887 0.596 33.863 0.596 31.474 C 0.596 29.085 1.399 27.031 3.006 25.372 C 4.612 23.708 6.583 22.881 8.924 22.881 C 11.264 22.881 13.236 23.718 14.852 25.387 Z M 13.029 35.796 C 14.142 34.634 14.699 33.194 14.699 31.474 C 14.699 29.755 14.142 28.284 13.029 27.117 C 11.915 25.945 10.545 25.362 8.924 25.362 C 7.303 25.362 5.938 25.945 4.834 27.117 C 3.73 28.289 3.173 29.739 3.173 31.474 C 3.173 33.209 3.725 34.634 4.834 35.796 C 5.938 36.957 7.303 37.541 8.924 37.541 C 10.545 37.541 11.915 36.957 13.029 35.796 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 23.308 30.49 L 31.562 30.49 L 31.562 32.874 L 23.308 32.874 L 23.308 39.676 L 20.755 39.676 L 20.755 23.221 L 32.444 23.221 L 32.444 25.605 L 23.308 25.605 L 23.308 30.495 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 48.597 25.6 L 48.597 39.671 L 46.02 39.671 L 46.02 25.6 L 40.412 25.6 L 40.412 23.216 L 54.224 23.216 L 54.224 25.6 L 48.592 25.6 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 67.707 39.676 L 62.005 33.117 L 59.689 33.117 L 59.689 39.676 L 57.137 39.676 L 57.137 23.221 L 64.651 23.221 C 66.287 23.221 67.613 23.678 68.623 24.586 C 69.633 25.494 70.136 26.696 70.136 28.182 C 70.136 29.592 69.678 30.739 68.766 31.631 C 67.85 32.524 66.632 33.011 65.105 33.092 L 70.88 39.676 Z M 64.651 30.739 C 65.529 30.739 66.233 30.505 66.775 30.039 C 67.317 29.572 67.588 28.953 67.588 28.182 C 67.588 27.411 67.317 26.792 66.775 26.316 C 66.233 25.839 65.529 25.605 64.651 25.605 L 59.689 25.605 L 59.689 30.739 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 86.866 32.407 C 86.866 34.685 86.245 36.521 85.003 37.921 C 83.761 39.321 82.13 40.021 80.115 40.021 C 78.099 40.021 76.379 39.321 75.118 37.921 C 73.856 36.521 73.221 34.685 73.221 32.407 L 73.221 23.221 L 75.773 23.221 L 75.773 32.407 C 75.773 33.944 76.172 35.177 76.966 36.105 C 77.759 37.028 78.809 37.495 80.115 37.495 C 81.421 37.495 82.386 37.028 83.155 36.095 C 83.924 35.162 84.313 33.934 84.313 32.413 L 84.313 23.226 L 86.866 23.226 L 86.866 32.413 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 100.594 24.129 C 101.698 24.966 102.398 26.092 102.684 27.518 L 100.131 28.055 C 99.988 27.188 99.584 26.488 98.914 25.955 C 98.244 25.423 97.436 25.159 96.48 25.159 C 95.524 25.159 94.784 25.392 94.213 25.859 C 93.641 26.326 93.355 26.929 93.355 27.665 C 93.355 28.238 93.518 28.689 93.843 29.014 C 94.168 29.344 94.681 29.577 95.381 29.724 L 98.84 30.485 C 101.575 31.109 102.945 32.605 102.945 34.979 C 102.945 36.516 102.383 37.743 101.264 38.651 C 100.146 39.559 98.658 40.016 96.815 40.016 C 94.972 40.016 93.553 39.585 92.331 38.728 C 91.103 37.87 90.399 36.668 90.207 35.131 L 92.927 34.543 C 93.119 35.573 93.577 36.354 94.311 36.886 C 95.046 37.419 95.957 37.683 97.056 37.683 C 98.155 37.683 98.929 37.449 99.525 36.983 C 100.121 36.516 100.422 35.897 100.422 35.126 C 100.422 34.502 100.249 34.031 99.909 33.701 C 99.569 33.371 98.993 33.117 98.18 32.94 L 94.696 32.205 C 92.01 31.565 90.665 30.074 90.665 27.736 C 90.665 26.28 91.202 25.103 92.276 24.21 C 93.35 23.318 94.77 22.871 96.534 22.871 C 98.14 22.871 99.495 23.287 100.599 24.124 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 112.914 25.6 L 112.914 39.671 L 110.336 39.671 L 110.336 25.6 L 104.729 25.6 L 104.729 23.216 L 118.541 23.216 L 118.541 25.6 L 112.909 25.6 Z\" fill=\"rgb(255,255,255)\"></path></svg>',svgContentId:2579550853,withExternalLayout:true})})]})}),/*#__PURE__*/_jsx(MotionDivWithOptimizedAppearEffect,{animate:animation,className:\"framer-1qsqude\",\"data-framer-appear-id\":\"1qsqude\",initial:animation1,optimized:true,style:{transformPerspective:1200},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"h3\",{className:\"framer-styles-preset-12cd0kp\",\"data-styles-preset\":\"DfJn5_Oul\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-085f050f-620e-444f-8bab-cf42e3ae000e, rgb(241, 241, 241))\"},children:[\"Best-in-class frictionless and enhanced\",/*#__PURE__*/_jsx(\"br\",{}),\"financial risk checks to protect your players and your business\"]})}),className:\"framer-1ji818a\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:834,intrinsicWidth:1489,pixelHeight:834,pixelWidth:1489,positionX:\"center\",positionY:\"bottom\",sizes:\"calc(100vw - 100px)\",src:\"https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png\",srcSet:\"https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png?scale-down-to=512 512w,https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png 1489w\"}},VKrzHFZeI:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:834,intrinsicWidth:1489,pixelHeight:834,pixelWidth:1489,positionX:\"center\",positionY:\"bottom\",sizes:\"calc(100vw - 80px)\",src:\"https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png\",srcSet:\"https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png?scale-down-to=512 512w,https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png 1489w\"}}},children:/*#__PURE__*/_jsx(ImageWithOptimizedAppearEffect,{animate:animation,background:{alt:\"\",fit:\"fit\",intrinsicHeight:834,intrinsicWidth:1489,pixelHeight:834,pixelWidth:1489,positionX:\"center\",positionY:\"bottom\",sizes:\"1044.4444px\",src:\"https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png\",srcSet:\"https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png?scale-down-to=512 512w,https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/XyrBfQuNxBNarBqqumIwll7coU.png 1489w\"},className:\"framer-1l061h4\",\"data-framer-appear-id\":\"1l061h4\",\"data-framer-name\":\"Placeholder\",initial:animation2,name:\"Placeholder\",optimized:true,style:{transformPerspective:1200}})})]}),/*#__PURE__*/_jsxs(\"header\",{className:\"framer-onr6cy\",\"data-framer-name\":\"complete circle\",name:\"complete circle\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-7zfu76\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-l7n6kz\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{className:\"framer-styles-preset-msfam1\",\"data-styles-preset\":\"ujRE1KznF\",children:\"Compliance is\"})}),className:\"framer-1qtqxeo\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 214 45\"><g transform=\"translate(0.211 -0.245)\" id=\"ss11290293132_1\"><path d=\"M 0.116 45.576 L 0.116 0.576 L 213.526 0.576 L 213.526 45.576 Z\" fill=\"transparent\"></path><path d=\"M 56.736 23.357 C 56.736 21.261 57.144 19.422 57.969 17.843 C 58.789 16.263 59.932 15.028 61.388 14.128 C 62.844 13.228 64.528 12.782 66.443 12.782 C 68.924 12.782 70.987 13.448 72.633 14.784 C 74.278 16.119 75.26 17.886 75.587 20.093 L 71.784 20.093 C 71.461 18.814 70.826 17.847 69.882 17.191 C 68.938 16.54 67.833 16.21 66.567 16.21 C 65.381 16.21 64.329 16.502 63.413 17.086 C 62.493 17.67 61.782 18.494 61.27 19.556 C 60.758 20.619 60.502 21.869 60.502 23.314 C 60.502 24.76 60.743 26.005 61.232 27.048 C 61.716 28.097 62.403 28.915 63.295 29.499 C 64.186 30.083 65.22 30.375 66.411 30.375 C 67.758 30.375 68.919 30.036 69.892 29.356 C 70.864 28.676 71.508 27.747 71.831 26.579 L 75.635 26.579 C 75.393 28.025 74.847 29.279 73.999 30.356 C 73.15 31.433 72.069 32.276 70.76 32.889 C 69.451 33.502 68.004 33.808 66.411 33.808 C 64.466 33.808 62.778 33.372 61.331 32.501 C 59.89 31.63 58.766 30.414 57.955 28.848 C 57.144 27.283 56.741 25.454 56.741 23.357 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 76.877 23.314 C 76.877 21.27 77.323 19.461 78.21 17.881 C 79.102 16.301 80.32 15.066 81.871 14.166 C 83.422 13.266 85.195 12.821 87.192 12.821 C 89.188 12.821 90.953 13.271 92.49 14.166 C 94.026 15.066 95.24 16.301 96.132 17.881 C 97.019 19.461 97.464 21.27 97.464 23.314 C 97.464 25.359 97.019 27.168 96.132 28.743 C 95.24 30.323 94.026 31.563 92.49 32.458 C 90.953 33.353 89.184 33.803 87.192 33.803 C 85.2 33.803 83.422 33.353 81.871 32.458 C 80.32 31.558 79.102 30.323 78.21 28.743 C 77.318 27.163 76.877 25.354 76.877 23.314 Z M 80.719 23.314 C 80.719 24.703 80.994 25.928 81.549 26.991 C 82.104 28.054 82.862 28.882 83.834 29.48 C 84.807 30.079 85.926 30.38 87.192 30.38 C 88.458 30.38 89.577 30.084 90.55 29.48 C 91.522 28.882 92.285 28.049 92.836 26.991 C 93.386 25.928 93.666 24.707 93.666 23.314 C 93.666 21.921 93.386 20.667 92.836 19.619 C 92.281 18.57 91.522 17.747 90.55 17.148 C 89.577 16.55 88.463 16.248 87.192 16.248 C 85.921 16.248 84.807 16.545 83.834 17.148 C 82.862 17.747 82.104 18.57 81.549 19.619 C 80.994 20.667 80.719 21.897 80.719 23.314 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 104.023 33.32 L 100.22 33.32 L 100.22 13.352 L 103.615 13.352 L 104.141 17.029 L 103.658 16.703 C 104.061 15.588 104.81 14.654 105.901 13.907 C 106.992 13.161 108.319 12.782 109.884 12.782 C 111.639 12.782 113.095 13.261 114.252 14.214 C 115.415 15.166 116.168 16.435 116.519 18.01 L 115.832 18.01 C 116.102 16.43 116.842 15.166 118.056 14.214 C 119.27 13.261 120.764 12.782 122.547 12.782 C 124.814 12.782 126.592 13.448 127.887 14.784 C 129.182 16.119 129.831 17.943 129.831 20.255 L 129.831 33.32 L 126.109 33.32 L 126.109 21.194 C 126.109 19.614 125.71 18.398 124.914 17.541 C 124.117 16.684 123.045 16.253 121.698 16.253 C 120.754 16.253 119.925 16.464 119.208 16.885 C 118.492 17.306 117.932 17.914 117.529 18.704 C 117.127 19.494 116.922 20.418 116.922 21.481 L 116.922 33.324 L 113.162 33.324 L 113.162 21.155 C 113.162 19.575 112.768 18.374 111.99 17.541 C 111.208 16.713 110.141 16.296 108.794 16.296 C 107.85 16.296 107.02 16.507 106.304 16.928 C 105.588 17.349 105.029 17.948 104.625 18.723 C 104.222 19.499 104.018 20.418 104.018 21.481 L 104.018 33.324 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 133.63 42.262 L 133.63 13.352 L 137.069 13.352 L 137.353 16.947 C 137.998 15.559 138.965 14.515 140.246 13.821 C 141.526 13.127 142.949 12.778 144.514 12.778 C 146.401 12.778 148.033 13.223 149.408 14.104 C 150.784 14.989 151.841 16.215 152.586 17.78 C 153.325 19.346 153.695 21.151 153.695 23.19 C 153.695 25.229 153.34 27.053 152.624 28.662 C 151.907 30.27 150.873 31.534 149.508 32.458 C 148.142 33.382 146.482 33.846 144.514 33.846 C 142.92 33.846 141.507 33.521 140.264 32.865 C 139.022 32.209 138.078 31.271 137.434 30.045 L 137.434 42.253 L 133.63 42.253 Z M 137.472 23.358 C 137.472 24.693 137.718 25.895 138.221 26.972 C 138.719 28.049 139.435 28.887 140.364 29.485 C 141.294 30.084 142.408 30.385 143.703 30.385 C 144.998 30.385 146.102 30.079 147.018 29.466 C 147.933 28.853 148.64 28.015 149.142 26.953 C 149.64 25.89 149.892 24.693 149.892 23.362 C 149.892 22.031 149.646 20.748 149.142 19.686 C 148.644 18.623 147.933 17.795 147.018 17.196 C 146.098 16.598 144.998 16.296 143.703 16.296 C 142.408 16.296 141.294 16.598 140.364 17.196 C 139.435 17.795 138.719 18.628 138.221 19.686 C 137.723 20.748 137.472 21.974 137.472 23.362 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 160.33 33.32 L 156.527 33.32 L 156.527 3.265 L 160.33 3.265 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 172.992 33.808 C 171.076 33.808 169.379 33.363 167.894 32.482 C 166.409 31.596 165.252 30.376 164.413 28.805 C 163.579 27.24 163.157 25.421 163.157 23.353 C 163.157 21.285 163.569 19.418 164.39 17.838 C 165.21 16.258 166.348 15.023 167.79 14.123 C 169.231 13.223 170.91 12.778 172.826 12.778 C 174.742 12.778 176.35 13.185 177.74 14.003 C 179.129 14.822 180.206 15.961 180.979 17.431 C 181.747 18.901 182.131 20.629 182.131 22.615 L 182.131 24.047 L 165.182 24.085 L 165.262 21.514 L 178.327 21.514 C 178.327 19.853 177.829 18.522 176.829 17.512 C 175.833 16.507 174.495 16 172.826 16 C 171.555 16 170.474 16.277 169.573 16.837 C 168.667 17.397 167.979 18.211 167.51 19.288 C 167.04 20.365 166.803 21.648 166.803 23.147 C 166.803 25.54 167.344 27.388 168.421 28.681 C 169.502 29.973 171.053 30.62 173.073 30.62 C 174.557 30.62 175.772 30.323 176.715 29.72 C 177.659 29.121 178.295 28.25 178.617 27.106 L 182.178 27.106 C 181.695 29.227 180.656 30.878 179.062 32.046 C 177.469 33.219 175.449 33.803 172.997 33.803 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 182.619 13.352 L 194.186 13.352 L 194.186 16.579 L 182.619 16.579 Z M 190.302 33.32 L 186.498 33.32 L 186.498 7.105 L 190.302 7.105 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 204.463 33.808 C 202.547 33.808 200.849 33.363 199.365 32.482 C 197.881 31.596 196.719 30.376 195.884 28.805 C 195.049 27.24 194.627 25.421 194.627 23.353 C 194.627 21.285 195.04 19.418 195.86 17.838 C 196.681 16.258 197.814 15.023 199.256 14.123 C 200.697 13.223 202.377 12.778 204.292 12.778 C 206.209 12.778 207.821 13.185 209.21 14.003 C 210.6 14.822 211.676 15.961 212.445 17.431 C 213.213 18.901 213.597 20.629 213.597 22.615 L 213.597 24.047 L 196.647 24.085 L 196.728 21.514 L 209.794 21.514 C 209.794 19.853 209.296 18.522 208.295 17.512 C 207.294 16.507 205.962 16 204.288 16 C 203.021 16 201.936 16.277 201.034 16.837 C 200.129 17.397 199.441 18.211 198.971 19.288 C 198.502 20.365 198.265 21.648 198.265 23.147 C 198.265 25.54 198.805 27.388 199.882 28.681 C 200.958 29.973 202.509 30.62 204.534 30.62 C 206.019 30.62 207.228 30.323 208.177 29.72 C 209.12 29.121 209.756 28.25 210.078 27.106 L 213.64 27.106 C 213.156 29.227 212.117 30.878 210.524 32.046 C 208.931 33.219 206.91 33.803 204.459 33.803 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 38.449 38.858 C 34.072 43.277 28.286 45.484 22.5 45.484 C 16.715 45.484 10.938 43.277 6.561 38.858 C -2.193 30.036 -2.193 15.506 6.561 6.669 L 12.238 12.399 C 9.61 15.052 7.984 18.719 7.984 22.769 C 7.984 23.161 7.998 23.554 8.031 23.937 C 8.031 24.023 8.045 24.119 8.055 24.205 C 8.771 31.615 14.96 37.422 22.496 37.422 C 26.508 37.422 30.14 35.78 32.768 33.128 L 38.445 38.858 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.051 22.769 C 45.051 28.796 42.67 34.588 38.449 38.859 L 32.772 33.128 C 35.4 30.476 37.026 26.809 37.026 22.769 C 37.026 21.96 36.965 21.175 36.832 20.399 L 37.804 19.442 L 43.324 14.056 C 44.453 16.794 45.051 19.748 45.051 22.769 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 42.205 11.725 L 36.116 17.675 L 20.675 32.784 L 11.327 23.937 L 15.667 19.15 L 20.637 23.827 L 32.526 12.17 L 38.288 6.526 C 38.35 6.573 38.397 6.626 38.444 6.674 C 39.938 8.182 41.205 9.891 42.2 11.729 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 8.031 23.937 L 7.908 24.071 L 8.055 24.205 C 8.041 24.119 8.031 24.023 8.031 23.937 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 36.467 4.888 L 30.838 10.398 L 30.619 10.609 C 28.296 9.024 25.502 8.105 22.5 8.105 C 18.503 8.105 14.865 9.747 12.238 12.399 L 6.561 6.669 C 10.777 2.399 16.53 0.005 22.5 0.005 C 27.594 0.005 32.516 1.734 36.467 4.888 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11290293132},n699I8gTW:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 264 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss10443396791_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.421 0.697 L 263.421 55.697 Z\" fill=\"transparent\"></path><path d=\"M 69.998 28.541 C 69.998 25.979 70.501 23.732 71.519 21.801 C 72.531 19.87 73.941 18.361 75.737 17.261 C 77.533 16.161 79.61 15.616 81.974 15.616 C 85.034 15.616 87.579 16.43 89.609 18.062 C 91.639 19.695 92.85 21.854 93.254 24.551 L 88.561 24.551 C 88.164 22.989 87.38 21.807 86.216 21.005 C 85.051 20.21 83.688 19.806 82.126 19.806 C 80.663 19.806 79.365 20.163 78.236 20.877 C 77.1 21.59 76.223 22.597 75.591 23.896 C 74.959 25.195 74.643 26.722 74.643 28.489 C 74.643 30.256 74.942 31.777 75.544 33.053 C 76.141 34.334 76.989 35.335 78.089 36.048 C 79.189 36.762 80.465 37.119 81.933 37.119 C 83.595 37.119 85.028 36.704 86.227 35.873 C 87.427 35.042 88.222 33.907 88.62 32.479 L 93.312 32.479 C 93.014 34.246 92.341 35.779 91.294 37.096 C 90.247 38.412 88.913 39.442 87.298 40.191 C 85.683 40.94 83.899 41.314 81.933 41.314 C 79.534 41.314 77.452 40.782 75.667 39.717 C 73.889 38.652 72.502 37.166 71.502 35.253 C 70.501 33.339 70.004 31.104 70.004 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 94.845 28.489 C 94.845 25.99 95.395 23.779 96.489 21.848 C 97.589 19.917 99.093 18.407 101.006 17.307 C 102.919 16.207 105.107 15.663 107.57 15.663 C 110.033 15.663 112.209 16.213 114.105 17.307 C 116.001 18.407 117.498 19.917 118.598 21.848 C 119.693 23.779 120.242 25.99 120.242 28.489 C 120.242 30.987 119.693 33.199 118.598 35.124 C 117.498 37.055 116.001 38.57 114.105 39.664 C 112.209 40.759 110.027 41.308 107.57 41.308 C 105.113 41.308 102.919 40.759 101.006 39.664 C 99.093 38.564 97.589 37.055 96.489 35.124 C 95.389 33.193 94.845 30.981 94.845 28.489 Z M 99.584 28.489 C 99.584 30.186 99.923 31.684 100.608 32.982 C 101.293 34.281 102.228 35.294 103.428 36.025 C 104.627 36.756 106.008 37.125 107.57 37.125 C 109.132 37.125 110.513 36.762 111.712 36.025 C 112.912 35.294 113.853 34.276 114.532 32.982 C 115.211 31.684 115.556 30.192 115.556 28.489 C 115.556 26.786 115.211 25.253 114.532 23.972 C 113.847 22.69 112.912 21.684 111.712 20.953 C 110.513 20.221 109.138 19.853 107.57 19.853 C 106.002 19.853 104.627 20.215 103.428 20.953 C 102.228 21.684 101.293 22.69 100.608 23.972 C 99.923 25.253 99.584 26.757 99.584 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.333 40.718 L 123.641 40.718 L 123.641 16.313 L 127.83 16.313 L 128.48 20.806 L 127.883 20.408 C 128.38 19.045 129.305 17.904 130.65 16.991 C 131.996 16.079 133.634 15.616 135.564 15.616 C 137.729 15.616 139.525 16.202 140.953 17.366 C 142.387 18.53 143.316 20.081 143.749 22.006 L 142.901 22.006 C 143.234 20.075 144.147 18.53 145.645 17.366 C 147.143 16.202 148.986 15.616 151.186 15.616 C 153.982 15.616 156.176 16.43 157.773 18.062 C 159.371 19.695 160.172 21.924 160.172 24.75 L 160.172 40.718 L 155.579 40.718 L 155.579 25.897 C 155.579 23.966 155.088 22.48 154.105 21.432 C 153.122 20.385 151.8 19.858 150.138 19.858 C 148.974 19.858 147.95 20.116 147.066 20.631 C 146.183 21.146 145.493 21.889 144.996 22.854 C 144.498 23.82 144.246 24.949 144.246 26.248 L 144.246 40.723 L 139.607 40.723 L 139.607 25.85 C 139.607 23.919 139.121 22.451 138.162 21.432 C 137.197 20.42 135.88 19.911 134.219 19.911 C 133.055 19.911 132.031 20.169 131.147 20.683 C 130.264 21.198 129.574 21.93 129.076 22.878 C 128.579 23.826 128.328 24.949 128.328 26.248 L 128.328 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 164.858 51.647 L 164.858 16.313 L 169.1 16.313 L 169.451 20.707 C 170.246 19.01 171.44 17.735 173.02 16.886 C 174.599 16.038 176.355 15.611 178.285 15.611 C 180.613 15.611 182.626 16.155 184.323 17.231 C 186.019 18.314 187.324 19.812 188.243 21.725 C 189.155 23.638 189.611 25.844 189.611 28.337 C 189.611 30.829 189.173 33.059 188.29 35.025 C 187.405 36.99 186.13 38.535 184.446 39.664 C 182.761 40.794 180.712 41.361 178.285 41.361 C 176.319 41.361 174.576 40.963 173.042 40.162 C 171.51 39.36 170.345 38.213 169.55 36.715 L 169.55 51.636 L 164.858 51.636 Z M 169.597 28.542 C 169.597 30.174 169.901 31.643 170.522 32.959 C 171.136 34.276 172.019 35.3 173.165 36.031 C 174.312 36.762 175.687 37.131 177.285 37.131 C 178.882 37.131 180.245 36.756 181.374 36.008 C 182.503 35.259 183.375 34.235 183.995 32.936 C 184.609 31.637 184.919 30.174 184.919 28.547 C 184.919 26.921 184.615 25.353 183.995 24.054 C 183.38 22.755 182.503 21.743 181.374 21.011 C 180.239 20.28 178.882 19.911 177.285 19.911 C 175.687 19.911 174.312 20.28 173.165 21.011 C 172.019 21.743 171.136 22.761 170.522 24.054 C 169.907 25.353 169.597 26.851 169.597 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 197.796 40.718 L 193.104 40.718 L 193.104 3.985 L 197.796 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.417 41.314 C 211.053 41.314 208.959 40.77 207.128 39.694 C 205.296 38.611 203.869 37.119 202.834 35.2 C 201.804 33.287 201.283 31.063 201.283 28.536 C 201.283 26.008 201.792 23.726 202.804 21.795 C 203.816 19.864 205.22 18.355 206.999 17.255 C 208.777 16.155 210.849 15.611 213.212 15.611 C 215.576 15.611 217.559 16.108 219.274 17.109 C 220.988 18.109 222.316 19.502 223.269 21.298 C 224.217 23.094 224.691 25.206 224.691 27.635 L 224.691 29.384 L 203.782 29.431 L 203.881 26.289 L 219.999 26.289 C 219.999 24.259 219.384 22.632 218.15 21.397 C 216.922 20.169 215.271 19.549 213.212 19.549 C 211.644 19.549 210.31 19.888 209.199 20.572 C 208.081 21.257 207.233 22.252 206.654 23.568 C 206.074 24.885 205.782 26.453 205.782 28.284 C 205.782 31.21 206.449 33.468 207.777 35.048 C 209.111 36.628 211.024 37.418 213.517 37.418 C 215.347 37.418 216.846 37.055 218.01 36.318 C 219.174 35.586 219.958 34.521 220.356 33.123 L 224.749 33.123 C 224.153 35.715 222.871 37.734 220.905 39.161 C 218.94 40.595 216.447 41.309 213.423 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.293 16.313 L 239.562 16.313 L 239.562 20.256 L 225.293 20.256 Z M 234.771 40.718 L 230.079 40.718 L 230.079 8.677 L 234.771 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.241 41.314 C 249.877 41.314 247.783 40.77 245.951 39.694 C 244.121 38.611 242.687 37.119 241.657 35.2 C 240.628 33.287 240.107 31.063 240.107 28.536 C 240.107 26.008 240.616 23.726 241.628 21.795 C 242.64 19.864 244.038 18.355 245.817 17.255 C 247.595 16.155 249.667 15.611 252.03 15.611 C 254.394 15.611 256.383 16.108 258.097 17.109 C 259.812 18.109 261.139 19.502 262.088 21.298 C 263.035 23.094 263.509 25.206 263.509 27.635 L 263.509 29.384 L 242.599 29.431 L 242.698 26.289 L 258.817 26.289 C 258.817 24.259 258.202 22.632 256.968 21.397 C 255.733 20.169 254.089 19.549 252.024 19.549 C 250.462 19.549 249.123 19.888 248.011 20.572 C 246.894 21.257 246.045 22.252 245.466 23.568 C 244.887 24.885 244.594 26.453 244.594 28.284 C 244.594 31.21 245.261 33.468 246.589 35.048 C 247.917 36.628 249.83 37.418 252.328 37.418 C 254.16 37.418 255.652 37.055 256.822 36.318 C 257.986 35.586 258.77 34.521 259.167 33.123 L 263.562 33.123 C 262.964 35.715 261.683 37.734 259.718 39.161 C 257.752 40.595 255.26 41.309 252.235 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.439 47.487 C 42.039 52.888 34.901 55.585 27.763 55.585 C 20.626 55.585 13.5 52.888 8.1 47.487 C -2.7 36.704 -2.7 18.946 8.1 8.145 L 15.103 15.148 C 11.862 18.39 9.855 22.872 9.855 27.822 C 9.855 28.302 9.873 28.781 9.914 29.249 C 9.914 29.355 9.931 29.472 9.943 29.577 C 10.826 38.635 18.461 45.732 27.758 45.732 C 32.707 45.732 37.189 43.725 40.43 40.483 L 47.433 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.582 27.822 C 55.582 35.188 52.646 42.268 47.439 47.487 L 40.436 40.484 C 43.677 37.242 45.683 32.76 45.683 27.822 C 45.683 26.833 45.607 25.873 45.444 24.926 L 46.643 23.755 L 53.453 17.173 C 54.845 20.52 55.582 24.13 55.582 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.072 14.323 L 44.56 21.596 L 25.511 40.062 L 13.98 29.25 L 19.333 23.398 L 25.464 29.115 L 40.131 14.868 L 47.24 7.969 C 47.316 8.028 47.374 8.092 47.433 8.151 C 49.276 9.994 50.838 12.083 52.066 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.914 29.25 L 9.762 29.413 L 9.943 29.577 C 9.925 29.472 9.914 29.355 9.914 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 44.993 5.968 L 38.049 12.703 L 37.78 12.96 C 34.913 11.023 31.467 9.9 27.763 9.9 C 22.832 9.9 18.344 11.907 15.103 15.148 L 8.1 8.145 C 13.301 2.926 20.398 0 27.763 0 C 34.047 0 40.12 2.112 44.993 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:10443396791},VKrzHFZeI:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 166 35\"><g transform=\"translate(0.211 -0.245)\" id=\"ss10871547541_1\"><path d=\"M 0.043 35.502 L 0.043 0.502 L 165.585 0.502 L 165.585 35.502 Z\" fill=\"transparent\"></path><path d=\"M 43.963 18.221 C 43.963 16.59 44.279 15.161 44.919 13.932 C 45.556 12.703 46.442 11.743 47.572 11.043 C 48.701 10.343 50.007 9.996 51.493 9.996 C 53.417 9.996 55.017 10.514 56.294 11.553 C 57.57 12.591 58.332 13.965 58.586 15.682 L 55.635 15.682 C 55.385 14.688 54.892 13.936 54.16 13.426 C 53.428 12.919 52.571 12.662 51.589 12.662 C 50.669 12.662 49.852 12.889 49.142 13.344 C 48.429 13.798 47.877 14.438 47.48 15.265 C 47.082 16.091 46.884 17.063 46.884 18.188 C 46.884 19.312 47.071 20.28 47.45 21.092 C 47.825 21.907 48.359 22.544 49.05 22.998 C 49.742 23.453 50.544 23.68 51.467 23.68 C 52.512 23.68 53.413 23.415 54.167 22.887 C 54.922 22.358 55.422 21.636 55.672 20.727 L 58.622 20.727 C 58.435 21.852 58.012 22.827 57.353 23.665 C 56.695 24.503 55.856 25.158 54.841 25.635 C 53.825 26.111 52.703 26.349 51.467 26.349 C 49.959 26.349 48.649 26.011 47.527 25.333 C 46.409 24.655 45.537 23.71 44.908 22.492 C 44.279 21.274 43.966 19.852 43.966 18.221 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 59.586 18.188 C 59.586 16.598 59.932 15.19 60.62 13.962 C 61.312 12.733 62.257 11.772 63.46 11.072 C 64.663 10.372 66.039 10.026 67.588 10.026 C 69.136 10.026 70.505 10.376 71.697 11.072 C 72.889 11.772 73.83 12.733 74.522 13.962 C 75.21 15.19 75.556 16.598 75.556 18.188 C 75.556 19.778 75.21 21.185 74.522 22.41 C 73.83 23.639 72.889 24.603 71.697 25.299 C 70.505 25.996 69.132 26.346 67.588 26.346 C 66.043 26.346 64.663 25.996 63.46 25.299 C 62.257 24.599 61.312 23.639 60.62 22.41 C 59.928 21.181 59.586 19.774 59.586 18.188 Z M 62.566 18.188 C 62.566 19.268 62.779 20.221 63.21 21.047 C 63.64 21.874 64.229 22.518 64.983 22.984 C 65.737 23.449 66.605 23.684 67.588 23.684 C 68.57 23.684 69.438 23.453 70.192 22.984 C 70.946 22.518 71.538 21.87 71.965 21.047 C 72.392 20.221 72.609 19.271 72.609 18.188 C 72.609 17.104 72.392 16.129 71.965 15.313 C 71.535 14.498 70.946 13.857 70.192 13.392 C 69.438 12.927 68.573 12.692 67.588 12.692 C 66.602 12.692 65.737 12.923 64.983 13.392 C 64.229 13.857 63.64 14.498 63.21 15.313 C 62.779 16.129 62.566 17.086 62.566 18.188 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 80.643 25.97 L 77.693 25.97 L 77.693 10.439 L 80.327 10.439 L 80.735 13.299 L 80.36 13.046 C 80.673 12.178 81.254 11.452 82.1 10.871 C 82.946 10.29 83.976 9.996 85.19 9.996 C 86.551 9.996 87.681 10.369 88.578 11.11 C 89.48 11.851 90.064 12.837 90.337 14.062 L 89.803 14.062 C 90.013 12.834 90.587 11.851 91.528 11.11 C 92.471 10.369 93.629 9.996 95.013 9.996 C 96.771 9.996 98.15 10.514 99.154 11.553 C 100.159 12.591 100.663 14.01 100.663 15.809 L 100.663 25.97 L 97.775 25.97 L 97.775 16.538 C 97.775 15.31 97.466 14.364 96.848 13.697 C 96.23 13.031 95.399 12.696 94.354 12.696 C 93.622 12.696 92.978 12.86 92.422 13.187 C 91.867 13.515 91.433 13.988 91.12 14.602 C 90.808 15.216 90.649 15.935 90.649 16.762 L 90.649 25.973 L 87.732 25.973 L 87.732 16.509 C 87.732 15.28 87.427 14.345 86.823 13.697 C 86.217 13.053 85.389 12.729 84.344 12.729 C 83.612 12.729 82.968 12.893 82.413 13.221 C 81.857 13.548 81.423 14.014 81.11 14.617 C 80.798 15.22 80.64 15.935 80.64 16.762 L 80.64 25.973 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 103.61 32.925 L 103.61 10.439 L 106.277 10.439 L 106.497 13.236 C 106.997 12.156 107.748 11.344 108.742 10.804 C 109.735 10.264 110.838 9.993 112.052 9.993 C 113.516 9.993 114.782 10.339 115.849 11.024 C 116.915 11.713 117.736 12.666 118.314 13.884 C 118.887 15.101 119.174 16.505 119.174 18.091 C 119.174 19.677 118.898 21.096 118.343 22.347 C 117.787 23.598 116.985 24.581 115.926 25.3 C 114.866 26.018 113.579 26.379 112.052 26.379 C 110.816 26.379 109.72 26.126 108.756 25.616 C 107.792 25.106 107.06 24.376 106.56 23.423 L 106.56 32.918 L 103.61 32.918 Z M 106.589 18.221 C 106.589 19.26 106.78 20.195 107.171 21.033 C 107.557 21.87 108.112 22.522 108.833 22.987 C 109.554 23.453 110.419 23.687 111.423 23.687 C 112.428 23.687 113.284 23.449 113.994 22.972 C 114.704 22.496 115.253 21.844 115.642 21.018 C 116.029 20.191 116.224 19.26 116.224 18.225 C 116.224 17.19 116.033 16.192 115.642 15.365 C 115.256 14.539 114.704 13.895 113.994 13.429 C 113.281 12.964 112.428 12.729 111.423 12.729 C 110.419 12.729 109.554 12.964 108.833 13.429 C 108.112 13.895 107.557 14.543 107.171 15.365 C 106.785 16.192 106.589 17.145 106.589 18.225 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 124.32 25.97 L 121.37 25.97 L 121.37 2.594 L 124.32 2.594 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 134.143 26.35 C 132.656 26.35 131.34 26.003 130.188 25.318 C 129.037 24.629 128.139 23.68 127.488 22.459 C 126.841 21.241 126.513 19.826 126.513 18.218 C 126.513 16.609 126.833 15.157 127.47 13.928 C 128.106 12.7 128.989 11.739 130.107 11.039 C 131.225 10.339 132.528 9.993 134.014 9.993 C 135.5 9.993 136.747 10.309 137.825 10.946 C 138.903 11.583 139.738 12.469 140.338 13.612 C 140.934 14.755 141.232 16.099 141.232 17.644 L 141.232 18.758 L 128.084 18.787 L 128.147 16.788 L 138.281 16.788 C 138.281 15.496 137.895 14.461 137.119 13.675 C 136.347 12.893 135.309 12.498 134.014 12.498 C 133.028 12.498 132.189 12.714 131.491 13.15 C 130.788 13.586 130.254 14.219 129.89 15.056 C 129.526 15.894 129.342 16.892 129.342 18.058 C 129.342 19.919 129.761 21.356 130.597 22.362 C 131.435 23.367 132.638 23.87 134.205 23.87 C 135.357 23.87 136.299 23.639 137.031 23.17 C 137.763 22.704 138.256 22.027 138.506 21.137 L 141.268 21.137 C 140.893 22.786 140.087 24.071 138.851 24.979 C 137.615 25.892 136.048 26.346 134.147 26.346 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 141.61 10.439 L 150.583 10.439 L 150.583 12.949 L 141.61 12.949 Z M 147.57 25.97 L 144.62 25.97 L 144.62 5.58 L 147.57 5.58 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 158.555 26.35 C 157.068 26.35 155.752 26.003 154.6 25.318 C 153.449 24.629 152.547 23.68 151.9 22.459 C 151.253 21.241 150.925 19.826 150.925 18.218 C 150.925 16.609 151.245 15.157 151.882 13.928 C 152.518 12.7 153.397 11.739 154.516 11.039 C 155.634 10.339 156.936 9.993 158.422 9.993 C 159.909 9.993 161.159 10.309 162.237 10.946 C 163.315 11.583 164.15 12.469 164.746 13.612 C 165.342 14.755 165.64 16.099 165.64 17.644 L 165.64 18.758 L 152.492 18.787 L 152.555 16.788 L 162.69 16.788 C 162.69 15.496 162.303 14.461 161.527 13.675 C 160.751 12.893 159.717 12.498 158.419 12.498 C 157.436 12.498 156.594 12.714 155.895 13.15 C 155.193 13.586 154.659 14.219 154.295 15.056 C 153.931 15.894 153.747 16.892 153.747 18.058 C 153.747 19.919 154.166 21.356 155.001 22.362 C 155.836 23.367 157.039 23.87 158.61 23.87 C 159.761 23.87 160.699 23.639 161.435 23.17 C 162.167 22.704 162.66 22.027 162.91 21.137 L 165.673 21.137 C 165.298 22.786 164.492 24.071 163.256 24.979 C 162.02 25.892 160.453 26.346 158.551 26.346 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 29.778 30.278 C 26.382 33.714 21.894 35.431 17.406 35.431 C 12.918 35.431 8.437 33.714 5.042 30.278 C -1.749 23.415 -1.749 12.115 5.042 5.241 L 9.445 9.698 C 7.407 11.761 6.146 14.613 6.146 17.763 C 6.146 18.069 6.157 18.374 6.182 18.672 C 6.182 18.739 6.193 18.813 6.201 18.88 C 6.756 24.644 11.557 29.161 17.402 29.161 C 20.515 29.161 23.333 27.883 25.371 25.821 L 29.774 30.278 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 34.898 17.763 C 34.898 22.451 33.052 26.956 29.778 30.278 L 25.374 25.821 C 27.412 23.758 28.674 20.906 28.674 17.763 C 28.674 17.134 28.626 16.523 28.523 15.92 L 29.277 15.176 L 33.559 10.987 C 34.435 13.116 34.898 15.414 34.898 17.763 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 32.691 9.173 L 27.968 13.802 L 15.99 25.553 L 8.739 18.672 L 12.105 14.948 L 15.96 18.586 L 25.183 9.52 L 29.653 5.13 C 29.7 5.167 29.737 5.208 29.774 5.245 C 30.933 6.418 31.915 7.747 32.688 9.177 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.182 18.672 L 6.087 18.776 L 6.201 18.88 C 6.19 18.813 6.182 18.739 6.182 18.672 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.24 3.856 L 23.873 8.142 L 23.704 8.306 C 21.902 7.073 19.735 6.359 17.406 6.359 C 14.305 6.359 11.483 7.636 9.445 9.698 L 5.042 5.241 C 8.312 1.92 12.775 0.059 17.406 0.059 C 21.357 0.059 25.176 1.403 28.24 3.856 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:10871547541}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-122iw86\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 264 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss1853462199_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.421 0.697 L 263.421 55.697 Z\" fill=\"transparent\"></path><path d=\"M 69.998 28.541 C 69.998 25.979 70.501 23.732 71.519 21.801 C 72.531 19.87 73.941 18.361 75.737 17.261 C 77.533 16.161 79.61 15.616 81.974 15.616 C 85.034 15.616 87.579 16.43 89.609 18.062 C 91.639 19.695 92.85 21.854 93.254 24.551 L 88.561 24.551 C 88.164 22.989 87.38 21.807 86.216 21.005 C 85.051 20.21 83.688 19.806 82.126 19.806 C 80.663 19.806 79.365 20.163 78.236 20.877 C 77.1 21.59 76.223 22.597 75.591 23.896 C 74.959 25.195 74.643 26.722 74.643 28.489 C 74.643 30.256 74.942 31.777 75.544 33.053 C 76.141 34.334 76.989 35.335 78.089 36.048 C 79.189 36.762 80.465 37.119 81.933 37.119 C 83.595 37.119 85.028 36.704 86.227 35.873 C 87.427 35.042 88.222 33.907 88.62 32.479 L 93.312 32.479 C 93.014 34.246 92.341 35.779 91.294 37.096 C 90.247 38.412 88.913 39.442 87.298 40.191 C 85.683 40.94 83.899 41.314 81.933 41.314 C 79.534 41.314 77.452 40.782 75.667 39.717 C 73.889 38.652 72.502 37.166 71.502 35.253 C 70.501 33.339 70.004 31.104 70.004 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 94.845 28.489 C 94.845 25.99 95.395 23.779 96.489 21.848 C 97.589 19.917 99.093 18.407 101.006 17.307 C 102.919 16.207 105.107 15.663 107.57 15.663 C 110.033 15.663 112.209 16.213 114.105 17.307 C 116.001 18.407 117.498 19.917 118.598 21.848 C 119.693 23.779 120.242 25.99 120.242 28.489 C 120.242 30.987 119.693 33.199 118.598 35.124 C 117.498 37.055 116.001 38.57 114.105 39.664 C 112.209 40.759 110.027 41.308 107.57 41.308 C 105.113 41.308 102.919 40.759 101.006 39.664 C 99.093 38.564 97.589 37.055 96.489 35.124 C 95.389 33.193 94.845 30.981 94.845 28.489 Z M 99.584 28.489 C 99.584 30.186 99.923 31.684 100.608 32.982 C 101.293 34.281 102.228 35.294 103.428 36.025 C 104.627 36.756 106.008 37.125 107.57 37.125 C 109.132 37.125 110.513 36.762 111.712 36.025 C 112.912 35.294 113.853 34.276 114.532 32.982 C 115.211 31.684 115.556 30.192 115.556 28.489 C 115.556 26.786 115.211 25.253 114.532 23.972 C 113.847 22.69 112.912 21.684 111.712 20.953 C 110.513 20.221 109.138 19.853 107.57 19.853 C 106.002 19.853 104.627 20.215 103.428 20.953 C 102.228 21.684 101.293 22.69 100.608 23.972 C 99.923 25.253 99.584 26.757 99.584 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.333 40.718 L 123.641 40.718 L 123.641 16.313 L 127.83 16.313 L 128.48 20.806 L 127.883 20.408 C 128.38 19.045 129.305 17.904 130.65 16.991 C 131.996 16.079 133.634 15.616 135.564 15.616 C 137.729 15.616 139.525 16.202 140.953 17.366 C 142.387 18.53 143.316 20.081 143.749 22.006 L 142.901 22.006 C 143.234 20.075 144.147 18.53 145.645 17.366 C 147.143 16.202 148.986 15.616 151.186 15.616 C 153.982 15.616 156.176 16.43 157.773 18.062 C 159.371 19.695 160.172 21.924 160.172 24.75 L 160.172 40.718 L 155.579 40.718 L 155.579 25.897 C 155.579 23.966 155.088 22.48 154.105 21.432 C 153.122 20.385 151.8 19.858 150.138 19.858 C 148.974 19.858 147.95 20.116 147.066 20.631 C 146.183 21.146 145.493 21.889 144.996 22.854 C 144.498 23.82 144.246 24.949 144.246 26.248 L 144.246 40.723 L 139.607 40.723 L 139.607 25.85 C 139.607 23.919 139.121 22.451 138.162 21.432 C 137.197 20.42 135.88 19.911 134.219 19.911 C 133.055 19.911 132.031 20.169 131.147 20.683 C 130.264 21.198 129.574 21.93 129.076 22.878 C 128.579 23.826 128.328 24.949 128.328 26.248 L 128.328 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 164.858 51.647 L 164.858 16.313 L 169.1 16.313 L 169.451 20.707 C 170.246 19.01 171.44 17.735 173.02 16.886 C 174.599 16.038 176.355 15.611 178.285 15.611 C 180.613 15.611 182.626 16.155 184.323 17.231 C 186.019 18.314 187.324 19.812 188.243 21.725 C 189.155 23.638 189.611 25.844 189.611 28.337 C 189.611 30.829 189.173 33.059 188.29 35.025 C 187.405 36.99 186.13 38.535 184.446 39.664 C 182.761 40.794 180.712 41.361 178.285 41.361 C 176.319 41.361 174.576 40.963 173.042 40.162 C 171.51 39.36 170.345 38.213 169.55 36.715 L 169.55 51.636 L 164.858 51.636 Z M 169.597 28.542 C 169.597 30.174 169.901 31.643 170.522 32.959 C 171.136 34.276 172.019 35.3 173.165 36.031 C 174.312 36.762 175.687 37.131 177.285 37.131 C 178.882 37.131 180.245 36.756 181.374 36.008 C 182.503 35.259 183.375 34.235 183.995 32.936 C 184.609 31.637 184.919 30.174 184.919 28.547 C 184.919 26.921 184.615 25.353 183.995 24.054 C 183.38 22.755 182.503 21.743 181.374 21.011 C 180.239 20.28 178.882 19.911 177.285 19.911 C 175.687 19.911 174.312 20.28 173.165 21.011 C 172.019 21.743 171.136 22.761 170.522 24.054 C 169.907 25.353 169.597 26.851 169.597 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 197.796 40.718 L 193.104 40.718 L 193.104 3.985 L 197.796 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.417 41.314 C 211.053 41.314 208.959 40.77 207.128 39.694 C 205.296 38.611 203.869 37.119 202.834 35.2 C 201.804 33.287 201.283 31.063 201.283 28.536 C 201.283 26.008 201.792 23.726 202.804 21.795 C 203.816 19.864 205.22 18.355 206.999 17.255 C 208.777 16.155 210.849 15.611 213.212 15.611 C 215.576 15.611 217.559 16.108 219.274 17.109 C 220.988 18.109 222.316 19.502 223.269 21.298 C 224.217 23.094 224.691 25.206 224.691 27.635 L 224.691 29.384 L 203.782 29.431 L 203.881 26.289 L 219.999 26.289 C 219.999 24.259 219.384 22.632 218.15 21.397 C 216.922 20.169 215.271 19.549 213.212 19.549 C 211.644 19.549 210.31 19.888 209.199 20.572 C 208.081 21.257 207.233 22.252 206.654 23.568 C 206.074 24.885 205.782 26.453 205.782 28.284 C 205.782 31.21 206.449 33.468 207.777 35.048 C 209.111 36.628 211.024 37.418 213.517 37.418 C 215.347 37.418 216.846 37.055 218.01 36.318 C 219.174 35.586 219.958 34.521 220.356 33.123 L 224.749 33.123 C 224.153 35.715 222.871 37.734 220.905 39.161 C 218.94 40.595 216.447 41.309 213.423 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.293 16.313 L 239.562 16.313 L 239.562 20.256 L 225.293 20.256 Z M 234.771 40.718 L 230.079 40.718 L 230.079 8.677 L 234.771 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.241 41.314 C 249.877 41.314 247.783 40.77 245.951 39.694 C 244.121 38.611 242.687 37.119 241.657 35.2 C 240.628 33.287 240.107 31.063 240.107 28.536 C 240.107 26.008 240.616 23.726 241.628 21.795 C 242.64 19.864 244.038 18.355 245.817 17.255 C 247.595 16.155 249.667 15.611 252.03 15.611 C 254.394 15.611 256.383 16.108 258.097 17.109 C 259.812 18.109 261.139 19.502 262.088 21.298 C 263.035 23.094 263.509 25.206 263.509 27.635 L 263.509 29.384 L 242.599 29.431 L 242.698 26.289 L 258.817 26.289 C 258.817 24.259 258.202 22.632 256.968 21.397 C 255.733 20.169 254.089 19.549 252.024 19.549 C 250.462 19.549 249.123 19.888 248.011 20.572 C 246.894 21.257 246.045 22.252 245.466 23.568 C 244.887 24.885 244.594 26.453 244.594 28.284 C 244.594 31.21 245.261 33.468 246.589 35.048 C 247.917 36.628 249.83 37.418 252.328 37.418 C 254.16 37.418 255.652 37.055 256.822 36.318 C 257.986 35.586 258.77 34.521 259.167 33.123 L 263.562 33.123 C 262.964 35.715 261.683 37.734 259.718 39.161 C 257.752 40.595 255.26 41.309 252.235 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.439 47.487 C 42.039 52.888 34.901 55.585 27.763 55.585 C 20.626 55.585 13.5 52.888 8.1 47.487 C -2.7 36.704 -2.7 18.946 8.1 8.145 L 15.103 15.148 C 11.862 18.39 9.855 22.872 9.855 27.822 C 9.855 28.302 9.873 28.781 9.914 29.249 C 9.914 29.355 9.931 29.472 9.943 29.577 C 10.826 38.635 18.461 45.732 27.758 45.732 C 32.707 45.732 37.189 43.725 40.43 40.483 L 47.433 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.582 27.822 C 55.582 35.188 52.646 42.268 47.439 47.487 L 40.436 40.484 C 43.677 37.242 45.683 32.76 45.683 27.822 C 45.683 26.833 45.607 25.873 45.444 24.926 L 46.643 23.755 L 53.453 17.173 C 54.845 20.52 55.582 24.13 55.582 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.072 14.323 L 44.56 21.596 L 25.511 40.062 L 13.98 29.25 L 19.333 23.398 L 25.464 29.115 L 40.131 14.868 L 47.24 7.969 C 47.316 8.028 47.374 8.092 47.433 8.151 C 49.276 9.994 50.838 12.083 52.066 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.914 29.25 L 9.762 29.413 L 9.943 29.577 C 9.925 29.472 9.914 29.355 9.914 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 44.993 5.968 L 38.049 12.703 L 37.78 12.96 C 34.913 11.023 31.467 9.9 27.763 9.9 C 22.832 9.9 18.344 11.907 15.103 15.148 L 8.1 8.145 C 13.301 2.926 20.398 0 27.763 0 C 34.047 0 40.12 2.112 44.993 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:1853462199,withExternalLayout:true})})]}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-fad4afe5-f14b-48a0-b9bd-a63a8dba8f49, rgb(107, 110, 132))\"},children:\"Complete is the first solution to bring together every frictionless, enhanced and in-depth player financial risk check you need to maintain a safe and compliant gambling experience for all your customers.\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-color\":\"var(--token-fad4afe5-f14b-48a0-b9bd-a63a8dba8f49, rgb(107, 110, 132))\"},children:\"Complete is the first solution to bring together every frictionless, enhanced and in-depth player financial risk check you need to maintain a safe and compliant gambling experience for all your customers.\"})}),className:\"framer-ib1o1c\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]}),isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{background:{alt:\"\",fit:\"fit\",pixelHeight:1306,pixelWidth:2725,positionX:\"center\",positionY:\"center\",sizes:\"calc(100vw - 240px)\",src:\"https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png\",srcSet:\"https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=512 512w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png 2725w\"}},n699I8gTW:{background:{alt:\"\",fit:\"fit\",pixelHeight:1306,pixelWidth:2725,positionX:\"center\",positionY:\"center\",sizes:\"1030px\",src:\"https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png\",srcSet:\"https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=512 512w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png 2725w\"}}},children:/*#__PURE__*/_jsx(ImageWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:true,__framer__enter:animation3,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__targetOpacity:1,background:{alt:\"\",fit:\"fit\",pixelHeight:1306,pixelWidth:2725,positionX:\"center\",positionY:\"center\",sizes:\"960px\",src:\"https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png\",srcSet:\"https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=512 512w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/zy9UwHY4WYJ56KsiLp6hy5r1c.png 2725w\"},className:\"framer-yx3riz hidden-1gpl90e\"})})]}),/*#__PURE__*/_jsxs(\"header\",{className:\"framer-18wtu6h\",\"data-framer-name\":\"time saving\",name:\"time saving\",children:[/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition3},__framer__animateOnce:true,__framer__enter:animation4,__framer__styleAppearEffectEnabled:true,__framer__threshold:1,__perspectiveFX:false,__targetOpacity:1,className:\"framer-1t3ap5y\",style:{transformPerspective:1200},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-idrc3l\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 264 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss9651383140_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.421 0.697 L 263.421 55.697 Z\" fill=\"transparent\"></path><path d=\"M 69.998 28.541 C 69.998 25.979 70.501 23.732 71.519 21.801 C 72.531 19.87 73.941 18.361 75.737 17.261 C 77.533 16.161 79.61 15.616 81.974 15.616 C 85.034 15.616 87.579 16.43 89.609 18.062 C 91.639 19.695 92.85 21.854 93.254 24.551 L 88.561 24.551 C 88.164 22.989 87.38 21.807 86.216 21.005 C 85.051 20.21 83.688 19.806 82.126 19.806 C 80.663 19.806 79.365 20.163 78.236 20.877 C 77.1 21.59 76.223 22.597 75.591 23.896 C 74.959 25.195 74.643 26.722 74.643 28.489 C 74.643 30.256 74.942 31.777 75.544 33.053 C 76.141 34.334 76.989 35.335 78.089 36.048 C 79.189 36.762 80.465 37.119 81.933 37.119 C 83.595 37.119 85.028 36.704 86.227 35.873 C 87.427 35.042 88.222 33.907 88.62 32.479 L 93.312 32.479 C 93.014 34.246 92.341 35.779 91.294 37.096 C 90.247 38.412 88.913 39.442 87.298 40.191 C 85.683 40.94 83.899 41.314 81.933 41.314 C 79.534 41.314 77.452 40.782 75.667 39.717 C 73.889 38.652 72.502 37.166 71.502 35.253 C 70.501 33.339 70.004 31.104 70.004 28.541 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 94.845 28.489 C 94.845 25.99 95.395 23.779 96.489 21.848 C 97.589 19.917 99.093 18.407 101.006 17.307 C 102.919 16.207 105.107 15.663 107.57 15.663 C 110.033 15.663 112.209 16.213 114.105 17.307 C 116.001 18.407 117.498 19.917 118.598 21.848 C 119.693 23.779 120.242 25.99 120.242 28.489 C 120.242 30.987 119.693 33.199 118.598 35.124 C 117.498 37.055 116.001 38.57 114.105 39.664 C 112.209 40.759 110.027 41.308 107.57 41.308 C 105.113 41.308 102.919 40.759 101.006 39.664 C 99.093 38.564 97.589 37.055 96.489 35.124 C 95.389 33.193 94.845 30.981 94.845 28.489 Z M 99.584 28.489 C 99.584 30.186 99.923 31.684 100.608 32.982 C 101.293 34.281 102.228 35.294 103.428 36.025 C 104.627 36.756 106.008 37.125 107.57 37.125 C 109.132 37.125 110.513 36.762 111.712 36.025 C 112.912 35.294 113.853 34.276 114.532 32.982 C 115.211 31.684 115.556 30.192 115.556 28.489 C 115.556 26.786 115.211 25.253 114.532 23.972 C 113.847 22.69 112.912 21.684 111.712 20.953 C 110.513 20.221 109.138 19.853 107.57 19.853 C 106.002 19.853 104.627 20.215 103.428 20.953 C 102.228 21.684 101.293 22.69 100.608 23.972 C 99.923 25.253 99.584 26.757 99.584 28.489 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 128.333 40.718 L 123.641 40.718 L 123.641 16.313 L 127.83 16.313 L 128.48 20.806 L 127.883 20.408 C 128.38 19.045 129.305 17.904 130.65 16.991 C 131.996 16.079 133.634 15.616 135.564 15.616 C 137.729 15.616 139.525 16.202 140.953 17.366 C 142.387 18.53 143.316 20.081 143.749 22.006 L 142.901 22.006 C 143.234 20.075 144.147 18.53 145.645 17.366 C 147.143 16.202 148.986 15.616 151.186 15.616 C 153.982 15.616 156.176 16.43 157.773 18.062 C 159.371 19.695 160.172 21.924 160.172 24.75 L 160.172 40.718 L 155.579 40.718 L 155.579 25.897 C 155.579 23.966 155.088 22.48 154.105 21.432 C 153.122 20.385 151.8 19.858 150.138 19.858 C 148.974 19.858 147.95 20.116 147.066 20.631 C 146.183 21.146 145.493 21.889 144.996 22.854 C 144.498 23.82 144.246 24.949 144.246 26.248 L 144.246 40.723 L 139.607 40.723 L 139.607 25.85 C 139.607 23.919 139.121 22.451 138.162 21.432 C 137.197 20.42 135.88 19.911 134.219 19.911 C 133.055 19.911 132.031 20.169 131.147 20.683 C 130.264 21.198 129.574 21.93 129.076 22.878 C 128.579 23.826 128.328 24.949 128.328 26.248 L 128.328 40.723 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 164.858 51.647 L 164.858 16.313 L 169.1 16.313 L 169.451 20.707 C 170.246 19.01 171.44 17.735 173.02 16.886 C 174.599 16.038 176.355 15.611 178.285 15.611 C 180.613 15.611 182.626 16.155 184.323 17.231 C 186.019 18.314 187.324 19.812 188.243 21.725 C 189.155 23.638 189.611 25.844 189.611 28.337 C 189.611 30.829 189.173 33.059 188.29 35.025 C 187.405 36.99 186.13 38.535 184.446 39.664 C 182.761 40.794 180.712 41.361 178.285 41.361 C 176.319 41.361 174.576 40.963 173.042 40.162 C 171.51 39.36 170.345 38.213 169.55 36.715 L 169.55 51.636 L 164.858 51.636 Z M 169.597 28.542 C 169.597 30.174 169.901 31.643 170.522 32.959 C 171.136 34.276 172.019 35.3 173.165 36.031 C 174.312 36.762 175.687 37.131 177.285 37.131 C 178.882 37.131 180.245 36.756 181.374 36.008 C 182.503 35.259 183.375 34.235 183.995 32.936 C 184.609 31.637 184.919 30.174 184.919 28.547 C 184.919 26.921 184.615 25.353 183.995 24.054 C 183.38 22.755 182.503 21.743 181.374 21.011 C 180.239 20.28 178.882 19.911 177.285 19.911 C 175.687 19.911 174.312 20.28 173.165 21.011 C 172.019 21.743 171.136 22.761 170.522 24.054 C 169.907 25.353 169.597 26.851 169.597 28.547 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 197.796 40.718 L 193.104 40.718 L 193.104 3.985 L 197.796 3.985 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 213.417 41.314 C 211.053 41.314 208.959 40.77 207.128 39.694 C 205.296 38.611 203.869 37.119 202.834 35.2 C 201.804 33.287 201.283 31.063 201.283 28.536 C 201.283 26.008 201.792 23.726 202.804 21.795 C 203.816 19.864 205.22 18.355 206.999 17.255 C 208.777 16.155 210.849 15.611 213.212 15.611 C 215.576 15.611 217.559 16.108 219.274 17.109 C 220.988 18.109 222.316 19.502 223.269 21.298 C 224.217 23.094 224.691 25.206 224.691 27.635 L 224.691 29.384 L 203.782 29.431 L 203.881 26.289 L 219.999 26.289 C 219.999 24.259 219.384 22.632 218.15 21.397 C 216.922 20.169 215.271 19.549 213.212 19.549 C 211.644 19.549 210.31 19.888 209.199 20.572 C 208.081 21.257 207.233 22.252 206.654 23.568 C 206.074 24.885 205.782 26.453 205.782 28.284 C 205.782 31.21 206.449 33.468 207.777 35.048 C 209.111 36.628 211.024 37.418 213.517 37.418 C 215.347 37.418 216.846 37.055 218.01 36.318 C 219.174 35.586 219.958 34.521 220.356 33.123 L 224.749 33.123 C 224.153 35.715 222.871 37.734 220.905 39.161 C 218.94 40.595 216.447 41.309 213.423 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 225.293 16.313 L 239.562 16.313 L 239.562 20.256 L 225.293 20.256 Z M 234.771 40.718 L 230.079 40.718 L 230.079 8.677 L 234.771 8.677 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 252.241 41.314 C 249.877 41.314 247.783 40.77 245.951 39.694 C 244.121 38.611 242.687 37.119 241.657 35.2 C 240.628 33.287 240.107 31.063 240.107 28.536 C 240.107 26.008 240.616 23.726 241.628 21.795 C 242.64 19.864 244.038 18.355 245.817 17.255 C 247.595 16.155 249.667 15.611 252.03 15.611 C 254.394 15.611 256.383 16.108 258.097 17.109 C 259.812 18.109 261.139 19.502 262.088 21.298 C 263.035 23.094 263.509 25.206 263.509 27.635 L 263.509 29.384 L 242.599 29.431 L 242.698 26.289 L 258.817 26.289 C 258.817 24.259 258.202 22.632 256.968 21.397 C 255.733 20.169 254.089 19.549 252.024 19.549 C 250.462 19.549 249.123 19.888 248.011 20.572 C 246.894 21.257 246.045 22.252 245.466 23.568 C 244.887 24.885 244.594 26.453 244.594 28.284 C 244.594 31.21 245.261 33.468 246.589 35.048 C 247.917 36.628 249.83 37.418 252.328 37.418 C 254.16 37.418 255.652 37.055 256.822 36.318 C 257.986 35.586 258.77 34.521 259.167 33.123 L 263.562 33.123 C 262.964 35.715 261.683 37.734 259.718 39.161 C 257.752 40.595 255.26 41.309 252.235 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 47.439 47.487 C 42.039 52.888 34.901 55.585 27.763 55.585 C 20.626 55.585 13.5 52.888 8.1 47.487 C -2.7 36.704 -2.7 18.946 8.1 8.145 L 15.103 15.148 C 11.862 18.39 9.855 22.872 9.855 27.822 C 9.855 28.302 9.873 28.781 9.914 29.249 C 9.914 29.355 9.931 29.472 9.943 29.577 C 10.826 38.635 18.461 45.732 27.758 45.732 C 32.707 45.732 37.189 43.725 40.43 40.483 L 47.433 47.487 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 55.582 27.822 C 55.582 35.188 52.646 42.268 47.439 47.487 L 40.436 40.484 C 43.677 37.242 45.683 32.76 45.683 27.822 C 45.683 26.833 45.607 25.873 45.444 24.926 L 46.643 23.755 L 53.453 17.173 C 54.845 20.52 55.582 24.13 55.582 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.072 14.323 L 44.56 21.596 L 25.511 40.062 L 13.98 29.25 L 19.333 23.398 L 25.464 29.115 L 40.131 14.868 L 47.24 7.969 C 47.316 8.028 47.374 8.092 47.433 8.151 C 49.276 9.994 50.838 12.083 52.066 14.329 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 9.914 29.25 L 9.762 29.413 L 9.943 29.577 C 9.925 29.472 9.914 29.355 9.914 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 44.993 5.968 L 38.049 12.703 L 37.78 12.96 C 34.913 11.023 31.467 9.9 27.763 9.9 C 22.832 9.9 18.344 11.907 15.103 15.148 L 8.1 8.145 C 13.301 2.926 20.398 0 27.763 0 C 34.047 0 40.12 2.112 44.993 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:9651383140},n699I8gTW:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 264 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss9651383140_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.421 0.697 L 263.421 55.697 Z\" fill=\"transparent\"></path><path d=\"M 69.998 28.541 C 69.998 25.979 70.501 23.732 71.519 21.801 C 72.531 19.87 73.941 18.361 75.737 17.261 C 77.533 16.161 79.61 15.616 81.974 15.616 C 85.034 15.616 87.579 16.43 89.609 18.062 C 91.639 19.695 92.85 21.854 93.254 24.551 L 88.561 24.551 C 88.164 22.989 87.38 21.807 86.216 21.005 C 85.051 20.21 83.688 19.806 82.126 19.806 C 80.663 19.806 79.365 20.163 78.236 20.877 C 77.1 21.59 76.223 22.597 75.591 23.896 C 74.959 25.195 74.643 26.722 74.643 28.489 C 74.643 30.256 74.942 31.777 75.544 33.053 C 76.141 34.334 76.989 35.335 78.089 36.048 C 79.189 36.762 80.465 37.119 81.933 37.119 C 83.595 37.119 85.028 36.704 86.227 35.873 C 87.427 35.042 88.222 33.907 88.62 32.479 L 93.312 32.479 C 93.014 34.246 92.341 35.779 91.294 37.096 C 90.247 38.412 88.913 39.442 87.298 40.191 C 85.683 40.94 83.899 41.314 81.933 41.314 C 79.534 41.314 77.452 40.782 75.667 39.717 C 73.889 38.652 72.502 37.166 71.502 35.253 C 70.501 33.339 70.004 31.104 70.004 28.541 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 94.845 28.489 C 94.845 25.99 95.395 23.779 96.489 21.848 C 97.589 19.917 99.093 18.407 101.006 17.307 C 102.919 16.207 105.107 15.663 107.57 15.663 C 110.033 15.663 112.209 16.213 114.105 17.307 C 116.001 18.407 117.498 19.917 118.598 21.848 C 119.693 23.779 120.242 25.99 120.242 28.489 C 120.242 30.987 119.693 33.199 118.598 35.124 C 117.498 37.055 116.001 38.57 114.105 39.664 C 112.209 40.759 110.027 41.308 107.57 41.308 C 105.113 41.308 102.919 40.759 101.006 39.664 C 99.093 38.564 97.589 37.055 96.489 35.124 C 95.389 33.193 94.845 30.981 94.845 28.489 Z M 99.584 28.489 C 99.584 30.186 99.923 31.684 100.608 32.982 C 101.293 34.281 102.228 35.294 103.428 36.025 C 104.627 36.756 106.008 37.125 107.57 37.125 C 109.132 37.125 110.513 36.762 111.712 36.025 C 112.912 35.294 113.853 34.276 114.532 32.982 C 115.211 31.684 115.556 30.192 115.556 28.489 C 115.556 26.786 115.211 25.253 114.532 23.972 C 113.847 22.69 112.912 21.684 111.712 20.953 C 110.513 20.221 109.138 19.853 107.57 19.853 C 106.002 19.853 104.627 20.215 103.428 20.953 C 102.228 21.684 101.293 22.69 100.608 23.972 C 99.923 25.253 99.584 26.757 99.584 28.489 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 128.333 40.718 L 123.641 40.718 L 123.641 16.313 L 127.83 16.313 L 128.48 20.806 L 127.883 20.408 C 128.38 19.045 129.305 17.904 130.65 16.991 C 131.996 16.079 133.634 15.616 135.564 15.616 C 137.729 15.616 139.525 16.202 140.953 17.366 C 142.387 18.53 143.316 20.081 143.749 22.006 L 142.901 22.006 C 143.234 20.075 144.147 18.53 145.645 17.366 C 147.143 16.202 148.986 15.616 151.186 15.616 C 153.982 15.616 156.176 16.43 157.773 18.062 C 159.371 19.695 160.172 21.924 160.172 24.75 L 160.172 40.718 L 155.579 40.718 L 155.579 25.897 C 155.579 23.966 155.088 22.48 154.105 21.432 C 153.122 20.385 151.8 19.858 150.138 19.858 C 148.974 19.858 147.95 20.116 147.066 20.631 C 146.183 21.146 145.493 21.889 144.996 22.854 C 144.498 23.82 144.246 24.949 144.246 26.248 L 144.246 40.723 L 139.607 40.723 L 139.607 25.85 C 139.607 23.919 139.121 22.451 138.162 21.432 C 137.197 20.42 135.88 19.911 134.219 19.911 C 133.055 19.911 132.031 20.169 131.147 20.683 C 130.264 21.198 129.574 21.93 129.076 22.878 C 128.579 23.826 128.328 24.949 128.328 26.248 L 128.328 40.723 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 164.858 51.647 L 164.858 16.313 L 169.1 16.313 L 169.451 20.707 C 170.246 19.01 171.44 17.735 173.02 16.886 C 174.599 16.038 176.355 15.611 178.285 15.611 C 180.613 15.611 182.626 16.155 184.323 17.231 C 186.019 18.314 187.324 19.812 188.243 21.725 C 189.155 23.638 189.611 25.844 189.611 28.337 C 189.611 30.829 189.173 33.059 188.29 35.025 C 187.405 36.99 186.13 38.535 184.446 39.664 C 182.761 40.794 180.712 41.361 178.285 41.361 C 176.319 41.361 174.576 40.963 173.042 40.162 C 171.51 39.36 170.345 38.213 169.55 36.715 L 169.55 51.636 L 164.858 51.636 Z M 169.597 28.542 C 169.597 30.174 169.901 31.643 170.522 32.959 C 171.136 34.276 172.019 35.3 173.165 36.031 C 174.312 36.762 175.687 37.131 177.285 37.131 C 178.882 37.131 180.245 36.756 181.374 36.008 C 182.503 35.259 183.375 34.235 183.995 32.936 C 184.609 31.637 184.919 30.174 184.919 28.547 C 184.919 26.921 184.615 25.353 183.995 24.054 C 183.38 22.755 182.503 21.743 181.374 21.011 C 180.239 20.28 178.882 19.911 177.285 19.911 C 175.687 19.911 174.312 20.28 173.165 21.011 C 172.019 21.743 171.136 22.761 170.522 24.054 C 169.907 25.353 169.597 26.851 169.597 28.547 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 197.796 40.718 L 193.104 40.718 L 193.104 3.985 L 197.796 3.985 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 213.417 41.314 C 211.053 41.314 208.959 40.77 207.128 39.694 C 205.296 38.611 203.869 37.119 202.834 35.2 C 201.804 33.287 201.283 31.063 201.283 28.536 C 201.283 26.008 201.792 23.726 202.804 21.795 C 203.816 19.864 205.22 18.355 206.999 17.255 C 208.777 16.155 210.849 15.611 213.212 15.611 C 215.576 15.611 217.559 16.108 219.274 17.109 C 220.988 18.109 222.316 19.502 223.269 21.298 C 224.217 23.094 224.691 25.206 224.691 27.635 L 224.691 29.384 L 203.782 29.431 L 203.881 26.289 L 219.999 26.289 C 219.999 24.259 219.384 22.632 218.15 21.397 C 216.922 20.169 215.271 19.549 213.212 19.549 C 211.644 19.549 210.31 19.888 209.199 20.572 C 208.081 21.257 207.233 22.252 206.654 23.568 C 206.074 24.885 205.782 26.453 205.782 28.284 C 205.782 31.21 206.449 33.468 207.777 35.048 C 209.111 36.628 211.024 37.418 213.517 37.418 C 215.347 37.418 216.846 37.055 218.01 36.318 C 219.174 35.586 219.958 34.521 220.356 33.123 L 224.749 33.123 C 224.153 35.715 222.871 37.734 220.905 39.161 C 218.94 40.595 216.447 41.309 213.423 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 225.293 16.313 L 239.562 16.313 L 239.562 20.256 L 225.293 20.256 Z M 234.771 40.718 L 230.079 40.718 L 230.079 8.677 L 234.771 8.677 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 252.241 41.314 C 249.877 41.314 247.783 40.77 245.951 39.694 C 244.121 38.611 242.687 37.119 241.657 35.2 C 240.628 33.287 240.107 31.063 240.107 28.536 C 240.107 26.008 240.616 23.726 241.628 21.795 C 242.64 19.864 244.038 18.355 245.817 17.255 C 247.595 16.155 249.667 15.611 252.03 15.611 C 254.394 15.611 256.383 16.108 258.097 17.109 C 259.812 18.109 261.139 19.502 262.088 21.298 C 263.035 23.094 263.509 25.206 263.509 27.635 L 263.509 29.384 L 242.599 29.431 L 242.698 26.289 L 258.817 26.289 C 258.817 24.259 258.202 22.632 256.968 21.397 C 255.733 20.169 254.089 19.549 252.024 19.549 C 250.462 19.549 249.123 19.888 248.011 20.572 C 246.894 21.257 246.045 22.252 245.466 23.568 C 244.887 24.885 244.594 26.453 244.594 28.284 C 244.594 31.21 245.261 33.468 246.589 35.048 C 247.917 36.628 249.83 37.418 252.328 37.418 C 254.16 37.418 255.652 37.055 256.822 36.318 C 257.986 35.586 258.77 34.521 259.167 33.123 L 263.562 33.123 C 262.964 35.715 261.683 37.734 259.718 39.161 C 257.752 40.595 255.26 41.309 252.235 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 47.439 47.487 C 42.039 52.888 34.901 55.585 27.763 55.585 C 20.626 55.585 13.5 52.888 8.1 47.487 C -2.7 36.704 -2.7 18.946 8.1 8.145 L 15.103 15.148 C 11.862 18.39 9.855 22.872 9.855 27.822 C 9.855 28.302 9.873 28.781 9.914 29.249 C 9.914 29.355 9.931 29.472 9.943 29.577 C 10.826 38.635 18.461 45.732 27.758 45.732 C 32.707 45.732 37.189 43.725 40.43 40.483 L 47.433 47.487 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 55.582 27.822 C 55.582 35.188 52.646 42.268 47.439 47.487 L 40.436 40.484 C 43.677 37.242 45.683 32.76 45.683 27.822 C 45.683 26.833 45.607 25.873 45.444 24.926 L 46.643 23.755 L 53.453 17.173 C 54.845 20.52 55.582 24.13 55.582 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.072 14.323 L 44.56 21.596 L 25.511 40.062 L 13.98 29.25 L 19.333 23.398 L 25.464 29.115 L 40.131 14.868 L 47.24 7.969 C 47.316 8.028 47.374 8.092 47.433 8.151 C 49.276 9.994 50.838 12.083 52.066 14.329 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 9.914 29.25 L 9.762 29.413 L 9.943 29.577 C 9.925 29.472 9.914 29.355 9.914 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 44.993 5.968 L 38.049 12.703 L 37.78 12.96 C 34.913 11.023 31.467 9.9 27.763 9.9 C 22.832 9.9 18.344 11.907 15.103 15.148 L 8.1 8.145 C 13.301 2.926 20.398 0 27.763 0 C 34.047 0 40.12 2.112 44.993 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:9651383140},VKrzHFZeI:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 264 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss9651383140_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.421 0.697 L 263.421 55.697 Z\" fill=\"transparent\"></path><path d=\"M 69.998 28.541 C 69.998 25.979 70.501 23.732 71.519 21.801 C 72.531 19.87 73.941 18.361 75.737 17.261 C 77.533 16.161 79.61 15.616 81.974 15.616 C 85.034 15.616 87.579 16.43 89.609 18.062 C 91.639 19.695 92.85 21.854 93.254 24.551 L 88.561 24.551 C 88.164 22.989 87.38 21.807 86.216 21.005 C 85.051 20.21 83.688 19.806 82.126 19.806 C 80.663 19.806 79.365 20.163 78.236 20.877 C 77.1 21.59 76.223 22.597 75.591 23.896 C 74.959 25.195 74.643 26.722 74.643 28.489 C 74.643 30.256 74.942 31.777 75.544 33.053 C 76.141 34.334 76.989 35.335 78.089 36.048 C 79.189 36.762 80.465 37.119 81.933 37.119 C 83.595 37.119 85.028 36.704 86.227 35.873 C 87.427 35.042 88.222 33.907 88.62 32.479 L 93.312 32.479 C 93.014 34.246 92.341 35.779 91.294 37.096 C 90.247 38.412 88.913 39.442 87.298 40.191 C 85.683 40.94 83.899 41.314 81.933 41.314 C 79.534 41.314 77.452 40.782 75.667 39.717 C 73.889 38.652 72.502 37.166 71.502 35.253 C 70.501 33.339 70.004 31.104 70.004 28.541 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 94.845 28.489 C 94.845 25.99 95.395 23.779 96.489 21.848 C 97.589 19.917 99.093 18.407 101.006 17.307 C 102.919 16.207 105.107 15.663 107.57 15.663 C 110.033 15.663 112.209 16.213 114.105 17.307 C 116.001 18.407 117.498 19.917 118.598 21.848 C 119.693 23.779 120.242 25.99 120.242 28.489 C 120.242 30.987 119.693 33.199 118.598 35.124 C 117.498 37.055 116.001 38.57 114.105 39.664 C 112.209 40.759 110.027 41.308 107.57 41.308 C 105.113 41.308 102.919 40.759 101.006 39.664 C 99.093 38.564 97.589 37.055 96.489 35.124 C 95.389 33.193 94.845 30.981 94.845 28.489 Z M 99.584 28.489 C 99.584 30.186 99.923 31.684 100.608 32.982 C 101.293 34.281 102.228 35.294 103.428 36.025 C 104.627 36.756 106.008 37.125 107.57 37.125 C 109.132 37.125 110.513 36.762 111.712 36.025 C 112.912 35.294 113.853 34.276 114.532 32.982 C 115.211 31.684 115.556 30.192 115.556 28.489 C 115.556 26.786 115.211 25.253 114.532 23.972 C 113.847 22.69 112.912 21.684 111.712 20.953 C 110.513 20.221 109.138 19.853 107.57 19.853 C 106.002 19.853 104.627 20.215 103.428 20.953 C 102.228 21.684 101.293 22.69 100.608 23.972 C 99.923 25.253 99.584 26.757 99.584 28.489 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 128.333 40.718 L 123.641 40.718 L 123.641 16.313 L 127.83 16.313 L 128.48 20.806 L 127.883 20.408 C 128.38 19.045 129.305 17.904 130.65 16.991 C 131.996 16.079 133.634 15.616 135.564 15.616 C 137.729 15.616 139.525 16.202 140.953 17.366 C 142.387 18.53 143.316 20.081 143.749 22.006 L 142.901 22.006 C 143.234 20.075 144.147 18.53 145.645 17.366 C 147.143 16.202 148.986 15.616 151.186 15.616 C 153.982 15.616 156.176 16.43 157.773 18.062 C 159.371 19.695 160.172 21.924 160.172 24.75 L 160.172 40.718 L 155.579 40.718 L 155.579 25.897 C 155.579 23.966 155.088 22.48 154.105 21.432 C 153.122 20.385 151.8 19.858 150.138 19.858 C 148.974 19.858 147.95 20.116 147.066 20.631 C 146.183 21.146 145.493 21.889 144.996 22.854 C 144.498 23.82 144.246 24.949 144.246 26.248 L 144.246 40.723 L 139.607 40.723 L 139.607 25.85 C 139.607 23.919 139.121 22.451 138.162 21.432 C 137.197 20.42 135.88 19.911 134.219 19.911 C 133.055 19.911 132.031 20.169 131.147 20.683 C 130.264 21.198 129.574 21.93 129.076 22.878 C 128.579 23.826 128.328 24.949 128.328 26.248 L 128.328 40.723 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 164.858 51.647 L 164.858 16.313 L 169.1 16.313 L 169.451 20.707 C 170.246 19.01 171.44 17.735 173.02 16.886 C 174.599 16.038 176.355 15.611 178.285 15.611 C 180.613 15.611 182.626 16.155 184.323 17.231 C 186.019 18.314 187.324 19.812 188.243 21.725 C 189.155 23.638 189.611 25.844 189.611 28.337 C 189.611 30.829 189.173 33.059 188.29 35.025 C 187.405 36.99 186.13 38.535 184.446 39.664 C 182.761 40.794 180.712 41.361 178.285 41.361 C 176.319 41.361 174.576 40.963 173.042 40.162 C 171.51 39.36 170.345 38.213 169.55 36.715 L 169.55 51.636 L 164.858 51.636 Z M 169.597 28.542 C 169.597 30.174 169.901 31.643 170.522 32.959 C 171.136 34.276 172.019 35.3 173.165 36.031 C 174.312 36.762 175.687 37.131 177.285 37.131 C 178.882 37.131 180.245 36.756 181.374 36.008 C 182.503 35.259 183.375 34.235 183.995 32.936 C 184.609 31.637 184.919 30.174 184.919 28.547 C 184.919 26.921 184.615 25.353 183.995 24.054 C 183.38 22.755 182.503 21.743 181.374 21.011 C 180.239 20.28 178.882 19.911 177.285 19.911 C 175.687 19.911 174.312 20.28 173.165 21.011 C 172.019 21.743 171.136 22.761 170.522 24.054 C 169.907 25.353 169.597 26.851 169.597 28.547 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 197.796 40.718 L 193.104 40.718 L 193.104 3.985 L 197.796 3.985 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 213.417 41.314 C 211.053 41.314 208.959 40.77 207.128 39.694 C 205.296 38.611 203.869 37.119 202.834 35.2 C 201.804 33.287 201.283 31.063 201.283 28.536 C 201.283 26.008 201.792 23.726 202.804 21.795 C 203.816 19.864 205.22 18.355 206.999 17.255 C 208.777 16.155 210.849 15.611 213.212 15.611 C 215.576 15.611 217.559 16.108 219.274 17.109 C 220.988 18.109 222.316 19.502 223.269 21.298 C 224.217 23.094 224.691 25.206 224.691 27.635 L 224.691 29.384 L 203.782 29.431 L 203.881 26.289 L 219.999 26.289 C 219.999 24.259 219.384 22.632 218.15 21.397 C 216.922 20.169 215.271 19.549 213.212 19.549 C 211.644 19.549 210.31 19.888 209.199 20.572 C 208.081 21.257 207.233 22.252 206.654 23.568 C 206.074 24.885 205.782 26.453 205.782 28.284 C 205.782 31.21 206.449 33.468 207.777 35.048 C 209.111 36.628 211.024 37.418 213.517 37.418 C 215.347 37.418 216.846 37.055 218.01 36.318 C 219.174 35.586 219.958 34.521 220.356 33.123 L 224.749 33.123 C 224.153 35.715 222.871 37.734 220.905 39.161 C 218.94 40.595 216.447 41.309 213.423 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 225.293 16.313 L 239.562 16.313 L 239.562 20.256 L 225.293 20.256 Z M 234.771 40.718 L 230.079 40.718 L 230.079 8.677 L 234.771 8.677 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 252.241 41.314 C 249.877 41.314 247.783 40.77 245.951 39.694 C 244.121 38.611 242.687 37.119 241.657 35.2 C 240.628 33.287 240.107 31.063 240.107 28.536 C 240.107 26.008 240.616 23.726 241.628 21.795 C 242.64 19.864 244.038 18.355 245.817 17.255 C 247.595 16.155 249.667 15.611 252.03 15.611 C 254.394 15.611 256.383 16.108 258.097 17.109 C 259.812 18.109 261.139 19.502 262.088 21.298 C 263.035 23.094 263.509 25.206 263.509 27.635 L 263.509 29.384 L 242.599 29.431 L 242.698 26.289 L 258.817 26.289 C 258.817 24.259 258.202 22.632 256.968 21.397 C 255.733 20.169 254.089 19.549 252.024 19.549 C 250.462 19.549 249.123 19.888 248.011 20.572 C 246.894 21.257 246.045 22.252 245.466 23.568 C 244.887 24.885 244.594 26.453 244.594 28.284 C 244.594 31.21 245.261 33.468 246.589 35.048 C 247.917 36.628 249.83 37.418 252.328 37.418 C 254.16 37.418 255.652 37.055 256.822 36.318 C 257.986 35.586 258.77 34.521 259.167 33.123 L 263.562 33.123 C 262.964 35.715 261.683 37.734 259.718 39.161 C 257.752 40.595 255.26 41.309 252.235 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 47.439 47.487 C 42.039 52.888 34.901 55.585 27.763 55.585 C 20.626 55.585 13.5 52.888 8.1 47.487 C -2.7 36.704 -2.7 18.946 8.1 8.145 L 15.103 15.148 C 11.862 18.39 9.855 22.872 9.855 27.822 C 9.855 28.302 9.873 28.781 9.914 29.249 C 9.914 29.355 9.931 29.472 9.943 29.577 C 10.826 38.635 18.461 45.732 27.758 45.732 C 32.707 45.732 37.189 43.725 40.43 40.483 L 47.433 47.487 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 55.582 27.822 C 55.582 35.188 52.646 42.268 47.439 47.487 L 40.436 40.484 C 43.677 37.242 45.683 32.76 45.683 27.822 C 45.683 26.833 45.607 25.873 45.444 24.926 L 46.643 23.755 L 53.453 17.173 C 54.845 20.52 55.582 24.13 55.582 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.072 14.323 L 44.56 21.596 L 25.511 40.062 L 13.98 29.25 L 19.333 23.398 L 25.464 29.115 L 40.131 14.868 L 47.24 7.969 C 47.316 8.028 47.374 8.092 47.433 8.151 C 49.276 9.994 50.838 12.083 52.066 14.329 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 9.914 29.25 L 9.762 29.413 L 9.943 29.577 C 9.925 29.472 9.914 29.355 9.914 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 44.993 5.968 L 38.049 12.703 L 37.78 12.96 C 34.913 11.023 31.467 9.9 27.763 9.9 C 22.832 9.9 18.344 11.907 15.103 15.148 L 8.1 8.145 C 13.301 2.926 20.398 0 27.763 0 C 34.047 0 40.12 2.112 44.993 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:9651383140}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1oa4ylo\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 264 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss1061448548_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.421 0.697 L 263.421 55.697 Z\" fill=\"transparent\"></path><path d=\"M 69.998 28.541 C 69.998 25.979 70.501 23.732 71.519 21.801 C 72.531 19.87 73.941 18.361 75.737 17.261 C 77.533 16.161 79.61 15.616 81.974 15.616 C 85.034 15.616 87.579 16.43 89.609 18.062 C 91.639 19.695 92.85 21.854 93.254 24.551 L 88.561 24.551 C 88.164 22.989 87.38 21.807 86.216 21.005 C 85.051 20.21 83.688 19.806 82.126 19.806 C 80.663 19.806 79.365 20.163 78.236 20.877 C 77.1 21.59 76.223 22.597 75.591 23.896 C 74.959 25.195 74.643 26.722 74.643 28.489 C 74.643 30.256 74.942 31.777 75.544 33.053 C 76.141 34.334 76.989 35.335 78.089 36.048 C 79.189 36.762 80.465 37.119 81.933 37.119 C 83.595 37.119 85.028 36.704 86.227 35.873 C 87.427 35.042 88.222 33.907 88.62 32.479 L 93.312 32.479 C 93.014 34.246 92.341 35.779 91.294 37.096 C 90.247 38.412 88.913 39.442 87.298 40.191 C 85.683 40.94 83.899 41.314 81.933 41.314 C 79.534 41.314 77.452 40.782 75.667 39.717 C 73.889 38.652 72.502 37.166 71.502 35.253 C 70.501 33.339 70.004 31.104 70.004 28.541 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 94.845 28.489 C 94.845 25.99 95.395 23.779 96.489 21.848 C 97.589 19.917 99.093 18.407 101.006 17.307 C 102.919 16.207 105.107 15.663 107.57 15.663 C 110.033 15.663 112.209 16.213 114.105 17.307 C 116.001 18.407 117.498 19.917 118.598 21.848 C 119.693 23.779 120.242 25.99 120.242 28.489 C 120.242 30.987 119.693 33.199 118.598 35.124 C 117.498 37.055 116.001 38.57 114.105 39.664 C 112.209 40.759 110.027 41.308 107.57 41.308 C 105.113 41.308 102.919 40.759 101.006 39.664 C 99.093 38.564 97.589 37.055 96.489 35.124 C 95.389 33.193 94.845 30.981 94.845 28.489 Z M 99.584 28.489 C 99.584 30.186 99.923 31.684 100.608 32.982 C 101.293 34.281 102.228 35.294 103.428 36.025 C 104.627 36.756 106.008 37.125 107.57 37.125 C 109.132 37.125 110.513 36.762 111.712 36.025 C 112.912 35.294 113.853 34.276 114.532 32.982 C 115.211 31.684 115.556 30.192 115.556 28.489 C 115.556 26.786 115.211 25.253 114.532 23.972 C 113.847 22.69 112.912 21.684 111.712 20.953 C 110.513 20.221 109.138 19.853 107.57 19.853 C 106.002 19.853 104.627 20.215 103.428 20.953 C 102.228 21.684 101.293 22.69 100.608 23.972 C 99.923 25.253 99.584 26.757 99.584 28.489 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 128.333 40.718 L 123.641 40.718 L 123.641 16.313 L 127.83 16.313 L 128.48 20.806 L 127.883 20.408 C 128.38 19.045 129.305 17.904 130.65 16.991 C 131.996 16.079 133.634 15.616 135.564 15.616 C 137.729 15.616 139.525 16.202 140.953 17.366 C 142.387 18.53 143.316 20.081 143.749 22.006 L 142.901 22.006 C 143.234 20.075 144.147 18.53 145.645 17.366 C 147.143 16.202 148.986 15.616 151.186 15.616 C 153.982 15.616 156.176 16.43 157.773 18.062 C 159.371 19.695 160.172 21.924 160.172 24.75 L 160.172 40.718 L 155.579 40.718 L 155.579 25.897 C 155.579 23.966 155.088 22.48 154.105 21.432 C 153.122 20.385 151.8 19.858 150.138 19.858 C 148.974 19.858 147.95 20.116 147.066 20.631 C 146.183 21.146 145.493 21.889 144.996 22.854 C 144.498 23.82 144.246 24.949 144.246 26.248 L 144.246 40.723 L 139.607 40.723 L 139.607 25.85 C 139.607 23.919 139.121 22.451 138.162 21.432 C 137.197 20.42 135.88 19.911 134.219 19.911 C 133.055 19.911 132.031 20.169 131.147 20.683 C 130.264 21.198 129.574 21.93 129.076 22.878 C 128.579 23.826 128.328 24.949 128.328 26.248 L 128.328 40.723 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 164.858 51.647 L 164.858 16.313 L 169.1 16.313 L 169.451 20.707 C 170.246 19.01 171.44 17.735 173.02 16.886 C 174.599 16.038 176.355 15.611 178.285 15.611 C 180.613 15.611 182.626 16.155 184.323 17.231 C 186.019 18.314 187.324 19.812 188.243 21.725 C 189.155 23.638 189.611 25.844 189.611 28.337 C 189.611 30.829 189.173 33.059 188.29 35.025 C 187.405 36.99 186.13 38.535 184.446 39.664 C 182.761 40.794 180.712 41.361 178.285 41.361 C 176.319 41.361 174.576 40.963 173.042 40.162 C 171.51 39.36 170.345 38.213 169.55 36.715 L 169.55 51.636 L 164.858 51.636 Z M 169.597 28.542 C 169.597 30.174 169.901 31.643 170.522 32.959 C 171.136 34.276 172.019 35.3 173.165 36.031 C 174.312 36.762 175.687 37.131 177.285 37.131 C 178.882 37.131 180.245 36.756 181.374 36.008 C 182.503 35.259 183.375 34.235 183.995 32.936 C 184.609 31.637 184.919 30.174 184.919 28.547 C 184.919 26.921 184.615 25.353 183.995 24.054 C 183.38 22.755 182.503 21.743 181.374 21.011 C 180.239 20.28 178.882 19.911 177.285 19.911 C 175.687 19.911 174.312 20.28 173.165 21.011 C 172.019 21.743 171.136 22.761 170.522 24.054 C 169.907 25.353 169.597 26.851 169.597 28.547 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 197.796 40.718 L 193.104 40.718 L 193.104 3.985 L 197.796 3.985 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 213.417 41.314 C 211.053 41.314 208.959 40.77 207.128 39.694 C 205.296 38.611 203.869 37.119 202.834 35.2 C 201.804 33.287 201.283 31.063 201.283 28.536 C 201.283 26.008 201.792 23.726 202.804 21.795 C 203.816 19.864 205.22 18.355 206.999 17.255 C 208.777 16.155 210.849 15.611 213.212 15.611 C 215.576 15.611 217.559 16.108 219.274 17.109 C 220.988 18.109 222.316 19.502 223.269 21.298 C 224.217 23.094 224.691 25.206 224.691 27.635 L 224.691 29.384 L 203.782 29.431 L 203.881 26.289 L 219.999 26.289 C 219.999 24.259 219.384 22.632 218.15 21.397 C 216.922 20.169 215.271 19.549 213.212 19.549 C 211.644 19.549 210.31 19.888 209.199 20.572 C 208.081 21.257 207.233 22.252 206.654 23.568 C 206.074 24.885 205.782 26.453 205.782 28.284 C 205.782 31.21 206.449 33.468 207.777 35.048 C 209.111 36.628 211.024 37.418 213.517 37.418 C 215.347 37.418 216.846 37.055 218.01 36.318 C 219.174 35.586 219.958 34.521 220.356 33.123 L 224.749 33.123 C 224.153 35.715 222.871 37.734 220.905 39.161 C 218.94 40.595 216.447 41.309 213.423 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 225.293 16.313 L 239.562 16.313 L 239.562 20.256 L 225.293 20.256 Z M 234.771 40.718 L 230.079 40.718 L 230.079 8.677 L 234.771 8.677 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 252.241 41.314 C 249.877 41.314 247.783 40.77 245.951 39.694 C 244.121 38.611 242.687 37.119 241.657 35.2 C 240.628 33.287 240.107 31.063 240.107 28.536 C 240.107 26.008 240.616 23.726 241.628 21.795 C 242.64 19.864 244.038 18.355 245.817 17.255 C 247.595 16.155 249.667 15.611 252.03 15.611 C 254.394 15.611 256.383 16.108 258.097 17.109 C 259.812 18.109 261.139 19.502 262.088 21.298 C 263.035 23.094 263.509 25.206 263.509 27.635 L 263.509 29.384 L 242.599 29.431 L 242.698 26.289 L 258.817 26.289 C 258.817 24.259 258.202 22.632 256.968 21.397 C 255.733 20.169 254.089 19.549 252.024 19.549 C 250.462 19.549 249.123 19.888 248.011 20.572 C 246.894 21.257 246.045 22.252 245.466 23.568 C 244.887 24.885 244.594 26.453 244.594 28.284 C 244.594 31.21 245.261 33.468 246.589 35.048 C 247.917 36.628 249.83 37.418 252.328 37.418 C 254.16 37.418 255.652 37.055 256.822 36.318 C 257.986 35.586 258.77 34.521 259.167 33.123 L 263.562 33.123 C 262.964 35.715 261.683 37.734 259.718 39.161 C 257.752 40.595 255.26 41.309 252.235 41.309 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 47.439 47.487 C 42.039 52.888 34.901 55.585 27.763 55.585 C 20.626 55.585 13.5 52.888 8.1 47.487 C -2.7 36.704 -2.7 18.946 8.1 8.145 L 15.103 15.148 C 11.862 18.39 9.855 22.872 9.855 27.822 C 9.855 28.302 9.873 28.781 9.914 29.249 C 9.914 29.355 9.931 29.472 9.943 29.577 C 10.826 38.635 18.461 45.732 27.758 45.732 C 32.707 45.732 37.189 43.725 40.43 40.483 L 47.433 47.487 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 55.582 27.822 C 55.582 35.188 52.646 42.268 47.439 47.487 L 40.436 40.484 C 43.677 37.242 45.683 32.76 45.683 27.822 C 45.683 26.833 45.607 25.873 45.444 24.926 L 46.643 23.755 L 53.453 17.173 C 54.845 20.52 55.582 24.13 55.582 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.072 14.323 L 44.56 21.596 L 25.511 40.062 L 13.98 29.25 L 19.333 23.398 L 25.464 29.115 L 40.131 14.868 L 47.24 7.969 C 47.316 8.028 47.374 8.092 47.433 8.151 C 49.276 9.994 50.838 12.083 52.066 14.329 Z\" fill=\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255)) /* {&quot;name&quot;:&quot;Basic White&quot;} */\"></path><path d=\"M 9.914 29.25 L 9.762 29.413 L 9.943 29.577 C 9.925 29.472 9.914 29.355 9.914 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 44.993 5.968 L 38.049 12.703 L 37.78 12.96 C 34.913 11.023 31.467 9.9 27.763 9.9 C 22.832 9.9 18.344 11.907 15.103 15.148 L 8.1 8.145 C 13.301 2.926 20.398 0 27.763 0 C 34.047 0 40.12 2.112 44.993 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:1061448548,withExternalLayout:true})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{className:\"framer-styles-preset-msfam1\",\"data-styles-preset\":\"ujRE1KznF\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"time savings\"})}),className:\"framer-xcq981\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-085f050f-620e-444f-8bab-cf42e3ae000e, rgb(241, 241, 241))\"},children:[\"Get players through checks and processes faster than ever before \",/*#__PURE__*/_jsx(\"br\",{}),\"with enhanced explainability and avoiding over-exposure to unnecessary data.\"]})}),className:\"framer-1ftx7zt\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-18xudsf\",\"data-framer-name\":\"clocks\",name:\"clocks\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1hbmzvt\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:392,intrinsicWidth:355,pixelHeight:392,pixelWidth:355,positionX:\"center\",positionY:\"center\",src:\"https://framerusercontent.com/images/Ky2Dysr0hr4O9sB9Oh9YF4Vs5s8.svg\"},className:\"framer-1sjfwk2 hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\"}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1j29iuw-container hidden-1gpl90e\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"GjvzHmky5\",isForwardsDirection:true,layoutId:\"GjvzHmky5\",loop:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:.75,srcFile:\"https://framerusercontent.com/assets/8umE2w33B3DokAG5vmMtnP0sCFA.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-alignment\":\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Without\"}),/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Complete\"})]})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-12cd0kp\",\"data-styles-preset\":\"DfJn5_Oul\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Without Complete\"})}),className:\"framer-yuixve\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"ol\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:[/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Run CRA \u201CRAG\u201D score\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Check CCJs/IVAs/Bankruptcies\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Run PEPs/Sanctions check\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Do Companies House check\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Get Geo-demographics\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Run property/Address check\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Compile report\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Make decision\"})})]})}),className:\"framer-1q0wvu3 hidden-1gpl90e\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-llkbv5\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:393,intrinsicWidth:356,pixelHeight:393,pixelWidth:356,positionX:\"center\",positionY:\"center\",src:\"https://framerusercontent.com/images/NfC4pYuYHmDTaW4rhxBlMVI4rIk.svg\"},className:\"framer-od852t hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\"}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-xh5m90-container hidden-1gpl90e\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"IHHJUycSz\",isForwardsDirection:true,layoutId:\"IHHJUycSz\",loop:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:.75,srcFile:\"https://framerusercontent.com/assets/g3brShOH7vwb9X45aK8rYtk9ThU.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-alignment\":\"center\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"With\"}),/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Complete\"})]})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{className:\"framer-styles-preset-12cd0kp\",\"data-styles-preset\":\"DfJn5_Oul\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"With Complete\"})}),className:\"framer-1dzgtch\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"ol\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:[/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Generate unified report\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"p\",{style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Make decision\"})})]})}),className:\"framer-lwaxka hidden-1gpl90e\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-12n8yxf hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",\"data-framer-name\":\"Arrow 3\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:24,intrinsicWidth:56,name:\"Arrow 3\",svg:'<svg width=\"56\" height=\"24\" viewBox=\"0 0 56 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M2 10.5C1.17157 10.5 0.5 11.1716 0.5 12C0.5 12.8284 1.17157 13.5 2 13.5L2 10.5ZM55.0607 13.0607C55.6464 12.4749 55.6464 11.5251 55.0607 10.9393L45.5147 1.39339C44.9289 0.807608 43.9792 0.807608 43.3934 1.39339C42.8076 1.97918 42.8076 2.92893 43.3934 3.51472L51.8787 12L43.3934 20.4853C42.8076 21.0711 42.8076 22.0208 43.3934 22.6066C43.9792 23.1924 44.9289 23.1924 45.5147 22.6066L55.0607 13.0607ZM2 13.5L54 13.5L54 10.5L2 10.5L2 13.5Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-cpck79\",\"data-framer-name\":\"2 Columns Text Image\",name:\"2 Columns Text Image\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-10nvos8\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1e72kmv\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-10irw1t\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1uz2gsy\",children:[isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 275 57\"><g transform=\"translate(0.26 -0.298)\" id=\"ss12235603854_1\"><path d=\"M 0.16 57.717 L 0.16 0.717 L 273.893 0.717 L 273.893 57.717 Z\" fill=\"transparent\"></path><path d=\"M 72.784 29.574 C 72.784 26.918 73.307 24.59 74.366 22.588 C 75.418 20.587 76.884 19.023 78.752 17.883 C 80.619 16.743 82.778 16.179 85.236 16.179 C 88.417 16.179 91.063 17.022 93.174 18.714 C 95.285 20.405 96.544 22.643 96.964 25.438 L 92.085 25.438 C 91.672 23.819 90.857 22.595 89.646 21.764 C 88.436 20.939 87.018 20.521 85.394 20.521 C 83.873 20.521 82.523 20.891 81.349 21.63 C 80.169 22.37 79.256 23.413 78.6 24.759 C 77.943 26.105 77.614 27.688 77.614 29.519 C 77.614 31.351 77.924 32.927 78.551 34.249 C 79.171 35.577 80.053 36.614 81.197 37.354 C 82.341 38.094 83.667 38.464 85.194 38.464 C 86.921 38.464 88.411 38.033 89.658 37.172 C 90.905 36.311 91.732 35.135 92.146 33.655 L 97.025 33.655 C 96.715 35.486 96.015 37.075 94.926 38.439 C 93.837 39.804 92.451 40.871 90.772 41.647 C 89.093 42.423 87.237 42.811 85.194 42.811 C 82.699 42.811 80.534 42.26 78.679 41.156 C 76.829 40.052 75.388 38.512 74.347 36.529 C 73.307 34.546 72.79 32.23 72.79 29.574 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 98.619 29.52 C 98.619 26.93 99.19 24.638 100.328 22.637 C 101.472 20.636 103.035 19.071 105.024 17.931 C 107.013 16.791 109.288 16.228 111.849 16.228 C 114.41 16.228 116.673 16.798 118.644 17.931 C 120.615 19.071 122.172 20.636 123.315 22.637 C 124.453 24.638 125.025 26.93 125.025 29.52 C 125.025 32.109 124.453 34.401 123.315 36.396 C 122.172 38.397 120.615 39.967 118.644 41.101 C 116.673 42.235 114.404 42.805 111.849 42.805 C 109.294 42.805 107.013 42.235 105.024 41.101 C 103.035 39.961 101.472 38.397 100.328 36.396 C 99.184 34.395 98.619 32.103 98.619 29.52 Z M 103.546 29.52 C 103.546 31.278 103.899 32.83 104.61 34.176 C 105.322 35.523 106.295 36.572 107.542 37.33 C 108.789 38.088 110.225 38.47 111.849 38.47 C 113.473 38.47 114.909 38.094 116.156 37.33 C 117.403 36.572 118.382 35.517 119.088 34.176 C 119.794 32.83 120.152 31.284 120.152 29.52 C 120.152 27.755 119.794 26.166 119.088 24.838 C 118.376 23.51 117.403 22.467 116.156 21.709 C 114.909 20.951 113.479 20.569 111.849 20.569 C 110.219 20.569 108.789 20.945 107.542 21.709 C 106.295 22.467 105.322 23.51 104.61 24.838 C 103.899 26.166 103.546 27.725 103.546 29.52 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 133.437 42.193 L 128.559 42.193 L 128.559 16.901 L 132.915 16.901 L 133.589 21.558 L 132.969 21.145 C 133.486 19.732 134.447 18.55 135.846 17.604 C 137.246 16.658 138.948 16.179 140.956 16.179 C 143.206 16.179 145.074 16.785 146.558 17.992 C 148.049 19.199 149.015 20.806 149.466 22.801 L 148.584 22.801 C 148.931 20.8 149.879 19.199 151.436 17.992 C 152.994 16.785 154.91 16.179 157.198 16.179 C 160.105 16.179 162.386 17.022 164.046 18.714 C 165.708 20.406 166.541 22.716 166.541 25.645 L 166.541 42.193 L 161.766 42.193 L 161.766 26.833 C 161.766 24.832 161.255 23.292 160.233 22.206 C 159.211 21.121 157.836 20.575 156.109 20.575 C 154.898 20.575 153.834 20.842 152.915 21.376 C 151.996 21.909 151.278 22.679 150.762 23.68 C 150.245 24.68 149.983 25.851 149.983 27.197 L 149.983 42.199 L 145.159 42.199 L 145.159 26.785 C 145.159 24.784 144.654 23.262 143.657 22.206 C 142.653 21.157 141.284 20.63 139.557 20.63 C 138.346 20.63 137.282 20.897 136.363 21.43 C 135.445 21.964 134.727 22.722 134.21 23.704 C 133.693 24.687 133.431 25.851 133.431 27.197 L 133.431 42.199 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 171.414 53.52 L 171.414 16.901 L 175.824 16.901 L 176.188 21.455 C 177.015 19.696 178.257 18.374 179.899 17.495 C 181.541 16.616 183.367 16.173 185.373 16.173 C 187.794 16.173 189.887 16.737 191.652 17.853 C 193.415 18.975 194.772 20.527 195.727 22.51 C 196.676 24.493 197.15 26.779 197.15 29.362 C 197.15 31.945 196.694 34.255 195.776 36.293 C 194.857 38.33 193.531 39.931 191.779 41.101 C 190.027 42.272 187.898 42.86 185.373 42.86 C 183.33 42.86 181.517 42.448 179.923 41.617 C 178.33 40.786 177.119 39.598 176.292 38.045 L 176.292 53.508 L 171.414 53.508 Z M 176.341 29.574 C 176.341 31.266 176.657 32.788 177.302 34.152 C 177.941 35.517 178.859 36.578 180.051 37.336 C 181.243 38.094 182.673 38.476 184.334 38.476 C 185.994 38.476 187.411 38.088 188.585 37.312 C 189.759 36.535 190.666 35.474 191.31 34.128 C 191.949 32.782 192.272 31.266 192.272 29.58 C 192.272 27.894 191.956 26.269 191.31 24.923 C 190.672 23.577 189.759 22.528 188.585 21.77 C 187.405 21.012 185.994 20.63 184.334 20.63 C 182.673 20.63 181.243 21.012 180.051 21.77 C 178.859 22.528 177.941 23.583 177.302 24.923 C 176.663 26.269 176.341 27.822 176.341 29.58 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 205.66 42.193 L 200.782 42.193 L 200.782 4.124 L 205.66 4.124 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 221.902 42.811 C 219.444 42.811 217.267 42.248 215.362 41.132 C 213.458 40.01 211.974 38.464 210.898 36.475 C 209.827 34.492 209.286 32.188 209.286 29.568 C 209.286 26.948 209.815 24.584 210.867 22.583 C 211.92 20.581 213.379 19.017 215.229 17.877 C 217.078 16.737 219.231 16.173 221.688 16.173 C 224.146 16.173 226.209 16.688 227.991 17.725 C 229.773 18.762 231.154 20.206 232.146 22.067 C 233.131 23.929 233.624 26.118 233.624 28.634 L 233.624 30.447 L 211.883 30.496 L 211.987 27.24 L 228.745 27.24 C 228.745 25.135 228.106 23.45 226.823 22.17 C 225.546 20.897 223.83 20.254 221.688 20.254 C 220.058 20.254 218.672 20.606 217.516 21.315 C 216.354 22.025 215.472 23.056 214.87 24.42 C 214.267 25.784 213.963 27.409 213.963 29.307 C 213.963 32.339 214.657 34.68 216.038 36.317 C 217.425 37.954 219.414 38.773 222.005 38.773 C 223.909 38.773 225.467 38.397 226.677 37.633 C 227.888 36.875 228.703 35.771 229.116 34.322 L 233.684 34.322 C 233.064 37.008 231.731 39.1 229.688 40.58 C 227.644 42.066 225.052 42.805 221.908 42.805 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 234.25 16.901 L 249.086 16.901 L 249.086 20.988 L 234.25 20.988 Z M 244.104 42.193 L 239.225 42.193 L 239.225 8.987 L 244.104 8.987 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 262.268 42.811 C 259.81 42.811 257.633 42.248 255.729 41.132 C 253.825 40.01 252.335 38.464 251.264 36.475 C 250.194 34.492 249.652 32.188 249.652 29.568 C 249.652 26.948 250.182 24.584 251.234 22.583 C 252.286 20.581 253.74 19.017 255.589 17.877 C 257.438 16.737 259.592 16.173 262.049 16.173 C 264.507 16.173 266.575 16.688 268.357 17.725 C 270.14 18.762 271.52 20.206 272.506 22.067 C 273.491 23.929 273.984 26.118 273.984 28.634 L 273.984 30.447 L 252.243 30.496 L 252.346 27.24 L 269.105 27.24 C 269.105 25.135 268.467 23.45 267.183 22.17 C 265.899 20.897 264.19 20.254 262.043 20.254 C 260.419 20.254 259.026 20.606 257.87 21.315 C 256.709 22.025 255.826 23.056 255.224 24.42 C 254.622 25.784 254.318 27.409 254.318 29.307 C 254.318 32.339 255.011 34.68 256.392 36.317 C 257.773 37.954 259.762 38.773 262.359 38.773 C 264.263 38.773 265.815 38.397 267.031 37.633 C 268.241 36.875 269.057 35.771 269.47 34.322 L 274.039 34.322 C 273.418 37.008 272.086 39.1 270.042 40.58 C 267.999 42.066 265.407 42.805 262.262 42.805 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 49.328 49.209 C 43.714 54.806 36.293 57.601 28.871 57.601 C 21.45 57.601 14.041 54.806 8.427 49.209 C -2.802 38.033 -2.802 19.629 8.427 8.435 L 15.708 15.694 C 12.338 19.053 10.252 23.698 10.252 28.828 C 10.252 29.325 10.27 29.823 10.312 30.308 C 10.312 30.417 10.331 30.538 10.343 30.647 C 11.261 40.034 19.2 47.39 28.865 47.39 C 34.012 47.39 38.671 45.31 42.041 41.95 L 49.322 49.209 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 57.796 28.828 C 57.796 36.463 54.742 43.8 49.328 49.209 L 42.047 41.95 C 45.417 38.591 47.503 33.946 47.503 28.828 C 47.503 27.803 47.424 26.809 47.254 25.827 L 48.501 24.614 L 55.582 17.792 C 57.029 21.261 57.796 25.002 57.796 28.828 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 54.146 14.839 L 46.336 22.376 L 26.53 41.514 L 14.54 30.308 L 20.106 24.244 L 26.481 30.168 L 41.731 15.403 L 49.122 8.254 C 49.201 8.314 49.261 8.381 49.322 8.442 C 51.238 10.352 52.863 12.517 54.14 14.845 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 10.312 30.308 L 10.154 30.478 L 10.343 30.648 C 10.325 30.538 10.312 30.417 10.312 30.308 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 46.786 6.18 L 39.565 13.159 L 39.285 13.426 C 36.305 11.419 32.722 10.255 28.871 10.255 C 23.744 10.255 19.078 12.335 15.708 15.694 L 8.427 8.436 C 13.834 3.027 21.213 -0.005 28.871 -0.005 C 35.405 -0.005 41.719 2.184 46.786 6.18 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:12235603854},n699I8gTW:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss10979056793_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:10979056793}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-l0y040 hidden-1gpl90e\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss2389122201_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:2389122201,withExternalLayout:true})}),isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss11496834152_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11496834152}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-q9t610 hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss715107641_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:715107641,withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-ml9diy\",\"data-styles-preset\":\"xRwScoltc\",style:{\"--framer-text-alignment\":\"left\"},children:\"control\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{className:\"framer-styles-preset-msfam1\",\"data-styles-preset\":\"ujRE1KznF\",children:\"control\"})}),className:\"framer-o421h9\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:\"Complete is the only solution to fully free operators from \u201Cblack\u200B box\u201D scoring models and opaque RAG scores.\"}),/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:/*#__PURE__*/_jsx(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:\"Get complete control with your own risk scoring models and full explainability.\"})]}),className:\"framer-12v24d7\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1nujnba\",\"data-framer-name\":\"Image\",name:\"Image\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-o9mznd\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1rcjf11-container\",children:/*#__PURE__*/_jsx(Vimeo,{autoplay:true,backgroundColor:\"var(--token-f0674617-bd33-469d-89f7-4d49abefd312, rgb(197, 199, 211))\",borderRadius:20,bottomLeftRadius:20,bottomRightRadius:20,controls:false,height:\"100%\",id:\"JNatHFICD\",isMixedBorderRadius:false,layoutId:\"JNatHFICD\",loop:true,mute:true,style:{height:\"100%\",width:\"100%\"},topLeftRadius:20,topRightRadius:20,video:\"https://vimeo.com/882474625?share=copy\",width:\"100%\"})})})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-wih1g5\",\"data-framer-name\":\"2 Columns Text Image\",name:\"2 Columns Text Image\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-hbbslw\",\"data-framer-name\":\"Image\",name:\"Image\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1wx1ekx\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-17v4h3o-container\",children:/*#__PURE__*/_jsx(Vimeo,{autoplay:true,backgroundColor:\"var(--token-f0674617-bd33-469d-89f7-4d49abefd312, rgb(197, 199, 211))\",borderRadius:20,bottomLeftRadius:20,bottomRightRadius:20,controls:false,height:\"100%\",id:\"O5qXdXRD8\",isMixedBorderRadius:false,layoutId:\"O5qXdXRD8\",loop:true,mute:true,style:{height:\"100%\",width:\"100%\"},topLeftRadius:20,topRightRadius:20,video:\"https://vimeo.com/1014295738?share=copy\",width:\"100%\"})})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-tahtpn\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-cmy87r\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1nymul8\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-geyb42\",children:[isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 270 58\"><g transform=\"translate(0.265 -0.303)\" id=\"ss10569019073_1\"><path d=\"M 0.147 56.679 L 0.147 0.714 L 268.903 0.714 L 268.903 56.679 Z\" fill=\"transparent\"></path><path d=\"M 71.451 29.047 C 71.451 26.44 71.965 24.153 73.004 22.189 C 74.037 20.224 75.477 18.688 77.31 17.569 C 79.144 16.449 81.264 15.896 83.676 15.896 C 86.8 15.896 89.398 16.723 91.471 18.384 C 93.543 20.045 94.779 22.242 95.192 24.987 L 90.401 24.987 C 89.995 23.397 89.195 22.195 88.007 21.379 C 86.818 20.569 85.426 20.158 83.832 20.158 C 82.339 20.158 81.013 20.522 79.86 21.248 C 78.702 21.974 77.806 22.998 77.161 24.32 C 76.516 25.642 76.193 27.196 76.193 28.994 C 76.193 30.792 76.498 32.34 77.113 33.638 C 77.722 34.941 78.588 35.96 79.711 36.686 C 80.834 37.412 82.136 37.775 83.635 37.775 C 85.331 37.775 86.794 37.353 88.019 36.507 C 89.243 35.662 90.055 34.507 90.462 33.054 L 95.251 33.054 C 94.947 34.852 94.259 36.412 93.191 37.752 C 92.122 39.091 90.76 40.139 89.112 40.901 C 87.463 41.663 85.642 42.044 83.635 42.044 C 81.186 42.044 79.06 41.502 77.239 40.419 C 75.423 39.335 74.007 37.823 72.986 35.876 C 71.965 33.929 71.457 31.655 71.457 29.047 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 96.816 28.994 C 96.816 26.452 97.377 24.201 98.494 22.236 C 99.617 20.272 101.152 18.736 103.105 17.616 C 105.058 16.497 107.291 15.943 109.806 15.943 C 112.32 15.943 114.542 16.503 116.477 17.616 C 118.412 18.736 119.941 20.272 121.064 22.236 C 122.181 24.201 122.742 26.452 122.742 28.994 C 122.742 31.536 122.181 33.787 121.064 35.745 C 119.941 37.71 118.412 39.252 116.477 40.365 C 114.542 41.479 112.314 42.038 109.806 42.038 C 107.298 42.038 105.058 41.479 103.105 40.365 C 101.152 39.246 99.617 37.71 98.494 35.745 C 97.371 33.781 96.816 31.53 96.816 28.994 Z M 101.653 28.994 C 101.653 30.72 102 32.245 102.699 33.566 C 103.398 34.888 104.353 35.918 105.577 36.662 C 106.802 37.406 108.211 37.781 109.806 37.781 C 111.401 37.781 112.81 37.412 114.034 36.662 C 115.259 35.918 116.22 34.882 116.913 33.566 C 117.606 32.245 117.958 30.726 117.958 28.994 C 117.958 27.261 117.606 25.701 116.913 24.398 C 116.214 23.094 115.259 22.07 114.034 21.325 C 112.81 20.581 111.406 20.206 109.806 20.206 C 108.205 20.206 106.802 20.575 105.577 21.325 C 104.353 22.07 103.398 23.094 102.699 24.398 C 102 25.701 101.653 27.231 101.653 28.994 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 131.002 41.437 L 126.212 41.437 L 126.212 16.604 L 130.488 16.604 L 131.151 21.176 L 130.542 20.772 C 131.049 19.384 131.993 18.223 133.367 17.295 C 134.741 16.366 136.412 15.896 138.383 15.896 C 140.593 15.896 142.427 16.491 143.884 17.676 C 145.348 18.861 146.296 20.438 146.739 22.397 L 145.873 22.397 C 146.213 20.432 147.145 18.861 148.673 17.676 C 150.203 16.491 152.084 15.896 154.33 15.896 C 157.185 15.896 159.424 16.723 161.054 18.384 C 162.685 20.045 163.503 22.314 163.503 25.189 L 163.503 41.437 L 158.815 41.437 L 158.815 26.356 C 158.815 24.392 158.313 22.879 157.31 21.814 C 156.307 20.748 154.957 20.212 153.261 20.212 C 152.072 20.212 151.027 20.474 150.125 20.998 C 149.223 21.522 148.518 22.278 148.011 23.26 C 147.504 24.243 147.246 25.392 147.246 26.713 L 147.246 41.443 L 142.51 41.443 L 142.51 26.309 C 142.51 24.344 142.014 22.85 141.035 21.814 C 140.05 20.784 138.706 20.266 137.01 20.266 C 135.822 20.266 134.776 20.528 133.874 21.051 C 132.973 21.575 132.268 22.32 131.76 23.284 C 131.252 24.249 130.996 25.392 130.996 26.713 L 130.996 41.443 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 168.288 52.559 L 168.288 16.604 L 172.617 16.604 L 172.976 21.075 C 173.787 19.349 175.006 18.051 176.619 17.188 C 178.231 16.324 180.023 15.89 181.993 15.89 C 184.37 15.89 186.425 16.443 188.157 17.539 C 189.889 18.64 191.221 20.165 192.159 22.111 C 193.09 24.058 193.556 26.303 193.556 28.839 C 193.556 31.375 193.109 33.644 192.207 35.644 C 191.304 37.645 190.002 39.216 188.283 40.365 C 186.563 41.515 184.472 42.092 181.993 42.092 C 179.987 42.092 178.207 41.687 176.642 40.872 C 175.078 40.056 173.889 38.889 173.077 37.365 L 173.077 52.547 L 168.288 52.547 Z M 173.125 29.047 C 173.125 30.709 173.435 32.203 174.069 33.543 C 174.696 34.882 175.598 35.924 176.767 36.668 C 177.938 37.412 179.342 37.787 180.973 37.787 C 182.603 37.787 183.994 37.406 185.147 36.644 C 186.299 35.882 187.19 34.84 187.822 33.519 C 188.449 32.197 188.766 30.709 188.766 29.053 C 188.766 27.398 188.456 25.803 187.822 24.481 C 187.195 23.159 186.299 22.129 185.147 21.385 C 183.988 20.641 182.603 20.266 180.973 20.266 C 179.342 20.266 177.938 20.641 176.767 21.385 C 175.598 22.129 174.696 23.165 174.069 24.481 C 173.442 25.803 173.125 27.327 173.125 29.053 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 201.911 41.437 L 197.122 41.437 L 197.122 4.06 L 201.911 4.06 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 217.858 42.044 C 215.445 42.044 213.307 41.491 211.437 40.395 C 209.568 39.294 208.111 37.776 207.054 35.823 C 206.003 33.876 205.471 31.613 205.471 29.041 C 205.471 26.469 205.99 24.148 207.024 22.183 C 208.057 20.218 209.49 18.682 211.306 17.563 C 213.121 16.443 215.236 15.89 217.648 15.89 C 220.062 15.89 222.086 16.396 223.836 17.414 C 225.586 18.432 226.942 19.849 227.915 21.677 C 228.882 23.505 229.367 25.654 229.367 28.125 L 229.367 29.905 L 208.021 29.952 L 208.123 26.755 L 224.576 26.755 C 224.576 24.689 223.949 23.034 222.689 21.778 C 221.435 20.528 219.75 19.897 217.648 19.897 C 216.048 19.897 214.686 20.242 213.552 20.938 C 212.411 21.635 211.544 22.647 210.954 23.987 C 210.362 25.326 210.063 26.922 210.063 28.785 C 210.063 31.762 210.744 34.06 212.101 35.668 C 213.462 37.275 215.415 38.079 217.959 38.079 C 219.828 38.079 221.358 37.71 222.546 36.96 C 223.735 36.216 224.535 35.132 224.941 33.709 L 229.426 33.709 C 228.817 36.347 227.509 38.401 225.502 39.853 C 223.495 41.312 220.951 42.038 217.864 42.038 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 229.981 16.604 L 244.548 16.604 L 244.548 20.617 L 229.981 20.617 Z M 239.657 41.437 L 234.866 41.437 L 234.866 8.835 L 239.657 8.835 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 257.49 42.044 C 255.077 42.044 252.939 41.491 251.07 40.395 C 249.201 39.294 247.737 37.776 246.686 35.823 C 245.635 33.876 245.104 31.613 245.104 29.041 C 245.104 26.469 245.623 24.148 246.656 22.183 C 247.689 20.218 249.117 18.682 250.933 17.563 C 252.748 16.443 254.862 15.89 257.275 15.89 C 259.688 15.89 261.719 16.396 263.469 17.414 C 265.219 18.432 266.574 19.849 267.542 21.677 C 268.509 23.505 268.993 25.654 268.993 28.125 L 268.993 29.905 L 247.647 29.952 L 247.749 26.755 L 264.203 26.755 C 264.203 24.689 263.576 23.034 262.316 21.778 C 261.055 20.528 259.377 19.897 257.269 19.897 C 255.674 19.897 254.307 20.242 253.172 20.938 C 252.032 21.635 251.165 22.647 250.574 23.987 C 249.983 25.326 249.684 26.922 249.684 28.785 C 249.684 31.762 250.365 34.06 251.721 35.668 C 253.076 37.275 255.029 38.079 257.579 38.079 C 259.449 38.079 260.972 37.71 262.167 36.96 C 263.355 36.216 264.155 35.132 264.561 33.709 L 269.047 33.709 C 268.437 36.347 267.129 38.401 265.123 39.853 C 263.116 41.312 260.572 42.038 257.484 42.038 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 48.422 48.325 C 42.91 53.821 35.623 56.565 28.337 56.565 C 21.051 56.565 13.776 53.821 8.264 48.325 C -2.761 37.353 -2.761 19.283 8.264 8.293 L 15.413 15.419 C 12.104 18.718 10.056 23.278 10.056 28.315 C 10.056 28.803 10.074 29.291 10.115 29.768 C 10.115 29.875 10.133 29.994 10.145 30.101 C 11.047 39.317 18.841 46.539 28.331 46.539 C 33.384 46.539 37.958 44.497 41.267 41.199 L 48.416 48.325 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 56.735 28.315 C 56.735 35.811 53.737 43.015 48.422 48.325 L 41.273 41.199 C 44.582 37.901 46.63 33.34 46.63 28.315 C 46.63 27.309 46.553 26.333 46.385 25.368 L 47.61 24.177 L 54.561 17.479 C 55.983 20.885 56.735 24.558 56.735 28.315 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 53.152 14.58 L 45.484 21.98 L 26.038 40.77 L 14.266 29.768 L 19.731 23.814 L 25.99 29.631 L 40.962 15.134 L 48.219 8.114 C 48.297 8.174 48.356 8.239 48.416 8.299 C 50.297 10.174 51.892 12.3 53.146 14.586 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 10.115 29.768 L 9.96 29.935 L 10.145 30.101 C 10.127 29.994 10.115 29.875 10.115 29.768 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.926 6.078 L 38.836 12.931 L 38.562 13.193 C 35.635 11.222 32.117 10.079 28.337 10.079 C 23.302 10.079 18.721 12.121 15.413 15.419 L 8.264 8.293 C 13.573 2.982 20.818 0.005 28.337 0.005 C 34.751 0.005 40.951 2.154 45.926 6.078 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:10569019073},n699I8gTW:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss11064407967_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11064407967}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-7rb4vv hidden-1gpl90e\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss2474473375_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:2474473375,withExternalLayout:true})}),isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss11496834152_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11496834152}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-6eemlx hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss715107641_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:715107641,withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-ml9diy\",\"data-styles-preset\":\"xRwScoltc\",style:{\"--framer-text-alignment\":\"left\"},children:\"answers\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{className:\"framer-styles-preset-msfam1\",\"data-styles-preset\":\"ujRE1KznF\",children:\"answers\"})}),className:\"framer-vr3ism\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[\"Clear EDD hurdles with ease thanks to our award winning Open Banking solution that gives you rapid access to only the data you want to see for the decisions you need to make.\",/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[\"Our clients achieve up to 85% consent to share bank data thanks to our user friendly guided journeys and the widest coverage of UK banks on the market.\",/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"br\",{}),\"Go the extra mile and empower your customers to live financially healthier lives with the BetBudget personal budgeting tool as an optional feature.\"]})]}),className:\"framer-77rxvv\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1czem5d\",\"data-framer-name\":\"2 Columns Text Image\",name:\"2 Columns Text Image\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-11x75i1\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-165iz2n\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1ammhe5\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1y8wkjy\",children:[isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 279 58\"><g transform=\"translate(0.274 -0.314)\" id=\"ss12150211684_1\"><path d=\"M 0.153 58.74 L 0.153 0.74 L 277.867 0.74 L 277.867 58.74 Z\" fill=\"transparent\"></path><path d=\"M 73.833 30.104 C 73.833 27.401 74.364 25.032 75.438 22.995 C 76.505 20.959 77.993 19.367 79.887 18.207 C 81.782 17.047 83.973 16.474 86.466 16.474 C 89.693 16.474 92.378 17.331 94.52 19.053 C 96.661 20.774 97.939 23.051 98.365 25.895 L 93.415 25.895 C 92.995 24.248 92.168 23.002 90.941 22.156 C 89.712 21.317 88.274 20.891 86.627 20.891 C 85.084 20.891 83.714 21.268 82.523 22.021 C 81.325 22.773 80.4 23.835 79.733 25.204 C 79.067 26.574 78.733 28.185 78.733 30.048 C 78.733 31.911 79.048 33.516 79.684 34.861 C 80.313 36.212 81.208 37.267 82.368 38.02 C 83.528 38.773 84.874 39.149 86.423 39.149 C 88.176 39.149 89.687 38.711 90.953 37.835 C 92.218 36.959 93.057 35.762 93.477 34.256 L 98.426 34.256 C 98.112 36.12 97.401 37.736 96.297 39.124 C 95.192 40.513 93.786 41.599 92.082 42.388 C 90.379 43.178 88.496 43.573 86.423 43.573 C 83.893 43.573 81.696 43.012 79.813 41.889 C 77.937 40.766 76.474 39.198 75.419 37.181 C 74.364 35.163 73.839 32.806 73.839 30.104 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 100.043 30.048 C 100.043 27.413 100.623 25.081 101.778 23.045 C 102.938 21.009 104.524 19.417 106.542 18.257 C 108.56 17.097 110.868 16.523 113.466 16.523 C 116.064 16.523 118.36 17.103 120.36 18.257 C 122.359 19.417 123.939 21.009 125.099 23.045 C 126.254 25.081 126.833 27.413 126.833 30.048 C 126.833 32.683 126.254 35.015 125.099 37.045 C 123.939 39.081 122.359 40.679 120.36 41.833 C 118.36 42.987 116.058 43.567 113.466 43.567 C 110.874 43.567 108.56 42.987 106.542 41.833 C 104.524 40.673 102.938 39.081 101.778 37.045 C 100.617 35.009 100.043 32.677 100.043 30.048 Z M 105.042 30.048 C 105.042 31.837 105.4 33.417 106.122 34.787 C 106.844 36.157 107.832 37.224 109.097 37.995 C 110.362 38.767 111.818 39.155 113.466 39.155 C 115.114 39.155 116.57 38.773 117.836 37.995 C 119.101 37.224 120.094 36.15 120.81 34.787 C 121.526 33.417 121.89 31.844 121.89 30.048 C 121.89 28.253 121.526 26.636 120.81 25.285 C 120.088 23.933 119.101 22.872 117.836 22.101 C 116.57 21.33 115.12 20.941 113.466 20.941 C 111.812 20.941 110.362 21.323 109.097 22.101 C 107.832 22.872 106.844 23.933 106.122 25.285 C 105.4 26.636 105.042 28.222 105.042 30.048 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 135.368 42.944 L 130.419 42.944 L 130.419 17.208 L 134.838 17.208 L 135.523 21.947 L 134.894 21.527 C 135.418 20.089 136.393 18.886 137.813 17.924 C 139.232 16.961 140.96 16.474 142.996 16.474 C 145.279 16.474 147.175 17.091 148.68 18.318 C 150.193 19.546 151.173 21.181 151.63 23.211 L 150.736 23.211 C 151.087 21.175 152.05 19.546 153.629 18.318 C 155.21 17.091 157.154 16.474 159.475 16.474 C 162.424 16.474 164.738 17.331 166.423 19.053 C 168.108 20.774 168.953 23.125 168.953 26.105 L 168.953 42.944 L 164.109 42.944 L 164.109 27.315 C 164.109 25.278 163.591 23.711 162.554 22.607 C 161.517 21.502 160.122 20.947 158.37 20.947 C 157.141 20.947 156.062 21.218 155.129 21.761 C 154.197 22.304 153.469 23.088 152.945 24.106 C 152.42 25.124 152.154 26.315 152.154 27.685 L 152.154 42.95 L 147.261 42.95 L 147.261 27.265 C 147.261 25.229 146.748 23.68 145.736 22.607 C 144.718 21.539 143.33 21.003 141.577 21.003 C 140.349 21.003 139.269 21.274 138.337 21.817 C 137.405 22.36 136.677 23.131 136.152 24.131 C 135.628 25.13 135.362 26.315 135.362 27.685 L 135.362 42.95 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 173.897 54.47 L 173.897 17.208 L 178.372 17.208 L 178.742 21.842 C 179.58 20.052 180.84 18.707 182.506 17.813 C 184.172 16.918 186.024 16.468 188.06 16.468 C 190.516 16.468 192.639 17.041 194.429 18.177 C 196.219 19.318 197.595 20.898 198.564 22.915 C 199.527 24.933 200.008 27.259 200.008 29.888 C 200.008 32.516 199.546 34.867 198.614 36.94 C 197.681 39.013 196.336 40.642 194.559 41.833 C 192.781 43.024 190.621 43.623 188.06 43.623 C 185.987 43.623 184.148 43.203 182.53 42.358 C 180.914 41.512 179.685 40.303 178.846 38.723 L 178.846 54.458 L 173.897 54.458 Z M 178.896 30.104 C 178.896 31.825 179.216 33.374 179.871 34.762 C 180.519 36.15 181.451 37.23 182.66 38.002 C 183.87 38.773 185.32 39.162 187.005 39.162 C 188.69 39.162 190.127 38.767 191.318 37.977 C 192.51 37.187 193.429 36.107 194.083 34.738 C 194.731 33.368 195.059 31.825 195.059 30.11 C 195.059 28.395 194.738 26.741 194.083 25.371 C 193.435 24.001 192.51 22.934 191.318 22.163 C 190.121 21.391 188.69 21.003 187.005 21.003 C 185.32 21.003 183.87 21.391 182.66 22.163 C 181.451 22.934 180.519 24.008 179.871 25.371 C 179.223 26.741 178.896 28.32 178.896 30.11 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 208.642 42.944 L 203.693 42.944 L 203.693 4.207 L 208.642 4.207 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.12 43.573 C 222.626 43.573 220.417 42.999 218.485 41.864 C 216.553 40.723 215.048 39.149 213.956 37.125 C 212.869 35.108 212.32 32.763 212.32 30.098 C 212.32 27.432 212.857 25.026 213.925 22.989 C 214.992 20.953 216.473 19.361 218.35 18.201 C 220.225 17.041 222.41 16.468 224.903 16.468 C 227.397 16.468 229.489 16.992 231.298 18.047 C 233.106 19.102 234.507 20.571 235.513 22.465 C 236.512 24.359 237.012 26.587 237.012 29.147 L 237.012 30.992 L 214.956 31.042 L 215.061 27.728 L 232.062 27.728 C 232.062 25.587 231.414 23.872 230.112 22.57 C 228.817 21.274 227.076 20.62 224.903 20.62 C 223.249 20.62 221.843 20.978 220.67 21.7 C 219.491 22.422 218.596 23.471 217.986 24.859 C 217.374 26.247 217.066 27.901 217.066 29.832 C 217.066 32.917 217.769 35.299 219.171 36.965 C 220.577 38.631 222.595 39.464 225.225 39.464 C 227.156 39.464 228.736 39.081 229.964 38.304 C 231.193 37.533 232.02 36.41 232.439 34.935 L 237.074 34.935 C 236.444 37.668 235.092 39.797 233.019 41.303 C 230.945 42.814 228.316 43.567 225.126 43.567 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 237.647 17.208 L 252.699 17.208 L 252.699 21.367 L 237.647 21.367 Z M 247.645 42.944 L 242.695 42.944 L 242.695 9.156 L 247.645 9.156 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 266.073 43.573 C 263.58 43.573 261.371 42.999 259.439 41.864 C 257.508 40.723 255.995 39.149 254.909 37.125 C 253.823 35.108 253.274 32.763 253.274 30.098 C 253.274 27.432 253.811 25.026 254.878 22.989 C 255.946 20.953 257.421 19.361 259.297 18.201 C 261.173 17.041 263.358 16.468 265.851 16.468 C 268.345 16.468 270.443 16.992 272.251 18.047 C 274.059 19.102 275.46 20.571 276.46 22.465 C 277.459 24.359 277.96 26.587 277.96 29.147 L 277.96 30.992 L 255.902 31.042 L 256.007 27.728 L 273.01 27.728 C 273.01 25.587 272.362 23.872 271.06 22.57 C 269.757 21.274 268.023 20.62 265.845 20.62 C 264.197 20.62 262.784 20.978 261.611 21.7 C 260.433 22.422 259.538 23.471 258.926 24.859 C 258.316 26.247 258.007 27.901 258.007 29.832 C 258.007 32.917 258.711 35.299 260.111 36.965 C 261.512 38.631 263.53 39.464 266.166 39.464 C 268.097 39.464 269.671 39.081 270.906 38.304 C 272.133 37.533 272.96 36.41 273.38 34.935 L 278.015 34.935 C 277.385 37.668 276.034 39.797 273.96 41.303 C 271.887 42.814 269.258 43.567 266.067 43.567 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 50.036 50.083 C 44.34 55.778 36.811 58.622 29.282 58.622 C 21.753 58.622 14.236 55.778 8.54 50.083 C -2.853 38.711 -2.853 19.984 8.54 8.594 L 15.927 15.98 C 12.508 19.398 10.391 24.125 10.391 29.345 C 10.391 29.851 10.41 30.357 10.453 30.85 C 10.453 30.961 10.471 31.085 10.484 31.196 C 11.415 40.747 19.469 48.232 29.276 48.232 C 34.497 48.232 39.224 46.115 42.643 42.697 L 50.03 50.083 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 58.627 29.345 C 58.627 37.113 55.529 44.579 50.036 50.083 L 42.649 42.697 C 46.068 39.279 48.185 34.552 48.185 29.345 C 48.185 28.302 48.104 27.29 47.932 26.29 L 49.197 25.056 L 56.38 18.115 C 57.849 21.644 58.627 25.451 58.627 29.345 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 54.924 15.11 L 47 22.78 L 26.906 42.253 L 14.742 30.85 L 20.389 24.68 L 26.856 30.708 L 42.328 15.684 L 49.826 8.409 C 49.907 8.471 49.968 8.539 50.03 8.6 C 51.974 10.544 53.622 12.747 54.918 15.116 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 10.453 30.85 L 10.292 31.023 L 10.484 31.196 C 10.465 31.085 10.453 30.961 10.453 30.85 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.457 6.299 L 40.131 13.401 L 39.847 13.672 C 36.823 11.63 33.188 10.445 29.282 10.445 C 24.079 10.445 19.346 12.562 15.927 15.98 L 8.54 8.594 C 14.026 3.09 21.512 0.005 29.282 0.005 C 35.91 0.005 42.316 2.233 47.457 6.299 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:12150211684},n699I8gTW:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss8868569001_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:8868569001}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-fqmk56 hidden-1gpl90e\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss278634409_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:278634409,withExternalLayout:true})}),isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss11496834152_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11496834152}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-lpv43s hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss715107641_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:715107641,withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-ml9diy\",\"data-styles-preset\":\"xRwScoltc\",style:{\"--framer-text-alignment\":\"left\"},children:\"value\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{className:\"framer-styles-preset-msfam1\",\"data-styles-preset\":\"ujRE1KznF\",children:\"value\"})}),className:\"framer-236td8\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[\"Significantly reduce costs vs. existing data providers - and capture operational efficiencies as you scale.\",/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"br\",{}),\"Avoid long term lock-ins and up-front bulk buys with our flexible Service Credits model.\",/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"br\",{className:\"trailing-break\"})]}),/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:\"Generous volume discounts. No hidden fees or charges.\"})]}),className:\"framer-14j533r\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-hanexn\",\"data-framer-name\":\"Image\",name:\"Image\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-12imz09\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:848,intrinsicWidth:651,pixelHeight:848,pixelWidth:651,positionX:\"center\",positionY:\"center\",sizes:\"67.24vw\",src:\"https://framerusercontent.com/images/D7XGyl1cHHewAdFfoi4lwIDPcpk.png\",srcSet:\"https://framerusercontent.com/images/D7XGyl1cHHewAdFfoi4lwIDPcpk.png 651w\"}},VKrzHFZeI:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:848,intrinsicWidth:651,pixelHeight:848,pixelWidth:651,positionX:\"center\",positionY:\"center\",sizes:\"67.24vw\",src:\"https://framerusercontent.com/images/D7XGyl1cHHewAdFfoi4lwIDPcpk.png\",srcSet:\"https://framerusercontent.com/images/D7XGyl1cHHewAdFfoi4lwIDPcpk.png 651w\"}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:848,intrinsicWidth:651,pixelHeight:848,pixelWidth:651,positionX:\"center\",positionY:\"center\",sizes:\"calc(max(50vw, 1px) * 0.6724)\",src:\"https://framerusercontent.com/images/D7XGyl1cHHewAdFfoi4lwIDPcpk.png\",srcSet:\"https://framerusercontent.com/images/D7XGyl1cHHewAdFfoi4lwIDPcpk.png 651w\"},className:\"framer-1d0z23\",\"data-framer-name\":\"out of the box\",name:\"out of the box\"})})})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-xzzj0f\",\"data-framer-name\":\"2 Columns Text Image\",name:\"2 Columns Text Image\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"framer-1ebd8nu\",\"data-framer-name\":\"Image\",name:\"Image\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-mcnui7\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:600,intrinsicWidth:600,pixelHeight:600,pixelWidth:600,positionX:\"center\",positionY:\"center\",sizes:\"82vw\",src:\"https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png\",srcSet:\"https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png?scale-down-to=512 512w,https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png 600w\"}},VKrzHFZeI:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:600,intrinsicWidth:600,pixelHeight:600,pixelWidth:600,positionX:\"center\",positionY:\"center\",sizes:\"82vw\",src:\"https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png\",srcSet:\"https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png?scale-down-to=512 512w,https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png 600w\"}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:600,intrinsicWidth:600,pixelHeight:600,pixelWidth:600,positionX:\"center\",positionY:\"center\",sizes:\"calc(max(50vw, 1px) * 0.82)\",src:\"https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png\",srcSet:\"https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png?scale-down-to=512 512w,https://framerusercontent.com/images/T2A0BqadAdnbBZfyuWdb6h0yGg.png 600w\"},className:\"framer-1krcb9\",\"data-framer-name\":\"phone mockup\",name:\"phone mockup\"})})})}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-b13gr3\",children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-w1dgrp\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"framer-hj9x67\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-11hvv8r\",children:[isDisplayed()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 279 58\"><g transform=\"translate(0.255 -0.293)\" id=\"ss12288991048_1\"><path d=\"M 0.171 58.719 L 0.171 0.719 L 277.885 0.719 L 277.885 58.719 Z\" fill=\"transparent\"></path><path d=\"M 73.851 30.082 C 73.851 27.38 74.382 25.01 75.456 22.974 C 76.524 20.938 78.011 19.346 79.906 18.186 C 81.8 17.026 83.991 16.452 86.484 16.452 C 89.712 16.452 92.396 17.31 94.538 19.031 C 96.68 20.753 97.957 23.03 98.383 25.874 L 93.433 25.874 C 93.014 24.227 92.187 22.98 90.959 22.135 C 89.73 21.296 88.292 20.87 86.645 20.87 C 85.102 20.87 83.732 21.247 82.541 21.999 C 81.344 22.752 80.418 23.813 79.751 25.183 C 79.085 26.553 78.752 28.163 78.752 30.027 C 78.752 31.89 79.066 33.494 79.702 34.84 C 80.331 36.191 81.226 37.246 82.387 37.999 C 83.547 38.751 84.892 39.128 86.441 39.128 C 88.194 39.128 89.706 38.69 90.971 37.814 C 92.236 36.937 93.075 35.74 93.495 34.235 L 98.445 34.235 C 98.13 36.098 97.42 37.715 96.316 39.103 C 95.211 40.491 93.804 41.577 92.101 42.367 C 90.397 43.157 88.515 43.552 86.441 43.552 C 83.911 43.552 81.714 42.99 79.832 41.867 C 77.955 40.744 76.493 39.177 75.438 37.16 C 74.382 35.142 73.858 32.785 73.858 30.082 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 100.062 30.027 C 100.062 27.392 100.642 25.06 101.796 23.024 C 102.956 20.987 104.542 19.396 106.56 18.236 C 108.578 17.076 110.886 16.502 113.484 16.502 C 116.082 16.502 118.378 17.082 120.378 18.236 C 122.378 19.396 123.957 20.987 125.118 23.024 C 126.272 25.06 126.852 27.392 126.852 30.027 C 126.852 32.661 126.272 34.994 125.118 37.024 C 123.957 39.06 122.378 40.658 120.378 41.812 C 118.378 42.966 116.076 43.546 113.484 43.546 C 110.893 43.546 108.578 42.966 106.56 41.812 C 104.542 40.652 102.956 39.06 101.796 37.024 C 100.636 34.988 100.062 32.655 100.062 30.027 Z M 105.06 30.027 C 105.06 31.816 105.418 33.396 106.141 34.766 C 106.863 36.135 107.85 37.203 109.115 37.974 C 110.38 38.745 111.837 39.134 113.484 39.134 C 115.132 39.134 116.589 38.751 117.854 37.974 C 119.119 37.203 120.112 36.129 120.828 34.766 C 121.545 33.396 121.909 31.822 121.909 30.027 C 121.909 28.231 121.545 26.615 120.828 25.263 C 120.106 23.912 119.119 22.851 117.854 22.08 C 116.589 21.308 115.138 20.92 113.484 20.92 C 111.831 20.92 110.38 21.302 109.115 22.08 C 107.85 22.851 106.863 23.912 106.141 25.263 C 105.418 26.615 105.06 28.2 105.06 30.027 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 135.387 42.923 L 130.438 42.923 L 130.438 17.187 L 134.856 17.187 L 135.541 21.925 L 134.912 21.506 C 135.436 20.068 136.412 18.865 137.831 17.902 C 139.251 16.94 140.978 16.452 143.015 16.452 C 145.298 16.452 147.193 17.069 148.699 18.297 C 150.211 19.525 151.191 21.16 151.648 23.19 L 150.754 23.19 C 151.105 21.154 152.068 19.525 153.648 18.297 C 155.228 17.069 157.172 16.452 159.493 16.452 C 162.443 16.452 164.757 17.31 166.441 19.031 C 168.127 20.753 168.972 23.104 168.972 26.084 L 168.972 42.923 L 164.127 42.923 L 164.127 27.293 C 164.127 25.257 163.609 23.69 162.572 22.586 C 161.536 21.481 160.141 20.926 158.388 20.926 C 157.159 20.926 156.08 21.197 155.147 21.74 C 154.216 22.283 153.487 23.067 152.963 24.085 C 152.439 25.103 152.173 26.294 152.173 27.664 L 152.173 42.929 L 147.279 42.929 L 147.279 27.244 C 147.279 25.208 146.767 23.659 145.755 22.586 C 144.737 21.518 143.348 20.981 141.595 20.981 C 140.367 20.981 139.287 21.253 138.355 21.796 C 137.424 22.339 136.695 23.11 136.17 24.11 C 135.646 25.109 135.381 26.294 135.381 27.664 L 135.381 42.929 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 173.916 54.449 L 173.916 17.187 L 178.39 17.187 L 178.76 21.821 C 179.599 20.031 180.858 18.686 182.525 17.791 C 184.191 16.897 186.042 16.446 188.078 16.446 C 190.535 16.446 192.657 17.02 194.448 18.155 C 196.237 19.297 197.613 20.876 198.583 22.894 C 199.545 24.912 200.026 27.238 200.026 29.866 C 200.026 32.495 199.564 34.846 198.632 36.919 C 197.699 38.992 196.354 40.621 194.577 41.812 C 192.8 43.003 190.639 43.601 188.078 43.601 C 186.005 43.601 184.166 43.182 182.549 42.336 C 180.932 41.491 179.704 40.282 178.865 38.702 L 178.865 54.436 L 173.916 54.436 Z M 178.914 30.082 C 178.914 31.804 179.235 33.353 179.889 34.741 C 180.537 36.129 181.469 37.209 182.678 37.98 C 183.888 38.752 185.338 39.14 187.024 39.14 C 188.708 39.14 190.146 38.745 191.337 37.956 C 192.528 37.166 193.448 36.086 194.102 34.716 C 194.75 33.346 195.077 31.804 195.077 30.089 C 195.077 28.373 194.756 26.72 194.102 25.35 C 193.454 23.98 192.528 22.913 191.337 22.141 C 190.14 21.37 188.708 20.981 187.024 20.981 C 185.338 20.981 183.888 21.37 182.678 22.141 C 181.469 22.913 180.537 23.986 179.889 25.35 C 179.242 26.72 178.914 28.299 178.914 30.089 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 208.66 42.923 L 203.711 42.923 L 203.711 4.186 L 208.66 4.186 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.138 43.552 C 222.644 43.552 220.435 42.978 218.504 41.843 C 216.572 40.701 215.066 39.128 213.974 37.104 C 212.888 35.086 212.339 32.742 212.339 30.076 C 212.339 27.411 212.875 25.004 213.943 22.968 C 215.011 20.932 216.492 19.34 218.368 18.18 C 220.244 17.02 222.429 16.446 224.922 16.446 C 227.415 16.446 229.508 16.971 231.316 18.026 C 233.124 19.081 234.525 20.549 235.531 22.444 C 236.53 24.338 237.031 26.565 237.031 29.126 L 237.031 30.971 L 214.974 31.02 L 215.079 27.707 L 232.081 27.707 C 232.081 25.566 231.433 23.851 230.131 22.549 C 228.835 21.253 227.094 20.599 224.922 20.599 C 223.268 20.599 221.861 20.957 220.689 21.679 C 219.51 22.401 218.614 23.449 218.004 24.838 C 217.393 26.226 217.084 27.88 217.084 29.811 C 217.084 32.896 217.787 35.278 219.189 36.944 C 220.596 38.61 222.614 39.443 225.243 39.443 C 227.174 39.443 228.755 39.06 229.982 38.283 C 231.211 37.511 232.038 36.388 232.457 34.914 L 237.092 34.914 C 236.463 37.647 235.111 39.776 233.037 41.281 C 230.964 42.793 228.334 43.546 225.144 43.546 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 237.666 17.187 L 252.718 17.187 L 252.718 21.345 L 237.666 21.345 Z M 247.664 42.923 L 242.714 42.923 L 242.714 9.135 L 247.664 9.135 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 266.092 43.552 C 263.598 43.552 261.389 42.978 259.457 41.843 C 257.526 40.701 256.014 39.128 254.927 37.104 C 253.841 35.086 253.292 32.742 253.292 30.076 C 253.292 27.411 253.829 25.004 254.897 22.968 C 255.964 20.932 257.439 19.34 259.316 18.18 C 261.191 17.02 263.376 16.446 265.869 16.446 C 268.363 16.446 270.461 16.971 272.269 18.026 C 274.078 19.081 275.478 20.549 276.478 22.444 C 277.478 24.338 277.978 26.565 277.978 29.126 L 277.978 30.971 L 255.921 31.02 L 256.026 27.707 L 273.028 27.707 C 273.028 25.566 272.38 23.851 271.078 22.549 C 269.776 21.253 268.042 20.599 265.863 20.599 C 264.215 20.599 262.803 20.957 261.629 21.679 C 260.451 22.401 259.556 23.449 258.945 24.838 C 258.334 26.226 258.026 27.88 258.026 29.811 C 258.026 32.896 258.729 35.278 260.13 36.944 C 261.531 38.61 263.549 39.443 266.184 39.443 C 268.116 39.443 269.69 39.06 270.924 38.283 C 272.152 37.511 272.979 36.388 273.398 34.914 L 278.034 34.914 C 277.403 37.647 276.052 39.776 273.979 41.281 C 271.905 42.793 269.276 43.546 266.086 43.546 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 50.055 50.061 C 44.358 55.757 36.829 58.601 29.3 58.601 C 21.771 58.601 14.254 55.757 8.558 50.061 C -2.835 38.69 -2.835 19.963 8.558 8.573 L 15.945 15.959 C 12.526 19.377 10.409 24.103 10.409 29.323 C 10.409 29.829 10.428 30.335 10.471 30.829 C 10.471 30.94 10.489 31.063 10.502 31.174 C 11.434 40.726 19.487 48.21 29.294 48.21 C 34.515 48.21 39.242 46.094 42.661 42.676 L 50.048 50.061 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 58.645 29.323 C 58.645 37.092 55.547 44.558 50.054 50.061 L 42.667 42.676 C 46.086 39.257 48.203 34.531 48.203 29.323 C 48.203 28.281 48.123 27.269 47.95 26.269 L 49.215 25.035 L 56.399 18.094 C 57.867 21.623 58.645 25.43 58.645 29.323 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 54.942 15.089 L 47.018 22.758 L 26.924 42.232 L 14.76 30.829 L 20.407 24.659 L 26.875 30.687 L 42.346 15.663 L 49.845 8.388 C 49.925 8.45 49.987 8.518 50.048 8.579 C 51.992 10.523 53.64 12.726 54.936 15.095 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 10.471 30.829 L 10.311 31.002 L 10.502 31.175 C 10.483 31.064 10.471 30.94 10.471 30.829 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.475 6.278 L 40.149 13.38 L 39.865 13.651 C 36.841 11.609 33.206 10.424 29.3 10.424 C 24.098 10.424 19.364 12.54 15.945 15.959 L 8.558 8.573 C 14.044 3.069 21.53 -0.016 29.3 -0.016 C 35.928 -0.016 42.334 2.211 47.475 6.278 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:12288991048},n699I8gTW:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss11064407967_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11064407967}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1opca61 hidden-1gpl90e\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 265 55\"><g transform=\"translate(0.255 -0.293)\" id=\"ss2474473375_1\"><path d=\"M 0.149 55.697 L 0.149 0.697 L 263.928 0.697 L 263.928 55.697 Z\" fill=\"transparent\"></path><path d=\"M 70.133 28.541 C 70.133 25.979 70.637 23.732 71.657 21.801 C 72.671 19.87 74.084 18.361 75.883 17.261 C 77.683 16.161 79.764 15.616 82.131 15.616 C 85.197 15.616 87.747 16.43 89.781 18.062 C 91.816 19.695 93.029 21.854 93.434 24.551 L 88.732 24.551 C 88.334 22.989 87.548 21.807 86.382 21.005 C 85.215 20.21 83.849 19.806 82.284 19.806 C 80.819 19.806 79.517 20.163 78.386 20.877 C 77.249 21.59 76.37 22.597 75.737 23.896 C 75.104 25.195 74.787 26.722 74.787 28.489 C 74.787 30.256 75.086 31.777 75.69 33.053 C 76.288 34.334 77.138 35.335 78.24 36.048 C 79.342 36.762 80.619 37.119 82.091 37.119 C 83.756 37.119 85.192 36.704 86.393 35.873 C 87.595 35.042 88.392 33.907 88.791 32.479 L 93.492 32.479 C 93.193 34.246 92.518 35.779 91.47 37.096 C 90.42 38.412 89.084 39.442 87.466 40.191 C 85.848 40.94 84.06 41.314 82.091 41.314 C 79.687 41.314 77.601 40.782 75.813 39.717 C 74.031 38.652 72.642 37.166 71.639 35.253 C 70.637 33.339 70.139 31.104 70.139 28.541 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 95.028 28.489 C 95.028 25.99 95.579 23.779 96.675 21.848 C 97.777 19.917 99.283 18.407 101.2 17.307 C 103.117 16.207 105.309 15.663 107.777 15.663 C 110.245 15.663 112.425 16.213 114.325 17.307 C 116.224 18.407 117.724 19.917 118.827 21.848 C 119.923 23.779 120.474 25.99 120.474 28.489 C 120.474 30.987 119.923 33.199 118.827 35.124 C 117.724 37.055 116.224 38.57 114.325 39.664 C 112.425 40.759 110.239 41.308 107.777 41.308 C 105.315 41.308 103.117 40.759 101.2 39.664 C 99.283 38.564 97.777 37.055 96.675 35.124 C 95.573 33.193 95.028 30.981 95.028 28.489 Z M 99.776 28.489 C 99.776 30.186 100.116 31.684 100.802 32.982 C 101.488 34.281 102.425 35.294 103.627 36.025 C 104.829 36.756 106.212 37.125 107.777 37.125 C 109.342 37.125 110.726 36.762 111.927 36.025 C 113.129 35.294 114.072 34.276 114.753 32.982 C 115.433 31.684 115.779 30.192 115.779 28.489 C 115.779 26.786 115.433 25.253 114.753 23.972 C 114.067 22.69 113.129 21.684 111.927 20.953 C 110.726 20.221 109.348 19.853 107.777 19.853 C 106.206 19.853 104.829 20.215 103.627 20.953 C 102.425 21.684 101.488 22.69 100.802 23.972 C 100.116 25.253 99.776 26.757 99.776 28.489 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 128.58 40.718 L 123.88 40.718 L 123.88 16.313 L 128.077 16.313 L 128.727 20.806 L 128.129 20.408 C 128.627 19.045 129.554 17.904 130.902 16.991 C 132.25 16.079 133.891 15.616 135.825 15.616 C 137.994 15.616 139.794 16.202 141.224 17.366 C 142.661 18.53 143.592 20.081 144.026 22.006 L 143.177 22.006 C 143.51 20.075 144.424 18.53 145.925 17.366 C 147.426 16.202 149.273 15.616 151.477 15.616 C 154.279 15.616 156.476 16.43 158.077 18.062 C 159.677 19.695 160.48 21.924 160.48 24.75 L 160.48 40.718 L 155.879 40.718 L 155.879 25.897 C 155.879 23.966 155.386 22.48 154.402 21.432 C 153.417 20.385 152.092 19.858 150.427 19.858 C 149.26 19.858 148.235 20.116 147.349 20.631 C 146.464 21.146 145.773 21.889 145.275 22.854 C 144.777 23.82 144.524 24.949 144.524 26.248 L 144.524 40.723 L 139.876 40.723 L 139.876 25.85 C 139.876 23.919 139.389 22.451 138.428 21.432 C 137.461 20.42 136.142 19.911 134.477 19.911 C 133.311 19.911 132.285 20.169 131.4 20.683 C 130.515 21.198 129.823 21.93 129.325 22.878 C 128.826 23.826 128.575 24.949 128.575 26.248 L 128.575 40.723 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 165.176 51.647 L 165.176 16.313 L 169.426 16.313 L 169.777 20.707 C 170.574 19.01 171.77 17.735 173.353 16.886 C 174.935 16.038 176.694 15.611 178.628 15.611 C 180.961 15.611 182.977 16.155 184.678 17.231 C 186.377 18.314 187.684 19.812 188.605 21.725 C 189.519 23.638 189.976 25.844 189.976 28.337 C 189.976 30.829 189.537 33.059 188.652 35.025 C 187.766 36.99 186.488 38.535 184.801 39.664 C 183.112 40.794 181.06 41.361 178.628 41.361 C 176.658 41.361 174.912 40.963 173.376 40.162 C 171.84 39.36 170.673 38.213 169.877 36.715 L 169.877 51.636 L 165.176 51.636 Z M 169.924 28.542 C 169.924 30.174 170.228 31.643 170.85 32.959 C 171.465 34.276 172.35 35.3 173.499 36.031 C 174.648 36.762 176.025 37.131 177.626 37.131 C 179.226 37.131 180.592 36.756 181.723 36.008 C 182.854 35.259 183.728 34.235 184.349 32.936 C 184.964 31.637 185.275 30.174 185.275 28.547 C 185.275 26.921 184.971 25.353 184.349 24.054 C 183.734 22.755 182.854 21.743 181.723 21.011 C 180.586 20.28 179.226 19.911 177.626 19.911 C 176.025 19.911 174.648 20.28 173.499 21.011 C 172.35 21.743 171.465 22.761 170.85 24.054 C 170.235 25.353 169.924 26.851 169.924 28.547 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 198.177 40.718 L 193.476 40.718 L 193.476 3.985 L 198.177 3.985 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 213.828 41.314 C 211.46 41.314 209.361 40.77 207.526 39.694 C 205.691 38.611 204.261 37.119 203.224 35.2 C 202.192 33.287 201.671 31.063 201.671 28.536 C 201.671 26.008 202.18 23.726 203.195 21.795 C 204.209 19.864 205.615 18.355 207.398 17.255 C 209.179 16.155 211.255 15.611 213.622 15.611 C 215.991 15.611 217.978 16.108 219.696 17.109 C 221.413 18.109 222.744 19.502 223.699 21.298 C 224.648 23.094 225.124 25.206 225.124 27.635 L 225.124 29.384 L 204.174 29.431 L 204.274 26.289 L 220.422 26.289 C 220.422 24.259 219.807 22.632 218.57 21.397 C 217.339 20.169 215.686 19.549 213.622 19.549 C 212.051 19.549 210.715 19.888 209.602 20.572 C 208.482 21.257 207.632 22.252 207.052 23.568 C 206.471 24.885 206.178 26.453 206.178 28.284 C 206.178 31.21 206.846 33.468 208.177 35.048 C 209.514 36.628 211.43 37.418 213.928 37.418 C 215.762 37.418 217.263 37.055 218.429 36.318 C 219.596 35.586 220.382 34.521 220.78 33.123 L 225.182 33.123 C 224.584 35.715 223.3 37.734 221.331 39.161 C 219.361 40.595 216.864 41.309 213.834 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 225.727 16.313 L 240.024 16.313 L 240.024 20.256 L 225.727 20.256 Z M 235.223 40.718 L 230.522 40.718 L 230.522 8.677 L 235.223 8.677 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 252.727 41.314 C 250.358 41.314 248.26 40.77 246.425 39.694 C 244.591 38.611 243.154 37.119 242.123 35.2 C 241.091 33.287 240.569 31.063 240.569 28.536 C 240.569 26.008 241.08 23.726 242.093 21.795 C 243.107 19.864 244.508 18.355 246.291 17.255 C 248.072 16.155 250.148 15.611 252.515 15.611 C 254.884 15.611 256.877 16.108 258.594 17.109 C 260.312 18.109 261.642 19.502 262.592 21.298 C 263.541 23.094 264.017 25.206 264.017 27.635 L 264.017 29.384 L 243.066 29.431 L 243.166 26.289 L 259.315 26.289 C 259.315 24.259 258.7 22.632 257.463 21.397 C 256.226 20.169 254.579 19.549 252.51 19.549 C 250.944 19.549 249.603 19.888 248.488 20.572 C 247.369 21.257 246.519 22.252 245.938 23.568 C 245.358 24.885 245.065 26.453 245.065 28.284 C 245.065 31.21 245.733 33.468 247.064 35.048 C 248.394 36.628 250.311 37.418 252.814 37.418 C 254.649 37.418 256.144 37.055 257.316 36.318 C 258.483 35.586 259.268 34.521 259.666 33.123 L 264.069 33.123 C 263.471 35.715 262.187 37.734 260.218 39.161 C 258.249 40.595 255.751 41.309 252.721 41.309 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 47.53 47.487 C 42.12 52.888 34.968 55.585 27.817 55.585 C 20.666 55.585 13.526 52.888 8.116 47.487 C -2.705 36.704 -2.705 18.946 8.116 8.145 L 15.132 15.148 C 11.885 18.39 9.874 22.872 9.874 27.822 C 9.874 28.302 9.892 28.781 9.933 29.249 C 9.933 29.355 9.95 29.472 9.962 29.577 C 10.847 38.635 18.497 45.732 27.811 45.732 C 32.77 45.732 37.26 43.725 40.508 40.483 L 47.524 47.487 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 55.689 27.822 C 55.689 35.188 52.747 42.268 47.53 47.487 L 40.513 40.484 C 43.761 37.242 45.771 32.76 45.771 27.822 C 45.771 26.833 45.695 25.873 45.531 24.926 L 46.733 23.755 L 53.556 17.173 C 54.951 20.52 55.689 24.13 55.689 27.822 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 52.172 14.323 L 44.646 21.596 L 25.56 40.062 L 14.007 29.25 L 19.37 23.398 L 25.513 29.115 L 40.209 14.868 L 47.331 7.969 C 47.407 8.028 47.465 8.092 47.524 8.151 C 49.371 9.994 50.936 12.083 52.167 14.329 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 9.933 29.25 L 9.78 29.413 L 9.962 29.577 C 9.945 29.472 9.933 29.355 9.933 29.25 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 45.08 5.968 L 38.122 12.703 L 37.852 12.96 C 34.98 11.023 31.527 9.9 27.817 9.9 C 22.875 9.9 18.38 11.907 15.132 15.148 L 8.116 8.145 C 13.327 2.926 20.437 0 27.817 0 C 34.112 0 40.197 2.112 45.08 5.968 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:2474473375,withExternalLayout:true})}),isDisplayed1()&&/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss11496834152_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:11496834152}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-nlnbzw hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",\"data-framer-name\":\"complete_logo-inverted 1\",layout:\"position\",name:\"complete_logo-inverted 1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 169 35\"><g transform=\"translate(0.163 -0.186)\" id=\"ss715107641_1\"><path d=\"M 0.095 35.444 L 0.095 0.444 L 168.317 0.444 L 168.317 35.444 Z\" fill=\"transparent\"></path><path d=\"M 44.726 18.163 C 44.726 16.532 45.048 15.102 45.698 13.873 C 46.345 12.645 47.246 11.684 48.393 10.984 C 49.541 10.284 50.868 9.938 52.378 9.938 C 54.333 9.938 55.96 10.455 57.257 11.494 C 58.554 12.533 59.328 13.907 59.586 15.623 L 56.588 15.623 C 56.333 14.629 55.833 13.877 55.089 13.367 C 54.345 12.861 53.473 12.604 52.476 12.604 C 51.541 12.604 50.711 12.831 49.99 13.285 C 49.264 13.739 48.704 14.38 48.3 15.206 C 47.896 16.033 47.694 17.005 47.694 18.129 C 47.694 19.254 47.885 20.222 48.27 21.034 C 48.651 21.849 49.193 22.486 49.896 22.94 C 50.599 23.394 51.414 23.621 52.352 23.621 C 53.414 23.621 54.33 23.357 55.096 22.828 C 55.862 22.299 56.371 21.577 56.625 20.669 L 59.623 20.669 C 59.433 21.793 59.002 22.769 58.334 23.606 C 57.664 24.444 56.812 25.099 55.78 25.576 C 54.749 26.053 53.608 26.291 52.352 26.291 C 50.82 26.291 49.489 25.952 48.349 25.274 C 47.212 24.597 46.326 23.651 45.687 22.434 C 45.048 21.216 44.73 19.794 44.73 18.163 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 60.603 18.129 C 60.603 16.539 60.954 15.132 61.653 13.903 C 62.356 12.674 63.317 11.714 64.539 11.014 C 65.761 10.314 67.159 9.968 68.733 9.968 C 70.307 9.968 71.698 10.318 72.909 11.014 C 74.12 11.714 75.077 12.674 75.78 13.903 C 76.479 15.132 76.83 16.539 76.83 18.129 C 76.83 19.719 76.479 21.127 75.78 22.352 C 75.077 23.58 74.12 24.545 72.909 25.241 C 71.698 25.937 70.303 26.287 68.733 26.287 C 67.163 26.287 65.761 25.937 64.539 25.241 C 63.317 24.541 62.356 23.58 61.653 22.352 C 60.95 21.123 60.603 19.715 60.603 18.129 Z M 63.631 18.129 C 63.631 19.209 63.847 20.162 64.285 20.989 C 64.722 21.815 65.32 22.46 66.087 22.925 C 66.853 23.39 67.735 23.625 68.733 23.625 C 69.732 23.625 70.614 23.394 71.38 22.925 C 72.146 22.46 72.748 21.812 73.182 20.989 C 73.616 20.162 73.836 19.213 73.836 18.129 C 73.836 17.046 73.616 16.07 73.182 15.255 C 72.744 14.439 72.146 13.799 71.38 13.334 C 70.614 12.868 69.735 12.634 68.733 12.634 C 67.731 12.634 66.853 12.864 66.087 13.334 C 65.32 13.799 64.722 14.439 64.285 15.255 C 63.847 16.07 63.631 17.027 63.631 18.129 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 82 25.911 L 79.002 25.911 L 79.002 10.381 L 81.679 10.381 L 82.094 13.24 L 81.713 12.987 C 82.03 12.12 82.621 11.394 83.481 10.813 C 84.341 10.232 85.387 9.938 86.621 9.938 C 88.004 9.938 89.152 10.31 90.064 11.051 C 90.98 11.792 91.574 12.779 91.851 14.004 L 91.309 14.004 C 91.522 12.775 92.105 11.792 93.062 11.051 C 94.019 10.31 95.196 9.938 96.602 9.938 C 98.389 9.938 99.791 10.455 100.811 11.494 C 101.832 12.533 102.344 13.952 102.344 15.75 L 102.344 25.911 L 99.409 25.911 L 99.409 16.48 C 99.409 15.251 99.095 14.305 98.468 13.639 C 97.84 12.972 96.995 12.637 95.933 12.637 C 95.189 12.637 94.535 12.801 93.97 13.129 C 93.406 13.456 92.964 13.929 92.647 14.544 C 92.329 15.158 92.168 15.877 92.168 16.703 L 92.168 25.915 L 89.204 25.915 L 89.204 16.45 C 89.204 15.221 88.894 14.287 88.281 13.639 C 87.664 12.995 86.823 12.671 85.761 12.671 C 85.017 12.671 84.363 12.835 83.798 13.162 C 83.234 13.49 82.793 13.955 82.475 14.559 C 82.157 15.162 81.997 15.877 81.997 16.703 L 81.997 25.915 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 105.339 32.867 L 105.339 10.381 L 108.049 10.381 L 108.273 13.177 C 108.781 12.097 109.544 11.286 110.553 10.746 C 111.563 10.206 112.684 9.934 113.917 9.934 C 115.405 9.934 116.691 10.28 117.776 10.965 C 118.86 11.654 119.693 12.608 120.28 13.825 C 120.863 15.043 121.155 16.446 121.155 18.033 C 121.155 19.619 120.875 21.037 120.31 22.288 C 119.745 23.539 118.93 24.522 117.854 25.241 C 116.777 25.96 115.469 26.321 113.917 26.321 C 112.661 26.321 111.548 26.068 110.568 25.558 C 109.589 25.047 108.845 24.318 108.336 23.364 L 108.336 32.859 L 105.339 32.859 Z M 108.366 18.163 C 108.366 19.202 108.561 20.136 108.957 20.974 C 109.35 21.812 109.914 22.463 110.646 22.929 C 111.379 23.394 112.258 23.629 113.279 23.629 C 114.299 23.629 115.17 23.39 115.891 22.914 C 116.613 22.437 117.17 21.786 117.566 20.959 C 117.958 20.133 118.157 19.202 118.157 18.167 C 118.157 17.131 117.963 16.134 117.566 15.307 C 117.173 14.48 116.613 13.836 115.891 13.371 C 115.166 12.905 114.299 12.671 113.279 12.671 C 112.258 12.671 111.379 12.905 110.646 13.371 C 109.914 13.836 109.35 14.484 108.957 15.307 C 108.565 16.134 108.366 17.087 108.366 18.167 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 126.384 25.911 L 123.387 25.911 L 123.387 2.536 L 126.384 2.536 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 136.366 26.291 C 134.855 26.291 133.517 25.945 132.347 25.26 C 131.177 24.571 130.265 23.621 129.603 22.4 C 128.945 21.183 128.613 19.768 128.613 18.159 C 128.613 16.551 128.938 15.098 129.585 13.87 C 130.231 12.641 131.128 11.68 132.265 10.98 C 133.401 10.28 134.725 9.934 136.235 9.934 C 137.745 9.934 139.013 10.251 140.108 10.887 C 141.203 11.524 142.052 12.41 142.661 13.553 C 143.266 14.696 143.569 16.04 143.569 17.586 L 143.569 18.699 L 130.209 18.729 L 130.273 16.729 L 140.571 16.729 C 140.571 15.437 140.179 14.402 139.39 13.617 C 138.605 12.835 137.551 12.44 136.235 12.44 C 135.233 12.44 134.381 12.656 133.671 13.092 C 132.956 13.527 132.414 14.16 132.044 14.998 C 131.674 15.836 131.487 16.834 131.487 17.999 C 131.487 19.861 131.913 21.298 132.762 22.303 C 133.614 23.309 134.837 23.811 136.429 23.811 C 137.599 23.811 138.557 23.58 139.3 23.111 C 140.044 22.646 140.545 21.968 140.799 21.078 L 143.607 21.078 C 143.226 22.728 142.406 24.012 141.151 24.921 C 139.895 25.833 138.302 26.287 136.369 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 143.954 10.381 L 153.072 10.381 L 153.072 12.89 L 143.954 12.89 Z M 150.01 25.911 L 147.012 25.911 L 147.012 5.522 L 150.01 5.522 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 161.173 26.291 C 159.662 26.291 158.324 25.945 157.154 25.26 C 155.984 24.571 155.068 23.621 154.41 22.4 C 153.752 21.183 153.42 19.768 153.42 18.159 C 153.42 16.551 153.745 15.098 154.392 13.87 C 155.038 12.641 155.932 11.68 157.068 10.98 C 158.204 10.28 159.528 9.934 161.038 9.934 C 162.549 9.934 163.82 10.251 164.915 10.887 C 166.01 11.524 166.859 12.41 167.464 13.553 C 168.07 14.696 168.373 16.04 168.373 17.586 L 168.373 18.699 L 155.012 18.729 L 155.075 16.729 L 165.374 16.729 C 165.374 15.437 164.982 14.402 164.193 13.617 C 163.404 12.835 162.354 12.44 161.034 12.44 C 160.036 12.44 159.18 12.656 158.47 13.092 C 157.756 13.527 157.214 14.16 156.844 14.998 C 156.474 15.836 156.287 16.834 156.287 17.999 C 156.287 19.861 156.713 21.298 157.561 22.303 C 158.41 23.309 159.632 23.811 161.229 23.811 C 162.399 23.811 163.352 23.58 164.1 23.111 C 164.844 22.646 165.345 21.968 165.599 21.078 L 168.406 21.078 C 168.025 22.728 167.206 24.012 165.95 24.921 C 164.694 25.833 163.102 26.287 161.169 26.287 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 30.312 30.219 C 26.861 33.656 22.301 35.372 17.74 35.372 C 13.179 35.372 8.626 33.656 5.176 30.219 C -1.725 23.357 -1.725 12.056 5.176 5.183 L 9.65 9.64 C 7.579 11.703 6.297 14.555 6.297 17.705 C 6.297 18.01 6.308 18.315 6.334 18.613 C 6.334 18.68 6.346 18.755 6.353 18.822 C 6.918 24.586 11.796 29.102 17.736 29.102 C 20.899 29.102 23.762 27.825 25.833 25.762 L 30.308 30.219 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 35.515 17.705 C 35.515 22.393 33.639 26.898 30.312 30.219 L 25.837 25.762 C 27.908 23.699 29.19 20.847 29.19 17.705 C 29.19 17.076 29.141 16.465 29.037 15.862 L 29.803 15.117 L 34.154 10.928 C 35.044 13.058 35.515 15.355 35.515 17.705 Z\" fill=\"rgb(145,167,153)\"></path><path d=\"M 33.272 9.115 L 28.472 13.743 L 16.301 25.494 L 8.933 18.613 L 12.353 14.89 L 16.271 18.528 L 25.642 9.461 L 30.184 5.071 C 30.233 5.109 30.27 5.15 30.308 5.187 C 31.485 6.36 32.484 7.689 33.269 9.119 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 6.335 18.613 L 6.237 18.718 L 6.353 18.822 C 6.342 18.755 6.335 18.68 6.335 18.613 Z\" fill=\"rgb(18,21,51)\"></path><path d=\"M 28.749 3.798 L 24.312 8.084 L 24.14 8.247 C 22.308 7.015 20.106 6.3 17.74 6.3 C 14.589 6.3 11.721 7.577 9.65 9.64 L 5.176 5.183 C 8.499 1.862 13.033 0 17.74 0 C 21.755 0 25.635 1.344 28.749 3.798 Z\" fill=\"rgb(90,109,97)\"></path></g></svg>',svgContentId:715107641,withExternalLayout:true})}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{className:\"framer-styles-preset-ml9diy\",\"data-styles-preset\":\"xRwScoltc\",style:{\"--framer-text-alignment\":\"left\"},children:\"trust\"})})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{className:\"framer-styles-preset-msfam1\",\"data-styles-preset\":\"ujRE1KznF\",children:\"trust\"})}),className:\"framer-1w3rkuf\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[\"FCA registered , registration number: 995375\",/*#__PURE__*/_jsx(\"br\",{}),\"ISO 27001: 2022 certified\"]}),/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:\"Registered with the ICO, number: ZB312025\"}),/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[/*#__PURE__*/_jsx(\"br\",{}),\"The only solution built by gambling industry people,\",/*#__PURE__*/_jsx(\"br\",{}),\"for gambling industry people.\"]})]})},n699I8gTW:{children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[\"FCA registered , registration number: 995375\",/*#__PURE__*/_jsx(\"br\",{}),\"ISO 27001: 2022 certified\"]}),/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:\"Registered with the ICO, number: ZB312025\"}),/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[/*#__PURE__*/_jsx(\"br\",{}),\"The only solution built by gambling industry people,\",/*#__PURE__*/_jsx(\"br\",{}),\"for gambling industry people.\"]})]})}},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[\"FCA registered , registration number: 995375\",/*#__PURE__*/_jsx(\"br\",{}),\"ISO 27001: 2022 certified\"]}),/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:\"Registered with the ICO, number: ZB312025\"}),/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\"},children:[/*#__PURE__*/_jsx(\"br\",{}),\"The only solution built by gambling industry people, for gambling industry people.\"]})]}),className:\"framer-1uy9ve\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})})]})})})]}),/*#__PURE__*/_jsxs(\"header\",{className:\"framer-b7jl3x\",\"data-framer-name\":\"Header\",name:\"Header\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h1\",{style:{\"--font-selector\":\"R0Y7SW50ZXItNzAw\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"50px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-2.6px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"Contact us\"})}),className:\"framer-1jr9du0\",fonts:[\"GF;Inter-700\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{style:{\"--font-selector\":\"R0Y7SW50ZXItNTAw\",\"--framer-font-size\":\"24px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.5px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--token-fad4afe5-f14b-48a0-b9bd-a63a8dba8f49, rgb(107, 110, 132))\"},children:\"To find out more\"})}),className:\"framer-1a2fo5b\",fonts:[\"GF;Inter-500\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"MmICrltnY\"},children:/*#__PURE__*/_jsx(\"a\",{className:\"framer-1tssol6 framer-ya0c6a\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-b2t0d2-container\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",id:\"yC8ej6aO1\",layoutId:\"yC8ej6aO1\",OgeMNbCAn:\"Get in touch\",style:{height:\"100%\"},variant:\"ECBftwJ7e\",width:\"100%\"})})})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(\"div\",{className:\"framer-o5slpm hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",\"data-framer-name\":\"footer mobile\",name:\"footer mobile\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-9y1qdw\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"framer-qiceb1\",\"data-framer-name\":\"DOT Logo\",name:\"DOT Logo\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-4jp18n\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:21,intrinsicWidth:24,name:\"Vector\",svg:'<svg width=\"24\" height=\"21\" viewBox=\"0 0 24 21\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M20.2989 0.851166L7.55584 13.598L3.98817 10.1742L0.868919 13.6741L7.57556 20.1465L23.3344 4.43733L20.2989 0.851166Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-s643a8\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:41,intrinsicWidth:37,name:\"Vector\",svg:'<svg width=\"37\" height=\"41\" viewBox=\"0 0 37 41\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M32.1386 1.89708C22.7562 -0.628967 13.2457 -0.634039 3.85841 1.89708C1.58673 2.51083 0 4.65137 0 7.10133V19.7468C0 21.7706 0.808147 23.7083 2.24212 25.0981L3.85841 26.7162L6.97766 23.2163L5.41064 21.6438C4.90309 21.1518 4.61728 20.462 4.61728 19.7417V7.10133C4.61728 6.81728 4.79468 6.55351 5.03614 6.49265C13.6449 4.1695 22.3719 4.1695 30.9757 6.49265C31.2122 6.55859 31.3945 6.81728 31.3945 7.10133V18.3417C31.3945 19.9446 30.7589 21.5069 29.6501 22.638L15.0887 37.6218L18.3311 41L32.8926 26.0111C34.8735 23.9974 36.0069 21.2025 36.0069 18.3417V7.10133C36.0069 4.65137 34.4202 2.51083 32.1485 1.89708H32.1386Z\" fill=\"#779180\"/>\\n</svg>\\n',withExternalLayout:true}),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{svgContentId:11169485445}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-znt54y\",\"data-framer-name\":\"Vector\",layout:\"position\",name:\"Vector\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 166 41\"><path d=\"M 6.918 0.984 C 9.609 0.984 11.747 1.75 13.349 3.282 C 14.945 4.814 15.749 6.792 15.749 9.211 C 15.749 11.631 14.95 13.609 13.349 15.141 C 11.752 16.673 9.609 17.439 6.918 17.439 L 1.335 17.439 L 1.335 0.984 Z M 6.918 15.055 C 8.825 15.055 10.348 14.512 11.476 13.432 C 12.605 12.351 13.172 10.941 13.172 9.206 C 13.172 7.472 12.605 6.061 11.476 4.981 C 10.348 3.901 8.83 3.358 6.918 3.358 L 3.888 3.358 L 3.888 15.05 L 6.918 15.05 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 31.133 17.439 L 19.228 17.439 L 19.228 0.984 L 31.108 0.984 L 31.108 3.368 L 21.78 3.368 L 21.78 8.009 L 30.394 8.009 L 30.394 10.368 L 21.78 10.368 L 21.78 15.06 L 31.133 15.06 L 31.133 17.444 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 42.083 0.984 C 43.832 0.984 45.226 1.471 46.271 2.445 C 47.316 3.419 47.833 4.702 47.833 6.29 C 47.833 7.877 47.311 9.186 46.271 10.17 C 45.231 11.154 43.832 11.641 42.083 11.641 L 37.431 11.641 L 37.431 17.439 L 34.878 17.439 L 34.878 0.984 Z M 42.082 9.237 C 43.068 9.237 43.847 8.973 44.423 8.44 C 44.995 7.908 45.28 7.193 45.28 6.29 C 45.28 5.387 44.995 4.717 44.423 4.18 C 43.851 3.637 43.073 3.368 42.082 3.368 L 37.431 3.368 L 37.431 9.237 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 61.074 17.439 L 59.497 13.609 L 51.721 13.609 L 50.144 17.439 L 47.375 17.439 L 54.417 0.984 L 56.802 0.984 L 63.838 17.439 L 61.069 17.439 Z M 55.609 4.2 L 52.721 11.2 L 58.497 11.2 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 76.892 17.439 L 71.191 10.88 L 68.874 10.88 L 68.874 17.439 L 66.322 17.439 L 66.322 0.984 L 73.837 0.984 C 75.473 0.984 76.798 1.441 77.808 2.349 C 78.819 3.256 79.321 4.459 79.321 5.945 C 79.321 7.355 78.863 8.501 77.951 9.394 C 77.035 10.287 75.818 10.774 74.29 10.855 L 80.065 17.439 Z M 73.837 8.501 C 74.714 8.501 75.418 8.268 75.961 7.801 C 76.503 7.335 76.774 6.716 76.774 5.945 C 76.774 5.174 76.503 4.555 75.961 4.078 C 75.418 3.601 74.714 3.368 73.837 3.368 L 68.874 3.368 L 68.874 8.501 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 88.94 3.363 L 88.94 17.434 L 86.363 17.434 L 86.363 3.363 L 80.755 3.363 L 80.755 0.984 L 94.568 0.984 L 94.568 3.368 L 88.935 3.368 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 114.993 17.439 L 112.51 17.439 L 112.51 6.924 L 107.02 17.434 L 105.443 17.434 L 99.954 6.924 L 99.954 17.434 L 97.47 17.434 L 97.47 0.984 L 99.712 0.984 L 106.227 13.437 L 112.766 0.984 L 114.983 0.984 L 114.983 17.439 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 131.141 17.439 L 119.236 17.439 L 119.236 0.984 L 131.117 0.984 L 131.117 3.368 L 121.788 3.368 L 121.788 8.009 L 130.402 8.009 L 130.402 10.368 L 121.788 10.368 L 121.788 15.06 L 131.141 15.06 L 131.141 17.444 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 149.275 17.439 L 147.102 17.439 L 137.439 5.625 L 137.439 17.439 L 134.886 17.439 L 134.886 0.984 L 137.059 0.984 L 146.698 12.995 L 146.698 0.984 L 149.275 0.984 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 160.368 3.363 L 160.368 17.434 L 157.79 17.434 L 157.79 3.363 L 152.183 3.363 L 152.183 0.984 L 165.995 0.984 L 165.995 3.368 L 160.363 3.368 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 14.852 25.382 C 16.468 27.051 17.271 29.08 17.271 31.474 C 17.271 33.868 16.463 35.887 14.852 37.541 C 13.236 39.194 11.259 40.021 8.924 40.021 C 6.588 40.021 4.612 39.194 3.006 37.541 C 1.399 35.887 0.596 33.863 0.596 31.474 C 0.596 29.085 1.399 27.031 3.006 25.372 C 4.612 23.708 6.583 22.881 8.924 22.881 C 11.264 22.881 13.236 23.718 14.852 25.387 Z M 13.029 35.796 C 14.142 34.634 14.699 33.194 14.699 31.474 C 14.699 29.755 14.142 28.284 13.029 27.117 C 11.915 25.945 10.545 25.362 8.924 25.362 C 7.303 25.362 5.938 25.945 4.834 27.117 C 3.73 28.289 3.173 29.739 3.173 31.474 C 3.173 33.209 3.725 34.634 4.834 35.796 C 5.938 36.957 7.303 37.541 8.924 37.541 C 10.545 37.541 11.915 36.957 13.029 35.796 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 23.308 30.49 L 31.562 30.49 L 31.562 32.874 L 23.308 32.874 L 23.308 39.676 L 20.755 39.676 L 20.755 23.221 L 32.444 23.221 L 32.444 25.605 L 23.308 25.605 L 23.308 30.495 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 48.597 25.6 L 48.597 39.671 L 46.02 39.671 L 46.02 25.6 L 40.412 25.6 L 40.412 23.216 L 54.224 23.216 L 54.224 25.6 L 48.592 25.6 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 67.707 39.676 L 62.005 33.117 L 59.689 33.117 L 59.689 39.676 L 57.137 39.676 L 57.137 23.221 L 64.651 23.221 C 66.287 23.221 67.613 23.678 68.623 24.586 C 69.633 25.494 70.136 26.696 70.136 28.182 C 70.136 29.592 69.678 30.739 68.766 31.631 C 67.85 32.524 66.632 33.011 65.105 33.092 L 70.88 39.676 Z M 64.651 30.739 C 65.529 30.739 66.233 30.505 66.775 30.039 C 67.317 29.572 67.588 28.953 67.588 28.182 C 67.588 27.411 67.317 26.792 66.775 26.316 C 66.233 25.839 65.529 25.605 64.651 25.605 L 59.689 25.605 L 59.689 30.739 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 86.866 32.407 C 86.866 34.685 86.245 36.521 85.003 37.921 C 83.761 39.321 82.13 40.021 80.115 40.021 C 78.099 40.021 76.379 39.321 75.118 37.921 C 73.856 36.521 73.221 34.685 73.221 32.407 L 73.221 23.221 L 75.773 23.221 L 75.773 32.407 C 75.773 33.944 76.172 35.177 76.966 36.105 C 77.759 37.028 78.809 37.495 80.115 37.495 C 81.421 37.495 82.386 37.028 83.155 36.095 C 83.924 35.162 84.313 33.934 84.313 32.413 L 84.313 23.226 L 86.866 23.226 L 86.866 32.413 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 100.594 24.129 C 101.698 24.966 102.398 26.092 102.684 27.518 L 100.131 28.055 C 99.988 27.188 99.584 26.488 98.914 25.955 C 98.244 25.423 97.436 25.159 96.48 25.159 C 95.524 25.159 94.784 25.392 94.213 25.859 C 93.641 26.326 93.355 26.929 93.355 27.665 C 93.355 28.238 93.518 28.689 93.843 29.014 C 94.168 29.344 94.681 29.577 95.381 29.724 L 98.84 30.485 C 101.575 31.109 102.945 32.605 102.945 34.979 C 102.945 36.516 102.383 37.743 101.264 38.651 C 100.146 39.559 98.658 40.016 96.815 40.016 C 94.972 40.016 93.553 39.585 92.331 38.728 C 91.103 37.87 90.399 36.668 90.207 35.131 L 92.927 34.543 C 93.119 35.573 93.577 36.354 94.311 36.886 C 95.046 37.419 95.957 37.683 97.056 37.683 C 98.155 37.683 98.929 37.449 99.525 36.983 C 100.121 36.516 100.422 35.897 100.422 35.126 C 100.422 34.502 100.249 34.031 99.909 33.701 C 99.569 33.371 98.993 33.117 98.18 32.94 L 94.696 32.205 C 92.01 31.565 90.665 30.074 90.665 27.736 C 90.665 26.28 91.202 25.103 92.276 24.21 C 93.35 23.318 94.77 22.871 96.534 22.871 C 98.14 22.871 99.495 23.287 100.599 24.124 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 112.914 25.6 L 112.914 39.671 L 110.336 39.671 L 110.336 25.6 L 104.729 25.6 L 104.729 23.216 L 118.541 23.216 L 118.541 25.6 L 112.909 25.6 Z\" fill=\"rgb(255,255,255)\"></path></svg>',svgContentId:2579550853,withExternalLayout:true})})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(\"p\",{className:\"framer-styles-preset-qvmjgm\",\"data-styles-preset\":\"Uag4QGl1N\",children:[/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-aa70b6db-df21-41d0-8033-05c5414efee1, rgb(187, 187, 187))\"},children:\"All materials are copyright 122 Ideas Limited, t/a Department of trust\"}),/*#__PURE__*/_jsx(\"br\",{}),/*#__PURE__*/_jsx(\"span\",{style:{\"--framer-text-color\":\"var(--token-aa70b6db-df21-41d0-8033-05c5414efee1, rgb(187, 187, 187))\"},children:\"Company number 12979583 (England and Wales). 86-90 Paul Street London EC2A 4NE\"})]})}),className:\"framer-1aucq8x\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-msbwg2\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"GshvjCthx\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{className:\"framer-styles-preset-1y6hx4h\",\"data-styles-preset\":\"KjEL69wIH\",children:\"About us\"})})})}),className:\"framer-1vgqlhp\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"MmICrltnY\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{className:\"framer-styles-preset-1y6hx4h\",\"data-styles-preset\":\"KjEL69wIH\",children:\"Contact us\"})})})}),className:\"framer-x1woqy\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://tools.dotrust.co.uk\",openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{className:\"framer-styles-preset-1y6hx4h\",\"data-styles-preset\":\"KjEL69wIH\",children:\"Operator Login\"})})})}),className:\"framer-2jx3xo\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:\"https://status.dotrust.co.uk\",openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{className:\"framer-styles-preset-1y6hx4h\",\"data-styles-preset\":\"KjEL69wIH\",children:\"System Status\"})})})}),className:\"framer-dphfe3\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(Link,{href:\"https://www.betbudget.app\",children:/*#__PURE__*/_jsxs(\"a\",{className:\"framer-sci7aw framer-ya0c6a\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:\"BetBudget\"})}),className:\"framer-1drsyg\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-8osyy\",\"data-framer-name\":\"Icon\",name:\"Icon\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{svgContentId:9044135099}},children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1cm6i23\",\"data-framer-name\":\"Vector\",layout:\"position\",name:\"Vector\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 19 19\"><path d=\"M 11.5 0.5 L 11.5 2.5 L 15.09 2.5 L 5.26 12.33 L 6.67 13.74 L 16.5 3.91 L 16.5 7.5 L 18.5 7.5 L 18.5 0.5 M 16.5 16.5 L 2.5 16.5 L 2.5 2.5 L 9.5 2.5 L 9.5 0.5 L 2.5 0.5 C 1.39 0.5 0.5 1.4 0.5 2.5 L 0.5 16.5 C 0.5 17.03 0.711 17.539 1.086 17.914 C 1.461 18.289 1.97 18.5 2.5 18.5 L 16.5 18.5 C 17.03 18.5 17.539 18.289 17.914 17.914 C 18.289 17.539 18.5 17.03 18.5 16.5 L 18.5 9.5 L 16.5 9.5 Z\" fill=\"rgb(255,255,255)\"></path></svg>',svgContentId:454200507,withExternalLayout:true})})})]})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h4\",{className:\"framer-styles-preset-17unbnc\",\"data-styles-preset\":\"RY2LjSAUj\",style:{\"--framer-text-color\":\"var(--token-e54c4310-f6e4-42f6-ada0-f0039680e9bf, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"WgsQ0g_Fc\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(\"a\",{className:\"framer-styles-preset-1y6hx4h\",\"data-styles-preset\":\"KjEL69wIH\",children:\"For developers\"})})})}),className:\"framer-13vyfo\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true})]})]}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1iwkwou-container hidden-1gpl90e\",layoutScroll:true,children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{mJVKxAaaw:{style:{height:\"100%\"}},n699I8gTW:{style:{height:\"100%\"}}},children:/*#__PURE__*/_jsx(MenuBar,{height:\"100%\",id:\"u8YbyxJfV\",layoutId:\"u8YbyxJfV\",variant:\"xVlh7xuk0\",width:\"100%\"})})})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-exstn3\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h3\",{style:{\"--framer-font-size\":\"34px\",\"--framer-letter-spacing\":\"-1.36px\",\"--framer-line-height\":\"115%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--token-b3af3337-a478-4dad-be78-d8f174511d5b, rgb(18, 21, 51))\"},children:\"Read our articles\"})}),className:\"framer-10zdz7r\",fonts:[\"Inter\"],verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(\"div\",{className:\"framer-1pxr2nd\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:{from:{alias:\"ssEe1VnD8\",data:Blog,type:\"Collection\"},select:[{collection:\"ssEe1VnD8\",name:\"wHE4NV284\",type:\"Identifier\"},{collection:\"ssEe1VnD8\",name:\"JYr6PIA64\",type:\"Identifier\"},{collection:\"ssEe1VnD8\",name:\"tKawDG834\",type:\"Identifier\"},{collection:\"ssEe1VnD8\",name:\"xaIDwJmTl\",type:\"Identifier\"},{collection:\"ssEe1VnD8\",name:\"id\",type:\"Identifier\"}],where:{left:{collection:\"ssEe1VnD8\",name:\"T8hL3b6GJ\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:\"I0z1Osu0P\"},type:\"BinaryOperation\"}},children:(collection,paginationInfo,loadMore)=>/*#__PURE__*/_jsx(_Fragment,{children:collection.map(({\"wHE4NV284\":wHE4NV284ssEe1VnD8,\"JYr6PIA64\":JYr6PIA64ssEe1VnD8,\"tKawDG834\":tKawDG834ssEe1VnD8,\"xaIDwJmTl\":xaIDwJmTlssEe1VnD8,\"id\":idssEe1VnD8},i)=>{wHE4NV284ssEe1VnD8!==null&&wHE4NV284ssEe1VnD8!==void 0?wHE4NV284ssEe1VnD8:wHE4NV284ssEe1VnD8=\"\";xaIDwJmTlssEe1VnD8!==null&&xaIDwJmTlssEe1VnD8!==void 0?xaIDwJmTlssEe1VnD8:xaIDwJmTlssEe1VnD8=\"\";const textContent=toDateString(tKawDG834ssEe1VnD8,{dateStyle:\"medium\",locale:\"\"},activeLocaleCode);return /*#__PURE__*/_jsx(LayoutGroup,{id:`ssEe1VnD8-${idssEe1VnD8}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{wHE4NV284:wHE4NV284ssEe1VnD8},children:/*#__PURE__*/_jsx(Link,{href:{pathVariables:{wHE4NV284:wHE4NV284ssEe1VnD8},webPageId:\"DhxHxSF7e\"},children:/*#__PURE__*/_jsxs(\"a\",{className:\"framer-ni0s3x framer-ya0c6a\",children:[/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{VKrzHFZeI:{background:{alt:\"\",fit:\"fill\",sizes:\"310px\",...toResponsiveImage(JYr6PIA64ssEe1VnD8)}}},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",sizes:\"320px\",...toResponsiveImage(JYr6PIA64ssEe1VnD8)},className:\"framer-1vk97gb\"})}),/*#__PURE__*/_jsxs(\"div\",{className:\"framer-1xijej3\",\"data-framer-name\":\"Post\",name:\"Post\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-10wuydo\",\"data-styles-preset\":\"JrcpQL16y\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"rgb(153, 153, 153)\"},children:\"Content\"})}),className:\"framer-1rf1myw\",\"data-framer-name\":\"Date\",fonts:[\"Inter\"],name:\"Date\",text:textContent,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"h2\",{style:{\"--framer-font-size\":\"20px\",\"--framer-letter-spacing\":\"-0.5px\",\"--framer-line-height\":\"115%\",\"--framer-text-color\":\"var(--token-b3af3337-a478-4dad-be78-d8f174511d5b, rgb(18, 21, 51))\"},children:\"Title\"})}),className:\"framer-12pw4qw\",\"data-framer-name\":\"Title\",fonts:[\"Inter\"],name:\"Title\",text:xaIDwJmTlssEe1VnD8,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})},idssEe1VnD8);})})})})})]}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:339,width:\"100vw\",children:/*#__PURE__*/_jsx(Container,{className:\"framer-1ynvahm-container hidden-1gpl90e\",children:/*#__PURE__*/_jsx(Footer,{height:\"100%\",id:\"RYrIfYP7Z\",layoutId:\"RYrIfYP7Z\",style:{width:\"100%\"},variant:\"UMkczzC15\",width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-ldr8k7-container hidden-1j8qp7s hidden-1vm3uxv hidden-1950v2g\",children:/*#__PURE__*/_jsx(Hamburger_menu,{height:\"100%\",id:\"c1h8wMM8E\",layoutId:\"c1h8wMM8E\",style:{width:\"100%\"},variant:\"UwIwQMA9x\",width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{className:cx(serializationHash,...sharedStyleClassNames),id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",`.${metadata.bodyClassName}-framer-4GeRL { background: rgb(18, 21, 51); }`,\".framer-4GeRL.framer-ya0c6a, .framer-4GeRL .framer-ya0c6a { display: block; }\",\".framer-4GeRL.framer-1j8qp7s { align-content: center; align-items: center; background-color: #121533; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-4GeRL .framer-i4jf22 { align-content: center; align-items: center; background-color: var(--token-085f050f-620e-444f-8bab-cf42e3ae000e, #f1f1f1); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 40px; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: 100%; }\",\".framer-4GeRL .framer-ds8mo4, .framer-4GeRL .framer-jk1pfa, .framer-4GeRL .framer-1egqioz, .framer-4GeRL .framer-yuixve, .framer-4GeRL .framer-1q0wvu3, .framer-4GeRL .framer-1dzgtch, .framer-4GeRL .framer-lwaxka, .framer-4GeRL .framer-1drsyg, .framer-4GeRL .framer-10zdz7r { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-4GeRL .framer-1i1zevs { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 60px; height: 100vh; justify-content: flex-end; overflow: hidden; padding: 40px 120px 0px 120px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-q9szj5 { aspect-ratio: 5.121951219512195 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 41px); overflow: hidden; position: relative; text-decoration: none; width: 210px; }\",\".framer-4GeRL .framer-vnl2fx, .framer-4GeRL .framer-4jp18n { bottom: 6px; flex: none; height: 21px; left: 5px; position: absolute; width: 24px; }\",\".framer-4GeRL .framer-gk120i { flex: none; height: 41px; left: 0px; position: absolute; top: 0px; width: 37px; }\",\".framer-4GeRL .framer-1x4e9tk, .framer-4GeRL .framer-znt54y { flex: none; height: 41px; left: 44px; position: absolute; top: 0px; width: 166px; }\",\".framer-4GeRL .framer-1qsqude { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: 1px; justify-content: center; overflow: visible; padding: 0px 0px 40px 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-1ji818a, .framer-4GeRL .framer-77rxvv, .framer-4GeRL .framer-1uy9ve { flex: none; height: auto; max-width: 100%; overflow: visible; position: relative; white-space: pre-wrap; width: auto; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-1l061h4 { aspect-ratio: 2.088888888888889 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 500px); overflow: hidden; position: relative; width: 1044px; }\",\".framer-4GeRL .framer-onr6cy { align-content: center; align-items: center; background-color: var(--token-085f050f-620e-444f-8bab-cf42e3ae000e, #f1f1f1); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 72px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 120px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-7zfu76 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 960px; z-index: 1; }\",\".framer-4GeRL .framer-l7n6kz { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 580px; }\",\".framer-4GeRL .framer-1qtqxeo, .framer-4GeRL .framer-1jr9du0 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: auto; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-122iw86, .framer-4GeRL .framer-1oa4ylo { flex: none; height: 55px; position: relative; width: 264px; }\",\".framer-4GeRL .framer-ib1o1c { flex: none; height: auto; max-width: 86%; overflow: visible; position: relative; white-space: pre-wrap; width: auto; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-yx3riz { flex: none; height: 427px; position: relative; width: 960px; }\",\".framer-4GeRL .framer-18wtu6h { align-content: center; align-items: center; background-color: var(--token-b3af3337-a478-4dad-be78-d8f174511d5b, #121533); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 96px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 120px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-1t3ap5y { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: sticky; top: 64px; width: 100%; will-change: transform; z-index: 1; }\",\".framer-4GeRL .framer-idrc3l, .framer-4GeRL .framer-1uz2gsy { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-4GeRL .framer-xcq981 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 240px; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-1ftx7zt { flex: none; height: auto; max-width: 72%; overflow: visible; position: relative; white-space: pre-wrap; width: auto; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-18xudsf { align-content: flex-start; align-items: flex-start; background-color: var(--token-b3af3337-a478-4dad-be78-d8f174511d5b, #121533); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: sticky; top: 12px; width: 100%; will-change: transform; z-index: 1; }\",\".framer-4GeRL .framer-1hbmzvt { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; z-index: 1; }\",\".framer-4GeRL .framer-1sjfwk2 { aspect-ratio: 0.91 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 220px); position: relative; width: 100%; }\",\".framer-4GeRL .framer-1j29iuw-container, .framer-4GeRL .framer-xh5m90-container { aspect-ratio: 0.9115384615384615 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 260px); position: relative; width: 237px; }\",\".framer-4GeRL .framer-llkbv5 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-4GeRL .framer-od852t { aspect-ratio: 0.9115384615384615 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 219px); position: relative; width: 100%; }\",\".framer-4GeRL .framer-12n8yxf { aspect-ratio: 2.3333333333333335 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 20px); position: relative; width: 46px; }\",\".framer-4GeRL .framer-cpck79, .framer-4GeRL .framer-wih1g5, .framer-4GeRL .framer-1czem5d, .framer-4GeRL .framer-xzzj0f { align-content: center; align-items: center; background-color: var(--token-085f050f-620e-444f-8bab-cf42e3ae000e, #f1f1f1); display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-10nvos8, .framer-4GeRL .framer-tahtpn, .framer-4GeRL .framer-11x75i1, .framer-4GeRL .framer-b13gr3 { align-content: center; align-items: center; align-self: stretch; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: auto; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-4GeRL .framer-1e72kmv, .framer-4GeRL .framer-165iz2n { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 80%; }\",\".framer-4GeRL .framer-10irw1t { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-l0y040, .framer-4GeRL .framer-7rb4vv, .framer-4GeRL .framer-fqmk56, .framer-4GeRL .framer-1opca61 { flex: none; height: 55px; position: relative; width: 265px; }\",\".framer-4GeRL .framer-q9t610, .framer-4GeRL .framer-6eemlx, .framer-4GeRL .framer-lpv43s, .framer-4GeRL .framer-nlnbzw { flex: none; height: 35px; position: relative; width: 169px; }\",\".framer-4GeRL .framer-o421h9 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 138px; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-12v24d7, .framer-4GeRL .framer-14j533r { flex: none; height: auto; max-width: 100%; overflow: visible; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-1nujnba, .framer-4GeRL .framer-hbbslw, .framer-4GeRL .framer-hanexn, .framer-4GeRL .framer-1ebd8nu { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: 600px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-4GeRL .framer-o9mznd, .framer-4GeRL .framer-1wx1ekx, .framer-4GeRL .framer-12imz09, .framer-4GeRL .framer-mcnui7 { align-content: center; align-items: center; background-color: var(--token-f0674617-bd33-469d-89f7-4d49abefd312, #c5c7d3); border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; border-top-left-radius: 20px; border-top-right-radius: 20px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 82%; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 82%; will-change: var(--framer-will-change-override, transform); }\",\".framer-4GeRL .framer-1rcjf11-container, .framer-4GeRL .framer-17v4h3o-container, .framer-4GeRL .framer-1d0z23 { flex: none; height: 82%; position: relative; width: 82%; }\",\".framer-4GeRL .framer-cmy87r, .framer-4GeRL .framer-w1dgrp { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 80%; }\",\".framer-4GeRL .framer-1nymul8, .framer-4GeRL .framer-1ammhe5, .framer-4GeRL .framer-hj9x67 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-geyb42, .framer-4GeRL .framer-11hvv8r { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-4GeRL .framer-vr3ism { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 235px; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-1y8wkjy { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-236td8 { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: 1 0 0px; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-1krcb9 { flex: none; height: 100%; position: relative; width: 100%; }\",\".framer-4GeRL .framer-1w3rkuf { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; max-width: 100%; position: relative; white-space: pre-wrap; width: 166px; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-b7jl3x { align-content: center; align-items: center; background-color: var(--token-b3af3337-a478-4dad-be78-d8f174511d5b, #121533); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: 360px; justify-content: center; overflow: hidden; padding: 40px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-1a2fo5b { flex: none; height: auto; max-width: 100%; overflow: visible; position: relative; white-space: pre-wrap; width: 390px; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-1tssol6 { flex: none; height: 40px; overflow: hidden; position: relative; text-decoration: none; width: 124px; }\",\".framer-4GeRL .framer-b2t0d2-container { bottom: 0px; flex: none; left: 50%; position: absolute; top: 0px; transform: translateX(-50%); width: auto; }\",\".framer-4GeRL .framer-o5slpm { align-content: center; align-items: center; background-color: var(--token-b3af3337-a478-4dad-be78-d8f174511d5b, #121533); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-9y1qdw { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 20px 24px 20px 24px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-qiceb1 { aspect-ratio: 5.121951219512195 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 41px); overflow: hidden; position: relative; width: 210px; }\",\".framer-4GeRL .framer-s643a8 { bottom: 0px; flex: none; left: 0px; position: absolute; right: 174px; top: 0px; }\",\".framer-4GeRL .framer-1aucq8x { --framer-link-text-color: #0099ff; --framer-link-text-decoration: underline; flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-msbwg2 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 28px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 20px 24px 20px 24px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-1vgqlhp, .framer-4GeRL .framer-x1woqy, .framer-4GeRL .framer-2jx3xo, .framer-4GeRL .framer-dphfe3, .framer-4GeRL .framer-13vyfo, .framer-4GeRL .framer-1rf1myw, .framer-4GeRL .framer-12pw4qw { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-4GeRL .framer-sci7aw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: 100%; }\",\".framer-4GeRL .framer-8osyy { flex: none; height: 24px; overflow: hidden; position: relative; width: 24px; }\",\".framer-4GeRL .framer-1cm6i23 { flex: none; height: 19px; left: 3px; position: absolute; top: 3px; width: 19px; }\",\".framer-4GeRL .framer-1iwkwou-container { bottom: 41px; flex: none; height: auto; left: 50%; position: fixed; transform: translateX(-50%); width: auto; z-index: 2; }\",\".framer-4GeRL .framer-exstn3 { align-content: flex-start; align-items: flex-start; background-color: var(--token-085f050f-620e-444f-8bab-cf42e3ae000e, #f1f1f1); display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 36px; height: min-content; justify-content: center; overflow: hidden; padding: 40px 0px 40px 40px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-1pxr2nd { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: flex-start; overflow: auto; padding: 0px; position: relative; width: 100%; }\",\".framer-4GeRL .framer-ni0s3x { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: wrap; gap: 18px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; text-decoration: none; width: 320px; }\",\".framer-4GeRL .framer-1vk97gb { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; flex: none; height: 160px; position: relative; width: 320px; }\",\".framer-4GeRL .framer-1xijej3 { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; min-width: 200px; padding: 0px; position: relative; width: 1px; }\",\".framer-4GeRL .framer-1ynvahm-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-4GeRL .framer-ldr8k7-container { flex: none; height: auto; position: sticky; top: 0px; width: 100%; will-change: transform; z-index: 1; }\",\"@supports (background: -webkit-named-image(i)) and (not (scale:1)) { .framer-4GeRL.framer-1j8qp7s, .framer-4GeRL .framer-i4jf22, .framer-4GeRL .framer-1i1zevs, .framer-4GeRL .framer-1qsqude, .framer-4GeRL .framer-onr6cy, .framer-4GeRL .framer-7zfu76, .framer-4GeRL .framer-l7n6kz, .framer-4GeRL .framer-18wtu6h, .framer-4GeRL .framer-1t3ap5y, .framer-4GeRL .framer-idrc3l, .framer-4GeRL .framer-18xudsf, .framer-4GeRL .framer-1hbmzvt, .framer-4GeRL .framer-llkbv5, .framer-4GeRL .framer-cpck79, .framer-4GeRL .framer-10nvos8, .framer-4GeRL .framer-1e72kmv, .framer-4GeRL .framer-10irw1t, .framer-4GeRL .framer-1uz2gsy, .framer-4GeRL .framer-1nujnba, .framer-4GeRL .framer-o9mznd, .framer-4GeRL .framer-wih1g5, .framer-4GeRL .framer-hbbslw, .framer-4GeRL .framer-1wx1ekx, .framer-4GeRL .framer-tahtpn, .framer-4GeRL .framer-cmy87r, .framer-4GeRL .framer-1nymul8, .framer-4GeRL .framer-geyb42, .framer-4GeRL .framer-1czem5d, .framer-4GeRL .framer-11x75i1, .framer-4GeRL .framer-165iz2n, .framer-4GeRL .framer-1ammhe5, .framer-4GeRL .framer-1y8wkjy, .framer-4GeRL .framer-hanexn, .framer-4GeRL .framer-12imz09, .framer-4GeRL .framer-xzzj0f, .framer-4GeRL .framer-1ebd8nu, .framer-4GeRL .framer-mcnui7, .framer-4GeRL .framer-b13gr3, .framer-4GeRL .framer-w1dgrp, .framer-4GeRL .framer-hj9x67, .framer-4GeRL .framer-11hvv8r, .framer-4GeRL .framer-b7jl3x, .framer-4GeRL .framer-o5slpm, .framer-4GeRL .framer-9y1qdw, .framer-4GeRL .framer-msbwg2, .framer-4GeRL .framer-sci7aw, .framer-4GeRL .framer-exstn3, .framer-4GeRL .framer-1pxr2nd, .framer-4GeRL .framer-ni0s3x, .framer-4GeRL .framer-1xijej3 { gap: 0px; } .framer-4GeRL.framer-1j8qp7s > *, .framer-4GeRL .framer-1qsqude > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } .framer-4GeRL.framer-1j8qp7s > :first-child, .framer-4GeRL .framer-1i1zevs > :first-child, .framer-4GeRL .framer-1qsqude > :first-child, .framer-4GeRL .framer-onr6cy > :first-child, .framer-4GeRL .framer-7zfu76 > :first-child, .framer-4GeRL .framer-18wtu6h > :first-child, .framer-4GeRL .framer-1t3ap5y > :first-child, .framer-4GeRL .framer-1hbmzvt > :first-child, .framer-4GeRL .framer-llkbv5 > :first-child, .framer-4GeRL .framer-1e72kmv > :first-child, .framer-4GeRL .framer-10irw1t > :first-child, .framer-4GeRL .framer-1nujnba > :first-child, .framer-4GeRL .framer-hbbslw > :first-child, .framer-4GeRL .framer-cmy87r > :first-child, .framer-4GeRL .framer-1nymul8 > :first-child, .framer-4GeRL .framer-165iz2n > :first-child, .framer-4GeRL .framer-1ammhe5 > :first-child, .framer-4GeRL .framer-hanexn > :first-child, .framer-4GeRL .framer-1ebd8nu > :first-child, .framer-4GeRL .framer-w1dgrp > :first-child, .framer-4GeRL .framer-hj9x67 > :first-child, .framer-4GeRL .framer-b7jl3x > :first-child, .framer-4GeRL .framer-o5slpm > :first-child, .framer-4GeRL .framer-9y1qdw > :first-child, .framer-4GeRL .framer-msbwg2 > :first-child, .framer-4GeRL .framer-exstn3 > :first-child, .framer-4GeRL .framer-1xijej3 > :first-child { margin-top: 0px; } .framer-4GeRL.framer-1j8qp7s > :last-child, .framer-4GeRL .framer-1i1zevs > :last-child, .framer-4GeRL .framer-1qsqude > :last-child, .framer-4GeRL .framer-onr6cy > :last-child, .framer-4GeRL .framer-7zfu76 > :last-child, .framer-4GeRL .framer-18wtu6h > :last-child, .framer-4GeRL .framer-1t3ap5y > :last-child, .framer-4GeRL .framer-1hbmzvt > :last-child, .framer-4GeRL .framer-llkbv5 > :last-child, .framer-4GeRL .framer-1e72kmv > :last-child, .framer-4GeRL .framer-10irw1t > :last-child, .framer-4GeRL .framer-1nujnba > :last-child, .framer-4GeRL .framer-hbbslw > :last-child, .framer-4GeRL .framer-cmy87r > :last-child, .framer-4GeRL .framer-1nymul8 > :last-child, .framer-4GeRL .framer-165iz2n > :last-child, .framer-4GeRL .framer-1ammhe5 > :last-child, .framer-4GeRL .framer-hanexn > :last-child, .framer-4GeRL .framer-1ebd8nu > :last-child, .framer-4GeRL .framer-w1dgrp > :last-child, .framer-4GeRL .framer-hj9x67 > :last-child, .framer-4GeRL .framer-b7jl3x > :last-child, .framer-4GeRL .framer-o5slpm > :last-child, .framer-4GeRL .framer-9y1qdw > :last-child, .framer-4GeRL .framer-msbwg2 > :last-child, .framer-4GeRL .framer-exstn3 > :last-child, .framer-4GeRL .framer-1xijej3 > :last-child { margin-bottom: 0px; } .framer-4GeRL .framer-i4jf22 > *, .framer-4GeRL .framer-18xudsf > *, .framer-4GeRL .framer-10nvos8 > *, .framer-4GeRL .framer-o9mznd > *, .framer-4GeRL .framer-1wx1ekx > *, .framer-4GeRL .framer-tahtpn > *, .framer-4GeRL .framer-11x75i1 > *, .framer-4GeRL .framer-12imz09 > *, .framer-4GeRL .framer-mcnui7 > *, .framer-4GeRL .framer-b13gr3 > *, .framer-4GeRL .framer-sci7aw > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-4GeRL .framer-i4jf22 > :first-child, .framer-4GeRL .framer-l7n6kz > :first-child, .framer-4GeRL .framer-idrc3l > :first-child, .framer-4GeRL .framer-18xudsf > :first-child, .framer-4GeRL .framer-cpck79 > :first-child, .framer-4GeRL .framer-10nvos8 > :first-child, .framer-4GeRL .framer-1uz2gsy > :first-child, .framer-4GeRL .framer-o9mznd > :first-child, .framer-4GeRL .framer-wih1g5 > :first-child, .framer-4GeRL .framer-1wx1ekx > :first-child, .framer-4GeRL .framer-tahtpn > :first-child, .framer-4GeRL .framer-geyb42 > :first-child, .framer-4GeRL .framer-1czem5d > :first-child, .framer-4GeRL .framer-11x75i1 > :first-child, .framer-4GeRL .framer-1y8wkjy > :first-child, .framer-4GeRL .framer-12imz09 > :first-child, .framer-4GeRL .framer-xzzj0f > :first-child, .framer-4GeRL .framer-mcnui7 > :first-child, .framer-4GeRL .framer-b13gr3 > :first-child, .framer-4GeRL .framer-11hvv8r > :first-child, .framer-4GeRL .framer-sci7aw > :first-child, .framer-4GeRL .framer-1pxr2nd > :first-child, .framer-4GeRL .framer-ni0s3x > :first-child { margin-left: 0px; } .framer-4GeRL .framer-i4jf22 > :last-child, .framer-4GeRL .framer-l7n6kz > :last-child, .framer-4GeRL .framer-idrc3l > :last-child, .framer-4GeRL .framer-18xudsf > :last-child, .framer-4GeRL .framer-cpck79 > :last-child, .framer-4GeRL .framer-10nvos8 > :last-child, .framer-4GeRL .framer-1uz2gsy > :last-child, .framer-4GeRL .framer-o9mznd > :last-child, .framer-4GeRL .framer-wih1g5 > :last-child, .framer-4GeRL .framer-1wx1ekx > :last-child, .framer-4GeRL .framer-tahtpn > :last-child, .framer-4GeRL .framer-geyb42 > :last-child, .framer-4GeRL .framer-1czem5d > :last-child, .framer-4GeRL .framer-11x75i1 > :last-child, .framer-4GeRL .framer-1y8wkjy > :last-child, .framer-4GeRL .framer-12imz09 > :last-child, .framer-4GeRL .framer-xzzj0f > :last-child, .framer-4GeRL .framer-mcnui7 > :last-child, .framer-4GeRL .framer-b13gr3 > :last-child, .framer-4GeRL .framer-11hvv8r > :last-child, .framer-4GeRL .framer-sci7aw > :last-child, .framer-4GeRL .framer-1pxr2nd > :last-child, .framer-4GeRL .framer-ni0s3x > :last-child { margin-right: 0px; } .framer-4GeRL .framer-1i1zevs > * { margin: 0px; margin-bottom: calc(60px / 2); margin-top: calc(60px / 2); } .framer-4GeRL .framer-onr6cy > * { margin: 0px; margin-bottom: calc(72px / 2); margin-top: calc(72px / 2); } .framer-4GeRL .framer-7zfu76 > *, .framer-4GeRL .framer-1t3ap5y > *, .framer-4GeRL .framer-1hbmzvt > *, .framer-4GeRL .framer-llkbv5 > *, .framer-4GeRL .framer-10irw1t > *, .framer-4GeRL .framer-1nymul8 > *, .framer-4GeRL .framer-1ammhe5 > *, .framer-4GeRL .framer-hj9x67 > *, .framer-4GeRL .framer-9y1qdw > *, .framer-4GeRL .framer-msbwg2 > * { margin: 0px; margin-bottom: calc(28px / 2); margin-top: calc(28px / 2); } .framer-4GeRL .framer-l7n6kz > *, .framer-4GeRL .framer-idrc3l > *, .framer-4GeRL .framer-1uz2gsy > *, .framer-4GeRL .framer-geyb42 > *, .framer-4GeRL .framer-1y8wkjy > *, .framer-4GeRL .framer-11hvv8r > *, .framer-4GeRL .framer-1pxr2nd > * { margin: 0px; margin-left: calc(20px / 2); margin-right: calc(20px / 2); } .framer-4GeRL .framer-18wtu6h > * { margin: 0px; margin-bottom: calc(96px / 2); margin-top: calc(96px / 2); } .framer-4GeRL .framer-cpck79 > *, .framer-4GeRL .framer-wih1g5 > *, .framer-4GeRL .framer-1czem5d > *, .framer-4GeRL .framer-xzzj0f > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-4GeRL .framer-1e72kmv > *, .framer-4GeRL .framer-165iz2n > * { margin: 0px; margin-bottom: calc(40px / 2); margin-top: calc(40px / 2); } .framer-4GeRL .framer-1nujnba > *, .framer-4GeRL .framer-hbbslw > *, .framer-4GeRL .framer-hanexn > *, .framer-4GeRL .framer-1ebd8nu > *, .framer-4GeRL .framer-b7jl3x > * { margin: 0px; margin-bottom: calc(20px / 2); margin-top: calc(20px / 2); } .framer-4GeRL .framer-cmy87r > *, .framer-4GeRL .framer-w1dgrp > *, .framer-4GeRL .framer-o5slpm > *, .framer-4GeRL .framer-1xijej3 > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-4GeRL .framer-exstn3 > * { margin: 0px; margin-bottom: calc(36px / 2); margin-top: calc(36px / 2); } .framer-4GeRL .framer-ni0s3x > * { margin: 0px; margin-left: calc(18px / 2); margin-right: calc(18px / 2); } }\",`@media (min-width: 1440px) { .${metadata.bodyClassName}-framer-4GeRL { background: rgb(18, 21, 51); } .framer-4GeRL.framer-1j8qp7s { width: 1440px; } .framer-4GeRL .framer-i4jf22, .framer-4GeRL .framer-q9szj5 { order: 0; } .framer-4GeRL .framer-1i1zevs, .framer-4GeRL .framer-1qsqude { order: 1; } .framer-4GeRL .framer-1ji818a { width: 77%; } .framer-4GeRL .framer-1l061h4 { order: 2; } .framer-4GeRL .framer-onr6cy { order: 2; padding: 90px 176px 120px 176px; } .framer-4GeRL .framer-7zfu76 { max-width: 980px; } .framer-4GeRL .framer-l7n6kz { width: 100%; } .framer-4GeRL .framer-ib1o1c { max-width: 100%; width: 100%; } .framer-4GeRL .framer-yx3riz { aspect-ratio: 2.2482435597189694 / 1; height: var(--framer-aspect-ratio-supported, 458px); width: 1030px; } .framer-4GeRL .framer-18wtu6h { order: 3; } .framer-4GeRL .framer-cpck79 { order: 4; } .framer-4GeRL .framer-wih1g5 { order: 5; } .framer-4GeRL .framer-1czem5d { order: 6; } .framer-4GeRL .framer-xzzj0f { order: 7; } .framer-4GeRL .framer-b7jl3x { height: 380px; order: 8; } .framer-4GeRL .framer-1iwkwou-container { bottom: 38px; height: 51px; left: 50%; order: 11; } .framer-4GeRL .framer-exstn3 { order: 10; } .framer-4GeRL .framer-1ynvahm-container { order: 12; }}`,`@media (min-width: 810px) and (max-width: 1199px) { .${metadata.bodyClassName}-framer-4GeRL { background: rgb(18, 21, 51); } .framer-4GeRL.framer-1j8qp7s { width: 810px; } .framer-4GeRL .framer-i4jf22 { order: 0; } .framer-4GeRL .framer-1i1zevs { gap: 50px; height: min-content; order: 1; padding: 40px 50px 0px 50px; } .framer-4GeRL .framer-1qsqude { flex: none; height: min-content; } .framer-4GeRL .framer-1ji818a { width: 90%; } .framer-4GeRL .framer-1l061h4 { height: var(--framer-aspect-ratio-supported, 340px); width: 100%; } .framer-4GeRL .framer-onr6cy { gap: 50px; order: 2; } .framer-4GeRL .framer-7zfu76 { width: 100%; } .framer-4GeRL .framer-l7n6kz { gap: 12px; padding: 1px; } .framer-4GeRL .framer-122iw86 { height: 45px; width: 214px; } .framer-4GeRL .framer-ib1o1c { max-width: 98%; } .framer-4GeRL .framer-yx3riz { height: 290px; width: 100%; } .framer-4GeRL .framer-18wtu6h { order: 3; } .framer-4GeRL .framer-idrc3l { align-content: center; align-items: center; } .framer-4GeRL .framer-1q0wvu3 { white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; } .framer-4GeRL .framer-cpck79 { flex-direction: column; order: 4; } .framer-4GeRL .framer-10nvos8, .framer-4GeRL .framer-11x75i1 { align-self: unset; flex: none; height: min-content; padding: 60px 0px 10px 0px; width: 100%; } .framer-4GeRL .framer-l0y040 { height: 57px; width: 275px; } .framer-4GeRL .framer-1nujnba, .framer-4GeRL .framer-hanexn { flex: none; height: 480px; width: 100%; } .framer-4GeRL .framer-wih1g5 { flex-direction: column; order: 5; } .framer-4GeRL .framer-hbbslw, .framer-4GeRL .framer-1ebd8nu { flex: none; height: 480px; order: 1; width: 100%; } .framer-4GeRL .framer-tahtpn, .framer-4GeRL .framer-b13gr3 { align-self: unset; flex: none; height: min-content; order: 0; padding: 60px 0px 10px 0px; width: 100%; } .framer-4GeRL .framer-7rb4vv { height: 58px; width: 270px; } .framer-4GeRL .framer-vr3ism { width: 172px; } .framer-4GeRL .framer-1czem5d { flex-direction: column; order: 6; } .framer-4GeRL .framer-fqmk56, .framer-4GeRL .framer-1opca61 { height: 58px; width: 279px; } .framer-4GeRL .framer-xzzj0f { flex-direction: column; order: 7; } .framer-4GeRL .framer-11hvv8r { gap: 12px; } .framer-4GeRL .framer-1w3rkuf { width: 117px; } .framer-4GeRL .framer-b7jl3x { height: 380px; order: 8; } .framer-4GeRL .framer-1iwkwou-container { bottom: 56px; height: 51px; left: 50%; order: 12; } .framer-4GeRL .framer-exstn3 { order: 10; } .framer-4GeRL .framer-1ynvahm-container { order: 11; } @supports (background: -webkit-named-image(i)) and (not (scale:1)) { .framer-4GeRL .framer-1i1zevs, .framer-4GeRL .framer-onr6cy, .framer-4GeRL .framer-l7n6kz, .framer-4GeRL .framer-cpck79, .framer-4GeRL .framer-wih1g5, .framer-4GeRL .framer-1czem5d, .framer-4GeRL .framer-xzzj0f, .framer-4GeRL .framer-11hvv8r { gap: 0px; } .framer-4GeRL .framer-1i1zevs > *, .framer-4GeRL .framer-onr6cy > * { margin: 0px; margin-bottom: calc(50px / 2); margin-top: calc(50px / 2); } .framer-4GeRL .framer-1i1zevs > :first-child, .framer-4GeRL .framer-onr6cy > :first-child, .framer-4GeRL .framer-cpck79 > :first-child, .framer-4GeRL .framer-wih1g5 > :first-child, .framer-4GeRL .framer-1czem5d > :first-child, .framer-4GeRL .framer-xzzj0f > :first-child { margin-top: 0px; } .framer-4GeRL .framer-1i1zevs > :last-child, .framer-4GeRL .framer-onr6cy > :last-child, .framer-4GeRL .framer-cpck79 > :last-child, .framer-4GeRL .framer-wih1g5 > :last-child, .framer-4GeRL .framer-1czem5d > :last-child, .framer-4GeRL .framer-xzzj0f > :last-child { margin-bottom: 0px; } .framer-4GeRL .framer-l7n6kz > *, .framer-4GeRL .framer-11hvv8r > * { margin: 0px; margin-left: calc(12px / 2); margin-right: calc(12px / 2); } .framer-4GeRL .framer-l7n6kz > :first-child, .framer-4GeRL .framer-11hvv8r > :first-child { margin-left: 0px; } .framer-4GeRL .framer-l7n6kz > :last-child, .framer-4GeRL .framer-11hvv8r > :last-child { margin-right: 0px; } .framer-4GeRL .framer-cpck79 > *, .framer-4GeRL .framer-wih1g5 > *, .framer-4GeRL .framer-1czem5d > *, .framer-4GeRL .framer-xzzj0f > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } }}`,`@media (max-width: 809px) { .${metadata.bodyClassName}-framer-4GeRL { background: rgb(18, 21, 51); } .framer-4GeRL.framer-1j8qp7s { width: 390px; } .framer-4GeRL .framer-i4jf22 { background-color: var(--token-4b966bf5-adbd-46c8-acdd-0a41fa6fbddb, #769180); height: min-content; order: 0; padding: 12px 16px 12px 16px; } .framer-4GeRL .framer-jk1pfa { flex: 1 0 0px; white-space: pre-wrap; width: 1px; word-break: break-word; word-wrap: break-word; } .framer-4GeRL .framer-1i1zevs { gap: 80px; height: min-content; justify-content: flex-start; order: 2; padding: 56px 40px 0px 40px; } .framer-4GeRL .framer-1qsqude { flex: none; height: min-content; width: 342px; } .framer-4GeRL .framer-1l061h4 { aspect-ratio: unset; height: 165px; width: 100%; } .framer-4GeRL .framer-onr6cy { gap: 56px; order: 4; padding: 60px 40px 60px 40px; } .framer-4GeRL .framer-7zfu76 { width: 96%; } .framer-4GeRL .framer-l7n6kz { flex-direction: column; gap: 8px; padding: 1px; width: 100%; } .framer-4GeRL .framer-122iw86 { height: 35px; width: 166px; } .framer-4GeRL .framer-ib1o1c { max-width: 100%; width: 100%; } .framer-4GeRL .framer-18wtu6h { order: 3; padding: 80px 20px 80px 20px; } .framer-4GeRL .framer-idrc3l { align-content: center; align-items: center; flex-direction: column; } .framer-4GeRL .framer-xcq981 { width: auto; } .framer-4GeRL .framer-1ftx7zt { max-width: 100%; } .framer-4GeRL .framer-18xudsf { align-content: center; align-items: center; } .framer-4GeRL .framer-1hbmzvt, .framer-4GeRL .framer-msbwg2, .framer-4GeRL .framer-1vgqlhp { order: 0; } .framer-4GeRL .framer-1sjfwk2, .framer-4GeRL .framer-od852t { height: var(--framer-aspect-ratio-supported, 156px); } .framer-4GeRL .framer-llkbv5, .framer-4GeRL .framer-13vyfo { order: 2; } .framer-4GeRL .framer-12n8yxf, .framer-4GeRL .framer-9y1qdw, .framer-4GeRL .framer-x1woqy, .framer-4GeRL .framer-ldr8k7-container { order: 1; } .framer-4GeRL .framer-cpck79 { flex-direction: column; order: 5; } .framer-4GeRL .framer-10nvos8, .framer-4GeRL .framer-11x75i1 { align-self: unset; flex: none; height: min-content; padding: 60px 0px 30px 0px; width: 100%; } .framer-4GeRL .framer-1uz2gsy, .framer-4GeRL .framer-geyb42, .framer-4GeRL .framer-1y8wkjy, .framer-4GeRL .framer-11hvv8r { gap: 12px; } .framer-4GeRL .framer-o421h9 { width: 81px; } .framer-4GeRL .framer-1nujnba, .framer-4GeRL .framer-hanexn { flex: none; height: 400px; width: 100%; } .framer-4GeRL .framer-wih1g5 { flex-direction: column; order: 6; } .framer-4GeRL .framer-hbbslw, .framer-4GeRL .framer-1ebd8nu { flex: none; height: 400px; order: 1; width: 100%; } .framer-4GeRL .framer-tahtpn, .framer-4GeRL .framer-b13gr3 { align-self: unset; flex: none; height: min-content; order: 0; padding: 60px 0px 30px 0px; width: 100%; } .framer-4GeRL .framer-vr3ism { width: 100px; } .framer-4GeRL .framer-1czem5d { flex-direction: column; order: 7; } .framer-4GeRL .framer-236td8 { flex: none; width: 63px; } .framer-4GeRL .framer-xzzj0f { flex-direction: column; order: 8; } .framer-4GeRL .framer-b7jl3x { height: 380px; order: 9; } .framer-4GeRL .framer-o5slpm { order: 11; } .framer-4GeRL .framer-2jx3xo { order: 3; } .framer-4GeRL .framer-dphfe3 { order: 4; } .framer-4GeRL .framer-sci7aw { order: 5; } .framer-4GeRL .framer-exstn3 { order: 10; } .framer-4GeRL .framer-ni0s3x, .framer-4GeRL .framer-1vk97gb { width: 310px; } @supports (background: -webkit-named-image(i)) and (not (scale:1)) { .framer-4GeRL .framer-1i1zevs, .framer-4GeRL .framer-onr6cy, .framer-4GeRL .framer-l7n6kz, .framer-4GeRL .framer-idrc3l, .framer-4GeRL .framer-cpck79, .framer-4GeRL .framer-1uz2gsy, .framer-4GeRL .framer-wih1g5, .framer-4GeRL .framer-geyb42, .framer-4GeRL .framer-1czem5d, .framer-4GeRL .framer-1y8wkjy, .framer-4GeRL .framer-xzzj0f, .framer-4GeRL .framer-11hvv8r { gap: 0px; } .framer-4GeRL .framer-1i1zevs > * { margin: 0px; margin-bottom: calc(80px / 2); margin-top: calc(80px / 2); } .framer-4GeRL .framer-1i1zevs > :first-child, .framer-4GeRL .framer-onr6cy > :first-child, .framer-4GeRL .framer-l7n6kz > :first-child, .framer-4GeRL .framer-idrc3l > :first-child, .framer-4GeRL .framer-cpck79 > :first-child, .framer-4GeRL .framer-wih1g5 > :first-child, .framer-4GeRL .framer-1czem5d > :first-child, .framer-4GeRL .framer-xzzj0f > :first-child { margin-top: 0px; } .framer-4GeRL .framer-1i1zevs > :last-child, .framer-4GeRL .framer-onr6cy > :last-child, .framer-4GeRL .framer-l7n6kz > :last-child, .framer-4GeRL .framer-idrc3l > :last-child, .framer-4GeRL .framer-cpck79 > :last-child, .framer-4GeRL .framer-wih1g5 > :last-child, .framer-4GeRL .framer-1czem5d > :last-child, .framer-4GeRL .framer-xzzj0f > :last-child { margin-bottom: 0px; } .framer-4GeRL .framer-onr6cy > * { margin: 0px; margin-bottom: calc(56px / 2); margin-top: calc(56px / 2); } .framer-4GeRL .framer-l7n6kz > * { margin: 0px; margin-bottom: calc(8px / 2); margin-top: calc(8px / 2); } .framer-4GeRL .framer-idrc3l > * { margin: 0px; margin-bottom: calc(20px / 2); margin-top: calc(20px / 2); } .framer-4GeRL .framer-cpck79 > *, .framer-4GeRL .framer-wih1g5 > *, .framer-4GeRL .framer-1czem5d > *, .framer-4GeRL .framer-xzzj0f > * { margin: 0px; margin-bottom: calc(0px / 2); margin-top: calc(0px / 2); } .framer-4GeRL .framer-1uz2gsy > *, .framer-4GeRL .framer-geyb42 > *, .framer-4GeRL .framer-1y8wkjy > *, .framer-4GeRL .framer-11hvv8r > * { margin: 0px; margin-left: calc(12px / 2); margin-right: calc(12px / 2); } .framer-4GeRL .framer-1uz2gsy > :first-child, .framer-4GeRL .framer-geyb42 > :first-child, .framer-4GeRL .framer-1y8wkjy > :first-child, .framer-4GeRL .framer-11hvv8r > :first-child { margin-left: 0px; } .framer-4GeRL .framer-1uz2gsy > :last-child, .framer-4GeRL .framer-geyb42 > :last-child, .framer-4GeRL .framer-1y8wkjy > :last-child, .framer-4GeRL .framer-11hvv8r > :last-child { margin-right: 0px; } }}`,...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,...sharedStyle5.css,...sharedStyle6.css,...sharedStyle7.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 6302\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"n699I8gTW\":{\"layout\":[\"fixed\",\"auto\"]},\"mJVKxAaaw\":{\"layout\":[\"fixed\",\"auto\"]},\"VKrzHFZeI\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n * @framerResponsiveScreen\n */const Framery6XDYlAE2=withCSS(Component,css,\"framer-4GeRL\");export default Framery6XDYlAE2;Framery6XDYlAE2.displayName=\"Home\";Framery6XDYlAE2.defaultProps={height:6302,width:1200};addFonts(Framery6XDYlAE2,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",weight:\"700\"},{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",weight:\"500\"}]},...LottieFonts,...VimeoFonts,...ButtonFonts,...MenuBarFonts,...FooterFonts,...Hamburger_menuFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts),...getFontsFromSharedStyle(sharedStyle5.fonts),...getFontsFromSharedStyle(sharedStyle6.fonts),...getFontsFromSharedStyle(sharedStyle7.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framery6XDYlAE2\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"6302\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerResponsiveScreen\":\"\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"n699I8gTW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"mJVKxAaaw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"VKrzHFZeI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["_classCallCheck", "e", "t", "_defineProperties", "n", "r", "_createClass", "global", "getMethodName", "isDomElement", "isInteger", "isVimeoUrl", "getVimeoUrl", "window", "createCommonjsModule", "defineProperty", "WeakMap", "genId", "checkInstance", "isObject", "rand", "o", "Item", "schedule", "isThenable", "notify", "notifyIsolated", "resolve", "MakeDefWrapper", "reject", "iteratePromises", "MakeDef", "Promise", "i", "a", "storeCallback", "getCallbacks", "removeCallback", "shiftCallbacks", "swapCallbacks", "getOEmbedParameters", "createEmbed", "getOEmbedData", "initializeEmbeds", "resizeEmbeds", "parseMessageData", "postMessage", "navigator", "processData", "initializeScreenfull", "onFullScreenEntered", "onFullScreenExit", "u", "l", "s", "c", "Player", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useConstant", "init", "ref", "pe", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "vimeoRegex", "Vimeo", "withCSS", "video", "autoplay", "mute", "controls", "loop", "titles", "backgroundColor", "onPlay", "onEnd", "style", "props", "key", "setKey", "ye", "player", "pe", "borderRadius", "useRadius", "ue", "id", "embeddedPlayer", "c", "RenderTarget", "p", "motion", "addPropertyControls", "ControlType", "borderRadiusControl", "Vimeo_default", "isMotionValue", "v", "MotionValue", "useAutoMotionValue", "inputValue", "options", "optionsRef", "pe", "animation", "didInitialMount", "isOnCanvas", "RenderTarget", "onChangeDeps", "onChange", "te", "transformer", "value", "ref", "value1", "useConstant", "isMotionValue", "motionValue", "ue", "ref1", "newValue", "ref2", "animate2", "_global", "global", "exports", "navigator", "root", "factory", "window", "propertyNames", "i", "len", "val", "tOfVal", "absArr", "flag", "element", "type", "currentTime", "totalTime", "frameMultiplier", "totalLoops", "currentLoop", "firstFrame", "totalFrames", "target", "nativeError", "_count", "h", "s", "v", "r", "g", "b", "f", "p", "q", "t", "max", "min", "d", "color", "offset", "hsv", "colorMap", "hex", "eventName", "args", "callback", "createRegularArray", "arr", "value", "createTypedArrayFactory", "prop", "container", "blendModeEnums", "mode", "_cos", "_sin", "_tan", "_rnd", "reset", "rotate", "angle", "mCos", "mSin", "rotateX", "rotateY", "rotateZ", "shear", "sx", "sy", "skew", "ax", "ay", "skewFromAxis", "scale", "sz", "setTransform", "a", "c", "e", "j", "k", "l", "m", "n", "o", "translate", "tx", "ty", "tz", "transform", "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2", "i2", "j2", "k2", "l2", "m2", "n2", "o2", "p2", "_p", "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1", "i1", "j1", "k1", "l1", "m1", "n1", "o1", "p1", "isIdentity", "equals", "matr", "clone", "cloneFromProps", "props", "applyToPoint", "x", "y", "z", "applyToX", "applyToY", "applyToZ", "getInverseMatrix", "determinant", "inverseMatrix", "inversePoint", "pt", "inversePoints", "pts", "retPts", "applyToTriplePoints", "pt1", "pt2", "pt3", "p0", "p4", "p5", "p12", "p13", "applyToPointArray", "applyToPointStringified", "toCSS", "cssValue", "roundMatrixProperty", "to2dCSS", "_a", "_b", "_c", "_d", "_e", "_f", "pool", "math", "width", "chunks", "digits", "rngname", "startdenom", "significance", "overflow", "mask", "nodecrypto", "seedrandom", "seed", "options", "key", "shortseed", "mixkey", "flatten", "tostring", "autoseed", "arc4", "ARC4", "prng", "is_math_call", "state", "copy", "keylen", "me", "count", "obj", "depth", "result", "typ", "stringseed", "smear", "out", "browser", "plugins", "ob", "getBezierEasing", "beziers", "nm", "str", "bezEasing", "BezierEasing", "NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "A", "aA1", "aA2", "B", "C", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "newtonRaphsonIterate", "aGuessT", "currentSlope", "points", "mY1", "mY2", "mSampleValues", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope", "lastTime", "vendors", "currTime", "timeToCall", "id", "sources", "destination", "sourcePrototype", "attr", "object", "prototype", "ProxyFunction", "pointOnLine2D", "x1", "y1", "x2", "y2", "x3", "y3", "det1", "pointOnLine3D", "z1", "z2", "z3", "dist1", "dist2", "dist3", "diffDist", "getBezierLength", "pt4", "curveSegments", "ptCoord", "perc", "addedLength", "ptDistance", "point", "lastPoint", "lengthData", "getSegmentsLength", "shapeData", "segmentsLength", "closed", "pathV", "pathO", "pathI", "lengths", "totalLength", "BezierData", "length", "PointData", "partial", "buildBezierData", "storedData", "bezierName", "bezierData", "getDistancePerc", "percents", "initPos", "lengthPos", "lPerc", "dir", "getPointInSegment", "percent", "t1", "u1", "ptX", "ptY", "bezierSegmentPoints", "getNewSegment", "startPerc", "endPerc", "t0", "u0", "u0u0u0", "t0u0u0_3", "t0t0u0_3", "t0t0t0", "u0u0u1", "t0u0u1_3", "t0t0u1_3", "t0t0t1", "u0u1u1", "t0u1u1_3", "t0t1u1_3", "t0t1t1", "u1u1u1", "t1u1u1_3", "t1t1u1_3", "t1t1t1", "completeLayers", "layers", "comps", "fontManager", "layerData", "jLen", "kLen", "maskProps", "convertPathsToAbsoluteValues", "findCompLayers", "completeShapes", "completeText", "path", "checkVersion", "minimum", "animVersionString", "animVersion", "checkText", "minimumVersion", "updateTextLayer", "textLayer", "documentData", "iterateLayers", "animationData", "checkChars", "pathData", "paths", "checkColors", "iterateShapes", "shapes", "checkShapes", "completeClosingShapes", "completeData", "data", "moduleOb", "fontData", "styles", "fWeight", "fStyle", "styleName", "maxWaitingTime", "emptyChar", "combinedCharacters", "trimFontOptions", "font", "familyArray", "enabledFamilies", "setUpNode", "family", "parentNode", "node", "checkLoadedFonts", "w", "loadedCount", "createHelper", "def", "tHelper", "fontProps", "tCanvasHelper", "addFonts", "defs", "fontArr", "_pendingFonts", "shouldLoadFont", "loadedSelector", "sc", "addChars", "chars", "found", "getCharData", "char", "style", "measureText", "fontName", "size", "index", "doubleSize", "singleSize", "getFontByName", "name", "getCombinedCharacterCodes", "setIsLoaded", "Font", "fontPrototype", "initFrame", "mathAbs", "interpolateValue", "frameNum", "caching", "offsetTime", "newValue", "iterationIndex", "keyData", "nextKeyData", "fnc", "nextKeyTime", "keyTime", "endValue", "ind", "distanceInLine", "segmentPerc", "outX", "outY", "inX", "inY", "keyValue", "quatStart", "createQuaternion", "quatEnd", "time", "quaternionToEuler", "slerp", "az", "aw", "bx", "by", "bz", "bw", "omega", "cosom", "sinom", "scale0", "scale1", "quat", "qx", "qy", "qz", "qw", "heading", "attitude", "bank", "values", "c3", "s1", "s2", "s3", "getValueAtCurrentTime", "initTime", "endTime", "renderResult", "setVValue", "multipliedValue", "processEffectsSequence", "finalValue", "addEffect", "effectFunction", "ValueProperty", "elem", "mult", "MultiDimensionalProperty", "KeyframedValueProperty", "KeyframedMultidimensionalProperty", "to", "ti", "arrLen", "getProp", "defaultVector", "applyToMatrix", "mat", "_mdf", "processKeys", "forceRender", "frameRate", "v1", "v2", "px", "py", "precalculateMatrix", "autoOrient", "addDynamicProperty", "TransformProperty", "getTransformProperty", "pos", "replace", "vX", "vY", "oX", "oY", "iX", "iY", "newPath", "vertices", "outPoints", "inPoints", "init", "cnt", "interpolateShape", "previousValue", "keyPropS", "keyPropE", "isHold", "vertexValue", "kf", "interpolateShapeCurrentTime", "lastFrame", "resetShape", "shapesEqual", "shape1", "shape2", "ShapeProperty", "KeyframedShapeProperty", "EllShapeProperty", "cPoint", "EllShapePropertyFactory", "s0", "_cw", "_v", "StarShapeProperty", "StarShapePropertyFactory", "numPts", "longFlag", "longRad", "shortRad", "longRound", "shortRound", "longPerimSegment", "shortPerimSegment", "rad", "roundness", "perimSegment", "currentAng", "ox", "oy", "RectShapeProperty", "RectShapePropertyFactory", "v0", "round", "getShapeProp", "dataProp", "keys", "getConstructorFunction", "getKeyframedConstructorFunction", "modifiers", "registerModifier", "getModifier", "shapeLength", "totalModifierLength", "segments", "shapeSegments", "segmentOb", "shapeS", "shapeE", "pathsData", "_isFirstFrame", "_s", "shapePaths", "totalShapeLength", "localShapeCollection", "edges", "newShapesData", "lastShapeInCollection", "lastShape", "newPaths", "shapePath", "newShape", "shapeSegment", "currentLengthData", "segmentCount", "segment", "segmentLength", "clonedPath", "currentV", "currentI", "currentO", "closerV", "distance", "newPosPerc", "rd", "amount", "centerPoint", "pathLength", "pMatrix", "rMatrix", "sMatrix", "inv", "scaleX", "scaleY", "elemsData", "elements", "newElements", "renderFlag", "items", "itemsTransform", "cont", "hasReloaded", "copies", "group", "elems", "transformData", "offsetModulo", "roundOffset", "pProps", "rProps", "sProps", "iteration", "renderer", "cLength", "diff", "pathNodes", "_o", "_i", "shapeString", "AudioController", "audioFactory", "audio", "rateValue", "assetPath", "proxyImage", "canvas", "ctx", "imageLoaded", "footageLoaded", "getAssetsPath", "assetData", "assetsPath", "originalPath", "imagePath", "testImageLoaded", "img", "intervalId", "box", "createImageData", "createImgData", "createFootageData", "footageData", "loadAssets", "assets", "cb", "setPath", "setAssetsPath", "getAsset", "destroy", "loadedImages", "loadedFootages", "setCacheType", "elementHelper", "ImagePreloaderFactory", "createFilter", "createAlphaToLuminanceFilter", "filId", "skipCoordinates", "fil", "feColorMatrix", "formatResponse", "xhr", "loadAsset", "errorCallback", "response", "err", "textData", "renderType", "animatorProps", "lettersChangedFlag", "alignment", "animators", "matrixHelper", "renderedLettersCount", "xPos", "yPos", "letters", "pathInfo", "currentLength", "currentPoint", "pointInd", "segmentInd", "prevPoint", "partialLength", "tanAngle", "yOff", "firstLine", "animatorSelector", "letterValue", "offf", "xPathPos", "yPathPos", "initPathPos", "initSegmentInd", "initPointInd", "currentLine", "elemOpacity", "sw", "fc", "letterSw", "letterSc", "letterFc", "letterM", "letterP", "letterO", "animatorJustifyOffset", "animatorFirstCharOffset", "justifyOffsetMult", "lastIndex", "isNewLine", "animatorOffset", "rot", "defaultData", "textAnimatorAnimatables", "updated", "_finalValue", "currentValue", "currentIndex", "textKeys", "text", "charactersArray", "charCode", "newLineFlag", "anchorGrouping", "currentSize", "currentPos", "lineWidths", "lineWidth", "maxLineWidth", "charData", "trackingOffset", "boxWidth", "boxHeight", "currentHeight", "finalText", "lastSpaceIndex", "uncollapsedSpaces", "currentChar", "animatorData", "letterData", "based", "indexes", "currentInd", "newInd", "newData", "dData", "_canResize", "_fontValue", "floor", "TextSelectorPropFactory", "easer", "tot", "newCharsFlag", "divisor", "getTextSelectorProp", "initialLength", "_create", "_release", "_length", "_maxLength", "newElement", "release", "double", "create", "shape", "cloned", "newShapeCollection", "shapeCollection", "parsePayloadLines", "payload", "lines", "line", "keysCount", "_markers", "markers", "_marker", "markerData", "num", "layer", "newLayers", "pInterface", "parentName", "hierarchy", "comp", "animData", "fontsContainer", "animationItem", "config", "ariaLabel", "titleElement", "titleId", "descElement", "descId", "maskElement", "rect", "maskId", "nextElement", "cProps", "trProps", "op", "actionFlag", "popped", "containerStyle", "origin", "elementWidth", "elementHeight", "elementRel", "animationRel", "par", "fillType", "newDOMElement", "nextDOMElement", "nextLayer", "tmpDOMElement", "perspectiveElem", "center", "matrix", "threeDContainerData", "lastThreeDContainerData", "currentContainer", "resizerElem", "wrapper", "svg", "cWidth", "cHeight", "floatingContainer", "globalData", "properties", "currentMasks", "layerId", "expansor", "feMorph", "maskType", "maskRef", "filterID", "isFirstFrame", "finalMat", "viewData", "pathString", "pathShapeValue", "isVisible", "transforms", "ptNew", "component", "_prototype", "position", "level", "transformers", "mProps", "styleOb", "pathElement", "gradientId", "gfill", "stops", "stop", "opacityId", "opFill", "_identityMatrix", "_matrixHelper", "createRenderFunction", "renderFill", "renderGradient", "renderGradientStroke", "renderStroke", "renderPath", "renderContentTransform", "styleData", "itemData", "pathStringTransformed", "redraw", "lLen", "lvl", "iterations", "styleElem", "hasOpacity", "attr1", "attr2", "cValues", "oValues", "ang", "sequence", "transformsManager", "styledShape", "effectsInterface", "blendModeValue", "layerElementParent", "gg", "masker", "maskGroup", "maskGrouper", "feCTr", "feFunc", "alphaRect", "cp", "clipId", "cpGroup", "shouldBreakProcess", "shapeStr", "_fontSize", "lineNumber", "colorData", "timeRemapped", "volumeValue", "textArray", "textContents", "currentTextContent", "usesGlyphs", "tSpan", "singleShape", "tElement", "justify", "textContent", "cachedSpansLength", "textBox", "renderedLetters", "renderedLetter", "textSpan", "tempShapes", "areAnimated", "elementData", "GradientConstructor", "transformProperty", "ownTransformers", "shapeProperty", "itemsData", "prevViewData", "render", "ownStyles", "ownModifiers", "currentTransform", "modifier", "processedPos", "animatedContent", "filter", "filterManager", "feMerge", "feMergeNode", "colorBlack", "colorWhite", "opacity", "feGaussianBlur", "kBlurrinessToSigma", "sigma", "dimensions", "sigmaX", "sigmaY", "edgeMode", "elemChildren", "groupPath", "dasharrayValue", "lineLength", "units", "feComponentTransfer", "feFuncR", "feFuncG", "feFuncB", "color1", "color2", "color3", "tableR", "tableG", "tableB", "effectElements", "inputBlack", "inputWhite", "gamma", "outputBlack", "outputWhite", "table", "colorValue", "outputDelta", "inputDelta", "filterSize", "feOffset", "feFlood", "feComposite", "col", "filterElem", "symbolId", "children", "nextChild", "useElem", "symbol", "newLength", "currentSavedOp", "forceRealStack", "imgW", "imgH", "imgRel", "canvasRel", "widthCrop", "heightCrop", "hasMasks", "shouldRender", "ownTransforms", "parentTransform", "groupTransform", "nodes", "currentStyle", "isMain", "shapeNodes", "groupTransformMat", "grd", "hasFill", "hasStroke", "commands", "pathArr", "lastFill", "lastStroke", "lastStrokeW", "transformedElementStyle", "matrixValue", "item", "boundingBox", "vPoint", "oPoint", "nextIPoint", "nextVPoint", "bounds", "p3", "b2ac", "t2", "tempBoundingBox", "changed", "shapeStyle", "shapeTransform", "innerElemStyle", "textColor", "tParent", "tCont", "tContStyle", "tContTranslation", "tStyle", "tSpanTranslation", "svgStyle", "translation", "textPath", "margin", "svgTransform", "perspectiveStyle", "perspective", "mTransf", "diffVector", "mag", "lookDir", "lookLengthOnXZ", "mRotationX", "mRotationY", "hasMatrixChanged", "matValue", "registeredAnimations", "playingAnimationsNum", "_stopped", "_isFrozen", "removeElement", "ev", "animItem", "subtractPlayingCount", "registerAnimation", "setupAnimation", "getRegisteredAnimations", "lenAnims", "animations", "addPlayingCount", "activate", "loadAnimation", "params", "setSpeed", "animation", "setDirection", "play", "resume", "nowTime", "elapsedTime", "first", "pause", "goToAndStop", "isFrame", "togglePause", "searchAnimations", "standalone", "animElements", "body", "div", "resize", "freeze", "unfreeze", "setVolume", "mute", "unmute", "animType", "wrapperAttributes", "loop", "autoplay", "prerender", "segmentPath", "error", "markerName", "marker", "numValue", "nextValue", "_isComplete", "end", "pendingFrame", "forceFlag", "initExpressions", "stackCount", "registers", "pushExpression", "popExpression", "releaseInstances", "registerExpressionProperty", "expression", "tOfV", "tOfA", "lenA", "retArr", "tOfB", "lenB", "mm", "arr1", "arr2", "vec", "tMin", "tMax", "value1", "value2", "_tMin", "rnd", "rndm", "inTangents", "outTangents", "arrPlaceholder", "inVertexPoint", "outVertexPoint", "wiggle", "freq", "amp", "iWiggle", "lenWiggle", "addedAmps", "periods", "duration", "elem1", "elem2", "fVec", "pitch", "yaw", "val1", "val2", "fn", "iKey", "lenKey", "obKey", "frames", "fps", "framesPerSecond", "_value", "searchExpressions", "getValueAtTime", "getSpeedAtTime", "delta", "speed", "getVelocityAtTime", "velocity", "getStaticValueAtTime", "setGroupProperty", "propertyGroup", "addPropertyDecorator", "loopOut", "durationFlag", "currentFrame", "keyframes", "lastKeyFrame", "cycleDuration", "firstKeyFrame", "ret", "initV", "endV", "current", "repeats", "lastValue", "nextLastValue", "loopIn", "firstValue", "nextFirstValue", "smooth", "samples", "endFrame", "sampleFrequency", "sampleValue", "getTransformValueAtTime", "anchor", "skewAxis", "rotation", "rotationZ", "rotationY", "rotationX", "orientation", "positionX", "positionY", "positionZ", "getTransformStaticValueAtTime", "propertyGetProp", "getShapeValueAtTime", "ShapePropertyConstructorFunction", "KeyframedShapePropertyConstructorFunction", "ShapeExpressions", "accumulatedLength", "initIndex", "endIndex", "vectorType", "xLength", "yLength", "magnitude", "unitVector", "propertyGetShapeProp", "trims", "addDecorator", "isKeyframed", "hasExpressions", "view", "interfaceFunction", "_propertyGroup", "parentPropertyGroup", "propertyName", "iterateElements", "groupInterfaceFactory", "fillInterfaceFactory", "strokeInterfaceFactory", "trimInterfaceFactory", "ellipseInterfaceFactory", "starInterfaceFactory", "rectInterfaceFactory", "roundedInterfaceFactory", "repeaterInterfaceFactory", "contentsInterfaceFactory", "interfaces", "transformInterface", "transformInterfaceFactory", "content", "_dashPropertyGroup", "dashOb", "addPropertyToDashOb", "_interfaceFunction", "parentGroupWrapper", "_prevValue", "_sourceText", "_thisLayerFunction", "stringValue", "getMatrix", "toWorldMat", "propMatrix", "transformMat", "toWorldVec", "toWorld", "fromWorldVec", "fromWorld", "applyPoint", "invertPoint", "fromComp", "sampleImage", "_registerMaskInterface", "maskManager", "_registerEffectsInterface", "effects", "anchorPointDescriptor", "outlineInterfaceFactory", "currentPropertyName", "currentProperty", "searchProperty", "propertyNameIndex", "dataInterfaceFactory", "_thisFunction", "_px", "_py", "_pz", "_transformFactory", "registerComposition", "_thisProjectFunction", "createEffectsInterface", "effectsData", "createGroupInterface", "groupInterface", "createValueInterface", "expressionProperty", "MaskInterface", "MaskManager", "_masksInterfaces", "maskFunction", "defaultUnidimensionalValue", "defaultMultidimensionalValue", "completeProperty", "expressionValue", "property", "valueProp", "UnidimensionalPropertyInterface", "MultidimensionalPropertyInterface", "arrValue", "defaultGetter", "TextExpressionSelectorProp", "getValueProxy", "total", "propertyGetTextProp", "effectItem", "eff", "href", "plugin", "variable", "vars", "pair", "exports$1", "npm_lottie_web_5_7_default", "SrcType", "Poster", "placeholderUrl", "Lottie", "props", "style", "srcUrl", "srcFile", "srcType", "poster", "progressRaw", "playing", "loop", "posterProgress", "pauseOnCanvas", "isForwardsDirection", "speed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onComplete", "isOnCanvas", "RenderTarget", "shouldPlay", "direction", "isCustomPoster", "el", "pe", "didInitialMount", "animationInfo", "progress", "useAutoMotionValue", "v", "play", "ref", "ref1", "pause", "destroy", "scrubTo", "te", "normalizedProgress", "shouldPlayAfter", "frameNumberTarget", "fetchLottieData", "url", "d", "init", "dataUrl", "data", "setup", "options", "anim", "npm_lottie_web_5_7_default", "ue", "cleanup", "c", "val", "normalizedPosterProgress", "p", "motion", "addPropertyControls", "ControlType", "defaultEvents", "MotionDivWithOptimizedAppearEffect", "withOptimizedAppearEffect", "motion", "ImageWithOptimizedAppearEffect", "Image2", "ImageWithFX", "withFX", "MotionDivWithFX", "LottieFonts", "getFonts", "Lottie", "VimeoFonts", "Vimeo_default", "ButtonFonts", "WEDZM5tC3_default", "MenuBarFonts", "n5CqopfPo_default", "FooterFonts", "ghbEQSWXT_default", "Hamburger_menuFonts", "Xnkhgbnfl_default", "breakpoints", "isBrowser", "serializationHash", "variantClassNames", "transition1", "animation", "animation1", "animation2", "animation3", "transition2", "animation4", "transition3", "toResponsiveImage", "value", "toDateString", "options", "activeLocale", "date", "display", "dateOptions", "fallbackLocale", "locale", "QueryData", "query", "pageSize", "children", "data", "useQueryData", "metadata", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "_humanReadableVariantMap_props_variant", "_ref", "Component", "Y", "ref", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "variant", "wHE4NV284ssEe1VnD8", "JYr6PIA64ssEe1VnD8", "tKawDG834ssEe1VnD8", "xaIDwJmTlssEe1VnD8", "idssEe1VnD8", "restProps", "ue", "metadata1", "robotsTag", "ie", "_document_querySelector", "bodyCls", "body", "c", "baseVariant", "hydratedBaseVariant", "useHydratedBreakpointVariants", "gestureVariant", "ref1", "pe", "isDisplayed", "isDisplayed1", "activeLocaleCode", "useLocaleCode", "defaultLayoutId", "ae", "sharedStyleClassNames", "useCustomCursors", "p", "GeneratedComponentContext", "u", "LayoutGroup", "cx", "Link", "PropertyOverrides2", "x", "RichText2", "SVG", "ComponentViewportProvider", "Container", "ChildrenCanSuspend", "GGz7dCRCi_default", "collection", "paginationInfo", "loadMore", "l", "i", "textContent", "PathVariablesContext", "css", "Framery6XDYlAE2", "withCSS", "y6XDYlAE2_default", "addFonts", "getFontsFromSharedStyle", "fonts", "__FramerMetadata__"]
}
