{"version":3,"file":"2fbf9dd2-21ff32892ca0b50608a0.js","mappings":"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","sources":["webpack://uzr.ai/./node_modules/@lottiefiles/react-lottie-player/dist/lottie-react.esm.js"],"sourcesContent":["import \"core-js/modules/esnext.global-this.js\";\nimport * as React from \"react\";\nimport { useState, useEffect } from \"react\";\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n\nvar _extendStatics = function extendStatics(t, e) {\n return (_extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (t, e) {\n t.__proto__ = e;\n } || function (t, e) {\n for (var r in e) {\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n }\n })(t, e);\n};\n\nfunction __extends(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Class extends value \" + String(e) + \" is not a constructor or null\");\n\n function r() {\n this.constructor = t;\n }\n\n _extendStatics(t, e), t.prototype = null === e ? Object.create(e) : (r.prototype = e.prototype, new r());\n}\n\nvar _assign = function __assign() {\n return (_assign = Object.assign || function (t) {\n for (var e, r = 1, i = arguments.length; r < i; r++) {\n for (var a in e = arguments[r]) {\n Object.prototype.hasOwnProperty.call(e, a) && (t[a] = e[a]);\n }\n }\n\n return t;\n }).apply(this, arguments);\n};\n\nfunction __rest(t, e) {\n var r = {};\n\n for (var i in t) {\n Object.prototype.hasOwnProperty.call(t, i) && e.indexOf(i) < 0 && (r[i] = t[i]);\n }\n\n if (null != t && \"function\" == typeof Object.getOwnPropertySymbols) {\n var a = 0;\n\n for (i = Object.getOwnPropertySymbols(t); a < i.length; a++) {\n e.indexOf(i[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, i[a]) && (r[i[a]] = t[i[a]]);\n }\n }\n\n return r;\n}\n\nfunction __decorate(t, e, r, i) {\n var a,\n s = arguments.length,\n n = s < 3 ? e : null === i ? i = Object.getOwnPropertyDescriptor(e, r) : i;\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.decorate) n = Reflect.decorate(t, e, r, i);else for (var o = t.length - 1; o >= 0; o--) {\n (a = t[o]) && (n = (s < 3 ? a(n) : s > 3 ? a(e, r, n) : a(e, r)) || n);\n }\n return s > 3 && n && Object.defineProperty(e, r, n), n;\n}\n\nfunction __param(t, e) {\n return function (r, i) {\n e(r, i, t);\n };\n}\n\nfunction __metadata(t, e) {\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.metadata) return Reflect.metadata(t, e);\n}\n\nfunction __awaiter(t, e, r, i) {\n return new (r || (r = Promise))(function (a, s) {\n function n(t) {\n try {\n h(i.next(t));\n } catch (t) {\n s(t);\n }\n }\n\n function o(t) {\n try {\n h(i.throw(t));\n } catch (t) {\n s(t);\n }\n }\n\n function h(t) {\n var e;\n t.done ? a(t.value) : (e = t.value, e instanceof r ? e : new r(function (t) {\n t(e);\n })).then(n, o);\n }\n\n h((i = i.apply(t, e || [])).next());\n });\n}\n\nfunction __generator(t, e) {\n var r,\n i,\n a,\n s,\n n = {\n label: 0,\n sent: function sent() {\n if (1 & a[0]) throw a[1];\n return a[1];\n },\n trys: [],\n ops: []\n };\n return s = {\n next: o(0),\n throw: o(1),\n return: o(2)\n }, \"function\" == typeof Symbol && (s[Symbol.iterator] = function () {\n return this;\n }), s;\n\n function o(s) {\n return function (o) {\n return function (s) {\n if (r) throw new TypeError(\"Generator is already executing.\");\n\n for (; n;) {\n try {\n if (r = 1, i && (a = 2 & s[0] ? i.return : s[0] ? i.throw || ((a = i.return) && a.call(i), 0) : i.next) && !(a = a.call(i, s[1])).done) return a;\n\n switch (i = 0, a && (s = [2 & s[0], a.value]), s[0]) {\n case 0:\n case 1:\n a = s;\n break;\n\n case 4:\n return n.label++, {\n value: s[1],\n done: !1\n };\n\n case 5:\n n.label++, i = s[1], s = [0];\n continue;\n\n case 7:\n s = n.ops.pop(), n.trys.pop();\n continue;\n\n default:\n if (!(a = n.trys, (a = a.length > 0 && a[a.length - 1]) || 6 !== s[0] && 2 !== s[0])) {\n n = 0;\n continue;\n }\n\n if (3 === s[0] && (!a || s[1] > a[0] && s[1] < a[3])) {\n n.label = s[1];\n break;\n }\n\n if (6 === s[0] && n.label < a[1]) {\n n.label = a[1], a = s;\n break;\n }\n\n if (a && n.label < a[2]) {\n n.label = a[2], n.ops.push(s);\n break;\n }\n\n a[2] && n.ops.pop(), n.trys.pop();\n continue;\n }\n\n s = e.call(t, n);\n } catch (t) {\n s = [6, t], i = 0;\n } finally {\n r = a = 0;\n }\n }\n\n if (5 & s[0]) throw s[1];\n return {\n value: s[0] ? s[1] : void 0,\n done: !0\n };\n }([s, o]);\n };\n }\n}\n\nvar __createBinding = Object.create ? function (t, e, r, i) {\n void 0 === i && (i = r), Object.defineProperty(t, i, {\n enumerable: !0,\n get: function get() {\n return e[r];\n }\n });\n} : function (t, e, r, i) {\n void 0 === i && (i = r), t[i] = e[r];\n};\n\nfunction __exportStar(t, e) {\n for (var r in t) {\n \"default\" === r || Object.prototype.hasOwnProperty.call(e, r) || __createBinding(e, t, r);\n }\n}\n\nfunction __values(t) {\n var e = \"function\" == typeof Symbol && Symbol.iterator,\n r = e && t[e],\n i = 0;\n if (r) return r.call(t);\n if (t && \"number\" == typeof t.length) return {\n next: function next() {\n return t && i >= t.length && (t = void 0), {\n value: t && t[i++],\n done: !t\n };\n }\n };\n throw new TypeError(e ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nfunction __read(t, e) {\n var r = \"function\" == typeof Symbol && t[Symbol.iterator];\n if (!r) return t;\n var i,\n a,\n s = r.call(t),\n n = [];\n\n try {\n for (; (void 0 === e || e-- > 0) && !(i = s.next()).done;) {\n n.push(i.value);\n }\n } catch (t) {\n a = {\n error: t\n };\n } finally {\n try {\n i && !i.done && (r = s.return) && r.call(s);\n } finally {\n if (a) throw a.error;\n }\n }\n\n return n;\n}\n\nfunction __spread() {\n for (var t = [], e = 0; e < arguments.length; e++) {\n t = t.concat(__read(arguments[e]));\n }\n\n return t;\n}\n\nfunction __spreadArrays() {\n for (var t = 0, e = 0, r = arguments.length; e < r; e++) {\n t += arguments[e].length;\n }\n\n var i = Array(t),\n a = 0;\n\n for (e = 0; e < r; e++) {\n for (var s = arguments[e], n = 0, o = s.length; n < o; n++, a++) {\n i[a] = s[n];\n }\n }\n\n return i;\n}\n\nfunction __spreadArray(t, e) {\n for (var r = 0, i = e.length, a = t.length; r < i; r++, a++) {\n t[a] = e[r];\n }\n\n return t;\n}\n\nfunction __await(t) {\n return this instanceof __await ? (this.v = t, this) : new __await(t);\n}\n\nfunction __asyncGenerator(t, e, r) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var i,\n a = r.apply(t, e || []),\n s = [];\n return i = {}, n(\"next\"), n(\"throw\"), n(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function n(t) {\n a[t] && (i[t] = function (e) {\n return new Promise(function (r, i) {\n s.push([t, e, r, i]) > 1 || o(t, e);\n });\n });\n }\n\n function o(t, e) {\n try {\n (r = a[t](e)).value instanceof __await ? Promise.resolve(r.value.v).then(h, l) : p(s[0][2], r);\n } catch (t) {\n p(s[0][3], t);\n }\n\n var r;\n }\n\n function h(t) {\n o(\"next\", t);\n }\n\n function l(t) {\n o(\"throw\", t);\n }\n\n function p(t, e) {\n t(e), s.shift(), s.length && o(s[0][0], s[0][1]);\n }\n}\n\nfunction __asyncDelegator(t) {\n var e, r;\n return e = {}, i(\"next\"), i(\"throw\", function (t) {\n throw t;\n }), i(\"return\"), e[Symbol.iterator] = function () {\n return this;\n }, e;\n\n function i(i, a) {\n e[i] = t[i] ? function (e) {\n return (r = !r) ? {\n value: __await(t[i](e)),\n done: \"return\" === i\n } : a ? a(e) : e;\n } : a;\n }\n}\n\nfunction __asyncValues(t) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var e,\n r = t[Symbol.asyncIterator];\n return r ? r.call(t) : (t = \"function\" == typeof __values ? __values(t) : t[Symbol.iterator](), e = {}, i(\"next\"), i(\"throw\"), i(\"return\"), e[Symbol.asyncIterator] = function () {\n return this;\n }, e);\n\n function i(r) {\n e[r] = t[r] && function (e) {\n return new Promise(function (i, a) {\n (function (t, e, r, i) {\n Promise.resolve(i).then(function (e) {\n t({\n value: e,\n done: r\n });\n }, e);\n })(i, a, (e = t[r](e)).done, e.value);\n });\n };\n }\n}\n\nfunction __makeTemplateObject(t, e) {\n return Object.defineProperty ? Object.defineProperty(t, \"raw\", {\n value: e\n }) : t.raw = e, t;\n}\n\nvar __setModuleDefault = Object.create ? function (t, e) {\n Object.defineProperty(t, \"default\", {\n enumerable: !0,\n value: e\n });\n} : function (t, e) {\n t.default = e;\n};\n\nfunction __importStar(t) {\n if (t && t.__esModule) return t;\n var e = {};\n if (null != t) for (var r in t) {\n \"default\" !== r && Object.prototype.hasOwnProperty.call(t, r) && __createBinding(e, t, r);\n }\n return __setModuleDefault(e, t), e;\n}\n\nfunction __importDefault(t) {\n return t && t.__esModule ? t : {\n default: t\n };\n}\n\nfunction __classPrivateFieldGet(t, e, r, i) {\n if (\"a\" === r && !i) throw new TypeError(\"Private accessor was defined without a getter\");\n if (\"function\" == typeof e ? t !== e || !i : !e.has(t)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return \"m\" === r ? i : \"a\" === r ? i.call(t) : i ? i.value : e.get(t);\n}\n\nfunction __classPrivateFieldSet(t, e, r, i, a) {\n if (\"m\" === i) throw new TypeError(\"Private method is not writable\");\n if (\"a\" === i && !a) throw new TypeError(\"Private accessor was defined without a setter\");\n if (\"function\" == typeof e ? t !== e || !a : !e.has(t)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return \"a\" === i ? a.call(t, r) : a ? a.value = r : e.set(t, r), r;\n}\n\nvar commonjsGlobal = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\n\nfunction unwrapExports(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\n\nfunction createCommonjsModule(t, e) {\n return t(e = {\n exports: {}\n }, e.exports), e.exports;\n}\n\nfunction getCjsExportFromNamespace(t) {\n return t && t.default || t;\n}\n\nfunction commonjsRequire() {\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\");\n}\n\nvar lottie = createCommonjsModule(function (module) {\n \"undefined\" != typeof navigator && function (t, e) {\n module.exports ? module.exports = e(t) : (t.lottie = e(t), t.bodymovin = t.lottie);\n }(window || {}, function (window) {\n var svgNS = \"http://www.w3.org/2000/svg\",\n locationHref = \"\",\n initialDefaultFrame = -999999,\n subframeEnabled = !0,\n expressionsPlugin,\n isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent),\n cachedColors = {},\n bmRnd,\n bmPow = Math.pow,\n bmSqrt = Math.sqrt,\n bmFloor = Math.floor,\n bmMax = Math.max,\n bmMin = Math.min,\n BMMath = {};\n\n function ProjectInterface() {\n return {};\n }\n\n !function () {\n var t,\n e = [\"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 r = e.length;\n\n for (t = 0; t < r; t += 1) {\n BMMath[e[t]] = Math[e[t]];\n }\n }(), BMMath.random = Math.random, BMMath.abs = function (t) {\n if (\"object\" === typeof t && t.length) {\n var e,\n r = createSizedArray(t.length),\n i = t.length;\n\n for (e = 0; e < i; e += 1) {\n r[e] = Math.abs(t[e]);\n }\n\n return r;\n }\n\n return Math.abs(t);\n };\n var defaultCurveSegments = 150,\n degToRads = Math.PI / 180,\n roundCorner = .5519;\n\n function roundValues(t) {\n bmRnd = t ? Math.round : function (t) {\n return t;\n };\n }\n\n function styleDiv(t) {\n t.style.position = \"absolute\", t.style.top = 0, t.style.left = 0, t.style.display = \"block\", t.style.transformOrigin = \"0 0\", t.style.webkitTransformOrigin = \"0 0\", t.style.backfaceVisibility = \"visible\", t.style.webkitBackfaceVisibility = \"visible\", t.style.transformStyle = \"preserve-3d\", t.style.webkitTransformStyle = \"preserve-3d\", t.style.mozTransformStyle = \"preserve-3d\";\n }\n\n function BMEnterFrameEvent(t, e, r, i) {\n this.type = t, this.currentTime = e, this.totalTime = r, this.direction = i < 0 ? -1 : 1;\n }\n\n function BMCompleteEvent(t, e) {\n this.type = t, this.direction = e < 0 ? -1 : 1;\n }\n\n function BMCompleteLoopEvent(t, e, r, i) {\n this.type = t, this.currentLoop = r, this.totalLoops = e, this.direction = i < 0 ? -1 : 1;\n }\n\n function BMSegmentStartEvent(t, e, r) {\n this.type = t, this.firstFrame = e, this.totalFrames = r;\n }\n\n function BMDestroyEvent(t, e) {\n this.type = t, this.target = e;\n }\n\n function BMRenderFrameErrorEvent(t, e) {\n this.type = \"renderFrameError\", this.nativeError = t, this.currentTime = e;\n }\n\n function BMConfigErrorEvent(t) {\n this.type = \"configError\", this.nativeError = t;\n }\n\n function BMAnimationConfigErrorEvent(t, e) {\n this.type = t, this.nativeError = e;\n }\n\n roundValues(!1);\n\n var createElementID = (_count = 0, function () {\n return \"__lottie_element_\" + (_count += 1);\n }),\n _count;\n\n function HSVtoRGB(t, e, r) {\n var i, a, s, n, o, h, l, p;\n\n switch (h = r * (1 - e), l = r * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e), p = r * (1 - (1 - o) * e), n % 6) {\n case 0:\n i = r, a = p, s = h;\n break;\n\n case 1:\n i = l, a = r, s = h;\n break;\n\n case 2:\n i = h, a = r, s = p;\n break;\n\n case 3:\n i = h, a = l, s = r;\n break;\n\n case 4:\n i = p, a = h, s = r;\n break;\n\n case 5:\n i = r, a = h, s = l;\n }\n\n return [i, a, s];\n }\n\n function RGBtoHSV(t, e, r) {\n var i,\n a = Math.max(t, e, r),\n s = Math.min(t, e, r),\n n = a - s,\n o = 0 === a ? 0 : n / a,\n h = a / 255;\n\n switch (a) {\n case s:\n i = 0;\n break;\n\n case t:\n i = e - r + n * (e < r ? 6 : 0), i /= 6 * n;\n break;\n\n case e:\n i = r - t + 2 * n, i /= 6 * n;\n break;\n\n case r:\n i = t - e + 4 * n, i /= 6 * n;\n }\n\n return [i, o, h];\n }\n\n function addSaturationToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[1] += e, r[1] > 1 ? r[1] = 1 : r[1] <= 0 && (r[1] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n function addBrightnessToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[2] += e, r[2] > 1 ? r[2] = 1 : r[2] < 0 && (r[2] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n function addHueToRGB(t, e) {\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\n return r[0] += e / 360, r[0] > 1 ? r[0] -= 1 : r[0] < 0 && (r[0] += 1), HSVtoRGB(r[0], r[1], r[2]);\n }\n\n var rgbToHex = function () {\n var t,\n e,\n r = [];\n\n for (t = 0; t < 256; t += 1) {\n e = t.toString(16), r[t] = 1 === e.length ? \"0\" + e : e;\n }\n\n return function (t, e, i) {\n return t < 0 && (t = 0), e < 0 && (e = 0), i < 0 && (i = 0), \"#\" + r[t] + r[e] + r[i];\n };\n }();\n\n function BaseEvent() {}\n\n BaseEvent.prototype = {\n triggerEvent: function triggerEvent(t, e) {\n if (this._cbs[t]) for (var r = this._cbs[t].length, i = 0; i < r; i += 1) {\n this._cbs[t][i](e);\n }\n },\n addEventListener: function addEventListener(t, e) {\n return this._cbs[t] || (this._cbs[t] = []), this._cbs[t].push(e), function () {\n this.removeEventListener(t, e);\n }.bind(this);\n },\n removeEventListener: function removeEventListener(t, e) {\n if (e) {\n if (this._cbs[t]) {\n for (var r = 0, i = this._cbs[t].length; r < i;) {\n this._cbs[t][r] === e && (this._cbs[t].splice(r, 1), r -= 1, i -= 1), r += 1;\n }\n\n this._cbs[t].length || (this._cbs[t] = null);\n }\n } else this._cbs[t] = null;\n }\n };\n\n var createTypedArray = function () {\n function t(t, e) {\n var r,\n i = 0,\n a = [];\n\n switch (t) {\n case \"int16\":\n case \"uint8c\":\n r = 1;\n break;\n\n default:\n r = 1.1;\n }\n\n for (i = 0; i < e; i += 1) {\n a.push(r);\n }\n\n return a;\n }\n\n return \"function\" == typeof Uint8ClampedArray && \"function\" == typeof Float32Array ? function (e, r) {\n return \"float32\" === e ? new Float32Array(r) : \"int16\" === e ? new Int16Array(r) : \"uint8c\" === e ? new Uint8ClampedArray(r) : t(e, r);\n } : t;\n }();\n\n function createSizedArray(t) {\n return Array.apply(null, {\n length: t\n });\n }\n\n function createNS(t) {\n return document.createElementNS(svgNS, t);\n }\n\n function createTag(t) {\n return document.createElement(t);\n }\n\n function DynamicPropertyContainer() {}\n\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && (this.dynamicProperties.push(t), this.container.addDynamicProperty(this), this._isAnimated = !0);\n },\n iterateDynamicProperties: function iterateDynamicProperties() {\n var t;\n this._mdf = !1;\n var e = this.dynamicProperties.length;\n\n for (t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue(), this.dynamicProperties[t]._mdf && (this._mdf = !0);\n }\n },\n initDynamicPropertyContainer: function initDynamicPropertyContainer(t) {\n this.container = t, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1;\n }\n };\n\n var getBlendMode = (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 }, function (t) {\n return blendModeEnums[t] || \"\";\n }),\n blendModeEnums,\n Matrix = function () {\n var t = Math.cos,\n e = Math.sin,\n r = Math.tan,\n i = Math.round;\n\n function a() {\n return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this;\n }\n\n function s(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function n(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(1, 0, 0, 0, 0, i, -a, 0, 0, a, i, 0, 0, 0, 0, 1);\n }\n\n function o(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, 0, a, 0, 0, 1, 0, 0, -a, 0, i, 0, 0, 0, 0, 1);\n }\n\n function h(r) {\n if (0 === r) return this;\n var i = t(r),\n a = e(r);\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function l(t, e) {\n return this._t(1, e, t, 1, 0, 0);\n }\n\n function p(t, e) {\n return this.shear(r(t), r(e));\n }\n\n function f(i, a) {\n var s = t(a),\n n = e(a);\n return this._t(s, n, 0, 0, -n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n\n function c(t, e, r) {\n return r || 0 === r || (r = 1), 1 === t && 1 === e && 1 === r ? this : this._t(t, 0, 0, 0, 0, e, 0, 0, 0, 0, r, 0, 0, 0, 0, 1);\n }\n\n function m(t, e, r, i, a, s, n, o, h, l, p, f, c, m, d, u) {\n return this.props[0] = t, this.props[1] = e, this.props[2] = r, this.props[3] = i, this.props[4] = a, this.props[5] = s, this.props[6] = n, this.props[7] = o, this.props[8] = h, this.props[9] = l, this.props[10] = p, this.props[11] = f, this.props[12] = c, this.props[13] = m, this.props[14] = d, this.props[15] = u, this;\n }\n\n function d(t, e, r) {\n return r = r || 0, 0 !== t || 0 !== e || 0 !== r ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, r, 1) : this;\n }\n\n function u(t, e, r, i, a, s, n, o, h, l, p, f, c, m, d, u) {\n var y = this.props;\n if (1 === t && 0 === e && 0 === r && 0 === i && 0 === a && 1 === s && 0 === n && 0 === o && 0 === h && 0 === l && 1 === p && 0 === f) return y[12] = y[12] * t + y[15] * c, y[13] = y[13] * s + y[15] * m, y[14] = y[14] * p + y[15] * d, y[15] *= u, this._identityCalculated = !1, this;\n var g = y[0],\n v = y[1],\n b = y[2],\n x = y[3],\n E = y[4],\n P = y[5],\n S = y[6],\n C = y[7],\n _ = y[8],\n A = y[9],\n k = y[10],\n T = y[11],\n w = y[12],\n D = y[13],\n M = y[14],\n F = y[15];\n return y[0] = g * t + v * a + b * h + x * c, y[1] = g * e + v * s + b * l + x * m, y[2] = g * r + v * n + b * p + x * d, y[3] = g * i + v * o + b * f + x * u, y[4] = E * t + P * a + S * h + C * c, y[5] = E * e + P * s + S * l + C * m, y[6] = E * r + P * n + S * p + C * d, y[7] = E * i + P * o + S * f + C * u, y[8] = _ * t + A * a + k * h + T * c, y[9] = _ * e + A * s + k * l + T * m, y[10] = _ * r + A * n + k * p + T * d, y[11] = _ * i + A * o + k * f + T * u, y[12] = w * t + D * a + M * h + F * c, y[13] = w * e + D * s + M * l + F * m, y[14] = w * r + D * n + M * p + F * d, y[15] = w * i + D * o + M * f + F * u, this._identityCalculated = !1, this;\n }\n\n function y() {\n return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]), this._identityCalculated = !0), this._identity;\n }\n\n function g(t) {\n for (var e = 0; e < 16;) {\n if (t.props[e] !== this.props[e]) return !1;\n e += 1;\n }\n\n return !0;\n }\n\n function v(t) {\n var e;\n\n for (e = 0; e < 16; e += 1) {\n t.props[e] = this.props[e];\n }\n\n return t;\n }\n\n function b(t) {\n var e;\n\n for (e = 0; e < 16; e += 1) {\n this.props[e] = t[e];\n }\n }\n\n function x(t, e, r) {\n return {\n x: t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12],\n y: t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13],\n z: t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]\n };\n }\n\n function E(t, e, r) {\n return t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12];\n }\n\n function P(t, e, r) {\n return t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13];\n }\n\n function S(t, e, r) {\n return t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14];\n }\n\n function C() {\n var t = this.props[0] * this.props[5] - this.props[1] * this.props[4],\n e = this.props[5] / t,\n r = -this.props[1] / t,\n i = -this.props[4] / t,\n a = this.props[0] / t,\n s = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t,\n n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / t,\n o = new Matrix();\n return o.props[0] = e, o.props[1] = r, o.props[4] = i, o.props[5] = a, o.props[12] = s, o.props[13] = n, o;\n }\n\n function _(t) {\n return this.getInverseMatrix().applyToPointArray(t[0], t[1], t[2] || 0);\n }\n\n function A(t) {\n var e,\n r = t.length,\n i = [];\n\n for (e = 0; e < r; e += 1) {\n i[e] = _(t[e]);\n }\n\n return i;\n }\n\n function k(t, e, r) {\n var i = createTypedArray(\"float32\", 6);\n if (this.isIdentity()) i[0] = t[0], i[1] = t[1], i[2] = e[0], i[3] = e[1], i[4] = r[0], i[5] = r[1];else {\n var a = this.props[0],\n s = this.props[1],\n n = this.props[4],\n o = this.props[5],\n h = this.props[12],\n l = this.props[13];\n i[0] = t[0] * a + t[1] * n + h, i[1] = t[0] * s + t[1] * o + l, i[2] = e[0] * a + e[1] * n + h, i[3] = e[0] * s + e[1] * o + l, i[4] = r[0] * a + r[1] * n + h, i[5] = r[0] * s + r[1] * o + l;\n }\n return i;\n }\n\n function T(t, e, r) {\n return this.isIdentity() ? [t, e, r] : [t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]];\n }\n\n function w(t, e) {\n if (this.isIdentity()) return t + \",\" + e;\n var r = this.props;\n return Math.round(100 * (t * r[0] + e * r[4] + r[12])) / 100 + \",\" + Math.round(100 * (t * r[1] + e * r[5] + r[13])) / 100;\n }\n\n function D() {\n for (var t = 0, e = this.props, r = \"matrix3d(\"; t < 16;) {\n r += i(1e4 * e[t]) / 1e4, r += 15 === t ? \")\" : \",\", t += 1;\n }\n\n return r;\n }\n\n function M(t) {\n return t < 1e-6 && t > 0 || t > -1e-6 && t < 0 ? i(1e4 * t) / 1e4 : t;\n }\n\n function F() {\n var t = this.props;\n return \"matrix(\" + M(t[0]) + \",\" + M(t[1]) + \",\" + M(t[4]) + \",\" + M(t[5]) + \",\" + M(t[12]) + \",\" + M(t[13]) + \")\";\n }\n\n return function () {\n this.reset = a, this.rotate = s, this.rotateX = n, this.rotateY = o, this.rotateZ = h, this.skew = p, this.skewFromAxis = f, this.shear = l, this.scale = c, this.setTransform = m, this.translate = d, this.transform = u, this.applyToPoint = x, this.applyToX = E, this.applyToY = P, this.applyToZ = S, this.applyToPointArray = T, this.applyToTriplePoints = k, this.applyToPointStringified = w, this.toCSS = D, this.to2dCSS = F, this.clone = v, this.cloneFromProps = b, this.equals = g, this.inversePoints = A, this.inversePoint = _, this.getInverseMatrix = C, this._t = this.transform, this.isIdentity = y, this._identity = !0, this._identityCalculated = !1, this.props = createTypedArray(\"float32\", 16), this.reset();\n };\n }();\n /*!\n Transformation Matrix v2.0\n (c) Epistemex 2014-2015\n www.epistemex.com\n By Ken Fyrstenberg\n Contributions by leeoniya.\n License: MIT, header required.\n */\n\n\n !function (t, e) {\n var r = this,\n i = e.pow(256, 6),\n a = e.pow(2, 52),\n s = 2 * a;\n\n function n(t) {\n var e,\n r = t.length,\n i = this,\n a = 0,\n s = i.i = i.j = 0,\n n = i.S = [];\n\n for (r || (t = [r++]); a < 256;) {\n n[a] = a++;\n }\n\n for (a = 0; a < 256; a++) {\n n[a] = n[s = 255 & s + t[a % r] + (e = n[a])], n[s] = e;\n }\n\n i.g = function (t) {\n for (var e, r = 0, a = i.i, s = i.j, n = i.S; t--;) {\n e = n[a = 255 & a + 1], r = 256 * r + n[255 & (n[a] = n[s = 255 & s + e]) + (n[s] = e)];\n }\n\n return i.i = a, i.j = s, r;\n };\n }\n\n function o(t, e) {\n return e.i = t.i, e.j = t.j, e.S = t.S.slice(), e;\n }\n\n function h(t, e) {\n for (var r, i = t + \"\", a = 0; a < i.length;) {\n e[255 & a] = 255 & (r ^= 19 * e[255 & a]) + i.charCodeAt(a++);\n }\n\n return l(e);\n }\n\n function l(t) {\n return String.fromCharCode.apply(0, t);\n }\n\n e.seedrandom = function (p, f, c) {\n var m = [],\n d = h(function t(e, r) {\n var i,\n a = [],\n s = typeof e;\n if (r && \"object\" == s) for (i in e) {\n try {\n a.push(t(e[i], r - 1));\n } catch (t) {}\n }\n return a.length ? a : \"string\" == s ? e : e + \"\\0\";\n }((f = !0 === f ? {\n entropy: !0\n } : f || {}).entropy ? [p, l(t)] : null === p ? function () {\n try {\n void 0;\n var e = new Uint8Array(256);\n return (r.crypto || r.msCrypto).getRandomValues(e), l(e);\n } catch (e) {\n var i = r.navigator,\n a = i && i.plugins;\n return [+new Date(), r, a, r.screen, l(t)];\n }\n }() : p, 3), m),\n u = new n(m),\n y = function y() {\n for (var t = u.g(6), e = i, r = 0; t < a;) {\n t = 256 * (t + r), e *= 256, r = u.g(1);\n }\n\n for (; t >= s;) {\n t /= 2, e /= 2, r >>>= 1;\n }\n\n return (t + r) / e;\n };\n\n return y.int32 = function () {\n return 0 | u.g(4);\n }, y.quick = function () {\n return u.g(4) / 4294967296;\n }, y.double = y, h(l(u.S), t), (f.pass || c || function (t, r, i, a) {\n return a && (a.S && o(a, u), t.state = function () {\n return o(u, {});\n }), i ? (e.random = t, r) : t;\n })(y, d, \"global\" in f ? f.global : this == e, f.state);\n }, h(e.random(), t);\n }([], BMMath);\n\n var BezierFactory = function () {\n var t = {\n getBezierEasing: function getBezierEasing(t, r, i, a, s) {\n var n = s || (\"bez_\" + t + \"_\" + r + \"_\" + i + \"_\" + a).replace(/\\./g, \"p\");\n if (e[n]) return e[n];\n var o = new h([t, r, i, a]);\n return e[n] = o, o;\n }\n },\n e = {};\n var r = \"function\" == typeof Float32Array;\n\n function i(t, e) {\n return 1 - 3 * e + 3 * t;\n }\n\n function a(t, e) {\n return 3 * e - 6 * t;\n }\n\n function s(t) {\n return 3 * t;\n }\n\n function n(t, e, r) {\n return ((i(e, r) * t + a(e, r)) * t + s(e)) * t;\n }\n\n function o(t, e, r) {\n return 3 * i(e, r) * t * t + 2 * a(e, r) * t + s(e);\n }\n\n function h(t) {\n this._p = t, this._mSampleValues = r ? new Float32Array(11) : new Array(11), this._precomputed = !1, this.get = this.get.bind(this);\n }\n\n return h.prototype = {\n get: function get(t) {\n var e = this._p[0],\n r = this._p[1],\n i = this._p[2],\n a = this._p[3];\n return this._precomputed || this._precompute(), e === r && i === a ? t : 0 === t ? 0 : 1 === t ? 1 : n(this._getTForX(t), r, a);\n },\n _precompute: function _precompute() {\n var t = this._p[0],\n e = this._p[1],\n r = this._p[2],\n i = this._p[3];\n this._precomputed = !0, t === e && r === i || this._calcSampleValues();\n },\n _calcSampleValues: function _calcSampleValues() {\n for (var t = this._p[0], e = this._p[2], r = 0; r < 11; ++r) {\n this._mSampleValues[r] = n(.1 * r, t, e);\n }\n },\n _getTForX: function _getTForX(t) {\n for (var e = this._p[0], r = this._p[2], i = this._mSampleValues, a = 0, s = 1; 10 !== s && i[s] <= t; ++s) {\n a += .1;\n }\n\n var h = a + .1 * ((t - i[--s]) / (i[s + 1] - i[s])),\n l = o(h, e, r);\n return l >= .001 ? function (t, e, r, i) {\n for (var a = 0; a < 4; ++a) {\n var s = o(e, r, i);\n if (0 === s) return e;\n e -= (n(e, r, i) - t) / s;\n }\n\n return e;\n }(t, h, e, r) : 0 === l ? h : function (t, e, r, i, a) {\n var s,\n o,\n h = 0;\n\n do {\n (s = n(o = e + (r - e) / 2, i, a) - t) > 0 ? r = o : e = o;\n } while (Math.abs(s) > 1e-7 && ++h < 10);\n\n return o;\n }(t, a, a + .1, e, r);\n }\n }, t;\n }();\n\n function extendPrototype(t, e) {\n var r,\n i,\n a = t.length;\n\n for (r = 0; r < a; r += 1) {\n for (var s in i = t[r].prototype) {\n Object.prototype.hasOwnProperty.call(i, s) && (e.prototype[s] = i[s]);\n }\n }\n }\n\n function getDescriptor(t, e) {\n return Object.getOwnPropertyDescriptor(t, e);\n }\n\n function createProxyFunction(t) {\n function e() {}\n\n return e.prototype = t, e;\n }\n\n function bezFunction() {\n var t = Math;\n\n function e(t, e, r, i, a, s) {\n var n = t * i + e * a + r * s - a * i - s * t - r * e;\n return n > -.001 && n < .001;\n }\n\n var r = function r(t, e, _r, i) {\n var a,\n s,\n n,\n o,\n h,\n l,\n p = defaultCurveSegments,\n f = 0,\n c = [],\n m = [],\n d = bezierLengthPool.newElement();\n\n for (n = _r.length, a = 0; a < p; a += 1) {\n for (h = a / (p - 1), l = 0, s = 0; s < n; s += 1) {\n o = bmPow(1 - h, 3) * t[s] + 3 * bmPow(1 - h, 2) * h * _r[s] + 3 * (1 - h) * bmPow(h, 2) * i[s] + bmPow(h, 3) * e[s], c[s] = o, null !== m[s] && (l += bmPow(c[s] - m[s], 2)), m[s] = c[s];\n }\n\n l && (f += l = bmSqrt(l)), d.percents[a] = h, d.lengths[a] = f;\n }\n\n return d.addedLength = f, d;\n };\n\n function i(t) {\n this.segmentLength = 0, this.points = new Array(t);\n }\n\n function a(t, e) {\n this.partialLength = t, this.point = e;\n }\n\n var s,\n n = (s = {}, function (t, r, n, o) {\n var h = (t[0] + \"_\" + t[1] + \"_\" + r[0] + \"_\" + r[1] + \"_\" + n[0] + \"_\" + n[1] + \"_\" + o[0] + \"_\" + o[1]).replace(/\\./g, \"p\");\n\n if (!s[h]) {\n var l,\n p,\n f,\n c,\n m,\n d,\n u,\n y = defaultCurveSegments,\n g = 0,\n v = null;\n 2 === t.length && (t[0] !== r[0] || t[1] !== r[1]) && e(t[0], t[1], r[0], r[1], t[0] + n[0], t[1] + n[1]) && e(t[0], t[1], r[0], r[1], r[0] + o[0], r[1] + o[1]) && (y = 2);\n var b = new i(y);\n\n for (f = n.length, l = 0; l < y; l += 1) {\n for (u = createSizedArray(f), m = l / (y - 1), d = 0, p = 0; p < f; p += 1) {\n c = bmPow(1 - m, 3) * t[p] + 3 * bmPow(1 - m, 2) * m * (t[p] + n[p]) + 3 * (1 - m) * bmPow(m, 2) * (r[p] + o[p]) + bmPow(m, 3) * r[p], u[p] = c, null !== v && (d += bmPow(u[p] - v[p], 2));\n }\n\n g += d = bmSqrt(d), b.points[l] = new a(d, u), v = u;\n }\n\n b.segmentLength = g, s[h] = b;\n }\n\n return s[h];\n });\n\n function o(t, e) {\n var r = e.percents,\n i = e.lengths,\n a = r.length,\n s = bmFloor((a - 1) * t),\n n = t * e.addedLength,\n o = 0;\n if (s === a - 1 || 0 === s || n === i[s]) return r[s];\n\n for (var h = i[s] > n ? -1 : 1, l = !0; l;) {\n if (i[s] <= n && i[s + 1] > n ? (o = (n - i[s]) / (i[s + 1] - i[s]), l = !1) : s += h, s < 0 || s >= a - 1) {\n if (s === a - 1) return r[s];\n l = !1;\n }\n }\n\n return r[s] + (r[s + 1] - r[s]) * o;\n }\n\n var h = createTypedArray(\"float32\", 8);\n return {\n getSegmentsLength: function getSegmentsLength(t) {\n var e,\n i = segmentsLengthPool.newElement(),\n a = t.c,\n s = t.v,\n n = t.o,\n o = t.i,\n h = t._length,\n l = i.lengths,\n p = 0;\n\n for (e = 0; e < h - 1; e += 1) {\n l[e] = r(s[e], s[e + 1], n[e], o[e + 1]), p += l[e].addedLength;\n }\n\n return a && h && (l[e] = r(s[e], s[0], n[e], o[0]), p += l[e].addedLength), i.totalLength = p, i;\n },\n getNewSegment: function getNewSegment(e, r, i, a, s, n, l) {\n s < 0 ? s = 0 : s > 1 && (s = 1);\n\n var p,\n f = o(s, l),\n c = o(n = n > 1 ? 1 : n, l),\n m = e.length,\n d = 1 - f,\n u = 1 - c,\n y = d * d * d,\n g = f * d * d * 3,\n v = f * f * d * 3,\n b = f * f * f,\n x = d * d * u,\n E = f * d * u + d * f * u + d * d * c,\n P = f * f * u + d * f * c + f * d * c,\n S = f * f * c,\n C = d * u * u,\n _ = f * u * u + d * c * u + d * u * c,\n A = f * c * u + d * c * c + f * u * c,\n k = f * c * c,\n T = u * u * u,\n w = c * u * u + u * c * u + u * u * c,\n D = c * c * u + u * c * c + c * u * c,\n M = c * c * c;\n\n for (p = 0; p < m; p += 1) {\n h[4 * p] = t.round(1e3 * (y * e[p] + g * i[p] + v * a[p] + b * r[p])) / 1e3, h[4 * p + 1] = t.round(1e3 * (x * e[p] + E * i[p] + P * a[p] + S * r[p])) / 1e3, h[4 * p + 2] = t.round(1e3 * (C * e[p] + _ * i[p] + A * a[p] + k * r[p])) / 1e3, h[4 * p + 3] = t.round(1e3 * (T * e[p] + w * i[p] + D * a[p] + M * r[p])) / 1e3;\n }\n\n return h;\n },\n getPointInSegment: function getPointInSegment(e, r, i, a, s, n) {\n var h = o(s, n),\n l = 1 - h;\n return [t.round(1e3 * (l * l * l * e[0] + (h * l * l + l * h * l + l * l * h) * i[0] + (h * h * l + l * h * h + h * l * h) * a[0] + h * h * h * r[0])) / 1e3, t.round(1e3 * (l * l * l * e[1] + (h * l * l + l * h * l + l * l * h) * i[1] + (h * h * l + l * h * h + h * l * h) * a[1] + h * h * h * r[1])) / 1e3];\n },\n buildBezierData: n,\n pointOnLine2D: e,\n pointOnLine3D: function pointOnLine3D(r, i, a, s, n, o, h, l, p) {\n if (0 === a && 0 === o && 0 === p) return e(r, i, s, n, h, l);\n var f,\n c = t.sqrt(t.pow(s - r, 2) + t.pow(n - i, 2) + t.pow(o - a, 2)),\n m = t.sqrt(t.pow(h - r, 2) + t.pow(l - i, 2) + t.pow(p - a, 2)),\n d = t.sqrt(t.pow(h - s, 2) + t.pow(l - n, 2) + t.pow(p - o, 2));\n return (f = c > m ? c > d ? c - m - d : d - m - c : d > m ? d - m - c : m - c - d) > -1e-4 && f < 1e-4;\n }\n };\n }\n\n !function () {\n for (var t = 0, e = [\"ms\", \"moz\", \"webkit\", \"o\"], r = 0; r < e.length && !window.requestAnimationFrame; ++r) {\n window.requestAnimationFrame = window[e[r] + \"RequestAnimationFrame\"], window.cancelAnimationFrame = window[e[r] + \"CancelAnimationFrame\"] || window[e[r] + \"CancelRequestAnimationFrame\"];\n }\n\n window.requestAnimationFrame || (window.requestAnimationFrame = function (e) {\n var r = new Date().getTime(),\n i = Math.max(0, 16 - (r - t)),\n a = setTimeout(function () {\n e(r + i);\n }, i);\n return t = r + i, a;\n }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function (t) {\n clearTimeout(t);\n });\n }();\n var bez = bezFunction();\n\n function dataFunctionManager() {\n function t(a, s, n) {\n var o,\n h,\n l,\n f,\n c,\n m,\n d = a.length;\n\n for (h = 0; h < d; h += 1) {\n if (\"ks\" in (o = a[h]) && !o.completed) {\n if (o.completed = !0, o.tt && (a[h - 1].td = o.tt), o.hasMask) {\n var u = o.masksProperties;\n\n for (f = u.length, l = 0; l < f; l += 1) {\n if (u[l].pt.k.i) i(u[l].pt.k);else for (m = u[l].pt.k.length, c = 0; c < m; c += 1) {\n u[l].pt.k[c].s && i(u[l].pt.k[c].s[0]), u[l].pt.k[c].e && i(u[l].pt.k[c].e[0]);\n }\n }\n }\n\n 0 === o.ty ? (o.layers = e(o.refId, s), t(o.layers, s, n)) : 4 === o.ty ? r(o.shapes) : 5 === o.ty && p(o);\n }\n }\n }\n\n function e(t, e) {\n for (var r = 0, i = e.length; r < i;) {\n if (e[r].id === t) return e[r].layers.__used ? JSON.parse(JSON.stringify(e[r].layers)) : (e[r].layers.__used = !0, e[r].layers);\n r += 1;\n }\n\n return null;\n }\n\n function r(t) {\n var e, a, s;\n\n for (e = t.length - 1; e >= 0; e -= 1) {\n if (\"sh\" === t[e].ty) {\n if (t[e].ks.k.i) i(t[e].ks.k);else for (s = t[e].ks.k.length, a = 0; a < s; a += 1) {\n t[e].ks.k[a].s && i(t[e].ks.k[a].s[0]), t[e].ks.k[a].e && i(t[e].ks.k[a].e[0]);\n }\n } else \"gr\" === t[e].ty && r(t[e].it);\n }\n }\n\n function i(t) {\n var e,\n r = t.i.length;\n\n for (e = 0; e < r; e += 1) {\n t.i[e][0] += t.v[e][0], t.i[e][1] += t.v[e][1], t.o[e][0] += t.v[e][0], t.o[e][1] += t.v[e][1];\n }\n }\n\n function a(t, e) {\n var r = e ? e.split(\".\") : [100, 100, 100];\n return t[0] > r[0] || !(r[0] > t[0]) && (t[1] > r[1] || !(r[1] > t[1]) && (t[2] > r[2] || !(r[2] > t[2]) && null));\n }\n\n var s,\n n = function () {\n var t = [4, 4, 14];\n\n function e(t) {\n var e,\n r,\n i,\n a = t.length;\n\n for (e = 0; e < a; e += 1) {\n 5 === t[e].ty && (r = t[e], i = void 0, i = r.t.d, r.t.d = {\n k: [{\n s: i,\n t: 0\n }]\n });\n }\n }\n\n return function (r) {\n if (a(t, r.v) && (e(r.layers), r.assets)) {\n var i,\n s = r.assets.length;\n\n for (i = 0; i < s; i += 1) {\n r.assets[i].layers && e(r.assets[i].layers);\n }\n }\n };\n }(),\n o = (s = [4, 7, 99], function (t) {\n if (t.chars && !a(s, t.v)) {\n var e,\n r,\n n,\n o,\n h,\n l = t.chars.length;\n\n for (e = 0; e < l; e += 1) {\n if (t.chars[e].data && t.chars[e].data.shapes) for (n = (h = t.chars[e].data.shapes[0].it).length, r = 0; r < n; r += 1) {\n (o = h[r].ks.k).__converted || (i(h[r].ks.k), o.__converted = !0);\n }\n }\n }\n }),\n h = function () {\n var t = [4, 1, 9];\n\n function e(t) {\n var r,\n i,\n a,\n s = t.length;\n\n for (r = 0; r < s; r += 1) {\n if (\"gr\" === t[r].ty) e(t[r].it);else if (\"fl\" === t[r].ty || \"st\" === t[r].ty) if (t[r].c.k && t[r].c.k[0].i) for (a = t[r].c.k.length, i = 0; i < a; i += 1) {\n t[r].c.k[i].s && (t[r].c.k[i].s[0] /= 255, t[r].c.k[i].s[1] /= 255, t[r].c.k[i].s[2] /= 255, t[r].c.k[i].s[3] /= 255), t[r].c.k[i].e && (t[r].c.k[i].e[0] /= 255, t[r].c.k[i].e[1] /= 255, t[r].c.k[i].e[2] /= 255, t[r].c.k[i].e[3] /= 255);\n } else t[r].c.k[0] /= 255, t[r].c.k[1] /= 255, t[r].c.k[2] /= 255, t[r].c.k[3] /= 255;\n }\n }\n\n function r(t) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n 4 === t[r].ty && e(t[r].shapes);\n }\n }\n\n return function (e) {\n if (a(t, e.v) && (r(e.layers), e.assets)) {\n var i,\n s = e.assets.length;\n\n for (i = 0; i < s; i += 1) {\n e.assets[i].layers && r(e.assets[i].layers);\n }\n }\n };\n }(),\n l = function () {\n var t = [4, 4, 18];\n\n function e(t) {\n var r, i, a;\n\n for (r = t.length - 1; r >= 0; r -= 1) {\n if (\"sh\" === t[r].ty) {\n if (t[r].ks.k.i) t[r].ks.k.c = t[r].closed;else for (a = t[r].ks.k.length, i = 0; i < a; i += 1) {\n t[r].ks.k[i].s && (t[r].ks.k[i].s[0].c = t[r].closed), t[r].ks.k[i].e && (t[r].ks.k[i].e[0].c = t[r].closed);\n }\n } else \"gr\" === t[r].ty && e(t[r].it);\n }\n }\n\n function r(t) {\n var r,\n i,\n a,\n s,\n n,\n o,\n h = t.length;\n\n for (i = 0; i < h; i += 1) {\n if ((r = t[i]).hasMask) {\n var l = r.masksProperties;\n\n for (s = l.length, a = 0; a < s; a += 1) {\n if (l[a].pt.k.i) l[a].pt.k.c = l[a].cl;else for (o = l[a].pt.k.length, n = 0; n < o; n += 1) {\n l[a].pt.k[n].s && (l[a].pt.k[n].s[0].c = l[a].cl), l[a].pt.k[n].e && (l[a].pt.k[n].e[0].c = l[a].cl);\n }\n }\n }\n\n 4 === r.ty && e(r.shapes);\n }\n }\n\n return function (e) {\n if (a(t, e.v) && (r(e.layers), e.assets)) {\n var i,\n s = e.assets.length;\n\n for (i = 0; i < s; i += 1) {\n e.assets[i].layers && r(e.assets[i].layers);\n }\n }\n };\n }();\n\n function p(t) {\n 0 !== t.t.a.length || \"m\" in t.t.p || (t.singleShape = !0);\n }\n\n var f = {\n completeData: function completeData(e, r) {\n e.__complete || (h(e), n(e), o(e), l(e), t(e.layers, e.assets, r), e.__complete = !0);\n }\n };\n return f.checkColors = h, f.checkChars = o, f.checkShapes = l, f.completeLayers = t, f;\n }\n\n var dataManager = dataFunctionManager();\n\n function getFontProperties(t) {\n for (var e = t.fStyle ? t.fStyle.split(\" \") : [], r = \"normal\", i = \"normal\", a = e.length, s = 0; s < a; s += 1) {\n switch (e[s].toLowerCase()) {\n case \"italic\":\n i = \"italic\";\n break;\n\n case \"bold\":\n r = \"700\";\n break;\n\n case \"black\":\n r = \"900\";\n break;\n\n case \"medium\":\n r = \"500\";\n break;\n\n case \"regular\":\n case \"normal\":\n r = \"400\";\n break;\n\n case \"light\":\n case \"thin\":\n r = \"200\";\n }\n }\n\n return {\n style: i,\n weight: t.fWeight || r\n };\n }\n\n var FontManager = function () {\n var t = {\n w: 0,\n size: 0,\n shapes: []\n },\n e = [];\n\n function r(t, e) {\n var r = createTag(\"span\");\n r.setAttribute(\"aria-hidden\", !0), r.style.fontFamily = e;\n var i = createTag(\"span\");\n i.innerText = \"giItT1WQy@!-/#\", r.style.position = \"absolute\", r.style.left = \"-10000px\", r.style.top = \"-10000px\", r.style.fontSize = \"300px\", r.style.fontVariant = \"normal\", r.style.fontStyle = \"normal\", r.style.fontWeight = \"normal\", r.style.letterSpacing = \"0\", r.appendChild(i), document.body.appendChild(r);\n var a = i.offsetWidth;\n return i.style.fontFamily = function (t) {\n var e,\n r = t.split(\",\"),\n i = r.length,\n a = [];\n\n for (e = 0; e < i; e += 1) {\n \"sans-serif\" !== r[e] && \"monospace\" !== r[e] && a.push(r[e]);\n }\n\n return a.join(\",\");\n }(t) + \", \" + e, {\n node: i,\n w: a,\n parent: r\n };\n }\n\n function i(t, e) {\n var r = createNS(\"text\");\n r.style.fontSize = \"100px\";\n var i = getFontProperties(e);\n return r.setAttribute(\"font-family\", e.fFamily), r.setAttribute(\"font-style\", i.style), r.setAttribute(\"font-weight\", i.weight), r.textContent = \"1\", e.fClass ? (r.style.fontFamily = \"inherit\", r.setAttribute(\"class\", e.fClass)) : r.style.fontFamily = e.fFamily, t.appendChild(r), createTag(\"canvas\").getContext(\"2d\").font = e.fWeight + \" \" + e.fStyle + \" 100px \" + e.fFamily, r;\n }\n\n e = e.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 var a = function a() {\n this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n\n return a.getCombinedCharacterCodes = function () {\n return e;\n }, a.prototype = {\n addChars: function addChars(t) {\n if (t) {\n var e;\n this.chars || (this.chars = []);\n var r,\n i,\n a = t.length,\n s = this.chars.length;\n\n for (e = 0; e < a; e += 1) {\n for (r = 0, i = !1; r < s;) {\n this.chars[r].style === t[e].style && this.chars[r].fFamily === t[e].fFamily && this.chars[r].ch === t[e].ch && (i = !0), r += 1;\n }\n\n i || (this.chars.push(t[e]), s += 1);\n }\n }\n },\n addFonts: function addFonts(t, e) {\n if (t) {\n if (this.chars) return this.isLoaded = !0, void (this.fonts = t.list);\n var a,\n s = t.list,\n n = s.length,\n o = n;\n\n for (a = 0; a < n; a += 1) {\n var h,\n l,\n p = !0;\n\n if (s[a].loaded = !1, s[a].monoCase = r(s[a].fFamily, \"monospace\"), s[a].sansCase = r(s[a].fFamily, \"sans-serif\"), s[a].fPath) {\n if (\"p\" === s[a].fOrigin || 3 === s[a].origin) {\n if ((h = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + s[a].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + s[a].fFamily + '\"]')).length > 0 && (p = !1), p) {\n var f = createTag(\"style\");\n f.setAttribute(\"f-forigin\", s[a].fOrigin), f.setAttribute(\"f-origin\", s[a].origin), f.setAttribute(\"f-family\", s[a].fFamily), f.type = \"text/css\", f.innerText = \"@font-face {font-family: \" + s[a].fFamily + \"; font-style: normal; src: url('\" + s[a].fPath + \"');}\", e.appendChild(f);\n }\n } else if (\"g\" === s[a].fOrigin || 1 === s[a].origin) {\n for (h = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'), l = 0; l < h.length; l += 1) {\n -1 !== h[l].href.indexOf(s[a].fPath) && (p = !1);\n }\n\n if (p) {\n var c = createTag(\"link\");\n c.setAttribute(\"f-forigin\", s[a].fOrigin), c.setAttribute(\"f-origin\", s[a].origin), c.type = \"text/css\", c.rel = \"stylesheet\", c.href = s[a].fPath, document.body.appendChild(c);\n }\n } else if (\"t\" === s[a].fOrigin || 2 === s[a].origin) {\n for (h = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'), l = 0; l < h.length; l += 1) {\n s[a].fPath === h[l].src && (p = !1);\n }\n\n if (p) {\n var m = createTag(\"link\");\n m.setAttribute(\"f-forigin\", s[a].fOrigin), m.setAttribute(\"f-origin\", s[a].origin), m.setAttribute(\"rel\", \"stylesheet\"), m.setAttribute(\"href\", s[a].fPath), e.appendChild(m);\n }\n }\n } else s[a].loaded = !0, o -= 1;\n\n s[a].helper = i(e, s[a]), s[a].cache = {}, this.fonts.push(s[a]);\n }\n\n 0 === o ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100);\n } else this.isLoaded = !0;\n },\n getCharData: function getCharData(e, r, i) {\n for (var a = 0, s = this.chars.length; a < s;) {\n if (this.chars[a].ch === e && this.chars[a].style === r && this.chars[a].fFamily === i) return this.chars[a];\n a += 1;\n }\n\n return (\"string\" == typeof e && 13 !== e.charCodeAt(0) || !e) && console && console.warn && !this._warned && (this._warned = !0), t;\n },\n getFontByName: function getFontByName(t) {\n for (var e = 0, r = this.fonts.length; e < r;) {\n if (this.fonts[e].fName === t) return this.fonts[e];\n e += 1;\n }\n\n return this.fonts[0];\n },\n measureText: function measureText(t, e, r) {\n var i = this.getFontByName(e),\n a = t.charCodeAt(0);\n\n if (!i.cache[a + 1]) {\n var s = i.helper;\n\n if (\" \" === t) {\n s.textContent = \"|\" + t + \"|\";\n var n = s.getComputedTextLength();\n s.textContent = \"||\";\n var o = s.getComputedTextLength();\n i.cache[a + 1] = (n - o) / 100;\n } else s.textContent = t, i.cache[a + 1] = s.getComputedTextLength() / 100;\n }\n\n return i.cache[a + 1] * r;\n },\n checkLoadedFonts: function checkLoadedFonts() {\n var t,\n e,\n r,\n i = this.fonts.length,\n a = i;\n\n for (t = 0; t < i; t += 1) {\n this.fonts[t].loaded ? a -= 1 : \"n\" === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? this.fonts[t].loaded = !0 : (e = this.fonts[t].monoCase.node, r = this.fonts[t].monoCase.w, e.offsetWidth !== r ? (a -= 1, this.fonts[t].loaded = !0) : (e = this.fonts[t].sansCase.node, r = this.fonts[t].sansCase.w, e.offsetWidth !== r && (a -= 1, this.fonts[t].loaded = !0)), this.fonts[t].loaded && (this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent), this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));\n }\n\n 0 !== a && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10);\n },\n setIsLoaded: function setIsLoaded() {\n this.isLoaded = !0;\n }\n }, a;\n }(),\n PropertyFactory = function () {\n var t = initialDefaultFrame,\n e = Math.abs;\n\n function r(t, e) {\n var r,\n a = this.offsetTime;\n \"multidimensional\" === this.propType && (r = createTypedArray(\"float32\", this.pv.length));\n\n for (var s, n, o, h, l, p, f, c, m = e.lastIndex, d = m, u = this.keyframes.length - 1, y = !0; y;) {\n if (s = this.keyframes[d], n = this.keyframes[d + 1], d === u - 1 && t >= n.t - a) {\n s.h && (s = n), m = 0;\n break;\n }\n\n if (n.t - a > t) {\n m = d;\n break;\n }\n\n d < u - 1 ? d += 1 : (m = 0, y = !1);\n }\n\n var g,\n v = n.t - a,\n b = s.t - a;\n\n if (s.to) {\n s.bezierData || (s.bezierData = bez.buildBezierData(s.s, n.s || s.e, s.to, s.ti));\n var x = s.bezierData;\n\n if (t >= v || t < b) {\n var E = t >= v ? x.points.length - 1 : 0;\n\n for (h = x.points[E].point.length, o = 0; o < h; o += 1) {\n r[o] = x.points[E].point[o];\n }\n } else {\n s.__fnct ? c = s.__fnct : (c = BezierFactory.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y, s.n).get, s.__fnct = c), l = c((t - b) / (v - b));\n var P,\n S = x.segmentLength * l,\n C = e.lastFrame < t && e._lastKeyframeIndex === d ? e._lastAddedLength : 0;\n\n for (f = e.lastFrame < t && e._lastKeyframeIndex === d ? e._lastPoint : 0, y = !0, p = x.points.length; y;) {\n if (C += x.points[f].partialLength, 0 === S || 0 === l || f === x.points.length - 1) {\n for (h = x.points[f].point.length, o = 0; o < h; o += 1) {\n r[o] = x.points[f].point[o];\n }\n\n break;\n }\n\n if (S >= C && S < C + x.points[f + 1].partialLength) {\n for (P = (S - C) / x.points[f + 1].partialLength, h = x.points[f].point.length, o = 0; o < h; o += 1) {\n r[o] = x.points[f].point[o] + (x.points[f + 1].point[o] - x.points[f].point[o]) * P;\n }\n\n break;\n }\n\n f < p - 1 ? f += 1 : y = !1;\n }\n\n e._lastPoint = f, e._lastAddedLength = C - x.points[f].partialLength, e._lastKeyframeIndex = d;\n }\n } else {\n var _, A, k, T, w;\n\n if (u = s.s.length, g = n.s || s.e, this.sh && 1 !== s.h) {\n if (t >= v) r[0] = g[0], r[1] = g[1], r[2] = g[2];else if (t <= b) r[0] = s.s[0], r[1] = s.s[1], r[2] = s.s[2];else {\n !function (t, e) {\n var r = e[0],\n i = e[1],\n a = e[2],\n s = e[3],\n n = Math.atan2(2 * i * s - 2 * r * a, 1 - 2 * i * i - 2 * a * a),\n o = Math.asin(2 * r * i + 2 * a * s),\n h = Math.atan2(2 * r * s - 2 * i * a, 1 - 2 * r * r - 2 * a * a);\n t[0] = n / degToRads, t[1] = o / degToRads, t[2] = h / degToRads;\n }(r, function (t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h = [],\n l = t[0],\n p = t[1],\n f = t[2],\n c = t[3],\n m = e[0],\n d = e[1],\n u = e[2],\n y = e[3];\n (a = l * m + p * d + f * u + c * y) < 0 && (a = -a, m = -m, d = -d, u = -u, y = -y);\n 1 - a > 1e-6 ? (i = Math.acos(a), s = Math.sin(i), n = Math.sin((1 - r) * i) / s, o = Math.sin(r * i) / s) : (n = 1 - r, o = r);\n return h[0] = n * l + o * m, h[1] = n * p + o * d, h[2] = n * f + o * u, h[3] = n * c + o * y, h;\n }(i(s.s), i(g), (t - b) / (v - b)));\n }\n } else for (d = 0; d < u; d += 1) {\n 1 !== s.h && (t >= v ? l = 1 : t < b ? l = 0 : (s.o.x.constructor === Array ? (s.__fnct || (s.__fnct = []), s.__fnct[d] ? c = s.__fnct[d] : (_ = void 0 === s.o.x[d] ? s.o.x[0] : s.o.x[d], A = void 0 === s.o.y[d] ? s.o.y[0] : s.o.y[d], k = void 0 === s.i.x[d] ? s.i.x[0] : s.i.x[d], T = void 0 === s.i.y[d] ? s.i.y[0] : s.i.y[d], c = BezierFactory.getBezierEasing(_, A, k, T).get, s.__fnct[d] = c)) : s.__fnct ? c = s.__fnct : (_ = s.o.x, A = s.o.y, k = s.i.x, T = s.i.y, c = BezierFactory.getBezierEasing(_, A, k, T).get, s.__fnct = c), l = c((t - b) / (v - b)))), g = n.s || s.e, w = 1 === s.h ? s.s[d] : s.s[d] + (g[d] - s.s[d]) * l, \"multidimensional\" === this.propType ? r[d] = w : r = w;\n }\n }\n\n return e.lastIndex = m, r;\n }\n\n function i(t) {\n var e = t[0] * degToRads,\n r = t[1] * degToRads,\n i = t[2] * degToRads,\n a = Math.cos(e / 2),\n s = Math.cos(r / 2),\n n = Math.cos(i / 2),\n o = Math.sin(e / 2),\n h = Math.sin(r / 2),\n l = Math.sin(i / 2);\n return [o * h * n + a * s * l, o * s * n + a * h * l, a * h * n - o * s * l, a * s * n - o * h * l];\n }\n\n function a() {\n var e = this.comp.renderedFrame - this.offsetTime,\n r = this.keyframes[0].t - this.offsetTime,\n i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n\n if (!(e === this._caching.lastFrame || this._caching.lastFrame !== t && (this._caching.lastFrame >= i && e >= i || this._caching.lastFrame < r && e < r))) {\n this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);\n var a = this.interpolateValue(e, this._caching);\n this.pv = a;\n }\n\n return this._caching.lastFrame = e, this.pv;\n }\n\n function s(t) {\n var r;\n if (\"unidimensional\" === this.propType) r = t * this.mult, e(this.v - r) > 1e-5 && (this.v = r, this._mdf = !0);else for (var i = 0, a = this.v.length; i < a;) {\n r = t[i] * this.mult, e(this.v[i] - r) > 1e-5 && (this.v[i] = r, this._mdf = !0), i += 1;\n }\n }\n\n function n() {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) if (this.lock) this.setVValue(this.pv);else {\n var t;\n this.lock = !0, this._mdf = this._isFirstFrame;\n var e = this.effectsSequence.length,\n r = this.kf ? this.pv : this.data.k;\n\n for (t = 0; t < e; t += 1) {\n r = this.effectsSequence[t](r);\n }\n\n this.setVValue(r), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n\n function o(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function h(t, e, r, i) {\n this.propType = \"unidimensional\", this.mult = r || 1, this.data = e, this.v = r ? e.k * r : e.k, this.pv = e.k, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.addEffect = o;\n }\n\n function l(t, e, r, i) {\n var a;\n this.propType = \"multidimensional\", this.mult = r || 1, this.data = e, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.frameId = -1;\n var h = e.k.length;\n\n for (this.v = createTypedArray(\"float32\", h), this.pv = createTypedArray(\"float32\", h), this.vel = createTypedArray(\"float32\", h), a = 0; a < h; a += 1) {\n this.v[a] = e.k[a] * this.mult, this.pv[a] = e.k[a];\n }\n\n this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = n, this.setVValue = s, this.addEffect = o;\n }\n\n function p(e, i, h, l) {\n this.propType = \"unidimensional\", this.keyframes = i.k, this.offsetTime = e.data.st, this.frameId = -1, this._caching = {\n lastFrame: t,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n }, this.k = !0, this.kf = !0, this.data = i, this.mult = h || 1, this.elem = e, this.container = l, this.comp = e.comp, this.v = t, this.pv = t, this._isFirstFrame = !0, this.getValue = n, this.setVValue = s, this.interpolateValue = r, this.effectsSequence = [a.bind(this)], this.addEffect = o;\n }\n\n function f(e, i, h, l) {\n var p;\n this.propType = \"multidimensional\";\n var f,\n c,\n m,\n d,\n u = i.k.length;\n\n for (p = 0; p < u - 1; p += 1) {\n i.k[p].to && i.k[p].s && i.k[p + 1] && i.k[p + 1].s && (f = i.k[p].s, c = i.k[p + 1].s, m = i.k[p].to, d = i.k[p].ti, (2 === f.length && (f[0] !== c[0] || f[1] !== c[1]) && bez.pointOnLine2D(f[0], f[1], c[0], c[1], f[0] + m[0], f[1] + m[1]) && bez.pointOnLine2D(f[0], f[1], c[0], c[1], c[0] + d[0], c[1] + d[1]) || 3 === f.length && (f[0] !== c[0] || f[1] !== c[1] || f[2] !== c[2]) && bez.pointOnLine3D(f[0], f[1], f[2], c[0], c[1], c[2], f[0] + m[0], f[1] + m[1], f[2] + m[2]) && bez.pointOnLine3D(f[0], f[1], f[2], c[0], c[1], c[2], c[0] + d[0], c[1] + d[1], c[2] + d[2])) && (i.k[p].to = null, i.k[p].ti = null), f[0] === c[0] && f[1] === c[1] && 0 === m[0] && 0 === m[1] && 0 === d[0] && 0 === d[1] && (2 === f.length || f[2] === c[2] && 0 === m[2] && 0 === d[2]) && (i.k[p].to = null, i.k[p].ti = null));\n }\n\n this.effectsSequence = [a.bind(this)], this.data = i, this.keyframes = i.k, this.offsetTime = e.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = h || 1, this.elem = e, this.container = l, this.comp = e.comp, this.getValue = n, this.setVValue = s, this.interpolateValue = r, this.frameId = -1;\n var y = i.k[0].s.length;\n\n for (this.v = createTypedArray(\"float32\", y), this.pv = createTypedArray(\"float32\", y), p = 0; p < y; p += 1) {\n this.v[p] = t, this.pv[p] = t;\n }\n\n this._caching = {\n lastFrame: t,\n lastIndex: 0,\n value: createTypedArray(\"float32\", y)\n }, this.addEffect = o;\n }\n\n return {\n getProp: function getProp(t, e, r, i, a) {\n var s;\n if (e.k.length) {\n if (\"number\" == typeof e.k[0]) s = new l(t, e, i, a);else switch (r) {\n case 0:\n s = new p(t, e, i, a);\n break;\n\n case 1:\n s = new f(t, e, i, a);\n }\n } else s = new h(t, e, i, a);\n return s.effectsSequence.length && a.addDynamicProperty(s), s;\n }\n };\n }(),\n TransformPropertyFactory = function () {\n var t = [0, 0];\n\n function e(t, e, r) {\n if (this.elem = t, this.frameId = -1, this.propType = \"transform\", this.data = e, this.v = new Matrix(), this.pre = new Matrix(), this.appliedTransformations = 0, this.initDynamicPropertyContainer(r || t), e.p && e.p.s ? (this.px = PropertyFactory.getProp(t, e.p.x, 0, 0, this), this.py = PropertyFactory.getProp(t, e.p.y, 0, 0, this), e.p.z && (this.pz = PropertyFactory.getProp(t, e.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(t, e.p || {\n k: [0, 0, 0]\n }, 1, 0, this), e.rx) {\n if (this.rx = PropertyFactory.getProp(t, e.rx, 0, degToRads, this), this.ry = PropertyFactory.getProp(t, e.ry, 0, degToRads, this), this.rz = PropertyFactory.getProp(t, e.rz, 0, degToRads, this), e.or.k[0].ti) {\n var i,\n a = e.or.k.length;\n\n for (i = 0; i < a; i += 1) {\n e.or.k[i].to = null, e.or.k[i].ti = null;\n }\n }\n\n this.or = PropertyFactory.getProp(t, e.or, 1, degToRads, this), this.or.sh = !0;\n } else this.r = PropertyFactory.getProp(t, e.r || {\n k: 0\n }, 0, degToRads, this);\n\n e.sk && (this.sk = PropertyFactory.getProp(t, e.sk, 0, degToRads, this), this.sa = PropertyFactory.getProp(t, e.sa, 0, degToRads, this)), this.a = PropertyFactory.getProp(t, e.a || {\n k: [0, 0, 0]\n }, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s || {\n k: [100, 100, 100]\n }, 1, .01, this), e.o ? this.o = PropertyFactory.getProp(t, e.o, 0, .01, t) : this.o = {\n _mdf: !1,\n v: 1\n }, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0);\n }\n\n return e.prototype = {\n applyToMatrix: function applyToMatrix(t) {\n var e = this._mdf;\n this.iterateDynamicProperties(), this._mdf = this._mdf || e, this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && t.skewFromAxis(-this.sk.v, this.sa.v), this.r ? t.rotate(-this.r.v) : t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? t.translate(this.px.v, this.py.v, -this.pz.v) : t.translate(this.px.v, this.py.v, 0) : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n },\n getValue: function getValue(e) {\n if (this.elem.globalData.frameId !== this.frameId) {\n if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || e) {\n var r;\n\n if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {\n var i, a;\n if (r = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (i = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / r, 0), a = this.p.getValueAtTime(this.p.keyframes[0].t / r, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (i = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / r, 0), a = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / r, 0)) : (i = this.p.pv, a = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / r, this.p.offsetTime));else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n i = [], a = [];\n var s = this.px,\n n = this.py;\n s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? (i[0] = s.getValueAtTime((s.keyframes[0].t + .01) / r, 0), i[1] = n.getValueAtTime((n.keyframes[0].t + .01) / r, 0), a[0] = s.getValueAtTime(s.keyframes[0].t / r, 0), a[1] = n.getValueAtTime(n.keyframes[0].t / r, 0)) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? (i[0] = s.getValueAtTime(s.keyframes[s.keyframes.length - 1].t / r, 0), i[1] = n.getValueAtTime(n.keyframes[n.keyframes.length - 1].t / r, 0), a[0] = s.getValueAtTime((s.keyframes[s.keyframes.length - 1].t - .01) / r, 0), a[1] = n.getValueAtTime((n.keyframes[n.keyframes.length - 1].t - .01) / r, 0)) : (i = [s.pv, n.pv], a[0] = s.getValueAtTime((s._caching.lastFrame + s.offsetTime - .01) / r, s.offsetTime), a[1] = n.getValueAtTime((n._caching.lastFrame + n.offsetTime - .01) / r, n.offsetTime));\n } else i = a = t;\n this.v.rotate(-Math.atan2(i[1] - a[1], i[0] - a[0]));\n }\n\n this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n\n this.frameId = this.elem.globalData.frameId;\n }\n },\n precalculateMatrix: function precalculateMatrix() {\n if (!this.a.k && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1, !this.s.effectsSequence.length)) {\n if (this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2, this.sk) {\n if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;\n this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3;\n }\n\n this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4);\n }\n },\n autoOrient: function autoOrient() {}\n }, extendPrototype([DynamicPropertyContainer], e), e.prototype.addDynamicProperty = function (t) {\n this._addDynamicProperty(t), this.elem.addDynamicProperty(t), this._isDirty = !0;\n }, e.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty, {\n getTransformProperty: function getTransformProperty(t, r, i) {\n return new e(t, r, i);\n }\n };\n }();\n\n function ShapePath() {\n this.c = !1, this._length = 0, this._maxLength = 8, this.v = createSizedArray(this._maxLength), this.o = createSizedArray(this._maxLength), this.i = createSizedArray(this._maxLength);\n }\n\n ShapePath.prototype.setPathData = function (t, e) {\n this.c = t, this.setLength(e);\n\n for (var r = 0; r < e;) {\n this.v[r] = pointPool.newElement(), this.o[r] = pointPool.newElement(), this.i[r] = pointPool.newElement(), r += 1;\n }\n }, ShapePath.prototype.setLength = function (t) {\n for (; this._maxLength < t;) {\n this.doubleArrayLength();\n }\n\n this._length = t;\n }, ShapePath.prototype.doubleArrayLength = function () {\n this.v = this.v.concat(createSizedArray(this._maxLength)), this.i = this.i.concat(createSizedArray(this._maxLength)), this.o = this.o.concat(createSizedArray(this._maxLength)), this._maxLength *= 2;\n }, ShapePath.prototype.setXYAt = function (t, e, r, i, a) {\n var s;\n\n switch (this._length = Math.max(this._length, i + 1), this._length >= this._maxLength && this.doubleArrayLength(), r) {\n case \"v\":\n s = this.v;\n break;\n\n case \"i\":\n s = this.i;\n break;\n\n case \"o\":\n s = this.o;\n break;\n\n default:\n s = [];\n }\n\n (!s[i] || s[i] && !a) && (s[i] = pointPool.newElement()), s[i][0] = t, s[i][1] = e;\n }, ShapePath.prototype.setTripleAt = function (t, e, r, i, a, s, n, o) {\n this.setXYAt(t, e, \"v\", n, o), this.setXYAt(r, i, \"o\", n, o), this.setXYAt(a, s, \"i\", n, o);\n }, ShapePath.prototype.reverse = function () {\n var t = new ShapePath();\n t.setPathData(this.c, this._length);\n var e = this.v,\n r = this.o,\n i = this.i,\n a = 0;\n this.c && (t.setTripleAt(e[0][0], e[0][1], i[0][0], i[0][1], r[0][0], r[0][1], 0, !1), a = 1);\n var s,\n n = this._length - 1,\n o = this._length;\n\n for (s = a; s < o; s += 1) {\n t.setTripleAt(e[n][0], e[n][1], i[n][0], i[n][1], r[n][0], r[n][1], s, !1), n -= 1;\n }\n\n return t;\n };\n\n var ShapePropertyFactory = function () {\n function t(t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c = r.lastIndex,\n m = this.keyframes;\n if (t < m[0].t - this.offsetTime) i = m[0].s[0], s = !0, c = 0;else if (t >= m[m.length - 1].t - this.offsetTime) i = m[m.length - 1].s ? m[m.length - 1].s[0] : m[m.length - 2].e[0], s = !0;else {\n for (var d, u, y = c, g = m.length - 1, v = !0; v && (d = m[y], !((u = m[y + 1]).t - this.offsetTime > t));) {\n y < g - 1 ? y += 1 : v = !1;\n }\n\n if (c = y, !(s = 1 === d.h)) {\n if (t >= u.t - this.offsetTime) p = 1;else if (t < d.t - this.offsetTime) p = 0;else {\n var b;\n d.__fnct ? b = d.__fnct : (b = BezierFactory.getBezierEasing(d.o.x, d.o.y, d.i.x, d.i.y).get, d.__fnct = b), p = b((t - (d.t - this.offsetTime)) / (u.t - this.offsetTime - (d.t - this.offsetTime)));\n }\n a = u.s ? u.s[0] : d.e[0];\n }\n\n i = d.s[0];\n }\n\n for (h = e._length, l = i.i[0].length, r.lastIndex = c, n = 0; n < h; n += 1) {\n for (o = 0; o < l; o += 1) {\n f = s ? i.i[n][o] : i.i[n][o] + (a.i[n][o] - i.i[n][o]) * p, e.i[n][o] = f, f = s ? i.o[n][o] : i.o[n][o] + (a.o[n][o] - i.o[n][o]) * p, e.o[n][o] = f, f = s ? i.v[n][o] : i.v[n][o] + (a.v[n][o] - i.v[n][o]) * p, e.v[n][o] = f;\n }\n }\n }\n\n function e() {\n var t = this.comp.renderedFrame - this.offsetTime,\n e = this.keyframes[0].t - this.offsetTime,\n r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime,\n i = this._caching.lastFrame;\n return -999999 !== i && (i < e && t < e || i > r && t > r) || (this._caching.lastIndex = i < t ? this._caching.lastIndex : 0, this.interpolateShape(t, this.pv, this._caching)), this._caching.lastFrame = t, this.pv;\n }\n\n function r() {\n this.paths = this.localShapeCollection;\n }\n\n function i(t) {\n (function (t, e) {\n if (t._length !== e._length || t.c !== e.c) return !1;\n var r,\n i = t._length;\n\n for (r = 0; r < i; r += 1) {\n if (t.v[r][0] !== e.v[r][0] || t.v[r][1] !== e.v[r][1] || t.o[r][0] !== e.o[r][0] || t.o[r][1] !== e.o[r][1] || t.i[r][0] !== e.i[r][0] || t.i[r][1] !== e.i[r][1]) return !1;\n }\n\n return !0;\n })(this.v, t) || (this.v = shapePool.clone(t), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection);\n }\n\n function a() {\n if (this.elem.globalData.frameId !== this.frameId) if (this.effectsSequence.length) {\n if (this.lock) this.setVValue(this.pv);else {\n var t, e;\n this.lock = !0, this._mdf = !1, t = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\n var r = this.effectsSequence.length;\n\n for (e = 0; e < r; e += 1) {\n t = this.effectsSequence[e](t);\n }\n\n this.setVValue(t), this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n } else this._mdf = !1;\n }\n\n function s(t, e, i) {\n this.propType = \"shape\", this.comp = t.comp, this.container = t, this.elem = t, this.data = e, this.k = !1, this.kf = !1, this._mdf = !1;\n var a = 3 === i ? e.pt.k : e.ks.k;\n this.v = shapePool.clone(a), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = r, this.effectsSequence = [];\n }\n\n function n(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n\n function o(t, i, a) {\n this.propType = \"shape\", this.comp = t.comp, this.elem = t, this.container = t, this.offsetTime = t.data.st, this.keyframes = 3 === a ? i.pt.k : i.ks.k, this.k = !0, this.kf = !0;\n var s = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, s), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = -999999, this.reset = r, this._caching = {\n lastFrame: -999999,\n lastIndex: 0\n }, this.effectsSequence = [e.bind(this)];\n }\n\n s.prototype.interpolateShape = t, s.prototype.getValue = a, s.prototype.setVValue = i, s.prototype.addEffect = n, o.prototype.getValue = a, o.prototype.interpolateShape = t, o.prototype.setVValue = i, o.prototype.addEffect = n;\n\n var h = function () {\n var t = roundCorner;\n\n function e(t, e) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = e.d, this.elem = t, this.comp = t.comp, this.frameId = -1, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath());\n }\n\n return e.prototype = {\n reset: r,\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath());\n },\n convertEllToPath: function convertEllToPath() {\n var e = this.p.v[0],\n r = this.p.v[1],\n i = this.s.v[0] / 2,\n a = this.s.v[1] / 2,\n s = 3 !== this.d,\n n = this.v;\n n.v[0][0] = e, n.v[0][1] = r - a, n.v[1][0] = s ? e + i : e - i, n.v[1][1] = r, n.v[2][0] = e, n.v[2][1] = r + a, n.v[3][0] = s ? e - i : e + i, n.v[3][1] = r, n.i[0][0] = s ? e - i * t : e + i * t, n.i[0][1] = r - a, n.i[1][0] = s ? e + i : e - i, n.i[1][1] = r - a * t, n.i[2][0] = s ? e + i * t : e - i * t, n.i[2][1] = r + a, n.i[3][0] = s ? e - i : e + i, n.i[3][1] = r + a * t, n.o[0][0] = s ? e + i * t : e - i * t, n.o[0][1] = r - a, n.o[1][0] = s ? e + i : e - i, n.o[1][1] = r + a * t, n.o[2][0] = s ? e - i * t : e + i * t, n.o[2][1] = r + a, n.o[3][0] = s ? e - i : e + i, n.o[3][1] = r - a * t;\n }\n }, extendPrototype([DynamicPropertyContainer], e), e;\n }(),\n l = function () {\n function t(t, e) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 0), this.elem = t, this.comp = t.comp, this.data = e, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), 1 === e.sy ? (this.ir = PropertyFactory.getProp(t, e.ir, 0, 0, this), this.is = PropertyFactory.getProp(t, e.is, 0, .01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = PropertyFactory.getProp(t, e.pt, 0, 0, this), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, degToRads, this), this.or = PropertyFactory.getProp(t, e.or, 0, 0, this), this.os = PropertyFactory.getProp(t, e.os, 0, .01, this), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath());\n }\n\n return t.prototype = {\n reset: r,\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath());\n },\n convertStarToPath: function convertStarToPath() {\n var t,\n e,\n r,\n i,\n a = 2 * Math.floor(this.pt.v),\n s = 2 * Math.PI / a,\n n = !0,\n o = this.or.v,\n h = this.ir.v,\n l = this.os.v,\n p = this.is.v,\n f = 2 * Math.PI * o / (2 * a),\n c = 2 * Math.PI * h / (2 * a),\n m = -Math.PI / 2;\n m += this.r.v;\n var d = 3 === this.data.d ? -1 : 1;\n\n for (this.v._length = 0, t = 0; t < a; t += 1) {\n r = n ? l : p, i = n ? f : c;\n var u = (e = n ? o : h) * Math.cos(m),\n y = e * Math.sin(m),\n g = 0 === u && 0 === y ? 0 : y / Math.sqrt(u * u + y * y),\n v = 0 === u && 0 === y ? 0 : -u / Math.sqrt(u * u + y * y);\n u += +this.p.v[0], y += +this.p.v[1], this.v.setTripleAt(u, y, u - g * i * r * d, y - v * i * r * d, u + g * i * r * d, y + v * i * r * d, t, !0), n = !n, m += s * d;\n }\n },\n convertPolygonToPath: function convertPolygonToPath() {\n var t,\n e = Math.floor(this.pt.v),\n r = 2 * Math.PI / e,\n i = this.or.v,\n a = this.os.v,\n s = 2 * Math.PI * i / (4 * e),\n n = .5 * -Math.PI,\n o = 3 === this.data.d ? -1 : 1;\n\n for (n += this.r.v, this.v._length = 0, t = 0; t < e; t += 1) {\n var h = i * Math.cos(n),\n l = i * Math.sin(n),\n p = 0 === h && 0 === l ? 0 : l / Math.sqrt(h * h + l * l),\n f = 0 === h && 0 === l ? 0 : -h / Math.sqrt(h * h + l * l);\n h += +this.p.v[0], l += +this.p.v[1], this.v.setTripleAt(h, l, h - p * s * a * o, l - f * s * a * o, h + p * s * a * o, l + f * s * a * o, t, !0), n += r * o;\n }\n\n this.paths.length = 0, this.paths[0] = this.v;\n }\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }(),\n p = function () {\n function t(t, e) {\n this.v = shapePool.newElement(), this.v.c = !0, this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = t, this.comp = t.comp, this.frameId = -1, this.d = e.d, this.initDynamicPropertyContainer(t), this.p = PropertyFactory.getProp(t, e.p, 1, 0, this), this.s = PropertyFactory.getProp(t, e.s, 1, 0, this), this.r = PropertyFactory.getProp(t, e.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath());\n }\n\n return t.prototype = {\n convertRectToPath: function convertRectToPath() {\n var t = this.p.v[0],\n e = this.p.v[1],\n r = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n a = bmMin(r, i, this.r.v),\n s = a * (1 - roundCorner);\n this.v._length = 0, 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + a, t + r, e - i + s, 0, !0), this.v.setTripleAt(t + r, e + i - a, t + r, e + i - s, t + r, e + i - a, 1, !0), 0 !== a ? (this.v.setTripleAt(t + r - a, e + i, t + r - a, e + i, t + r - s, e + i, 2, !0), this.v.setTripleAt(t - r + a, e + i, t - r + s, e + i, t - r + a, e + i, 3, !0), this.v.setTripleAt(t - r, e + i - a, t - r, e + i - a, t - r, e + i - s, 4, !0), this.v.setTripleAt(t - r, e - i + a, t - r, e - i + s, t - r, e - i + a, 5, !0), this.v.setTripleAt(t - r + a, e - i, t - r + a, e - i, t - r + s, e - i, 6, !0), this.v.setTripleAt(t + r - a, e - i, t + r - s, e - i, t + r - a, e - i, 7, !0)) : (this.v.setTripleAt(t - r, e + i, t - r + s, e + i, t - r, e + i, 2), this.v.setTripleAt(t - r, e - i, t - r, e - i + s, t - r, e - i, 3))) : (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + s, t + r, e - i + a, 0, !0), 0 !== a ? (this.v.setTripleAt(t + r - a, e - i, t + r - a, e - i, t + r - s, e - i, 1, !0), this.v.setTripleAt(t - r + a, e - i, t - r + s, e - i, t - r + a, e - i, 2, !0), this.v.setTripleAt(t - r, e - i + a, t - r, e - i + a, t - r, e - i + s, 3, !0), this.v.setTripleAt(t - r, e + i - a, t - r, e + i - s, t - r, e + i - a, 4, !0), this.v.setTripleAt(t - r + a, e + i, t - r + a, e + i, t - r + s, e + i, 5, !0), this.v.setTripleAt(t + r - a, e + i, t + r - s, e + i, t + r - a, e + i, 6, !0), this.v.setTripleAt(t + r, e + i - a, t + r, e + i - a, t + r, e + i - s, 7, !0)) : (this.v.setTripleAt(t - r, e - i, t - r + s, e - i, t - r, e - i, 1, !0), this.v.setTripleAt(t - r, e + i, t - r, e + i - s, t - r, e + i, 2, !0), this.v.setTripleAt(t + r, e + i, t + r - s, e + i, t + r, e + i, 3, !0)));\n },\n getValue: function getValue() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath());\n },\n reset: r\n }, extendPrototype([DynamicPropertyContainer], t), t;\n }();\n\n var f = {\n getShapeProp: function getShapeProp(t, e, r) {\n var i;\n return 3 === r || 4 === r ? i = (3 === r ? e.pt : e.ks).k.length ? new o(t, e, r) : new s(t, e, r) : 5 === r ? i = new p(t, e) : 6 === r ? i = new h(t, e) : 7 === r && (i = new l(t, e)), i.k && t.addDynamicProperty(i), i;\n },\n getConstructorFunction: function getConstructorFunction() {\n return s;\n },\n getKeyframedConstructorFunction: function getKeyframedConstructorFunction() {\n return o;\n }\n };\n return f;\n }(),\n ShapeModifiers = (ob = {}, modifiers = {}, ob.registerModifier = function (t, e) {\n modifiers[t] || (modifiers[t] = e);\n }, ob.getModifier = function (t, e, r) {\n return new modifiers[t](e, r);\n }, ob),\n ob,\n modifiers;\n\n function ShapeModifier() {}\n\n function TrimModifier() {}\n\n function RoundCornersModifier() {}\n\n function PuckerAndBloatModifier() {}\n\n function RepeaterModifier() {}\n\n function ShapeCollection() {\n this._length = 0, this._maxLength = 4, this.shapes = createSizedArray(this._maxLength);\n }\n\n function DashProperty(t, e, r, i) {\n var a;\n this.elem = t, this.frameId = -1, this.dataProps = createSizedArray(e.length), this.renderer = r, this.k = !1, this.dashStr = \"\", this.dashArray = createTypedArray(\"float32\", e.length ? e.length - 1 : 0), this.dashoffset = createTypedArray(\"float32\", 1), this.initDynamicPropertyContainer(i);\n var s,\n n = e.length || 0;\n\n for (a = 0; a < n; a += 1) {\n s = PropertyFactory.getProp(t, e[a].v, 0, 0, this), this.k = s.k || this.k, this.dataProps[a] = {\n n: e[a].n,\n p: s\n };\n }\n\n this.k || this.getValue(!0), this._isAnimated = this.k;\n }\n\n function GradientProperty(t, e, r) {\n this.data = e, this.c = createTypedArray(\"uint8c\", 4 * e.p);\n var i = e.k.k[0].s ? e.k.k[0].s.length - 4 * e.p : e.k.k.length - 4 * e.p;\n this.o = createTypedArray(\"float32\", i), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = i, this.initDynamicPropertyContainer(r), this.prop = PropertyFactory.getProp(t, e.k, 1, null, this), this.k = this.prop.k, this.getValue(!0);\n }\n\n ShapeModifier.prototype.initModifierProperties = function () {}, ShapeModifier.prototype.addShapeToModifier = function () {}, ShapeModifier.prototype.addShape = function (t) {\n if (!this.closed) {\n t.sh.container.addDynamicProperty(t.sh);\n var e = {\n shape: t.sh,\n data: t,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(e), this.addShapeToModifier(e), this._isAnimated && t.setAsAnimated();\n }\n }, ShapeModifier.prototype.init = function (t, e) {\n this.shapes = [], this.elem = t, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e), this.frameId = initialDefaultFrame, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, ShapeModifier.prototype.processKeys = function () {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties());\n }, extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), TrimModifier.prototype.initModifierProperties = function (t, e) {\n this.s = PropertyFactory.getProp(t, e.s, 0, .01, this), this.e = PropertyFactory.getProp(t, e.e, 0, .01, this), this.o = PropertyFactory.getProp(t, e.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = e.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n }, TrimModifier.prototype.addShapeToModifier = function (t) {\n t.pathsData = [];\n }, TrimModifier.prototype.calculateShapeEdges = function (t, e, r, i, a) {\n var s = [];\n e <= 1 ? s.push({\n s: t,\n e: e\n }) : t >= 1 ? s.push({\n s: t - 1,\n e: e - 1\n }) : (s.push({\n s: t,\n e: 1\n }), s.push({\n s: 0,\n e: e - 1\n }));\n var n,\n o,\n h = [],\n l = s.length;\n\n for (n = 0; n < l; n += 1) {\n var p, f;\n if (!((o = s[n]).e * a < i || o.s * a > i + r)) p = o.s * a <= i ? 0 : (o.s * a - i) / r, f = o.e * a >= i + r ? 1 : (o.e * a - i) / r, h.push([p, f]);\n }\n\n return h.length || h.push([0, 0]), h;\n }, TrimModifier.prototype.releasePathsData = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n segmentsLengthPool.release(t[e]);\n }\n\n return t.length = 0, t;\n }, TrimModifier.prototype.processShapes = function (t) {\n var e, r, i, a;\n\n if (this._mdf || t) {\n var s = this.o.v % 360 / 360;\n\n if (s < 0 && (s += 1), (e = this.s.v > 1 ? 1 + s : this.s.v < 0 ? 0 + s : this.s.v + s) > (r = this.e.v > 1 ? 1 + s : this.e.v < 0 ? 0 + s : this.e.v + s)) {\n var n = e;\n e = r, r = n;\n }\n\n e = 1e-4 * Math.round(1e4 * e), r = 1e-4 * Math.round(1e4 * r), this.sValue = e, this.eValue = r;\n } else e = this.sValue, r = this.eValue;\n\n var o,\n h,\n l,\n p,\n f,\n c = this.shapes.length,\n m = 0;\n if (r === e) for (a = 0; a < c; a += 1) {\n this.shapes[a].localShapeCollection.releaseShapes(), this.shapes[a].shape._mdf = !0, this.shapes[a].shape.paths = this.shapes[a].localShapeCollection, this._mdf && (this.shapes[a].pathsData.length = 0);\n } else if (1 === r && 0 === e || 0 === r && 1 === e) {\n if (this._mdf) for (a = 0; a < c; a += 1) {\n this.shapes[a].pathsData.length = 0, this.shapes[a].shape._mdf = !0;\n }\n } else {\n var d,\n u,\n y = [];\n\n for (a = 0; a < c; a += 1) {\n if ((d = this.shapes[a]).shape._mdf || this._mdf || t || 2 === this.m) {\n if (h = (i = d.shape.paths)._length, f = 0, !d.shape._mdf && d.pathsData.length) f = d.totalShapeLength;else {\n for (l = this.releasePathsData(d.pathsData), o = 0; o < h; o += 1) {\n p = bez.getSegmentsLength(i.shapes[o]), l.push(p), f += p.totalLength;\n }\n\n d.totalShapeLength = f, d.pathsData = l;\n }\n m += f, d.shape._mdf = !0;\n } else d.shape.paths = d.localShapeCollection;\n }\n\n var g,\n v = e,\n b = r,\n x = 0;\n\n for (a = c - 1; a >= 0; a -= 1) {\n if ((d = this.shapes[a]).shape._mdf) {\n for ((u = d.localShapeCollection).releaseShapes(), 2 === this.m && c > 1 ? (g = this.calculateShapeEdges(e, r, d.totalShapeLength, x, m), x += d.totalShapeLength) : g = [[v, b]], h = g.length, o = 0; o < h; o += 1) {\n v = g[o][0], b = g[o][1], y.length = 0, b <= 1 ? y.push({\n s: d.totalShapeLength * v,\n e: d.totalShapeLength * b\n }) : v >= 1 ? y.push({\n s: d.totalShapeLength * (v - 1),\n e: d.totalShapeLength * (b - 1)\n }) : (y.push({\n s: d.totalShapeLength * v,\n e: d.totalShapeLength\n }), y.push({\n s: 0,\n e: d.totalShapeLength * (b - 1)\n }));\n var E = this.addShapes(d, y[0]);\n\n if (y[0].s !== y[0].e) {\n if (y.length > 1) if (d.shape.paths.shapes[d.shape.paths._length - 1].c) {\n var P = E.pop();\n this.addPaths(E, u), E = this.addShapes(d, y[1], P);\n } else this.addPaths(E, u), E = this.addShapes(d, y[1]);\n this.addPaths(E, u);\n }\n }\n\n d.shape.paths = u;\n }\n }\n }\n }, TrimModifier.prototype.addPaths = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n e.addShape(t[r]);\n }\n }, TrimModifier.prototype.addSegment = function (t, e, r, i, a, s, n) {\n a.setXYAt(e[0], e[1], \"o\", s), a.setXYAt(r[0], r[1], \"i\", s + 1), n && a.setXYAt(t[0], t[1], \"v\", s), a.setXYAt(i[0], i[1], \"v\", s + 1);\n }, TrimModifier.prototype.addSegmentFromArray = function (t, e, r, i) {\n e.setXYAt(t[1], t[5], \"o\", r), e.setXYAt(t[2], t[6], \"i\", r + 1), i && e.setXYAt(t[0], t[4], \"v\", r), e.setXYAt(t[3], t[7], \"v\", r + 1);\n }, TrimModifier.prototype.addShapes = function (t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f = t.pathsData,\n c = t.shape.paths.shapes,\n m = t.shape.paths._length,\n d = 0,\n u = [],\n y = !0;\n\n for (r ? (o = r._length, p = r._length) : (r = shapePool.newElement(), o = 0, p = 0), u.push(r), i = 0; i < m; i += 1) {\n for (h = f[i].lengths, r.c = c[i].c, s = c[i].c ? h.length : h.length + 1, a = 1; a < s; a += 1) {\n if (d + (n = h[a - 1]).addedLength < e.s) d += n.addedLength, r.c = !1;else {\n if (d > e.e) {\n r.c = !1;\n break;\n }\n\n e.s <= d && e.e >= d + n.addedLength ? (this.addSegment(c[i].v[a - 1], c[i].o[a - 1], c[i].i[a], c[i].v[a], r, o, y), y = !1) : (l = bez.getNewSegment(c[i].v[a - 1], c[i].v[a], c[i].o[a - 1], c[i].i[a], (e.s - d) / n.addedLength, (e.e - d) / n.addedLength, h[a - 1]), this.addSegmentFromArray(l, r, o, y), y = !1, r.c = !1), d += n.addedLength, o += 1;\n }\n }\n\n if (c[i].c && h.length) {\n if (n = h[a - 1], d <= e.e) {\n var g = h[a - 1].addedLength;\n e.s <= d && e.e >= d + g ? (this.addSegment(c[i].v[a - 1], c[i].o[a - 1], c[i].i[0], c[i].v[0], r, o, y), y = !1) : (l = bez.getNewSegment(c[i].v[a - 1], c[i].v[0], c[i].o[a - 1], c[i].i[0], (e.s - d) / g, (e.e - d) / g, h[a - 1]), this.addSegmentFromArray(l, r, o, y), y = !1, r.c = !1);\n } else r.c = !1;\n\n d += n.addedLength, o += 1;\n }\n\n if (r._length && (r.setXYAt(r.v[p][0], r.v[p][1], \"i\", p), r.setXYAt(r.v[r._length - 1][0], r.v[r._length - 1][1], \"o\", r._length - 1)), d > e.e) break;\n i < m - 1 && (r = shapePool.newElement(), y = !0, u.push(r), o = 0);\n }\n\n return u;\n }, ShapeModifiers.registerModifier(\"tm\", TrimModifier), extendPrototype([ShapeModifier], RoundCornersModifier), RoundCornersModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.rd = PropertyFactory.getProp(t, e.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length;\n }, RoundCornersModifier.prototype.processPath = function (t, e) {\n var r,\n i = shapePool.newElement();\n i.c = t.c;\n var a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u,\n y = t._length,\n g = 0;\n\n for (r = 0; r < y; r += 1) {\n a = t.v[r], n = t.o[r], s = t.i[r], a[0] === n[0] && a[1] === n[1] && a[0] === s[0] && a[1] === s[1] ? 0 !== r && r !== y - 1 || t.c ? (o = 0 === r ? t.v[y - 1] : t.v[r - 1], l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = d = a[0] + (o[0] - a[0]) * l, f = u = a[1] - (a[1] - o[1]) * l, c = p - (p - a[0]) * roundCorner, m = f - (f - a[1]) * roundCorner, i.setTripleAt(p, f, c, m, d, u, g), g += 1, o = r === y - 1 ? t.v[0] : t.v[r + 1], l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0, p = c = a[0] + (o[0] - a[0]) * l, f = m = a[1] + (o[1] - a[1]) * l, d = p - (p - a[0]) * roundCorner, u = f - (f - a[1]) * roundCorner, i.setTripleAt(p, f, c, m, d, u, g), g += 1) : (i.setTripleAt(a[0], a[1], n[0], n[1], s[0], s[1], g), g += 1) : (i.setTripleAt(t.v[r][0], t.v[r][1], t.o[r][0], t.o[r][1], t.i[r][0], t.i[r][1], g), g += 1);\n }\n\n return i;\n }, RoundCornersModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n,\n o = this.shapes.length,\n h = this.rd.v;\n if (0 !== h) for (r = 0; r < o; r += 1) {\n if (n = (s = this.shapes[r]).localShapeCollection, s.shape._mdf || this._mdf || t) for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, a = s.shape.paths._length, i = 0; i < a; i += 1) {\n n.addShape(this.processPath(e[i], h));\n }\n s.shape.paths = s.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }, ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier), extendPrototype([ShapeModifier], PuckerAndBloatModifier), PuckerAndBloatModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t, e.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length;\n }, PuckerAndBloatModifier.prototype.processPath = function (t, e) {\n var r = e / 100,\n i = [0, 0],\n a = t._length,\n s = 0;\n\n for (s = 0; s < a; s += 1) {\n i[0] += t.v[s][0], i[1] += t.v[s][1];\n }\n\n i[0] /= a, i[1] /= a;\n var n,\n o,\n h,\n l,\n p,\n f,\n c = shapePool.newElement();\n\n for (c.c = t.c, s = 0; s < a; s += 1) {\n n = t.v[s][0] + (i[0] - t.v[s][0]) * r, o = t.v[s][1] + (i[1] - t.v[s][1]) * r, h = t.o[s][0] + (i[0] - t.o[s][0]) * -r, l = t.o[s][1] + (i[1] - t.o[s][1]) * -r, p = t.i[s][0] + (i[0] - t.i[s][0]) * -r, f = t.i[s][1] + (i[1] - t.i[s][1]) * -r, c.setTripleAt(n, o, h, l, p, f, s);\n }\n\n return c;\n }, PuckerAndBloatModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n,\n o = this.shapes.length,\n h = this.amount.v;\n if (0 !== h) for (r = 0; r < o; r += 1) {\n if (n = (s = this.shapes[r]).localShapeCollection, s.shape._mdf || this._mdf || t) for (n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, a = s.shape.paths._length, i = 0; i < a; i += 1) {\n n.addShape(this.processPath(e[i], h));\n }\n s.shape.paths = s.localShapeCollection;\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }, ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier), extendPrototype([ShapeModifier], RepeaterModifier), RepeaterModifier.prototype.initModifierProperties = function (t, e) {\n this.getValue = this.processKeys, this.c = PropertyFactory.getProp(t, e.c, 0, null, this), this.o = PropertyFactory.getProp(t, e.o, 0, null, this), this.tr = TransformPropertyFactory.getTransformProperty(t, e.tr, this), this.so = PropertyFactory.getProp(t, e.tr.so, 0, .01, this), this.eo = PropertyFactory.getProp(t, e.tr.eo, 0, .01, this), this.data = e, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Matrix(), this.rMatrix = new Matrix(), this.sMatrix = new Matrix(), this.tMatrix = new Matrix(), this.matrix = new Matrix();\n }, RepeaterModifier.prototype.applyTransforms = function (t, e, r, i, a, s) {\n var n = s ? -1 : 1,\n o = i.s.v[0] + (1 - i.s.v[0]) * (1 - a),\n h = i.s.v[1] + (1 - i.s.v[1]) * (1 - a);\n t.translate(i.p.v[0] * n * a, i.p.v[1] * n * a, i.p.v[2]), e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), e.rotate(-i.r.v * n * a), e.translate(i.a.v[0], i.a.v[1], i.a.v[2]), r.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), r.scale(s ? 1 / o : o, s ? 1 / h : h), r.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }, RepeaterModifier.prototype.init = function (t, e, r, i) {\n for (this.elem = t, this.arr = e, this.pos = r, this.elemsData = i, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[r]); r > 0;) {\n r -= 1, this._elements.unshift(e[r]);\n }\n\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, RepeaterModifier.prototype.resetElements = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e]._processed = !1, \"gr\" === t[e].ty && this.resetElements(t[e].it);\n }\n }, RepeaterModifier.prototype.cloneElements = function (t) {\n var e = JSON.parse(JSON.stringify(t));\n return this.resetElements(e), e;\n }, RepeaterModifier.prototype.changeGroupRender = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r]._render = e, \"gr\" === t[r].ty && this.changeGroupRender(t[r].it, e);\n }\n }, RepeaterModifier.prototype.processShapes = function (t) {\n var e,\n r,\n i,\n a,\n s,\n n = !1;\n\n if (this._mdf || t) {\n var o,\n h = Math.ceil(this.c.v);\n\n if (this._groups.length < h) {\n for (; this._groups.length < h;) {\n var l = {\n it: this.cloneElements(this._elements),\n ty: \"gr\"\n };\n l.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 }), this.arr.splice(0, 0, l), this._groups.splice(0, 0, l), this._currentCopies += 1;\n }\n\n this.elem.reloadShapes(), n = !0;\n }\n\n for (s = 0, i = 0; i <= this._groups.length - 1; i += 1) {\n if (o = s < h, this._groups[i]._render = o, this.changeGroupRender(this._groups[i].it, o), !o) {\n var p = this.elemsData[i].it,\n f = p[p.length - 1];\n 0 !== f.transform.op.v ? (f.transform.op._mdf = !0, f.transform.op.v = 0) : f.transform.op._mdf = !1;\n }\n\n s += 1;\n }\n\n this._currentCopies = h;\n var c = this.o.v,\n m = c % 1,\n d = c > 0 ? Math.floor(c) : Math.ceil(c),\n u = this.pMatrix.props,\n y = this.rMatrix.props,\n g = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n var v,\n b,\n x = 0;\n\n if (c > 0) {\n for (; x < d;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), x += 1;\n }\n\n m && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, m, !1), x += m);\n } else if (c < 0) {\n for (; x > d;) {\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), x -= 1;\n }\n\n m && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -m, !0), x -= m);\n }\n\n for (i = 1 === this.data.m ? 0 : this._currentCopies - 1, a = 1 === this.data.m ? 1 : -1, s = this._currentCopies; s;) {\n if (b = (r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props).length, e[e.length - 1].transform.mProps._mdf = !0, e[e.length - 1].transform.op._mdf = !0, e[e.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)), 0 !== x) {\n for ((0 !== i && 1 === a || i !== this._currentCopies - 1 && -1 === a) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]), this.matrix.transform(g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15]), this.matrix.transform(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]), v = 0; v < b; v += 1) {\n r[v] = this.matrix.props[v];\n }\n\n this.matrix.reset();\n } else for (this.matrix.reset(), v = 0; v < b; v += 1) {\n r[v] = this.matrix.props[v];\n }\n\n x += 1, s -= 1, i += a;\n }\n } else for (s = this._currentCopies, i = 0, a = 1; s;) {\n r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props, e[e.length - 1].transform.mProps._mdf = !1, e[e.length - 1].transform.op._mdf = !1, s -= 1, i += a;\n }\n\n return n;\n }, RepeaterModifier.prototype.addShape = function () {}, ShapeModifiers.registerModifier(\"rp\", RepeaterModifier), ShapeCollection.prototype.addShape = function (t) {\n this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = t, this._length += 1;\n }, ShapeCollection.prototype.releaseShapes = function () {\n var t;\n\n for (t = 0; t < this._length; t += 1) {\n shapePool.release(this.shapes[t]);\n }\n\n this._length = 0;\n }, DashProperty.prototype.getValue = function (t) {\n if ((this.elem.globalData.frameId !== this.frameId || t) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || t, this._mdf)) {\n var e = 0,\n r = this.dataProps.length;\n\n for (\"svg\" === this.renderer && (this.dashStr = \"\"), e = 0; e < r; e += 1) {\n \"o\" !== this.dataProps[e].n ? \"svg\" === this.renderer ? this.dashStr += \" \" + this.dataProps[e].p.v : this.dashArray[e] = this.dataProps[e].p.v : this.dashoffset[0] = this.dataProps[e].p.v;\n }\n }\n }, extendPrototype([DynamicPropertyContainer], DashProperty), GradientProperty.prototype.comparePoints = function (t, e) {\n for (var r = 0, i = this.o.length / 2; r < i;) {\n if (Math.abs(t[4 * r] - t[4 * e + 2 * r]) > .01) return !1;\n r += 1;\n }\n\n return !0;\n }, GradientProperty.prototype.checkCollapsable = function () {\n if (this.o.length / 2 != this.c.length / 4) return !1;\n if (this.data.k.k[0].s) for (var t = 0, e = this.data.k.k.length; t < e;) {\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p)) return !1;\n t += 1;\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;\n return !0;\n }, GradientProperty.prototype.getValue = function (t) {\n if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || t) {\n var e,\n r,\n i,\n a = 4 * this.data.p;\n\n for (e = 0; e < a; e += 1) {\n r = e % 4 == 0 ? 100 : 255, i = Math.round(this.prop.v[e] * r), this.c[e] !== i && (this.c[e] = i, this._cmdf = !t);\n }\n\n if (this.o.length) for (a = this.prop.v.length, e = 4 * this.data.p; e < a; e += 1) {\n r = e % 2 == 0 ? 100 : 1, i = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e], this.o[e - 4 * this.data.p] !== i && (this.o[e - 4 * this.data.p] = i, this._omdf = !t);\n }\n this._mdf = !t;\n }\n }, extendPrototype([DynamicPropertyContainer], GradientProperty);\n\n var buildShapeString = function buildShapeString(t, e, r, i) {\n if (0 === e) return \"\";\n var a,\n s = t.o,\n n = t.i,\n o = t.v,\n h = \" M\" + i.applyToPointStringified(o[0][0], o[0][1]);\n\n for (a = 1; a < e; a += 1) {\n h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[a][0], n[a][1]) + \" \" + i.applyToPointStringified(o[a][0], o[a][1]);\n }\n\n return r && e && (h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[0][0], n[0][1]) + \" \" + i.applyToPointStringified(o[0][0], o[0][1]), h += \"z\"), h;\n },\n audioControllerFactory = function () {\n function t(t) {\n this.audios = [], this.audioFactory = t, this._volume = 1, this._isMuted = !1;\n }\n\n return t.prototype = {\n addAudio: function addAudio(t) {\n this.audios.push(t);\n },\n pause: function pause() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].pause();\n }\n },\n resume: function resume() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].resume();\n }\n },\n setRate: function setRate(t) {\n var e,\n r = this.audios.length;\n\n for (e = 0; e < r; e += 1) {\n this.audios[e].setRate(t);\n }\n },\n createAudio: function createAudio(t) {\n return this.audioFactory ? this.audioFactory(t) : Howl ? new Howl({\n src: [t]\n }) : {\n isPlaying: !1,\n play: function play() {\n this.isPlaying = !0;\n },\n seek: function seek() {\n this.isPlaying = !1;\n },\n playing: function playing() {},\n rate: function rate() {},\n setVolume: function setVolume() {}\n };\n },\n setAudioFactory: function setAudioFactory(t) {\n this.audioFactory = t;\n },\n setVolume: function setVolume(t) {\n this._volume = t, this._updateVolume();\n },\n mute: function mute() {\n this._isMuted = !0, this._updateVolume();\n },\n unmute: function unmute() {\n this._isMuted = !1, this._updateVolume();\n },\n getVolume: function getVolume() {\n return this._volume;\n },\n _updateVolume: function _updateVolume() {\n var t,\n e = this.audios.length;\n\n for (t = 0; t < e; t += 1) {\n this.audios[t].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }\n }, function () {\n return new t();\n };\n }(),\n ImagePreloader = function () {\n var t = function () {\n var t = createTag(\"canvas\");\n t.width = 1, t.height = 1;\n var e = t.getContext(\"2d\");\n return e.fillStyle = \"rgba(0,0,0,0)\", e.fillRect(0, 0, 1, 1), t;\n }();\n\n function e() {\n this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function r() {\n this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n\n function i(t, e, r) {\n var i = \"\";\n if (t.e) i = t.p;else if (e) {\n var a = t.p;\n -1 !== a.indexOf(\"images/\") && (a = a.split(\"/\")[1]), i = e + a;\n } else i = r, i += t.u ? t.u : \"\", i += t.p;\n return i;\n }\n\n function a(t) {\n var e = 0,\n r = setInterval(function () {\n (t.getBBox().width || e > 500) && (this._imageLoaded(), clearInterval(r)), e += 1;\n }.bind(this), 50);\n }\n\n function s(t) {\n var e = {\n assetData: t\n },\n r = i(t, this.assetsPath, this.path);\n return assetLoader.load(r, function (t) {\n e.img = t, this._footageLoaded();\n }.bind(this), function () {\n e.img = {}, this._footageLoaded();\n }.bind(this)), e;\n }\n\n function n() {\n this._imageLoaded = e.bind(this), this._footageLoaded = r.bind(this), this.testImageLoaded = a.bind(this), this.createFootageData = s.bind(this), this.assetsPath = \"\", this.path = \"\", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = [];\n }\n\n return n.prototype = {\n loadAssets: function loadAssets(t, e) {\n var r;\n this.imagesLoadedCb = e;\n var i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r].layers || (t[r].t ? 3 === t[r].t && (this.totalFootages += 1, this.images.push(this.createFootageData(t[r]))) : (this.totalImages += 1, this.images.push(this._createImageData(t[r]))));\n }\n },\n setAssetsPath: function setAssetsPath(t) {\n this.assetsPath = t || \"\";\n },\n setPath: function setPath(t) {\n this.path = t || \"\";\n },\n loadedImages: function loadedImages() {\n return this.totalImages === this.loadedAssets;\n },\n loadedFootages: function loadedFootages() {\n return this.totalFootages === this.loadedFootagesCount;\n },\n destroy: function destroy() {\n this.imagesLoadedCb = null, this.images.length = 0;\n },\n getAsset: function getAsset(t) {\n for (var e = 0, r = this.images.length; e < r;) {\n if (this.images[e].assetData === t) return this.images[e].img;\n e += 1;\n }\n\n return null;\n },\n createImgData: function createImgData(e) {\n var r = i(e, this.assetsPath, this.path),\n a = createTag(\"img\");\n a.crossOrigin = \"anonymous\", a.addEventListener(\"load\", this._imageLoaded, !1), a.addEventListener(\"error\", function () {\n s.img = t, this._imageLoaded();\n }.bind(this), !1), a.src = r;\n var s = {\n img: a,\n assetData: e\n };\n return s;\n },\n createImageData: function createImageData(e) {\n var r = i(e, this.assetsPath, this.path),\n a = createNS(\"image\");\n isSafari ? this.testImageLoaded(a) : a.addEventListener(\"load\", this._imageLoaded, !1), a.addEventListener(\"error\", function () {\n s.img = t, this._imageLoaded();\n }.bind(this), !1), a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r), this._elementHelper.append ? this._elementHelper.append(a) : this._elementHelper.appendChild(a);\n var s = {\n img: a,\n assetData: e\n };\n return s;\n },\n imageLoaded: e,\n footageLoaded: r,\n setCacheType: function setCacheType(t, e) {\n \"svg\" === t ? (this._elementHelper = e, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this);\n }\n }, n;\n }(),\n featureSupport = function () {\n var t = {\n maskType: !0\n };\n return (/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)) && (t.maskType = !1), t;\n }(),\n filtersFactory = function () {\n var t = {};\n return t.createFilter = function (t, e) {\n var r = createNS(\"filter\");\n r.setAttribute(\"id\", t), !0 !== e && (r.setAttribute(\"filterUnits\", \"objectBoundingBox\"), r.setAttribute(\"x\", \"0%\"), r.setAttribute(\"y\", \"0%\"), r.setAttribute(\"width\", \"100%\"), r.setAttribute(\"height\", \"100%\"));\n return r;\n }, t.createAlphaToLuminanceFilter = function () {\n var t = createNS(\"feColorMatrix\");\n return t.setAttribute(\"type\", \"matrix\"), t.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.setAttribute(\"values\", \"0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1\"), t;\n }, t;\n }(),\n assetLoader = function () {\n function t(t) {\n return t.response && \"object\" == typeof t.response ? t.response : t.response && \"string\" == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : null;\n }\n\n return {\n load: function load(e, r, i) {\n var a,\n s = new XMLHttpRequest();\n\n try {\n s.responseType = \"json\";\n } catch (t) {}\n\n s.onreadystatechange = function () {\n if (4 === s.readyState) if (200 === s.status) a = t(s), r(a);else try {\n a = t(s), r(a);\n } catch (t) {\n i && i(t);\n }\n }, s.open(\"GET\", e, !0), s.send();\n }\n };\n }();\n\n function TextAnimatorProperty(t, e, r) {\n this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = t, this._renderType = e, this._elem = r, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = {\n alignment: {}\n }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(r);\n }\n\n function TextAnimatorDataProperty(t, e, r) {\n var i = {\n propType: !1\n },\n a = PropertyFactory.getProp,\n s = e.a;\n this.a = {\n r: s.r ? a(t, s.r, 0, degToRads, r) : i,\n rx: s.rx ? a(t, s.rx, 0, degToRads, r) : i,\n ry: s.ry ? a(t, s.ry, 0, degToRads, r) : i,\n sk: s.sk ? a(t, s.sk, 0, degToRads, r) : i,\n sa: s.sa ? a(t, s.sa, 0, degToRads, r) : i,\n s: s.s ? a(t, s.s, 1, .01, r) : i,\n a: s.a ? a(t, s.a, 1, 0, r) : i,\n o: s.o ? a(t, s.o, 0, .01, r) : i,\n p: s.p ? a(t, s.p, 1, 0, r) : i,\n sw: s.sw ? a(t, s.sw, 0, 0, r) : i,\n sc: s.sc ? a(t, s.sc, 1, 0, r) : i,\n fc: s.fc ? a(t, s.fc, 1, 0, r) : i,\n fh: s.fh ? a(t, s.fh, 0, 0, r) : i,\n fs: s.fs ? a(t, s.fs, 0, .01, r) : i,\n fb: s.fb ? a(t, s.fb, 0, .01, r) : i,\n t: s.t ? a(t, s.t, 0, 0, r) : i\n }, this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r), this.s.t = e.s.t;\n }\n\n function LetterProps(t, e, r, i, a, s) {\n this.o = t, this.sw = e, this.sc = r, this.fc = i, this.m = a, this.p = s, this._mdf = {\n o: !0,\n sw: !!e,\n sc: !!r,\n fc: !!i,\n m: !0,\n p: !0\n };\n }\n\n function TextProperty(t, e) {\n this._frameId = initialDefaultFrame, this.pv = \"\", this.v = \"\", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, this.data = e, this.elem = t, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = {\n ascent: 0,\n boxWidth: this.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: !1,\n strokeColorAnim: !1,\n strokeWidthAnim: !1,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: !1\n }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData);\n }\n\n TextAnimatorProperty.prototype.searchProperties = function () {\n var t,\n e,\n r = this._textData.a.length,\n i = PropertyFactory.getProp;\n\n for (t = 0; t < r; t += 1) {\n e = this._textData.a[t], this._animatorsData[t] = new TextAnimatorDataProperty(this._elem, e, this);\n }\n\n this._textData.p && \"m\" in this._textData.p ? (this._pathData = {\n f: i(this._elem, this._textData.p.f, 0, 0, this),\n l: i(this._elem, this._textData.p.l, 0, 0, this),\n r: this._textData.p.r,\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = i(this._elem, this._textData.m.a, 1, 0, this);\n }, TextAnimatorProperty.prototype.getMeasures = function (t, e) {\n if (this.lettersChangedFlag = e, this._mdf || this._isFirstFrame || e || this._hasMaskedPath && this._pathData.m._mdf) {\n this._isFirstFrame = !1;\n var r,\n i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u,\n y,\n g,\n v,\n b,\n x,\n E = this._moreOptions.alignment.v,\n P = this._animatorsData,\n S = this._textData,\n C = this.mHelper,\n _ = this._renderType,\n A = this.renderedLetters.length,\n k = t.l;\n\n if (this._hasMaskedPath) {\n if (x = this._pathData.m, !this._pathData.n || this._pathData._mdf) {\n var T,\n w = x.v;\n\n for (this._pathData.r && (w = w.reverse()), n = {\n tLength: 0,\n segments: []\n }, s = w._length - 1, g = 0, a = 0; a < s; a += 1) {\n T = bez.buildBezierData(w.v[a], w.v[a + 1], [w.o[a][0] - w.v[a][0], w.o[a][1] - w.v[a][1]], [w.i[a + 1][0] - w.v[a + 1][0], w.i[a + 1][1] - w.v[a + 1][1]]), n.tLength += T.segmentLength, n.segments.push(T), g += T.segmentLength;\n }\n\n a = s, x.v.c && (T = bez.buildBezierData(w.v[a], w.v[0], [w.o[a][0] - w.v[a][0], w.o[a][1] - w.v[a][1]], [w.i[0][0] - w.v[0][0], w.i[0][1] - w.v[0][1]]), n.tLength += T.segmentLength, n.segments.push(T), g += T.segmentLength), this._pathData.pi = n;\n }\n\n if (n = this._pathData.pi, o = this._pathData.f.v, c = 0, f = 1, l = 0, p = !0, u = n.segments, o < 0 && x.v.c) for (n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength), f = (d = u[c = u.length - 1].points).length - 1; o < 0;) {\n o += d[f].partialLength, (f -= 1) < 0 && (f = (d = u[c -= 1].points).length - 1);\n }\n m = (d = u[c].points)[f - 1], y = (h = d[f]).partialLength;\n }\n\n s = k.length, r = 0, i = 0;\n var D,\n M,\n F,\n I,\n R,\n V = 1.2 * t.finalSize * .714,\n B = !0;\n F = P.length;\n var L,\n z,\n G,\n N,\n O,\n H,\n j,\n q,\n W,\n Y,\n X,\n K,\n $ = -1,\n U = o,\n J = c,\n Z = f,\n Q = -1,\n tt = \"\",\n et = this.defaultPropsArray;\n\n if (2 === t.j || 1 === t.j) {\n var rt = 0,\n it = 0,\n at = 2 === t.j ? -.5 : -1,\n st = 0,\n nt = !0;\n\n for (a = 0; a < s; a += 1) {\n if (k[a].n) {\n for (rt && (rt += it); st < a;) {\n k[st].animatorJustifyOffset = rt, st += 1;\n }\n\n rt = 0, nt = !0;\n } else {\n for (M = 0; M < F; M += 1) {\n (D = P[M].a).t.propType && (nt && 2 === t.j && (it += D.t.v * at), (R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? rt += D.t.v * R[0] * at : rt += D.t.v * R * at);\n }\n\n nt = !1;\n }\n }\n\n for (rt && (rt += it); st < a;) {\n k[st].animatorJustifyOffset = rt, st += 1;\n }\n }\n\n for (a = 0; a < s; a += 1) {\n if (C.reset(), N = 1, k[a].n) r = 0, i += t.yOffset, i += B ? 1 : 0, o = U, B = !1, this._hasMaskedPath && (f = Z, m = (d = u[c = J].points)[f - 1], y = (h = d[f]).partialLength, l = 0), tt = \"\", X = \"\", W = \"\", K = \"\", et = this.defaultPropsArray;else {\n if (this._hasMaskedPath) {\n if (Q !== k[a].line) {\n switch (t.j) {\n case 1:\n o += g - t.lineWidths[k[a].line];\n break;\n\n case 2:\n o += (g - t.lineWidths[k[a].line]) / 2;\n }\n\n Q = k[a].line;\n }\n\n $ !== k[a].ind && (k[$] && (o += k[$].extra), o += k[a].an / 2, $ = k[a].ind), o += E[0] * k[a].an * .005;\n var ot = 0;\n\n for (M = 0; M < F; M += 1) {\n (D = P[M].a).p.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? ot += D.p.v[0] * R[0] : ot += D.p.v[0] * R), D.a.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? ot += D.a.v[0] * R[0] : ot += D.a.v[0] * R);\n }\n\n for (p = !0; p;) {\n l + y >= o + ot || !d ? (v = (o + ot - l) / h.partialLength, z = m.point[0] + (h.point[0] - m.point[0]) * v, G = m.point[1] + (h.point[1] - m.point[1]) * v, C.translate(-E[0] * k[a].an * .005, -E[1] * V * .01), p = !1) : d && (l += h.partialLength, (f += 1) >= d.length && (f = 0, u[c += 1] ? d = u[c].points : x.v.c ? (f = 0, d = u[c = 0].points) : (l -= h.partialLength, d = null)), d && (m = h, y = (h = d[f]).partialLength));\n }\n\n L = k[a].an / 2 - k[a].add, C.translate(-L, 0, 0);\n } else L = k[a].an / 2 - k[a].add, C.translate(-L, 0, 0), C.translate(-E[0] * k[a].an * .005, -E[1] * V * .01, 0);\n\n for (M = 0; M < F; M += 1) {\n (D = P[M].a).t.propType && (R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars), 0 === r && 0 === t.j || (this._hasMaskedPath ? R.length ? o += D.t.v * R[0] : o += D.t.v * R : R.length ? r += D.t.v * R[0] : r += D.t.v * R));\n }\n\n for (t.strokeWidthAnim && (H = t.sw || 0), t.strokeColorAnim && (O = t.sc ? [t.sc[0], t.sc[1], t.sc[2]] : [0, 0, 0]), t.fillColorAnim && t.fc && (j = [t.fc[0], t.fc[1], t.fc[2]]), M = 0; M < F; M += 1) {\n (D = P[M].a).a.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? C.translate(-D.a.v[0] * R[0], -D.a.v[1] * R[1], D.a.v[2] * R[2]) : C.translate(-D.a.v[0] * R, -D.a.v[1] * R, D.a.v[2] * R));\n }\n\n for (M = 0; M < F; M += 1) {\n (D = P[M].a).s.propType && ((R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars)).length ? C.scale(1 + (D.s.v[0] - 1) * R[0], 1 + (D.s.v[1] - 1) * R[1], 1) : C.scale(1 + (D.s.v[0] - 1) * R, 1 + (D.s.v[1] - 1) * R, 1));\n }\n\n for (M = 0; M < F; M += 1) {\n if (D = P[M].a, R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars), D.sk.propType && (R.length ? C.skewFromAxis(-D.sk.v * R[0], D.sa.v * R[1]) : C.skewFromAxis(-D.sk.v * R, D.sa.v * R)), D.r.propType && (R.length ? C.rotateZ(-D.r.v * R[2]) : C.rotateZ(-D.r.v * R)), D.ry.propType && (R.length ? C.rotateY(D.ry.v * R[1]) : C.rotateY(D.ry.v * R)), D.rx.propType && (R.length ? C.rotateX(D.rx.v * R[0]) : C.rotateX(D.rx.v * R)), D.o.propType && (R.length ? N += (D.o.v * R[0] - N) * R[0] : N += (D.o.v * R - N) * R), t.strokeWidthAnim && D.sw.propType && (R.length ? H += D.sw.v * R[0] : H += D.sw.v * R), t.strokeColorAnim && D.sc.propType) for (q = 0; q < 3; q += 1) {\n R.length ? O[q] += (D.sc.v[q] - O[q]) * R[0] : O[q] += (D.sc.v[q] - O[q]) * R;\n }\n\n if (t.fillColorAnim && t.fc) {\n if (D.fc.propType) for (q = 0; q < 3; q += 1) {\n R.length ? j[q] += (D.fc.v[q] - j[q]) * R[0] : j[q] += (D.fc.v[q] - j[q]) * R;\n }\n D.fh.propType && (j = R.length ? addHueToRGB(j, D.fh.v * R[0]) : addHueToRGB(j, D.fh.v * R)), D.fs.propType && (j = R.length ? addSaturationToRGB(j, D.fs.v * R[0]) : addSaturationToRGB(j, D.fs.v * R)), D.fb.propType && (j = R.length ? addBrightnessToRGB(j, D.fb.v * R[0]) : addBrightnessToRGB(j, D.fb.v * R));\n }\n }\n\n for (M = 0; M < F; M += 1) {\n (D = P[M].a).p.propType && (R = P[M].s.getMult(k[a].anIndexes[M], S.a[M].s.totalChars), this._hasMaskedPath ? R.length ? C.translate(0, D.p.v[1] * R[0], -D.p.v[2] * R[1]) : C.translate(0, D.p.v[1] * R, -D.p.v[2] * R) : R.length ? C.translate(D.p.v[0] * R[0], D.p.v[1] * R[1], -D.p.v[2] * R[2]) : C.translate(D.p.v[0] * R, D.p.v[1] * R, -D.p.v[2] * R));\n }\n\n if (t.strokeWidthAnim && (W = H < 0 ? 0 : H), t.strokeColorAnim && (Y = \"rgb(\" + Math.round(255 * O[0]) + \",\" + Math.round(255 * O[1]) + \",\" + Math.round(255 * O[2]) + \")\"), t.fillColorAnim && t.fc && (X = \"rgb(\" + Math.round(255 * j[0]) + \",\" + Math.round(255 * j[1]) + \",\" + Math.round(255 * j[2]) + \")\"), this._hasMaskedPath) {\n if (C.translate(0, -t.ls), C.translate(0, E[1] * V * .01 + i, 0), S.p.p) {\n b = (h.point[1] - m.point[1]) / (h.point[0] - m.point[0]);\n var ht = 180 * Math.atan(b) / Math.PI;\n h.point[0] < m.point[0] && (ht += 180), C.rotate(-ht * Math.PI / 180);\n }\n\n C.translate(z, G, 0), o -= E[0] * k[a].an * .005, k[a + 1] && $ !== k[a + 1].ind && (o += k[a].an / 2, o += .001 * t.tr * t.finalSize);\n } else {\n switch (C.translate(r, i, 0), t.ps && C.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) {\n case 1:\n C.translate(k[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[k[a].line]), 0, 0);\n break;\n\n case 2:\n C.translate(k[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[k[a].line]) / 2, 0, 0);\n }\n\n C.translate(0, -t.ls), C.translate(L, 0, 0), C.translate(E[0] * k[a].an * .005, E[1] * V * .01, 0), r += k[a].l + .001 * t.tr * t.finalSize;\n }\n\n \"html\" === _ ? tt = C.toCSS() : \"svg\" === _ ? tt = C.to2dCSS() : et = [C.props[0], C.props[1], C.props[2], C.props[3], C.props[4], C.props[5], C.props[6], C.props[7], C.props[8], C.props[9], C.props[10], C.props[11], C.props[12], C.props[13], C.props[14], C.props[15]], K = N;\n }\n A <= a ? (I = new LetterProps(K, W, Y, X, tt, et), this.renderedLetters.push(I), A += 1, this.lettersChangedFlag = !0) : (I = this.renderedLetters[a], this.lettersChangedFlag = I.update(K, W, Y, X, tt, et) || this.lettersChangedFlag);\n }\n }\n }, TextAnimatorProperty.prototype.getValue = function () {\n this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties());\n }, TextAnimatorProperty.prototype.mHelper = new Matrix(), TextAnimatorProperty.prototype.defaultPropsArray = [], extendPrototype([DynamicPropertyContainer], TextAnimatorProperty), LetterProps.prototype.update = function (t, e, r, i, a, s) {\n this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;\n var n = !1;\n return this.o !== t && (this.o = t, this._mdf.o = !0, n = !0), this.sw !== e && (this.sw = e, this._mdf.sw = !0, n = !0), this.sc !== r && (this.sc = r, this._mdf.sc = !0, n = !0), this.fc !== i && (this.fc = i, this._mdf.fc = !0, n = !0), this.m !== a && (this.m = a, this._mdf.m = !0, n = !0), !s.length || this.p[0] === s[0] && this.p[1] === s[1] && this.p[4] === s[4] && this.p[5] === s[5] && this.p[12] === s[12] && this.p[13] === s[13] || (this.p = s, this._mdf.p = !0, n = !0), n;\n }, TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function (t, e) {\n for (var r in e) {\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n }\n\n return t;\n }, TextProperty.prototype.setCurrentData = function (t) {\n t.__complete || this.completeTextData(t), this.currentData = t, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0;\n }, TextProperty.prototype.searchProperty = function () {\n return this.searchKeyframes();\n }, TextProperty.prototype.searchKeyframes = function () {\n return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf;\n }, TextProperty.prototype.addEffect = function (t) {\n this.effectsSequence.push(t), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.getValue = function (t) {\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || t) {\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var e = this.currentData,\n r = this.keysIndex;\n if (this.lock) this.setCurrentData(this.currentData);else {\n var i;\n this.lock = !0, this._mdf = !1;\n var a = this.effectsSequence.length,\n s = t || this.data.d.k[this.keysIndex].s;\n\n for (i = 0; i < a; i += 1) {\n s = r !== this.keysIndex ? this.effectsSequence[i](s, s.t) : this.effectsSequence[i](this.currentData, s.t);\n }\n\n e !== s && this.setCurrentData(s), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n }, TextProperty.prototype.getKeyframeValue = function () {\n for (var t = this.data.d.k, e = this.elem.comp.renderedFrame, r = 0, i = t.length; r <= i - 1 && !(r === i - 1 || t[r + 1].t > e);) {\n r += 1;\n }\n\n return this.keysIndex !== r && (this.keysIndex = r), this.data.d.k[this.keysIndex].s;\n }, TextProperty.prototype.buildFinalText = function (t) {\n for (var e, r = FontManager.getCombinedCharacterCodes(), i = [], a = 0, s = t.length; a < s;) {\n e = t.charCodeAt(a), -1 !== r.indexOf(e) ? i[i.length - 1] += t.charAt(a) : e >= 55296 && e <= 56319 && (e = t.charCodeAt(a + 1)) >= 56320 && e <= 57343 ? (i.push(t.substr(a, 2)), a += 1) : i.push(t.charAt(a)), a += 1;\n }\n\n return i;\n }, TextProperty.prototype.completeTextData = function (t) {\n t.__complete = !0;\n var e,\n r,\n i,\n a,\n s,\n n,\n o,\n h = this.elem.globalData.fontManager,\n l = this.data,\n p = [],\n f = 0,\n c = l.m.g,\n m = 0,\n d = 0,\n u = 0,\n y = [],\n g = 0,\n v = 0,\n b = h.getFontByName(t.f),\n x = 0,\n E = getFontProperties(b);\n t.fWeight = E.weight, t.fStyle = E.style, t.finalSize = t.s, t.finalText = this.buildFinalText(t.t), r = t.finalText.length, t.finalLineHeight = t.lh;\n var P,\n S = t.tr / 1e3 * t.finalSize;\n if (t.sz) for (var C, _, A = !0, k = t.sz[0], T = t.sz[1]; A;) {\n C = 0, g = 0, r = (_ = this.buildFinalText(t.t)).length, S = t.tr / 1e3 * t.finalSize;\n var w = -1;\n\n for (e = 0; e < r; e += 1) {\n P = _[e].charCodeAt(0), i = !1, \" \" === _[e] ? w = e : 13 !== P && 3 !== P || (g = 0, i = !0, C += t.finalLineHeight || 1.2 * t.finalSize), h.chars ? (o = h.getCharData(_[e], b.fStyle, b.fFamily), x = i ? 0 : o.w * t.finalSize / 100) : x = h.measureText(_[e], t.f, t.finalSize), g + x > k && \" \" !== _[e] ? (-1 === w ? r += 1 : e = w, C += t.finalLineHeight || 1.2 * t.finalSize, _.splice(e, w === e ? 1 : 0, \"\\r\"), w = -1, g = 0) : (g += x, g += S);\n }\n\n C += b.ascent * t.finalSize / 100, this.canResize && t.finalSize > this.minimumFontSize && T < C ? (t.finalSize -= 1, t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = _, r = t.finalText.length, A = !1);\n }\n g = -S, x = 0;\n var D,\n M = 0;\n\n for (e = 0; e < r; e += 1) {\n if (i = !1, 13 === (P = (D = t.finalText[e]).charCodeAt(0)) || 3 === P ? (M = 0, y.push(g), v = g > v ? g : v, g = -2 * S, a = \"\", i = !0, u += 1) : a = D, h.chars ? (o = h.getCharData(D, b.fStyle, h.getFontByName(t.f).fFamily), x = i ? 0 : o.w * t.finalSize / 100) : x = h.measureText(a, t.f, t.finalSize), \" \" === D ? M += x + S : (g += x + S + M, M = 0), p.push({\n l: x,\n an: x,\n add: m,\n n: i,\n anIndexes: [],\n val: a,\n line: u,\n animatorJustifyOffset: 0\n }), 2 == c) {\n if (m += x, \"\" === a || \" \" === a || e === r - 1) {\n for (\"\" !== a && \" \" !== a || (m -= x); d <= e;) {\n p[d].an = m, p[d].ind = f, p[d].extra = x, d += 1;\n }\n\n f += 1, m = 0;\n }\n } else if (3 == c) {\n if (m += x, \"\" === a || e === r - 1) {\n for (\"\" === a && (m -= x); d <= e;) {\n p[d].an = m, p[d].ind = f, p[d].extra = x, d += 1;\n }\n\n m = 0, f += 1;\n }\n } else p[f].ind = f, p[f].extra = 0, f += 1;\n }\n\n if (t.l = p, v = g > v ? g : v, y.push(g), t.sz) t.boxWidth = t.sz[0], t.justifyOffset = 0;else switch (t.boxWidth = v, t.j) {\n case 1:\n t.justifyOffset = -t.boxWidth;\n break;\n\n case 2:\n t.justifyOffset = -t.boxWidth / 2;\n break;\n\n default:\n t.justifyOffset = 0;\n }\n t.lineWidths = y;\n var F,\n I,\n R,\n V,\n B = l.a;\n n = B.length;\n var L = [];\n\n for (s = 0; s < n; s += 1) {\n for ((F = B[s]).a.sc && (t.strokeColorAnim = !0), F.a.sw && (t.strokeWidthAnim = !0), (F.a.fc || F.a.fh || F.a.fs || F.a.fb) && (t.fillColorAnim = !0), V = 0, R = F.s.b, e = 0; e < r; e += 1) {\n (I = p[e]).anIndexes[s] = V, (1 == R && \"\" !== I.val || 2 == R && \"\" !== I.val && \" \" !== I.val || 3 == R && (I.n || \" \" == I.val || e == r - 1) || 4 == R && (I.n || e == r - 1)) && (1 === F.s.rn && L.push(V), V += 1);\n }\n\n l.a[s].s.totalChars = V;\n var z,\n G = -1;\n if (1 === F.s.rn) for (e = 0; e < r; e += 1) {\n G != (I = p[e]).anIndexes[s] && (G = I.anIndexes[s], z = L.splice(Math.floor(Math.random() * L.length), 1)[0]), I.anIndexes[s] = z;\n }\n }\n\n t.yOffset = t.finalLineHeight || 1.2 * t.finalSize, t.ls = t.ls || 0, t.ascent = b.ascent * t.finalSize / 100;\n }, TextProperty.prototype.updateDocumentData = function (t, e) {\n e = void 0 === e ? this.keysIndex : e;\n var r = this.copyData({}, this.data.d.k[e].s);\n r = this.copyData(r, t), this.data.d.k[e].s = r, this.recalculate(e), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.recalculate = function (t) {\n var e = this.data.d.k[t].s;\n e.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(e);\n }, TextProperty.prototype.canResizeFont = function (t) {\n this.canResize = t, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.setMinimumFontSize = function (t) {\n this.minimumFontSize = Math.floor(t) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n };\n\n var TextSelectorProp = function () {\n var t = Math.max,\n e = Math.min,\n r = Math.floor;\n\n function i(t, e) {\n this._currentTextLength = -1, this.k = !1, this.data = e, this.elem = t, this.comp = t.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(t), this.s = PropertyFactory.getProp(t, e.s || {\n k: 0\n }, 0, 0, this), this.e = \"e\" in e ? PropertyFactory.getProp(t, e.e, 0, 0, this) : {\n v: 100\n }, this.o = PropertyFactory.getProp(t, e.o || {\n k: 0\n }, 0, 0, this), this.xe = PropertyFactory.getProp(t, e.xe || {\n k: 0\n }, 0, 0, this), this.ne = PropertyFactory.getProp(t, e.ne || {\n k: 0\n }, 0, 0, this), this.a = PropertyFactory.getProp(t, e.a, 0, .01, this), this.dynamicProperties.length || this.getValue();\n }\n\n return i.prototype = {\n getMult: function getMult(i) {\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\n var a = 0,\n s = 0,\n n = 1,\n o = 1;\n this.ne.v > 0 ? a = this.ne.v / 100 : s = -this.ne.v / 100, this.xe.v > 0 ? n = 1 - this.xe.v / 100 : o = 1 + this.xe.v / 100;\n var h = BezierFactory.getBezierEasing(a, s, n, o).get,\n l = 0,\n p = this.finalS,\n f = this.finalE,\n c = this.data.sh;\n if (2 === c) l = h(l = f === p ? i >= f ? 1 : 0 : t(0, e(.5 / (f - p) + (i - p) / (f - p), 1)));else if (3 === c) l = h(l = f === p ? i >= f ? 0 : 1 : 1 - t(0, e(.5 / (f - p) + (i - p) / (f - p), 1)));else if (4 === c) f === p ? l = 0 : (l = t(0, e(.5 / (f - p) + (i - p) / (f - p), 1))) < .5 ? l *= 2 : l = 1 - 2 * (l - .5), l = h(l);else if (5 === c) {\n if (f === p) l = 0;else {\n var m = f - p,\n d = -m / 2 + (i = e(t(0, i + .5 - p), f - p)),\n u = m / 2;\n l = Math.sqrt(1 - d * d / (u * u));\n }\n l = h(l);\n } else 6 === c ? (f === p ? l = 0 : (i = e(t(0, i + .5 - p), f - p), l = (1 + Math.cos(Math.PI + 2 * Math.PI * i / (f - p))) / 2), l = h(l)) : (i >= r(p) && (l = t(0, e(i - p < 0 ? e(f, 1) - (p - i) : f - i, 1))), l = h(l));\n return l * this.a.v;\n },\n getValue: function getValue(t) {\n this.iterateDynamicProperties(), this._mdf = t || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, t && 2 === this.data.r && (this.e.v = this._currentTextLength);\n var e = 2 === this.data.r ? 1 : 100 / this.data.totalChars,\n r = this.o.v / e,\n i = this.s.v / e + r,\n a = this.e.v / e + r;\n\n if (i > a) {\n var s = i;\n i = a, a = s;\n }\n\n this.finalS = i, this.finalE = a;\n }\n }, extendPrototype([DynamicPropertyContainer], i), {\n getTextSelectorProp: function getTextSelectorProp(t, e, r) {\n return new i(t, e, r);\n }\n };\n }(),\n poolFactory = function poolFactory(t, e, r) {\n var i = 0,\n a = t,\n s = createSizedArray(a);\n return {\n newElement: function newElement() {\n return i ? s[i -= 1] : e();\n },\n release: function release(t) {\n i === a && (s = pooling.double(s), a *= 2), r && r(t), s[i] = t, i += 1;\n }\n };\n },\n pooling = {\n double: function double(t) {\n return t.concat(createSizedArray(t.length));\n }\n },\n pointPool = poolFactory(8, function () {\n return createTypedArray(\"float32\", 2);\n }),\n shapePool = (factory = poolFactory(4, function () {\n return new ShapePath();\n }, function (t) {\n var e,\n r = t._length;\n\n for (e = 0; e < r; e += 1) {\n pointPool.release(t.v[e]), pointPool.release(t.i[e]), pointPool.release(t.o[e]), t.v[e] = null, t.i[e] = null, t.o[e] = null;\n }\n\n t._length = 0, t.c = !1;\n }), factory.clone = function (t) {\n var e,\n r = factory.newElement(),\n i = void 0 === t._length ? t.v.length : t._length;\n\n for (r.setLength(i), r.c = t.c, e = 0; e < i; e += 1) {\n r.setTripleAt(t.v[e][0], t.v[e][1], t.o[e][0], t.o[e][1], t.i[e][0], t.i[e][1], e);\n }\n\n return r;\n }, factory),\n factory,\n shapeCollectionPool = function () {\n var t = {\n newShapeCollection: function newShapeCollection() {\n var t;\n t = e ? i[e -= 1] : new ShapeCollection();\n return t;\n },\n release: function release(t) {\n var a,\n s = t._length;\n\n for (a = 0; a < s; a += 1) {\n shapePool.release(t.shapes[a]);\n }\n\n t._length = 0, e === r && (i = pooling.double(i), r *= 2);\n i[e] = t, e += 1;\n }\n },\n e = 0,\n r = 4,\n i = createSizedArray(r);\n return t;\n }(),\n segmentsLengthPool = poolFactory(8, function () {\n return {\n lengths: [],\n totalLength: 0\n };\n }, function (t) {\n var e,\n r = t.lengths.length;\n\n for (e = 0; e < r; e += 1) {\n bezierLengthPool.release(t.lengths[e]);\n }\n\n t.lengths.length = 0;\n }),\n bezierLengthPool = poolFactory(8, function () {\n return {\n addedLength: 0,\n percents: createTypedArray(\"float32\", defaultCurveSegments),\n lengths: createTypedArray(\"float32\", defaultCurveSegments)\n };\n }),\n markerParser = function () {\n function t(t) {\n for (var e, r = t.split(\"\\r\\n\"), i = {}, a = 0, s = 0; s < r.length; s += 1) {\n 2 === (e = r[s].split(\":\")).length && (i[e[0]] = e[1].trim(), a += 1);\n }\n\n if (0 === a) throw new Error();\n return i;\n }\n\n return function (e) {\n for (var r = [], i = 0; i < e.length; i += 1) {\n var a = e[i],\n s = {\n time: a.tm,\n duration: a.dr\n };\n\n try {\n s.payload = JSON.parse(e[i].cm);\n } catch (r) {\n try {\n s.payload = t(e[i].cm);\n } catch (t) {\n s.payload = {\n name: e[i]\n };\n }\n }\n\n r.push(s);\n }\n\n return r;\n };\n }();\n\n function BaseRenderer() {}\n\n function SVGRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.svgElement = createNS(\"svg\");\n var r = \"\";\n\n if (e && e.title) {\n var i = createNS(\"title\"),\n a = createElementID();\n i.setAttribute(\"id\", a), i.textContent = e.title, this.svgElement.appendChild(i), r += a;\n }\n\n if (e && e.description) {\n var s = createNS(\"desc\"),\n n = createElementID();\n s.setAttribute(\"id\", n), s.textContent = e.description, this.svgElement.appendChild(s), r += \" \" + n;\n }\n\n r && this.svgElement.setAttribute(\"aria-labelledby\", r);\n var o = createNS(\"defs\");\n this.svgElement.appendChild(o);\n var h = createNS(\"g\");\n this.svgElement.appendChild(h), this.layerElement = h, this.renderConfig = {\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n progressiveLoad: e && e.progressiveLoad || !1,\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n viewBoxOnly: e && e.viewBoxOnly || !1,\n viewBoxSize: e && e.viewBoxSize || !1,\n className: e && e.className || \"\",\n id: e && e.id || \"\",\n focusable: e && e.focusable,\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"100%\",\n height: e && e.filterSize && e.filterSize.height || \"100%\",\n x: e && e.filterSize && e.filterSize.x || \"0%\",\n y: e && e.filterSize && e.filterSize.y || \"0%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n defs: o,\n renderConfig: this.renderConfig\n }, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = \"svg\";\n }\n\n function CanvasRenderer(t, e) {\n this.animationItem = t, this.renderConfig = {\n clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas,\n context: e && e.context || null,\n progressiveLoad: e && e.progressiveLoad || !1,\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n className: e && e.className || \"\",\n id: e && e.id || \"\"\n }, this.renderConfig.dpr = e && e.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = {\n frameNum: -1,\n _mdf: !1,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n }, this.contextData = new CVContextData(), this.elements = [], this.pendingElements = [], this.transformMat = new Matrix(), this.completeLayers = !1, this.rendererType = \"canvas\";\n }\n\n function HybridRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {\n className: e && e.className || \"\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"400%\",\n height: e && e.filterSize && e.filterSize.height || \"400%\",\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n renderConfig: this.renderConfig\n }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = \"html\";\n }\n\n function MaskElement(t, e, r) {\n this.data = t, this.element = e, this.globalData = r, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;\n var i,\n a,\n s = this.globalData.defs,\n n = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(n), this.solidPath = \"\";\n var o,\n h,\n l,\n p,\n f,\n c,\n m = this.masksProperties,\n d = 0,\n u = [],\n y = createElementID(),\n g = \"clipPath\",\n v = \"clip-path\";\n\n for (i = 0; i < n; i += 1) {\n if ((\"a\" !== m[i].mode && \"n\" !== m[i].mode || m[i].inv || 100 !== m[i].o.k || m[i].o.x) && (g = \"mask\", v = \"mask\"), \"s\" !== m[i].mode && \"i\" !== m[i].mode || 0 !== d ? l = null : ((l = createNS(\"rect\")).setAttribute(\"fill\", \"#ffffff\"), l.setAttribute(\"width\", this.element.comp.data.w || 0), l.setAttribute(\"height\", this.element.comp.data.h || 0), u.push(l)), a = createNS(\"path\"), \"n\" === m[i].mode) this.viewData[i] = {\n op: PropertyFactory.getProp(this.element, m[i].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, m[i], 3),\n elem: a,\n lastPath: \"\"\n }, s.appendChild(a);else {\n var b;\n\n if (d += 1, a.setAttribute(\"fill\", \"s\" === m[i].mode ? \"#000000\" : \"#ffffff\"), a.setAttribute(\"clip-rule\", \"nonzero\"), 0 !== m[i].x.k ? (g = \"mask\", v = \"mask\", c = PropertyFactory.getProp(this.element, m[i].x, 0, null, this.element), b = createElementID(), (p = createNS(\"filter\")).setAttribute(\"id\", b), (f = createNS(\"feMorphology\")).setAttribute(\"operator\", \"erode\"), f.setAttribute(\"in\", \"SourceGraphic\"), f.setAttribute(\"radius\", \"0\"), p.appendChild(f), s.appendChild(p), a.setAttribute(\"stroke\", \"s\" === m[i].mode ? \"#000000\" : \"#ffffff\")) : (f = null, c = null), this.storedData[i] = {\n elem: a,\n x: c,\n expan: f,\n lastPath: \"\",\n lastOperator: \"\",\n filterId: b,\n lastRadius: 0\n }, \"i\" === m[i].mode) {\n h = u.length;\n var x = createNS(\"g\");\n\n for (o = 0; o < h; o += 1) {\n x.appendChild(u[o]);\n }\n\n var E = createNS(\"mask\");\n E.setAttribute(\"mask-type\", \"alpha\"), E.setAttribute(\"id\", y + \"_\" + d), E.appendChild(a), s.appendChild(E), x.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + y + \"_\" + d + \")\"), u.length = 0, u.push(x);\n } else u.push(a);\n\n m[i].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[i] = {\n elem: a,\n lastPath: \"\",\n op: PropertyFactory.getProp(this.element, m[i].o, 0, .01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, m[i], 3),\n invRect: l\n }, this.viewData[i].prop.k || this.drawPath(m[i], this.viewData[i].prop.v, this.viewData[i]);\n }\n }\n\n for (this.maskElement = createNS(g), n = u.length, i = 0; i < n; i += 1) {\n this.maskElement.appendChild(u[i]);\n }\n\n d > 0 && (this.maskElement.setAttribute(\"id\", y), this.element.maskedElement.setAttribute(v, \"url(\" + locationHref + \"#\" + y + \")\"), s.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this);\n }\n\n function HierarchyElement() {}\n\n function FrameElement() {}\n\n function TransformElement() {}\n\n function RenderableElement() {}\n\n function RenderableDOMElement() {}\n\n function ProcessedElement(t, e) {\n this.elem = t, this.pos = e;\n }\n\n function SVGStyleData(t, e) {\n this.data = t, this.type = t.ty, this.d = \"\", this.lvl = e, this._mdf = !1, this.closed = !0 === t.hd, this.pElem = createNS(\"path\"), this.msElem = null;\n }\n\n function SVGShapeData(t, e, r) {\n this.caches = [], this.styles = [], this.transformers = t, this.lStr = \"\", this.sh = r, this.lvl = e, this._isAnimated = !!r.k;\n\n for (var i = 0, a = t.length; i < a;) {\n if (t[i].mProps.dynamicProperties.length) {\n this._isAnimated = !0;\n break;\n }\n\n i += 1;\n }\n }\n\n function SVGTransformData(t, e, r) {\n this.transform = {\n mProps: t,\n op: e,\n container: r\n }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n\n function SVGStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r, this._isAnimated = !!this._isAnimated;\n }\n\n function SVGFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r;\n }\n\n function SVGGradientFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.initGradientData(t, e, r);\n }\n\n function SVGGradientStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.initGradientData(t, e, r), this._isAnimated = !!this._isAnimated;\n }\n\n function ShapeGroupData() {\n this.it = [], this.prevViewData = [], this.gr = createNS(\"g\");\n }\n\n BaseRenderer.prototype.checkLayers = function (t) {\n var e,\n r,\n i = this.layers.length;\n\n for (this.completeLayers = !0, e = i - 1; e >= 0; e -= 1) {\n this.elements[e] || (r = this.layers[e]).ip - r.st <= t - this.layers[e].st && r.op - r.st > t - this.layers[e].st && this.buildItem(e), this.completeLayers = !!this.elements[e] && this.completeLayers;\n }\n\n this.checkPendingElements();\n }, BaseRenderer.prototype.createItem = function (t) {\n switch (t.ty) {\n case 2:\n return this.createImage(t);\n\n case 0:\n return this.createComp(t);\n\n case 1:\n return this.createSolid(t);\n\n case 3:\n return this.createNull(t);\n\n case 4:\n return this.createShape(t);\n\n case 5:\n return this.createText(t);\n\n case 6:\n return this.createAudio(t);\n\n case 13:\n return this.createCamera(t);\n\n case 15:\n return this.createFootage(t);\n\n default:\n return this.createNull(t);\n }\n }, BaseRenderer.prototype.createCamera = function () {\n throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n }, BaseRenderer.prototype.createAudio = function (t) {\n return new AudioElement(t, this.globalData, this);\n }, BaseRenderer.prototype.createFootage = function (t) {\n return new FootageElement(t, this.globalData, this);\n }, BaseRenderer.prototype.buildAllItems = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n this.buildItem(t);\n }\n\n this.checkPendingElements();\n }, BaseRenderer.prototype.includeLayers = function (t) {\n var e;\n this.completeLayers = !1;\n var r,\n i = t.length,\n a = this.layers.length;\n\n for (e = 0; e < i; e += 1) {\n for (r = 0; r < a;) {\n if (this.layers[r].id === t[e].id) {\n this.layers[r] = t[e];\n break;\n }\n\n r += 1;\n }\n }\n }, BaseRenderer.prototype.setProjectInterface = function (t) {\n this.globalData.projectInterface = t;\n }, BaseRenderer.prototype.initItems = function () {\n this.globalData.progressiveLoad || this.buildAllItems();\n }, BaseRenderer.prototype.buildElementParenting = function (t, e, r) {\n for (var i = this.elements, a = this.layers, s = 0, n = a.length; s < n;) {\n a[s].ind == e && (i[s] && !0 !== i[s] ? (r.push(i[s]), i[s].setAsParent(), void 0 !== a[s].parent ? this.buildElementParenting(t, a[s].parent, r) : t.setHierarchy(r)) : (this.buildItem(s), this.addPendingElement(t))), s += 1;\n }\n }, BaseRenderer.prototype.addPendingElement = function (t) {\n this.pendingElements.push(t);\n }, BaseRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n if (t[e].xt) {\n var i = this.createComp(t[e]);\n i.initExpressions(), this.globalData.projectInterface.registerComposition(i);\n }\n }\n }, BaseRenderer.prototype.setupGlobalData = function (t, e) {\n this.globalData.fontManager = new FontManager(), this.globalData.fontManager.addChars(t.chars), this.globalData.fontManager.addFonts(t.fonts, e), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = t.fr, this.globalData.nm = t.nm, this.globalData.compSize = {\n w: t.w,\n h: t.h\n };\n }, extendPrototype([BaseRenderer], SVGRenderer), SVGRenderer.prototype.createNull = function (t) {\n return new NullElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createShape = function (t) {\n return new SVGShapeElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createText = function (t) {\n return new SVGTextLottieElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createImage = function (t) {\n return new IImageElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createComp = function (t) {\n return new SVGCompElement(t, this.globalData, this);\n }, SVGRenderer.prototype.createSolid = function (t) {\n return new ISolidElement(t, this.globalData, this);\n }, SVGRenderer.prototype.configAnimation = function (t) {\n this.svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute(\"viewBox\", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute(\"viewBox\", \"0 0 \" + t.w + \" \" + t.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute(\"width\", t.w), this.svgElement.setAttribute(\"height\", t.h), this.svgElement.style.width = \"100%\", this.svgElement.style.height = \"100%\", this.svgElement.style.transform = \"translate3d(0,0,0)\"), this.renderConfig.className && this.svgElement.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute(\"id\", this.renderConfig.id), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute(\"focusable\", this.renderConfig.focusable), this.svgElement.setAttribute(\"preserveAspectRatio\", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);\n var e = this.globalData.defs;\n this.setupGlobalData(t, e), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = t;\n var r = createNS(\"clipPath\"),\n i = createNS(\"rect\");\n i.setAttribute(\"width\", t.w), i.setAttribute(\"height\", t.h), i.setAttribute(\"x\", 0), i.setAttribute(\"y\", 0);\n var a = createElementID();\n r.setAttribute(\"id\", a), r.appendChild(i), this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + a + \")\"), e.appendChild(r), this.layers = t.layers, this.elements = createSizedArray(t.layers.length);\n }, SVGRenderer.prototype.destroy = function () {\n var t;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.layerElement = null, this.globalData.defs = null;\n var e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, SVGRenderer.prototype.updateContainerSize = function () {}, SVGRenderer.prototype.buildItem = function (t) {\n var e = this.elements;\n\n if (!e[t] && 99 !== this.layers[t].ty) {\n e[t] = !0;\n var r = this.createItem(this.layers[t]);\n e[t] = r, expressionsPlugin && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition(r), r.initExpressions()), this.appendElementInPos(r, t), this.layers[t].tt && (this.elements[t - 1] && !0 !== this.elements[t - 1] ? r.setMatte(e[t - 1].layerId) : (this.buildItem(t - 1), this.addPendingElement(r)));\n }\n }, SVGRenderer.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n var t = this.pendingElements.pop();\n if (t.checkParenting(), t.data.tt) for (var e = 0, r = this.elements.length; e < r;) {\n if (this.elements[e] === t) {\n t.setMatte(this.elements[e - 1].layerId);\n break;\n }\n\n e += 1;\n }\n }\n }, SVGRenderer.prototype.renderFrame = function (t) {\n if (this.renderedFrame !== t && !this.destroyed) {\n var e;\n null === t ? t = this.renderedFrame : this.renderedFrame = t, this.globalData.frameNum = t, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = t, this.globalData._mdf = !1;\n var r = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), e = r - 1; e >= 0; e -= 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st);\n }\n\n if (this.globalData._mdf) for (e = 0; e < r; e += 1) {\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame();\n }\n }\n }, SVGRenderer.prototype.appendElementInPos = function (t, e) {\n var r = t.getBaseElement();\n\n if (r) {\n for (var i, a = 0; a < e;) {\n this.elements[a] && !0 !== this.elements[a] && this.elements[a].getBaseElement() && (i = this.elements[a].getBaseElement()), a += 1;\n }\n\n i ? this.layerElement.insertBefore(r, i) : this.layerElement.appendChild(r);\n }\n }, SVGRenderer.prototype.hide = function () {\n this.layerElement.style.display = \"none\";\n }, SVGRenderer.prototype.show = function () {\n this.layerElement.style.display = \"block\";\n }, extendPrototype([BaseRenderer], CanvasRenderer), CanvasRenderer.prototype.createShape = function (t) {\n return new CVShapeElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createText = function (t) {\n return new CVTextElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createImage = function (t) {\n return new CVImageElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createComp = function (t) {\n return new CVCompElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createSolid = function (t) {\n return new CVSolidElement(t, this.globalData, this);\n }, CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull, CanvasRenderer.prototype.ctxTransform = function (t) {\n if (1 !== t[0] || 0 !== t[1] || 0 !== t[4] || 1 !== t[5] || 0 !== t[12] || 0 !== t[13]) if (this.renderConfig.clearCanvas) {\n this.transformMat.cloneFromProps(t);\n var e = this.contextData.cTr.props;\n this.transformMat.transform(e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15]), this.contextData.cTr.cloneFromProps(this.transformMat.props);\n var r = this.contextData.cTr.props;\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]);\n } else this.canvasContext.transform(t[0], t[1], t[4], t[5], t[12], t[13]);\n }, CanvasRenderer.prototype.ctxOpacity = function (t) {\n if (!this.renderConfig.clearCanvas) return this.canvasContext.globalAlpha *= t < 0 ? 0 : t, void (this.globalData.currentGlobalAlpha = this.contextData.cO);\n this.contextData.cO *= t < 0 ? 0 : t, this.globalData.currentGlobalAlpha !== this.contextData.cO && (this.canvasContext.globalAlpha = this.contextData.cO, this.globalData.currentGlobalAlpha = this.contextData.cO);\n }, CanvasRenderer.prototype.reset = function () {\n this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore();\n }, CanvasRenderer.prototype.save = function (t) {\n if (this.renderConfig.clearCanvas) {\n t && this.canvasContext.save();\n var e,\n r = this.contextData.cTr.props;\n this.contextData._length <= this.contextData.cArrPos && this.contextData.duplicate();\n var i = this.contextData.saved[this.contextData.cArrPos];\n\n for (e = 0; e < 16; e += 1) {\n i[e] = r[e];\n }\n\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO, this.contextData.cArrPos += 1;\n } else this.canvasContext.save();\n }, CanvasRenderer.prototype.restore = function (t) {\n if (this.renderConfig.clearCanvas) {\n t && (this.canvasContext.restore(), this.globalData.blendMode = \"source-over\"), this.contextData.cArrPos -= 1;\n var e,\n r = this.contextData.saved[this.contextData.cArrPos],\n i = this.contextData.cTr.props;\n\n for (e = 0; e < 16; e += 1) {\n i[e] = r[e];\n }\n\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]), r = this.contextData.savedOp[this.contextData.cArrPos], this.contextData.cO = r, this.globalData.currentGlobalAlpha !== r && (this.canvasContext.globalAlpha = r, this.globalData.currentGlobalAlpha = r);\n } else this.canvasContext.restore();\n }, CanvasRenderer.prototype.configAnimation = function (t) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag(\"canvas\");\n var e = this.animationItem.container.style;\n e.width = \"100%\", e.height = \"100%\";\n var r = \"0px 0px 0px\";\n e.transformOrigin = r, e.mozTransformOrigin = r, e.webkitTransformOrigin = r, e[\"-webkit-transform\"] = r, this.animationItem.wrapper.appendChild(this.animationItem.container), this.canvasContext = this.animationItem.container.getContext(\"2d\"), this.renderConfig.className && this.animationItem.container.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute(\"id\", this.renderConfig.id);\n } else this.canvasContext = this.renderConfig.context;\n\n this.data = t, this.layers = t.layers, this.transformCanvas = {\n w: t.w,\n h: t.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n }, this.setupGlobalData(t, document.body), this.globalData.canvasContext = this.canvasContext, this.globalData.renderer = this, this.globalData.isDashed = !1, this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.globalData.transformCanvas = this.transformCanvas, this.elements = createSizedArray(t.layers.length), this.updateContainerSize();\n }, CanvasRenderer.prototype.updateContainerSize = function () {\n var t, e, r, i;\n\n if (this.reset(), this.animationItem.wrapper && this.animationItem.container ? (t = this.animationItem.wrapper.offsetWidth, e = this.animationItem.wrapper.offsetHeight, this.animationItem.container.setAttribute(\"width\", t * this.renderConfig.dpr), this.animationItem.container.setAttribute(\"height\", e * this.renderConfig.dpr)) : (t = this.canvasContext.canvas.width * this.renderConfig.dpr, e = this.canvasContext.canvas.height * this.renderConfig.dpr), -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"meet\") || -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"slice\")) {\n var a = this.renderConfig.preserveAspectRatio.split(\" \"),\n s = a[1] || \"meet\",\n n = a[0] || \"xMidYMid\",\n o = n.substr(0, 4),\n h = n.substr(4);\n r = t / e, (i = this.transformCanvas.w / this.transformCanvas.h) > r && \"meet\" === s || i < r && \"slice\" === s ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = t / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr)), this.transformCanvas.tx = \"xMid\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : \"xMax\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) * this.renderConfig.dpr : 0, this.transformCanvas.ty = \"YMid\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : \"YMax\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) * this.renderConfig.dpr : 0;\n } else \"none\" === this.renderConfig.preserveAspectRatio ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.tx = 0, this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr, this.transformCanvas.sy = this.renderConfig.dpr, this.transformCanvas.tx = 0, this.transformCanvas.ty = 0);\n\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1], this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0);\n }, CanvasRenderer.prototype.destroy = function () {\n var t;\n\n for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), t = (this.layers ? this.layers.length : 0) - 1; t >= 0; t -= 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.globalData.canvasContext = null, this.animationItem.container = null, this.destroyed = !0;\n }, CanvasRenderer.prototype.renderFrame = function (t, e) {\n if ((this.renderedFrame !== t || !0 !== this.renderConfig.clearCanvas || e) && !this.destroyed && -1 !== t) {\n var r;\n this.renderedFrame = t, this.globalData.frameNum = t - this.animationItem._isFirstFrame, this.globalData.frameId += 1, this.globalData._mdf = !this.renderConfig.clearCanvas || e, this.globalData.projectInterface.currentFrame = t;\n var i = this.layers.length;\n\n for (this.completeLayers || this.checkLayers(t), r = 0; r < i; r += 1) {\n (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(t - this.layers[r].st);\n }\n\n if (this.globalData._mdf) {\n for (!0 === this.renderConfig.clearCanvas ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), r = i - 1; r >= 0; r -= 1) {\n (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame();\n }\n\n !0 !== this.renderConfig.clearCanvas && this.restore();\n }\n }\n }, CanvasRenderer.prototype.buildItem = function (t) {\n var e = this.elements;\n\n if (!e[t] && 99 !== this.layers[t].ty) {\n var r = this.createItem(this.layers[t], this, this.globalData);\n e[t] = r, r.initExpressions();\n }\n }, CanvasRenderer.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n this.pendingElements.pop().checkParenting();\n }\n }, CanvasRenderer.prototype.hide = function () {\n this.animationItem.container.style.display = \"none\";\n }, CanvasRenderer.prototype.show = function () {\n this.animationItem.container.style.display = \"block\";\n }, extendPrototype([BaseRenderer], HybridRenderer), HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem, HybridRenderer.prototype.checkPendingElements = function () {\n for (; this.pendingElements.length;) {\n this.pendingElements.pop().checkParenting();\n }\n }, HybridRenderer.prototype.appendElementInPos = function (t, e) {\n var r = t.getBaseElement();\n\n if (r) {\n var i = this.layers[e];\n if (i.ddd && this.supports3d) this.addTo3dContainer(r, e);else if (this.threeDElements) this.addTo3dContainer(r, e);else {\n for (var a, s, n = 0; n < e;) {\n this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && (s = this.elements[n], a = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : s.getBaseElement()) || a), n += 1;\n }\n\n a ? i.ddd && this.supports3d || this.layerElement.insertBefore(r, a) : i.ddd && this.supports3d || this.layerElement.appendChild(r);\n }\n }\n }, HybridRenderer.prototype.createShape = function (t) {\n return this.supports3d ? new HShapeElement(t, this.globalData, this) : new SVGShapeElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createText = function (t) {\n return this.supports3d ? new HTextElement(t, this.globalData, this) : new SVGTextLottieElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createCamera = function (t) {\n return this.camera = new HCameraElement(t, this.globalData, this), this.camera;\n }, HybridRenderer.prototype.createImage = function (t) {\n return this.supports3d ? new HImageElement(t, this.globalData, this) : new IImageElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createComp = function (t) {\n return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createSolid = function (t) {\n return this.supports3d ? new HSolidElement(t, this.globalData, this) : new ISolidElement(t, this.globalData, this);\n }, HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull, HybridRenderer.prototype.getThreeDContainerByPos = function (t) {\n for (var e = 0, r = this.threeDElements.length; e < r;) {\n if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t) return this.threeDElements[e].perspectiveElem;\n e += 1;\n }\n\n return null;\n }, HybridRenderer.prototype.createThreeDContainer = function (t, e) {\n var r,\n i,\n a = createTag(\"div\");\n styleDiv(a);\n var s = createTag(\"div\");\n\n if (styleDiv(s), \"3d\" === e) {\n (r = a.style).width = this.globalData.compSize.w + \"px\", r.height = this.globalData.compSize.h + \"px\";\n r.webkitTransformOrigin = \"50% 50%\", r.mozTransformOrigin = \"50% 50%\", r.transformOrigin = \"50% 50%\";\n var n = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n (i = s.style).transform = n, i.webkitTransform = n;\n }\n\n a.appendChild(s);\n var o = {\n container: s,\n perspectiveElem: a,\n startPos: t,\n endPos: t,\n type: e\n };\n return this.threeDElements.push(o), o;\n }, HybridRenderer.prototype.build3dContainers = function () {\n var t,\n e,\n r = this.layers.length,\n i = \"\";\n\n for (t = 0; t < r; t += 1) {\n this.layers[t].ddd && 3 !== this.layers[t].ty ? (\"3d\" !== i && (i = \"3d\", e = this.createThreeDContainer(t, \"3d\")), e.endPos = Math.max(e.endPos, t)) : (\"2d\" !== i && (i = \"2d\", e = this.createThreeDContainer(t, \"2d\")), e.endPos = Math.max(e.endPos, t));\n }\n\n for (t = (r = this.threeDElements.length) - 1; t >= 0; t -= 1) {\n this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);\n }\n }, HybridRenderer.prototype.addTo3dContainer = function (t, e) {\n for (var r = 0, i = this.threeDElements.length; r < i;) {\n if (e <= this.threeDElements[r].endPos) {\n for (var a, s = this.threeDElements[r].startPos; s < e;) {\n this.elements[s] && this.elements[s].getBaseElement && (a = this.elements[s].getBaseElement()), s += 1;\n }\n\n a ? this.threeDElements[r].container.insertBefore(t, a) : this.threeDElements[r].container.appendChild(t);\n break;\n }\n\n r += 1;\n }\n }, HybridRenderer.prototype.configAnimation = function (t) {\n var e = createTag(\"div\"),\n r = this.animationItem.wrapper,\n i = e.style;\n i.width = t.w + \"px\", i.height = t.h + \"px\", this.resizerElem = e, styleDiv(e), i.transformStyle = \"flat\", i.mozTransformStyle = \"flat\", i.webkitTransformStyle = \"flat\", this.renderConfig.className && e.setAttribute(\"class\", this.renderConfig.className), r.appendChild(e), i.overflow = \"hidden\";\n var a = createNS(\"svg\");\n a.setAttribute(\"width\", \"1\"), a.setAttribute(\"height\", \"1\"), styleDiv(a), this.resizerElem.appendChild(a);\n var s = createNS(\"defs\");\n a.appendChild(s), this.data = t, this.setupGlobalData(t, a), this.globalData.defs = s, this.layers = t.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize();\n }, HybridRenderer.prototype.destroy = function () {\n var t;\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.animationItem.container = null, this.globalData.defs = null;\n var e = this.layers ? this.layers.length : 0;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t].destroy();\n }\n\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, HybridRenderer.prototype.updateContainerSize = function () {\n var t,\n e,\n r,\n i,\n a = this.animationItem.wrapper.offsetWidth,\n s = this.animationItem.wrapper.offsetHeight,\n n = a / s;\n this.globalData.compSize.w / this.globalData.compSize.h > n ? (t = a / this.globalData.compSize.w, e = a / this.globalData.compSize.w, r = 0, i = (s - this.globalData.compSize.h * (a / this.globalData.compSize.w)) / 2) : (t = s / this.globalData.compSize.h, e = s / this.globalData.compSize.h, r = (a - this.globalData.compSize.w * (s / this.globalData.compSize.h)) / 2, i = 0);\n var o = this.resizerElem.style;\n o.webkitTransform = \"matrix3d(\" + t + \",0,0,0,0,\" + e + \",0,0,0,0,1,0,\" + r + \",\" + i + \",0,1)\", o.transform = o.webkitTransform;\n }, HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame, HybridRenderer.prototype.hide = function () {\n this.resizerElem.style.display = \"none\";\n }, HybridRenderer.prototype.show = function () {\n this.resizerElem.style.display = \"block\";\n }, HybridRenderer.prototype.initItems = function () {\n if (this.buildAllItems(), this.camera) this.camera.setup();else {\n var t,\n e = this.globalData.compSize.w,\n r = this.globalData.compSize.h,\n i = this.threeDElements.length;\n\n for (t = 0; t < i; t += 1) {\n var a = this.threeDElements[t].perspectiveElem.style;\n a.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(r, 2)) + \"px\", a.perspective = a.webkitPerspective;\n }\n }\n }, HybridRenderer.prototype.searchExtraCompositions = function (t) {\n var e,\n r = t.length,\n i = createTag(\"div\");\n\n for (e = 0; e < r; e += 1) {\n if (t[e].xt) {\n var a = this.createComp(t[e], i, this.globalData.comp, null);\n a.initExpressions(), this.globalData.projectInterface.registerComposition(a);\n }\n }\n }, MaskElement.prototype.getMaskProperty = function (t) {\n return this.viewData[t].prop;\n }, MaskElement.prototype.renderFrame = function (t) {\n var e,\n r = this.element.finalTransform.mat,\n i = this.masksProperties.length;\n\n for (e = 0; e < i; e += 1) {\n if ((this.viewData[e].prop._mdf || t) && this.drawPath(this.masksProperties[e], this.viewData[e].prop.v, this.viewData[e]), (this.viewData[e].op._mdf || t) && this.viewData[e].elem.setAttribute(\"fill-opacity\", this.viewData[e].op.v), \"n\" !== this.masksProperties[e].mode && (this.viewData[e].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[e].invRect.setAttribute(\"transform\", r.getInverseMatrix().to2dCSS()), this.storedData[e].x && (this.storedData[e].x._mdf || t))) {\n var a = this.storedData[e].expan;\n this.storedData[e].x.v < 0 ? (\"erode\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"erode\", this.storedData[e].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + this.storedData[e].filterId + \")\")), a.setAttribute(\"radius\", -this.storedData[e].x.v)) : (\"dilate\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"dilate\", this.storedData[e].elem.setAttribute(\"filter\", null)), this.storedData[e].elem.setAttribute(\"stroke-width\", 2 * this.storedData[e].x.v));\n }\n }\n }, MaskElement.prototype.getMaskelement = function () {\n return this.maskElement;\n }, MaskElement.prototype.createLayerSolidPath = function () {\n var t = \"M0,0 \";\n return t += \" h\" + this.globalData.compSize.w, t += \" v\" + this.globalData.compSize.h, t += \" h-\" + this.globalData.compSize.w, t += \" v-\" + this.globalData.compSize.h + \" \";\n }, MaskElement.prototype.drawPath = function (t, e, r) {\n var i,\n a,\n s = \" M\" + e.v[0][0] + \",\" + e.v[0][1];\n\n for (a = e._length, i = 1; i < a; i += 1) {\n s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[i][0] + \",\" + e.i[i][1] + \" \" + e.v[i][0] + \",\" + e.v[i][1];\n }\n\n if (e.c && a > 1 && (s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[0][0] + \",\" + e.i[0][1] + \" \" + e.v[0][0] + \",\" + e.v[0][1]), r.lastPath !== s) {\n var n = \"\";\n r.elem && (e.c && (n = t.inv ? this.solidPath + s : s), r.elem.setAttribute(\"d\", n)), r.lastPath = s;\n }\n }, MaskElement.prototype.destroy = function () {\n this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null;\n }, HierarchyElement.prototype = {\n initHierarchy: function initHierarchy() {\n this.hierarchy = [], this._isParent = !1, this.checkParenting();\n },\n setHierarchy: function setHierarchy(t) {\n this.hierarchy = t;\n },\n setAsParent: function setAsParent() {\n this._isParent = !0;\n },\n checkParenting: function checkParenting() {\n void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, []);\n }\n }, FrameElement.prototype = {\n initFrame: function initFrame() {\n this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1;\n },\n prepareProperties: function prepareProperties(t, e) {\n var r,\n i = this.dynamicProperties.length;\n\n for (r = 0; r < i; r += 1) {\n (e || this._isParent && \"transform\" === this.dynamicProperties[r].propType) && (this.dynamicProperties[r].getValue(), this.dynamicProperties[r]._mdf && (this.globalData._mdf = !0, this._mdf = !0));\n }\n },\n addDynamicProperty: function addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }\n }, TransformElement.prototype = {\n initTransform: function initTransform() {\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: !1,\n _opMdf: !1,\n mat: new Matrix()\n }, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty;\n },\n renderTransform: function renderTransform() {\n if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {\n var t,\n e = this.finalTransform.mat,\n r = 0,\n i = this.hierarchy.length;\n if (!this.finalTransform._matMdf) for (; r < i;) {\n if (this.hierarchy[r].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = !0;\n break;\n }\n\n r += 1;\n }\n if (this.finalTransform._matMdf) for (t = this.finalTransform.mProp.v.props, e.cloneFromProps(t), r = 0; r < i; r += 1) {\n t = this.hierarchy[r].finalTransform.mProp.v.props, e.transform(t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15]);\n }\n }\n },\n globalToLocal: function globalToLocal(t) {\n var e = [];\n e.push(this.finalTransform);\n\n for (var r, i = !0, a = this.comp; i;) {\n a.finalTransform ? (a.data.hasMask && e.splice(0, 0, a.finalTransform), a = a.comp) : i = !1;\n }\n\n var s,\n n = e.length;\n\n for (r = 0; r < n; r += 1) {\n s = e[r].mat.applyToPointArray(0, 0, 0), t = [t[0] - s[0], t[1] - s[1], 0];\n }\n\n return t;\n },\n mHelper: new Matrix()\n }, RenderableElement.prototype = {\n initRenderable: function initRenderable() {\n this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = [];\n },\n addRenderableComponent: function addRenderableComponent(t) {\n -1 === this.renderableComponents.indexOf(t) && this.renderableComponents.push(t);\n },\n removeRenderableComponent: function removeRenderableComponent(t) {\n -1 !== this.renderableComponents.indexOf(t) && this.renderableComponents.splice(this.renderableComponents.indexOf(t), 1);\n },\n prepareRenderableFrame: function prepareRenderableFrame(t) {\n this.checkLayerLimits(t);\n },\n checkTransparency: function checkTransparency() {\n this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show());\n },\n checkLayerLimits: function checkLayerLimits(t) {\n this.data.ip - this.data.st <= t && this.data.op - this.data.st > t ? !0 !== this.isInRange && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : !1 !== this.isInRange && (this.globalData._mdf = !0, this.isInRange = !1, this.hide());\n },\n renderRenderable: function renderRenderable() {\n var t,\n e = this.renderableComponents.length;\n\n for (t = 0; t < e; t += 1) {\n this.renderableComponents[t].renderFrame(this._isFirstFrame);\n }\n },\n sourceRectAtTime: function sourceRectAtTime() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function getLayerSize() {\n return 5 === this.data.ty ? {\n w: this.data.textData.width,\n h: this.data.textData.height\n } : {\n w: this.data.width,\n h: this.data.height\n };\n }\n }, extendPrototype([RenderableElement, createProxyFunction({\n initElement: function initElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide();\n },\n hide: function hide() {\n this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = \"none\", this.hidden = !0);\n },\n show: function show() {\n this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = \"block\"), this.hidden = !1, this._isFirstFrame = !0);\n },\n renderFrame: function renderFrame() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n renderInnerContent: function renderInnerContent() {},\n prepareFrame: function prepareFrame(t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.checkTransparency();\n },\n destroy: function destroy() {\n this.innerElem = null, this.destroyBaseElement();\n }\n })], RenderableDOMElement), SVGStyleData.prototype.reset = function () {\n this.d = \"\", this._mdf = !1;\n }, SVGShapeData.prototype.setAsAnimated = function () {\n this._isAnimated = !0;\n }, extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), SVGGradientFillStyleData.prototype.initGradientData = function (t, e, r) {\n this.o = PropertyFactory.getProp(t, e.o, 0, .01, this), this.s = PropertyFactory.getProp(t, e.s, 1, null, this), this.e = PropertyFactory.getProp(t, e.e, 1, null, this), this.h = PropertyFactory.getProp(t, e.h || {\n k: 0\n }, 0, .01, this), this.a = PropertyFactory.getProp(t, e.a || {\n k: 0\n }, 0, degToRads, this), this.g = new GradientProperty(t, e.g, this), this.style = r, this.stops = [], this.setGradientData(r.pElem, e), this.setGradientOpacity(e, r), this._isAnimated = !!this._isAnimated;\n }, SVGGradientFillStyleData.prototype.setGradientData = function (t, e) {\n var r = createElementID(),\n i = createNS(1 === e.t ? \"linearGradient\" : \"radialGradient\");\n i.setAttribute(\"id\", r), i.setAttribute(\"spreadMethod\", \"pad\"), i.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n var a,\n s,\n n,\n o = [];\n\n for (n = 4 * e.g.p, s = 0; s < n; s += 4) {\n a = createNS(\"stop\"), i.appendChild(a), o.push(a);\n }\n\n t.setAttribute(\"gf\" === e.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + r + \")\"), this.gf = i, this.cst = o;\n }, SVGGradientFillStyleData.prototype.setGradientOpacity = function (t, e) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var r,\n i,\n a,\n s = createNS(\"mask\"),\n n = createNS(\"path\");\n s.appendChild(n);\n var o = createElementID(),\n h = createElementID();\n s.setAttribute(\"id\", h);\n var l = createNS(1 === t.t ? \"linearGradient\" : \"radialGradient\");\n l.setAttribute(\"id\", o), l.setAttribute(\"spreadMethod\", \"pad\"), l.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), a = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length;\n var p = this.stops;\n\n for (i = 4 * t.g.p; i < a; i += 2) {\n (r = createNS(\"stop\")).setAttribute(\"stop-color\", \"rgb(255,255,255)\"), l.appendChild(r), p.push(r);\n }\n\n n.setAttribute(\"gf\" === t.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + o + \")\"), this.of = l, this.ms = s, this.ost = p, this.maskId = h, e.msElem = n;\n }\n }, extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData), extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n\n var SVGElementsRenderer = function () {\n var t = new Matrix(),\n e = new Matrix();\n\n function r(t, e, r) {\n (r || e.transform.op._mdf) && e.transform.container.setAttribute(\"opacity\", e.transform.op.v), (r || e.transform.mProps._mdf) && e.transform.container.setAttribute(\"transform\", e.transform.mProps.v.to2dCSS());\n }\n\n function i(r, i, a) {\n var s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u,\n y = i.styles.length,\n g = i.lvl;\n\n for (p = 0; p < y; p += 1) {\n if (h = i.sh._mdf || a, i.styles[p].lvl < g) {\n for (c = e.reset(), d = g - i.styles[p].lvl, u = i.transformers.length - 1; !h && d > 0;) {\n h = i.transformers[u].mProps._mdf || h, d -= 1, u -= 1;\n }\n\n if (h) for (d = g - i.styles[p].lvl, u = i.transformers.length - 1; d > 0;) {\n m = i.transformers[u].mProps.v.props, c.transform(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]), d -= 1, u -= 1;\n }\n } else c = t;\n\n if (n = (f = i.sh.paths)._length, h) {\n for (o = \"\", s = 0; s < n; s += 1) {\n (l = f.shapes[s]) && l._length && (o += buildShapeString(l, l._length, l.c, c));\n }\n\n i.caches[p] = o;\n } else o = i.caches[p];\n\n i.styles[p].d += !0 === r.hd ? \"\" : o, i.styles[p]._mdf = h || i.styles[p]._mdf;\n }\n }\n\n function a(t, e, r) {\n var i = e.style;\n (e.c._mdf || r) && i.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r) && i.pElem.setAttribute(\"fill-opacity\", e.o.v);\n }\n\n function s(t, e, r) {\n n(t, e, r), o(t, e, r);\n }\n\n function n(t, e, r) {\n var i,\n a,\n s,\n n,\n o,\n h = e.gf,\n l = e.g._hasOpacity,\n p = e.s.v,\n f = e.e.v;\n\n if (e.o._mdf || r) {\n var c = \"gf\" === t.ty ? \"fill-opacity\" : \"stroke-opacity\";\n e.style.pElem.setAttribute(c, e.o.v);\n }\n\n if (e.s._mdf || r) {\n var m = 1 === t.t ? \"x1\" : \"cx\",\n d = \"x1\" === m ? \"y1\" : \"cy\";\n h.setAttribute(m, p[0]), h.setAttribute(d, p[1]), l && !e.g._collapsable && (e.of.setAttribute(m, p[0]), e.of.setAttribute(d, p[1]));\n }\n\n if (e.g._cmdf || r) {\n i = e.cst;\n var u = e.g.c;\n\n for (s = i.length, a = 0; a < s; a += 1) {\n (n = i[a]).setAttribute(\"offset\", u[4 * a] + \"%\"), n.setAttribute(\"stop-color\", \"rgb(\" + u[4 * a + 1] + \",\" + u[4 * a + 2] + \",\" + u[4 * a + 3] + \")\");\n }\n }\n\n if (l && (e.g._omdf || r)) {\n var y = e.g.o;\n\n for (s = (i = e.g._collapsable ? e.cst : e.ost).length, a = 0; a < s; a += 1) {\n n = i[a], e.g._collapsable || n.setAttribute(\"offset\", y[2 * a] + \"%\"), n.setAttribute(\"stop-opacity\", y[2 * a + 1]);\n }\n }\n\n if (1 === t.t) (e.e._mdf || r) && (h.setAttribute(\"x2\", f[0]), h.setAttribute(\"y2\", f[1]), l && !e.g._collapsable && (e.of.setAttribute(\"x2\", f[0]), e.of.setAttribute(\"y2\", f[1])));else if ((e.s._mdf || e.e._mdf || r) && (o = Math.sqrt(Math.pow(p[0] - f[0], 2) + Math.pow(p[1] - f[1], 2)), h.setAttribute(\"r\", o), l && !e.g._collapsable && e.of.setAttribute(\"r\", o)), e.e._mdf || e.h._mdf || e.a._mdf || r) {\n o || (o = Math.sqrt(Math.pow(p[0] - f[0], 2) + Math.pow(p[1] - f[1], 2)));\n var g = Math.atan2(f[1] - p[1], f[0] - p[0]),\n v = e.h.v;\n v >= 1 ? v = .99 : v <= -1 && (v = -.99);\n var b = o * v,\n x = Math.cos(g + e.a.v) * b + p[0],\n E = Math.sin(g + e.a.v) * b + p[1];\n h.setAttribute(\"fx\", x), h.setAttribute(\"fy\", E), l && !e.g._collapsable && (e.of.setAttribute(\"fx\", x), e.of.setAttribute(\"fy\", E));\n }\n }\n\n function o(t, e, r) {\n var i = e.style,\n a = e.d;\n a && (a._mdf || r) && a.dashStr && (i.pElem.setAttribute(\"stroke-dasharray\", a.dashStr), i.pElem.setAttribute(\"stroke-dashoffset\", a.dashoffset[0])), e.c && (e.c._mdf || r) && i.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r) && i.pElem.setAttribute(\"stroke-opacity\", e.o.v), (e.w._mdf || r) && (i.pElem.setAttribute(\"stroke-width\", e.w.v), i.msElem && i.msElem.setAttribute(\"stroke-width\", e.w.v));\n }\n\n return {\n createRenderFunction: function createRenderFunction(t) {\n switch (t.ty) {\n case \"fl\":\n return a;\n\n case \"gf\":\n return n;\n\n case \"gs\":\n return s;\n\n case \"st\":\n return o;\n\n case \"sh\":\n case \"el\":\n case \"rc\":\n case \"sr\":\n return i;\n\n case \"tr\":\n return r;\n\n default:\n return null;\n }\n }\n };\n }();\n\n function ShapeTransformManager() {\n this.sequences = {}, this.sequenceList = [], this.transform_key_count = 0;\n }\n\n function CVShapeData(t, e, r, i) {\n this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];\n var a,\n s = 4;\n \"rc\" === e.ty ? s = 5 : \"el\" === e.ty ? s = 6 : \"sr\" === e.ty && (s = 7), this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t);\n var n,\n o = r.length;\n\n for (a = 0; a < o; a += 1) {\n r[a].closed || (n = {\n transforms: i.addTransformSequence(r[a].transforms),\n trNodes: []\n }, this.styledShapes.push(n), r[a].elements.push(n));\n }\n }\n\n function BaseElement() {}\n\n function NullElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initFrame(), this.initTransform(t, e, r), this.initHierarchy();\n }\n\n function SVGBaseElement() {}\n\n function IShapeElement() {}\n\n function ITextElement() {}\n\n function ICompElement() {}\n\n function IImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r), this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n\n function ISolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function AudioElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.initBaseData(t, e, r), this._isPlaying = !1, this._canPlay = !1;\n var i = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(i), this._currentTime = 0, this.globalData.audioController.addAudio(this), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function FootageElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.footageData = e.imageLoader.getAsset(this.assetData), this.initBaseData(t, e, r);\n }\n\n function SVGCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function SVGTextLottieElement(t, e, r) {\n this.textSpans = [], this.renderType = \"svg\", this.initElement(t, e, r);\n }\n\n function SVGShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t, e, r), this.prevViewData = [];\n }\n\n function SVGTintFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n\n if (r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), r.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\"), r.setAttribute(\"result\", \"f1\"), t.appendChild(r), (r = createNS(\"feColorMatrix\")).setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), r.setAttribute(\"result\", \"f2\"), t.appendChild(r), this.matrixFilter = r, 100 !== e.effectElements[2].p.v || e.effectElements[2].p.k) {\n var i,\n a = createNS(\"feMerge\");\n t.appendChild(a), (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), a.appendChild(i), (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"f2\"), a.appendChild(i);\n }\n }\n\n function SVGFillFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"sRGB\"), r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), t.appendChild(r), this.matrixFilter = r;\n }\n\n function SVGGaussianBlurEffect(t, e) {\n t.setAttribute(\"x\", \"-100%\"), t.setAttribute(\"y\", \"-100%\"), t.setAttribute(\"width\", \"300%\"), t.setAttribute(\"height\", \"300%\"), this.filterManager = e;\n var r = createNS(\"feGaussianBlur\");\n t.appendChild(r), this.feGaussianBlur = r;\n }\n\n function SVGStrokeEffect(t, e) {\n this.initialized = !1, this.filterManager = e, this.elem = t, this.paths = [];\n }\n\n function SVGTritoneFilter(t, e) {\n this.filterManager = e;\n var r = createNS(\"feColorMatrix\");\n r.setAttribute(\"type\", \"matrix\"), r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), r.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\"), r.setAttribute(\"result\", \"f1\"), t.appendChild(r);\n var i = createNS(\"feComponentTransfer\");\n i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), this.matrixFilter = i;\n var a = createNS(\"feFuncR\");\n a.setAttribute(\"type\", \"table\"), i.appendChild(a), this.feFuncR = a;\n var s = createNS(\"feFuncG\");\n s.setAttribute(\"type\", \"table\"), i.appendChild(s), this.feFuncG = s;\n var n = createNS(\"feFuncB\");\n n.setAttribute(\"type\", \"table\"), i.appendChild(n), this.feFuncB = n;\n }\n\n function SVGProLevelsFilter(t, e) {\n this.filterManager = e;\n var r = this.filterManager.effectElements,\n i = createNS(\"feComponentTransfer\");\n (r[10].p.k || 0 !== r[10].p.v || r[11].p.k || 1 !== r[11].p.v || r[12].p.k || 1 !== r[12].p.v || r[13].p.k || 0 !== r[13].p.v || r[14].p.k || 1 !== r[14].p.v) && (this.feFuncR = this.createFeFunc(\"feFuncR\", i)), (r[17].p.k || 0 !== r[17].p.v || r[18].p.k || 1 !== r[18].p.v || r[19].p.k || 1 !== r[19].p.v || r[20].p.k || 0 !== r[20].p.v || r[21].p.k || 1 !== r[21].p.v) && (this.feFuncG = this.createFeFunc(\"feFuncG\", i)), (r[24].p.k || 0 !== r[24].p.v || r[25].p.k || 1 !== r[25].p.v || r[26].p.k || 1 !== r[26].p.v || r[27].p.k || 0 !== r[27].p.v || r[28].p.k || 1 !== r[28].p.v) && (this.feFuncB = this.createFeFunc(\"feFuncB\", i)), (r[31].p.k || 0 !== r[31].p.v || r[32].p.k || 1 !== r[32].p.v || r[33].p.k || 1 !== r[33].p.v || r[34].p.k || 0 !== r[34].p.v || r[35].p.k || 1 !== r[35].p.v) && (this.feFuncA = this.createFeFunc(\"feFuncA\", i)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), i = createNS(\"feComponentTransfer\")), (r[3].p.k || 0 !== r[3].p.v || r[4].p.k || 1 !== r[4].p.v || r[5].p.k || 1 !== r[5].p.v || r[6].p.k || 0 !== r[6].p.v || r[7].p.k || 1 !== r[7].p.v) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(i), this.feFuncRComposed = this.createFeFunc(\"feFuncR\", i), this.feFuncGComposed = this.createFeFunc(\"feFuncG\", i), this.feFuncBComposed = this.createFeFunc(\"feFuncB\", i));\n }\n\n function SVGDropShadowEffect(t, e) {\n var r = e.container.globalData.renderConfig.filterSize;\n t.setAttribute(\"x\", r.x), t.setAttribute(\"y\", r.y), t.setAttribute(\"width\", r.width), t.setAttribute(\"height\", r.height), this.filterManager = e;\n var i = createNS(\"feGaussianBlur\");\n i.setAttribute(\"in\", \"SourceAlpha\"), i.setAttribute(\"result\", \"drop_shadow_1\"), i.setAttribute(\"stdDeviation\", \"0\"), this.feGaussianBlur = i, t.appendChild(i);\n var a = createNS(\"feOffset\");\n a.setAttribute(\"dx\", \"25\"), a.setAttribute(\"dy\", \"0\"), a.setAttribute(\"in\", \"drop_shadow_1\"), a.setAttribute(\"result\", \"drop_shadow_2\"), this.feOffset = a, t.appendChild(a);\n var s = createNS(\"feFlood\");\n s.setAttribute(\"flood-color\", \"#00ff00\"), s.setAttribute(\"flood-opacity\", \"1\"), s.setAttribute(\"result\", \"drop_shadow_3\"), this.feFlood = s, t.appendChild(s);\n var n = createNS(\"feComposite\");\n n.setAttribute(\"in\", \"drop_shadow_3\"), n.setAttribute(\"in2\", \"drop_shadow_2\"), n.setAttribute(\"operator\", \"in\"), n.setAttribute(\"result\", \"drop_shadow_4\"), t.appendChild(n);\n var o,\n h = createNS(\"feMerge\");\n t.appendChild(h), o = createNS(\"feMergeNode\"), h.appendChild(o), (o = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"), this.feMergeNode = o, this.feMerge = h, this.originalNodeAdded = !1, h.appendChild(o);\n }\n\n ShapeTransformManager.prototype = {\n addTransformSequence: function addTransformSequence(t) {\n var e,\n r = t.length,\n i = \"_\";\n\n for (e = 0; e < r; e += 1) {\n i += t[e].transform.key + \"_\";\n }\n\n var a = this.sequences[i];\n return a || (a = {\n transforms: [].concat(t),\n finalTransform: new Matrix(),\n _mdf: !1\n }, this.sequences[i] = a, this.sequenceList.push(a)), a;\n },\n processSequence: function processSequence(t, e) {\n for (var r, i = 0, a = t.transforms.length, s = e; i < a && !e;) {\n if (t.transforms[i].transform.mProps._mdf) {\n s = !0;\n break;\n }\n\n i += 1;\n }\n\n if (s) for (t.finalTransform.reset(), i = a - 1; i >= 0; i -= 1) {\n r = t.transforms[i].transform.mProps.v.props, t.finalTransform.transform(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11], r[12], r[13], r[14], r[15]);\n }\n t._mdf = s;\n },\n processSequences: function processSequences(t) {\n var e,\n r = this.sequenceList.length;\n\n for (e = 0; e < r; e += 1) {\n this.processSequence(this.sequenceList[e], t);\n }\n },\n getNewKey: function getNewKey() {\n return this.transform_key_count += 1, \"_\" + this.transform_key_count;\n }\n }, CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated, BaseElement.prototype = {\n checkMasks: function checkMasks() {\n if (!this.data.hasMask) return !1;\n\n for (var t = 0, e = this.data.masksProperties.length; t < e;) {\n if (\"n\" !== this.data.masksProperties[t].mode && !1 !== this.data.masksProperties[t].cl) return !0;\n t += 1;\n }\n\n return !1;\n },\n initExpressions: function initExpressions() {\n this.layerInterface = LayerExpressionInterface(this), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);\n var t = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(t), 0 === this.data.ty || this.data.xt ? this.compInterface = CompExpressionInterface(this) : 4 === this.data.ty ? (this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface), this.layerInterface.content = this.layerInterface.shapeInterface) : 5 === this.data.ty && (this.layerInterface.textInterface = TextExpressionInterface(this), this.layerInterface.text = this.layerInterface.textInterface);\n },\n setBlendMode: function setBlendMode() {\n var t = getBlendMode(this.data.bm);\n (this.baseElement || this.layerElement).style[\"mix-blend-mode\"] = t;\n },\n initBaseData: function initBaseData(t, e, r) {\n this.globalData = e, this.comp = r, this.data = t, this.layerId = createElementID(), this.data.sr || (this.data.sr = 1), this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function getType() {\n return this.type;\n },\n sourceRectAtTime: function sourceRectAtTime() {}\n }, NullElement.prototype.prepareFrame = function (t) {\n this.prepareProperties(t, !0);\n }, NullElement.prototype.renderFrame = function () {}, NullElement.prototype.getBaseElement = function () {\n return null;\n }, NullElement.prototype.destroy = function () {}, NullElement.prototype.sourceRectAtTime = function () {}, NullElement.prototype.hide = function () {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement), SVGBaseElement.prototype = {\n initRendererElement: function initRendererElement() {\n this.layerElement = createNS(\"g\");\n },\n createContainerElements: function createContainerElements() {\n this.matteElement = createNS(\"g\"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;\n var t,\n e,\n r,\n i = null;\n\n if (this.data.td) {\n if (3 == this.data.td || 1 == this.data.td) {\n var a = createNS(\"mask\");\n a.setAttribute(\"id\", this.layerId), a.setAttribute(\"mask-type\", 3 == this.data.td ? \"luminance\" : \"alpha\"), a.appendChild(this.layerElement), i = a, this.globalData.defs.appendChild(a), featureSupport.maskType || 1 != this.data.td || (a.setAttribute(\"mask-type\", \"luminance\"), t = createElementID(), e = filtersFactory.createFilter(t), this.globalData.defs.appendChild(e), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), (r = createNS(\"g\")).appendChild(this.layerElement), i = r, a.appendChild(r), r.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"));\n } else if (2 == this.data.td) {\n var s = createNS(\"mask\");\n s.setAttribute(\"id\", this.layerId), s.setAttribute(\"mask-type\", \"alpha\");\n var n = createNS(\"g\");\n s.appendChild(n), t = createElementID(), e = filtersFactory.createFilter(t);\n var o = createNS(\"feComponentTransfer\");\n o.setAttribute(\"in\", \"SourceGraphic\"), e.appendChild(o);\n var h = createNS(\"feFuncA\");\n h.setAttribute(\"type\", \"table\"), h.setAttribute(\"tableValues\", \"1.0 0.0\"), o.appendChild(h), this.globalData.defs.appendChild(e);\n var l = createNS(\"rect\");\n l.setAttribute(\"width\", this.comp.data.w), l.setAttribute(\"height\", this.comp.data.h), l.setAttribute(\"x\", \"0\"), l.setAttribute(\"y\", \"0\"), l.setAttribute(\"fill\", \"#ffffff\"), l.setAttribute(\"opacity\", \"0\"), n.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"), n.appendChild(l), n.appendChild(this.layerElement), i = n, featureSupport.maskType || (s.setAttribute(\"mask-type\", \"luminance\"), e.appendChild(filtersFactory.createAlphaToLuminanceFilter()), r = createNS(\"g\"), n.appendChild(l), r.appendChild(this.layerElement), i = r, n.appendChild(r)), this.globalData.defs.appendChild(s);\n }\n } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), i = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;\n\n if (this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 === this.data.ty && !this.data.hd) {\n var p = createNS(\"clipPath\"),\n f = createNS(\"path\");\n f.setAttribute(\"d\", \"M0,0 L\" + this.data.w + \",0 L\" + this.data.w + \",\" + this.data.h + \" L0,\" + this.data.h + \"z\");\n var c = createElementID();\n\n if (p.setAttribute(\"id\", c), p.appendChild(f), this.globalData.defs.appendChild(p), this.checkMasks()) {\n var m = createNS(\"g\");\n m.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + c + \")\"), m.appendChild(this.layerElement), this.transformedElement = m, i ? i.appendChild(this.transformedElement) : this.baseElement = this.transformedElement;\n } else this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + c + \")\");\n }\n\n 0 !== this.data.bm && this.setBlendMode();\n },\n renderElement: function renderElement() {\n this.finalTransform._matMdf && this.transformedElement.setAttribute(\"transform\", this.finalTransform.mat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute(\"opacity\", this.finalTransform.mProp.o.v);\n },\n destroyBaseElement: function destroyBaseElement() {\n this.layerElement = null, this.matteElement = null, this.maskManager.destroy();\n },\n getBaseElement: function getBaseElement() {\n return this.data.hd ? null : this.baseElement;\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData), this.renderableEffectsManager = new SVGEffects(this);\n },\n setMatte: function setMatte(t) {\n this.matteElement && this.matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + t + \")\");\n }\n }, IShapeElement.prototype = {\n addShapeToModifiers: function addShapeToModifiers(t) {\n var e,\n r = this.shapeModifiers.length;\n\n for (e = 0; e < r; e += 1) {\n this.shapeModifiers[e].addShape(t);\n }\n },\n isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(t) {\n for (var e = this.shapeModifiers.length; 0 < e;) {\n if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0;\n }\n\n return !1;\n },\n renderModifiers: function renderModifiers() {\n if (this.shapeModifiers.length) {\n var t,\n e = this.shapes.length;\n\n for (t = 0; t < e; t += 1) {\n this.shapes[t].sh.reset();\n }\n\n for (t = (e = this.shapeModifiers.length) - 1; t >= 0 && !this.shapeModifiers[t].processShapes(this._isFirstFrame); t -= 1) {\n ;\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 searchProcessedElement(t) {\n for (var e = this.processedElements, r = 0, i = e.length; r < i;) {\n if (e[r].elem === t) return e[r].pos;\n r += 1;\n }\n\n return 0;\n },\n addProcessedElement: function addProcessedElement(t, e) {\n for (var r = this.processedElements, i = r.length; i;) {\n if (r[i -= 1].elem === t) return void (r[i].pos = e);\n }\n\n r.push(new ProcessedElement(t, e));\n },\n prepareFrame: function prepareFrame(t) {\n this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange);\n }\n }, ITextElement.prototype.initElement = function (t, e, r) {\n this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(t, e, r), this.textProperty = new TextProperty(this, t.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t.t, this.renderType, this), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties);\n }, ITextElement.prototype.prepareFrame = function (t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1);\n }, ITextElement.prototype.createPathShape = function (t, e) {\n var r,\n i,\n a = e.length,\n s = \"\";\n\n for (r = 0; r < a; r += 1) {\n i = e[r].ks.k, s += buildShapeString(i, i.i.length, !0, t);\n }\n\n return s;\n }, ITextElement.prototype.updateDocumentData = function (t, e) {\n this.textProperty.updateDocumentData(t, e);\n }, ITextElement.prototype.canResizeFont = function (t) {\n this.textProperty.canResizeFont(t);\n }, ITextElement.prototype.setMinimumFontSize = function (t) {\n this.textProperty.setMinimumFontSize(t);\n }, ITextElement.prototype.applyTextPropertiesToMatrix = function (t, e, r, i, a) {\n switch (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0), e.translate(0, -t.ls, 0), t.j) {\n case 1:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]), 0, 0);\n break;\n\n case 2:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]) / 2, 0, 0);\n }\n\n e.translate(i, a, 0);\n }, ITextElement.prototype.buildColor = function (t) {\n return \"rgb(\" + Math.round(255 * t[0]) + \",\" + Math.round(255 * t[1]) + \",\" + Math.round(255 * t[2]) + \")\";\n }, ITextElement.prototype.emptyProp = new LetterProps(), ITextElement.prototype.destroy = function () {}, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), ICompElement.prototype.initElement = function (t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), !this.data.xt && e.progressiveLoad || this.buildAllItems(), this.hide();\n }, ICompElement.prototype.prepareFrame = function (t) {\n if (this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.isInRange || this.data.xt) {\n if (this.tm._placeholder) this.renderedFrame = t / this.data.sr;else {\n var e = this.tm.v;\n e === this.data.op && (e = this.data.op - 1), this.renderedFrame = e;\n }\n var r,\n i = this.elements.length;\n\n for (this.completeLayers || this.checkLayers(this.renderedFrame), r = i - 1; r >= 0; r -= 1) {\n (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame(this.renderedFrame - this.layers[r].st), this.elements[r]._mdf && (this._mdf = !0));\n }\n }\n }, ICompElement.prototype.renderInnerContent = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }\n }, ICompElement.prototype.setElements = function (t) {\n this.elements = t;\n }, ICompElement.prototype.getElements = function () {\n return this.elements;\n }, ICompElement.prototype.destroyElements = function () {\n var t,\n e = this.layers.length;\n\n for (t = 0; t < e; t += 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n }, ICompElement.prototype.destroy = function () {\n this.destroyElements(), this.destroyBaseElement();\n }, extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), IImageElement.prototype.createContent = function () {\n var t = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS(\"image\"), this.innerElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.innerElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.innerElem.setAttribute(\"preserveAspectRatio\", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.innerElem);\n }, IImageElement.prototype.sourceRectAtTime = function () {\n return this.sourceRect;\n }, extendPrototype([IImageElement], ISolidElement), ISolidElement.prototype.createContent = function () {\n var t = createNS(\"rect\");\n t.setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.layerElement.appendChild(t);\n }, AudioElement.prototype.prepareFrame = function (t) {\n if (this.prepareRenderableFrame(t, !0), this.prepareProperties(t, !0), this.tm._placeholder) this._currentTime = t / this.data.sr;else {\n var e = this.tm.v;\n this._currentTime = e;\n }\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), AudioElement.prototype.renderFrame = function () {\n this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0));\n }, AudioElement.prototype.show = function () {}, AudioElement.prototype.hide = function () {\n this.audio.pause(), this._isPlaying = !1;\n }, AudioElement.prototype.pause = function () {\n this.audio.pause(), this._isPlaying = !1, this._canPlay = !1;\n }, AudioElement.prototype.resume = function () {\n this._canPlay = !0;\n }, AudioElement.prototype.setRate = function (t) {\n this.audio.rate(t);\n }, AudioElement.prototype.volume = function (t) {\n this.audio.volume(t);\n }, AudioElement.prototype.getBaseElement = function () {\n return null;\n }, AudioElement.prototype.destroy = function () {}, AudioElement.prototype.sourceRectAtTime = function () {}, AudioElement.prototype.initExpressions = function () {}, FootageElement.prototype.prepareFrame = function () {}, extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), FootageElement.prototype.getBaseElement = function () {\n return null;\n }, FootageElement.prototype.renderFrame = function () {}, FootageElement.prototype.destroy = function () {}, FootageElement.prototype.initExpressions = function () {\n this.layerInterface = FootageInterface(this);\n }, FootageElement.prototype.getFootageData = function () {\n return this.footageData;\n }, extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement), extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), SVGTextLottieElement.prototype.createContent = function () {\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"));\n }, SVGTextLottieElement.prototype.buildTextContents = function (t) {\n for (var e = 0, r = t.length, i = [], a = \"\"; e < r;) {\n t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (i.push(a), a = \"\") : a += t[e], e += 1;\n }\n\n return i.push(a), i;\n }, SVGTextLottieElement.prototype.buildNewText = function () {\n var t,\n e,\n r = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(r ? r.l.length : 0), r.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(r.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"), r.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(r.sc)), this.layerElement.setAttribute(\"stroke-width\", r.sw)), this.layerElement.setAttribute(\"font-size\", r.finalSize);\n var i = this.globalData.fontManager.getFontByName(r.f);\n if (i.fClass) this.layerElement.setAttribute(\"class\", i.fClass);else {\n this.layerElement.setAttribute(\"font-family\", i.fFamily);\n var a = r.fWeight,\n s = r.fStyle;\n this.layerElement.setAttribute(\"font-style\", s), this.layerElement.setAttribute(\"font-weight\", a);\n }\n this.layerElement.setAttribute(\"aria-label\", r.t);\n var n,\n o = r.l || [],\n h = !!this.globalData.fontManager.chars;\n e = o.length;\n var l,\n p = this.mHelper,\n f = \"\",\n c = this.data.singleShape,\n m = 0,\n d = 0,\n u = !0,\n y = .001 * r.tr * r.finalSize;\n\n if (!c || h || r.sz) {\n var g,\n v,\n b = this.textSpans.length;\n\n for (t = 0; t < e; t += 1) {\n h && c && 0 !== t || (n = b > t ? this.textSpans[t] : createNS(h ? \"path\" : \"text\"), b <= t && (n.setAttribute(\"stroke-linecap\", \"butt\"), n.setAttribute(\"stroke-linejoin\", \"round\"), n.setAttribute(\"stroke-miterlimit\", \"4\"), this.textSpans[t] = n, this.layerElement.appendChild(n)), n.style.display = \"inherit\"), p.reset(), p.scale(r.finalSize / 100, r.finalSize / 100), c && (o[t].n && (m = -y, d += r.yOffset, d += u ? 1 : 0, u = !1), this.applyTextPropertiesToMatrix(r, p, o[t].line, m, d), m += o[t].l || 0, m += y), h ? (l = (g = (v = this.globalData.fontManager.getCharData(r.finalText[t], i.fStyle, this.globalData.fontManager.getFontByName(r.f).fFamily)) && v.data || {}).shapes ? g.shapes[0].it : [], c ? f += this.createPathShape(p, l) : n.setAttribute(\"d\", this.createPathShape(p, l))) : (c && n.setAttribute(\"transform\", \"translate(\" + p.props[12] + \",\" + p.props[13] + \")\"), n.textContent = o[t].val, n.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"));\n }\n\n c && n && n.setAttribute(\"d\", f);\n } else {\n var x = this.textContainer,\n E = \"start\";\n\n switch (r.j) {\n case 1:\n E = \"end\";\n break;\n\n case 2:\n E = \"middle\";\n break;\n\n default:\n E = \"start\";\n }\n\n x.setAttribute(\"text-anchor\", E), x.setAttribute(\"letter-spacing\", y);\n var P = this.buildTextContents(r.finalText);\n\n for (e = P.length, d = r.ps ? r.ps[1] + r.ascent : 0, t = 0; t < e; t += 1) {\n (n = this.textSpans[t] || createNS(\"tspan\")).textContent = P[t], n.setAttribute(\"x\", 0), n.setAttribute(\"y\", d), n.style.display = \"inherit\", x.appendChild(n), this.textSpans[t] = n, d += r.finalLineHeight;\n }\n\n this.layerElement.appendChild(x);\n }\n\n for (; t < this.textSpans.length;) {\n this.textSpans[t].style.display = \"none\", t += 1;\n }\n\n this._sizeChanged = !0;\n }, SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {\n this._sizeChanged = !1;\n var t = this.layerElement.getBBox();\n this.bbox = {\n top: t.y,\n left: t.x,\n width: t.width,\n height: t.height\n };\n }\n\n return this.bbox;\n }, SVGTextLottieElement.prototype.renderInnerContent = function () {\n if (!this.data.singleShape && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {\n var t, e;\n this._sizeChanged = !0;\n var r,\n i,\n a = this.textAnimator.renderedLetters,\n s = this.textProperty.currentData.l;\n\n for (e = s.length, t = 0; t < e; t += 1) {\n s[t].n || (r = a[t], i = this.textSpans[t], r._mdf.m && i.setAttribute(\"transform\", r.m), r._mdf.o && i.setAttribute(\"opacity\", r.o), r._mdf.sw && i.setAttribute(\"stroke-width\", r.sw), r._mdf.sc && i.setAttribute(\"stroke\", r.sc), r._mdf.fc && i.setAttribute(\"fill\", r.fc));\n }\n }\n }, extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), SVGShapeElement.prototype.initSecondaryElement = function () {}, SVGShapeElement.prototype.identityMatrix = new Matrix(), SVGShapeElement.prototype.buildExpressionInterface = function () {}, SVGShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes();\n }, SVGShapeElement.prototype.filterUniqueShapes = function () {\n var t,\n e,\n r,\n i,\n a = this.shapes.length,\n s = this.stylesList.length,\n n = [],\n o = !1;\n\n for (r = 0; r < s; r += 1) {\n for (i = this.stylesList[r], o = !1, n.length = 0, t = 0; t < a; t += 1) {\n -1 !== (e = this.shapes[t]).styles.indexOf(i) && (n.push(e), o = e._isAnimated || o);\n }\n\n n.length > 1 && o && this.setShapesAsAnimated(n);\n }\n }, SVGShapeElement.prototype.setShapesAsAnimated = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e].setAsAnimated();\n }\n }, SVGShapeElement.prototype.createStyleElement = function (t, e) {\n var r,\n i = new SVGStyleData(t, e),\n a = i.pElem;\n if (\"st\" === t.ty) r = new SVGStrokeStyleData(this, t, i);else if (\"fl\" === t.ty) r = new SVGFillStyleData(this, t, i);else if (\"gf\" === t.ty || \"gs\" === t.ty) {\n r = new (\"gf\" === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, t, i), this.globalData.defs.appendChild(r.gf), r.maskId && (this.globalData.defs.appendChild(r.ms), this.globalData.defs.appendChild(r.of), a.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + r.maskId + \")\"));\n }\n return \"st\" !== t.ty && \"gs\" !== t.ty || (a.setAttribute(\"stroke-linecap\", this.lcEnum[t.lc] || \"round\"), a.setAttribute(\"stroke-linejoin\", this.ljEnum[t.lj] || \"round\"), a.setAttribute(\"fill-opacity\", \"0\"), 1 === t.lj && a.setAttribute(\"stroke-miterlimit\", t.ml)), 2 === t.r && a.setAttribute(\"fill-rule\", \"evenodd\"), t.ln && a.setAttribute(\"id\", t.ln), t.cl && a.setAttribute(\"class\", t.cl), t.bm && (a.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), this.stylesList.push(i), this.addToAnimatedContents(t, r), r;\n }, SVGShapeElement.prototype.createGroupElement = function (t) {\n var e = new ShapeGroupData();\n return t.ln && e.gr.setAttribute(\"id\", t.ln), t.cl && e.gr.setAttribute(\"class\", t.cl), t.bm && (e.gr.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), e;\n }, SVGShapeElement.prototype.createTransformElement = function (t, e) {\n var r = TransformPropertyFactory.getTransformProperty(this, t, this),\n i = new SVGTransformData(r, r.o, e);\n return this.addToAnimatedContents(t, i), i;\n }, SVGShapeElement.prototype.createShapeElement = function (t, e, r) {\n var i = 4;\n \"rc\" === t.ty ? i = 5 : \"el\" === t.ty ? i = 6 : \"sr\" === t.ty && (i = 7);\n var a = new SVGShapeData(e, r, ShapePropertyFactory.getShapeProp(this, t, i, this));\n return this.shapes.push(a), this.addShapeToModifiers(a), this.addToAnimatedContents(t, a), a;\n }, SVGShapeElement.prototype.addToAnimatedContents = function (t, e) {\n for (var r = 0, i = this.animatedContents.length; r < i;) {\n if (this.animatedContents[r].element === e) return;\n r += 1;\n }\n\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(t),\n element: e,\n data: t\n });\n }, SVGShapeElement.prototype.setElementStyles = function (t) {\n var e,\n r = t.styles,\n i = this.stylesList.length;\n\n for (e = 0; e < i; e += 1) {\n this.stylesList[e].closed || r.push(this.stylesList[e]);\n }\n }, SVGShapeElement.prototype.reloadShapes = function () {\n var t;\n this._isFirstFrame = !0;\n var e = this.itemsData.length;\n\n for (t = 0; t < e; t += 1) {\n this.prevViewData[t] = this.itemsData[t];\n }\n\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), e = this.dynamicProperties.length, t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue();\n }\n\n this.renderModifiers();\n }, SVGShapeElement.prototype.searchShapes = function (t, e, r, i, a, s, n) {\n var o,\n h,\n l,\n p,\n f,\n c,\n m = [].concat(s),\n d = t.length - 1,\n u = [],\n y = [];\n\n for (o = d; o >= 0; o -= 1) {\n if ((c = this.searchProcessedElement(t[o])) ? e[o] = r[c - 1] : t[o]._render = n, \"fl\" === t[o].ty || \"st\" === t[o].ty || \"gf\" === t[o].ty || \"gs\" === t[o].ty) c ? e[o].style.closed = !1 : e[o] = this.createStyleElement(t[o], a), t[o]._render && i.appendChild(e[o].style.pElem), u.push(e[o].style);else if (\"gr\" === t[o].ty) {\n if (c) for (l = e[o].it.length, h = 0; h < l; h += 1) {\n e[o].prevViewData[h] = e[o].it[h];\n } else e[o] = this.createGroupElement(t[o]);\n this.searchShapes(t[o].it, e[o].it, e[o].prevViewData, e[o].gr, a + 1, m, n), t[o]._render && i.appendChild(e[o].gr);\n } else \"tr\" === t[o].ty ? (c || (e[o] = this.createTransformElement(t[o], i)), p = e[o].transform, m.push(p)) : \"sh\" === t[o].ty || \"rc\" === t[o].ty || \"el\" === t[o].ty || \"sr\" === t[o].ty ? (c || (e[o] = this.createShapeElement(t[o], m, a)), this.setElementStyles(e[o])) : \"tm\" === t[o].ty || \"rd\" === t[o].ty || \"ms\" === t[o].ty || \"pb\" === t[o].ty ? (c ? (f = e[o]).closed = !1 : ((f = ShapeModifiers.getModifier(t[o].ty)).init(this, t[o]), e[o] = f, this.shapeModifiers.push(f)), y.push(f)) : \"rp\" === t[o].ty && (c ? (f = e[o]).closed = !0 : (f = ShapeModifiers.getModifier(t[o].ty), e[o] = f, f.init(this, t, o, e), this.shapeModifiers.push(f), n = !1), y.push(f));\n this.addProcessedElement(t[o], o + 1);\n }\n\n for (d = u.length, o = 0; o < d; o += 1) {\n u[o].closed = !0;\n }\n\n for (d = y.length, o = 0; o < d; o += 1) {\n y[o].closed = !0;\n }\n }, SVGShapeElement.prototype.renderInnerContent = function () {\n var t;\n this.renderModifiers();\n var e = this.stylesList.length;\n\n for (t = 0; t < e; t += 1) {\n this.stylesList[t].reset();\n }\n\n for (this.renderShape(), t = 0; t < e; t += 1) {\n (this.stylesList[t]._mdf || this._isFirstFrame) && (this.stylesList[t].msElem && (this.stylesList[t].msElem.setAttribute(\"d\", this.stylesList[t].d), this.stylesList[t].d = \"M0 0\" + this.stylesList[t].d), this.stylesList[t].pElem.setAttribute(\"d\", this.stylesList[t].d || \"M0 0\"));\n }\n }, SVGShapeElement.prototype.renderShape = function () {\n var t,\n e,\n r = this.animatedContents.length;\n\n for (t = 0; t < r; t += 1) {\n e = this.animatedContents[t], (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame);\n }\n }, SVGShapeElement.prototype.destroy = function () {\n this.destroyBaseElement(), this.shapesData = null, this.itemsData = null;\n }, SVGTintFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = this.filterManager.effectElements[2].p.v / 100;\n this.matrixFilter.setAttribute(\"values\", r[0] - e[0] + \" 0 0 0 \" + e[0] + \" \" + (r[1] - e[1]) + \" 0 0 0 \" + e[1] + \" \" + (r[2] - e[2]) + \" 0 0 0 \" + e[2] + \" 0 0 0 \" + i + \" 0\");\n }\n }, SVGFillFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[2].p.v,\n r = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + e[0] + \" 0 0 0 0 \" + e[1] + \" 0 0 0 0 \" + e[2] + \" 0 0 0 \" + r + \" 0\");\n }\n }, SVGGaussianBlurEffect.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = .3 * this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = 3 == r ? 0 : e,\n a = 2 == r ? 0 : e;\n this.feGaussianBlur.setAttribute(\"stdDeviation\", i + \" \" + a);\n var s = 1 == this.filterManager.effectElements[2].p.v ? \"wrap\" : \"duplicate\";\n this.feGaussianBlur.setAttribute(\"edgeMode\", s);\n }\n }, SVGStrokeEffect.prototype.initialize = function () {\n var t,\n e,\n r,\n i,\n a = this.elem.layerElement.children || this.elem.layerElement.childNodes;\n\n for (1 === this.filterManager.effectElements[1].p.v ? (i = this.elem.maskManager.masksProperties.length, r = 0) : i = (r = this.filterManager.effectElements[0].p.v - 1) + 1, (e = createNS(\"g\")).setAttribute(\"fill\", \"none\"), e.setAttribute(\"stroke-linecap\", \"round\"), e.setAttribute(\"stroke-dashoffset\", 1); r < i; r += 1) {\n t = createNS(\"path\"), e.appendChild(t), this.paths.push({\n p: t,\n m: r\n });\n }\n\n if (3 === this.filterManager.effectElements[10].p.v) {\n var s = createNS(\"mask\"),\n n = createElementID();\n s.setAttribute(\"id\", n), s.setAttribute(\"mask-type\", \"alpha\"), s.appendChild(e), this.elem.globalData.defs.appendChild(s);\n var o = createNS(\"g\");\n\n for (o.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + n + \")\"); a[0];) {\n o.appendChild(a[0]);\n }\n\n this.elem.layerElement.appendChild(o), this.masker = s, e.setAttribute(\"stroke\", \"#fff\");\n } else if (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) {\n if (2 === this.filterManager.effectElements[10].p.v) for (a = this.elem.layerElement.children || this.elem.layerElement.childNodes; a.length;) {\n this.elem.layerElement.removeChild(a[0]);\n }\n this.elem.layerElement.appendChild(e), this.elem.layerElement.removeAttribute(\"mask\"), e.setAttribute(\"stroke\", \"#fff\");\n }\n\n this.initialized = !0, this.pathMasker = e;\n }, SVGStrokeEffect.prototype.renderFrame = function (t) {\n var e;\n this.initialized || this.initialize();\n var r,\n i,\n a = this.paths.length;\n\n for (e = 0; e < a; e += 1) {\n if (-1 !== this.paths[e].m && (r = this.elem.maskManager.viewData[this.paths[e].m], i = this.paths[e].p, (t || this.filterManager._mdf || r.prop._mdf) && i.setAttribute(\"d\", r.lastPath), t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r.prop._mdf)) {\n var s;\n\n if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {\n var n = .01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),\n o = .01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v),\n h = i.getTotalLength();\n s = \"0 0 0 \" + h * n + \" \";\n var l,\n p = h * (o - n),\n f = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01,\n c = Math.floor(p / f);\n\n for (l = 0; l < c; l += 1) {\n s += \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01 + \" \";\n }\n\n s += \"0 \" + 10 * h + \" 0 0\";\n } else s = \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01;\n\n i.setAttribute(\"stroke-dasharray\", s);\n }\n }\n\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute(\"stroke-width\", 2 * this.filterManager.effectElements[4].p.v), (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute(\"opacity\", this.filterManager.effectElements[6].p.v), (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t || this.filterManager.effectElements[3].p._mdf)) {\n var m = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(255 * m[0]) + \",\" + bmFloor(255 * m[1]) + \",\" + bmFloor(255 * m[2]) + \")\");\n }\n }, SVGTritoneFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v,\n r = this.filterManager.effectElements[1].p.v,\n i = this.filterManager.effectElements[2].p.v,\n a = i[0] + \" \" + r[0] + \" \" + e[0],\n s = i[1] + \" \" + r[1] + \" \" + e[1],\n n = i[2] + \" \" + r[2] + \" \" + e[2];\n this.feFuncR.setAttribute(\"tableValues\", a), this.feFuncG.setAttribute(\"tableValues\", s), this.feFuncB.setAttribute(\"tableValues\", n);\n }\n }, SVGProLevelsFilter.prototype.createFeFunc = function (t, e) {\n var r = createNS(t);\n return r.setAttribute(\"type\", \"table\"), e.appendChild(r), r;\n }, SVGProLevelsFilter.prototype.getTableValue = function (t, e, r, i, a) {\n for (var s, n, o = 0, h = Math.min(t, e), l = Math.max(t, e), p = Array.call(null, {\n length: 256\n }), f = 0, c = a - i, m = e - t; o <= 256;) {\n n = (s = o / 256) <= h ? m < 0 ? a : i : s >= l ? m < 0 ? i : a : i + c * Math.pow((s - t) / m, 1 / r), p[f] = n, f += 1, o += 256 / 255;\n }\n\n return p.join(\" \");\n }, SVGProLevelsFilter.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n var e,\n r = this.filterManager.effectElements;\n this.feFuncRComposed && (t || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && (e = this.getTableValue(r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v), this.feFuncRComposed.setAttribute(\"tableValues\", e), this.feFuncGComposed.setAttribute(\"tableValues\", e), this.feFuncBComposed.setAttribute(\"tableValues\", e)), this.feFuncR && (t || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && (e = this.getTableValue(r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v), this.feFuncR.setAttribute(\"tableValues\", e)), this.feFuncG && (t || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && (e = this.getTableValue(r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v), this.feFuncG.setAttribute(\"tableValues\", e)), this.feFuncB && (t || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && (e = this.getTableValue(r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v), this.feFuncB.setAttribute(\"tableValues\", e)), this.feFuncA && (t || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && (e = this.getTableValue(r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v), this.feFuncA.setAttribute(\"tableValues\", e));\n }\n }, SVGDropShadowEffect.prototype.renderFrame = function (t) {\n if (t || this.filterManager._mdf) {\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute(\"stdDeviation\", this.filterManager.effectElements[4].p.v / 4), t || this.filterManager.effectElements[0].p._mdf) {\n var e = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(255 * e[0]), Math.round(255 * e[1]), Math.round(255 * e[2])));\n }\n\n if ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute(\"flood-opacity\", this.filterManager.effectElements[1].p.v / 255), t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var r = this.filterManager.effectElements[3].p.v,\n i = (this.filterManager.effectElements[2].p.v - 90) * degToRads,\n a = r * Math.cos(i),\n s = r * Math.sin(i);\n this.feOffset.setAttribute(\"dx\", a), this.feOffset.setAttribute(\"dy\", s);\n }\n }\n };\n var _svgMatteSymbols = [];\n\n function SVGMatte3Effect(t, e, r) {\n this.initialized = !1, this.filterManager = e, this.filterElem = t, this.elem = r, r.matteElement = createNS(\"g\"), r.matteElement.appendChild(r.layerElement), r.matteElement.appendChild(r.transformedElement), r.baseElement = r.matteElement;\n }\n\n function SVGEffects(t) {\n var e,\n r,\n i = t.data.ef ? t.data.ef.length : 0,\n a = createElementID(),\n s = filtersFactory.createFilter(a, !0),\n n = 0;\n\n for (this.filters = [], e = 0; e < i; e += 1) {\n r = null, 20 === t.data.ef[e].ty ? (n += 1, r = new SVGTintFilter(s, t.effectsManager.effectElements[e])) : 21 === t.data.ef[e].ty ? (n += 1, r = new SVGFillFilter(s, t.effectsManager.effectElements[e])) : 22 === t.data.ef[e].ty ? r = new SVGStrokeEffect(t, t.effectsManager.effectElements[e]) : 23 === t.data.ef[e].ty ? (n += 1, r = new SVGTritoneFilter(s, t.effectsManager.effectElements[e])) : 24 === t.data.ef[e].ty ? (n += 1, r = new SVGProLevelsFilter(s, t.effectsManager.effectElements[e])) : 25 === t.data.ef[e].ty ? (n += 1, r = new SVGDropShadowEffect(s, t.effectsManager.effectElements[e])) : 28 === t.data.ef[e].ty ? r = new SVGMatte3Effect(s, t.effectsManager.effectElements[e], t) : 29 === t.data.ef[e].ty && (n += 1, r = new SVGGaussianBlurEffect(s, t.effectsManager.effectElements[e])), r && this.filters.push(r);\n }\n\n n && (t.globalData.defs.appendChild(s), t.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + a + \")\")), this.filters.length && t.addRenderableComponent(this);\n }\n\n function CVContextData() {\n var t;\n this.saved = [], this.cArrPos = 0, this.cTr = new Matrix(), this.cO = 1;\n\n for (this.savedOp = createTypedArray(\"float32\", 15), t = 0; t < 15; t += 1) {\n this.saved[t] = createTypedArray(\"float32\", 16);\n }\n\n this._length = 15;\n }\n\n function CVBaseElement() {}\n\n function CVImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.img = e.imageLoader.getAsset(this.assetData), this.initElement(t, e, r);\n }\n\n function CVCompElement(t, e, r) {\n this.completeLayers = !1, this.layers = t.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function CVMaskElement(t, e) {\n var r;\n this.data = t, this.element = e, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);\n var i = this.masksProperties.length,\n a = !1;\n\n for (r = 0; r < i; r += 1) {\n \"n\" !== this.masksProperties[r].mode && (a = !0), this.viewData[r] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r], 3);\n }\n\n this.hasMasks = a, a && this.element.addRenderableComponent(this);\n }\n\n function CVShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.itemsData = [], this.prevViewData = [], this.shapeModifiers = [], this.processedElements = [], this.transformsManager = new ShapeTransformManager(), this.initElement(t, e, r);\n }\n\n function CVSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function CVTextElement(t, e, r) {\n this.textSpans = [], this.yOffset = 0, this.fillColorAnim = !1, this.strokeColorAnim = !1, this.strokeWidthAnim = !1, this.stroke = !1, this.fill = !1, this.justifyOffset = 0, this.currentRender = null, this.renderType = \"canvas\", this.values = {\n fill: \"rgba(0,0,0,0)\",\n stroke: \"rgba(0,0,0,0)\",\n sWidth: 0,\n fValue: \"\"\n }, this.initElement(t, e, r);\n }\n\n function CVEffects() {}\n\n function HBaseElement() {}\n\n function HSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n\n function HCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !t.hasMask, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n\n function HShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.shapesContainer = createNS(\"g\"), this.initElement(t, e, r), this.prevViewData = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n\n function HTextElement(t, e, r) {\n this.textSpans = [], this.textPaths = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n }, this.renderType = \"svg\", this.isMasked = !1, this.initElement(t, e, r);\n }\n\n function HImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r);\n }\n\n function HCameraElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initHierarchy();\n var i = PropertyFactory.getProp;\n\n if (this.pe = i(this, t.pe, 0, 0, this), t.ks.p.s ? (this.px = i(this, t.ks.p.x, 1, 0, this), this.py = i(this, t.ks.p.y, 1, 0, this), this.pz = i(this, t.ks.p.z, 1, 0, this)) : this.p = i(this, t.ks.p, 1, 0, this), t.ks.a && (this.a = i(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) {\n var a,\n s = t.ks.or.k.length;\n\n for (a = 0; a < s; a += 1) {\n t.ks.or.k[a].to = null, t.ks.or.k[a].ti = null;\n }\n }\n\n this.or = i(this, t.ks.or, 1, degToRads, this), this.or.sh = !0, this.rx = i(this, t.ks.rx, 0, degToRads, this), this.ry = i(this, t.ks.ry, 0, degToRads, this), this.rz = i(this, t.ks.rz, 0, degToRads, this), this.mat = new Matrix(), this._prevMat = new Matrix(), this._isFirstFrame = !0, this.finalTransform = {\n mProp: this\n };\n }\n\n function HEffects() {}\n\n SVGMatte3Effect.prototype.findSymbol = function (t) {\n for (var e = 0, r = _svgMatteSymbols.length; e < r;) {\n if (_svgMatteSymbols[e] === t) return _svgMatteSymbols[e];\n e += 1;\n }\n\n return null;\n }, SVGMatte3Effect.prototype.replaceInParent = function (t, e) {\n var r = t.layerElement.parentNode;\n\n if (r) {\n for (var i, a = r.children, s = 0, n = a.length; s < n && a[s] !== t.layerElement;) {\n s += 1;\n }\n\n s <= n - 2 && (i = a[s + 1]);\n var o = createNS(\"use\");\n o.setAttribute(\"href\", \"#\" + e), i ? r.insertBefore(o, i) : r.appendChild(o);\n }\n }, SVGMatte3Effect.prototype.setElementAsMask = function (t, e) {\n if (!this.findSymbol(e)) {\n var r = createElementID(),\n i = createNS(\"mask\");\n i.setAttribute(\"id\", e.layerId), i.setAttribute(\"mask-type\", \"alpha\"), _svgMatteSymbols.push(e);\n var a = t.globalData.defs;\n a.appendChild(i);\n var s = createNS(\"symbol\");\n s.setAttribute(\"id\", r), this.replaceInParent(e, r), s.appendChild(e.layerElement), a.appendChild(s);\n var n = createNS(\"use\");\n n.setAttribute(\"href\", \"#\" + r), i.appendChild(n), e.data.hd = !1, e.show();\n }\n\n t.setMatte(e.layerId);\n }, SVGMatte3Effect.prototype.initialize = function () {\n for (var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, r = 0, i = e.length; r < i;) {\n e[r] && e[r].data.ind === t && this.setElementAsMask(this.elem, e[r]), r += 1;\n }\n\n this.initialized = !0;\n }, SVGMatte3Effect.prototype.renderFrame = function () {\n this.initialized || this.initialize();\n }, SVGEffects.prototype.renderFrame = function (t) {\n var e,\n r = this.filters.length;\n\n for (e = 0; e < r; e += 1) {\n this.filters[e].renderFrame(t);\n }\n }, CVContextData.prototype.duplicate = function () {\n var t = 2 * this._length,\n e = this.savedOp;\n this.savedOp = createTypedArray(\"float32\", t), this.savedOp.set(e);\n var r = 0;\n\n for (r = this._length; r < t; r += 1) {\n this.saved[r] = createTypedArray(\"float32\", 16);\n }\n\n this._length = t;\n }, CVContextData.prototype.reset = function () {\n this.cArrPos = 0, this.cTr.reset(), this.cO = 1;\n }, CVBaseElement.prototype = {\n createElements: function createElements() {},\n initRendererElement: function initRendererElement() {},\n createContainerElements: function createContainerElements() {\n this.canvasContext = this.globalData.canvasContext, this.renderableEffectsManager = new CVEffects(this);\n },\n createContent: function createContent() {},\n setBlendMode: function setBlendMode() {\n var t = this.globalData;\n\n if (t.blendMode !== this.data.bm) {\n t.blendMode = this.data.bm;\n var e = getBlendMode(this.data.bm);\n t.canvasContext.globalCompositeOperation = e;\n }\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new CVMaskElement(this.data, this);\n },\n hideElement: function hideElement() {\n this.hidden || this.isInRange && !this.isTransparent || (this.hidden = !0);\n },\n showElement: function showElement() {\n this.isInRange && !this.isTransparent && (this.hidden = !1, this._isFirstFrame = !0, this.maskManager._isFirstFrame = !0);\n },\n renderFrame: function renderFrame() {\n if (!this.hidden && !this.data.hd) {\n this.renderTransform(), this.renderRenderable(), this.setBlendMode();\n var t = 0 === this.data.ty;\n this.globalData.renderer.save(t), this.globalData.renderer.ctxTransform(this.finalTransform.mat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v), this.renderInnerContent(), this.globalData.renderer.restore(t), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1);\n }\n },\n destroy: function destroy() {\n this.canvasContext = null, this.data = null, this.globalData = null, this.maskManager.destroy();\n },\n mHelper: new Matrix()\n }, CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement, CVBaseElement.prototype.show = CVBaseElement.prototype.showElement, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVImageElement.prototype.createContent = function () {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var t = createTag(\"canvas\");\n t.width = this.assetData.w, t.height = this.assetData.h;\n var e,\n r,\n i = t.getContext(\"2d\"),\n a = this.img.width,\n s = this.img.height,\n n = a / s,\n o = this.assetData.w / this.assetData.h,\n h = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n n > o && \"xMidYMid slice\" === h || n < o && \"xMidYMid slice\" !== h ? e = (r = s) * o : r = (e = a) / o, i.drawImage(this.img, (a - e) / 2, (s - r) / 2, e, r, 0, 0, this.assetData.w, this.assetData.h), this.img = t;\n }\n }, CVImageElement.prototype.renderInnerContent = function () {\n this.canvasContext.drawImage(this.img, 0, 0);\n }, CVImageElement.prototype.destroy = function () {\n this.img = null;\n }, extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement), CVCompElement.prototype.renderInnerContent = function () {\n var t,\n e = this.canvasContext;\n\n for (e.beginPath(), e.moveTo(0, 0), e.lineTo(this.data.w, 0), e.lineTo(this.data.w, this.data.h), e.lineTo(0, this.data.h), e.lineTo(0, 0), e.clip(), t = this.layers.length - 1; t >= 0; t -= 1) {\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }\n }, CVCompElement.prototype.destroy = function () {\n var t;\n\n for (t = this.layers.length - 1; t >= 0; t -= 1) {\n this.elements[t] && this.elements[t].destroy();\n }\n\n this.layers = null, this.elements = null;\n }, CVMaskElement.prototype.renderFrame = function () {\n if (this.hasMasks) {\n var t,\n e,\n r,\n i,\n a = this.element.finalTransform.mat,\n s = this.element.canvasContext,\n n = this.masksProperties.length;\n\n for (s.beginPath(), t = 0; t < n; t += 1) {\n if (\"n\" !== this.masksProperties[t].mode) {\n var o;\n this.masksProperties[t].inv && (s.moveTo(0, 0), s.lineTo(this.element.globalData.compSize.w, 0), s.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), s.lineTo(0, this.element.globalData.compSize.h), s.lineTo(0, 0)), i = this.viewData[t].v, e = a.applyToPointArray(i.v[0][0], i.v[0][1], 0), s.moveTo(e[0], e[1]);\n var h = i._length;\n\n for (o = 1; o < h; o += 1) {\n r = a.applyToTriplePoints(i.o[o - 1], i.i[o], i.v[o]), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\n }\n\n r = a.applyToTriplePoints(i.o[o - 1], i.i[0], i.v[0]), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\n }\n }\n\n this.element.globalData.renderer.save(!0), s.clip();\n }\n }, CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty, CVMaskElement.prototype.destroy = function () {\n this.element = null;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement, CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: !1\n }, CVShapeElement.prototype.dashResetter = [], CVShapeElement.prototype.createContent = function () {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []);\n }, CVShapeElement.prototype.createStyleElement = function (t, e) {\n var r = {\n data: t,\n type: t.ty,\n preTransforms: this.transformsManager.addTransformSequence(e),\n transforms: [],\n elements: [],\n closed: !0 === t.hd\n },\n i = {};\n\n if (\"fl\" === t.ty || \"st\" === t.ty ? (i.c = PropertyFactory.getProp(this, t.c, 1, 255, this), i.c.k || (r.co = \"rgb(\" + bmFloor(i.c.v[0]) + \",\" + bmFloor(i.c.v[1]) + \",\" + bmFloor(i.c.v[2]) + \")\")) : \"gf\" !== t.ty && \"gs\" !== t.ty || (i.s = PropertyFactory.getProp(this, t.s, 1, null, this), i.e = PropertyFactory.getProp(this, t.e, 1, null, this), i.h = PropertyFactory.getProp(this, t.h || {\n k: 0\n }, 0, .01, this), i.a = PropertyFactory.getProp(this, t.a || {\n k: 0\n }, 0, degToRads, this), i.g = new GradientProperty(this, t.g, this)), i.o = PropertyFactory.getProp(this, t.o, 0, .01, this), \"st\" === t.ty || \"gs\" === t.ty) {\n if (r.lc = this.lcEnum[t.lc] || \"round\", r.lj = this.ljEnum[t.lj] || \"round\", 1 == t.lj && (r.ml = t.ml), i.w = PropertyFactory.getProp(this, t.w, 0, null, this), i.w.k || (r.wi = i.w.v), t.d) {\n var a = new DashProperty(this, t.d, \"canvas\", this);\n i.d = a, i.d.k || (r.da = i.d.dashArray, r.do = i.d.dashoffset[0]);\n }\n } else r.r = 2 === t.r ? \"evenodd\" : \"nonzero\";\n\n return this.stylesList.push(r), i.style = r, i;\n }, CVShapeElement.prototype.createGroupElement = function () {\n return {\n it: [],\n prevViewData: []\n };\n }, CVShapeElement.prototype.createTransformElement = function (t) {\n return {\n transform: {\n opacity: 1,\n _opMdf: !1,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, t.o, 0, .01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, t, this)\n }\n };\n }, CVShapeElement.prototype.createShapeElement = function (t) {\n var e = new CVShapeData(this, t, this.stylesList, this.transformsManager);\n return this.shapes.push(e), this.addShapeToModifiers(e), e;\n }, CVShapeElement.prototype.reloadShapes = function () {\n var t;\n this._isFirstFrame = !0;\n var e = this.itemsData.length;\n\n for (t = 0; t < e; t += 1) {\n this.prevViewData[t] = this.itemsData[t];\n }\n\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []), e = this.dynamicProperties.length, t = 0; t < e; t += 1) {\n this.dynamicProperties[t].getValue();\n }\n\n this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }, CVShapeElement.prototype.addTransformToStyleList = function (t) {\n var e,\n r = this.stylesList.length;\n\n for (e = 0; e < r; e += 1) {\n this.stylesList[e].closed || this.stylesList[e].transforms.push(t);\n }\n }, CVShapeElement.prototype.removeTransformFromStyleList = function () {\n var t,\n e = this.stylesList.length;\n\n for (t = 0; t < e; t += 1) {\n this.stylesList[t].closed || this.stylesList[t].transforms.pop();\n }\n }, CVShapeElement.prototype.closeStyles = function (t) {\n var e,\n r = t.length;\n\n for (e = 0; e < r; e += 1) {\n t[e].closed = !0;\n }\n }, CVShapeElement.prototype.searchShapes = function (t, e, r, i, a) {\n var s,\n n,\n o,\n h,\n l,\n p,\n f = t.length - 1,\n c = [],\n m = [],\n d = [].concat(a);\n\n for (s = f; s >= 0; s -= 1) {\n if ((h = this.searchProcessedElement(t[s])) ? e[s] = r[h - 1] : t[s]._shouldRender = i, \"fl\" === t[s].ty || \"st\" === t[s].ty || \"gf\" === t[s].ty || \"gs\" === t[s].ty) h ? e[s].style.closed = !1 : e[s] = this.createStyleElement(t[s], d), c.push(e[s].style);else if (\"gr\" === t[s].ty) {\n if (h) for (o = e[s].it.length, n = 0; n < o; n += 1) {\n e[s].prevViewData[n] = e[s].it[n];\n } else e[s] = this.createGroupElement(t[s]);\n this.searchShapes(t[s].it, e[s].it, e[s].prevViewData, i, d);\n } else \"tr\" === t[s].ty ? (h || (p = this.createTransformElement(t[s]), e[s] = p), d.push(e[s]), this.addTransformToStyleList(e[s])) : \"sh\" === t[s].ty || \"rc\" === t[s].ty || \"el\" === t[s].ty || \"sr\" === t[s].ty ? h || (e[s] = this.createShapeElement(t[s])) : \"tm\" === t[s].ty || \"rd\" === t[s].ty || \"pb\" === t[s].ty ? (h ? (l = e[s]).closed = !1 : ((l = ShapeModifiers.getModifier(t[s].ty)).init(this, t[s]), e[s] = l, this.shapeModifiers.push(l)), m.push(l)) : \"rp\" === t[s].ty && (h ? (l = e[s]).closed = !0 : (l = ShapeModifiers.getModifier(t[s].ty), e[s] = l, l.init(this, t, s, e), this.shapeModifiers.push(l), i = !1), m.push(l));\n this.addProcessedElement(t[s], s + 1);\n }\n\n for (this.removeTransformFromStyleList(), this.closeStyles(c), f = m.length, s = 0; s < f; s += 1) {\n m[s].closed = !0;\n }\n }, CVShapeElement.prototype.renderInnerContent = function () {\n this.transformHelper.opacity = 1, this.transformHelper._opMdf = !1, this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0);\n }, CVShapeElement.prototype.renderShapeTransform = function (t, e) {\n (t._opMdf || e.op._mdf || this._isFirstFrame) && (e.opacity = t.opacity, e.opacity *= e.op.v, e._opMdf = !0);\n }, CVShapeElement.prototype.drawLayer = function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n,\n o,\n h,\n l = this.stylesList.length,\n p = this.globalData.renderer,\n f = this.globalData.canvasContext;\n\n for (t = 0; t < l; t += 1) {\n if ((\"st\" !== (o = (h = this.stylesList[t]).type) && \"gs\" !== o || 0 !== h.wi) && h.data._shouldRender && 0 !== h.coOp && 0 !== this.globalData.currentGlobalAlpha) {\n for (p.save(), s = h.elements, \"st\" === o || \"gs\" === o ? (f.strokeStyle = \"st\" === o ? h.co : h.grd, f.lineWidth = h.wi, f.lineCap = h.lc, f.lineJoin = h.lj, f.miterLimit = h.ml || 0) : f.fillStyle = \"fl\" === o ? h.co : h.grd, p.ctxOpacity(h.coOp), \"st\" !== o && \"gs\" !== o && f.beginPath(), p.ctxTransform(h.preTransforms.finalTransform.props), r = s.length, e = 0; e < r; e += 1) {\n for (\"st\" !== o && \"gs\" !== o || (f.beginPath(), h.da && (f.setLineDash(h.da), f.lineDashOffset = h.do)), a = (n = s[e].trNodes).length, i = 0; i < a; i += 1) {\n \"m\" === n[i].t ? f.moveTo(n[i].p[0], n[i].p[1]) : \"c\" === n[i].t ? f.bezierCurveTo(n[i].pts[0], n[i].pts[1], n[i].pts[2], n[i].pts[3], n[i].pts[4], n[i].pts[5]) : f.closePath();\n }\n\n \"st\" !== o && \"gs\" !== o || (f.stroke(), h.da && f.setLineDash(this.dashResetter));\n }\n\n \"st\" !== o && \"gs\" !== o && f.fill(h.r), p.restore();\n }\n }\n }, CVShapeElement.prototype.renderShape = function (t, e, r, i) {\n var a, s;\n\n for (s = t, a = e.length - 1; a >= 0; a -= 1) {\n \"tr\" === e[a].ty ? (s = r[a].transform, this.renderShapeTransform(t, s)) : \"sh\" === e[a].ty || \"el\" === e[a].ty || \"rc\" === e[a].ty || \"sr\" === e[a].ty ? this.renderPath(e[a], r[a]) : \"fl\" === e[a].ty ? this.renderFill(e[a], r[a], s) : \"st\" === e[a].ty ? this.renderStroke(e[a], r[a], s) : \"gf\" === e[a].ty || \"gs\" === e[a].ty ? this.renderGradientFill(e[a], r[a], s) : \"gr\" === e[a].ty ? this.renderShape(s, e[a].it, r[a].it) : e[a].ty;\n }\n\n i && this.drawLayer();\n }, CVShapeElement.prototype.renderStyledShape = function (t, e) {\n if (this._isFirstFrame || e._mdf || t.transforms._mdf) {\n var r,\n i,\n a,\n s = t.trNodes,\n n = e.paths,\n o = n._length;\n s.length = 0;\n var h = t.transforms.finalTransform;\n\n for (a = 0; a < o; a += 1) {\n var l = n.shapes[a];\n\n if (l && l.v) {\n for (i = l._length, r = 1; r < i; r += 1) {\n 1 === r && s.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), s.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[r], l.v[r])\n });\n }\n\n 1 === i && s.push({\n t: \"m\",\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\n }), l.c && i && (s.push({\n t: \"c\",\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[0], l.v[0])\n }), s.push({\n t: \"z\"\n }));\n }\n }\n\n t.trNodes = s;\n }\n }, CVShapeElement.prototype.renderPath = function (t, e) {\n if (!0 !== t.hd && t._shouldRender) {\n var r,\n i = e.styledShapes.length;\n\n for (r = 0; r < i; r += 1) {\n this.renderStyledShape(e.styledShapes[r], e.sh);\n }\n }\n }, CVShapeElement.prototype.renderFill = function (t, e, r) {\n var i = e.style;\n (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity);\n }, CVShapeElement.prototype.renderGradientFill = function (t, e, r) {\n var i,\n a = e.style;\n\n if (!a.grd || e.g._mdf || e.s._mdf || e.e._mdf || 1 !== t.t && (e.h._mdf || e.a._mdf)) {\n var s,\n n = this.globalData.canvasContext,\n o = e.s.v,\n h = e.e.v;\n if (1 === t.t) i = n.createLinearGradient(o[0], o[1], h[0], h[1]);else {\n var l = Math.sqrt(Math.pow(o[0] - h[0], 2) + Math.pow(o[1] - h[1], 2)),\n p = Math.atan2(h[1] - o[1], h[0] - o[0]),\n f = e.h.v;\n f >= 1 ? f = .99 : f <= -1 && (f = -.99);\n var c = l * f,\n m = Math.cos(p + e.a.v) * c + o[0],\n d = Math.sin(p + e.a.v) * c + o[1];\n i = n.createRadialGradient(m, d, 0, o[0], o[1], l);\n }\n var u = t.g.p,\n y = e.g.c,\n g = 1;\n\n for (s = 0; s < u; s += 1) {\n e.g._hasOpacity && e.g._collapsable && (g = e.g.o[2 * s + 1]), i.addColorStop(y[4 * s] / 100, \"rgba(\" + y[4 * s + 1] + \",\" + y[4 * s + 2] + \",\" + y[4 * s + 3] + \",\" + g + \")\");\n }\n\n a.grd = i;\n }\n\n a.coOp = e.o.v * r.opacity;\n }, CVShapeElement.prototype.renderStroke = function (t, e, r) {\n var i = e.style,\n a = e.d;\n a && (a._mdf || this._isFirstFrame) && (i.da = a.dashArray, i.do = a.dashoffset[0]), (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity), (e.w._mdf || this._isFirstFrame) && (i.wi = e.w.v);\n }, CVShapeElement.prototype.destroy = function () {\n this.shapesData = null, this.globalData = null, this.canvasContext = null, this.stylesList.length = 0, this.itemsData.length = 0;\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVSolidElement.prototype.renderInnerContent = function () {\n var t = this.canvasContext;\n t.fillStyle = this.data.sc, t.fillRect(0, 0, this.data.sw, this.data.sh);\n }, extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\"), CVTextElement.prototype.buildNewText = function () {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = !1;\n t.fc ? (e = !0, this.values.fill = this.buildColor(t.fc)) : this.values.fill = \"rgba(0,0,0,0)\", this.fill = e;\n var r = !1;\n t.sc && (r = !0, this.values.stroke = this.buildColor(t.sc), this.values.sWidth = t.sw);\n var i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d,\n u = this.globalData.fontManager.getFontByName(t.f),\n y = t.l,\n g = this.mHelper;\n this.stroke = r, this.values.fValue = t.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t.f).fFamily, a = t.finalText.length;\n var v = this.data.singleShape,\n b = .001 * t.tr * t.finalSize,\n x = 0,\n E = 0,\n P = !0,\n S = 0;\n\n for (i = 0; i < a; i += 1) {\n for (n = (s = this.globalData.fontManager.getCharData(t.finalText[i], u.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily)) && s.data || {}, g.reset(), v && y[i].n && (x = -b, E += t.yOffset, E += P ? 1 : 0, P = !1), f = (l = n.shapes ? n.shapes[0].it : []).length, g.scale(t.finalSize / 100, t.finalSize / 100), v && this.applyTextPropertiesToMatrix(t, g, y[i].line, x, E), m = createSizedArray(f), p = 0; p < f; p += 1) {\n for (h = l[p].ks.k.i.length, c = l[p].ks.k, d = [], o = 1; o < h; o += 1) {\n 1 === o && d.push(g.applyToX(c.v[0][0], c.v[0][1], 0), g.applyToY(c.v[0][0], c.v[0][1], 0)), d.push(g.applyToX(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToY(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToX(c.i[o][0], c.i[o][1], 0), g.applyToY(c.i[o][0], c.i[o][1], 0), g.applyToX(c.v[o][0], c.v[o][1], 0), g.applyToY(c.v[o][0], c.v[o][1], 0));\n }\n\n d.push(g.applyToX(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToY(c.o[o - 1][0], c.o[o - 1][1], 0), g.applyToX(c.i[0][0], c.i[0][1], 0), g.applyToY(c.i[0][0], c.i[0][1], 0), g.applyToX(c.v[0][0], c.v[0][1], 0), g.applyToY(c.v[0][0], c.v[0][1], 0)), m[p] = d;\n }\n\n v && (x += y[i].l, x += b), this.textSpans[S] ? this.textSpans[S].elem = m : this.textSpans[S] = {\n elem: m\n }, S += 1;\n }\n }, CVTextElement.prototype.renderInnerContent = function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n = this.canvasContext;\n n.font = this.values.fValue, n.lineCap = \"butt\", n.lineJoin = \"miter\", n.miterLimit = 4, this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n var o,\n h = this.textAnimator.renderedLetters,\n l = this.textProperty.currentData.l;\n e = l.length;\n var p,\n f,\n c = null,\n m = null,\n d = null;\n\n for (t = 0; t < e; t += 1) {\n if (!l[t].n) {\n if ((o = h[t]) && (this.globalData.renderer.save(), this.globalData.renderer.ctxTransform(o.p), this.globalData.renderer.ctxOpacity(o.o)), this.fill) {\n for (o && o.fc ? c !== o.fc && (c = o.fc, n.fillStyle = o.fc) : c !== this.values.fill && (c = this.values.fill, n.fillStyle = this.values.fill), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < i; r += 1) {\n for (s = (f = p[r]).length, this.globalData.canvasContext.moveTo(f[0], f[1]), a = 2; a < s; a += 6) {\n this.globalData.canvasContext.bezierCurveTo(f[a], f[a + 1], f[a + 2], f[a + 3], f[a + 4], f[a + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.fill();\n }\n\n if (this.stroke) {\n for (o && o.sw ? d !== o.sw && (d = o.sw, n.lineWidth = o.sw) : d !== this.values.sWidth && (d = this.values.sWidth, n.lineWidth = this.values.sWidth), o && o.sc ? m !== o.sc && (m = o.sc, n.strokeStyle = o.sc) : m !== this.values.stroke && (m = this.values.stroke, n.strokeStyle = this.values.stroke), i = (p = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < i; r += 1) {\n for (s = (f = p[r]).length, this.globalData.canvasContext.moveTo(f[0], f[1]), a = 2; a < s; a += 6) {\n this.globalData.canvasContext.bezierCurveTo(f[a], f[a + 1], f[a + 2], f[a + 3], f[a + 4], f[a + 5]);\n }\n }\n\n this.globalData.canvasContext.closePath(), this.globalData.canvasContext.stroke();\n }\n\n o && this.globalData.renderer.restore();\n }\n }\n }, CVEffects.prototype.renderFrame = function () {}, HBaseElement.prototype = {\n checkBlendMode: function checkBlendMode() {},\n initRendererElement: function initRendererElement() {\n this.baseElement = createTag(this.data.tg || \"div\"), this.data.hasMask ? (this.svgElement = createNS(\"svg\"), this.layerElement = createNS(\"g\"), this.maskedElement = this.layerElement, this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement, styleDiv(this.baseElement);\n },\n createContainerElements: function createContainerElements() {\n this.renderableEffectsManager = new CVEffects(this), this.transformedElement = this.baseElement, this.maskedElement = this.layerElement, this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), 0 !== this.data.bm && this.setBlendMode();\n },\n renderElement: function renderElement() {\n var t = this.transformedElement ? this.transformedElement.style : {};\n\n if (this.finalTransform._matMdf) {\n var e = this.finalTransform.mat.toCSS();\n t.transform = e, t.webkitTransform = e;\n }\n\n this.finalTransform._opMdf && (t.opacity = this.finalTransform.mProp.o.v);\n },\n renderFrame: function renderFrame() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n destroy: function destroy() {\n this.layerElement = null, this.transformedElement = null, this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), this.maskManager = null);\n },\n createRenderableComponents: function createRenderableComponents() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function addEffects() {},\n setMatte: function setMatte() {}\n }, HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement, HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy, HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), HSolidElement.prototype.createContent = function () {\n var t;\n this.data.hasMask ? ((t = createNS(\"rect\")).setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.svgElement.setAttribute(\"width\", this.data.sw), this.svgElement.setAttribute(\"height\", this.data.sh)) : ((t = createTag(\"div\")).style.width = this.data.sw + \"px\", t.style.height = this.data.sh + \"px\", t.style.backgroundColor = this.data.sc), this.layerElement.appendChild(t);\n }, extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement), HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements, HCompElement.prototype.createContainerElements = function () {\n this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute(\"width\", this.data.w), this.svgElement.setAttribute(\"height\", this.data.h), this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement;\n }, HCompElement.prototype.addTo3dContainer = function (t, e) {\n for (var r, i = 0; i < e;) {\n this.elements[i] && this.elements[i].getBaseElement && (r = this.elements[i].getBaseElement()), i += 1;\n }\n\n r ? this.layerElement.insertBefore(t, r) : this.layerElement.appendChild(t);\n }, extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent, HShapeElement.prototype.createContent = function () {\n var t;\n if (this.baseElement.style.fontSize = 0, this.data.hasMask) this.layerElement.appendChild(this.shapesContainer), t = this.svgElement;else {\n t = createNS(\"svg\");\n var e = this.comp.data ? this.comp.data : this.globalData.compSize;\n t.setAttribute(\"width\", e.w), t.setAttribute(\"height\", e.h), t.appendChild(this.shapesContainer), this.layerElement.appendChild(t);\n }\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0), this.filterUniqueShapes(), this.shapeCont = t;\n }, HShapeElement.prototype.getTransformedPoint = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0);\n }\n\n return e;\n }, HShapeElement.prototype.calculateShapeBoundingBox = function (t, e) {\n var r,\n i,\n a,\n s,\n n,\n o = t.sh.v,\n h = t.transformers,\n l = o._length;\n\n if (!(l <= 1)) {\n for (r = 0; r < l - 1; r += 1) {\n i = this.getTransformedPoint(h, o.v[r]), a = this.getTransformedPoint(h, o.o[r]), s = this.getTransformedPoint(h, o.i[r + 1]), n = this.getTransformedPoint(h, o.v[r + 1]), this.checkBounds(i, a, s, n, e);\n }\n\n o.c && (i = this.getTransformedPoint(h, o.v[r]), a = this.getTransformedPoint(h, o.o[r]), s = this.getTransformedPoint(h, o.i[0]), n = this.getTransformedPoint(h, o.v[0]), this.checkBounds(i, a, s, n, e));\n }\n }, HShapeElement.prototype.checkBounds = function (t, e, r, i, a) {\n this.getBoundsOfCurve(t, e, r, i);\n var s = this.shapeBoundingBox;\n a.x = bmMin(s.left, a.x), a.xMax = bmMax(s.right, a.xMax), a.y = bmMin(s.top, a.y), a.yMax = bmMax(s.bottom, a.yMax);\n }, HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n }, HShapeElement.prototype.getBoundsOfCurve = function (t, e, r, i) {\n for (var a, s, n, o, h, l, p, f = [[t[0], i[0]], [t[1], i[1]]], c = 0; c < 2; ++c) {\n s = 6 * t[c] - 12 * e[c] + 6 * r[c], a = -3 * t[c] + 9 * e[c] - 9 * r[c] + 3 * i[c], n = 3 * e[c] - 3 * t[c], s |= 0, n |= 0, 0 === (a |= 0) && 0 === s || (0 === a ? (o = -n / s) > 0 && o < 1 && f[c].push(this.calculateF(o, t, e, r, i, c)) : (h = s * s - 4 * n * a) >= 0 && ((l = (-s + bmSqrt(h)) / (2 * a)) > 0 && l < 1 && f[c].push(this.calculateF(l, t, e, r, i, c)), (p = (-s - bmSqrt(h)) / (2 * a)) > 0 && p < 1 && f[c].push(this.calculateF(p, t, e, r, i, c))));\n }\n\n this.shapeBoundingBox.left = bmMin.apply(null, f[0]), this.shapeBoundingBox.top = bmMin.apply(null, f[1]), this.shapeBoundingBox.right = bmMax.apply(null, f[0]), this.shapeBoundingBox.bottom = bmMax.apply(null, f[1]);\n }, HShapeElement.prototype.calculateF = function (t, e, r, i, a, s) {\n return bmPow(1 - t, 3) * e[s] + 3 * bmPow(1 - t, 2) * t * r[s] + 3 * (1 - t) * bmPow(t, 2) * i[s] + bmPow(t, 3) * a[s];\n }, HShapeElement.prototype.calculateBoundingBox = function (t, e) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n t[r] && t[r].sh ? this.calculateShapeBoundingBox(t[r], e) : t[r] && t[r].it && this.calculateBoundingBox(t[r].it, e);\n }\n }, HShapeElement.prototype.currentBoxContains = function (t) {\n return this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height;\n }, HShapeElement.prototype.renderInnerContent = function () {\n if (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) {\n var t = this.tempBoundingBox,\n e = 999999;\n if (t.x = e, t.xMax = -e, t.y = e, t.yMax = -e, this.calculateBoundingBox(this.itemsData, t), t.width = t.xMax < t.x ? 0 : t.xMax - t.x, t.height = t.yMax < t.y ? 0 : t.yMax - t.y, this.currentBoxContains(t)) return;\n var r = !1;\n\n if (this.currentBBox.w !== t.width && (this.currentBBox.w = t.width, this.shapeCont.setAttribute(\"width\", t.width), r = !0), this.currentBBox.h !== t.height && (this.currentBBox.h = t.height, this.shapeCont.setAttribute(\"height\", t.height), r = !0), r || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) {\n this.currentBBox.w = t.width, this.currentBBox.h = t.height, this.currentBBox.x = t.x, this.currentBBox.y = t.y, this.shapeCont.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h);\n var i = this.shapeCont.style,\n a = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n i.transform = a, i.webkitTransform = a;\n }\n }\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), HTextElement.prototype.createContent = function () {\n if (this.isMasked = this.checkMasks(), this.isMasked) {\n this.renderType = \"svg\", this.compW = this.comp.data.w, this.compH = this.comp.data.h, this.svgElement.setAttribute(\"width\", this.compW), this.svgElement.setAttribute(\"height\", this.compH);\n var t = createNS(\"g\");\n this.maskedElement.appendChild(t), this.innerElem = t;\n } else this.renderType = \"html\", this.innerElem = this.layerElement;\n\n this.checkParenting();\n }, HTextElement.prototype.buildNewText = function () {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = this.innerElem.style,\n r = t.fc ? this.buildColor(t.fc) : \"rgba(0,0,0,0)\";\n e.fill = r, e.color = r, t.sc && (e.stroke = this.buildColor(t.sc), e.strokeWidth = t.sw + \"px\");\n var i,\n a,\n s = this.globalData.fontManager.getFontByName(t.f);\n if (!this.globalData.fontManager.chars) if (e.fontSize = t.finalSize + \"px\", e.lineHeight = t.finalSize + \"px\", s.fClass) this.innerElem.className = s.fClass;else {\n e.fontFamily = s.fFamily;\n var n = t.fWeight,\n o = t.fStyle;\n e.fontStyle = o, e.fontWeight = n;\n }\n var h,\n l,\n p,\n f = t.l;\n a = f.length;\n var c,\n m = this.mHelper,\n d = \"\",\n u = 0;\n\n for (i = 0; i < a; i += 1) {\n if (this.globalData.fontManager.chars ? (this.textPaths[u] ? h = this.textPaths[u] : ((h = createNS(\"path\")).setAttribute(\"stroke-linecap\", \"butt\"), h.setAttribute(\"stroke-linejoin\", \"round\"), h.setAttribute(\"stroke-miterlimit\", \"4\")), this.isMasked || (this.textSpans[u] ? p = (l = this.textSpans[u]).children[0] : ((l = createTag(\"div\")).style.lineHeight = 0, (p = createNS(\"svg\")).appendChild(h), styleDiv(l)))) : this.isMasked ? h = this.textPaths[u] ? this.textPaths[u] : createNS(\"text\") : this.textSpans[u] ? (l = this.textSpans[u], h = this.textPaths[u]) : (styleDiv(l = createTag(\"span\")), styleDiv(h = createTag(\"span\")), l.appendChild(h)), this.globalData.fontManager.chars) {\n var y,\n g = this.globalData.fontManager.getCharData(t.finalText[i], s.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily);\n if (y = g ? g.data : null, m.reset(), y && y.shapes && (c = y.shapes[0].it, m.scale(t.finalSize / 100, t.finalSize / 100), d = this.createPathShape(m, c), h.setAttribute(\"d\", d)), this.isMasked) this.innerElem.appendChild(h);else {\n if (this.innerElem.appendChild(l), y && y.shapes) {\n document.body.appendChild(p);\n var v = p.getBBox();\n p.setAttribute(\"width\", v.width + 2), p.setAttribute(\"height\", v.height + 2), p.setAttribute(\"viewBox\", v.x - 1 + \" \" + (v.y - 1) + \" \" + (v.width + 2) + \" \" + (v.height + 2));\n var b = p.style,\n x = \"translate(\" + (v.x - 1) + \"px,\" + (v.y - 1) + \"px)\";\n b.transform = x, b.webkitTransform = x, f[i].yOffset = v.y - 1;\n } else p.setAttribute(\"width\", 1), p.setAttribute(\"height\", 1);\n\n l.appendChild(p);\n }\n } else if (h.textContent = f[i].val, h.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"), this.isMasked) this.innerElem.appendChild(h);else {\n this.innerElem.appendChild(l);\n var E = h.style,\n P = \"translate3d(0,\" + -t.finalSize / 1.2 + \"px,0)\";\n E.transform = P, E.webkitTransform = P;\n }\n\n this.isMasked ? this.textSpans[u] = h : this.textSpans[u] = l, this.textSpans[u].style.display = \"block\", this.textPaths[u] = h, u += 1;\n }\n\n for (; u < this.textSpans.length;) {\n this.textSpans[u].style.display = \"none\", u += 1;\n }\n }, HTextElement.prototype.renderInnerContent = function () {\n var t;\n\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag) return;\n\n if (this.isMasked && this.finalTransform._matMdf) {\n this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH), t = this.svgElement.style;\n var e = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\";\n t.transform = e, t.webkitTransform = e;\n }\n }\n\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\n var r,\n i,\n a,\n s,\n n,\n o = 0,\n h = this.textAnimator.renderedLetters,\n l = this.textProperty.currentData.l;\n\n for (i = l.length, r = 0; r < i; r += 1) {\n l[r].n ? o += 1 : (s = this.textSpans[r], n = this.textPaths[r], a = h[o], o += 1, a._mdf.m && (this.isMasked ? s.setAttribute(\"transform\", a.m) : (s.style.webkitTransform = a.m, s.style.transform = a.m)), s.style.opacity = a.o, a.sw && a._mdf.sw && n.setAttribute(\"stroke-width\", a.sw), a.sc && a._mdf.sc && n.setAttribute(\"stroke\", a.sc), a.fc && a._mdf.fc && (n.setAttribute(\"fill\", a.fc), n.style.color = a.fc));\n }\n\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var p = this.innerElem.getBBox();\n this.currentBBox.w !== p.width && (this.currentBBox.w = p.width, this.svgElement.setAttribute(\"width\", p.width)), this.currentBBox.h !== p.height && (this.currentBBox.h = p.height, this.svgElement.setAttribute(\"height\", p.height));\n\n if (this.currentBBox.w !== p.width + 2 || this.currentBBox.h !== p.height + 2 || this.currentBBox.x !== p.x - 1 || this.currentBBox.y !== p.y - 1) {\n this.currentBBox.w = p.width + 2, this.currentBBox.h = p.height + 2, this.currentBBox.x = p.x - 1, this.currentBBox.y = p.y - 1, this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h), t = this.svgElement.style;\n var f = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n t.transform = f, t.webkitTransform = f;\n }\n }\n }\n }, extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), HImageElement.prototype.createContent = function () {\n var t = this.globalData.getAssetsPath(this.assetData),\n e = new Image();\n this.data.hasMask ? (this.imageElem = createNS(\"image\"), this.imageElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.imageElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute(\"width\", this.assetData.w), this.baseElement.setAttribute(\"height\", this.assetData.h)) : this.layerElement.appendChild(e), e.crossOrigin = \"anonymous\", e.src = t, this.data.ln && this.baseElement.setAttribute(\"id\", this.data.ln);\n }, extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), HCameraElement.prototype.setup = function () {\n var t,\n e,\n r,\n i,\n a = this.comp.threeDElements.length;\n\n for (t = 0; t < a; t += 1) {\n if (\"3d\" === (e = this.comp.threeDElements[t]).type) {\n r = e.perspectiveElem.style, i = e.container.style;\n var s = this.pe.v + \"px\",\n n = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n r.perspective = s, r.webkitPerspective = s, i.transformOrigin = \"0px 0px 0px\", i.mozTransformOrigin = \"0px 0px 0px\", i.webkitTransformOrigin = \"0px 0px 0px\", r.transform = n, r.webkitTransform = n;\n }\n }\n }, HCameraElement.prototype.createElements = function () {}, HCameraElement.prototype.hide = function () {}, HCameraElement.prototype.renderFrame = function () {\n var t,\n e,\n r = this._isFirstFrame;\n if (this.hierarchy) for (e = this.hierarchy.length, t = 0; t < e; t += 1) {\n r = this.hierarchy[t].finalTransform.mProp._mdf || r;\n }\n\n if (r || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n if (this.mat.reset(), this.hierarchy) for (t = e = this.hierarchy.length - 1; t >= 0; t -= 1) {\n var i = this.hierarchy[t].finalTransform.mProp;\n this.mat.translate(-i.p.v[0], -i.p.v[1], i.p.v[2]), this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]), this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v), this.mat.scale(1 / i.s.v[0], 1 / i.s.v[1], 1 / i.s.v[2]), this.mat.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }\n\n if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a) {\n var a;\n a = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n var s = Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2)),\n n = [a[0] / s, a[1] / s, a[2] / s],\n o = Math.sqrt(n[2] * n[2] + n[0] * n[0]),\n h = Math.atan2(n[1], o),\n l = Math.atan2(n[0], -n[2]);\n this.mat.rotateY(l).rotateX(-h);\n }\n\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v);\n var p = !this._prevMat.equals(this.mat);\n\n if ((p || this.pe._mdf) && this.comp.threeDElements) {\n var f, c, m;\n\n for (e = this.comp.threeDElements.length, t = 0; t < e; t += 1) {\n if (\"3d\" === (f = this.comp.threeDElements[t]).type) {\n if (p) {\n var d = this.mat.toCSS();\n (m = f.container.style).transform = d, m.webkitTransform = d;\n }\n\n this.pe._mdf && ((c = f.perspectiveElem.style).perspective = this.pe.v + \"px\", c.webkitPerspective = this.pe.v + \"px\");\n }\n }\n\n this.mat.clone(this._prevMat);\n }\n }\n\n this._isFirstFrame = !1;\n }, HCameraElement.prototype.prepareFrame = function (t) {\n this.prepareProperties(t, !0);\n }, HCameraElement.prototype.destroy = function () {}, HCameraElement.prototype.getBaseElement = function () {\n return null;\n }, HEffects.prototype.renderFrame = function () {};\n\n var animationManager = function () {\n var t = {},\n e = [],\n r = 0,\n i = 0,\n a = 0,\n s = !0,\n n = !1;\n\n function o(t) {\n for (var r = 0, a = t.target; r < i;) {\n e[r].animation === a && (e.splice(r, 1), r -= 1, i -= 1, a.isPaused || p()), r += 1;\n }\n }\n\n function h(t, r) {\n if (!t) return null;\n\n for (var a = 0; a < i;) {\n if (e[a].elem === t && null !== e[a].elem) return e[a].animation;\n a += 1;\n }\n\n var s = new AnimationItem();\n return f(s, t), s.setData(t, r), s;\n }\n\n function l() {\n a += 1, d();\n }\n\n function p() {\n a -= 1;\n }\n\n function f(t, r) {\n t.addEventListener(\"destroy\", o), t.addEventListener(\"_active\", l), t.addEventListener(\"_idle\", p), e.push({\n elem: r,\n animation: t\n }), i += 1;\n }\n\n function c(t) {\n var o,\n h = t - r;\n\n for (o = 0; o < i; o += 1) {\n e[o].animation.advanceTime(h);\n }\n\n r = t, a && !n ? window.requestAnimationFrame(c) : s = !0;\n }\n\n function m(t) {\n r = t, window.requestAnimationFrame(c);\n }\n\n function d() {\n !n && a && s && (window.requestAnimationFrame(m), s = !1);\n }\n\n return t.registerAnimation = h, t.loadAnimation = function (t) {\n var e = new AnimationItem();\n return f(e, null), e.setParams(t), e;\n }, t.setSpeed = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setSpeed(t, r);\n }\n }, t.setDirection = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setDirection(t, r);\n }\n }, t.play = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.play(t);\n }\n }, t.pause = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.pause(t);\n }\n }, t.stop = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.stop(t);\n }\n }, t.togglePause = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.togglePause(t);\n }\n }, t.searchAnimations = function (t, e, r) {\n var i,\n a = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))),\n s = a.length;\n\n for (i = 0; i < s; i += 1) {\n r && a[i].setAttribute(\"data-bm-type\", r), h(a[i], t);\n }\n\n if (e && 0 === s) {\n r || (r = \"svg\");\n var n = document.getElementsByTagName(\"body\")[0];\n n.innerText = \"\";\n var o = createTag(\"div\");\n o.style.width = \"100%\", o.style.height = \"100%\", o.setAttribute(\"data-bm-type\", r), n.appendChild(o), h(o, t);\n }\n }, t.resize = function () {\n var t;\n\n for (t = 0; t < i; t += 1) {\n e[t].animation.resize();\n }\n }, t.goToAndStop = function (t, r, a) {\n var s;\n\n for (s = 0; s < i; s += 1) {\n e[s].animation.goToAndStop(t, r, a);\n }\n }, t.destroy = function (t) {\n var r;\n\n for (r = i - 1; r >= 0; r -= 1) {\n e[r].animation.destroy(t);\n }\n }, t.freeze = function () {\n n = !0;\n }, t.unfreeze = function () {\n n = !1, d();\n }, t.setVolume = function (t, r) {\n var a;\n\n for (a = 0; a < i; a += 1) {\n e[a].animation.setVolume(t, r);\n }\n }, t.mute = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.mute(t);\n }\n }, t.unmute = function (t) {\n var r;\n\n for (r = 0; r < i; r += 1) {\n e[r].animation.unmute(t);\n }\n }, t.getRegisteredAnimations = function () {\n var t,\n r = e.length,\n i = [];\n\n for (t = 0; t < r; t += 1) {\n i.push(e[t].animation);\n }\n\n return i;\n }, t;\n }(),\n AnimationItem = function AnimationItem() {\n this._cbs = [], this.name = \"\", this.path = \"\", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = createElementID(), this.assetsPath = \"\", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = subframeEnabled, this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = ProjectInterface(), this.imagePreloader = new ImagePreloader(), this.audioController = audioControllerFactory(), this.markers = [];\n };\n\n extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function (t) {\n (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);\n var e = \"svg\";\n\n switch (t.animType ? e = t.animType : t.renderer && (e = t.renderer), e) {\n case \"canvas\":\n this.renderer = new CanvasRenderer(this, t.rendererSettings);\n break;\n\n case \"svg\":\n this.renderer = new SVGRenderer(this, t.rendererSettings);\n break;\n\n default:\n this.renderer = new HybridRenderer(this, t.rendererSettings);\n }\n\n this.imagePreloader.setCacheType(e, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e, \"\" === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ? this.loop = !0 : !1 === t.loop ? this.loop = !1 : this.loop = parseInt(t.loop, 10), this.autoplay = !(\"autoplay\" in t) || t.autoplay, this.name = t.name ? t.name : \"\", this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t, \"autoloadSegments\") || t.autoloadSegments, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.audioFactory && this.audioController.setAudioFactory(t.audioFactory), t.animationData ? this.configAnimation(t.animationData) : t.path && (-1 !== t.path.lastIndexOf(\"\\\\\") ? this.path = t.path.substr(0, t.path.lastIndexOf(\"\\\\\") + 1) : this.path = t.path.substr(0, t.path.lastIndexOf(\"/\") + 1), this.fileName = t.path.substr(t.path.lastIndexOf(\"/\") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(\".json\")), assetLoader.load(t.path, this.configAnimation.bind(this), function () {\n this.trigger(\"data_failed\");\n }.bind(this)));\n }, AnimationItem.prototype.setData = function (t, e) {\n e && \"object\" != typeof e && (e = JSON.parse(e));\n var r = {\n wrapper: t,\n animationData: e\n },\n i = t.attributes;\n r.path = i.getNamedItem(\"data-animation-path\") ? i.getNamedItem(\"data-animation-path\").value : i.getNamedItem(\"data-bm-path\") ? i.getNamedItem(\"data-bm-path\").value : i.getNamedItem(\"bm-path\") ? i.getNamedItem(\"bm-path\").value : \"\", r.animType = i.getNamedItem(\"data-anim-type\") ? i.getNamedItem(\"data-anim-type\").value : i.getNamedItem(\"data-bm-type\") ? i.getNamedItem(\"data-bm-type\").value : i.getNamedItem(\"bm-type\") ? i.getNamedItem(\"bm-type\").value : i.getNamedItem(\"data-bm-renderer\") ? i.getNamedItem(\"data-bm-renderer\").value : i.getNamedItem(\"bm-renderer\") ? i.getNamedItem(\"bm-renderer\").value : \"canvas\";\n var a = i.getNamedItem(\"data-anim-loop\") ? i.getNamedItem(\"data-anim-loop\").value : i.getNamedItem(\"data-bm-loop\") ? i.getNamedItem(\"data-bm-loop\").value : i.getNamedItem(\"bm-loop\") ? i.getNamedItem(\"bm-loop\").value : \"\";\n \"false\" === a ? r.loop = !1 : \"true\" === a ? r.loop = !0 : \"\" !== a && (r.loop = parseInt(a, 10));\n var s = i.getNamedItem(\"data-anim-autoplay\") ? i.getNamedItem(\"data-anim-autoplay\").value : i.getNamedItem(\"data-bm-autoplay\") ? i.getNamedItem(\"data-bm-autoplay\").value : !i.getNamedItem(\"bm-autoplay\") || i.getNamedItem(\"bm-autoplay\").value;\n r.autoplay = \"false\" !== s, r.name = i.getNamedItem(\"data-name\") ? i.getNamedItem(\"data-name\").value : i.getNamedItem(\"data-bm-name\") ? i.getNamedItem(\"data-bm-name\").value : i.getNamedItem(\"bm-name\") ? i.getNamedItem(\"bm-name\").value : \"\", \"false\" === (i.getNamedItem(\"data-anim-prerender\") ? i.getNamedItem(\"data-anim-prerender\").value : i.getNamedItem(\"data-bm-prerender\") ? i.getNamedItem(\"data-bm-prerender\").value : i.getNamedItem(\"bm-prerender\") ? i.getNamedItem(\"bm-prerender\").value : \"\") && (r.prerender = !1), this.setParams(r);\n }, AnimationItem.prototype.includeLayers = function (t) {\n t.op > this.animationData.op && (this.animationData.op = t.op, this.totalFrames = Math.floor(t.op - this.animationData.ip));\n var e,\n r,\n i = this.animationData.layers,\n a = i.length,\n s = t.layers,\n n = s.length;\n\n for (r = 0; r < n; r += 1) {\n for (e = 0; e < a;) {\n if (i[e].id === s[r].id) {\n i[e] = s[r];\n break;\n }\n\n e += 1;\n }\n }\n\n if ((t.chars || t.fonts) && (this.renderer.globalData.fontManager.addChars(t.chars), this.renderer.globalData.fontManager.addFonts(t.fonts, this.renderer.globalData.defs)), t.assets) for (a = t.assets.length, e = 0; e < a; e += 1) {\n this.animationData.assets.push(t.assets[e]);\n }\n this.animationData.__complete = !1, dataManager.completeData(this.animationData, this.renderer.globalData.fontManager), this.renderer.includeLayers(t.layers), expressionsPlugin && expressionsPlugin.initExpressions(this), this.loadNextSegment();\n }, AnimationItem.prototype.loadNextSegment = function () {\n var t = this.animationData.segments;\n if (!t || 0 === t.length || !this.autoloadSegments) return this.trigger(\"data_ready\"), void (this.timeCompleted = this.totalFrames);\n var e = t.shift();\n this.timeCompleted = e.time * this.frameRate;\n var r = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\n this.segmentPos += 1, assetLoader.load(r, this.includeLayers.bind(this), function () {\n this.trigger(\"data_failed\");\n }.bind(this));\n }, AnimationItem.prototype.loadSegments = function () {\n this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment();\n }, AnimationItem.prototype.imagesLoaded = function () {\n this.trigger(\"loaded_images\"), this.checkLoaded();\n }, AnimationItem.prototype.preloadImages = function () {\n this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n }, AnimationItem.prototype.configAnimation = function (t) {\n if (this.renderer) try {\n this.animationData = t, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(t), t.assets || (t.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(t.assets), this.markers = markerParser(t.markers || []), this.trigger(\"config_ready\"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause();\n } catch (t) {\n this.triggerConfigError(t);\n }\n }, AnimationItem.prototype.waitForFontsLoaded = function () {\n this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20));\n }, AnimationItem.prototype.checkLoaded = function () {\n !this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || \"canvas\" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages() && (this.isLoaded = !0, dataManager.completeData(this.animationData, this.renderer.globalData.fontManager), expressionsPlugin && expressionsPlugin.initExpressions(this), this.renderer.initItems(), setTimeout(function () {\n this.trigger(\"DOMLoaded\");\n }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play());\n }, AnimationItem.prototype.resize = function () {\n this.renderer.updateContainerSize();\n }, AnimationItem.prototype.setSubframe = function (t) {\n this.isSubframeEnabled = !!t;\n }, AnimationItem.prototype.gotoFrame = function () {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger(\"enterFrame\"), this.renderFrame();\n }, AnimationItem.prototype.renderFrame = function () {\n if (!1 !== this.isLoaded && this.renderer) try {\n this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (t) {\n this.triggerRenderFrameError(t);\n }\n }, AnimationItem.prototype.play = function (t) {\n t && this.name !== t || !0 === this.isPaused && (this.isPaused = !1, this.audioController.resume(), this._idle && (this._idle = !1, this.trigger(\"_active\")));\n }, AnimationItem.prototype.pause = function (t) {\n t && this.name !== t || !1 === this.isPaused && (this.isPaused = !0, this._idle = !0, this.trigger(\"_idle\"), this.audioController.pause());\n }, AnimationItem.prototype.togglePause = function (t) {\n t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause());\n }, AnimationItem.prototype.stop = function (t) {\n t && this.name !== t || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0));\n }, AnimationItem.prototype.getMarkerData = function (t) {\n for (var e, r = 0; r < this.markers.length; r += 1) {\n if ((e = this.markers[r]).payload && e.payload.name === t) return e;\n }\n\n return null;\n }, AnimationItem.prototype.goToAndStop = function (t, e, r) {\n if (!r || this.name === r) {\n var i = Number(t);\n\n if (isNaN(i)) {\n var a = this.getMarkerData(t);\n a && this.goToAndStop(a.time, !0);\n } else e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier);\n\n this.pause();\n }\n }, AnimationItem.prototype.goToAndPlay = function (t, e, r) {\n if (!r || this.name === r) {\n var i = Number(t);\n\n if (isNaN(i)) {\n var a = this.getMarkerData(t);\n a && (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) : this.goToAndStop(a.time, !0));\n } else this.goToAndStop(i, e, r);\n\n this.play();\n }\n }, AnimationItem.prototype.advanceTime = function (t) {\n if (!0 !== this.isPaused && !1 !== this.isLoaded) {\n var e = this.currentRawFrame + t * this.frameModifier,\n r = !1;\n e >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e >= this.totalFrames ? (this.playCount += 1, this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue(e % this.totalFrames), this._completedLoop = !0, this.trigger(\"loopComplete\"))) : this.setCurrentRawFrameValue(e) : this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (r = !0, e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (r = !0, e = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e), r && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger(\"complete\"));\n }\n }, AnimationItem.prototype.adjustSegment = function (t, e) {\n this.playCount = 0, t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = t[0] - t[1], this.timeCompleted = this.totalFrames, this.firstFrame = t[1], this.setCurrentRawFrameValue(this.totalFrames - .001 - e)) : t[1] > t[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = t[1] - t[0], this.timeCompleted = this.totalFrames, this.firstFrame = t[0], this.setCurrentRawFrameValue(.001 + e)), this.trigger(\"segmentStart\");\n }, AnimationItem.prototype.setSegment = function (t, e) {\n var r = -1;\n this.isPaused && (this.currentRawFrame + this.firstFrame < t ? r = t : this.currentRawFrame + this.firstFrame > e && (r = e - t)), this.firstFrame = t, this.totalFrames = e - t, this.timeCompleted = this.totalFrames, -1 !== r && this.goToAndStop(r, !0);\n }, AnimationItem.prototype.playSegments = function (t, e) {\n if (e && (this.segments.length = 0), \"object\" == typeof t[0]) {\n var r,\n i = t.length;\n\n for (r = 0; r < i; r += 1) {\n this.segments.push(t[r]);\n }\n } else this.segments.push(t);\n\n this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play();\n }, AnimationItem.prototype.resetSegments = function (t) {\n this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t && this.checkSegments(0);\n }, AnimationItem.prototype.checkSegments = function (t) {\n return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t), !0);\n }, AnimationItem.prototype.destroy = function (t) {\n t && this.name !== t || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger(\"destroy\"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.renderer = null, this.imagePreloader = null, this.projectInterface = null);\n }, AnimationItem.prototype.setCurrentRawFrameValue = function (t) {\n this.currentRawFrame = t, this.gotoFrame();\n }, AnimationItem.prototype.setSpeed = function (t) {\n this.playSpeed = t, this.updaFrameModifier();\n }, AnimationItem.prototype.setDirection = function (t) {\n this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier();\n }, AnimationItem.prototype.setVolume = function (t, e) {\n e && this.name !== e || this.audioController.setVolume(t);\n }, AnimationItem.prototype.getVolume = function () {\n return this.audioController.getVolume();\n }, AnimationItem.prototype.mute = function (t) {\n t && this.name !== t || this.audioController.mute();\n }, AnimationItem.prototype.unmute = function (t) {\n t && this.name !== t || this.audioController.unmute();\n }, AnimationItem.prototype.updaFrameModifier = function () {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection);\n }, AnimationItem.prototype.getPath = function () {\n return this.path;\n }, AnimationItem.prototype.getAssetsPath = function (t) {\n var e = \"\";\n if (t.e) e = t.p;else if (this.assetsPath) {\n var r = t.p;\n -1 !== r.indexOf(\"images/\") && (r = r.split(\"/\")[1]), e = this.assetsPath + r;\n } else e = this.path, e += t.u ? t.u : \"\", e += t.p;\n return e;\n }, AnimationItem.prototype.getAssetData = function (t) {\n for (var e = 0, r = this.assets.length; e < r;) {\n if (t === this.assets[e].id) return this.assets[e];\n e += 1;\n }\n\n return null;\n }, AnimationItem.prototype.hide = function () {\n this.renderer.hide();\n }, AnimationItem.prototype.show = function () {\n this.renderer.show();\n }, AnimationItem.prototype.getDuration = function (t) {\n return t ? this.totalFrames : this.totalFrames / this.frameRate;\n }, AnimationItem.prototype.trigger = function (t) {\n if (this._cbs && this._cbs[t]) switch (t) {\n case \"enterFrame\":\n this.triggerEvent(t, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n\n case \"loopComplete\":\n this.triggerEvent(t, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult));\n break;\n\n case \"complete\":\n this.triggerEvent(t, new BMCompleteEvent(t, this.frameMult));\n break;\n\n case \"segmentStart\":\n this.triggerEvent(t, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames));\n break;\n\n case \"destroy\":\n this.triggerEvent(t, new BMDestroyEvent(t, this));\n break;\n\n default:\n this.triggerEvent(t);\n }\n \"enterFrame\" === t && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameMult)), \"loopComplete\" === t && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult)), \"complete\" === t && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t, this.frameMult)), \"segmentStart\" === t && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames)), \"destroy\" === t && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t, this));\n }, AnimationItem.prototype.triggerRenderFrameError = function (t) {\n var e = new BMRenderFrameErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n }, AnimationItem.prototype.triggerConfigError = function (t) {\n var e = new BMConfigErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n };\n\n var Expressions = function () {\n var t = {};\n return t.initExpressions = function (t) {\n var e = 0,\n r = [];\n t.renderer.compInterface = CompExpressionInterface(t.renderer), t.renderer.globalData.projectInterface.registerComposition(t.renderer), t.renderer.globalData.pushExpression = function () {\n e += 1;\n }, t.renderer.globalData.popExpression = function () {\n 0 === (e -= 1) && function () {\n var t,\n e = r.length;\n\n for (t = 0; t < e; t += 1) {\n r[t].release();\n }\n\n r.length = 0;\n }();\n }, t.renderer.globalData.registerExpressionProperty = function (t) {\n -1 === r.indexOf(t) && r.push(t);\n };\n }, t;\n }();\n\n expressionsPlugin = Expressions;\n\n var ExpressionManager = function () {\n var ob = {},\n Math = BMMath,\n window = null,\n document = null;\n\n function $bm_isInstanceOfArray(t) {\n return t.constructor === Array || t.constructor === Float32Array;\n }\n\n function isNumerable(t, e) {\n return \"number\" === t || \"boolean\" === t || \"string\" === t || e instanceof Number;\n }\n\n function $bm_neg(t) {\n var e = typeof t;\n if (\"number\" === e || \"boolean\" === e || t instanceof Number) return -t;\n\n if ($bm_isInstanceOfArray(t)) {\n var r,\n i = t.length,\n a = [];\n\n for (r = 0; r < i; r += 1) {\n a[r] = -t[r];\n }\n\n return a;\n }\n\n return t.propType ? t.v : -t;\n }\n\n var easeInBez = BezierFactory.getBezierEasing(.333, 0, .833, .833, \"easeIn\").get,\n easeOutBez = BezierFactory.getBezierEasing(.167, .167, .667, 1, \"easeOut\").get,\n easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, \"easeInOut\").get;\n\n function sum(t, e) {\n var r = typeof t,\n i = typeof e;\n if (\"string\" === r || \"string\" === i) return t + e;\n if (isNumerable(r, t) && isNumerable(i, e)) return t + e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] += e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t + e[0], e;\n\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n;) {\n (\"number\" == typeof t[a] || t[a] instanceof Number) && (\"number\" == typeof e[a] || e[a] instanceof Number) ? o[a] = t[a] + e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a], a += 1;\n }\n\n return o;\n }\n\n return 0;\n }\n\n var add = sum;\n\n function sub(t, e) {\n var r = typeof t,\n i = typeof e;\n if (isNumerable(r, t) && isNumerable(i, e)) return \"string\" === r && (t = parseInt(t, 10)), \"string\" === i && (e = parseInt(e, 10)), t - e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) return (t = t.slice(0))[0] -= e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return (e = e.slice(0))[0] = t - e[0], e;\n\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n;) {\n (\"number\" == typeof t[a] || t[a] instanceof Number) && (\"number\" == typeof e[a] || e[a] instanceof Number) ? o[a] = t[a] - e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a], a += 1;\n }\n\n return o;\n }\n\n return 0;\n }\n\n function mul(t, e) {\n var r,\n i,\n a,\n s = typeof t,\n n = typeof e;\n if (isNumerable(s, t) && isNumerable(n, e)) return t * e;\n\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\n for (a = t.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t[i] * e;\n }\n\n return r;\n }\n\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\n for (a = e.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t * e[i];\n }\n\n return r;\n }\n\n return 0;\n }\n\n function div(t, e) {\n var r,\n i,\n a,\n s = typeof t,\n n = typeof e;\n if (isNumerable(s, t) && isNumerable(n, e)) return t / e;\n\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\n for (a = t.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t[i] / e;\n }\n\n return r;\n }\n\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\n for (a = e.length, r = createTypedArray(\"float32\", a), i = 0; i < a; i += 1) {\n r[i] = t / e[i];\n }\n\n return r;\n }\n\n return 0;\n }\n\n function mod(t, e) {\n return \"string\" == typeof t && (t = parseInt(t, 10)), \"string\" == typeof e && (e = parseInt(e, 10)), t % e;\n }\n\n var $bm_sum = sum,\n $bm_sub = sub,\n $bm_mul = mul,\n $bm_div = div,\n $bm_mod = mod;\n\n function clamp(t, e, r) {\n if (e > r) {\n var i = r;\n r = e, e = i;\n }\n\n return Math.min(Math.max(t, e), r);\n }\n\n function radiansToDegrees(t) {\n return t / degToRads;\n }\n\n var radians_to_degrees = radiansToDegrees;\n\n function degreesToRadians(t) {\n return t * degToRads;\n }\n\n var degrees_to_radians = radiansToDegrees,\n helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n function length(t, e) {\n if (\"number\" == typeof t || t instanceof Number) return e = e || 0, Math.abs(t - e);\n var r;\n e || (e = helperLengthArray);\n var i = Math.min(t.length, e.length),\n a = 0;\n\n for (r = 0; r < i; r += 1) {\n a += Math.pow(e[r] - t[r], 2);\n }\n\n return Math.sqrt(a);\n }\n\n function normalize(t) {\n return div(t, length(t));\n }\n\n function rgbToHsl(t) {\n var e,\n r,\n i = t[0],\n a = t[1],\n s = t[2],\n n = Math.max(i, a, s),\n o = Math.min(i, a, s),\n h = (n + o) / 2;\n if (n === o) e = 0, r = 0;else {\n var l = n - o;\n\n switch (r = h > .5 ? l / (2 - n - o) : l / (n + o), n) {\n case i:\n e = (a - s) / l + (a < s ? 6 : 0);\n break;\n\n case a:\n e = (s - i) / l + 2;\n break;\n\n case s:\n e = (i - a) / l + 4;\n }\n\n e /= 6;\n }\n return [e, r, h, t[3]];\n }\n\n function hue2rgb(t, e, r) {\n return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? t + 6 * (e - t) * r : r < .5 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t;\n }\n\n function hslToRgb(t) {\n var e,\n r,\n i,\n a = t[0],\n s = t[1],\n n = t[2];\n if (0 === s) e = n, i = n, r = n;else {\n var o = n < .5 ? n * (1 + s) : n + s - n * s,\n h = 2 * n - o;\n e = hue2rgb(h, o, a + 1 / 3), r = hue2rgb(h, o, a), i = hue2rgb(h, o, a - 1 / 3);\n }\n return [e, r, i, t[3]];\n }\n\n function linear(t, e, r, i, a) {\n if (void 0 !== i && void 0 !== a || (i = e, a = r, e = 0, r = 1), r < e) {\n var s = r;\n r = e, e = s;\n }\n\n if (t <= e) return i;\n if (t >= r) return a;\n var n,\n o = r === e ? 0 : (t - e) / (r - e);\n if (!i.length) return i + (a - i) * o;\n var h = i.length,\n l = createTypedArray(\"float32\", h);\n\n for (n = 0; n < h; n += 1) {\n l[n] = i[n] + (a[n] - i[n]) * o;\n }\n\n return l;\n }\n\n function random(t, e) {\n if (void 0 === e && (void 0 === t ? (t = 0, e = 1) : (e = t, t = void 0)), e.length) {\n var r,\n i = e.length;\n t || (t = createTypedArray(\"float32\", i));\n var a = createTypedArray(\"float32\", i),\n s = BMMath.random();\n\n for (r = 0; r < i; r += 1) {\n a[r] = t[r] + s * (e[r] - t[r]);\n }\n\n return a;\n }\n\n return void 0 === t && (t = 0), t + BMMath.random() * (e - t);\n }\n\n function createPath(t, e, r, i) {\n var a,\n s = t.length,\n n = shapePool.newElement();\n n.setPathData(!!i, s);\n var o,\n h,\n l = [0, 0];\n\n for (a = 0; a < s; a += 1) {\n o = e && e[a] ? e[a] : l, h = r && r[a] ? r[a] : l, n.setTripleAt(t[a][0], t[a][1], h[0] + t[a][0], h[1] + t[a][1], o[0] + t[a][0], o[1] + t[a][1], a, !0);\n }\n\n return n;\n }\n\n function initiateExpression(elem, data, property) {\n var val = data.x,\n needsVelocity = /velocity(?![\\w\\d])/.test(val),\n _needsRandom = -1 !== val.indexOf(\"random\"),\n elemType = elem.data.ty,\n transform,\n $bm_transform,\n content,\n effect,\n thisProperty = property;\n\n thisProperty.valueAtTime = thisProperty.getValueAtTime, Object.defineProperty(thisProperty, \"value\", {\n get: function get() {\n return thisProperty.v;\n }\n }), elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate, elem.comp.displayStartTime = 0;\n\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate,\n outPoint = elem.data.op / elem.comp.globalData.frameRate,\n width = elem.data.sw ? elem.data.sw : 0,\n height = elem.data.sh ? elem.data.sh : 0,\n name = elem.data.nm,\n loopIn,\n loop_in,\n loopOut,\n loop_out,\n smooth,\n toWorld,\n fromWorld,\n fromComp,\n toComp,\n fromCompToSurface,\n position,\n rotation,\n anchorPoint,\n scale,\n thisLayer,\n thisComp,\n mask,\n valueAtTime,\n velocityAtTime,\n scoped_bm_rt,\n expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0],\n numKeys = property.kf ? data.k.length : 0,\n active = !this.data || !0 !== this.data.hd,\n wiggle = function (t, e) {\n var r,\n i,\n a = this.pv.length ? this.pv.length : 1,\n s = createTypedArray(\"float32\", a);\n var n = Math.floor(5 * time);\n\n for (r = 0, i = 0; r < n;) {\n for (i = 0; i < a; i += 1) {\n s[i] += -e + 2 * e * BMMath.random();\n }\n\n r += 1;\n }\n\n var o = 5 * time,\n h = o - Math.floor(o),\n l = createTypedArray(\"float32\", a);\n\n if (a > 1) {\n for (i = 0; i < a; i += 1) {\n l[i] = this.pv[i] + s[i] + (-e + 2 * e * BMMath.random()) * h;\n }\n\n return l;\n }\n\n return this.pv + s[0] + (-e + 2 * e * BMMath.random()) * h;\n }.bind(this);\n\n function loopInDuration(t, e) {\n return loopIn(t, e, !0);\n }\n\n function loopOutDuration(t, e) {\n return loopOut(t, e, !0);\n }\n\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty), loop_in = loopIn), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty), loop_out = loopOut), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),\n time,\n velocity,\n value,\n text,\n textIndex,\n textTotal,\n selectorValue;\n\n function lookAt(t, e) {\n var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]],\n i = Math.atan2(r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2])) / degToRads;\n return [-Math.atan2(r[1], r[2]) / degToRads, i, 0];\n }\n\n function easeOut(t, e, r, i, a) {\n return applyEase(easeOutBez, t, e, r, i, a);\n }\n\n function easeIn(t, e, r, i, a) {\n return applyEase(easeInBez, t, e, r, i, a);\n }\n\n function ease(t, e, r, i, a) {\n return applyEase(easeInOutBez, t, e, r, i, a);\n }\n\n function applyEase(t, e, r, i, a, s) {\n void 0 === a ? (a = r, s = i) : e = (e - r) / (i - r), e > 1 ? e = 1 : e < 0 && (e = 0);\n var n = t(e);\n\n if ($bm_isInstanceOfArray(a)) {\n var o,\n h = a.length,\n l = createTypedArray(\"float32\", h);\n\n for (o = 0; o < h; o += 1) {\n l[o] = (s[o] - a[o]) * n + a[o];\n }\n\n return l;\n }\n\n return (s - a) * n + a;\n }\n\n function nearestKey(t) {\n var e,\n r,\n i,\n a = data.k.length;\n if (data.k.length && \"number\" != typeof data.k[0]) {\n if (r = -1, (t *= elem.comp.globalData.frameRate) < data.k[0].t) r = 1, i = data.k[0].t;else {\n for (e = 0; e < a - 1; e += 1) {\n if (t === data.k[e].t) {\n r = e + 1, i = data.k[e].t;\n break;\n }\n\n if (t > data.k[e].t && t < data.k[e + 1].t) {\n t - data.k[e].t > data.k[e + 1].t - t ? (r = e + 2, i = data.k[e + 1].t) : (r = e + 1, i = data.k[e].t);\n break;\n }\n }\n\n -1 === r && (r = e + 1, i = data.k[e].t);\n }\n } else r = 0, i = 0;\n var s = {};\n return s.index = r, s.time = i / elem.comp.globalData.frameRate, s;\n }\n\n function key(t) {\n var e, r, i;\n if (!data.k.length || \"number\" == typeof data.k[0]) throw new Error(\"The property has no keyframe at index \" + t);\n t -= 1, e = {\n time: data.k[t].t / elem.comp.globalData.frameRate,\n value: []\n };\n var a = Object.prototype.hasOwnProperty.call(data.k[t], \"s\") ? data.k[t].s : data.k[t - 1].e;\n\n for (i = a.length, r = 0; r < i; r += 1) {\n e[r] = a[r], e.value[r] = a[r];\n }\n\n return e;\n }\n\n function framesToTime(t, e) {\n return e || (e = elem.comp.globalData.frameRate), t / e;\n }\n\n function timeToFrames(t, e) {\n return t || 0 === t || (t = time), e || (e = elem.comp.globalData.frameRate), t * e;\n }\n\n function seedRandom(t) {\n BMMath.seedrandom(randSeed + t);\n }\n\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n\n function substring(t, e) {\n return \"string\" == typeof value ? void 0 === e ? value.substring(t) : value.substring(t, e) : \"\";\n }\n\n function substr(t, e) {\n return \"string\" == typeof value ? void 0 === e ? value.substr(t) : value.substr(t, e) : \"\";\n }\n\n function posterizeTime(t) {\n time = 0 === t ? 0 : Math.floor(time * t) / t, value = valueAtTime(time);\n }\n\n var index = elem.data.ind,\n hasParent = !(!elem.hierarchy || !elem.hierarchy.length),\n parent,\n randSeed = Math.floor(1e6 * Math.random()),\n globalData = elem.globalData;\n\n function executeExpression(t) {\n return value = t, _needsRandom && seedRandom(randSeed), this.frameExpressionId === elem.globalData.frameId && \"textSelector\" !== this.propType ? value : (\"textSelector\" === this.propType && (textIndex = this.textIndex, textTotal = this.textTotal, selectorValue = this.selectorValue), thisLayer || (text = elem.layerInterface.text, thisLayer = elem.layerInterface, thisComp = elem.comp.compInterface, toWorld = thisLayer.toWorld.bind(thisLayer), fromWorld = thisLayer.fromWorld.bind(thisLayer), fromComp = thisLayer.fromComp.bind(thisLayer), toComp = thisLayer.toComp.bind(thisLayer), mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null, fromCompToSurface = fromComp), transform || (transform = elem.layerInterface(\"ADBE Transform Group\"), $bm_transform = transform, transform && (anchorPoint = transform.anchorPoint)), 4 !== elemType || content || (content = thisLayer(\"ADBE Root Vectors Group\")), effect || (effect = thisLayer(4)), (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface), time = this.comp.renderedFrame / this.comp.globalData.frameRate, needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, \"shape\" === scoped_bm_rt.propType && (scoped_bm_rt = scoped_bm_rt.v), scoped_bm_rt);\n }\n\n return executeExpression;\n }\n\n return ob.initiateExpression = initiateExpression, ob;\n }(),\n expressionHelpers = {\n searchExpressions: function searchExpressions(t, e, r) {\n e.x && (r.k = !0, r.x = !0, r.initiateExpression = ExpressionManager.initiateExpression, r.effectsSequence.push(r.initiateExpression(t, e, r).bind(r)));\n },\n getSpeedAtTime: function getSpeedAtTime(t) {\n var e = this.getValueAtTime(t),\n r = this.getValueAtTime(t + -.01),\n i = 0;\n\n if (e.length) {\n var a;\n\n for (a = 0; a < e.length; a += 1) {\n i += Math.pow(r[a] - e[a], 2);\n }\n\n i = 100 * Math.sqrt(i);\n } else i = 0;\n\n return i;\n },\n getVelocityAtTime: function getVelocityAtTime(t) {\n if (void 0 !== this.vel) return this.vel;\n var e,\n r,\n i = this.getValueAtTime(t),\n a = this.getValueAtTime(t + -.001);\n if (i.length) for (e = createTypedArray(\"float32\", i.length), r = 0; r < i.length; r += 1) {\n e[r] = (a[r] - i[r]) / -.001;\n } else e = (a - i) / -.001;\n return e;\n },\n getValueAtTime: function getValueAtTime(t) {\n return t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t ? this._cachingAtTime.lastIndex : 0, this._cachingAtTime.value = this.interpolateValue(t, this._cachingAtTime), this._cachingAtTime.lastFrame = t), this._cachingAtTime.value;\n },\n getStaticValueAtTime: function getStaticValueAtTime() {\n return this.pv;\n },\n setGroupProperty: function setGroupProperty(t) {\n this.propertyGroup = t;\n }\n };\n\n !function () {\n function t(t, e, r) {\n if (!this.k || !this.keyframes) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var i,\n a,\n s,\n n,\n o,\n h = this.comp.renderedFrame,\n l = this.keyframes,\n p = l[l.length - 1].t;\n if (h <= p) return this.pv;\n\n if (r ? a = p - (i = e ? Math.abs(p - this.elem.comp.globalData.frameRate * e) : Math.max(0, p - this.elem.data.ip)) : ((!e || e > l.length - 1) && (e = l.length - 1), i = p - (a = l[l.length - 1 - e].t)), \"pingpong\" === t) {\n if (Math.floor((h - a) / i) % 2 != 0) return this.getValueAtTime((i - (h - a) % i + a) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var f = this.getValueAtTime(a / this.comp.globalData.frameRate, 0),\n c = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n m = this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0),\n d = Math.floor((h - a) / i);\n\n if (this.pv.length) {\n for (n = (o = new Array(f.length)).length, s = 0; s < n; s += 1) {\n o[s] = (c[s] - f[s]) * d + m[s];\n }\n\n return o;\n }\n\n return (c - f) * d + m;\n }\n\n if (\"continue\" === t) {\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n y = this.getValueAtTime((p - .001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) {\n o[s] = u[s] + (u[s] - y[s]) * ((h - p) / this.comp.globalData.frameRate) / 5e-4;\n }\n\n return o;\n }\n\n return u + (h - p) / .001 * (u - y);\n }\n }\n\n return this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0);\n }\n\n function e(t, e, r) {\n if (!this.k) return this.pv;\n t = t ? t.toLowerCase() : \"\";\n var i,\n a,\n s,\n n,\n o,\n h = this.comp.renderedFrame,\n l = this.keyframes,\n p = l[0].t;\n if (h >= p) return this.pv;\n\n if (r ? a = p + (i = e ? Math.abs(this.elem.comp.globalData.frameRate * e) : Math.max(0, this.elem.data.op - p)) : ((!e || e > l.length - 1) && (e = l.length - 1), i = (a = l[e].t) - p), \"pingpong\" === t) {\n if (Math.floor((p - h) / i) % 2 == 0) return this.getValueAtTime(((p - h) % i + p) / this.comp.globalData.frameRate, 0);\n } else {\n if (\"offset\" === t) {\n var f = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n c = this.getValueAtTime(a / this.comp.globalData.frameRate, 0),\n m = this.getValueAtTime((i - (p - h) % i + p) / this.comp.globalData.frameRate, 0),\n d = Math.floor((p - h) / i) + 1;\n\n if (this.pv.length) {\n for (n = (o = new Array(f.length)).length, s = 0; s < n; s += 1) {\n o[s] = m[s] - (c[s] - f[s]) * d;\n }\n\n return o;\n }\n\n return m - (c - f) * d;\n }\n\n if (\"continue\" === t) {\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0),\n y = this.getValueAtTime((p + .001) / this.comp.globalData.frameRate, 0);\n\n if (this.pv.length) {\n for (n = (o = new Array(u.length)).length, s = 0; s < n; s += 1) {\n o[s] = u[s] + (u[s] - y[s]) * (p - h) / .001;\n }\n\n return o;\n }\n\n return u + (u - y) * (p - h) / .001;\n }\n }\n\n return this.getValueAtTime((i - ((p - h) % i + p)) / this.comp.globalData.frameRate, 0);\n }\n\n function r(t, e) {\n if (!this.k) return this.pv;\n if (t = .5 * (t || .4), (e = Math.floor(e || 5)) <= 1) return this.pv;\n var r,\n i,\n a = this.comp.renderedFrame / this.comp.globalData.frameRate,\n s = a - t,\n n = e > 1 ? (a + t - s) / (e - 1) : 1,\n o = 0,\n h = 0;\n\n for (r = this.pv.length ? createTypedArray(\"float32\", this.pv.length) : 0; o < e;) {\n if (i = this.getValueAtTime(s + o * n), this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n r[h] += i[h];\n } else r += i;\n o += 1;\n }\n\n if (this.pv.length) for (h = 0; h < this.pv.length; h += 1) {\n r[h] /= e;\n } else r /= e;\n return r;\n }\n\n function i(t) {\n this._transformCachingAtTime || (this._transformCachingAtTime = {\n v: new Matrix()\n });\n var e = this._transformCachingAtTime.v;\n\n if (e.cloneFromProps(this.pre.props), this.appliedTransformations < 1) {\n var r = this.a.getValueAtTime(t);\n e.translate(-r[0] * this.a.mult, -r[1] * this.a.mult, r[2] * this.a.mult);\n }\n\n if (this.appliedTransformations < 2) {\n var i = this.s.getValueAtTime(t);\n e.scale(i[0] * this.s.mult, i[1] * this.s.mult, i[2] * this.s.mult);\n }\n\n if (this.sk && this.appliedTransformations < 3) {\n var a = this.sk.getValueAtTime(t),\n s = this.sa.getValueAtTime(t);\n e.skewFromAxis(-a * this.sk.mult, s * this.sa.mult);\n }\n\n if (this.r && this.appliedTransformations < 4) {\n var n = this.r.getValueAtTime(t);\n e.rotate(-n * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var o = this.rz.getValueAtTime(t),\n h = this.ry.getValueAtTime(t),\n l = this.rx.getValueAtTime(t),\n p = this.or.getValueAtTime(t);\n e.rotateZ(-o * this.rz.mult).rotateY(h * this.ry.mult).rotateX(l * this.rx.mult).rotateZ(-p[2] * this.or.mult).rotateY(p[1] * this.or.mult).rotateX(p[0] * this.or.mult);\n }\n\n if (this.data.p && this.data.p.s) {\n var f = this.px.getValueAtTime(t),\n c = this.py.getValueAtTime(t);\n\n if (this.data.p.z) {\n var m = this.pz.getValueAtTime(t);\n e.translate(f * this.px.mult, c * this.py.mult, -m * this.pz.mult);\n } else e.translate(f * this.px.mult, c * this.py.mult, 0);\n } else {\n var d = this.p.getValueAtTime(t);\n e.translate(d[0] * this.p.mult, d[1] * this.p.mult, -d[2] * this.p.mult);\n }\n\n return e;\n }\n\n function a() {\n return this.v.clone(new Matrix());\n }\n\n var s = TransformPropertyFactory.getTransformProperty;\n\n TransformPropertyFactory.getTransformProperty = function (t, e, r) {\n var n = s(t, e, r);\n return n.dynamicProperties.length ? n.getValueAtTime = i.bind(n) : n.getValueAtTime = a.bind(n), n.setGroupProperty = expressionHelpers.setGroupProperty, n;\n };\n\n var n = PropertyFactory.getProp;\n\n PropertyFactory.getProp = function (i, a, s, o, h) {\n var l = n(i, a, s, o, h);\n l.kf ? l.getValueAtTime = expressionHelpers.getValueAtTime.bind(l) : l.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(l), l.setGroupProperty = expressionHelpers.setGroupProperty, l.loopOut = t, l.loopIn = e, l.smooth = r, l.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(l), l.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(l), l.numKeys = 1 === a.a ? a.k.length : 0, l.propertyIndex = a.ix;\n var p = 0;\n return 0 !== s && (p = createTypedArray(\"float32\", 1 === a.a ? a.k[0].s.length : a.k.length)), l._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: p\n }, expressionHelpers.searchExpressions(i, a, l), l.k && h.addDynamicProperty(l), l;\n };\n\n var o = ShapePropertyFactory.getConstructorFunction(),\n h = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n function l() {}\n\n l.prototype = {\n vertices: function vertices(t, e) {\n this.k && this.getValue();\n var r,\n i = this.v;\n void 0 !== e && (i = this.getValueAtTime(e, 0));\n var a = i._length,\n s = i[t],\n n = i.v,\n o = createSizedArray(a);\n\n for (r = 0; r < a; r += 1) {\n o[r] = \"i\" === t || \"o\" === t ? [s[r][0] - n[r][0], s[r][1] - n[r][1]] : [s[r][0], s[r][1]];\n }\n\n return o;\n },\n points: function points(t) {\n return this.vertices(\"v\", t);\n },\n inTangents: function inTangents(t) {\n return this.vertices(\"i\", t);\n },\n outTangents: function outTangents(t) {\n return this.vertices(\"o\", t);\n },\n isClosed: function isClosed() {\n return this.v.c;\n },\n pointOnPath: function pointOnPath(t, e) {\n var r = this.v;\n void 0 !== e && (r = this.getValueAtTime(e, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(r));\n\n for (var i, a = this._segmentsLength, s = a.lengths, n = a.totalLength * t, o = 0, h = s.length, l = 0; o < h;) {\n if (l + s[o].addedLength > n) {\n var p = o,\n f = r.c && o === h - 1 ? 0 : o + 1,\n c = (n - l) / s[o].addedLength;\n i = bez.getPointInSegment(r.v[p], r.v[f], r.o[p], r.i[f], c, s[o]);\n break;\n }\n\n l += s[o].addedLength, o += 1;\n }\n\n return i || (i = r.c ? [r.v[0][0], r.v[0][1]] : [r.v[r._length - 1][0], r.v[r._length - 1][1]]), i;\n },\n vectorOnPath: function vectorOnPath(t, e, r) {\n 1 == t ? t = this.v.c : 0 == t && (t = .999);\n var i = this.pointOnPath(t, e),\n a = this.pointOnPath(t + .001, e),\n s = a[0] - i[0],\n n = a[1] - i[1],\n o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2));\n return 0 === o ? [0, 0] : \"tangent\" === r ? [s / o, n / o] : [-n / o, s / o];\n },\n tangentOnPath: function tangentOnPath(t, e) {\n return this.vectorOnPath(t, e, \"tangent\");\n },\n normalOnPath: function normalOnPath(t, e) {\n return this.vectorOnPath(t, e, \"normal\");\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n }, extendPrototype([l], o), extendPrototype([l], h), h.prototype.getValueAtTime = function (t) {\n return this._cachingAtTime || (this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n }), t *= this.elem.globalData.frameRate, (t -= this.offsetTime) !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t ? this._caching.lastIndex : 0, this._cachingAtTime.lastTime = t, this.interpolateShape(t, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue;\n }, h.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var p = ShapePropertyFactory.getShapeProp;\n\n ShapePropertyFactory.getShapeProp = function (t, e, r, i, a) {\n var s = p(t, e, r, i, a);\n return s.propertyIndex = e.ix, s.lock = !1, 3 === r ? expressionHelpers.searchExpressions(t, e.pt, s) : 4 === r && expressionHelpers.searchExpressions(t, e.ks, s), s.k && t.addDynamicProperty(s), s;\n };\n }(), TextProperty.prototype.getExpressionValue = function (t, e) {\n var r = this.calculateExpression(e);\n\n if (t.t !== r) {\n var i = {};\n return this.copyData(i, t), i.t = r.toString(), i.__complete = !1, i;\n }\n\n return t;\n }, TextProperty.prototype.searchProperty = function () {\n var t = this.searchKeyframes(),\n e = this.searchExpressions();\n return this.kf = t || e, this.kf;\n }, TextProperty.prototype.searchExpressions = function () {\n return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), !0) : null;\n };\n\n var ShapePathInterface = function ShapePathInterface(t, e, r) {\n var i = e.sh;\n\n function a(t) {\n return \"Shape\" === t || \"shape\" === t || \"Path\" === t || \"path\" === t || \"ADBE Vector Shape\" === t || 2 === t ? a.path : null;\n }\n\n var s = propertyGroupFactory(a, r);\n return i.setGroupProperty(PropertyInterface(\"Path\", s)), Object.defineProperties(a, {\n path: {\n get: function get() {\n return i.k && i.getValue(), i;\n }\n },\n shape: {\n get: function get() {\n return i.k && i.getValue(), i;\n }\n },\n _name: {\n value: t.nm\n },\n ix: {\n value: t.ix\n },\n propertyIndex: {\n value: t.ix\n },\n mn: {\n value: t.mn\n },\n propertyGroup: {\n value: r\n }\n }), a;\n },\n propertyGroupFactory = function propertyGroupFactory(t, e) {\n return function (r) {\n return (r = void 0 === r ? 1 : r) <= 0 ? t : e(r - 1);\n };\n },\n PropertyInterface = function PropertyInterface(t, e) {\n var r = {\n _name: t\n };\n return function (t) {\n return (t = void 0 === t ? 1 : t) <= 0 ? r : e(t - 1);\n };\n },\n ShapeExpressionInterface = function () {\n function t(t, s, f) {\n var c,\n m = [],\n d = t ? t.length : 0;\n\n for (c = 0; c < d; c += 1) {\n \"gr\" === t[c].ty ? m.push(e(t[c], s[c], f)) : \"fl\" === t[c].ty ? m.push(r(t[c], s[c], f)) : \"st\" === t[c].ty ? m.push(i(t[c], s[c], f)) : \"tm\" === t[c].ty ? m.push(a(t[c], s[c], f)) : \"tr\" === t[c].ty || (\"el\" === t[c].ty ? m.push(n(t[c], s[c], f)) : \"sr\" === t[c].ty ? m.push(o(t[c], s[c], f)) : \"sh\" === t[c].ty ? m.push(ShapePathInterface(t[c], s[c], f)) : \"rc\" === t[c].ty ? m.push(h(t[c], s[c], f)) : \"rd\" === t[c].ty ? m.push(l(t[c], s[c], f)) : \"rp\" === t[c].ty && m.push(p(t[c], s[c], f)));\n }\n\n return m;\n }\n\n function e(e, r, i) {\n var a = function a(t) {\n switch (t) {\n case \"ADBE Vectors Group\":\n case \"Contents\":\n case 2:\n return a.content;\n\n default:\n return a.transform;\n }\n };\n\n a.propertyGroup = propertyGroupFactory(a, i);\n\n var n = function (e, r, i) {\n var a,\n n = function n(t) {\n for (var e = 0, r = a.length; e < r;) {\n if (a[e]._name === t || a[e].mn === t || a[e].propertyIndex === t || a[e].ix === t || a[e].ind === t) return a[e];\n e += 1;\n }\n\n return \"number\" == typeof t ? a[t - 1] : null;\n };\n\n n.propertyGroup = propertyGroupFactory(n, i), a = t(e.it, r.it, n.propertyGroup), n.numProperties = a.length;\n var o = s(e.it[e.it.length - 1], r.it[r.it.length - 1], n.propertyGroup);\n return n.transform = o, n.propertyIndex = e.cix, n._name = e.nm, n;\n }(e, r, a.propertyGroup),\n o = s(e.it[e.it.length - 1], r.it[r.it.length - 1], a.propertyGroup);\n\n return a.content = n, a.transform = o, Object.defineProperty(a, \"_name\", {\n get: function get() {\n return e.nm;\n }\n }), a.numProperties = e.np, a.propertyIndex = e.ix, a.nm = e.nm, a.mn = e.mn, a;\n }\n\n function r(t, e, r) {\n function i(t) {\n return \"Color\" === t || \"color\" === t ? i.color : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null;\n }\n\n return Object.defineProperties(i, {\n color: {\n get: ExpressionPropertyInterface(e.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.c.setGroupProperty(PropertyInterface(\"Color\", r)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)), i;\n }\n\n function i(t, e, r) {\n var i,\n a = propertyGroupFactory(l, r),\n s = propertyGroupFactory(h, a);\n\n function n(r) {\n Object.defineProperty(h, t.d[r].nm, {\n get: ExpressionPropertyInterface(e.d.dataProps[r].p)\n });\n }\n\n var o = t.d ? t.d.length : 0,\n h = {};\n\n for (i = 0; i < o; i += 1) {\n n(i), e.d.dataProps[i].p.setGroupProperty(s);\n }\n\n function l(t) {\n return \"Color\" === t || \"color\" === t ? l.color : \"Opacity\" === t || \"opacity\" === t ? l.opacity : \"Stroke Width\" === t || \"stroke width\" === t ? l.strokeWidth : null;\n }\n\n return Object.defineProperties(l, {\n color: {\n get: ExpressionPropertyInterface(e.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(e.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(e.w)\n },\n dash: {\n get: function get() {\n return h;\n }\n },\n _name: {\n value: t.nm\n },\n mn: {\n value: t.mn\n }\n }), e.c.setGroupProperty(PropertyInterface(\"Color\", a)), e.o.setGroupProperty(PropertyInterface(\"Opacity\", a)), e.w.setGroupProperty(PropertyInterface(\"Stroke Width\", a)), l;\n }\n\n function a(t, e, r) {\n function i(e) {\n return e === t.e.ix || \"End\" === e || \"end\" === e ? i.end : e === t.s.ix ? i.start : e === t.o.ix ? i.offset : null;\n }\n\n var a = propertyGroupFactory(i, r);\n return i.propertyIndex = t.ix, e.s.setGroupProperty(PropertyInterface(\"Start\", a)), e.e.setGroupProperty(PropertyInterface(\"End\", a)), e.o.setGroupProperty(PropertyInterface(\"Offset\", a)), i.propertyIndex = t.ix, i.propertyGroup = r, Object.defineProperties(i, {\n start: {\n get: ExpressionPropertyInterface(e.s)\n },\n end: {\n get: ExpressionPropertyInterface(e.e)\n },\n offset: {\n get: ExpressionPropertyInterface(e.o)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function s(t, e, r) {\n function i(e) {\n return t.a.ix === e || \"Anchor Point\" === e ? i.anchorPoint : t.o.ix === e || \"Opacity\" === e ? i.opacity : t.p.ix === e || \"Position\" === e ? i.position : t.r.ix === e || \"Rotation\" === e || \"ADBE Vector Rotation\" === e ? i.rotation : t.s.ix === e || \"Scale\" === e ? i.scale : t.sk && t.sk.ix === e || \"Skew\" === e ? i.skew : t.sa && t.sa.ix === e || \"Skew Axis\" === e ? i.skewAxis : null;\n }\n\n var a = propertyGroupFactory(i, r);\n return e.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", a)), e.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", a)), e.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", a)), e.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", a)), e.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", a)), e.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", a))), e.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", a)), Object.defineProperties(i, {\n opacity: {\n get: ExpressionPropertyInterface(e.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(e.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(e.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(e.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(e.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(e.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(e.transform.mProps.sa)\n },\n _name: {\n value: t.nm\n }\n }), i.ty = \"tr\", i.mn = t.mn, i.propertyGroup = r, i;\n }\n\n function n(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.s.ix === e ? i.size : null;\n }\n\n var a = propertyGroupFactory(i, r);\n i.propertyIndex = t.ix;\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return s.s.setGroupProperty(PropertyInterface(\"Size\", a)), s.p.setGroupProperty(PropertyInterface(\"Position\", a)), Object.defineProperties(i, {\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function o(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.r.ix === e ? i.rotation : t.pt.ix === e ? i.points : t.or.ix === e || \"ADBE Vector Star Outer Radius\" === e ? i.outerRadius : t.os.ix === e ? i.outerRoundness : !t.ir || t.ir.ix !== e && \"ADBE Vector Star Inner Radius\" !== e ? t.is && t.is.ix === e ? i.innerRoundness : null : i.innerRadius;\n }\n\n var a = propertyGroupFactory(i, r),\n s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return i.propertyIndex = t.ix, s.or.setGroupProperty(PropertyInterface(\"Outer Radius\", a)), s.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", a)), s.pt.setGroupProperty(PropertyInterface(\"Points\", a)), s.p.setGroupProperty(PropertyInterface(\"Position\", a)), s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), t.ir && (s.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", a)), s.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", a))), Object.defineProperties(i, {\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(s.r)\n },\n points: {\n get: ExpressionPropertyInterface(s.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(s.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(s.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(s.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(s.is)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function h(t, e, r) {\n function i(e) {\n return t.p.ix === e ? i.position : t.r.ix === e ? i.roundness : t.s.ix === e || \"Size\" === e || \"ADBE Vector Rect Size\" === e ? i.size : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\n return i.propertyIndex = t.ix, s.p.setGroupProperty(PropertyInterface(\"Position\", a)), s.s.setGroupProperty(PropertyInterface(\"Size\", a)), s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)), Object.defineProperties(i, {\n position: {\n get: ExpressionPropertyInterface(s.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(s.r)\n },\n size: {\n get: ExpressionPropertyInterface(s.s)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function l(t, e, r) {\n function i(e) {\n return t.r.ix === e || \"Round Corners 1\" === e ? i.radius : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = e;\n return i.propertyIndex = t.ix, s.rd.setGroupProperty(PropertyInterface(\"Radius\", a)), Object.defineProperties(i, {\n radius: {\n get: ExpressionPropertyInterface(s.rd)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n function p(t, e, r) {\n function i(e) {\n return t.c.ix === e || \"Copies\" === e ? i.copies : t.o.ix === e || \"Offset\" === e ? i.offset : null;\n }\n\n var a = propertyGroupFactory(i, r),\n s = e;\n return i.propertyIndex = t.ix, s.c.setGroupProperty(PropertyInterface(\"Copies\", a)), s.o.setGroupProperty(PropertyInterface(\"Offset\", a)), Object.defineProperties(i, {\n copies: {\n get: ExpressionPropertyInterface(s.c)\n },\n offset: {\n get: ExpressionPropertyInterface(s.o)\n },\n _name: {\n value: t.nm\n }\n }), i.mn = t.mn, i;\n }\n\n return function (e, r, i) {\n var a;\n\n function s(t) {\n if (\"number\" == typeof t) return 0 === (t = void 0 === t ? 1 : t) ? i : a[t - 1];\n\n for (var e = 0, r = a.length; e < r;) {\n if (a[e]._name === t) return a[e];\n e += 1;\n }\n\n return null;\n }\n\n return s.propertyGroup = propertyGroupFactory(s, function () {\n return i;\n }), a = t(e, r, s.propertyGroup), s.numProperties = a.length, s._name = \"Contents\", s;\n };\n }(),\n TextExpressionInterface = function TextExpressionInterface(t) {\n var e;\n\n function r(t) {\n switch (t) {\n case \"ADBE Text Document\":\n return r.sourceText;\n\n default:\n return null;\n }\n }\n\n return Object.defineProperty(r, \"sourceText\", {\n get: function get() {\n t.textProperty.getValue();\n var r = t.textProperty.currentData.t;\n return void 0 !== r && (t.textProperty.currentData.t = void 0, (e = new String(r)).value = r || new String(r)), e;\n }\n }), r;\n },\n LayerExpressionInterface = function () {\n function t(t) {\n var e = new Matrix();\n void 0 !== t ? this._elem.finalTransform.mProp.getValueAtTime(t).clone(e) : this._elem.finalTransform.mProp.applyToMatrix(e);\n return e;\n }\n\n function e(t, e) {\n var r = this.getMatrix(e);\n return r.props[12] = 0, r.props[13] = 0, r.props[14] = 0, this.applyPoint(r, t);\n }\n\n function r(t, e) {\n var r = this.getMatrix(e);\n return this.applyPoint(r, t);\n }\n\n function i(t, e) {\n var r = this.getMatrix(e);\n return r.props[12] = 0, r.props[13] = 0, r.props[14] = 0, this.invertPoint(r, t);\n }\n\n function a(t, e) {\n var r = this.getMatrix(e);\n return this.invertPoint(r, t);\n }\n\n function s(t, e) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t);\n }\n }\n\n return t.applyToPointArray(e[0], e[1], e[2] || 0);\n }\n\n function n(t, e) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t);\n }\n }\n\n return t.inversePoint(e);\n }\n\n function o(t) {\n var e = new Matrix();\n\n if (e.reset(), this._elem.finalTransform.mProp.applyToMatrix(e), this._elem.hierarchy && this._elem.hierarchy.length) {\n var r,\n i = this._elem.hierarchy.length;\n\n for (r = 0; r < i; r += 1) {\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(e);\n }\n\n return e.inversePoint(t);\n }\n\n return e.inversePoint(t);\n }\n\n function h() {\n return [1, 1, 1, 1];\n }\n\n return function (l) {\n var p;\n\n function f(t) {\n switch (t) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return f.shapeInterface;\n\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return p;\n\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return f.effect;\n\n case \"ADBE Text Properties\":\n return f.textInterface;\n\n default:\n return null;\n }\n }\n\n f.getMatrix = t, f.invertPoint = n, f.applyPoint = s, f.toWorld = r, f.toWorldVec = e, f.fromWorld = a, f.fromWorldVec = i, f.toComp = r, f.fromComp = o, f.sampleImage = h, f.sourceRectAtTime = l.sourceRectAtTime.bind(l), f._elem = l;\n var c = getDescriptor(p = TransformExpressionInterface(l.finalTransform.mProp), \"anchorPoint\");\n return Object.defineProperties(f, {\n hasParent: {\n get: function get() {\n return l.hierarchy.length;\n }\n },\n parent: {\n get: function get() {\n return l.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(p, \"rotation\"),\n scale: getDescriptor(p, \"scale\"),\n position: getDescriptor(p, \"position\"),\n opacity: getDescriptor(p, \"opacity\"),\n anchorPoint: c,\n anchor_point: c,\n transform: {\n get: function get() {\n return p;\n }\n },\n active: {\n get: function get() {\n return l.isInRange;\n }\n }\n }), f.startTime = l.data.st, f.index = l.data.ind, f.source = l.data.refId, f.height = 0 === l.data.ty ? l.data.h : 100, f.width = 0 === l.data.ty ? l.data.w : 100, f.inPoint = l.data.ip / l.comp.globalData.frameRate, f.outPoint = l.data.op / l.comp.globalData.frameRate, f._name = l.data.nm, f.registerMaskInterface = function (t) {\n f.mask = new MaskManagerInterface(t, l);\n }, f.registerEffectsInterface = function (t) {\n f.effect = t;\n }, f;\n };\n }(),\n FootageInterface = (dataInterfaceFactory = function dataInterfaceFactory(t) {\n function e(t) {\n return \"Outline\" === t ? e.outlineInterface() : null;\n }\n\n return e._name = \"Outline\", e.outlineInterface = function (t) {\n var e = \"\",\n r = t.getFootageData();\n\n function i(t) {\n if (r[t]) return e = t, \"object\" == typeof (r = r[t]) ? i : r;\n var a = t.indexOf(e);\n\n if (-1 !== a) {\n var s = parseInt(t.substr(a + e.length), 10);\n return \"object\" == typeof (r = r[s]) ? i : r;\n }\n\n return \"\";\n }\n\n return function () {\n return e = \"\", r = t.getFootageData(), i;\n };\n }(t), e;\n }, function (t) {\n function e(t) {\n return \"Data\" === t ? e.dataInterface : null;\n }\n\n return e._name = \"Data\", e.dataInterface = dataInterfaceFactory(t), e;\n }),\n dataInterfaceFactory,\n CompExpressionInterface = function CompExpressionInterface(t) {\n function e(e) {\n for (var r = 0, i = t.layers.length; r < i;) {\n if (t.layers[r].nm === e || t.layers[r].ind === e) return t.elements[r].layerInterface;\n r += 1;\n }\n\n return null;\n }\n\n return Object.defineProperty(e, \"_name\", {\n value: t.data.nm\n }), e.layer = e, e.pixelAspect = 1, e.height = t.data.h || t.globalData.compSize.h, e.width = t.data.w || t.globalData.compSize.w, e.pixelAspect = 1, e.frameDuration = 1 / t.globalData.frameRate, e.displayStartTime = 0, e.numLayers = t.layers.length, e;\n },\n TransformExpressionInterface = function TransformExpressionInterface(t) {\n function e(t) {\n switch (t) {\n case \"scale\":\n case \"Scale\":\n case \"ADBE Scale\":\n case 6:\n return e.scale;\n\n case \"rotation\":\n case \"Rotation\":\n case \"ADBE Rotation\":\n case \"ADBE Rotate Z\":\n case 10:\n return e.rotation;\n\n case \"ADBE Rotate X\":\n return e.xRotation;\n\n case \"ADBE Rotate Y\":\n return e.yRotation;\n\n case \"position\":\n case \"Position\":\n case \"ADBE Position\":\n case 2:\n return e.position;\n\n case \"ADBE Position_0\":\n return e.xPosition;\n\n case \"ADBE Position_1\":\n return e.yPosition;\n\n case \"ADBE Position_2\":\n return e.zPosition;\n\n case \"anchorPoint\":\n case \"AnchorPoint\":\n case \"Anchor Point\":\n case \"ADBE AnchorPoint\":\n case 1:\n return e.anchorPoint;\n\n case \"opacity\":\n case \"Opacity\":\n case 11:\n return e.opacity;\n\n default:\n return null;\n }\n }\n\n var r, i, a, s;\n return Object.defineProperty(e, \"rotation\", {\n get: ExpressionPropertyInterface(t.r || t.rz)\n }), Object.defineProperty(e, \"zRotation\", {\n get: ExpressionPropertyInterface(t.rz || t.r)\n }), Object.defineProperty(e, \"xRotation\", {\n get: ExpressionPropertyInterface(t.rx)\n }), Object.defineProperty(e, \"yRotation\", {\n get: ExpressionPropertyInterface(t.ry)\n }), Object.defineProperty(e, \"scale\", {\n get: ExpressionPropertyInterface(t.s)\n }), t.p ? s = ExpressionPropertyInterface(t.p) : (r = ExpressionPropertyInterface(t.px), i = ExpressionPropertyInterface(t.py), t.pz && (a = ExpressionPropertyInterface(t.pz))), Object.defineProperty(e, \"position\", {\n get: function get() {\n return t.p ? s() : [r(), i(), a ? a() : 0];\n }\n }), Object.defineProperty(e, \"xPosition\", {\n get: ExpressionPropertyInterface(t.px)\n }), Object.defineProperty(e, \"yPosition\", {\n get: ExpressionPropertyInterface(t.py)\n }), Object.defineProperty(e, \"zPosition\", {\n get: ExpressionPropertyInterface(t.pz)\n }), Object.defineProperty(e, \"anchorPoint\", {\n get: ExpressionPropertyInterface(t.a)\n }), Object.defineProperty(e, \"opacity\", {\n get: ExpressionPropertyInterface(t.o)\n }), Object.defineProperty(e, \"skew\", {\n get: ExpressionPropertyInterface(t.sk)\n }), Object.defineProperty(e, \"skewAxis\", {\n get: ExpressionPropertyInterface(t.sa)\n }), Object.defineProperty(e, \"orientation\", {\n get: ExpressionPropertyInterface(t.or)\n }), e;\n },\n ProjectInterface = function () {\n function t(t) {\n this.compositions.push(t);\n }\n\n return function () {\n function e(t) {\n for (var e = 0, r = this.compositions.length; e < r;) {\n if (this.compositions[e].data && this.compositions[e].data.nm === t) return this.compositions[e].prepareFrame && this.compositions[e].data.xt && this.compositions[e].prepareFrame(this.currentFrame), this.compositions[e].compInterface;\n e += 1;\n }\n\n return null;\n }\n\n return e.compositions = [], e.currentFrame = 0, e.registerComposition = t, e;\n };\n }(),\n EffectsExpressionInterface = function () {\n function t(r, i, a, s) {\n function n(t) {\n for (var e = r.ef, i = 0, a = e.length; i < a;) {\n if (t === e[i].nm || t === e[i].mn || t === e[i].ix) return 5 === e[i].ty ? l[i] : l[i]();\n i += 1;\n }\n\n throw new Error();\n }\n\n var o,\n h = propertyGroupFactory(n, a),\n l = [],\n p = r.ef.length;\n\n for (o = 0; o < p; o += 1) {\n 5 === r.ef[o].ty ? l.push(t(r.ef[o], i.effectElements[o], i.effectElements[o].propertyGroup, s)) : l.push(e(i.effectElements[o], r.ef[o].ty, s, h));\n }\n\n return \"ADBE Color Control\" === r.mn && Object.defineProperty(n, \"color\", {\n get: function get() {\n return l[0]();\n }\n }), Object.defineProperties(n, {\n numProperties: {\n get: function get() {\n return r.np;\n }\n },\n _name: {\n value: r.nm\n },\n propertyGroup: {\n value: h\n }\n }), n.enabled = 0 !== r.en, n.active = n.enabled, n;\n }\n\n function e(t, e, r, i) {\n var a = ExpressionPropertyInterface(t.p);\n return t.p.setGroupProperty && t.p.setGroupProperty(PropertyInterface(\"\", i)), function () {\n return 10 === e ? r.comp.compInterface(t.p.v) : a();\n };\n }\n\n return {\n createEffectsInterface: function createEffectsInterface(e, r) {\n if (e.effectsManager) {\n var i,\n a = [],\n s = e.data.ef,\n n = e.effectsManager.effectElements.length;\n\n for (i = 0; i < n; i += 1) {\n a.push(t(s[i], e.effectsManager.effectElements[i], r, e));\n }\n\n var o = e.data.ef || [],\n h = function h(t) {\n for (i = 0, n = o.length; i < n;) {\n if (t === o[i].nm || t === o[i].mn || t === o[i].ix) return a[i];\n i += 1;\n }\n\n return null;\n };\n\n return Object.defineProperty(h, \"numProperties\", {\n get: function get() {\n return o.length;\n }\n }), h;\n }\n\n return null;\n }\n };\n }(),\n MaskManagerInterface = function () {\n function t(t, e) {\n this._mask = t, this._data = e;\n }\n\n Object.defineProperty(t.prototype, \"maskPath\", {\n get: function get() {\n return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop;\n }\n }), Object.defineProperty(t.prototype, \"maskOpacity\", {\n get: function get() {\n return this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v;\n }\n });\n return function (e) {\n var r,\n i = createSizedArray(e.viewData.length),\n a = e.viewData.length;\n\n for (r = 0; r < a; r += 1) {\n i[r] = new t(e.viewData[r], e.masksProperties[r]);\n }\n\n return function (t) {\n for (r = 0; r < a;) {\n if (e.masksProperties[r].nm === t) return i[r];\n r += 1;\n }\n\n return null;\n };\n };\n }(),\n ExpressionPropertyInterface = function () {\n var t = {\n pv: 0,\n v: 0,\n mult: 1\n },\n e = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n\n function r(t, e, r) {\n Object.defineProperty(t, \"velocity\", {\n get: function get() {\n return e.getVelocityAtTime(e.comp.currentFrame);\n }\n }), t.numKeys = e.keyframes ? e.keyframes.length : 0, t.key = function (i) {\n if (!t.numKeys) return 0;\n var a = \"\";\n a = \"s\" in e.keyframes[i - 1] ? e.keyframes[i - 1].s : \"e\" in e.keyframes[i - 2] ? e.keyframes[i - 2].e : e.keyframes[i - 2].s;\n var s = \"unidimensional\" === r ? new Number(a) : Object.assign({}, a);\n return s.time = e.keyframes[i - 1].t / e.elem.comp.globalData.frameRate, s.value = \"unidimensional\" === r ? a[0] : a, s;\n }, t.valueAtTime = e.getValueAtTime, t.speedAtTime = e.getSpeedAtTime, t.velocityAtTime = e.getVelocityAtTime, t.propertyGroup = e.propertyGroup;\n }\n\n function i() {\n return t;\n }\n\n return function (a) {\n return a ? \"unidimensional\" === a.propType ? function (e) {\n e && \"pv\" in e || (e = t);\n var i = 1 / e.mult,\n a = e.pv * i,\n s = new Number(a);\n return s.value = a, r(s, e, \"unidimensional\"), function () {\n return e.k && e.getValue(), a = e.v * i, s.value !== a && ((s = new Number(a)).value = a, r(s, e, \"unidimensional\")), s;\n };\n }(a) : function (t) {\n t && \"pv\" in t || (t = e);\n var i = 1 / t.mult,\n a = t.data && t.data.l || t.pv.length,\n s = createTypedArray(\"float32\", a),\n n = createTypedArray(\"float32\", a);\n return s.value = n, r(s, t, \"multidimensional\"), function () {\n t.k && t.getValue();\n\n for (var e = 0; e < a; e += 1) {\n n[e] = t.v[e] * i, s[e] = n[e];\n }\n\n return s;\n };\n }(a) : i;\n };\n }();\n\n function SliderEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function AngleEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function ColorEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n\n function PointEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n\n function LayerIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function MaskIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function CheckboxEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n\n function NoValueEffect() {\n this.p = {};\n }\n\n function EffectsManager(t, e) {\n var r,\n i = t.ef || [];\n this.effectElements = [];\n var a,\n s = i.length;\n\n for (r = 0; r < s; r += 1) {\n a = new GroupEffect(i[r], e), this.effectElements.push(a);\n }\n }\n\n function GroupEffect(t, e) {\n this.init(t, e);\n }\n\n !function () {\n !function () {\n function t(t, e) {\n return this.textIndex = t + 1, this.textTotal = e, this.v = this.getValue() * this.mult, this.v;\n }\n }();\n var t = TextSelectorProp.getTextSelectorProp;\n\n TextSelectorProp.getTextSelectorProp = function (e, r, i) {\n return 1 === r.t ? new TextExpressionSelectorPropFactory(e, r, i) : t(e, r, i);\n };\n }(), extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function (t, e) {\n var r;\n this.data = t, this.effectElements = [], this.initDynamicPropertyContainer(e);\n var i,\n a = this.data.ef.length,\n s = this.data.ef;\n\n for (r = 0; r < a; r += 1) {\n switch (i = null, s[r].ty) {\n case 0:\n i = new SliderEffect(s[r], e, this);\n break;\n\n case 1:\n i = new AngleEffect(s[r], e, this);\n break;\n\n case 2:\n i = new ColorEffect(s[r], e, this);\n break;\n\n case 3:\n i = new PointEffect(s[r], e, this);\n break;\n\n case 4:\n case 7:\n i = new CheckboxEffect(s[r], e, this);\n break;\n\n case 10:\n i = new LayerIndexEffect(s[r], e, this);\n break;\n\n case 11:\n i = new MaskIndexEffect(s[r], e, this);\n break;\n\n case 5:\n i = new EffectsManager(s[r], e, this);\n break;\n\n default:\n i = new NoValueEffect(s[r], e, this);\n }\n\n i && this.effectElements.push(i);\n }\n };\n var lottie = {};\n\n function setLocationHref(t) {\n locationHref = t;\n }\n\n function searchAnimations() {\n !0 === standalone ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations();\n }\n\n function setSubframeRendering(t) {\n subframeEnabled = t;\n }\n\n function loadAnimation(t) {\n return !0 === standalone && (t.animationData = JSON.parse(animationData)), animationManager.loadAnimation(t);\n }\n\n function setQuality(t) {\n if (\"string\" == typeof t) switch (t) {\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 } else !isNaN(t) && t > 1 && (defaultCurveSegments = t);\n roundValues(!(defaultCurveSegments >= 50));\n }\n\n function inBrowser() {\n return \"undefined\" != typeof navigator;\n }\n\n function installPlugin(t, e) {\n \"expressions\" === t && (expressionsPlugin = e);\n }\n\n function getFactory(t) {\n switch (t) {\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 function checkReady() {\n \"complete\" === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations());\n }\n\n function getQueryVariable(t) {\n for (var e = queryString.split(\"&\"), r = 0; r < e.length; r += 1) {\n var i = e[r].split(\"=\");\n if (decodeURIComponent(i[0]) == t) return decodeURIComponent(i[1]);\n }\n\n return null;\n }\n\n lottie.play = animationManager.play, lottie.pause = animationManager.pause, lottie.setLocationHref = setLocationHref, lottie.togglePause = animationManager.togglePause, lottie.setSpeed = animationManager.setSpeed, lottie.setDirection = animationManager.setDirection, lottie.stop = animationManager.stop, lottie.searchAnimations = searchAnimations, lottie.registerAnimation = animationManager.registerAnimation, lottie.loadAnimation = loadAnimation, lottie.setSubframeRendering = setSubframeRendering, lottie.resize = animationManager.resize, lottie.goToAndStop = animationManager.goToAndStop, lottie.destroy = animationManager.destroy, lottie.setQuality = setQuality, lottie.inBrowser = inBrowser, lottie.installPlugin = installPlugin, lottie.freeze = animationManager.freeze, lottie.unfreeze = animationManager.unfreeze, lottie.setVolume = animationManager.setVolume, lottie.mute = animationManager.mute, lottie.unmute = animationManager.unmute, lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.__getFactory = getFactory, lottie.version = \"5.7.8\";\n var standalone = \"__[STANDALONE]__\",\n animationData = \"__[ANIMATIONDATA]__\",\n renderer = \"\",\n queryString;\n\n if (standalone) {\n var scripts = document.getElementsByTagName(\"script\"),\n index = scripts.length - 1,\n myScript = scripts[index] || {\n src: \"\"\n };\n queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"), renderer = getQueryVariable(\"renderer\");\n }\n\n var readyStateCheckInterval = setInterval(checkReady, 100);\n return lottie;\n });\n}),\n PlayerState,\n PlayerEvent;\n\nfunction parseSrc(t) {\n if (\"object\" == typeof t) return t;\n\n try {\n return JSON.parse(t);\n } catch (t) {}\n\n try {\n return new URL(t).toString();\n } catch (t) {}\n\n return t;\n}\n\n!function (t) {\n t.Loading = \"loading\", t.Playing = \"playing\", t.Paused = \"paused\", t.Stopped = \"stopped\", t.Frozen = \"frozen\", t.Error = \"error\";\n}(PlayerState || (PlayerState = {})), function (t) {\n t.Load = \"load\", t.Error = \"error\", t.Ready = \"ready\", t.Play = \"play\", t.Pause = \"pause\", t.Stop = \"stop\", t.Freeze = \"freeze\", t.Loop = \"loop\", t.Complete = \"complete\", t.Frame = \"frame\";\n}(PlayerEvent || (PlayerEvent = {}));\n\nvar defaultOptions = {\n clearCanvas: !1,\n hideOnTransparent: !0,\n progressiveLoad: !0\n},\n Player = function (t) {\n function e(e) {\n var r = t.call(this, e) || this;\n return r.container = null, r.handleBgChange = function (t) {\n r.setState({\n background: t\n });\n }, r.triggerDownload = function (t, e) {\n var r = document.createElement(\"a\");\n r.href = t, r.download = e, document.body.appendChild(r), r.click(), document.body.removeChild(r);\n }, r.snapshot = function (t) {\n var e;\n void 0 === t && (t = !0);\n var i = r.props.id ? r.props.id : \"lottie\",\n a = document.getElementById(i);\n\n if (\"svg\" === r.props.renderer) {\n if (a) {\n var s = a.querySelector(\"svg\");\n\n if (s) {\n var n = new XMLSerializer().serializeToString(s);\n e = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(n);\n }\n }\n\n t && r.triggerDownload(e, \"snapshot.svg\");\n } else if (\"canvas\" === r.props.renderer) {\n if (a) {\n var o = a.querySelector(\"canvas\");\n o && (e = o.toDataURL(\"image/png\"));\n }\n\n t && r.triggerDownload(e, \"snapshot.png\");\n }\n\n return e;\n }, \"undefined\" != typeof window && (window.lottie = lottie), r.state = {\n animationData: null,\n background: \"transparent\",\n containerRef: React.createRef(),\n debug: !0,\n instance: null,\n playerState: PlayerState.Loading,\n seeker: 0\n }, r;\n }\n\n return __extends(e, t), e.getDerivedStateFromProps = function (t, e) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (r) {\n return t.background !== e.background ? [2, {\n background: t.background\n }] : [2, null];\n });\n });\n }, e.prototype.componentDidMount = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (t) {\n switch (t.label) {\n case 0:\n return [4, this.createLottie()];\n\n case 1:\n return t.sent(), [2];\n }\n });\n });\n }, e.prototype.componentWillUnmount = function () {\n this.state.instance && this.state.instance.destroy();\n }, e.prototype.componentDidUpdate = function (t) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (e) {\n switch (e.label) {\n case 0:\n return this.props.src === t.src ? [3, 2] : (this.state.instance && this.state.instance.destroy(), [4, this.createLottie()]);\n\n case 1:\n e.sent(), e.label = 2;\n\n case 2:\n return [2];\n }\n });\n });\n }, e.prototype.render = function () {\n var t = this,\n e = this.props,\n r = e.children,\n i = e.loop,\n a = e.style,\n s = e.onBackgroundChange,\n n = e.className,\n o = this.state,\n h = o.animationData,\n l = o.instance,\n p = o.playerState,\n f = o.seeker,\n c = o.debug,\n m = o.background;\n return React.createElement(\"div\", {\n className: \"lf-player-container\"\n }, React.createElement(\"div\", {\n id: this.props.id ? this.props.id : \"lottie\",\n ref: function ref(e) {\n return t.container = e;\n },\n style: _assign({\n background: m,\n margin: \"0 auto\",\n outline: \"none\",\n overflow: \"hidden\"\n }, a),\n className: n\n }), React.Children.map(r, function (e) {\n return React.isValidElement(e) ? React.cloneElement(e, {\n animationData: h,\n background: m,\n debug: c,\n instance: l,\n loop: i,\n pause: function pause() {\n return t.pause();\n },\n play: function play() {\n return t.play();\n },\n playerState: p,\n seeker: f,\n setBackground: function setBackground(e) {\n t.setState({\n background: e\n }), \"function\" == typeof s && s(e);\n },\n setSeeker: function setSeeker(e, r) {\n return t.setSeeker(e, r);\n },\n stop: function stop() {\n return t.stop();\n },\n toggleDebug: function toggleDebug() {\n return t.toggleDebug();\n },\n setLoop: function setLoop(e) {\n return t.setLoop(e);\n },\n colorChangedEvent: function colorChangedEvent(e) {\n t.handleBgChange(e);\n },\n snapshot: function snapshot() {\n t.snapshot();\n }\n }) : null;\n }));\n }, e.prototype.toggleDebug = function () {\n this.setState({\n debug: !this.state.debug\n });\n }, e.prototype.createLottie = function () {\n return __awaiter(this, void 0, void 0, function () {\n var t,\n e,\n r,\n i,\n a,\n s,\n n,\n o,\n h,\n l,\n p,\n f,\n c,\n m,\n d = this;\n return __generator(this, function (u) {\n switch (u.label) {\n case 0:\n if (t = this.props, e = t.autoplay, r = t.direction, i = t.loop, a = t.lottieRef, s = t.renderer, n = t.speed, o = t.src, h = t.background, l = t.rendererSettings, p = t.hover, f = this.state.instance, !o || !this.container) return [2];\n u.label = 1;\n\n case 1:\n return u.trys.push([1, 5,, 6]), \"string\" != typeof (c = parseSrc(o)) ? [3, 4] : [4, fetch(c)];\n\n case 2:\n return [4, u.sent().json()];\n\n case 3:\n c = u.sent(), u.label = 4;\n\n case 4:\n return f && f.destroy(), m = lottie.loadAnimation({\n rendererSettings: l || defaultOptions,\n animationData: c,\n autoplay: e || !1,\n container: this.container,\n loop: i || !1,\n renderer: s\n }), n && lottie.setSpeed(n), this.setState({\n animationData: c\n }), m.addEventListener(\"enterFrame\", function () {\n d.triggerEvent(PlayerEvent.Frame), d.setState({\n seeker: Math.floor(m.currentFrame)\n });\n }), m.addEventListener(\"DOMLoaded\", function () {\n d.triggerEvent(PlayerEvent.Load);\n }), m.addEventListener(\"data_ready\", function () {\n d.triggerEvent(PlayerEvent.Ready);\n }), m.addEventListener(\"data_failed\", function () {\n d.setState({\n playerState: PlayerState.Error\n });\n }), m.addEventListener(\"loopComplete\", function () {\n d.triggerEvent(PlayerEvent.Loop);\n }), m.addEventListener(\"complete\", function () {\n d.triggerEvent(PlayerEvent.Complete), d.setState({\n playerState: PlayerState.Paused\n }), d.props.keepLastFrame && !d.props.loop || d.setSeeker(0);\n }), this.container.addEventListener(\"mouseenter\", function () {\n p && d.state.playerState !== PlayerState.Playing && (d.props.keepLastFrame && d.stop(), d.play());\n }), this.container.addEventListener(\"mouseleave\", function () {\n p && d.state.playerState === PlayerState.Playing && d.stop();\n }), n && this.setPlayerSpeed(n), r && this.setPlayerDirection(r), h && this.setState({\n background: h\n }), this.setState({\n instance: m\n }, function () {\n \"function\" == typeof a && a(m), e && d.play();\n }), [3, 6];\n\n case 5:\n return u.sent(), this.setState({\n playerState: PlayerState.Error\n }), [3, 6];\n\n case 6:\n return [2];\n }\n });\n });\n }, e.prototype.play = function () {\n var t = this.state.instance;\n t && (this.triggerEvent(PlayerEvent.Play), t.play(), this.setState({\n playerState: PlayerState.Playing\n }));\n }, e.prototype.pause = function () {\n var t = this.state.instance;\n t && (this.triggerEvent(PlayerEvent.Pause), t.pause(), this.setState({\n playerState: PlayerState.Paused\n }));\n }, e.prototype.stop = function () {\n var t = this.state.instance;\n t && (this.triggerEvent(PlayerEvent.Stop), t.stop(), this.setState({\n playerState: PlayerState.Stopped\n }));\n }, e.prototype.setPlayerSpeed = function (t) {\n var e = this.state.instance;\n e && e.setSpeed(t);\n }, e.prototype.setPlayerDirection = function (t) {\n var e = this.state.instance;\n e && e.setDirection(t);\n }, e.prototype.setSeeker = function (t, e) {\n void 0 === e && (e = !1);\n var r = this.state,\n i = r.instance,\n a = r.playerState;\n i && (e && a === PlayerState.Playing ? i.goToAndPlay(t, !0) : (i.goToAndStop(t, !0), this.triggerEvent(PlayerEvent.Pause), this.setState({\n playerState: PlayerState.Paused\n })));\n }, e.prototype.setLoop = function (t) {\n var e = this.state.instance;\n e && (e.loop = t, this.setState({\n instance: e\n }));\n }, e.prototype.triggerEvent = function (t) {\n var e = this.props.onEvent;\n e && e(t);\n }, e.defaultProps = {\n loop: !1\n }, e;\n}(React.Component);\n\nfunction styleInject(t, e) {\n void 0 === e && (e = {});\n var r = e.insertAt;\n\n if (t && \"undefined\" != typeof document) {\n var i = document.head || document.getElementsByTagName(\"head\")[0],\n a = document.createElement(\"style\");\n a.type = \"text/css\", \"top\" === r && i.firstChild ? i.insertBefore(a, i.firstChild) : i.appendChild(a), a.styleSheet ? a.styleSheet.cssText = t : a.appendChild(document.createTextNode(t));\n }\n}\n\nvar css_248z = \".lf-progress {\\n -webkit-appearance: none;\\n -moz-apperance: none;\\n width: 100%;\\n /* margin: 0 10px; */\\n height: 4px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\n.lf-progress:focus {\\n outline: none;\\n border: none;\\n}\\n.lf-progress::-moz-range-track {\\n cursor: pointer;\\n background: none;\\n border: none;\\n outline: none;\\n}\\n.lf-progress::-webkit-slider-thumb {\\n -webkit-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-moz-range-thumb {\\n -moz-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-ms-track {\\n width: 100%;\\n height: 3px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n}\\n.lf-progress::-ms-fill-lower {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-fill-upper {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress:focus::-ms-fill-lower {\\n background: #ccc;\\n}\\n.lf-progress:focus::-ms-fill-upper {\\n background: #ccc;\\n}\\n.lf-player-container :focus {\\n outline: 0;\\n}\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n opacity: 1;\\n visibility: visible;\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-player-btn-container {\\n display: flex;\\n align-items: center;\\n}\\n.lf-player-btn {\\n cursor: pointer;\\n fill: #999;\\n width: 14px;\\n}\\n\\n.lf-player-btn.active {\\n fill: #555;\\n}\\n\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n background-color: #ffffff;\\n opacity: 1;\\n\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n padding: 10px;\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-arrow {\\n position: absolute;\\n z-index: -1;\\n content: '';\\n bottom: -9px;\\n border-style: solid;\\n border-width: 10px 10px 0px 10px;\\n}\\n\\n.lf-left-align,\\n.lf-left-align .lfarrow {\\n left: 0;\\n right: unset;\\n}\\n\\n.lf-right-align,\\n.lf-right-align .lf-arrow {\\n right: 0;\\n left: unset;\\n}\\n\\n.lf-text-input {\\n border: 1px #ccc solid;\\n border-radius: 5px;\\n padding: 3px;\\n width: 60px;\\n margin: 0;\\n}\\n\\n.lf-color-picker {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 90px;\\n}\\n\\n.lf-color-selectors {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n}\\n\\n.lf-color-component {\\n display: flex;\\n flex-direction: row;\\n font-size: 12px;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.lf-color-component strong {\\n width: 40px;\\n}\\n\\n.lf-color-component input[type='range'] {\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-component input[type='number'] {\\n width: 50px;\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-preview {\\n font-size: 12px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-between;\\n padding-left: 5px;\\n}\\n\\n.lf-preview {\\n height: 60px;\\n width: 60px;\\n}\\n\\n.lf-popover-snapshot {\\n width: 150px;\\n}\\n.lf-popover-snapshot h5 {\\n margin: 5px 0 10px 0;\\n font-size: 0.75rem;\\n}\\n.lf-popover-snapshot a {\\n display: block;\\n text-decoration: none;\\n}\\n.lf-popover-snapshot a:before {\\n content: '⥼';\\n margin-right: 5px;\\n}\\n.lf-popover-snapshot .lf-note {\\n display: block;\\n margin-top: 10px;\\n color: #999;\\n}\\n.lf-player-controls > div {\\n margin-right: 5px;\\n margin-left: 5px;\\n}\\n.lf-player-controls > div:first-child {\\n margin-left: 0px;\\n}\\n.lf-player-controls > div:last-child {\\n margin-right: 0px;\\n}\\n\",\n stylesheet = \".lf-progress {\\n -webkit-appearance: none;\\n -moz-apperance: none;\\n width: 100%;\\n /* margin: 0 10px; */\\n height: 4px;\\n border-radius: 3px;\\n cursor: pointer;\\n}\\n.lf-progress:focus {\\n outline: none;\\n border: none;\\n}\\n.lf-progress::-moz-range-track {\\n cursor: pointer;\\n background: none;\\n border: none;\\n outline: none;\\n}\\n.lf-progress::-webkit-slider-thumb {\\n -webkit-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-moz-range-thumb {\\n -moz-appearance: none !important;\\n height: 13px;\\n width: 13px;\\n border: 0;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress::-ms-track {\\n width: 100%;\\n height: 3px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n}\\n.lf-progress::-ms-fill-lower {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-fill-upper {\\n background: #ccc;\\n border-radius: 3px;\\n}\\n.lf-progress::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: #0fccce;\\n cursor: pointer;\\n}\\n.lf-progress:focus::-ms-fill-lower {\\n background: #ccc;\\n}\\n.lf-progress:focus::-ms-fill-upper {\\n background: #ccc;\\n}\\n.lf-player-container :focus {\\n outline: 0;\\n}\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n opacity: 1;\\n visibility: visible;\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-player-btn-container {\\n display: flex;\\n align-items: center;\\n}\\n.lf-player-btn {\\n cursor: pointer;\\n fill: #999;\\n width: 14px;\\n}\\n\\n.lf-player-btn.active {\\n fill: #555;\\n}\\n\\n.lf-popover {\\n position: relative;\\n}\\n\\n.lf-popover-content {\\n display: inline-block;\\n position: absolute;\\n background-color: #ffffff;\\n opacity: 1;\\n\\n transform: translate(0, -10px);\\n box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\\n transition: all 0.3s cubic-bezier(0.75, -0.02, 0.2, 0.97);\\n padding: 10px;\\n}\\n\\n.lf-popover-content.hidden {\\n opacity: 0;\\n visibility: hidden;\\n transform: translate(0, 0px);\\n}\\n\\n.lf-arrow {\\n position: absolute;\\n z-index: -1;\\n content: '';\\n bottom: -9px;\\n border-style: solid;\\n border-width: 10px 10px 0px 10px;\\n}\\n\\n.lf-left-align,\\n.lf-left-align .lfarrow {\\n left: 0;\\n right: unset;\\n}\\n\\n.lf-right-align,\\n.lf-right-align .lf-arrow {\\n right: 0;\\n left: unset;\\n}\\n\\n.lf-text-input {\\n border: 1px #ccc solid;\\n border-radius: 5px;\\n padding: 3px;\\n width: 60px;\\n margin: 0;\\n}\\n\\n.lf-color-picker {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 90px;\\n}\\n\\n.lf-color-selectors {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n}\\n\\n.lf-color-component {\\n display: flex;\\n flex-direction: row;\\n font-size: 12px;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.lf-color-component strong {\\n width: 40px;\\n}\\n\\n.lf-color-component input[type='range'] {\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-component input[type='number'] {\\n width: 50px;\\n margin: 0 0 0 10px;\\n}\\n\\n.lf-color-preview {\\n font-size: 12px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: space-between;\\n padding-left: 5px;\\n}\\n\\n.lf-preview {\\n height: 60px;\\n width: 60px;\\n}\\n\\n.lf-popover-snapshot {\\n width: 150px;\\n}\\n.lf-popover-snapshot h5 {\\n margin: 5px 0 10px 0;\\n font-size: 0.75rem;\\n}\\n.lf-popover-snapshot a {\\n display: block;\\n text-decoration: none;\\n}\\n.lf-popover-snapshot a:before {\\n content: '⥼';\\n margin-right: 5px;\\n}\\n.lf-popover-snapshot .lf-note {\\n display: block;\\n margin-top: 10px;\\n color: #999;\\n}\\n.lf-player-controls > div {\\n margin-right: 5px;\\n margin-left: 5px;\\n}\\n.lf-player-controls > div:first-child {\\n margin-left: 0px;\\n}\\n.lf-player-controls > div:last-child {\\n margin-right: 0px;\\n}\\n\";\nstyleInject(css_248z);\n\nvar ColorPicker = function (t) {\n function e() {\n var e = null !== t && t.apply(this, arguments) || this;\n return e.state = {\n red: 0,\n green: 0,\n blue: 0,\n rgba: null,\n hex: \"#000000\",\n colorComponents: []\n }, e.handleChange = function (t, r) {\n if (\"r\" === t) {\n var i = \"#\" + (256 | r).toString(16).slice(1) + (256 | e.state.green).toString(16).slice(1) + (256 | e.state.blue).toString(16).slice(1);\n e.setState({\n hex: i\n });\n } else if (\"g\" === t) {\n i = \"#\" + (256 | e.state.red).toString(16).slice(1) + (256 | r).toString(16).slice(1) + (256 | e.state.blue).toString(16).slice(1);\n e.setState({\n hex: i\n });\n } else if (\"b\" === t) {\n i = \"#\" + (256 | e.state.red).toString(16).slice(1) + (256 | e.state.green).toString(16).slice(1) + (256 | r).toString(16).slice(1);\n e.setState({\n hex: i\n });\n }\n }, e.parseColor = function (t) {\n var r;\n\n if (\"string\" == typeof t) {\n if (\"#\" === t[0]) {\n var i = 4 === t.length ? [t.slice(1, 2), t.slice(2, 3), t.slice(3, 4)].map(function (t) {\n return parseInt(\"\" + t + t, 16);\n }) : [t.slice(1, 3), t.slice(3, 5), t.slice(5, 7)].map(function (t) {\n return parseInt(t, 16);\n });\n e.setState({\n colorComponents: i\n });\n } else if (t.startsWith(\"rgb\")) {\n void 0 !== (i = null === (r = t.match(/\\d+/g)) || void 0 === r ? void 0 : r.map(function (t) {\n return parseInt(t);\n })) && e.setState({\n colorComponents: i\n });\n }\n\n e.state.colorComponents.length && (e.setState({\n red: e.state.colorComponents[0]\n }), e.setState({\n green: e.state.colorComponents[1]\n }), e.setState({\n blue: e.state.colorComponents[2]\n }));\n }\n }, e;\n }\n\n return __extends(e, t), e.prototype.componentDidUpdate = function (t, e) {\n return this.props.colorChangedEvent && this.state.hex !== e.hex && this.props.colorChangedEvent(this.state.hex), !0;\n }, e.prototype.render = function () {\n var t = this;\n return React.createElement(\"div\", {\n className: \"lf-color-picker\"\n }, React.createElement(\"div\", {\n className: \"lf-color-selectors\"\n }, React.createElement(\"div\", {\n className: \"lf-color-component\"\n }, React.createElement(\"strong\", null, \"Red\"), React.createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"255\",\n value: this.state.red,\n onChange: function onChange(e) {\n t.setState({\n red: e.target.value\n }), t.handleChange(\"r\", e.target.value);\n }\n }), React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"number\",\n min: \"0\",\n max: \"255\",\n value: this.state.red,\n onChange: function onChange(e) {\n t.setState({\n red: e.target.value\n }), t.handleChange(\"r\", e.target.value);\n }\n })), React.createElement(\"div\", {\n className: \"lf-color-component\"\n }, React.createElement(\"strong\", null, \"Green\"), React.createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"255\",\n value: this.state.green,\n onChange: function onChange(e) {\n t.setState({\n green: e.target.value\n }), t.handleChange(\"g\", e.target.value);\n }\n }), React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"number\",\n min: \"0\",\n max: \"255\",\n value: this.state.green,\n onChange: function onChange(e) {\n t.setState({\n green: e.target.value\n }), t.handleChange(\"g\", e.target.value);\n }\n })), React.createElement(\"div\", {\n className: \"lf-color-component\"\n }, React.createElement(\"strong\", null, \"Blue\"), React.createElement(\"input\", {\n type: \"range\",\n min: \"0\",\n max: \"255\",\n value: this.state.blue,\n onChange: function onChange(e) {\n t.setState({\n blue: e.target.value\n }), t.handleChange(\"b\", e.target.value);\n }\n }), React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"number\",\n min: \"0\",\n max: \"255\",\n value: this.state.blue,\n onChange: function onChange(e) {\n t.setState({\n blue: e.target.value\n }), t.handleChange(\"b\", e.target.value);\n }\n }))), React.createElement(\"div\", {\n className: \"lf-color-preview\"\n }, React.createElement(\"div\", {\n className: \"lf-preview\",\n style: {\n background: \"rgb(\" + this.state.red + \", \" + this.state.green + \", \" + this.state.blue + \")\"\n }\n }), React.createElement(\"div\", null, React.createElement(\"input\", {\n className: \"lf-text-input\",\n type: \"text\",\n value: this.state.hex,\n onChange: function onChange(e) {\n t.setState({\n hex: e.target.value\n }), t.parseColor(e.target.value);\n }\n }))));\n }, e;\n}(React.Component),\n Popover = function Popover(t) {\n var e = t.children,\n r = t.icon,\n i = useState(null),\n a = i[0],\n s = i[1],\n n = useState(null),\n o = n[0],\n h = n[1],\n l = useState(null),\n p = l[0],\n f = l[1],\n c = useState(!1),\n m = c[0],\n d = c[1];\n useEffect(function () {\n if (a && o) {\n var t = a.getBoundingClientRect(),\n e = o.getBoundingClientRect(),\n r = t.left + e.width > window.innerWidth ? -1 : 0;\n f(r);\n }\n }, [p, o, a]);\n return React.createElement(\"div\", {\n className: \"lf-popover\",\n onMouseOver: function onMouseOver() {\n d(!0);\n },\n onMouseLeave: function onMouseLeave() {\n d(!1);\n },\n ref: function ref(t) {\n s(t);\n }\n }, React.createElement(\"div\", {\n className: \" lf-player-btn\"\n }, r), React.createElement(\"div\", {\n className: \"lf-popover-content\",\n ref: function ref(t) {\n h(t);\n },\n style: {\n bottom: \"22px\",\n right: \"0px\",\n zIndex: 2,\n visibility: m ? \"visible\" : \"hidden\"\n }\n }, e));\n},\n Seeker = function (t) {\n function e(e) {\n var r = t.call(this, e) || this;\n return r.inputRef = React.createRef(), r.handleChange = function () {\n return function (t) {\n var e = t.target.value,\n i = Math.floor(e / 100 * r.props.max);\n r.props.onChange(i);\n };\n }, r.state = {\n value: 0\n }, r;\n }\n\n return __extends(e, t), e.prototype.render = function () {\n var t = this.props.value / this.props.max * 100,\n e = {\n backgroundImage: \"-webkit-gradient(linear, left top, right top, color-stop(\" + t + \"%, rgba(15, 204, 206, 0.4)), color-stop(\" + t + \"%, #DAE1E7))\"\n },\n r = {\n position: \"absolute\",\n left: 0,\n marginTop: \"8px\",\n width: \"20px\",\n display: \"block\",\n border: \"0px\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"rgb(218, 225, 231)\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#555\",\n padding: \"2px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n fontSize: \"8px\",\n fontWeight: \"bold\"\n },\n i = {\n position: \"absolute\",\n right: 0,\n marginTop: \"8px\",\n width: \"20px\",\n display: \"block\",\n border: \"0px\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"rgb(218, 225, 231)\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#555\",\n padding: \"2px\",\n textAlign: \"center\",\n borderRadius: \"3px\",\n fontSize: \"8px\",\n fontWeight: \"bold\"\n };\n return React.createElement(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n width: \"100%\",\n marginRight: \"5px\",\n marginLeft: \"5px\",\n position: \"relative\"\n }\n }, React.createElement(\"input\", {\n ref: this.inputRef,\n id: \"track\",\n className: \"lf-progress\",\n name: \"progress\",\n type: \"range\",\n min: \"0\",\n max: \"100\",\n step: \"0.1\",\n value: t,\n onInput: this.handleChange(),\n onChange: this.handleChange(),\n style: e\n }), this.props.showLabels && React.createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\"\n }\n }, React.createElement(\"div\", {\n style: r\n }, this.props.min), React.createElement(\"div\", {\n style: i\n }, this.props.max)));\n }, e;\n}(React.Component),\n ControlButtonStyle = {\n display: \"inline-flex\",\n cursor: \"pointer\"\n},\n Controls = function (t) {\n function e(e) {\n var r = t.call(this, e) || this;\n return r.state = {\n activeFrame: 0,\n mouseDown: !1\n }, r;\n }\n\n return __extends(e, t), e.prototype.render = function () {\n var t = this,\n e = this.props,\n r = e.instance,\n i = e.playerState,\n a = e.seeker,\n s = e.setLoop,\n n = e.setSeeker,\n o = e.play,\n h = e.pause,\n l = e.stop,\n p = e.visible,\n f = e.buttons;\n if (!r) return null;\n if (!p) return null;\n var c = !f || f.includes(\"play\"),\n m = !f || f.includes(\"stop\"),\n d = !f || f.includes(\"repeat\"),\n u = !f || f.includes(\"frame\"),\n y = !f || f.includes(\"background\"),\n g = !f || f.includes(\"snapshot\"),\n v = {\n width: 14,\n height: 14,\n viewBox: \"0 0 24 24\"\n },\n b = Math.round(r.currentFrame);\n return React.createElement(\"div\", {\n className: \"lf-player-controls\",\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n height: \"60px\",\n alignItems: \"center\",\n backgroundColor: this.props.transparentTheme ? \"transparent\" : this.props.darkTheme ? \"#3C3C3C\" : \"#ffffff\",\n paddingLeft: \"10px\",\n paddingRight: \"10px\"\n }\n }, c && React.createElement(\"div\", {\n role: \"button\",\n tabIndex: 0,\n onClick: function onClick() {\n i === PlayerState.Playing ? \"function\" == typeof h && h() : \"function\" == typeof o && o();\n },\n onKeyDown: function onKeyDown() {\n i === PlayerState.Playing ? \"function\" == typeof h && h() : \"function\" == typeof o && o();\n },\n className: \"lf-player-btn\",\n style: ControlButtonStyle\n }, i === PlayerState.Playing ? React.createElement(\"svg\", _assign({}, v), React.createElement(\"rect\", {\n height: \"22.9\",\n rx: \"1.9\",\n width: \"7.6\",\n x: \"14\",\n y: \".5\"\n }), React.createElement(\"rect\", {\n height: \"22.9\",\n rx: \"1.9\",\n width: \"7.6\",\n x: \"2\",\n y: \".5\"\n })) : React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M2 3.4C2 1.9 3.5 1 4.8 1.8l16.5 9.6c1.2.7 1.2 2.5 0 3.2L4.8 24.2C3.5 25 2 24.1 2 22.6V3.4z\"\n }))), m && React.createElement(\"div\", {\n tabIndex: 0,\n role: \"button\",\n onClick: function onClick() {\n return l && l();\n },\n onKeyDown: function onKeyDown() {\n return l && l();\n },\n className: i === PlayerState.Stopped ? \"lf-player-btn active\" : \"lf-player-btn\",\n style: ControlButtonStyle\n }, React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M2 3.667A1.67 1.67 0 0 1 3.667 2h16.666A1.67 1.67 0 0 1 22 3.667v16.666A1.67 1.67 0 0 1 20.333\\n 22H3.667A1.67 1.67 0 0 1 2 20.333z\"\n }))), React.createElement(Seeker, {\n min: 0,\n step: 1,\n max: r ? r.totalFrames : 1,\n value: a || 0,\n onChange: function onChange(e) {\n n && t.setState({\n activeFrame: e\n }, function () {\n n(e, !1);\n });\n },\n onChangeEnd: function onChangeEnd(e) {\n n && t.setState({\n activeFrame: e\n }, function () {\n n(e, !1);\n });\n },\n showLabels: this.props.showLabels,\n darkTheme: this.props.darkTheme\n }), u && React.createElement(\"div\", {\n role: \"button\",\n className: \"lf-player-btn-container\"\n }, React.createElement(\"input\", {\n style: {\n outline: \"none\",\n border: this.props.darkTheme ? \"1px #505050 solid\" : \"1px #ccc solid\",\n borderRadius: \"3px\",\n width: \"40px\",\n textAlign: \"center\",\n backgroundColor: this.props.darkTheme ? \"#505050\" : \"#ffffff\",\n color: this.props.darkTheme ? \"#B9B9B9\" : \"#999\",\n fontSize: \"0.7rem\",\n padding: \"0\",\n fontFamily: \"inherit\"\n },\n type: \"text\",\n value: b,\n readOnly: !0\n })), d && React.createElement(\"div\", {\n role: \"button\",\n tabIndex: 0,\n onClick: function onClick() {\n r && s && s(!r.loop);\n },\n onKeyDown: function onKeyDown() {\n r && s && s(!r.loop);\n },\n className: r.loop ? \"lf-player-btn active\" : \"lf-player-btn\",\n style: ControlButtonStyle\n }, React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M12.5 16.8137h-.13v1.8939h4.9696c3.6455 0 6.6113-2.9658 6.6113-6.6116\\n 0-3.64549-2.9658-6.61131-6.6113-6.61131-.5231 0-.947.42391-.947.94696 0 .52304.4239.94696.947.94696 2.6011 0\\n 4.7174 2.11634 4.7174 4.71739 0 2.6014-2.1166 4.7177-4.7174 4.7177H12.5zM13.6025\\n 5.61469v-.13H7.48137C3.83582 5.48469.87 8.45051.87 12.096c0 3.6509 3.17269 6.6117 6.81304 6.6117.52304 0\\n .94696-.424.94696-.947 0-.5231-.42392-.947-.94696-.947-2.60804 0-4.91907-2.1231-4.91907-4.7176 0-2.60115\\n 2.11634-4.71744 4.7174-4.71744h6.12113V5.61469z\",\n stroke: \"#8795A1\",\n strokeWidth: \".26\"\n }), React.createElement(\"path\", {\n d: \"M11.1482\\n 2.20355h0l-.001-.00116c-.3412-.40061-.9405-.44558-1.33668-.0996h-.00001c-.39526.34519-.43936.94795-.09898\\n 1.34767l2.51487 3.03683-2.51894 3.06468c-.33872.40088-.29282 1.00363.10347\\n 1.34723l.08517-.0982-.08517.0982c.17853.1549.39807.2308.61647.2308.2671 0 .5328-.114.72-.3347h0l.0011-.0014\\n 3.0435-3.68655.0006-.00068c.3035-.35872.3025-.88754-.0019-1.24526l-3.0425-3.65786zM13.9453\\n 21.7965h0l.001.0011c.3413.4006.9407.4456 1.337.0996h0c.3953-.3452.4395-.9479.099-1.3477l-2.5154-3.0368\\n 2.5195-3.0647c.3388-.4008.2929-1.0036-.1035-1.3472l-.0852.0982.0852-.0982c-.1786-.1549-.3981-.2308-.6166-.2308-.2671\\n 0-.5329.114-.7202.3347h0l-.0011.0014-3.0442\\n 3.6865c-.0001.0003-.0003.0005-.0005.0007-.3036.3587-.3027.8876.0019 1.2453l3.0431 3.6579z\",\n fill: \"#8795A1\",\n stroke: \"#8795A1\",\n strokeWidth: \".26\"\n }))), y && React.createElement(Popover, {\n icon: React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n d: \"M12 3.1L6.1 8.6a7.6 7.6 0 00-2.2 4 7.2 7.2 0 00.4 4.4 7.9 7.9 0 003 3.5 8.7 8.7 0 004.7 1.3c1.6 0\\n 3.2-.5 4.6-1.3s2.4-2 3-3.5a7.2 7.2 0 00.5-4.5 7.6 7.6 0 00-2.2-4L12 3.2zM12 0l7.5 7a9.8 9.8 0 013 5.1\\n 9.3 9.3 0 01-.6 5.8c-.9 1.8-2.2 3.3-4 4.4A11.2 11.2 0 0112 24a11.2 11.2 0\\n 01-6-1.7c-1.7-1-3-2.6-3.9-4.4a9.3 9.3 0 01-.6-5.8c.4-2 1.5-3.7 3-5L12 0zM6 14h12c0 1.5-.7 3-1.8 4s-2.6\\n 1.6-4.2 1.6S9 19 7.8 18s-1.7-2.5-1.7-4z\"\n }))\n }, React.createElement(\"div\", {\n slot: \"content\",\n className: \"lf-popover popover-background\"\n }, React.createElement(ColorPicker, {\n colorChangedEvent: this.props.colorChangedEvent\n }))), g && React.createElement(Popover, {\n icon: React.createElement(\"svg\", _assign({}, v), React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"M0 3.01A2.983 2.983 0 012.983.027H16.99a2.983 2.983 0 012.983 2.983v14.008a2.982 2.982 0 01-2.983\\n 2.983H2.983A2.983 2.983 0 010 17.018zm2.983-.941a.941.941 0 00-.942.94v14.01c0\\n .52.422.94.942.94H16.99a.94.94 0 00.941-.94V3.008a.941.941 0 00-.94-.94H2.981z\",\n fillRule: \"evenodd\"\n }), React.createElement(\"path\", {\n d: \"M12.229 7.945l-2.07 4.598-2.586-2.605-2.414 2.758v2.146h9.656V11.93z\"\n }), React.createElement(\"circle\", {\n cx: \"7.444\",\n cy: \"6.513\",\n r: \"2.032\"\n }), React.createElement(\"path\", {\n d: \"M9.561 23.916h11.25a2.929 2.929 0 002.926-2.927V9.954a1.06 1.06 0 10-2.122 0v11.035a.805.805 0\\n 01-.803.804H9.562a1.061 1.061 0 100 2.123z\",\n stroke: \"#8795a1\",\n strokeWidth: \".215\"\n }))\n }, React.createElement(\"div\", {\n slot: \"content\",\n className: \"lf-popover lf-popover-snapshot\",\n onWheel: function onWheel(t) {\n n && n(b + (t.deltaY > 0 ? -1 : 1), !1);\n }\n }, React.createElement(\"h5\", null, \"Frame \", b), React.createElement(\"div\", {\n style: {\n cursor: \"pointer\",\n color: \"#0FCCCE\"\n },\n onClick: this.props.snapshot\n }, \"Download SVG\"), React.createElement(\"div\", {\n style: {\n cursor: \"pointer\",\n color: \"#0FCCCE\"\n },\n onClick: this.props.snapshot\n }, \"Download PNG\"), React.createElement(\"i\", {\n className: \"lf-note\"\n }, \"Scroll with mousewheel to find exact frame\"))));\n }, e;\n}(React.Component);\n\nexport { Controls, Player, PlayerEvent, PlayerState, Seeker, parseSrc };"],"names":["_extendStatics","t","e","Object","setPrototypeOf","__proto__","Array","r","prototype","hasOwnProperty","call","__extends","TypeError","String","this","constructor","create","_assign","assign","i","arguments","length","a","apply","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","s","n","getOwnPropertyDescriptor","Reflect","decorate","o","defineProperty","__param","__metadata","metadata","__awaiter","Promise","h","next","throw","done","value","then","__generator","label","sent","trys","ops","return","Symbol","iterator","pop","push","__createBinding","enumerable","get","__exportStar","__values","__read","error","__spread","concat","__spreadArrays","__spreadArray","__await","v","__asyncGenerator","asyncIterator","resolve","l","p","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","raw","__setModuleDefault","default","__importStar","__esModule","__importDefault","__classPrivateFieldGet","has","__classPrivateFieldSet","set","commonjsGlobal","globalThis","window","g","self","unwrapExports","createCommonjsModule","exports","getCjsExportFromNamespace","commonjsRequire","Error","lottie","module","navigator","svgNS","locationHref","initialDefaultFrame","subframeEnabled","expressionsPlugin","isSafari","test","userAgent","cachedColors","bmRnd","bmPow","Math","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface","random","abs","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","round","styleDiv","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","type","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","toString","BaseEvent","triggerEvent","_cbs","addEventListener","removeEventListener","bind","splice","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","createNS","document","createElementNS","createTag","createElement","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","container","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","Matrix","cos","sin","tan","props","_t","shear","f","c","m","d","u","y","_identityCalculated","b","x","E","P","S","C","_","A","k","T","w","D","M","F","_identity","z","getInverseMatrix","applyToPointArray","isIdentity","reset","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","clone","cloneFromProps","equals","inversePoints","inversePoint","j","slice","charCodeAt","fromCharCode","seedrandom","entropy","Uint8Array","crypto","msCrypto","getRandomValues","plugins","Date","screen","int32","quick","double","pass","state","global","BezierFactory","getBezierEasing","replace","_p","_mSampleValues","_precomputed","_precompute","_getTForX","_calcSampleValues","extendPrototype","getDescriptor","createProxyFunction","bezFunction","_r","bezierLengthPool","newElement","percents","lengths","addedLength","segmentLength","points","partialLength","point","getSegmentsLength","segmentsLengthPool","_length","totalLength","getNewSegment","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","requestAnimationFrame","cancelAnimationFrame","getTime","setTimeout","clearTimeout","bez","dataFunctionManager","completed","tt","td","hasMask","masksProperties","pt","ty","layers","refId","shapes","id","__used","JSON","parse","stringify","ks","it","split","assets","chars","data","__converted","closed","cl","singleShape","completeData","__complete","checkColors","checkChars","checkShapes","completeLayers","dataManager","getFontProperties","fStyle","toLowerCase","weight","fWeight","FontManager","size","setAttribute","fontFamily","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","appendChild","body","offsetWidth","join","node","parent","fFamily","textContent","fClass","getContext","font","fonts","typekitLoaded","isLoaded","_warned","initTime","now","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","getCombinedCharacterCodes","addChars","ch","addFonts","list","loaded","monoCase","sansCase","fPath","fOrigin","origin","querySelectorAll","href","rel","src","helper","cache","getCharData","console","warn","getFontByName","fName","measureText","getComputedTextLength","parentNode","removeChild","PropertyFactory","offsetTime","propType","pv","lastIndex","keyframes","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","atan2","asin","acos","comp","renderedFrame","_caching","interpolateValue","mult","elem","globalData","frameId","effectsSequence","lock","setVValue","_isFirstFrame","kf","vel","addEffect","st","getProp","TransformPropertyFactory","pre","appliedTransformations","px","py","pz","rx","ry","rz","or","sk","sa","_isDirty","applyToMatrix","precalculateMatrix","autoOriented","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","pointPool","doubleArrayLength","setXYAt","setTripleAt","reverse","ShapePropertyFactory","interpolateShape","paths","localShapeCollection","shapePool","releaseShapes","addShape","shapeCollectionPool","newShapeCollection","convertEllToPath","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","convertRectToPath","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","ShapeModifiers","ob","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","renderer","dashStr","dashArray","dashoffset","GradientProperty","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","prop","initModifierProperties","addShapeToModifier","shape","setAsAnimated","init","processKeys","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","release","processShapes","totalShapeLength","addShapes","addPaths","addSegment","addSegmentFromArray","rd","processPath","amount","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","pos","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","nm","reloadShapes","op","mProps","comparePoints","buildShapeString","audioControllerFactory","audios","audioFactory","_volume","_isMuted","addAudio","pause","resume","setRate","createAudio","Howl","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","width","height","fillStyle","fillRect","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","setInterval","getBBox","_imageLoaded","clearInterval","assetData","assetsPath","path","assetLoader","load","img","_footageLoaded","testImageLoaded","createFootageData","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","append","imageLoaded","footageLoaded","setCacheType","featureSupport","maskType","filtersFactory","response","responseText","XMLHttpRequest","responseType","onreadystatechange","readyState","status","open","send","TextAnimatorProperty","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","sw","sc","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","sz","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","mHelper","tLength","segments","pi","I","R","V","B","L","G","N","O","H","q","W","Y","X","K","$","U","J","Z","Q","et","defaultPropsArray","rt","at","nt","animatorJustifyOffset","getMult","anIndexes","totalChars","line","ind","extra","an","ot","add","ht","atan","update","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","charAt","substr","fontManager","val","rn","updateDocumentData","recalculate","canResizeFont","setMinimumFontSize","_currentTextLength","finalS","finalE","xe","ne","textProperty","poolFactory","pooling","factory","markerParser","trim","time","tm","duration","dr","payload","cm","name","BaseRenderer","SVGRenderer","animationItem","svgElement","title","description","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","frameNum","defs","elements","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","context","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","element","storedData","maskElement","viewData","solidPath","mode","inv","lastPath","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","lvl","hd","pElem","msElem","SVGShapeData","caches","styles","transformers","lStr","SVGTransformData","SVGStrokeStyleData","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","ip","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","AudioElement","FootageElement","buildAllItems","includeLayers","setProjectInterface","projectInterface","initItems","buildElementParenting","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","getAssetData","getAssetsPath","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextLottieElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","updateContainerSize","appendElementInPos","setMatte","layerId","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","insertBefore","hide","show","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cTr","canvasContext","ctxOpacity","globalAlpha","cO","restore","save","cArrPos","duplicate","saved","savedOp","blendMode","mozTransformOrigin","transformCanvas","sx","tx","isDashed","offsetHeight","canvas","beginPath","rect","closePath","clip","clearRect","ddd","addTo3dContainer","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","webkitTransform","build3dContainers","resizerElem","overflow","setup","webkitPerspective","perspective","finalTransform","mat","mProp","getMaskelement","initHierarchy","hierarchy","_isParent","initFrame","prepareProperties","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","initRenderable","isInRange","hidden","isTransparent","renderableComponents","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","textData","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","gf","cst","ms","ost","maskId","SVGElementsRenderer","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","styledShapes","transforms","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","audio","_currentTime","_placeholder","footageData","textSpans","renderType","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feMergeNode","feMerge","originalNodeAdded","key","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","content","textInterface","TextExpressionInterface","text","setBlendMode","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","createFilter","createAlphaToLuminanceFilter","ln","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","lcEnum","ljEnum","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","applyTextPropertiesToMatrix","buildColor","emptyProp","setElements","getElements","destroyElements","pr","FootageInterface","getFootageData","textContainer","buildTextContents","bbox","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","setShapesAsAnimated","createStyleElement","lc","lj","ml","addToAnimatedContents","createGroupElement","createTransformElement","createShapeElement","fn","setElementStyles","renderShape","initialize","children","childNodes","masker","removeAttribute","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","filters","CVBaseElement","CVMaskElement","hasMasks","transformsManager","stroke","fill","currentRender","values","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","HEffects","findSymbol","replaceInParent","setElementAsMask","createElements","globalCompositeOperation","hideElement","showElement","drawImage","moveTo","lineTo","bezierCurveTo","transformHelper","opacity","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","renderShapeTransform","drawLayer","coOp","strokeStyle","grd","lineWidth","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","pts","renderPath","renderFill","renderStroke","renderGradientFill","renderStyledShape","createLinearGradient","createRadialGradient","addColorStop","tHelper","checkBlendMode","tg","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","calculateF","calculateBoundingBox","currentBoxContains","compW","compH","color","strokeWidth","lineHeight","Image","imageElem","animationManager","animation","isPaused","AnimationItem","setData","advanceTime","registerAnimation","loadAnimation","setParams","setSpeed","setDirection","stop","togglePause","searchAnimations","getElementsByClassName","getElementsByTagName","resize","goToAndStop","freeze","unfreeze","getRegisteredAnimations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationData","autoplay","loop","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","markers","animType","rendererSettings","parseInt","autoloadSegments","initialSegment","lastIndexOf","fileName","trigger","attributes","getNamedItem","prerender","loadNextSegment","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","getMarkerData","Number","isNaN","frameModifier","goToAndPlay","playSegments","checkSegments","adjustSegment","setSegment","resetSegments","onEnterFrame","onLoopComplete","onComplete","onSegmentStart","onDestroy","getPath","getDuration","onError","Expressions","pushExpression","popExpression","registerExpressionProperty","ExpressionManager","$bm_isInstanceOfArray","isNumerable","$bm_neg","easeInBez","easeOutBez","easeInOutBez","sum","sub","mul","div","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","normalize","rgbToHsl","hue2rgb","hslToRgb","linear","createPath","initiateExpression","property","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","mask","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","active","wiggle","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","easeOut","applyEase","easeIn","ease","nearestKey","index","framesToTime","timeToFrames","seedRandom","randSeed","substring","posterizeTime","hasParent","executeExpression","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","_transformCachingAtTime","propertyIndex","vertices","inTangents","outTangents","isClosed","pointOnPath","_segmentsLength","vectorOnPath","tangentOnPath","normalOnPath","shapeValue","lastTime","getExpressionValue","calculateExpression","ShapePathInterface","propertyGroupFactory","PropertyInterface","defineProperties","_name","mn","numProperties","cix","np","ExpressionPropertyInterface","dash","end","start","offset","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","roundness","radius","copies","sourceText","getMatrix","applyPoint","invertPoint","toWorldVec","fromWorldVec","sampleImage","TransformExpressionInterface","anchor_point","startTime","source","MaskManagerInterface","dataInterfaceFactory","outlineInterface","dataInterface","layer","pixelAspect","numLayers","xRotation","yRotation","xPosition","yPosition","zPosition","compositions","enabled","en","_mask","_data","speedAtTime","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","GroupEffect","TextExpressionSelectorPropFactory","setLocationHref","standalone","setSubframeRendering","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","queryString","decodeURIComponent","__getFactory","version","scripts","myScript","bodymovin","PlayerState","PlayerEvent","parseSrc","URL","Loading","Playing","Paused","Stopped","Frozen","Load","Ready","Play","Pause","Stop","Freeze","Loop","Complete","Frame","defaultOptions","Player","handleBgChange","setState","background","triggerDownload","download","click","snapshot","getElementById","querySelector","XMLSerializer","serializeToString","encodeURIComponent","toDataURL","containerRef","debug","instance","playerState","seeker","getDerivedStateFromProps","componentDidMount","createLottie","componentWillUnmount","componentDidUpdate","render","onBackgroundChange","ref","margin","outline","setBackground","setSeeker","toggleDebug","setLoop","colorChangedEvent","lottieRef","speed","hover","fetch","json","keepLastFrame","setPlayerSpeed","setPlayerDirection","onEvent","defaultProps","styleInject","insertAt","head","firstChild","styleSheet","cssText","createTextNode","css_248z","stylesheet","ColorPicker","red","green","blue","rgba","hex","colorComponents","handleChange","parseColor","map","startsWith","match","onChange","Popover","icon","useState","useEffect","getBoundingClientRect","innerWidth","onMouseOver","onMouseLeave","zIndex","visibility","Seeker","inputRef","backgroundImage","marginTop","border","darkTheme","padding","textAlign","borderRadius","flexDirection","alignItems","marginRight","marginLeft","step","onInput","showLabels","justifyContent","ControlButtonStyle","cursor","Controls","activeFrame","mouseDown","visible","buttons","includes","viewBox","transparentTheme","paddingLeft","paddingRight","role","tabIndex","onClick","onKeyDown","onChangeEnd","readOnly","slot","clipRule","fillRule","cx","cy","onWheel","deltaY"],"sourceRoot":""}