/*! :: mo ยท js :: motion graphics toolbelt for the web Oleg Solomka @LegoMushroom 2015 MIT 0.288.1 */ !function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : "object" == typeof exports ? exports.mojs = e() : t.mojs = e() }(this, function () { return function (t) { function e(i) { if (r[i]) return r[i].exports; var s = r[i] = {exports: {}, id: i, loaded: !1}; return t[i].call(s.exports, s, s.exports, e), s.loaded = !0, s.exports } var r = {}; return e.m = t, e.c = r, e.p = "build/", e(0) }([function (t, e, r) { t.exports = r(53) }, function (t, e, r) { r(59), r(58), t.exports = r(61)("iterator") }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(28), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(16), f = i(c), d = r(12), _ = (i(d), r(13)), y = i(_), m = r(11), g = (i(m), r(8)), v = (i(g), r(9)), w = (i(v), r(19)), b = (r(26), r(20)), S = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype._declareDefaults = function () { this._defaults = { parent: document.body, className: "", shape: "circle", stroke: "transparent", strokeOpacity: 1, strokeLinecap: "", strokeWidth: 2, strokeDasharray: 0, strokeDashoffset: 0, fill: "deeppink", fillOpacity: 1, isSoftHide: !0, isForce3d: !1, left: "50%", top: "50%", x: 0, y: 0, angle: 0, scale: 1, scaleX: null, scaleY: null, origin: "50% 50%", opacity: 1, rx: 0, ry: 0, points: 3, radius: 50, radiusX: null, radiusY: null, isShowStart: !1, isShowEnd: !0, isRefreshState: !0, duration: 400, width: null, height: null, isWithShape: !0, callbacksContext: this } }, e.prototype.tune = function (e) { return t.prototype.tune.call(this, e), this._getMaxSizeInChain(), this }, e.prototype.then = function (e) { return t.prototype.then.call(this, e), this._getMaxSizeInChain(), this }, e.prototype._vars = function () { return t.prototype._vars.call(this), this._lastSet = {}, this._prevChainModule = this._o.prevChainModule, this.isForeign = !!this._o.ctx, this.isForeignBit = !!this._o.shape }, e.prototype._render = function () { return this._isRendered || this._isChained ? this._isChained && (this.el = this._masterModule.el, this.shapeModule = this._masterModule.shapeModule) : (this.el = document.createElement("div"), this.el.setAttribute("data-name", "mojs-shape"), this.el.setAttribute("class", this._props.className), this._createShape(), this._props.parent.appendChild(this.el), this._setElStyles(), this._setProgress(0, 0), this._props.isShowStart ? this._show() : this._hide(), this._isRendered = !0), this }, e.prototype._setElStyles = function () { if (this.el) { var t = this._props, e = this.el.style, r = t.shapeWidth, i = t.shapeHeight; if (e.position = "absolute", this._setElSizeStyles(r, i), t.isForce3d) { var s = "backface-visibility"; e["" + s] = "hidden", e["" + w.prefix.css + s] = "hidden" } } }, e.prototype._setElSizeStyles = function (t, e) { var r = this.el.style; r.width = t + "px", r.height = e + "px", r["margin-left"] = -t / 2 + "px", r["margin-top"] = -e / 2 + "px" }, e.prototype._draw = function () { if (this.shapeModule) { var t = this._props, e = this.shapeModule._props; e.rx = t.rx, e.ry = t.ry, e.stroke = t.stroke, e["stroke-width"] = t.strokeWidth, e["stroke-opacity"] = t.strokeOpacity, e["stroke-dasharray"] = t.strokeDasharray, e["stroke-dashoffset"] = t.strokeDashoffset, e["stroke-linecap"] = t.strokeLinecap, e.fill = t.fill, e["fill-opacity"] = t.fillOpacity, e.radius = t.radius, e.radiusX = t.radiusX, e.radiusY = t.radiusY, e.points = t.points, this.shapeModule._draw(), this._drawEl() } }, e.prototype._drawEl = function () { if (null == this.el) return !0; var t = this._props, e = this.el.style; if (this._isPropChanged("opacity") && (e.opacity = t.opacity), !this.isForeign) { this._isPropChanged("left") && (e.left = t.left), this._isPropChanged("top") && (e.top = t.top); var r = this._isPropChanged("x"), i = this._isPropChanged("y"), s = r || i, n = this._isPropChanged("scaleX"), o = this._isPropChanged("scaleY"), a = this._isPropChanged("scale"), a = a || n || o, p = this._isPropChanged("angle"); if (s || a || p) { var u = this._fillTransform(); e[w.prefix.css + "transform"] = u, e.transform = u } if (this._isPropChanged("origin") || this._deltas.origin) { var l = this._fillOrigin(); e[w.prefix.css + "transform-origin"] = l, e["transform-origin"] = l } } }, e.prototype._isPropChanged = function (t) { return null == this._lastSet[t] && (this._lastSet[t] = {}), this._lastSet[t].value !== this._props[t] ? (this._lastSet[t].value = this._props[t], !0) : !1 }, e.prototype._tuneNewOptions = function (e) { return t.prototype._tuneNewOptions.call(this, e), null != e && n["default"](e).length ? void this._setElStyles() : 1 }, e.prototype._getMaxRadius = function (t) { var e; return e = this._getRadiusSize("radius"), this._getRadiusSize(t, e) }, e.prototype._increaseSizeWithEasing = function () { var t = this._props, e = this._o.easing, r = e && "string" == typeof e; switch (r && e.toLowerCase()) { case"elastic.out": case"elastic.inout": t.size *= 1.25; break; case"back.out": case"back.inout": t.size *= 1.1 } }, e.prototype._getRadiusSize = function (t) { var e = arguments.length <= 1 || void 0 === arguments[1] ? 0 : arguments[1], r = this._deltas[t]; return null != r ? Math.max(Math.abs(r.end), Math.abs(r.start)) : null != this._props[t] ? parseFloat(this._props[t]) : e }, e.prototype._getShapeSize = function () { var t = this._props, e = this._getMaxStroke(); t.shapeWidth = null != t.width ? t.width : 2 * this._getMaxRadius("radiusX") + e, t.shapeHeight = null != t.height ? t.height : 2 * this._getMaxRadius("radiusY") + e }, e.prototype._createShape = function () { if (this._getShapeSize(), this._props.isWithShape) { var t = this._props, e = b.getShape(this._props.shape); this.shapeModule = new e({width: t.shapeWidth, height: t.shapeHeight, parent: this.el}) } }, e.prototype._getMaxSizeInChain = function () { for (var t = (this._props, 0), e = 0, r = 0; r < this._modules.length; r++) this._modules[r]._getShapeSize(), t = Math.max(t, this._modules[r]._props.shapeWidth), e = Math.max(e, this._modules[r]._props.shapeHeight); this.shapeModule && this.shapeModule._setSize(t, e), this._setElSizeStyles(t, e) }, e.prototype._getMaxStroke = function () { var t = this._props, e = this._deltas.strokeWidth; return null != e ? Math.max(e.start, e.end) : t.strokeWidth }, e.prototype._setProgress = function (t, e) { f["default"].prototype._setProgress.call(this, t, e), this._draw(t) }, e.prototype._applyCallbackOverrides = function (t) { var e = this, r = this._props; t.callbackOverrides = { onUpdate: function (t, r) { return e._setProgress(t, r) }, onStart: function (t) { e._isChained || (t ? e._show() : r.isShowStart || e._hide()) }, onComplete: function (t) { e._isLastInChain() && (t ? r.isShowEnd || e._hide() : e._show()) }, onRefresh: function (t) { r.isRefreshState && t && e._refreshBefore() } } }, e.prototype._transformTweenOptions = function () { this._applyCallbackOverrides(this._o) }, e.prototype._fillTransform = function () { var t = this._props, e = null != t.scaleX ? t.scaleX : t.scale, r = null != t.scaleY ? t.scaleY : t.scale, i = e + ", " + r; return "translate(" + t.x + ", " + t.y + ") rotate(" + t.angle + "deg) scale(" + i + ")" }, e.prototype._fillOrigin = function () { for (var t = this._props, e = "", r = 0; r < t.origin.length; r++) e += t.origin[r].string + " "; return e }, e.prototype._refreshBefore = function () { this._setProgress(this.tween._props.easing(0), 0), this._props.isShowStart ? this._show() : this._hide() }, e.prototype._showByTransform = function () { this._lastSet.scale = null, this._drawEl() }, e }(y["default"]); e["default"] = S }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(24), a = i(o), p = r(25), u = i(p), l = r(2), h = i(l), c = r(19), f = i(c), d = function (t) { function e() { return n["default"](this, e), a["default"](this, t.apply(this, arguments)) } return u["default"](e, t), e.prototype._declareDefaults = function () { t.prototype._declareDefaults.call(this), this._defaults.isSwirl = !0, this._defaults.swirlSize = 10, this._defaults.swirlFrequency = 3, this._defaults.pathScale = 1, this._defaults.degreeShift = 0, this._defaults.radius = 5, this._defaults.x = 0, this._defaults.y = 0, this._defaults.scale = {1: 0}, this._defaults.direction = 1 }, e.prototype._extendDefaults = function () { t.prototype._extendDefaults.call(this), this._calcPosData() }, e.prototype._tuneNewOptions = function (e) { null != e && (t.prototype._tuneNewOptions.call(this, e), (null != e.x || null != e.y) && this._calcPosData()) }, e.prototype._calcPosData = function () { var t = this._getPosValue("x"), e = this._getPosValue("y"), r = 90 + Math.atan(e.delta / t.delta || 0) * f["default"].RAD_TO_DEG; this._posData = { radius: Math.sqrt(t.delta * t.delta + e.delta * e.delta), angle: t.delta < 0 ? r + 180 : r, x: t, y: e } }, e.prototype._getPosValue = function (t) { var e = this._deltas[t]; if (e) return delete this._deltas[t], { start: e.start.value, end: e.end.value, delta: e.delta, units: e.end.unit }; var r = f["default"].parseUnit(this._props[t]); return {start: r.value, end: r.value, delta: 0, units: r.unit} }, e.prototype._setProgress = function (t, e) { this._progress = t, this._calcCurrentProps(t, e), this._calcSwirlXY(t), this._draw(t) }, e.prototype._calcSwirlXY = function (t) { var e = this._props, r = this._posData.angle + e.degreeShift, i = f["default"].getRadialPoint({ angle: e.isSwirl ? r + this._getSwirl(t) : r, radius: t * this._posData.radius * e.pathScale, center: {x: this._posData.x.start, y: this._posData.y.start} }), s = i.x, n = i.y, o = 1e-6; s > 0 && o > s && (s = o), n > 0 && o > n && (n = o), 0 > s && s > -o && (s = -o), 0 > n && n > -o && (n = -o), e.x = this._o.ctx ? s : "" + s + this._posData.x.units, e.y = this._o.ctx ? n : "" + n + this._posData.y.units }, e.prototype._getSwirl = function (t) { var e = this._props; return e.direction * e.swirlSize * Math.sin(e.swirlFrequency * t) }, e.prototype._draw = function () { var t = this._props.isWithShape ? "_draw" : "_drawEl"; h["default"].prototype[t].call(this) }, e }(h["default"]); e["default"] = d }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(28), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(9), f = i(c), d = r(3), _ = i(d), y = r(13), m = i(y), g = r(19), v = i(g), w = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype._declareDefaults = function () { this._defaults = { count: 5, degree: 360, radius: {0: 50}, radiusX: null, radiusY: null, width: 0, height: 0 } }, e.prototype.then = function (t) { this._removeTweenProperties(t); var e = this._masterThen(t), r = this._childThen(t); return this._setSwirlDuration(e, this._calcPackTime(r)), this.timeline._recalcTotalDuration(), this }, e.prototype.tune = function (t) { return null == t ? this : (this._saveTimelineOptions(t), this.timeline._setProp(this._timelineOptions), this._removeTweenProperties(t), this._tuneNewOptions(t), this.masterSwirl.tune(t), this._tuneSwirls(t), this._recalcModulesTime(), this) }, e.prototype._extendDefaults = function () { this._removeTweenProperties(this._o), t.prototype._extendDefaults.call(this) }, e.prototype._removeTweenProperties = function (t) { for (var e in v["default"].tweenOptionMap) null == this._defaults[e] && delete t[e] }, e.prototype._recalcModulesTime = function () { for (var t = this.masterSwirl._modules, e = this._swirls, r = 0, i = 0; i < t.length; i++) { var s = t[i].tween, n = this._calcPackTime(e[i]); s._setProp({duration: n, shiftTime: r}), r += n } this.timeline._recalcTotalDuration() }, e.prototype._tuneSwirls = function (t) { for (var e = this._swirls[0], r = 0; r < e.length; r++) { var i = e[r], s = this._getChildOption(t || {}, r), n = null != s.degreeShift; n || (s.degreeShift = this._swirls[0][r]._props.degreeShift), this._addBurstProperties(s, r), n || delete s.degreeShift, i.tune(s), this._refreshBurstOptions(i._modules, r) } }, e.prototype._refreshBurstOptions = function (t, e) { for (var r = 1; r < t.length; r++) { var i = t[r], s = {}; this._addBurstProperties(s, e, r), i._tuneNewOptions(s) } }, e.prototype._masterThen = function (t) { this.masterSwirl.then(t); var e = v["default"].getLastItem(this.masterSwirl._modules); return this._masterSwirls.push(e), e }, e.prototype._childThen = function (t) { for (var e = this._swirls[0], r = [], i = 0; i < e.length; i++) { { var s = this._getChildOption(t, i), n = e[i]; v["default"].getLastItem(n._modules) } s.parent = this.el, this._addBurstProperties(s, i, this._masterSwirls.length - 1), n.then(s), r.push(v["default"].getLastItem(n._modules)) } return this._swirls[this._masterSwirls.length - 1] = r, r }, e.prototype._vars = function () { t.prototype._vars.call(this), this._bufferTimeline = new f["default"] }, e.prototype._render = function () { this._o.isWithShape = !1, this._o.isSwirl = this._props.isSwirl, this._o.callbacksContext = this, this._saveTimelineOptions(this._o), this.masterSwirl = new S(this._o), this._masterSwirls = [this.masterSwirl], this.el = this.masterSwirl.el, this._renderSwirls() }, e.prototype._renderSwirls = function () { for (var t = this._props, e = [], r = 0; r < t.count; r++) { var i = this._getChildOption(this._o, r); e.push(new b(this._addOptionalProps(i, r))) } this._swirls = {0: e}, this._setSwirlDuration(this.masterSwirl, this._calcPackTime(e)) }, e.prototype._saveTimelineOptions = function (t) { this._timelineOptions = t.timeline, delete t.timeline }, e.prototype._calcPackTime = function (t) { for (var e = 0, r = 0; r < t.length; r++) { var i = t[r].tween, s = i._props; e = Math.max(s.repeatTime / s.speed, e) } return e }, e.prototype._setSwirlDuration = function (t, e) { t.tween._setProp("duration", e); var r = t.timeline && t.timeline._recalcTotalDuration; r && t.timeline._recalcTotalDuration() }, e.prototype._getChildOption = function (t, e) { var r = {}; for (var i in t.children) r[i] = this._getPropByMod(i, e, t.children); return r }, e.prototype._getPropByMod = function (t, e) { var r = arguments.length <= 2 || void 0 === arguments[2] ? {} : arguments[2], i = r[t]; return v["default"].isArray(i) ? i[e % i.length] : i }, e.prototype._addOptionalProps = function (t, e) { return t.index = e, t.parent = this.masterSwirl.el, this._addBurstProperties(t, e), t }, e.prototype._addBurstProperties = function (t, e, r) { var i = this._index; this._index = e; var s = this._parseProperty("degreeShift", t.degreeShift || 0); this._index = i; var n = this._props, o = n.degree % 360 === 0 ? n.count : n.count - 1 || 1, a = n.degree / o, p = this._getSidePoint("start", e * a + s, r), u = this._getSidePoint("end", e * a + s, r); t.x = this._getDeltaFromPoints("x", p, u), t.y = this._getDeltaFromPoints("y", p, u), t.angle = this._getBitAngle(t.angle || 0, s, e) }, e.prototype._getBitAngle = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0], e = arguments.length <= 1 || void 0 === arguments[1] ? 0 : arguments[1], r = arguments[2], i = this._props, s = i.degree % 360 === 0 ? i.count : i.count - 1 || 1, o = i.degree / s, a = r * o + 90; if (a += e, this._isDelta(t)) { var p = {}, u = n["default"](t), l = u[0], h = t[l]; l = v["default"].parseStringOption(l, r), h = v["default"].parseStringOption(h, r), p[parseFloat(l) + a] = parseFloat(h) + a, t = p } else t += a; return t }, e.prototype._getSidePoint = function (t, e, r) { var i = (this._props, this._getSideRadius(t, r)); return v["default"].getRadialPoint({ radius: i.radius, radiusX: i.radiusX, radiusY: i.radiusY, angle: e, center: {x: 0, y: 0} }) }, e.prototype._getSideRadius = function (t, e) { return { radius: this._getRadiusByKey("radius", t, e), radiusX: this._getRadiusByKey("radiusX", t, e), radiusY: this._getRadiusByKey("radiusY", t, e) } }, e.prototype._getRadiusByKey = function (t, e) { var r = arguments.length <= 2 || void 0 === arguments[2] ? 0 : arguments[2], i = this._masterSwirls[r], s = i._deltas, n = i._props; return null != s[t] ? s[t][e] : null != n[t] ? n[t] : void 0 }, e.prototype._getDeltaFromPoints = function (t, e, r) { var i = {}; return e[t] === r[t] ? i = e[t] : i[e[t]] = r[t], i }, e.prototype._makeTimeline = function () { this._o.timeline = this._timelineOptions, t.prototype._makeTimeline.call(this), this.timeline.add(this.masterSwirl, this._swirls[0]) }, e.prototype._makeTween = function () { }, e.prototype._hide = function () { }, e.prototype._show = function () { }, e }(m["default"]), b = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype._declareDefaults = function () { t.prototype._declareDefaults.call(this), this._defaults.isSwirl = !1, this._o.duration = null != this._o.duration ? this._o.duration : 700 }, e.prototype._calcSwirlXY = function (e) { var r = this._props.degreeShift; this._props.degreeShift = 0, t.prototype._calcSwirlXY.call(this, e), this._props.degreeShift = r }, e }(_["default"]), S = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype._declareDefaults = function () { t.prototype._declareDefaults.call(this), this._defaults.scale = 1, this._defaults.width = 0, this._defaults.height = 0, this._defaults.radius = {25: 75} }, e }(b); w.ChildSwirl = b, w.MainSwirl = S, e["default"] = w }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(27), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(28), f = i(c), d = r(12), _ = i(d), y = r(8), m = i(y), g = r(15), v = i(g), w = r(19), b = {}; m["default"].prototype._declareDefaults.call(b); for (var S = f["default"](b._defaults), P = 0; P < S.length; P++) b._defaults[S[P]] = 1; b._defaults.timeline = 1; var x = b._defaults, T = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype._declareDefaults = function () { this._defaults = { x: 0, y: 0, z: 0, skewX: 0, skewY: 0, angleX: 0, angleY: 0, angleZ: 0, scale: 1, scaleX: 1, scaleY: 1, isSoftHide: !0, isShowStart: !0, isShowEnd: !0, isForce3d: !1, isRefreshState: !0 }, this._drawExclude = {el: 1}, this._3dProperties = ["angleX", "angleY", "z"], this._arrayPropertyMap = { transformOrigin: 1, backgroundPosition: 1 }, this._numberPropertyMap = { opacity: 1, scale: 1, scaleX: 1, scaleY: 1, angleX: 1, angleY: 1, angleZ: 1, skewX: 1, skewY: 1 }, this._prefixPropertyMap = {transform: 1, transformOrigin: 1}, this._prefix = w.prefix.css }, e.prototype.then = function (e) { if (null == e || !f["default"](e).length) return 1; var r = w.getLastItem(this._modules); return r.deltas.refresh(!1), this._history[this._history.length - 1] = r._o, t.prototype.then.call(this, e), r.deltas.restore(), this }, e.prototype._checkStartValue = function (t, e) { return null == e ? null != this._defaults[t] ? this._defaults[t] : null != this._customProps[t] ? this._customProps[t] : null != w.defaultStyles[t] ? w.defaultStyles[t] : 0 : e }, e.prototype._draw = function () { for (var t = this._props, e = 0; e < this._drawProps.length; e++) { var r = this._drawProps[e]; this._setStyle(r, t[r]) } this._drawTransform(), this._customDraw && this._customDraw(this._props.el, this._props) }, e.prototype._drawTransform = function () { var t = this._props, e = this._is3d ? "translate3d(" + t.x + ", " + t.y + ", " + t.z + ")\n rotateX(" + t.angleX + "deg)\n rotateY(" + t.angleY + "deg)\n rotateZ(" + t.angleZ + "deg)\n skew(" + t.skewX + "deg, " + t.skewY + "deg)\n scale(" + t.scaleX + ", " + t.scaleY + ")" : "translate(" + t.x + ", " + t.y + ")\n rotate(" + t.angleZ + "deg)\n skew(" + t.skewX + "deg, " + t.skewY + "deg)\n scale(" + t.scaleX + ", " + t.scaleY + ")"; this._setStyle("transform", e) }, e.prototype._render = function () { if (!this._o.prevChainModule) { for (var t = this._props, e = 0; e < this._renderProps.length; e++) { var r = this._renderProps[e], i = t[r]; i = "number" == typeof i ? i + "px" : i, this._setStyle(r, i) } this._draw(), t.isShowStart || this._hide() } }, e.prototype._setStyle = function (t, e) { if (this._state[t] !== e) { var r = this._props.el.style; r[t] = e, this._prefixPropertyMap[t] && (r["" + this._prefix + t] = e), this._state[t] = e } }, e.prototype._extendDefaults = function () { this._props = this._o.props || {}, this._renderProps = [], this._drawProps = [], this._saveCustomProperties(this._o); var t = n["default"]({}, this._o); t = this._addDefaults(t); for (var e = f["default"](t), r = 0; r < e.length; r++) { var i = e[r], s = !this._drawExclude[i] && null == this._defaults[i] && !x[i], o = this._customProps[i]; w.isDelta(t[i]) || x[i] ? s && !o && this._drawProps.push(i) : (this._parseOption(i, t[i]), "el" === i && (this._props.el = w.parseEl(t.el), this.el = this._props.el), s && !o && this._renderProps.push(i)) } this._createDeltas(t) }, e.prototype._saveCustomProperties = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; this._customProps = t.customProperties || {}, this._customProps = n["default"]({}, this._customProps), this._customDraw = this._customProps.draw, delete this._customProps.draw, delete t.customProperties, this._copyDefaultCustomProps() }, e.prototype._copyDefaultCustomProps = function () { for (var t in this._customProps) null == this._o[t] && (this._o[t] = this._customProps[t]) }, e.prototype._resetMergedFlags = function (e) { return t.prototype._resetMergedFlags.call(this, e), e.props = this._props, e.customProperties = this._customProps, e }, e.prototype._parseOption = function (e, r) { t.prototype._parseOption.call(this, e, r); var i = this._props[e]; w.isArray(i) && (this._props[e] = this._arrToString(i)) }, e.prototype._arrToString = function (t) { for (var e = "", r = 0; r < t.length; r++) e += t[r].string + " "; return e }, e.prototype._addDefaults = function (t) { this._is3d = !1; for (var e in this._defaults) null == t[e] ? t[e] = "scaleX" === e || "scaleY" === e ? null != t.scale ? t.scale : this._defaults.scale : this._defaults[e] : -1 !== this._3dProperties.indexOf(e) && (this._is3d = !0); return this._o.isForce3d && (this._is3d = !0), t }, e.prototype._vars = function () { this.deltas.refresh(!1), t.prototype._vars.call(this), this._state = {}, this.deltas.restore(!1) }, e.prototype._createDeltas = function (t) { this.deltas = new v["default"]({ options: t, props: this._props, arrayPropertyMap: this._arrayPropertyMap, numberPropertyMap: this._numberPropertyMap, customProps: this._customProps, callbacksContext: t.callbacksContext || this, isChained: !!this._o.prevChainModule }), this._o.prevChainModule && (this.timeline = this.deltas.timeline) }, e.prototype._makeTween = function () { }, e.prototype._makeTimeline = function () { this._o.prevChainModule || (this._o.timeline = this._o.timeline || {}, this._addCallbackOverrides(this._o.timeline), t.prototype._makeTimeline.call(this), this.timeline.add(this.deltas)) }, e.prototype._addCallbackOverrides = function (t) { var e = this, r = this._props; t.callbackOverrides = { onUpdate: this._draw, onRefresh: this._props.isRefreshState ? this._draw : void 0, onStart: function (t) { e._isChained || (t && !r.isShowStart ? e._show() : r.isShowStart || e._hide()) }, onComplete: function (t) { e._isChained || (t ? r.isShowEnd || e._hide() : r.isShowEnd || e._show()) } } }, e.prototype._showByTransform = function () { this._drawTransform() }, e.prototype._mergeThenProperty = function (t, e, r) { var i = "boolean" == typeof r; if (w.isTweenProp(t) || this._nonMergeProps[t] || i) return r; var s = {}; if (w.isObject(r) && null != r.to) { for (var o in r) (x[o] || "curve" === o) && (s[o] = r[o], delete r[o]); r = r.to } if (this._isDelta(r)) { var a = {}; for (var p in r) (x[p] || "curve" === p) && (a[p] = r[p], delete r[p]); var u = this._parseDeltaValues(t, r); return n["default"]({}, u, a) } var l = this._parsePreArrayProperty(t, r); if (this._isDelta(e)) { var h; return n["default"]((h = {}, h[w.getDeltaEnd(e)] = l, h), s) } var c; return n["default"]((c = {}, c[e] = l, c), s) }, e }(_["default"]); e["default"] = T }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } var s = r(28), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(19), f = i(c), d = r(9), _ = i(d), y = r(13), m = i(y), g = function (t) { function e(r, i) { var s; a["default"](this, e); var n = u["default"](this, t.call(this)); return s = n._init(r, i), u["default"](n, s) } return h["default"](e, t), e.prototype.then = function (t) { if (null == t) return this; for (var e = 0; e < this._modules.length; e++) this._modules[e].then(this._getOptionByIndex(e, t)); return this.timeline._recalcTotalDuration(), this }, e.prototype.tune = function (t) { if (null == t) return this; for (var e = 0; e < this._modules.length; e++) this._modules[e].tune(this._getOptionByIndex(e, t)); return this.timeline._recalcTotalDuration(), this }, e.prototype.generate = function () { for (var t = 0; t < this._modules.length; t++) this._modules[t].generate(); return this.timeline._recalcTotalDuration(), this }, e.prototype._getOptionByMod = function (t, e, r) { var i = r[t]; (i + "" == "[object NodeList]" || i + "" == "[object HTMLCollection]") && (i = Array.prototype.slice.call(i, 0)); var s = f["default"].isArray(i) ? i[e % i.length] : i; return f["default"].parseIfStagger(s, e) }, e.prototype._getOptionByIndex = function (t, e) { var r = this, i = {}; return n["default"](e).forEach(function (s) { return i[s] = r._getOptionByMod(s, t, e) }), i }, e.prototype._getChildQuantity = function (t, e) { if ("number" == typeof t) return t; var r = e[t]; return f["default"].isArray(r) ? r.length : r + "" == "[object NodeList]" ? r.length : r + "" == "[object HTMLCollection]" ? Array.prototype.slice.call(r, 0).length : r instanceof HTMLElement ? 1 : "string" == typeof r ? 1 : void 0 }, e.prototype._init = function (t, e) { var r = this._getChildQuantity(t.quantifier || "el", t); this._createTimeline(t), this._modules = []; for (var i = 0; r > i; i++) { var s = this._getOptionByIndex(i, t); s.isRunLess = !0, s.index = i; var n = new e(s); this._modules.push(n), this.timeline.add(n) } return this }, e.prototype._createTimeline = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; this.timeline = new _["default"](t.timeline) }, e.prototype._makeTween = function () { }, e.prototype._makeTimeline = function () { }, e }(m["default"]); t.exports = function (t) { return function (e) { return new g(e, t) } } }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(19), a = i(o), p = r(8), u = i(p), l = r(9), h = i(l), c = function () { function t() { var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; return n["default"](this, t), this.o = e, this.o.el ? (this._vars(), this._declareDefaults(), this._extendDefaults(), this._parseFrames(), this._frames.length <= 2 && a["default"].warn("Spriter: only " + this._frames.length + " frames found"), this._frames.length < 1 && a["default"].error("Spriter: there is no frames to animate, aborting"), this._createTween(), this) : a["default"].error('No "el" option specified, aborting') } return t.prototype._declareDefaults = function () { this._defaults = { duration: 500, delay: 0, easing: "linear.none", repeat: 0, yoyo: !1, isRunLess: !1, isShowEnd: !1, onStart: null, onUpdate: null, onComplete: null } }, t.prototype._vars = function () { this._props = a["default"].cloneObj(this.o), this.el = this.o.el, this._frames = [] }, t.prototype.run = function (t) { return this.timeline.play() }, t.prototype._extendDefaults = function () { return a["default"].extend(this._props, this._defaults) }, t.prototype._parseFrames = function () { this._frames = Array.prototype.slice.call(this.el.children, 0), this._frames.forEach(function (t, e) { return t.style.opacity = 0 }), this._frameStep = 1 / this._frames.length }, t.prototype._createTween = function () { var t = this; this._tween = new u["default"]({ duration: this._props.duration, delay: this._props.delay, yoyo: this._props.yoyo, repeat: this._props.repeat, easing: this._props.easing, onStart: function () { return t._props.onStart && t._props.onStart() }, onComplete: function () { return t._props.onComplete && t._props.onComplete() }, onUpdate: function (e) { return t._setProgress(e) } }), this.timeline = new h["default"], this.timeline.add(this._tween), this._props.isRunLess || this._startTween() }, t.prototype._startTween = function () { var t = this; setTimeout(function () { return t.timeline.play() }, 1) }, t.prototype._setProgress = function (t) { var e = Math.floor(t / this._frameStep); if (this._prevFrame != this._frames[e]) { this._prevFrame && (this._prevFrame.style.opacity = 0); var r = 1 === t && this._props.isShowEnd ? e - 1 : e; this._frames[r] && (this._frames[r].style.opacity = 1), this._prevFrame = this._frames[e] } this._props.onUpdate && this._props.onUpdate(t) }, t }(); e["default"] = c }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(24), a = i(o), p = r(25), u = i(p), l = r(19), h = (i(l), r(10)), c = i(h), f = r(22), d = i(f), _ = r(16), y = i(_), m = function (t) { function e() { var r, i = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; n["default"](this, e); var s = a["default"](this, t.call(this, i)); return null == s._props.name && s._setSelfName(), r = s, a["default"](s, r) } return u["default"](e, t), e.prototype._declareDefaults = function () { this._defaults = { duration: 350, delay: 0, repeat: 0, speed: 1, isYoyo: !1, easing: "Sin.Out", backwardEasing: null, name: null, nameBase: "Tween", onProgress: null, onStart: null, onRefresh: null, onComplete: null, onRepeatStart: null, onRepeatComplete: null, onFirstUpdate: null, onUpdate: null, isChained: !1, onPlaybackStart: null, onPlaybackPause: null, onPlaybackStop: null, onPlaybackComplete: null, callbacksContext: null } }, e.prototype.play = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0]; return "play" === this._state && this._isRunning ? this : (this._props.isReversed = !1, this._subPlay(t, "play"), this._setPlaybackState("play"), this) }, e.prototype.playBackward = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0]; return "reverse" === this._state && this._isRunning ? this : (this._props.isReversed = !0, this._subPlay(t, "reverse"), this._setPlaybackState("reverse"), this) }, e.prototype.pause = function () { return "pause" === this._state || "stop" === this._state ? this : (this._removeFromTweener(), this._setPlaybackState("pause"), this) }, e.prototype.stop = function (t) { if ("stop" === this._state) return this; this._wasUknownUpdate = void 0; var e = null != t ? t : "reverse" === this._state ? 1 : 0; return this.setProgress(e), this.reset(), this }, e.prototype.replay = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0]; return this.reset(), this.play(t), this }, e.prototype.replayBackward = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0]; return this.reset(), this.playBackward(t), this }, e.prototype.resume = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0]; if ("pause" !== this._state) return this; switch (this._prevState) { case"play": this.play(t); break; case"reverse": this.playBackward(t) } return this }, e.prototype.setProgress = function (t) { var e = this._props; return !e.startTime && this._setStartTime(), this._playTime = null, 0 > t && (t = 0), t > 1 && (t = 1), this._update(e.startTime - e.delay + t * e.repeatTime), this }, e.prototype.setSpeed = function (t) { return this._props.speed = t, ("play" === this._state || "reverse" === this._state) && this._setResumeTime(this._state), this }, e.prototype.reset = function () { return this._removeFromTweener(), this._setPlaybackState("stop"), this._progressTime = 0, this._isCompleted = !1, this._isStarted = !1, this._isFirstUpdate = !1, this._wasUknownUpdate = void 0, this._prevTime = void 0, this._prevYoyo = void 0, this._props.isReversed = !1, this }, e.prototype._subPlay = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0], e = arguments[1], r = this._props, i = this._state, s = this._prevState, n = "pause" === i, o = "play" === i || n && "play" === s, a = "reverse" === i || n && "reverse" === s, p = o && "reverse" === e || a && "play" === e; return this._progressTime = this._progressTime >= r.repeatTime ? 0 : this._progressTime, p && (this._progressTime = r.repeatTime - this._progressTime), this._setResumeTime(e, t), c["default"].add(this), this }, e.prototype._setResumeTime = function (t) { var e = arguments.length <= 1 || void 0 === arguments[1] ? 0 : arguments[1]; this._resumeTime = performance.now(); var r = this._resumeTime - Math.abs(e) - this._progressTime; this._setStartTime(r, !1), null != this._prevTime && (this._prevTime = "play" === t ? this._normPrevTimeForward() : this._props.endTime - this._progressTime) }, e.prototype._normPrevTimeForward = function () { var t = this._props; return t.startTime + this._progressTime - t.delay }, e.prototype._setSelfName = function () { var t = "_" + this._props.nameBase + "s"; c["default"][t] = null == c["default"][t] ? 1 : ++c["default"][t], this._props.name = this._props.nameBase + " " + c["default"][t] }, e.prototype._setPlaybackState = function (t) { this._prevState = this._state, this._state = t; var e = "pause" === this._prevState, r = "stop" === this._prevState, i = "play" === this._prevState, s = "reverse" === this._prevState, n = i || s, o = r || e; "play" !== t && "reverse" !== t || !o || this._playbackStart(), "pause" === t && n && this._playbackPause(), "stop" === t && (n || e) && this._playbackStop() }, e.prototype._vars = function () { return this.progress = 0, this._prevTime = void 0, this._progressTime = 0, this._negativeShift = 0, this._state = "stop", this._props.delay < 0 && (this._negativeShift = this._props.delay, this._props.delay = 0), this._calcDimentions() }, e.prototype._calcDimentions = function () { this._props.time = this._props.duration + this._props.delay, this._props.repeatTime = this._props.time * (this._props.repeat + 1) }, e.prototype._extendDefaults = function () { this._callbackOverrides = this._o.callbackOverrides || {}, delete this._o.callbackOverrides, t.prototype._extendDefaults.call(this); var e = this._props; e.easing = d["default"].parseEasing(e.easing), e.easing._parent = this, null != e.backwardEasing && (e.backwardEasing = d["default"].parseEasing(e.backwardEasing), e.backwardEasing._parent = this) }, e.prototype._setStartTime = function (t) { var e = arguments.length <= 1 || void 0 === arguments[1] ? !0 : arguments[1], r = this._props, i = r.shiftTime || 0; e && (this._isCompleted = !1, this._isRepeatCompleted = !1, this._isStarted = !1); var s = null == t ? performance.now() : t; return r.startTime = s + r.delay + this._negativeShift + i, r.endTime = r.startTime + r.repeatTime - r.delay, this._playTime = null != this._resumeTime ? this._resumeTime : s + i, this._resumeTime = null, this }, e.prototype._update = function (t, e, r, i) { var s = this._props; null == this._prevTime && null != e && (this._props.speed && this._playTime && (this._prevTime = this._playTime + this._props.speed * (e - this._playTime)), this._wasUknownUpdate = !0); var n = s.startTime - s.delay; if (s.speed && this._playTime && (t = this._playTime + s.speed * (t - this._playTime)), Math.abs(s.endTime - t) < 1e-8 && (t = s.endTime), i && null != r) { var o = this._getPeriod(t), a = !(!s.isYoyo || !this._props.repeat || o % 2 !== 1); if (this._timelines) for (var p = 0; p < this._timelines.length; p++) this._timelines[p]._update(t, e, r, i); 1 === i ? r ? (this._prevTime = t + 1, this._repeatStart(t, a), this._start(t, a)) : (this._prevTime = t - 1, this._repeatComplete(t, a), this._complete(t, a)) : -1 === i && (r ? (this._prevTime = t - 1, this._repeatComplete(t, a), this._complete(t, a)) : this._prevTime >= s.startTime && this._prevTime <= s.endTime && (this._prevTime = t + 1, this._repeatStart(t, a), this._start(t, a), this._isCompleted = !0)), this._prevTime = void 0 } return t > n && t < s.endTime ? this._progressTime = t - n : n >= t ? this._progressTime = 0 : t >= s.endTime && (this._progressTime = s.repeatTime + 1e-11), s.isReversed && (t = s.endTime - this._progressTime), null == this._prevTime ? (this._prevTime = t, this._wasUknownUpdate = !0, !1) : (t >= n && t <= s.endTime && this._progress((t - n) / s.repeatTime, t), t >= s.startTime && t <= s.endTime ? this._updateInActiveArea(t) : this._isInActiveArea ? this._updateInInactiveArea(t) : this._isRefreshed || t < s.startTime && 0 !== this.progress && (this._refresh(!0), this._isRefreshed = !0), this._prevTime = t, t >= s.endTime || n >= t) }, e.prototype._updateInInactiveArea = function (t) { if (this._isInActiveArea) { var e = this._props; if (t > e.endTime && !this._isCompleted) { this._progress(1, t); var r = this._getPeriod(e.endTime), i = e.isYoyo && r % 2 === 0; this._setProgress(i ? 0 : 1, t, i), this._repeatComplete(t, i), this._complete(t, i) } t < this._prevTime && t < e.startTime && !this._isStarted && !this._isCompleted && (this._progress(0, t, !1), this._setProgress(0, t, !1), this._isRepeatStart = !1, this._repeatStart(t, !1), this._start(t, !1)), this._isInActiveArea = !1 } }, e.prototype._updateInActiveArea = function (t) { var e = this._props, r = e.delay + e.duration, i = e.startTime - e.delay, s = (t - e.startTime + e.delay) % r, n = Math.round((e.endTime - e.startTime + e.delay) / r), o = this._getPeriod(t), a = this._delayT, p = this._getPeriod(this._prevTime), u = this._delayT, l = e.isYoyo && o % 2 === 1, h = e.isYoyo && p % 2 === 1, c = l ? 1 : 0; if (t === e.endTime) { this._wasUknownUpdate = !1; var l = e.isYoyo && (o - 1) % 2 === 1; return this._setProgress(l ? 0 : 1, t, l), t > this._prevTime && (this._isRepeatCompleted = !1), this._repeatComplete(t, l), this._complete(t, l) } if (this._isCompleted = !1, this._isRefreshed = !1, i + s >= e.startTime) { this._isInActiveArea = !0, this._isRepeatCompleted = !1, this._isRepeatStart = !1, this._isStarted = !1; var f = (t - e.startTime) % r, d = f / e.duration, _ = o > 0 && o > p, y = p > o; if (this._onEdge = 0, _ && (this._onEdge = 1), y && (this._onEdge = -1), this._wasUknownUpdate && (t > this._prevTime && (this._start(t, l), this._repeatStart(t, l), this._firstUpdate(t, l)), t < this._prevTime && (this._complete(t, l), this._repeatComplete(t, l), this._firstUpdate(t, l), this._isCompleted = !1)), _) { if (1 !== this.progress) { var m = e.isYoyo && (o - 1) % 2 === 1; this._repeatComplete(t, m) } p >= 0 && this._repeatStart(t, l) } t > this._prevTime && (!this._isStarted && this._prevTime <= e.startTime && (this._start(t, l), this._repeatStart(t, l), this._isStarted = !1, this._isRepeatStart = !1), this._firstUpdate(t, l)), y && (0 !== this.progress && 1 !== this.progress && p != n && this._repeatStart(t, h), p !== n || this._wasUknownUpdate || (this._complete(t, l), this._repeatComplete(t, l), this._firstUpdate(t, l), this._isCompleted = !1), this._repeatComplete(t, l)), "delay" === p && (u > o && this._repeatComplete(t, l), o === u && o > 0 && this._repeatStart(t, l)), t > this._prevTime ? (0 === d && this._repeatStart(t, l), t !== e.endTime && this._setProgress(l ? 1 - d : d, t, l)) : (t !== e.endTime && this._setProgress(l ? 1 - d : d, t, l), 0 === d && this._repeatStart(t, l)), t === e.startTime && this._start(t, l) } else if (this._isInActiveArea) { var g = "delay" === o ? a : o, v = t > this._prevTime; v && g--, c = e.isYoyo && g % 2 === 1 ? 1 : 0, t < this._prevTime && (this._setProgress(c, t, 1 === c), this._repeatStart(t, 1 === c)), this._setProgress(v ? 1 - c : c, t, 1 === c), t > this._prevTime && (0 !== this.progress || 1 === c) && this._repeatComplete(t, 1 === c), this._isInActiveArea = !1 } this._wasUknownUpdate = !1 }, e.prototype._removeFromTweener = function () { return c["default"].remove(this), this }, e.prototype._getPeriod = function (t) { var e = this._props, r = e.delay + e.duration, i = e.delay + t - e.startTime, s = i / r, n = t < e.endTime ? i % r : 0; return s = t >= e.endTime ? Math.round(s) : Math.floor(s), t > e.endTime ? s = Math.round((e.endTime - e.startTime + e.delay) / r) : n > 0 && n < e.delay && (this._delayT = s, s = "delay"), s }, e.prototype._setProgress = function (t, e, r) { var i = this._props, s = i.wasYoyo !== r, n = e > this._prevTime; if (this.progress = t, n && !r || !n && r) this.easedProgress = i.easing(t); else if (!n && !r || n && r) { var o = null != i.backwardEasing ? i.backwardEasing : i.easing; this.easedProgress = o(t) } return (i.prevEasedProgress !== this.easedProgress || s) && null != i.onUpdate && "function" == typeof i.onUpdate && i.onUpdate.call(i.callbacksContext || this, this.easedProgress, this.progress, n, r), i.prevEasedProgress = this.easedProgress, i.wasYoyo = r, this }, e.prototype._start = function (t, e) { if (!this._isStarted) { var r = this._props; null != r.onStart && "function" == typeof r.onStart && r.onStart.call(r.callbacksContext || this, t > this._prevTime, e), this._isCompleted = !1, this._isStarted = !0, this._isFirstUpdate = !1 } }, e.prototype._playbackStart = function () { var t = this._props; null != t.onPlaybackStart && "function" == typeof t.onPlaybackStart && t.onPlaybackStart.call(t.callbacksContext || this) }, e.prototype._playbackPause = function () { var t = this._props; null != t.onPlaybackPause && "function" == typeof t.onPlaybackPause && t.onPlaybackPause.call(t.callbacksContext || this) }, e.prototype._playbackStop = function () { var t = this._props; null != t.onPlaybackStop && "function" == typeof t.onPlaybackStop && t.onPlaybackStop.call(t.callbacksContext || this) }, e.prototype._playbackComplete = function () { var t = this._props; null != t.onPlaybackComplete && "function" == typeof t.onPlaybackComplete && t.onPlaybackComplete.call(t.callbacksContext || this) }, e.prototype._complete = function (t, e) { if (!this._isCompleted) { var r = this._props; null != r.onComplete && "function" == typeof r.onComplete && r.onComplete.call(r.callbacksContext || this, t > this._prevTime, e), this._isCompleted = !0, this._isStarted = !1, this._isFirstUpdate = !1, this._prevYoyo = void 0 } }, e.prototype._firstUpdate = function (t, e) { if (!this._isFirstUpdate) { var r = this._props; null != r.onFirstUpdate && "function" == typeof r.onFirstUpdate && (r.onFirstUpdate.tween = this, r.onFirstUpdate.call(r.callbacksContext || this, t > this._prevTime, e)), this._isFirstUpdate = !0 } }, e.prototype._repeatComplete = function (t, e) { if (!this._isRepeatCompleted) { var r = this._props; null != r.onRepeatComplete && "function" == typeof r.onRepeatComplete && r.onRepeatComplete.call(r.callbacksContext || this, t > this._prevTime, e), this._isRepeatCompleted = !0 } }, e.prototype._repeatStart = function (t, e) { if (!this._isRepeatStart) { var r = this._props; null != r.onRepeatStart && "function" == typeof r.onRepeatStart && r.onRepeatStart.call(r.callbacksContext || this, t > this._prevTime, e), this._isRepeatStart = !0 } }, e.prototype._progress = function (t, e) { var r = this._props; null != r.onProgress && "function" == typeof r.onProgress && r.onProgress.call(r.callbacksContext || this, t, e > this._prevTime) }, e.prototype._refresh = function (t) { var e = this._props; if (null != e.onRefresh) { var r = e.callbacksContext || this, i = t ? 0 : 1; e.onRefresh.call(r, t, e.easing(i), i) } }, e.prototype._onTweenerRemove = function () { }, e.prototype._onTweenerFinish = function () { this._setPlaybackState("stop"), this._playbackComplete() }, e.prototype._setProp = function (e, r) { t.prototype._setProp.call(this, e, r), this._calcDimentions() }, e.prototype._assignProp = function (e, r) { null == r && (r = this._defaults[e]), "easing" === e && (r = d["default"].parseEasing(r), r._parent = this); var i = this._callbackOverrides[e], s = !r || !r.isMojsCallbackOverride; i && s && (r = this._overrideCallback(r, i)), t.prototype._assignProp.call(this, e, r) }, e.prototype._overrideCallback = function (t, e) { var r = t && "function" == typeof t, i = function () { r && t.apply(this, arguments), e.apply(this, arguments) }; return i.isMojsCallbackOverride = !0, i }, e }(y["default"]); e["default"] = m }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(29), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(19), f = i(c), d = r(10), _ = (i(d), r(8)), y = i(_), m = function (t) { function e() { var r = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; return a["default"](this, e), u["default"](this, t.call(this, r)) } return h["default"](e, t), e.prototype.add = function () { for (var t = arguments.length, e = Array(t), r = 0; t > r; r++) e[r] = arguments[r]; return this._pushTimelineArray(e), this._calcDimentions(), this }, e.prototype.append = function () { for (var t = arguments.length, e = Array(t), r = 0; t > r; r++) e[r] = arguments[r]; for (var i = e, s = Array.isArray(i), o = 0, i = s ? i : n["default"](i); ;) { var a; if (s) { if (o >= i.length) break; a = i[o++] } else { if (o = i.next(), o.done) break; a = o.value } var p = a; f["default"].isArray(p) ? this._appendTimelineArray(p) : this._appendTimeline(p, this._timelines.length), this._calcDimentions() } return this }, e.prototype.stop = function (e) { return t.prototype.stop.call(this, e), this._stopChildren(e), this }, e.prototype.reset = function () { return t.prototype.reset.call(this), this._resetChildren(), this }, e.prototype._resetChildren = function () { for (var t = 0; t < this._timelines.length; t++) this._timelines[t].reset() }, e.prototype._stopChildren = function (t) { for (var e = this._timelines.length - 1; e >= 0; e--) this._timelines[e].stop(t) }, e.prototype._appendTimelineArray = function (t) { for (var e = t.length, r = this._props.repeatTime - this._props.delay, i = this._timelines.length; e--;) this._appendTimeline(t[e], i, r) }, e.prototype._appendTimeline = function (t, r, i) { t.timeline instanceof e && (t = t.timeline), t.tween instanceof y["default"] && (t = t.tween); var s = null != i ? i : this._props.duration; s += t._props.shiftTime || 0, t.index = r, this._pushTimeline(t, s) }, e.prototype._pushTimelineArray = function (t) { for (var e = 0; e < t.length; e++) { var r = t[e]; f["default"].isArray(r) ? this._pushTimelineArray(r) : this._pushTimeline(r) } }, e.prototype._pushTimeline = function (t, r) { t.timeline instanceof e && (t = t.timeline), t.tween instanceof y["default"] && (t = t.tween), null != r && t._setProp({shiftTime: r}), this._timelines.push(t), this._recalcDuration(t) }, e.prototype._setProgress = function (t, e, r) { this._updateChildren(t, e, r), y["default"].prototype._setProgress.call(this, t, e) }, e.prototype._updateChildren = function (t, e, r) { var i = e > this._prevTime ? -1 : 1; this._props.isYoyo && r && (i *= -1); for (var s = this._props.startTime + t * this._props.duration, n = s + i, o = this._timelines.length, a = 0; o > a; a++) { var p = s > n ? a : o - 1 - a; this._timelines[p]._update(s, n, this._prevYoyo, this._onEdge) } this._prevYoyo = r }, e.prototype._recalcDuration = function (t) { var e = t._props, r = e.repeatTime / e.speed + (e.shiftTime || 0) + t._negativeShift; this._props.duration = Math.max(r, this._props.duration) }, e.prototype._recalcTotalDuration = function () { var t = this._timelines.length; for (this._props.duration = 0; t--;) { var e = this._timelines[t]; e._recalcTotalDuration && e._recalcTotalDuration(), this._recalcDuration(e) } this._calcDimentions() }, e.prototype._setStartTime = function (e) { var r = arguments.length <= 1 || void 0 === arguments[1] ? !0 : arguments[1]; t.prototype._setStartTime.call(this, e), this._startTimelines(this._props.startTime, r) }, e.prototype._startTimelines = function (t) { var e = arguments.length <= 1 || void 0 === arguments[1] ? !0 : arguments[1], r = (this._props, "stop" === this._state); null == t && (t = this._props.startTime); for (var i = 0; i < this._timelines.length; i++) { var s = this._timelines[i]; s._setStartTime(t, e), e || null == s._prevTime || r || (s._prevTime = s._normPrevTimeForward()) } }, e.prototype._refresh = function (e) { for (var r = this._timelines.length, i = 0; r > i; i++) this._timelines[i]._refresh(e); t.prototype._refresh.call(this, e) }, e.prototype._declareDefaults = function () { null != this._o.duration && (f["default"].error('Duration can not be declared on Timeline, but "' + this._o.duration + '" is. You probably want to use Tween instead.'), this._o.duration = 0), t.prototype._declareDefaults.call(this), this._defaults.duration = 0, this._defaults.easing = "Linear.None", this._defaults.backwardEasing = "Linear.None", this._defaults.nameBase = "Timeline" }, e.prototype._vars = function () { this._timelines = [], t.prototype._vars.call(this) }, e }(y["default"]); e["default"] = m }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s); r(30), r(31); var o = r(19), a = (i(o), function () { function t() { return n["default"](this, t), this._vars(), this._listenVisibilityChange(), this } return t.prototype._vars = function () { this.tweens = [], this._loop = this._loop.bind(this), this._onVisibilityChange = this._onVisibilityChange.bind(this) }, t.prototype._loop = function () { return this._isRunning ? (this._update(window.performance.now()), this.tweens.length ? (requestAnimationFrame(this._loop), this) : this._isRunning = !1) : !1 }, t.prototype._startLoop = function () { this._isRunning || (this._isRunning = !0, requestAnimationFrame(this._loop)) }, t.prototype._stopLoop = function () { this._isRunning = !1 }, t.prototype._update = function (t) { for (var e = this.tweens.length; e--;) { var r = this.tweens[e]; r && r._update(t) === !0 && (this.remove(r), r._onTweenerFinish(), r._prevTime = void 0) } }, t.prototype.add = function (t) { t._isRunning || (t._isRunning = !0, this.tweens.push(t), this._startLoop()) }, t.prototype.removeAll = function () { this.tweens.length = 0 }, t.prototype.remove = function (t) { var e = "number" == typeof t ? t : this.tweens.indexOf(t); -1 !== e && (t = this.tweens[e], t && (t._isRunning = !1, this.tweens.splice(e, 1), t._onTweenerRemove())) }, t.prototype._listenVisibilityChange = function () { "undefined" != typeof document.hidden ? (this._visibilityHidden = "hidden", this._visibilityChange = "visibilitychange") : "undefined" != typeof document.mozHidden ? (this._visibilityHidden = "mozHidden", this._visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.msHidden ? (this._visibilityHidden = "msHidden", this._visibilityChange = "msvisibilitychange") : "undefined" != typeof document.webkitHidden && (this._visibilityHidden = "webkitHidden", this._visibilityChange = "webkitvisibilitychange"), document.addEventListener(this._visibilityChange, this._onVisibilityChange, !1) }, t.prototype._onVisibilityChange = function () { document[this._visibilityHidden] ? this._savePlayingTweens() : this._restorePlayingTweens() }, t.prototype._savePlayingTweens = function () { this._savedTweens = this.tweens.slice(0); for (var t = 0; t < this._savedTweens.length; t++) this._savedTweens[t].pause() }, t.prototype._restorePlayingTweens = function () { for (var t = 0; t < this._savedTweens.length; t++) this._savedTweens[t].resume() }, t }()), p = new a; e["default"] = p }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(24), a = i(o), p = r(25), u = i(p), l = r(8), h = i(l), c = r(9), f = i(c), d = r(16), _ = i(d), y = function (t) { function e() { var r = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; n["default"](this, e); var i = a["default"](this, t.call(this, r)); return i._transformTweenOptions(), !i._o.isTweenLess && i._makeTween(), !i._o.isTimelineLess && i._makeTimeline(), i } return u["default"](e, t), e.prototype.play = function () { return this.timeline.play.apply(this.timeline, arguments), this }, e.prototype.playBackward = function () { return this.timeline.playBackward.apply(this.timeline, arguments), this }, e.prototype.pause = function () { return this.timeline.pause.apply(this.timeline, arguments), this }, e.prototype.stop = function () { return this.timeline.stop.apply(this.timeline, arguments), this }, e.prototype.reset = function () { return this.timeline.reset.apply(this.timeline, arguments), this }, e.prototype.replay = function () { return this.timeline.replay.apply(this.timeline, arguments), this }, e.prototype.replayBackward = function () { return this.timeline.replayBackward.apply(this.timeline, arguments), this }, e.prototype.resume = function () { arguments.length <= 0 || void 0 === arguments[0] ? 0 : arguments[0]; return this.timeline.resume.apply(this.timeline, arguments), this }, e.prototype.setProgress = function () { return this.timeline.setProgress.apply(this.timeline, arguments), this }, e.prototype.setSpeed = function (t) { return this.timeline.setSpeed.apply(this.timeline, arguments), this }, e.prototype._transformTweenOptions = function () { }, e.prototype._makeTween = function () { this._o.callbacksContext = this._o.callbacksContext || this, this.tween = new h["default"](this._o), this._o.isTimelineLess && (this.timeline = this.tween) }, e.prototype._makeTimeline = function () { this._o.timeline = this._o.timeline || {}, this._o.timeline.callbacksContext = this._o.callbacksContext || this, this.timeline = new f["default"](this._o.timeline), this._isTimeline = !0, this.tween && this.timeline.add(this.tween) }, e }(_["default"]); e["default"] = y }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(28), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(11), f = i(c), d = r(19), _ = i(d), y = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype.then = function (t) { if (null == t || !n["default"](t).length) return 1; var e = this._history[this._history.length - 1], r = (this._modules[this._modules.length - 1], this._mergeThenOptions(e, t)); this._resetMergedFlags(r); var i = new this.constructor(r); return i._masterModule = this, this._modules.push(i), this.timeline.append(i), this }, e.prototype._resetMergedFlags = function (t) { return t.isTimelineLess = !0, t.isShowStart = !1, t.isRefreshState = !1, t.callbacksContext = this._props.callbacksContext || this, t.prevChainModule = _["default"].getLastItem(this._modules), t.masterModule = this, t }, e.prototype._vars = function () { t.prototype._vars.call(this), this._masterModule = this._o.masterModule, this._isChained = !!this._masterModule; var e = _["default"].cloneObj(this._props); for (var r in this._arrayPropertyMap) if (this._o[r]) { var i = this._parsePreArrayProperty(r, this._o[r]); e[r] = i } this._history = [e], this._modules = [this], this._nonMergeProps = {shape: 1} }, e.prototype._mergeThenOptions = function (t, e) { var r = {}; return this._mergeStartLoop(r, t), this._mergeEndLoop(r, t, e), this._history.push(r), r }, e.prototype._checkStartValue = function (t, e) { return e }, e.prototype._mergeStartLoop = function (t, e) { for (var r in e) { var i = e[r]; null != e[r] && (_["default"].isTweenProp(r) && "duration" !== r || (t[r] = this._isDelta(i) ? _["default"].getDeltaEnd(i) : i)) } }, e.prototype._mergeEndLoop = function (t, e, r) { n["default"](r); for (var i in r) if ("parent" != i) { var s = r[i], o = null != e[i] ? e[i] : this._defaults[i]; if (o = this._checkStartValue(i, o), null != s) { var a = "radiusX" === i || "radiusY" === i; a && null == o && (o = e.radius); var a = "scaleX" === i || "scaleY" === i; a && null == o && (o = e.scale), t[i] = this._mergeThenProperty(i, o, s) } } else t[i] = r[i] }, e.prototype._mergeThenProperty = function (t, e, r) { var i, s, n = "boolean" == typeof r; if (_["default"].isTweenProp(t) || this._nonMergeProps[t] || n) return r; if (_["default"].isObject(r) && null != r.to && (i = r.curve, s = r.easing, r = r.to), this._isDelta(r)) return this._parseDeltaValues(t, r); var o = this._parsePreArrayProperty(t, r); if (this._isDelta(e)) { var a; return a = {}, a[_["default"].getDeltaEnd(e)] = o, a.easing = s, a.curve = i, a } var p; return p = {}, p[e] = o, p.easing = s, p.curve = i, p }, e.prototype._getArrayLength = function (t) { return _["default"].isArray(t) ? t.length : -1 }, e.prototype._isDelta = function (t) { var e = _["default"].isObject(t); return e = e && !t.unit, !(!e || _["default"].isArray(t) || _["default"].isDOM(t)) }, e.prototype._isFirstInChain = function () { return !this._masterModule }, e.prototype._isLastInChain = function () { var t = this._masterModule; return t ? this === _["default"].getLastItem(t._modules) : 1 === this._modules.length }, e }(f["default"]); e["default"] = y }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(28), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(19), f = i(c), d = r(12), _ = i(d), y = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype.tune = function (t) { if (t && n["default"](t).length) { this._transformHistory(t), this._tuneNewOptions(t), this._history[0] = f["default"].cloneObj(this._props); for (var e in this._arrayPropertyMap) null != t[e] && (this._history[0][e] = this._preparsePropValue(e, t[e])); this._tuneSubModules(), this._resetTweens() } return this }, e.prototype.generate = function () { return this.tune(this._o) }, e.prototype._transformHistory = function (t) { for (var e in t) { var r = t[e]; this._transformHistoryFor(e, this._preparsePropValue(e, r)) } }, e.prototype._transformHistoryFor = function (t, e) { for (var r = 0; r < this._history.length && (!(e = this._transformHistoryRecord(r, t, e)) || null != e); r++) ; }, e.prototype._transformHistoryRecord = function (t, e, r, i, s) { if (null == r) return null; i = null == i ? this._history[t] : i, s = null == s ? this._history[t + 1] : s; var n = i[e], o = null == s ? null : s[e]; if (0 === t) { if (i[e] = r, f["default"].isTweenProp(e) && "duration" !== e) return null; var a = this._isRewriteNext(n, o), p = this._isDelta(r) ? f["default"].getDeltaEnd(r) : r; return a ? p : null } if (this._isDelta(n)) { var u; return i[e] = (u = {}, u[r] = f["default"].getDeltaEnd(n), u), null } return i[e] = r, this._isRewriteNext(n, o) ? r : null }, e.prototype._isRewriteNext = function (t, e) { if (null == e && null != t) return !1; var r = t === e, i = this._isDelta(e), s = this._isDelta(t), n = !1, o = !1; return s && i ? f["default"].getDeltaEnd(t) == f["default"].getDeltaStart(e) && (o = !0) : i && (n = f["default"].getDeltaStart(e) === "" + t), r || n || o }, e.prototype._tuneSubModules = function () { for (var t = 1; t < this._modules.length; t++) this._modules[t]._tuneNewOptions(this._history[t]) }, e.prototype._resetTweens = function () { var t = 0, e = 0, r = this.timeline._timelines; if (null != r) { for (var t = 0; t < r.length; t++) { var i = r[t], s = r[t - 1]; e += s ? s._props.repeatTime : 0, this._resetTween(i, this._history[t], e) } this.timeline._setProp(this._props.timeline), this.timeline._recalcTotalDuration() } }, e.prototype._resetTween = function (t, e) { var r = arguments.length <= 2 || void 0 === arguments[2] ? 0 : arguments[2]; e.shiftTime = r, t._setProp(e) }, e }(_["default"]); e["default"] = y }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(8), a = i(o), p = (r(19), function () { function t() { var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; n["default"](this, t), this._o = e, this._createTween(e.tweenOptions), !this._o.isChained && this.refresh(!0) } return t.prototype.refresh = function (t) { this._previousValues = []; for (var e = this._o.deltas, r = 0; r < e.length; r++) { var i = e[r].name; this._previousValues.push({name: i, value: this._o.props[i]}) } return this.tween._refresh(t), this }, t.prototype.restore = function () { for (var t = this._previousValues, e = 0; e < t.length; e++) { var r = t[e]; this._o.props[r.name] = r.value } return this }, t.prototype._createTween = function () { var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0], e = this; t.callbackOverrides = { onUpdate: function (t, r) { e._calcCurrentProps(t, r) } }, this._o.isChained || (t.callbackOverrides.onRefresh = function (t, r, i) { e._calcCurrentProps(r, i) }), t.callbacksContext = this._o.callbacksContext, this.tween = new a["default"](t) }, t.prototype._calcCurrentProps = function (t, e) { for (var r = this._o.deltas, i = 0; i < r.length; i++) { var s = r[i].type; this["_calcCurrent_" + s](r[i], t, e) } }, t.prototype._calcCurrent_color = function (t, e, r) { var i, s, n, o, a = t.start, p = t.delta; if (t.curve) { var u = t.curve(r); i = parseInt(u * (a.r + r * p.r), 10), s = parseInt(u * (a.g + r * p.g), 10), n = parseInt(u * (a.b + r * p.b), 10), o = parseFloat(u * (a.a + r * p.a)) } else i = parseInt(a.r + e * p.r, 10), s = parseInt(a.g + e * p.g, 10), n = parseInt(a.b + e * p.b, 10), o = parseFloat(a.a + e * p.a); this._o.props[t.name] = "rgba(" + i + "," + s + "," + n + "," + o + ")" }, t.prototype._calcCurrent_number = function (t, e, r) { this._o.props[t.name] = t.curve ? t.curve(r) * (t.start + r * t.delta) : t.start + e * t.delta }, t.prototype._calcCurrent_unit = function (t, e, r) { var i = t.curve ? t.curve(r) * (t.start.value + r * t.delta) : t.start.value + e * t.delta; this._o.props[t.name] = "" + i + t.end.unit }, t.prototype._calcCurrent_array = function (t, e, r) { for (var i = t.name, s = this._o.props, n = "", o = t.curve ? t.curve(r) : null, a = 0; a < t.delta.length; a++) { var p = t.delta[a], u = t.curve ? o * (t.start[a].value + r * p.value) : t.start[a].value + e * p.value; n += "" + u + p.unit + " " } s[i] = n }, t }()); e["default"] = p }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(27), n = i(s), o = r(23), a = i(o), p = r(28), u = i(p), l = r(9), h = i(l), c = r(8), f = i(c), d = r(14), _ = i(d), y = r(22), m = r(19), g = {}; f["default"].prototype._declareDefaults.call(g); for (var v = u["default"](g._defaults), w = 0; w < v.length; w++) g._defaults[v[w]] = 1; g._defaults.timeline = 1; var b = g._defaults, S = function () { function t() { var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; a["default"](this, t), this._o = e, this._shortColors = { transparent: "rgba(0,0,0,0)", none: "rgba(0,0,0,0)", aqua: "rgb(0,255,255)", black: "rgb(0,0,0)", blue: "rgb(0,0,255)", fuchsia: "rgb(255,0,255)", gray: "rgb(128,128,128)", green: "rgb(0,128,0)", lime: "rgb(0,255,0)", maroon: "rgb(128,0,0)", navy: "rgb(0,0,128)", olive: "rgb(128,128,0)", purple: "rgb(128,0,128)", red: "rgb(255,0,0)", silver: "rgb(192,192,192)", teal: "rgb(0,128,128)", white: "rgb(255,255,255)", yellow: "rgb(255,255,0)", orange: "rgb(255,128,0)" }, this._ignoreDeltasMap = { prevChainModule: 1, masterModule: 1 }, this._parseDeltas(e.options), this._createDeltas(), this._createTimeline(this._mainTweenOptions) } return t.prototype.refresh = function (t) { for (var e = 0; e < this._deltas.length; e++) this._deltas[e].refresh(t); return this }, t.prototype.restore = function () { for (var t = 0; t < this._deltas.length; t++) this._deltas[t].restore(); return this }, t.prototype._createTimeline = function () { arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; this.timeline = new h["default"], this.timeline.add(this._deltas) }, t.prototype._createDeltas = function () { this._deltas = [], this._deltas.push(this._createDelta(this._mainDeltas, this._mainTweenOptions)); for (var t = 0; t < this._childDeltas.length; t++) { var e = this._childDeltas[t]; this._deltas.push(this._createDelta([e.delta], e.tweenOptions)) } }, t.prototype._createDelta = function (t, e) { var r = this._o; return new _["default"]({ deltas: t, tweenOptions: e, props: r.props, isChained: r.isChained, callbacksContext: r.callbacksContext }) }, t.prototype._parseDeltas = function (t) { var e = this._splitTweenOptions(t), r = e.delta; this._mainTweenOptions = e.tweenOptions, this._mainDeltas = [], this._childDeltas = []; for (var i = u["default"](r), s = 0; s < i.length; s++) { var n = i[s]; if (this._isDelta(r[n]) && !this._ignoreDeltasMap[n]) { var o = this._splitAndParseDelta(n, r[n]); o.tweenOptions ? this._childDeltas.push(o) : this._mainDeltas.push(o.delta) } } }, t.prototype._splitAndParseDelta = function (t, e) { var r = this._splitTweenOptions(e); return r.delta = this._parseDelta(t, r.delta), r }, t.prototype._parseDelta = function (t, e, r) { return this._o.customProps && null != this._o.customProps[t] ? this._parseDeltaByCustom(t, e, r) : this._parseDeltaByGuess(t, e, r) }, t.prototype._parseDeltaByCustom = function (t, e, r) { return this._parseNumberDelta(t, e, r) }, t.prototype._parseDeltaByGuess = function (t, e, r) { var i = this._preparseDelta(e), s = i.start, n = this._o; return !isNaN(parseFloat(s)) || s.match(/rand\(/) || s.match(/stagger\(/) ? n.arrayPropertyMap && n.arrayPropertyMap[t] ? this._parseArrayDelta(t, e) : n.numberPropertyMap && n.numberPropertyMap[t] ? this._parseNumberDelta(t, e, r) : this._parseUnitDelta(t, e, r) : this._parseColorDelta(t, e) }, t.prototype._splitTweenOptions = function (t) { t = n["default"]({}, t); for (var e = u["default"](t), r = {}, i = null, s = 0; s < e.length; s++) { var o = e[s]; b[o] && (null != t[o] && (r[o] = t[o], i = !0), delete t[o]) } return {delta: t, tweenOptions: i ? r : void 0} }, t.prototype._isDelta = function (t) { var e = m.isObject(t); return e = e && !t.unit, !(!e || m.isArray(t) || m.isDOM(t)) }, t.prototype._parseColorDelta = function (t, e) { if ("strokeLinecap" === t) return m.warn("Sorry, stroke-linecap property is not animatable yet, using the start(#{start}) value instead", e), {}; var r = this._preparseDelta(e), i = this._makeColorObj(r.start), s = this._makeColorObj(r.end), n = { type: "color", name: t, start: i, end: s, curve: r.curve, delta: {r: s.r - i.r, g: s.g - i.g, b: s.b - i.b, a: s.a - i.a} }; return n }, t.prototype._parseArrayDelta = function (t, e) { var r = this._preparseDelta(e), i = this._strToArr(r.start), s = this._strToArr(r.end); m.normDashArrays(i, s); for (var n = 0; n < i.length; n++) { var o = s[n]; m.mergeUnits(i[n], o, t) } var a = {type: "array", name: t, start: i, end: s, delta: m.calcArrDelta(i, s), curve: r.curve}; return a }, t.prototype._parseUnitDelta = function (t, e, r) { var i = this._preparseDelta(e), s = m.parseUnit(m.parseStringOption(i.end, r)), n = m.parseUnit(m.parseStringOption(i.start, r)); m.mergeUnits(n, s, t); var o = {type: "unit", name: t, start: n, end: s, delta: s.value - n.value, curve: i.curve}; return o }, t.prototype._parseNumberDelta = function (t, e, r) { var i = this._preparseDelta(e), s = parseFloat(m.parseStringOption(i.end, r)), n = parseFloat(m.parseStringOption(i.start, r)), o = {type: "number", name: t, start: n, end: s, delta: s - n, curve: i.curve}; return o }, t.prototype._preparseDelta = function (t) { t = n["default"]({}, t); var e = t.curve; null != e && (e = y.parseEasing(e), e._parent = this), delete t.curve; var r = u["default"](t)[0], i = t[r]; return {start: r, end: i, curve: e} }, t.prototype._makeColorObj = function (t) { var e = {}; if ("#" === t[0]) { var r = /^#?([a-f\d]{1,2})([a-f\d]{1,2})([a-f\d]{1,2})$/i.exec(t); if (r) { var i = 2 === r[1].length ? r[1] : r[1] + r[1], s = 2 === r[2].length ? r[2] : r[2] + r[2], n = 2 === r[3].length ? r[3] : r[3] + r[3]; e = {r: parseInt(i, 16), g: parseInt(s, 16), b: parseInt(n, 16), a: 1} } } if ("#" !== t[0]) { var o = "r" === t[0] && "g" === t[1] && "b" === t[2], a = void 0; o && (a = t), o || (this._shortColors[t] ? a = this._shortColors[t] : (m.div.style.color = t, a = m.computedStyle(m.div).color)); var p = "^rgba?\\((\\d{1,3}),\\s?(\\d{1,3}),", u = "\\s?(\\d{1,3}),?\\s?(\\d{1}|0?\\.\\d{1,})?\\)$", r = new RegExp(p + u, "gi").exec(a), l = parseFloat(r[4] || 1); r && (e = { r: parseInt(r[1], 10), g: parseInt(r[2], 10), b: parseInt(r[3], 10), a: null == l || isNaN(l) ? 1 : l }) } return e }, t.prototype._strToArr = function (t) { var e = []; return "number" != typeof t || isNaN(t) ? (t.trim().split(/\s+/gim).forEach(function (t) { e.push(m.parseUnit(m.parseIfRand(t))) }), e) : (e.push(m.parseUnit(t)), e) }, t }(); e["default"] = S }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(18), n = i(s), o = r(23), a = i(o), p = r(19), u = i(p), l = function () { function t() { var e = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0]; a["default"](this, t), this._o = e, this._index = this._o.index || 0, this._arrayPropertyMap = { strokeDashoffset: 1, strokeDasharray: 1, origin: 1 }, this._skipPropsDelta = { timeline: 1, prevChainModule: 1, callbacksContext: 1 }, this._declareDefaults(), this._extendDefaults(), this._vars(), this._render() } return t.prototype._declareDefaults = function () { this._defaults = {} }, t.prototype._vars = function () { this._progress = 0, this._strokeDasharrayBuffer = [] }, t.prototype._render = function () { }, t.prototype._setProp = function (t, e) { if ("object" === ("undefined" == typeof t ? "undefined" : n["default"](t))) for (var r in t) this._assignProp(r, t[r]); else this._assignProp(t, e) }, t.prototype._assignProp = function (t, e) { this._props[t] = e }, t.prototype._show = function () { var t = this._props; this.el && (t.isSoftHide ? this._showByTransform() : this.el.style.display = "block", this._isShown = !0) }, t.prototype._hide = function () { this.el && (this._props.isSoftHide ? u["default"].setPrefixedStyle(this.el, "transform", "scale(0)") : this.el.style.display = "none", this._isShown = !1) }, t.prototype._showByTransform = function () { }, t.prototype._parseOptionString = function (t) { return "string" == typeof t && t.match(/stagger/) && (t = u["default"].parseStagger(t, this._index)), "string" == typeof t && t.match(/rand/) && (t = u["default"].parseRand(t)), t }, t.prototype._parsePositionOption = function (t, e) { return u["default"].unitOptionMap[t] && (e = u["default"].parseUnit(e).string), e }, t.prototype._parseStrokeDashOption = function (t, e) { var r = e; if (this._arrayPropertyMap[t]) { var r = []; switch ("undefined" == typeof e ? "undefined" : n["default"](e)) { case"number": r.push(u["default"].parseUnit(e)); break; case"string": for (var i = e.split(" "), s = 0; s < i.length; s++) r.push(u["default"].parseUnit(i[s])) } } return r }, t.prototype._isDelta = function (t) { var e = u["default"].isObject(t); return e = e && !t.unit, !(!e || u["default"].isArray(t) || u["default"].isDOM(t)) }, t.prototype._getDelta = function (t, e) { var r; if ("left" !== t && "top" !== t || this._o.ctx || u["default"].warn("Consider to animate x/y properties instead of left/top,\n as it would be much more performant", e), !this._skipPropsDelta || !this._skipPropsDelta[t]) { r = u["default"].parseDelta(t, e, this._index), null != r.type && (this._deltas[t] = r); var i = "object" === n["default"](r.end) ? 0 === r.end.value ? 0 : r.end.string : r.end; this._props[t] = i } }, t.prototype._extendDefaults = function () { this._props = {}, this._deltas = {}; for (var t in this._defaults) { var e = null != this._o[t] ? this._o[t] : this._defaults[t]; this._parseOption(t, e) } }, t.prototype._tuneNewOptions = function (t) { this._hide(); for (var e in t) t && delete this._deltas[e], this._o[e] = t[e], this._parseOption(e, t[e]) }, t.prototype._parseOption = function (t, e) { if (this._isDelta(e) && !this._skipPropsDelta[t]) { this._getDelta(t, e); var r = u["default"].getDeltaEnd(e); return this._assignProp(t, this._parseProperty(t, r)) } this._assignProp(t, this._parseProperty(t, e)) }, t.prototype._parsePreArrayProperty = function (t, e) { return e = this._parseOptionString(e), this._parsePositionOption(t, e) }, t.prototype._parseProperty = function (t, e) { return "parent" === t ? u["default"].parseEl(e) : (e = this._parsePreArrayProperty(t, e), this._parseStrokeDashOption(t, e)) }, t.prototype._parseDeltaValues = function (t, e) { var r = {}; for (var i in e) { var s = e[i], n = this._parsePreArrayProperty(t, s); r[this._parsePreArrayProperty(t, i)] = n; } return r }, t.prototype._preparsePropValue = function (t, e) { return this._isDelta(e) ? this._parseDeltaValues(t, e) : this._parsePreArrayProperty(t, e) }, t.prototype._calcCurrentProps = function (t, e) { for (var r in this._deltas) { var i = this._deltas[r], s = !!i.curve, n = null == i.easing || s ? t : i.easing(e); if ("array" === i.type) { var o; u["default"].isArray(this._props[r]) ? (o = this._props[r], o.length = 0) : o = []; for (var a = s ? i.curve(e) : null, p = 0; p < i.delta.length; p++) { var l = i.delta[p], h = s ? a * (i.start[p].value + e * l.value) : i.start[p].value + n * l.value; o.push({string: "" + h + l.unit, value: h, unit: l.unit}) } this._props[r] = o } else if ("number" === i.type) this._props[r] = s ? i.curve(e) * (i.start + e * i.delta) : i.start + n * i.delta; else if ("unit" === i.type) { var c = s ? i.curve(e) * (i.start.value + e * i.delta) : i.start.value + n * i.delta; this._props[r] = "" + c + i.end.unit } else if ("color" === i.type) { var f, d, _, y; if (s) { var m = i.curve(e); f = parseInt(m * (i.start.r + e * i.delta.r), 10), d = parseInt(m * (i.start.g + e * i.delta.g), 10), _ = parseInt(m * (i.start.b + e * i.delta.b), 10), y = parseFloat(m * (i.start.a + e * i.delta.a)) } else f = parseInt(i.start.r + n * i.delta.r, 10), d = parseInt(i.start.g + n * i.delta.g, 10), _ = parseInt(i.start.b + n * i.delta.b, 10), y = parseFloat(i.start.a + n * i.delta.a); this._props[r] = "rgba(" + f + "," + d + "," + _ + "," + y + ")" } } }, t.prototype._setProgress = function (t, e) { this._progress = t, this._calcCurrentProps(t, e) }, t }(); e["default"] = l }, function (t, e, r) { t.exports = function (t) { return t.webpackPolyfill || (t.deprecate = function () { }, t.paths = [], t.children = [], t.webpackPolyfill = 1), t } }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } var s = "function" == typeof _Symbol && "symbol" == typeof _Symbol$iterator ? function (t) { return typeof t } : function (t) { return t && "function" == typeof _Symbol && t.constructor === _Symbol ? "symbol" : typeof t }; e.__esModule = !0; var n = r(32), o = i(n), a = r(33), p = i(a); e["default"] = "function" == typeof p["default"] && "symbol" === s(o["default"]) ? function (t) { return "undefined" == typeof t ? "undefined" : s(t) } : function (t) { return t && "function" == typeof p["default"] && t.constructor === p["default"] ? "symbol" : "undefined" == typeof t ? "undefined" : s(t) } }, function (t, e, r) { var i, s; i = function () { function t() { this.vars() } return t.prototype.NS = "http://www.w3.org/2000/svg", t.prototype.logBadgeCss = "background:#3A0839;color:#FF512F;border-radius:5px; padding: 1px 5px 2px; border: 1px solid #FF512F;", t.prototype.shortColors = { transparent: "rgba(0,0,0,0)", none: "rgba(0,0,0,0)", aqua: "rgb(0,255,255)", black: "rgb(0,0,0)", blue: "rgb(0,0,255)", fuchsia: "rgb(255,0,255)", gray: "rgb(128,128,128)", green: "rgb(0,128,0)", lime: "rgb(0,255,0)", maroon: "rgb(128,0,0)", navy: "rgb(0,0,128)", olive: "rgb(128,128,0)", purple: "rgb(128,0,128)", red: "rgb(255,0,0)", silver: "rgb(192,192,192)", teal: "rgb(0,128,128)", white: "rgb(255,255,255)", yellow: "rgb(255,255,0)", orange: "rgb(255,128,0)" }, t.prototype.chainOptionMap = {}, t.prototype.callbacksMap = { onRefresh: 1, onStart: 1, onComplete: 1, onFirstUpdate: 1, onUpdate: 1, onProgress: 1, onRepeatStart: 1, onRepeatComplete: 1, onPlaybackStart: 1, onPlaybackPause: 1, onPlaybackStop: 1, onPlaybackComplete: 1 }, t.prototype.tweenOptionMap = { duration: 1, delay: 1, speed: 1, repeat: 1, easing: 1, backwardEasing: 1, isYoyo: 1, shiftTime: 1, isReversed: 1, callbacksContext: 1 }, t.prototype.unitOptionMap = { left: 1, top: 1, x: 1, y: 1, rx: 1, ry: 1 }, t.prototype.RAD_TO_DEG = 180 / Math.PI, t.prototype.vars = function () { var t; return this.prefix = this.getPrefix(), this.getRemBase(), this.isFF = "moz" === this.prefix.lowercase, this.isIE = "ms" === this.prefix.lowercase, t = navigator.userAgent, this.isOldOpera = t.match(/presto/gim), this.isSafari = t.indexOf("Safari") > -1, this.isChrome = t.indexOf("Chrome") > -1, this.isOpera = t.toLowerCase().indexOf("op") > -1, this.isChrome && this.isSafari && (this.isSafari = !1), t.match(/PhantomJS/gim) && (this.isSafari = !1), this.isChrome && this.isOpera && (this.isChrome = !1), this.is3d = this.checkIf3d(), this.uniqIDs = -1, this.div = document.createElement("div"), document.body.appendChild(this.div), this.defaultStyles = this.computedStyle(this.div) }, t.prototype.cloneObj = function (t, e) { var r, i, s, n; for (s = Object.keys(t), n = {}, r = s.length; r--;) i = s[r], null != e ? e[i] || (n[i] = t[i]) : n[i] = t[i]; return n }, t.prototype.extend = function (t, e) { var r, i; for (r in e) i = e[r], null == t[r] && (t[r] = e[r]); return t }, t.prototype.getRemBase = function () { var t, e; return t = document.querySelector("html"), e = getComputedStyle(t), this.remBase = parseFloat(e.fontSize) }, t.prototype.clamp = function (t, e, r) { return e > t ? e : t > r ? r : t }, t.prototype.setPrefixedStyle = function (t, e, r) { return "transform" === e && (t.style["" + this.prefix.css + e] = r), t.style[e] = r }, t.prototype.style = function (t, e, r) { var i, s, n, o; if ("object" == typeof e) { for (s = Object.keys(e), n = s.length, o = []; n--;) i = s[n], r = e[i], o.push(this.setPrefixedStyle(t, i, r)); return o } return this.setPrefixedStyle(t, e, r) }, t.prototype.prepareForLog = function (t) { return t = Array.prototype.slice.apply(t), t.unshift("::"), t.unshift(this.logBadgeCss), t.unshift("%cmoยทjs%c"), t }, t.prototype.log = function () { return mojs.isDebug !== !1 ? console.log.apply(console, this.prepareForLog(arguments)) : void 0 }, t.prototype.warn = function () { return mojs.isDebug !== !1 ? console.warn.apply(console, this.prepareForLog(arguments)) : void 0 }, t.prototype.error = function () { return mojs.isDebug !== !1 ? console.error.apply(console, this.prepareForLog(arguments)) : void 0 }, t.prototype.parseUnit = function (t) { var e, r, i, s, n, o; return "number" == typeof t ? n = { unit: "px", isStrict: !1, value: t, string: 0 === t ? "" + t : t + "px" } : "string" == typeof t ? (s = /px|%|rem|em|ex|cm|ch|mm|in|pt|pc|vh|vw|vmin|deg/gim, o = null != (i = t.match(s)) ? i[0] : void 0, r = !0, o || (o = "px", r = !1), e = parseFloat(t), n = { unit: o, isStrict: r, value: e, string: 0 === e ? "" + e : "" + e + o }) : t }, t.prototype.bind = function (t, e) { var r, i; return i = function () { var i, s; return i = Array.prototype.slice.call(arguments), s = r.concat(i), t.apply(e, s) }, r = Array.prototype.slice.call(arguments, 2), i }, t.prototype.getRadialPoint = function (t) { var e, r, i, s; return null == t && (t = {}), r = .017453292519943295 * (t.angle - 90), i = null != t.radiusX ? t.radiusX : t.radius, s = null != t.radiusY ? t.radiusY : t.radius, e = { x: t.center.x + Math.cos(r) * i, y: t.center.y + Math.sin(r) * s } }, t.prototype.getPrefix = function () { var t, e, r, i; return r = window.getComputedStyle(document.documentElement, ""), i = Array.prototype.slice.call(r).join("").match(/-(moz|webkit|ms)-/), e = (i || "" === r.OLink && ["", "o"])[1], t = "WebKit|Moz|MS|O".match(new RegExp("(" + e + ")", "i"))[1], { dom: t, lowercase: e, css: "-" + e + "-", js: e[0].toUpperCase() + e.substr(1) } }, t.prototype.strToArr = function (t) { var e; return e = [], "number" != typeof t || isNaN(t) ? (t.trim().split(/\s+/gim).forEach(function (t) { return function (r) { return e.push(t.parseUnit(t.parseIfRand(r))) } }(this)), e) : (e.push(this.parseUnit(t)), e) }, t.prototype.calcArrDelta = function (t, e) { var r, i, s, n, o; for (r = [], i = s = 0, n = t.length; n > s; i = ++s) o = t[i], r[i] = this.parseUnit("" + (e[i].value - t[i].value) + e[i].unit); return r }, t.prototype.isArray = function (t) { return t instanceof Array }, t.prototype.normDashArrays = function (t, e) { var r, i, s, n, o, a, p, u, l, h; if (r = t.length, i = e.length, r > i) for (p = r - i, h = e.length, n = o = 0, u = p; u >= 0 ? u > o : o > u; n = u >= 0 ? ++o : --o) s = n + h, e.push(this.parseUnit("0" + t[s].unit)); else if (i > r) for (p = i - r, h = t.length, n = a = 0, l = p; l >= 0 ? l > a : a > l; n = l >= 0 ? ++a : --a) s = n + h, t.push(this.parseUnit("0" + e[s].unit)); return [t, e] }, t.prototype.makeColorObj = function (t) { var e, r, i, s, n, o, a, p, u, l; return "#" === t[0] && (u = /^#?([a-f\d]{1,2})([a-f\d]{1,2})([a-f\d]{1,2})$/i.exec(t), i = {}, u && (o = 2 === u[1].length ? u[1] : u[1] + u[1], s = 2 === u[2].length ? u[2] : u[2] + u[2], r = 2 === u[3].length ? u[3] : u[3] + u[3], i = { r: parseInt(o, 16), g: parseInt(s, 16), b: parseInt(r, 16), a: 1 })), "#" !== t[0] && (n = "r" === t[0] && "g" === t[1] && "b" === t[2], n && (l = t), n || (l = this.shortColors[t] ? this.shortColors[t] : (this.div.style.color = t, this.computedStyle(this.div).color)), a = "^rgba?\\((\\d{1,3}),\\s?(\\d{1,3}),", p = "\\s?(\\d{1,3}),?\\s?(\\d{1}|0?\\.\\d{1,})?\\)$", u = new RegExp(a + p, "gi").exec(l), i = {}, e = parseFloat(u[4] || 1), u && (i = { r: parseInt(u[1], 10), g: parseInt(u[2], 10), b: parseInt(u[3], 10), a: null == e || isNaN(e) ? 1 : e })), i }, t.prototype.computedStyle = function (t) { return getComputedStyle(t) }, t.prototype.capitalize = function (t) { if ("string" != typeof t) throw Error("String expected - nothing to capitalize"); return t.charAt(0).toUpperCase() + t.substring(1) }, t.prototype.parseRand = function (t) { var e, r, i; return r = t.split(/rand\(|\,|\)/), i = this.parseUnit(r[2]), e = this.rand(parseFloat(r[1]), parseFloat(r[2])), i.unit && r[2].match(i.unit) ? e + i.unit : e }, t.prototype.parseStagger = function (t, e) { var r, i, s, n, o, a; return a = t.split(/stagger\(|\)$/)[1].toLowerCase(), s = a.split(/(rand\(.*?\)|[^\(,\s]+)(?=\s*,|\s*$)/gim), a = s.length > 3 ? (r = this.parseUnit(this.parseIfRand(s[1])), s[3]) : (r = this.parseUnit(0), s[1]), a = this.parseIfRand(a), o = this.parseUnit(a), i = e * o.value + r.value, n = r.isStrict ? r.unit : o.isStrict ? o.unit : "", n ? "" + i + n : i }, t.prototype.parseIfStagger = function (t, e) { return "string" == typeof t && t.match(/stagger/g) ? this.parseStagger(t, e) : t }, t.prototype.parseIfRand = function (t) { return "string" == typeof t && t.match(/rand\(/) ? this.parseRand(t) : t }, t.prototype.parseDelta = function (t, e, r) { var i, s, n, o, a, p, u, l, h, c, f, d; if (e = this.cloneObj(e), n = e.easing, null != n && (n = mojs.easing.parseEasing(n)), delete e.easing, i = e.curve, null != i && (i = mojs.easing.parseEasing(i)), delete e.curve, c = Object.keys(e)[0], o = e[c], s = {start: c}, !isNaN(parseFloat(c)) || c.match(/rand\(/) || c.match(/stagger\(/)) if ("strokeDasharray" === t || "strokeDashoffset" === t || "origin" === t) { for (f = this.strToArr(c), a = this.strToArr(o), this.normDashArrays(f, a), u = l = 0, h = f.length; h > l; u = ++l) c = f[u], o = a[u], this.mergeUnits(c, o, t); s = {type: "array", name: t, start: f, end: a, delta: this.calcArrDelta(f, a), easing: n, curve: i} } else this.callbacksMap[t] || this.tweenOptionMap[t] || (this.unitOptionMap[t] ? (o = this.parseUnit(this.parseStringOption(o, r)), c = this.parseUnit(this.parseStringOption(c, r)), this.mergeUnits(c, o, t), s = { type: "unit", name: t, start: c, end: o, delta: o.value - c.value, easing: n, curve: i }) : (o = parseFloat(this.parseStringOption(o, r)), c = parseFloat(this.parseStringOption(c, r)), s = { type: "number", name: t, start: c, end: o, delta: o - c, easing: n, curve: i })); else { if ("strokeLinecap" === t) return this.warn("Sorry, stroke-linecap property is not animatable yet, using the start(" + c + ") value instead", e), s; d = this.makeColorObj(c), p = this.makeColorObj(o), s = { type: "color", name: t, start: d, end: p, easing: n, curve: i, delta: {r: p.r - d.r, g: p.g - d.g, b: p.b - d.b, a: p.a - d.a} } } return s }, t.prototype.mergeUnits = function (t, e, r) { return !e.isStrict && t.isStrict ? (e.unit = t.unit, e.string = "" + e.value + e.unit) : e.isStrict && !t.isStrict ? (t.unit = e.unit, t.string = "" + t.value + t.unit) : e.isStrict && t.isStrict && e.unit !== t.unit ? (t.unit = e.unit, t.string = "" + t.value + t.unit, this.warn('Two different units were specified on "' + r + '" delta property, mo ยท js will fallback to end "' + e.unit + '" unit ')) : void 0 }, t.prototype.rand = function (t, e) { return Math.random() * (e - t) + t }, t.prototype.isDOM = function (t) { var e; return null == t ? !1 : (e = "number" == typeof t.nodeType && "string" == typeof t.nodeName, "object" == typeof t && e) }, t.prototype.getChildElements = function (t) { var e, r, i; for (e = t.childNodes, r = [], i = e.length; i--;) 1 === e[i].nodeType && r.unshift(e[i]); return r }, t.prototype.delta = function (t, e) { var r, i, s, n, o; return n = typeof t, o = typeof e, r = "string" === n || "number" === n && !isNaN(t), i = "string" === o || "number" === o && !isNaN(e), r && i ? (s = {}, s[t] = e, s) : void this.error("delta method expects Strings or Numbers at input but got - " + t + ", " + e) }, t.prototype.getUniqID = function () { return ++this.uniqIDs }, t.prototype.parsePath = function (t) { var e; return "string" == typeof t ? "m" === t.charAt(0).toLowerCase() ? (e = document.createElementNS(this.NS, "path"), e.setAttributeNS(null, "d", t), e) : document.querySelector(t) : t.style ? t : void 0 }, t.prototype.closeEnough = function (t, e, r) { return Math.abs(t - e) < r }, t.prototype.checkIf3d = function () { var t, e, r, i; return t = document.createElement("div"), this.style(t, "transform", "translateZ(0)"), r = t.style, e = this.prefix.css + "transform", i = null != r[e] ? r[e] : r.transform, "" !== i }, t.prototype.isObject = function (t) { return null !== t && "object" == typeof t }, t.prototype.getDeltaEnd = function (t) { var e; return e = Object.keys(t)[0], t[e] }, t.prototype.getDeltaStart = function (t) { var e; return e = Object.keys(t)[0] }, t.prototype.isTweenProp = function (t) { return this.tweenOptionMap[t] || this.callbacksMap[t] }, t.prototype.parseStringOption = function (t, e) { return null == e && (e = 0), "string" == typeof t && (t = this.parseIfStagger(t, e), t = this.parseIfRand(t)), t }, t.prototype.getLastItem = function (t) { return t[t.length - 1] }, t.prototype.parseEl = function (t) { return s.isDOM(t) ? t : ("string" == typeof t && (t = document.querySelector(t)), null === t && s.error("Can't parse HTML element: ", t), t) }, t.prototype.force3d = function (t) { return this.setPrefixedStyle(t, "backface-visibility", "hidden"), t }, t.prototype.isDelta = function (t) { var e; return e = this.isObject(t), e = e && !t.unit, !(!e || this.isArray(t) || this.isDOM(t)) }, t }(), s = new i, t.exports = s }, function (t, e, r) { var i, s, n, o, a, p, u, l, h, c, f, d; i = r(26)["default"] || r(26), p = r(36)["default"] || r(36), n = r(37), l = r(38), f = r(39), c = r(35), h = r(40), o = r(41), a = r(42)["default"] || r(42), u = r(43), d = r(19), s = function () { function t() { this.addShape = d.bind(this.addShape, this) } return t.prototype.bit = i, t.prototype.custom = p, t.prototype.circle = n, t.prototype.line = l, t.prototype.zigzag = f, t.prototype.rect = c, t.prototype.polygon = h, t.prototype.cross = o, t.prototype.equal = u, t.prototype.curve = a, t.prototype.getShape = function (t) { return this[t] || d.error('no "' + t + '" shape available yet, please choose from this list:', ["circle", "line", "zigzag", "rect", "polygon", "cross", "equal", "curve"]) }, t.prototype.addShape = function (t, e) { return this[t] = e }, t }(), t.exports = new s }, function (t, e, r) { var i, s, n, o, a, p = function (t, e) { return function () { return t.apply(e, arguments) } }; o = r(19), a = r(34), n = r(8)["default"], s = r(9)["default"], i = function () { function t(t) { this.o = null != t ? t : {}, this.calcHeight = p(this.calcHeight, this), this.vars() || this.createTween() } return t.prototype.defaults = { path: null, curvature: {x: "75%", y: "50%"}, isCompositeLayer: !0, delay: 0, duration: 1e3, easing: null, repeat: 0, yoyo: !1, onStart: null, onComplete: null, onUpdate: null, offsetX: 0, offsetY: 0, angleOffset: null, pathStart: 0, pathEnd: 1, motionBlur: 0, transformOrigin: null, isAngle: !1, isReverse: !1, isRunLess: !1, isPresetPosition: !0 }, t.prototype.vars = function () { return this.getScaler = o.bind(this.getScaler, this), this.resize = a, this.props = o.cloneObj(this.defaults), this.extendOptions(this.o), this.isMotionBlurReset = o.isSafari || o.isIE, this.isMotionBlurReset && (this.props.motionBlur = 0), this.history = [o.cloneObj(this.props)], this.postVars() }, t.prototype.curveToPath = function (t) { var e, r, i, s, n, a, p, u, l, h, c, f, d; return h = document.createElementNS(o.NS, "path"), d = t.start, l = { x: d.x + t.shift.x, y: d.x + t.shift.y }, r = t.curvature, p = t.shift.x, u = t.shift.y, f = Math.sqrt(p * p + u * u), c = f / 100, e = Math.atan(u / p) * (180 / Math.PI) + 90, t.shift.x < 0 && (e += 180), i = o.parseUnit(r.x), i = "%" === i.unit ? i.value * c : i.value, a = o.getRadialPoint({ center: { x: d.x, y: d.y }, radius: i, angle: e }), s = o.parseUnit(r.y), s = "%" === s.unit ? s.value * c : s.value, n = o.getRadialPoint({ center: { x: a.x, y: a.y }, radius: s, angle: e + 90 }), h.setAttribute("d", "M" + d.x + "," + d.y + " Q" + n.x + "," + n.y + " " + l.x + "," + l.y), h }, t.prototype.postVars = function () { return this.props.pathStart = o.clamp(this.props.pathStart, 0, 1), this.props.pathEnd = o.clamp(this.props.pathEnd, this.props.pathStart, 1), this.angle = 0, this.speedX = 0, this.speedY = 0, this.blurX = 0, this.blurY = 0, this.prevCoords = {}, this.blurAmount = 20, this.props.motionBlur = o.clamp(this.props.motionBlur, 0, 1), this.onUpdate = this.props.onUpdate, this.o.el ? (this.el = this.parseEl(this.props.el), this.props.motionBlur > 0 && this.createFilter(), this.path = this.getPath(), this.path.getAttribute("d") ? (this.len = this.path.getTotalLength(), this.slicedLen = this.len * (this.props.pathEnd - this.props.pathStart), this.startLen = this.props.pathStart * this.len, this.fill = this.props.fill, null != this.fill && (this.container = this.parseEl(this.props.fill.container), this.fillRule = this.props.fill.fillRule || "all", this.getScaler(), null != this.container) ? (this.removeEvent(this.container, "onresize", this.getScaler), this.addEvent(this.container, "onresize", this.getScaler)) : void 0) : (o.error("Path has no coordinates to work with, aborting"), !0)) : (o.error('Missed "el" option. It could be a selector, DOMNode or another module.'), !0) }, t.prototype.addEvent = function (t, e, r) { return t.addEventListener(e, r, !1) }, t.prototype.removeEvent = function (t, e, r) { return t.removeEventListener(e, r, !1) }, t.prototype.createFilter = function () { var t, e; return t = document.createElement("div"), this.filterID = "filter-" + o.getUniqID(), t.innerHTML = '', e = t.querySelector("#svg-" + this.filterID), this.filter = e.querySelector("#blur"), this.filterOffset = e.querySelector("#blur-offset"), document.body.insertBefore(e, document.body.firstChild), this.el.style.filter = "url(#" + this.filterID + ")", this.el.style[o.prefix.css + "filter"] = "url(#" + this.filterID + ")" }, t.prototype.parseEl = function (t) { return "string" == typeof t ? document.querySelector(t) : t instanceof HTMLElement ? t : null != t._setProp ? (this.isModule = !0, t) : void 0 }, t.prototype.getPath = function () { var t; return t = o.parsePath(this.props.path), t ? t : this.props.path.x || this.props.path.y ? this.curveToPath({ start: { x: 0, y: 0 }, shift: {x: this.props.path.x || 0, y: this.props.path.y || 0}, curvature: { x: this.props.curvature.x || this.defaults.curvature.x, y: this.props.curvature.y || this.defaults.curvature.y } }) : void 0 }, t.prototype.getScaler = function () { var t, e, r; switch (this.cSize = { width: this.container.offsetWidth || 0, height: this.container.offsetHeight || 0 }, r = this.path.getPointAtLength(0), t = this.path.getPointAtLength(this.len), e = {}, this.scaler = {}, e.width = t.x >= r.x ? t.x - r.x : r.x - t.x, e.height = t.y >= r.y ? t.y - r.y : r.y - t.y, this.fillRule) { case"all": return this.calcWidth(e), this.calcHeight(e); case"width": return this.calcWidth(e), this.scaler.y = this.scaler.x; case"height": return this.calcHeight(e), this.scaler.x = this.scaler.y } }, t.prototype.calcWidth = function (t) { return this.scaler.x = this.cSize.width / t.width, !isFinite(this.scaler.x) && (this.scaler.x = 1) }, t.prototype.calcHeight = function (t) { return this.scaler.y = this.cSize.height / t.height, !isFinite(this.scaler.y) && (this.scaler.y = 1) }, t.prototype.run = function (t) { var e, r, i; if (t) { e = this.history[0]; for (r in t) i = t[r], o.callbacksMap[r] || o.tweenOptionMap[r] ? (o.warn('the property "' + r + '" property can not be overridden on run yet'), delete t[r]) : this.history[0][r] = i; this.tuneOptions(t) } return this.startTween() }, t.prototype.createTween = function () { return this.tween = new n({ duration: this.props.duration, delay: this.props.delay, yoyo: this.props.yoyo, repeat: this.props.repeat, easing: this.props.easing, onStart: function (t) { return function () { var e; return null != (e = t.props.onStart) ? e.apply(t) : void 0 } }(this), onComplete: function (t) { return function () { var e; return t.props.motionBlur && t.setBlur({ blur: {x: 0, y: 0}, offset: {x: 0, y: 0} }), null != (e = t.props.onComplete) ? e.apply(t) : void 0 } }(this), onUpdate: function (t) { return function (e) { return t.setProgress(e) } }(this), onFirstUpdate: function (t) { return function (e, r) { return e ? void 0 : t.history.length > 1 && t.tuneOptions(t.history[0]) } }(this) }), this.timeline = new s, this.timeline.add(this.tween), !this.props.isRunLess && this.startTween(), this.props.isPresetPosition && this.setProgress(0, !0) }, t.prototype.startTween = function () { return setTimeout(function (t) { return function () { var e; return null != (e = t.timeline) ? e.play() : void 0 } }(this), 1) }, t.prototype.setProgress = function (t, e) { var r, i, s, n; return r = this.startLen + (this.props.isReverse ? (1 - t) * this.slicedLen : t * this.slicedLen), i = this.path.getPointAtLength(r), s = i.x + this.props.offsetX, n = i.y + this.props.offsetY, this._getCurrentAngle(i, r, t), this._setTransformOrigin(t), this._setTransform(s, n, t, e), this.props.motionBlur && this.makeMotionBlur(s, n) }, t.prototype.setElPosition = function (t, e, r) { var i, s, n, a; return n = 0 !== this.angle ? "rotate(" + this.angle + "deg)" : "", s = this.props.isCompositeLayer && o.is3d, i = s ? "translateZ(0)" : "", a = "translate(" + t + "px," + e + "px) " + n + " " + i, o.setPrefixedStyle(this.el, "transform", a) }, t.prototype.setModulePosition = function (t, e) { return this.el._setProp({shiftX: t + "px", shiftY: e + "px", angle: this.angle}), this.el._draw() }, t.prototype._getCurrentAngle = function (t, e, r) { var i, s, n, a, p; return s = "function" == typeof this.props.transformOrigin, this.props.isAngle || null != this.props.angleOffset || s ? (n = this.path.getPointAtLength(e - 1), a = t.y - n.y, p = t.x - n.x, i = Math.atan(a / p), !isFinite(i) && (i = 0), this.angle = i * o.RAD_TO_DEG, "function" != typeof this.props.angleOffset ? this.angle += this.props.angleOffset || 0 : this.angle = this.props.angleOffset.call(this, this.angle, r)) : this.angle = 0 }, t.prototype._setTransform = function (t, e, r, i) { var s; return this.scaler && (t *= this.scaler.x, e *= this.scaler.y), s = null, i || (s = "function" == typeof this.onUpdate ? this.onUpdate(r, { x: t, y: e, angle: this.angle }) : void 0), this.isModule ? this.setModulePosition(t, e) : "string" != typeof s ? this.setElPosition(t, e, r) : o.setPrefixedStyle(this.el, "transform", s) }, t.prototype._setTransformOrigin = function (t) { var e, r; return this.props.transformOrigin ? (e = "function" == typeof this.props.transformOrigin, r = e ? this.props.transformOrigin(this.angle, t) : this.props.transformOrigin, o.setPrefixedStyle(this.el, "transform-origin", r)) : void 0 }, t.prototype.makeMotionBlur = function (t, e) { var r, i, s, n, a, p, u; return u = 0, a = 1, p = 1, null == this.prevCoords.x || null == this.prevCoords.y ? (this.speedX = 0, this.speedY = 0) : (s = t - this.prevCoords.x, n = e - this.prevCoords.y, s > 0 && (a = -1), 0 > a && (p = -1), this.speedX = Math.abs(s), this.speedY = Math.abs(n), u = Math.atan(n / s) * (180 / Math.PI) + 90), r = u - this.angle, i = this.angToCoords(r), this.blurX = o.clamp(this.speedX / 16 * this.props.motionBlur, 0, 1), this.blurY = o.clamp(this.speedY / 16 * this.props.motionBlur, 0, 1), this.setBlur({ blur: { x: 3 * this.blurX * this.blurAmount * Math.abs(i.x), y: 3 * this.blurY * this.blurAmount * Math.abs(i.y) }, offset: { x: 3 * a * this.blurX * i.x * this.blurAmount, y: 3 * p * this.blurY * i.y * this.blurAmount } }), this.prevCoords.x = t, this.prevCoords.y = e }, t.prototype.setBlur = function (t) { return this.isMotionBlurReset ? void 0 : (this.filter.setAttribute("stdDeviation", t.blur.x + "," + t.blur.y), this.filterOffset.setAttribute("dx", t.offset.x), this.filterOffset.setAttribute("dy", t.offset.y)) }, t.prototype.extendDefaults = function (t) { var e, r, i; r = []; for (e in t) i = t[e], r.push(this[e] = i); return r }, t.prototype.extendOptions = function (t) { var e, r, i; r = []; for (e in t) i = t[e], r.push(this.props[e] = i); return r }, t.prototype.then = function (t) { var e, r, i, s, a; s = this.history[this.history.length - 1], i = {}; for (r in s) a = s[r], !o.callbacksMap[r] && !o.tweenOptionMap[r] || "duration" === r ? null == t[r] && (t[r] = a) : null == t[r] && (t[r] = void 0), o.tweenOptionMap[r] && (i[r] = "duration" !== r ? t[r] : null != t[r] ? t[r] : s[r]); return this.history.push(t), e = this, i.onUpdate = function (t) { return function (e) { return t.setProgress(e) } }(this), i.onStart = function (t) { return function () { var e; return null != (e = t.props.onStart) ? e.apply(t) : void 0 } }(this), i.onComplete = function (t) { return function () { var e; return null != (e = t.props.onComplete) ? e.apply(t) : void 0 } }(this), i.onFirstUpdate = function () { return e.tuneOptions(e.history[this.index]) }, i.isChained = !t.delay, this.timeline.append(new n(i)), this }, t.prototype.tuneOptions = function (t) { return this.extendOptions(t), this.postVars() }, t.prototype.angToCoords = function (t) { var e, r, i; return t %= 360, e = (t - 90) * Math.PI / 180, r = Math.cos(e), i = Math.sin(e), r = 0 > r ? Math.max(r, -.7) : Math.min(r, .7), i = 0 > i ? Math.max(i, -.7) : Math.min(i, .7), { x: 1.428571429 * r, y: 1.428571429 * i } }, t }(), t.exports = i }, function (t, e, r) { var i, s, n, o, a, p, u, l, h; a = r(44), n = r(45), l = r(46), u = r(19), o = r(47)["default"] || r(47), h = Math.sin, s = Math.PI, i = function () { function t() { } return t.prototype.bezier = a, t.prototype.PathEasing = n, t.prototype.path = new n("creator").create, t.prototype.approximate = o, t.prototype.inverse = function (t) { return 1 - t }, t.prototype.linear = { none: function (t) { return t } }, t.prototype.ease = { "in": a.apply(t, [.42, 0, 1, 1]), out: a.apply(t, [0, 0, .58, 1]), inout: a.apply(t, [.42, 0, .58, 1]) }, t.prototype.sin = { "in": function (t) { return 1 - Math.cos(t * s / 2) }, out: function (t) { return h(t * s / 2) }, inout: function (t) { return .5 * (1 - Math.cos(s * t)) } }, t.prototype.quad = { "in": function (t) { return t * t }, out: function (t) { return t * (2 - t) }, inout: function (t) { return (t *= 2) < 1 ? .5 * t * t : -.5 * (--t * (t - 2) - 1) } }, t.prototype.cubic = { "in": function (t) { return t * t * t }, out: function (t) { return --t * t * t + 1 }, inout: function (t) { return (t *= 2) < 1 ? .5 * t * t * t : .5 * ((t -= 2) * t * t + 2) } }, t.prototype.quart = { "in": function (t) { return t * t * t * t }, out: function (t) { return 1 - --t * t * t * t }, inout: function (t) { return (t *= 2) < 1 ? .5 * t * t * t * t : -.5 * ((t -= 2) * t * t * t - 2) } }, t.prototype.quint = { "in": function (t) { return t * t * t * t * t }, out: function (t) { return --t * t * t * t * t + 1 }, inout: function (t) { return (t *= 2) < 1 ? .5 * t * t * t * t * t : .5 * ((t -= 2) * t * t * t * t + 2) } }, t.prototype.expo = { "in": function (t) { return 0 === t ? 0 : Math.pow(1024, t - 1) }, out: function (t) { return 1 === t ? 1 : 1 - Math.pow(2, -10 * t) }, inout: function (t) { return 0 === t ? 0 : 1 === t ? 1 : (t *= 2) < 1 ? .5 * Math.pow(1024, t - 1) : .5 * (-Math.pow(2, -10 * (t - 1)) + 2) } }, t.prototype.circ = { "in": function (t) { return 1 - Math.sqrt(1 - t * t) }, out: function (t) { return Math.sqrt(1 - --t * t) }, inout: function (t) { return (t *= 2) < 1 ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1) } }, t.prototype.back = { "in": function (t) { var e; return e = 1.70158, t * t * ((e + 1) * t - e) }, out: function (t) { var e; return e = 1.70158, --t * t * ((e + 1) * t + e) + 1 }, inout: function (t) { var e; return e = 2.5949095, (t *= 2) < 1 ? .5 * t * t * ((e + 1) * t - e) : .5 * ((t -= 2) * t * ((e + 1) * t + e) + 2) } }, t.prototype.elastic = { "in": function (t) { var e, r, i; return i = void 0, r = .4, 0 === t ? 0 : 1 === t ? 1 : (e = 1, i = r / 4, -(e * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (t - i) * Math.PI / r))) }, out: function (t) { var e, r, i; return i = void 0, r = .4, 0 === t ? 0 : 1 === t ? 1 : (e = 1, i = r / 4, e * Math.pow(2, -10 * t) * Math.sin(2 * (t - i) * Math.PI / r) + 1) }, inout: function (t) { var e, r, i; return i = void 0, r = .4, 0 === t ? 0 : 1 === t ? 1 : (e = 1, i = r / 4, (t *= 2) < 1 ? -.5 * e * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (t - i) * Math.PI / r) : e * Math.pow(2, -10 * (t -= 1)) * Math.sin(2 * (t - i) * Math.PI / r) * .5 + 1) } }, t.prototype.bounce = { "in": function (t) { return 1 - p.bounce.out(1 - t) }, out: function (t) { return 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : 2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375 }, inout: function (t) { return .5 > t ? .5 * p.bounce["in"](2 * t) : .5 * p.bounce.out(2 * t - 1) + .5 } }, t.prototype.parseEasing = function (t) { var e, r; return null == t && (t = "linear.none"), r = typeof t, "string" === r ? "m" === t.charAt(0).toLowerCase() ? this.path(t) : (t = this._splitEasing(t), e = this[t[0]], e ? e[t[1]] : (u.error('Easing with name "' + t[0] + '" was not found, fallback to "linear.none" instead'), this.linear.none)) : u.isArray(t) ? this.bezier.apply(this, t) : t }, t.prototype._splitEasing = function (t) { var e, r, i; return "function" == typeof t ? t : "string" == typeof t && t.length ? (i = t.split("."), e = i[0].toLowerCase() || "linear", r = i[1].toLowerCase() || "none", [e, r]) : ["linear", "none"] }, t }(), p = new i, p.mix = l(p), t.exports = p }, function (t, e, r) { "use strict"; e.__esModule = !0, e["default"] = function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") } }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(18), n = i(s); e["default"] = function (t, e) { if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return !e || "object" !== ("undefined" == typeof e ? "undefined" : n["default"](e)) && "function" != typeof e ? t : e } }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(48), n = i(s), o = r(49), a = i(o), p = r(18), u = i(p); e["default"] = function (t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + ("undefined" == typeof e ? "undefined" : u["default"](e))); t.prototype = a["default"](e && e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } }), e && (n["default"] ? n["default"](t, e) : t.__proto__ = e) } }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(18), n = i(s), o = r(23), a = i(o), p = r(24), u = i(p), l = r(25), h = i(l), c = r(16), f = i(c), d = r(19), _ = i(d), y = function (t) { function e() { return a["default"](this, e), u["default"](this, t.apply(this, arguments)) } return h["default"](e, t), e.prototype._declareDefaults = function () { this._defaults = { ns: "http://www.w3.org/2000/svg", tag: "ellipse", parent: document.body, ratio: 1, radius: 50, radiusX: null, radiusY: null, stroke: "hotpink", "stroke-dasharray": "", "stroke-dashoffset": "", "stroke-linecap": "", "stroke-width": 2, "stroke-opacity": 1, fill: "transparent", "fill-opacity": 1, width: 0, height: 0 }, this._drawMap = ["stroke", "stroke-width", "stroke-opacity", "stroke-dasharray", "fill", "stroke-dashoffset", "stroke-linecap", "fill-opacity", "transform"] }, e.prototype._vars = function () { this._state = {}, this._drawMapLength = this._drawMap.length }, e.prototype._render = function () { this._isRendered || (this._isRendered = !0, this._createSVGCanvas(), this._setCanvasSize(), this._props.parent.appendChild(this._canvas)) }, e.prototype._createSVGCanvas = function () { var t = this._props; this._canvas = document.createElementNS(t.ns, "svg"), this.el = document.createElementNS(t.ns, t.tag), this._canvas.appendChild(this.el) }, e.prototype._setCanvasSize = function () { var t = (this._props, this._canvas.style); t.display = "block", t.width = "100%", t.height = "100%", t.left = "0px", t.top = "0px" }, e.prototype._draw = function () { this._props.length = this._getLength(); for (var t = (this._state, this._props, this._drawMapLength); t--;) { var e = this._drawMap[t]; switch (e) { case"stroke-dasharray": case"stroke-dashoffset": this.castStrokeDash(e) } this._setAttrIfChanged(e, this._props[e]) } this._state.radius = this._props.radius }, e.prototype.castStrokeDash = function (t) { var e = this._props; if (_["default"].isArray(e[t])) { for (var r = "", i = 0; i < e[t].length; i++) { var s = e[t][i], o = "%" === s.unit ? this.castPercent(s.value) : s.value; r += o + " " } return e[t] = "0 " === r ? r = "" : r, e[t] = r } "object" === n["default"](e[t]) && (r = "%" === e[t].unit ? this.castPercent(e[t].value) : e[t].value, e[t] = 0 === r ? r = "" : r) }, e.prototype.castPercent = function (t) { return t * (this._props.length / 100) }, e.prototype._setAttrIfChanged = function (t, e) { this._state[t] !== e && (this.el.setAttribute(t, e), this._state[t] = e) }, e.prototype._getLength = function () { var t = this._props, e = 0, r = !(!this.el || !this.el.getTotalLength); return e = r && this.el.getAttribute("d") ? this.el.getTotalLength() : 2 * (null != t.radiusX ? t.radiusX : t.radius) }, e.prototype._getPointsPerimiter = function (t) { for (var e = 0, r = 1; r < t.length; r++) e += this._pointsDelta(t[r - 1], t[r]); return e += this._pointsDelta(t[0], _["default"].getLastItem(t)) }, e.prototype._pointsDelta = function (t, e) { var r = Math.abs(t.x - e.x), i = Math.abs(t.y - e.y); return Math.sqrt(r * r + i * i) }, e.prototype._setSize = function (t, e) { var r = this._props; r.width = t, r.height = e, this._draw() }, e }(f["default"]); e["default"] = y }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(50), n = i(s); e["default"] = n["default"] || function (t) { for (var e = 1; e < arguments.length; e++) { var r = arguments[e]; for (var i in r) Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]) } return t } }, function (t, e, r) { t.exports = {"default": r(52), __esModule: !0} }, function (t, e, r) { t.exports = {"default": r(51), __esModule: !0} }, function (t, e, r) { !function () { "use strict"; var t, e, r, i, s, n, o; for (s = ["webkit", "moz"], e = 0, o = window; e < s.length && !o.requestAnimationFrame;) n = s[e], o.requestAnimationFrame = o[n + "RequestAnimationFrame"], t = o[n + "CancelAnimationFrame"], o.cancelAnimationFrame = t || o[n + "CancelRequestAnimationFrame"], ++e; r = !o.requestAnimationFrame || !o.cancelAnimationFrame, (/iP(ad|hone|od).*OS 6/.test(o.navigator.userAgent) || r) && (i = 0, o.requestAnimationFrame = function (t) { var e, r; return r = Date.now(), e = Math.max(i + 16, r), setTimeout(function () { t(i = e) }, e - r) }, o.cancelAnimationFrame = clearTimeout) }() }, function (t, e, r) { !function (t) { var e, r, i; return null == t.performance && (t.performance = {}), Date.now = Date.now || function () { return (new Date).getTime() }, null == t.performance.now ? (e = (null != (r = t.performance) && null != (i = r.timing) ? i.navigationStart : void 0) ? performance.timing.navigationStart : Date.now(), t.performance.now = function () { return Date.now() - e }) : void 0 }(window) }, function (t, e, r) { t.exports = {"default": r(1), __esModule: !0} }, function (t, e, r) { t.exports = {"default": r(54), __esModule: !0} }, function (t, e, r) { var i, s; !function () { var r; return r = function () { function t(t) { this.o = null != t ? t : {}, window.isAnyResizeEventInited || (this.vars(), this.redefineProto()) } return t.prototype.vars = function () { return window.isAnyResizeEventInited = !0, this.allowedProtos = [HTMLDivElement, HTMLFormElement, HTMLLinkElement, HTMLBodyElement, HTMLParagraphElement, HTMLFieldSetElement, HTMLLegendElement, HTMLLabelElement, HTMLButtonElement, HTMLUListElement, HTMLOListElement, HTMLLIElement, HTMLHeadingElement, HTMLQuoteElement, HTMLPreElement, HTMLBRElement, HTMLFontElement, HTMLHRElement, HTMLModElement, HTMLParamElement, HTMLMapElement, HTMLTableElement, HTMLTableCaptionElement, HTMLImageElement, HTMLTableCellElement, HTMLSelectElement, HTMLInputElement, HTMLTextAreaElement, HTMLAnchorElement, HTMLObjectElement, HTMLTableColElement, HTMLTableSectionElement, HTMLTableRowElement], this.timerElements = { img: 1, textarea: 1, input: 1, embed: 1, object: 1, svg: 1, canvas: 1, tr: 1, tbody: 1, thead: 1, tfoot: 1, a: 1, select: 1, option: 1, optgroup: 1, dl: 1, dt: 1, br: 1, basefont: 1, font: 1, col: 1, iframe: 1 } }, t.prototype.redefineProto = function () { var t, e, r, i; return e = this, i = function () { var i, s, n, o; for (n = this.allowedProtos, o = [], t = i = 0, s = n.length; s > i; t = ++i) r = n[t], null != r.prototype && o.push(function (t) { var r, i; return r = t.prototype.addEventListener || t.prototype.attachEvent, function (r) { var i; return i = function () { var t; return (this !== window || this !== document) && (t = "onresize" === arguments[0] && !this.isAnyResizeEventInited, t && e.handleResize({ args: arguments, that: this })), r.apply(this, arguments) }, t.prototype.addEventListener ? t.prototype.addEventListener = i : t.prototype.attachEvent ? t.prototype.attachEvent = i : void 0 }(r), i = t.prototype.removeEventListener || t.prototype.detachEvent, function (e) { var r; return r = function () { return this.isAnyResizeEventInited = !1, this.iframe && this.removeChild(this.iframe), e.apply(this, arguments) }, t.prototype.removeEventListener ? t.prototype.removeEventListener = r : t.prototype.detachEvent ? t.prototype.detachEvent = wrappedListener : void 0 }(i) }(r)); return o }.call(this) }, t.prototype.handleResize = function (t) { var e, r, i, s, n, o, a; return r = t.that, this.timerElements[r.tagName.toLowerCase()] ? this.initTimer(r) : (i = document.createElement("iframe"), r.appendChild(i), i.style.width = "100%", i.style.height = "100%", i.style.position = "absolute", i.style.zIndex = -999, i.style.opacity = 0, i.style.top = 0, i.style.left = 0, e = window.getComputedStyle ? getComputedStyle(r) : r.currentStyle, n = "" === r.style.position, o = "static" === e.position && n, s = "" === e.position && "" === r.style.position, (o || s) && (r.style.position = "relative"), null != (a = i.contentWindow) && (a.onresize = function (t) { return function (e) { return t.dispatchEvent(r) } }(this)), r.iframe = i), r.isAnyResizeEventInited = !0 }, t.prototype.initTimer = function (t) { var e, r; return r = 0, e = 0, this.interval = setInterval(function (i) { return function () { var s, n; return n = t.offsetWidth, s = t.offsetHeight, n !== r || s !== e ? (i.dispatchEvent(t), r = n, e = s) : void 0 } }(this), this.o.interval || 62.5) }, t.prototype.dispatchEvent = function (t) { var e; return document.createEvent ? (e = document.createEvent("HTMLEvents"), e.initEvent("onresize", !1, !1), t.dispatchEvent(e)) : document.createEventObject ? (e = document.createEventObject(), t.fireEvent("onresize", e)) : !1 }, t.prototype.destroy = function () { var t, e, r, i, s, n, o; for (clearInterval(this.interval), this.interval = null, window.isAnyResizeEventInited = !1, e = this, n = this.allowedProtos, o = [], t = r = 0, i = n.length; i > r; t = ++r) s = n[t], null != s.prototype && o.push(function (t) { var e; return e = t.prototype.addEventListener || t.prototype.attachEvent, t.prototype.addEventListener ? t.prototype.addEventListener = Element.prototype.addEventListener : t.prototype.attachEvent && (t.prototype.attachEvent = Element.prototype.attachEvent), t.prototype.removeEventListener ? t.prototype.removeEventListener = Element.prototype.removeEventListener : t.prototype.detachEvent ? t.prototype.detachEvent = Element.prototype.detachEvent : void 0 }(s)); return o }, t }(), i = [], s = function () { return new r }.apply(e, i), !(void 0 !== s && (t.exports = s)) }() }, function (t, e, r) { var i, s, n = function (t, e) { function r() { this.constructor = t } for (var i in e) o.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, o = {}.hasOwnProperty; i = r(26)["default"] || r(26), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return n(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.tag = "rect", this._defaults.rx = 0, this._defaults.ry = 0 }, e.prototype._draw = function () { var t, r, i; return e.__super__._draw.apply(this, arguments), t = this._props, r = null != t.radiusX ? t.radiusX : t.radius, i = null != t.radiusY ? t.radiusY : t.radius, this._setAttrIfChanged("width", 2 * r), this._setAttrIfChanged("height", 2 * i), this._setAttrIfChanged("x", t.width / 2 - r), this._setAttrIfChanged("y", t.height / 2 - i), this._setAttrIfChanged("rx", t.rx), this._setAttrIfChanged("ry", t.ry) }, e.prototype._getLength = function () { var t, e; return t = null != this._props.radiusX ? this._props.radiusX : this._props.radius, e = null != this._props.radiusY ? this._props.radiusY : this._props.radius, 2 * (2 * t + 2 * e) }, e }(i), t.exports = s }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(24), a = i(o), p = r(25), u = i(p), l = r(26), h = i(l), c = function (t) { function e() { return n["default"](this, e), a["default"](this, t.apply(this, arguments)) } return u["default"](e, t), e.prototype._declareDefaults = function () { t.prototype._declareDefaults.call(this), this._defaults.tag = "path", this._defaults.parent = null; for (var e = 0; e < this._drawMap.length; e++) "stroke-width" === this._drawMap[e] && this._drawMap.splice(e, 1) }, e.prototype.getShape = function () { return "" }, e.prototype.getLength = function () { return 100 }, e.prototype._draw = function () { var e = this._props, r = this._state, i = r.radiusX !== e.radiusX, s = r.radiusY !== e.radiusY, n = r.radius !== e.radius; (i || s || n) && (this.el.setAttribute("transform", this._getScale()), r.radiusX = e.radiusX, r.radiusY = e.radiusY, r.radius = e.radius), this._setAttrIfChanged("stroke-width", e["stroke-width"] / e.maxScale), t.prototype._draw.call(this) }, e.prototype._render = function () { if (!this._isRendered) { this._isRendered = !0, this._length = this.getLength(); var t = this._props; t.parent.innerHTML = '' + this.getShape() + "", this._canvas = t.parent.querySelector("#js-mojs-shape-canvas"), this.el = t.parent.querySelector("#js-mojs-shape-el"), this._setCanvasSize() } }, e.prototype._getScale = function () { var t = this._props, e = t.radiusX ? t.radiusX : t.radius, r = t.radiusY ? t.radiusY : t.radius; t.scaleX = 2 * e / 100, t.scaleY = 2 * r / 100, t.maxScale = Math.max(t.scaleX, t.scaleY), t.shiftX = t.width / 2 - 50 * t.scaleX, t.shiftY = t.height / 2 - 50 * t.scaleY; var i = "translate(" + t.shiftX + ", " + t.shiftY + ")"; return i + " scale(" + t.scaleX + ", " + t.scaleY + ")" }, e.prototype._getLength = function () { return this._length }, e }(h["default"]); e["default"] = c }, function (t, e, r) { var i, s, n = function (t, e) { function r() { this.constructor = t } for (var i in e) o.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, o = {}.hasOwnProperty; i = r(26)["default"] || r(26), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return n(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.shape = "ellipse" }, e.prototype._draw = function () { var t, r; return t = null != this._props.radiusX ? this._props.radiusX : this._props.radius, r = null != this._props.radiusY ? this._props.radiusY : this._props.radius, this._setAttrIfChanged("rx", t), this._setAttrIfChanged("ry", r), this._setAttrIfChanged("cx", this._props.width / 2), this._setAttrIfChanged("cy", this._props.height / 2), e.__super__._draw.apply(this, arguments) }, e.prototype._getLength = function () { var t, e; return t = null != this._props.radiusX ? this._props.radiusX : this._props.radius, e = null != this._props.radiusY ? this._props.radiusY : this._props.radius, 2 * Math.PI * Math.sqrt((t * t + e * e) / 2) }, e }(i), t.exports = s }, function (t, e, r) { var i, s, n = function (t, e) { function r() { this.constructor = t } for (var i in e) o.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, o = {}.hasOwnProperty; i = r(26)["default"] || r(26), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return n(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.tag = "line" }, e.prototype._draw = function () { var t, r, i; return t = null != this._props.radiusX ? this._props.radiusX : this._props.radius, r = this._props.width / 2, i = this._props.height / 2, this._setAttrIfChanged("x1", r - t), this._setAttrIfChanged("x2", r + t), this._setAttrIfChanged("y1", i), this._setAttrIfChanged("y2", i), e.__super__._draw.apply(this, arguments) }, e }(i), t.exports = s }, function (t, e, r) { var i, s, n = function (t, e) { function r() { this.constructor = t } for (var i in e) o.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, o = {}.hasOwnProperty; i = r(26)["default"] || r(26), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return n(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.tag = "path", this._defaults.points = 3 }, e.prototype._draw = function () { var t, r, i, s, n, o, a, p, u, l, h, c, f, d, _, y, m, g; if (e.__super__._draw.apply(this, arguments), l = this._props, this._props.points && (c = null != this._props.radiusX ? this._props.radiusX : this._props.radius, f = null != this._props.radiusY ? this._props.radiusY : this._props.radius, o = c === this._prevRadiusX, a = f === this._prevRadiusY, n = l.points === this._prevPoints, !(o && a && n))) { for (y = l.width / 2, m = l.height / 2, t = y - c, r = m, _ = 2 * c / (l.points - 1), g = -1, i = Math.sqrt(_ * _ + f * f), u = -i, h = "M" + t + ", " + m + " ", s = p = 0, d = l.points; d >= 0 ? d > p : p > d; s = d >= 0 ? ++p : --p) h += "L" + t + ", " + r + " ", t += _, u += i, r = -1 === g ? m - f : m, g = -g; return this._length = u, this.el.setAttribute("d", h), this._prevPoints = l.points, this._prevRadiusX = c, this._prevRadiusY = f } }, e.prototype._getLength = function () { return this._length }, e }(i), t.exports = s }, function (t, e, r) { var i, s, n, o = function (t, e) { function r() { this.constructor = t } for (var i in e) a.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, a = {}.hasOwnProperty; i = r(26)["default"] || r(26), n = r(19), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return o(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.tag = "path", this._defaults.points = 3 }, e.prototype._draw = function () { var t, r, i, s, o, a, p, u, l, h, c, f, d, _, y, m; if (h = this._props, f = null != this._props.radiusX ? this._props.radiusX : this._props.radius, d = null != this._props.radiusY ? this._props.radiusY : this._props.radius, o = f === this._prevRadiusX, a = d === this._prevRadiusY, s = h.points === this._prevPoints, !(o && a && s)) { for (m = 360 / this._props.points, null == this._radialPoints ? this._radialPoints = [] : this._radialPoints.length = 0, i = p = 0, _ = this._props.points; _ >= 0 ? _ > p : p > _; i = _ >= 0 ? ++p : --p) this._radialPoints.push(n.getRadialPoint({ radius: this._props.radius, radiusX: this._props.radiusX, radiusY: this._props.radiusY, angle: i * m, center: {x: h.width / 2, y: h.height / 2} })); for (r = "", y = this._radialPoints, i = u = 0, l = y.length; l > u; i = ++u) c = y[i], t = 0 === i ? "M" : "L", r += "" + t + c.x.toFixed(4) + "," + c.y.toFixed(4) + " "; this._prevPoints = h.points, this._prevRadiusX = f, this._prevRadiusY = d, this.el.setAttribute("d", r += "z") } return e.__super__._draw.apply(this, arguments) }, e.prototype._getLength = function () { return this._getPointsPerimiter(this._radialPoints) }, e }(i), t.exports = s }, function (t, e, r) { var i, s, n = function (t, e) { function r() { this.constructor = t } for (var i in e) o.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, o = {}.hasOwnProperty; i = r(26)["default"] || r(26), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return n(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.tag = "path" }, e.prototype._draw = function () { var t, r, i, s, n, o, a, p, u, l, h, c, f, d; return e.__super__._draw.apply(this, arguments), o = this._props, a = null != this._props.radiusX ? this._props.radiusX : this._props.radius, p = null != this._props.radiusY ? this._props.radiusY : this._props.radius, r = a === this._prevRadiusX, i = p === this._prevRadiusY, r && i ? void 0 : (u = this._props.width / 2, c = this._props.height / 2, l = u - a, h = u + a, s = "M" + l + "," + c + " L" + h + "," + c, f = c - p, d = c + p, n = "M" + u + "," + f + " L" + u + "," + d, t = s + " " + n, this.el.setAttribute("d", t), this._prevRadiusX = a, this._prevRadiusY = p) }, e.prototype._getLength = function () { var t, e; return t = null != this._props.radiusX ? this._props.radiusX : this._props.radius, e = null != this._props.radiusY ? this._props.radiusY : this._props.radius, 2 * (t + e) }, e }(i), t.exports = s }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(23), n = i(s), o = r(24), a = i(o), p = r(25), u = i(p), l = r(26), h = i(l), c = function (t) { function e() { return n["default"](this, e), a["default"](this, t.apply(this, arguments)) } return u["default"](e, t), e.prototype._declareDefaults = function () { t.prototype._declareDefaults.call(this), this._defaults.tag = "path" }, e.prototype._draw = function () { t.prototype._draw.call(this); var e = this._props, r = null != e.radiusX ? e.radiusX : e.radius, i = null != e.radiusY ? e.radiusY : e.radius, s = r === this._prevRadiusX, n = i === this._prevRadiusY, o = e.points === this._prevPoints; if (!(s && n && o)) { var a = e.width / 2, p = e.height / 2, u = a - r, l = a + r, h = "M" + u + " " + p + " Q " + a + " " + (p - 2 * i) + " " + l + " " + p; this.el.setAttribute("d", h), this._prevPoints = e.points, this._prevRadiusX = r, this._prevRadiusY = i } }, e.prototype._getLength = function () { var t = this._props, e = null != t.radiusX ? t.radiusX : t.radius, r = null != t.radiusY ? t.radiusY : t.radius, i = e + r, s = Math.sqrt((3 * e + r) * (e + 3 * r)); return .5 * Math.PI * (3 * i - s) }, e }(h["default"]); e["default"] = c }, function (t, e, r) { var i, s, n = function (t, e) { function r() { this.constructor = t } for (var i in e) o.call(e, i) && (t[i] = e[i]); return r.prototype = e.prototype, t.prototype = new r, t.__super__ = e.prototype, t }, o = {}.hasOwnProperty; i = r(26)["default"] || r(26), s = function (t) { function e() { return e.__super__.constructor.apply(this, arguments) } return n(e, t), e.prototype._declareDefaults = function () { return e.__super__._declareDefaults.apply(this, arguments), this._defaults.tag = "path", this._defaults.points = 2 }, e.prototype._draw = function () { var t, r, i, s, n, o, a, p, u, l, h, c, f, d, _, y; if (e.__super__._draw.apply(this, arguments), a = this._props, this._props.points && (p = null != this._props.radiusX ? this._props.radiusX : this._props.radius, u = null != this._props.radiusY ? this._props.radiusY : this._props.radius, s = p === this._prevRadiusX, n = u === this._prevRadiusY, i = a.points === this._prevPoints, !(s && n && i))) { for (h = this._props.width / 2, d = this._props.height / 2, c = h - p, f = h + p, t = "", y = 2 * u / (this._props.points - 1), _ = d - u, r = o = 0, l = this._props.points; l >= 0 ? l > o : o > l; r = l >= 0 ? ++o : --o) d = "" + (r * y + _), t += "M" + c + ", " + d + " L" + f + ", " + d + " "; return this.el.setAttribute("d", t), this._prevPoints = a.points, this._prevRadiusX = p, this._prevRadiusY = u } }, e.prototype._getLength = function () { return 2 * (null != this._props.radiusX ? this._props.radiusX : this._props.radius) }, e }(i), t.exports = s }, function (t, e, r) { (function (e) { var i, s, n, o = [].indexOf || function (t) { for (var e = 0, r = this.length; r > e; e++) if (e in this && this[e] === t) return e; return -1 }; n = r(19), i = function () { function t(t) { return this.vars(), this.generate } return t.prototype.vars = function () { return this.generate = n.bind(this.generate, this) }, t.prototype.generate = function (t, r, i, s) { var n, a, p, u, l, h, c, f, d, _, y, m, g, v, w, b, S, P, x, T, M, C, k, D; if (arguments.length < 4) return this.error("Bezier function expects 4 arguments"); for (S = P = 0; 4 > P; S = ++P) if (d = arguments[S], "number" != typeof d || isNaN(d) || !isFinite(d)) return this.error("Bezier function expects 4 arguments"); return 0 > t || t > 1 || 0 > i || i > 1 ? this.error("Bezier x values should be > 0 and < 1") : (u = 4, l = .001, c = 1e-7, h = 10, T = 11, x = 1 / (T - 1), v = o.call(e, "Float32Array") >= 0, n = function (t, e) { return 1 - 3 * e + 3 * t }, a = function (t, e) { return 3 * e - 6 * t }, p = function (t) { return 3 * t }, y = function (t, e, r) { return ((n(e, r) * t + a(e, r)) * t + p(e)) * t }, w = function (t, e, r) { return 3 * n(e, r) * t * t + 2 * a(e, r) * t + p(e) }, C = function (e, r) { var s, n; for (S = 0; u > S;) { if (s = w(r, t, i), 0 === s) return r; n = y(r, t, i) - e, r -= n / s, ++S } return r }, m = function () { for (S = 0; T > S;) M[S] = y(S * x, t, i), ++S }, _ = function (e, r, s) { var n, o, a; for (o = void 0, n = void 0, S = 0; ;) if (n = r + (s - r) / 2, o = y(n, t, i) - e, o > 0 ? s = n : r = n, a = Math.abs(o) > c, !(a && ++S < h)) break; return n }, b = function (e) { var r, s, n, o, a, p, u; for (p = 0, r = 1, u = T - 1; r !== u && M[r] <= e;) p += x, ++r; return --r, s = M[r + 1] - M[r], n = (e - M[r]) / s, o = p + n * x, a = w(o, t, i), a >= l ? C(e, o) : 0 === a ? o : _(e, p, p + x) }, k = function () { var e; return e = !0, t !== r || i !== s ? m() : void 0 }, M = v ? new Float32Array(T) : new Array(T), f = !1, g = function (e) { return f || k(), t === r && i === s ? e : 0 === e ? 0 : 1 === e ? 1 : y(b(e), r, s) }, D = "bezier(" + [t, r, i, s] + ")", g.toStr = function () { return D }, g) }, t.prototype.error = function (t) { return n.error(t) }, t }(), s = new i, t.exports = s }).call(e, function () { return this }()) }, function (t, e, r) { var i, s; s = r(19), i = function () { function t(t, e) { if (this.o = null != e ? e : {}, "creator" !== t) { if (this.path = s.parsePath(t), null == this.path) return s.error("Error while parsing the path"); this._vars(), this.path.setAttribute("d", this._normalizePath(this.path.getAttribute("d"))), this.pathLength = this.path.getTotalLength(), this.sample = s.bind(this.sample, this), this._hardSample = s.bind(this._hardSample, this), this._preSample() } } return t.prototype._vars = function () { return this._precompute = s.clamp(this.o.precompute || 1450, 100, 1e4), this._step = 1 / this._precompute, this._rect = this.o.rect || 100, this._approximateMax = this.o.approximateMax || 5, this._eps = this.o.eps || .001, this._boundsPrevProgress = -1 }, t.prototype._preSample = function () { var t, e, r, i, s, n, o; for (this._samples = [], o = [], t = e = 0, n = this._precompute; n >= 0 ? n >= e : e >= n; t = n >= 0 ? ++e : --e) s = t * this._step, r = this.pathLength * s, i = this.path.getPointAtLength(r), o.push(this._samples[t] = { point: i, length: r, progress: s }); return o }, t.prototype._findBounds = function (t, e) { var r, i, s, n, o, a, p, u, l, h, c, f, d; if (e === this._boundsPrevProgress) return this._prevBounds; for (null == this._boundsStartIndex && (this._boundsStartIndex = 0), a = t.length, this._boundsPrevProgress > e ? (p = 0, i = "reverse") : (p = a, i = "forward"), "forward" === i ? (f = t[0], s = t[t.length - 1]) : (f = t[t.length - 1], s = t[0]), n = o = h = this._boundsStartIndex, c = p; c >= h ? c > o : o > c; n = c >= h ? ++o : --o) { if (d = t[n], l = d.point.x / this._rect, u = e, "reverse" === i && (r = l, l = u, u = r), !(u > l)) { s = d; break } f = d, this._boundsStartIndex = n } return this._boundsPrevProgress = e, this._prevBounds = {start: f, end: s} }, t.prototype.sample = function (t) { var e, r; return t = s.clamp(t, 0, 1), e = this._findBounds(this._samples, t), r = this._checkIfBoundsCloseEnough(t, e), null != r ? r : this._findApproximate(t, e.start, e.end) }, t.prototype._checkIfBoundsCloseEnough = function (t, e) { var r, i; return r = void 0, i = this._checkIfPointCloseEnough(t, e.start.point), null != i ? i : this._checkIfPointCloseEnough(t, e.end.point) }, t.prototype._checkIfPointCloseEnough = function (t, e) { return s.closeEnough(t, e.x / this._rect, this._eps) ? this._resolveY(e) : void 0 }, t.prototype._approximate = function (t, e, r) { var i, s; return i = e.point.x - t.point.x, s = (r - t.point.x / this._rect) / (i / this._rect), t.length + s * (e.length - t.length) }, t.prototype._findApproximate = function (t, e, r, i) { var n, o, a, p, u; return null == i && (i = this._approximateMax), n = this._approximate(e, r, t), p = this.path.getPointAtLength(n), u = p.x / this._rect, s.closeEnough(t, u, this._eps) ? this._resolveY(p) : --i < 1 ? this._resolveY(p) : (a = { point: p, length: n }, o = u > t ? [t, e, a, i] : [t, a, r, i], this._findApproximate.apply(this, o)) }, t.prototype._resolveY = function (t) { return 1 - t.y / this._rect }, t.prototype._normalizePath = function (t) { var e, r, i, s, n, o; return o = /[M|L|H|V|C|S|Q|T|A]/gim, s = t.split(o), s.shift(), e = t.match(o), n = 0, s[n] = this._normalizeSegment(s[n]), r = s.length - 1, s[r] = this._normalizeSegment(s[r], this._rect || 100), i = this._joinNormalizedPath(e, s) }, t.prototype._joinNormalizedPath = function (t, e) { var r, i, s, n, o, a; for (o = "", i = s = 0, n = t.length; n > s; i = ++s) r = t[i], a = 0 === i ? "" : " ", o += "" + a + r + e[i].trim(); return o }, t.prototype._normalizeSegment = function (t, e) { var r, i, s, n, o, a, p, u, l, h; if (null == e && (e = 0), t = t.trim(), o = /(-|\+)?((\d+(\.(\d|\e(-|\+)?)+)?)|(\.?(\d|\e|(\-|\+))+))/gim, a = this._getSegmentPairs(t.match(o)), s = a[a.length - 1], h = s[0], p = Number(h), p !== e) for (t = "", s[0] = e, r = i = 0, n = a.length; n > i; r = ++i) u = a[r], l = 0 === r ? "" : " ", t += "" + l + u[0] + "," + u[1]; return t }, t.prototype._getSegmentPairs = function (t) { var e, r, i, n, o, a; for (t.length % 2 !== 0 && s.error("Failed to parse the path - segment pairs are not even.", t), n = [], e = r = 0, i = t.length; i > r; e = r += 2) a = t[e], o = [t[e], t[e + 1]], n.push(o); return n }, t.prototype.create = function (e, r) { var i; return i = new t(e, r), i.sample.path = i.path, i.sample }, t }(), t.exports = i }, function (t, e, r) { var i, s, n, o, a, p, u = [].slice; s = null, a = function (t) { return "number" == typeof t.value ? t.value : s.parseEasing(t.value) }, p = function (t, e) { var r; return t.value = a(t), e.value = a(e), r = 0, t.to < e.to && (r = -1), t.to > e.to && (r = 1), r }, n = function (t, e) { var r, i, s, n, o; for (i = 0, r = s = 0, n = t.length; n > s && (o = t[r], i = r, !(o.to > e)); r = ++s) ; return i }, o = function () { var t; return t = 1 <= arguments.length ? u.call(arguments, 0) : [], t.length > 1 ? t = t.sort(p) : t[0].value = a(t[0]), function (e) { var r, i; return r = n(t, e), -1 !== r ? (i = t[r].value, r === t.length - 1 && e > t[r].to ? 1 : "function" == typeof i ? i(e) : i) : void 0 } }, i = function (t) { return s = t, o }, t.exports = i }, function (t, e, r) { "use strict"; function i(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var s = r(18), n = i(s), o = r(19), a = (i(o), function (t) { function e(t, e) { e = +e || 0; var r = Math.pow(10, e); return Math.round(t * r) / r } var r = t.base, i = Math.pow(10, r), s = 1 / i, n = function (i) { var n = e(i, r), o = t[n.toString()]; if (Math.abs(i - n) < s) return o; if (i > n) var a = n + s, p = t[a]; else var a = n - s, p = t[a]; var u = a - n, l = p - o; if (s > l) return o; var h = (i - n) / u, c = p > o ? -1 : 1, f = c * h * l; return o + f }; return n.getSamples = function () { return t }, n }), p = function (t) { var e = arguments.length <= 1 || void 0 === arguments[1] ? 4 : arguments[1], r = "undefined" == typeof e ? "undefined" : n["default"](e), i = {}; if ("number" === r) { var s = 0, o = Math.pow(10, e), a = 1 / o; i[0] = t(0); for (var p = 0; o - 1 > p; p++) { s += a; var l = parseFloat(s.toFixed(e)); i[l] = t(s) } i[1] = t(1), i.base = e } else "object" === r ? i = e : "string" === r && (i = JSON.parse(e)); return u._sample._proximate(i) }, u = {_sample: p, _proximate: a}; u._sample._proximate = u._proximate, e["default"] = u._sample }, function (t, e, r) { t.exports = {"default": r(55), __esModule: !0} }, function (t, e, r) { t.exports = {"default": r(56), __esModule: !0} }, function (t, e, r) { t.exports = {"default": r(57), __esModule: !0} }, function (t, e, r) { r(58), r(59), t.exports = r(60) }, function (t, e, r) { r(67), t.exports = r(64).Object.keys }, function (t, e, r) { var i, s; (function (t) { "use strict"; function n(t) { return t && t.__esModule ? t : {"default": t} } e.__esModule = !0; var o = r(18), a = n(o), p = r(19), u = n(p), l = r(20), h = n(l), c = r(2), f = n(c), d = r(3), _ = n(d), y = r(4), m = n(y), g = r(5), v = n(g), w = r(6), b = n(w), S = r(7), P = n(S), x = r(21), T = n(x), M = r(8), C = n(M), k = r(9), D = n(k), O = r(10), E = n(O), A = r(11), L = n(A), R = r(12), I = n(R), F = r(13), Y = n(F), j = r(14), X = n(j), U = r(15), B = n(U), H = r(16), N = n(H), z = r(22), q = n(z), V = { revision: "0.288.1", isDebug: !0, helpers: u["default"], Shape: f["default"], ShapeSwirl: _["default"], Burst: m["default"], Html: v["default"], stagger: b["default"], Spriter: P["default"], MotionPath: T["default"], Tween: C["default"], Timeline: D["default"], Tweenable: L["default"], Thenable: I["default"], Tunable: Y["default"], Module: N["default"], tweener: E["default"], easing: q["default"], shapesMap: h["default"], _pool: {Delta: X["default"], Deltas: B["default"]} }; V.h = V.helpers, V.delta = V.h.delta, V.addShape = V.shapesMap.addShape, V.CustomShape = V.shapesMap.custom, V.Transit = V.Shape, V.Swirl = V.ShapeSwirl, i = [], s = function () { return V }.apply(e, i), !(void 0 !== s && (t.exports = s)), "object" === a["default"](t) && "object" === a["default"](t.exports) && (t.exports = V), e["default"] = V, "undefined" != typeof window && (window.mojs = V) }).call(e, r(17)(t)) }, function (t, e, r) { r(62), r(63), t.exports = r(64).Symbol }, function (t, e, r) { r(65), t.exports = r(64).Object.setPrototypeOf }, function (t, e, r) { var i = r(66); t.exports = function (t, e) { return i.create(t, e) } }, function (t, e, r) { r(68), t.exports = r(64).Object.assign }, function (t, e, r) { r(69); var i = r(70); i.NodeList = i.HTMLCollection = i.Array }, function (t, e, r) { "use strict"; var i = r(71)(!0); r(72)(String, "String", function (t) { this._t = String(t), this._i = 0 }, function () { var t, e = this._t, r = this._i; return r >= e.length ? {value: void 0, done: !0} : (t = i(e, r), this._i += t.length, {value: t, done: !1}) }) }, function (t, e, r) { var i = r(73), s = r(74); t.exports = r(64).getIterator = function (t) { var e = s(t); if ("function" != typeof e) throw TypeError(t + " is not iterable!"); return i(e.call(t)) } }, function (t, e, r) { var i = r(75)("wks"), s = r(76), n = r(77).Symbol; t.exports = function (t) { return i[t] || (i[t] = n && n[t] || (n || s)("Symbol." + t)) } }, function (t, e, r) { "use strict"; var i = r(66), s = r(77), n = r(78), o = r(79), a = r(80), p = r(81), u = r(82), l = r(75), h = r(83), c = r(76), f = r(61), d = r(84), _ = r(85), y = r(86), m = r(87), g = r(73), v = r(88), w = r(89), b = i.getDesc, S = i.setDesc, P = i.create, x = _.get, T = s.Symbol, M = s.JSON, C = M && M.stringify, k = !1, D = f("_hidden"), O = i.isEnum, E = l("symbol-registry"), A = l("symbols"), L = "function" == typeof T, R = Object.prototype, I = o && u(function () { return 7 != P(S({}, "a", { get: function () { return S(this, "a", {value: 7}).a } })).a }) ? function (t, e, r) { var i = b(R, e); i && delete R[e], S(t, e, r), i && t !== R && S(R, e, i) } : S, F = function (t) { var e = A[t] = P(T.prototype); return e._k = t, o && k && I(R, t, { configurable: !0, set: function (e) { n(this, D) && n(this[D], t) && (this[D][t] = !1), I(this, t, w(1, e)) } }), e }, Y = function (t) { return "symbol" == typeof t }, j = function (t, e, r) { return r && n(A, e) ? (r.enumerable ? (n(t, D) && t[D][e] && (t[D][e] = !1), r = P(r, {enumerable: w(0, !1)})) : (n(t, D) || S(t, D, w(1, {})), t[D][e] = !0), I(t, e, r)) : S(t, e, r) }, X = function (t, e) { g(t); for (var r, i = y(e = v(e)), s = 0, n = i.length; n > s;) j(t, r = i[s++], e[r]); return t }, U = function (t, e) { return void 0 === e ? P(t) : X(P(t), e) }, B = function (t) { var e = O.call(this, t); return e || !n(this, t) || !n(A, t) || n(this, D) && this[D][t] ? e : !0 }, H = function (t, e) { var r = b(t = v(t), e); return !r || !n(A, e) || n(t, D) && t[D][e] || (r.enumerable = !0), r }, N = function (t) { for (var e, r = x(v(t)), i = [], s = 0; r.length > s;) n(A, e = r[s++]) || e == D || i.push(e); return i }, z = function (t) { for (var e, r = x(v(t)), i = [], s = 0; r.length > s;) n(A, e = r[s++]) && i.push(A[e]); return i }, q = function (t) { if (void 0 !== t && !Y(t)) { for (var e, r, i = [t], s = 1, n = arguments; n.length > s;) i.push(n[s++]); return e = i[1], "function" == typeof e && (r = e), (r || !m(e)) && (e = function (t, e) { return r && (e = r.call(this, t, e)), Y(e) ? void 0 : e }), i[1] = e, C.apply(M, i) } }, V = u(function () { var t = T(); return "[null]" != C([t]) || "{}" != C({a: t}) || "{}" != C(Object(t)) }); L || (T = function () { if (Y(this)) throw TypeError("Symbol is not a constructor"); return F(c(arguments.length > 0 ? arguments[0] : void 0)) }, p(T.prototype, "toString", function () { return this._k }), Y = function (t) { return t instanceof T }, i.create = U, i.isEnum = B, i.getDesc = H, i.setDesc = j, i.setDescs = X, i.getNames = _.get = N, i.getSymbols = z, o && !r(90) && p(R, "propertyIsEnumerable", B, !0)); var W = { "for": function (t) { return n(E, t += "") ? E[t] : E[t] = T(t) }, keyFor: function (t) { return d(E, t) }, useSetter: function () { k = !0 }, useSimple: function () { k = !1 } }; i.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), function (t) { var e = f(t); W[t] = L ? e : F(e) }), k = !0, a(a.G + a.W, {Symbol: T}), a(a.S, "Symbol", W), a(a.S + a.F * !L, "Object", { create: U, defineProperty: j, defineProperties: X, getOwnPropertyDescriptor: H, getOwnPropertyNames: N, getOwnPropertySymbols: z }), M && a(a.S + a.F * (!L || V), "JSON", {stringify: q}), h(T, "Symbol"), h(Math, "Math", !0), h(s.JSON, "JSON", !0) }, function (t, e, r) { }, function (t, e, r) { var i = t.exports = {version: "1.2.6"}; "number" == typeof __e && (__e = i) }, function (t, e, r) { var i = r(80); i(i.S, "Object", {setPrototypeOf: r(91).set}) }, function (t, e, r) { var i = Object; t.exports = { create: i.create, getProto: i.getPrototypeOf, isEnum: {}.propertyIsEnumerable, getDesc: i.getOwnPropertyDescriptor, setDesc: i.defineProperty, setDescs: i.defineProperties, getKeys: i.keys, getNames: i.getOwnPropertyNames, getSymbols: i.getOwnPropertySymbols, each: [].forEach } }, function (t, e, r) { var i = r(92); r(93)("keys", function (t) { return function (e) { return t(i(e)) } }) }, function (t, e, r) { var i = r(80); i(i.S + i.F, "Object", {assign: r(94)}) }, function (t, e, r) { "use strict"; var i = r(95), s = r(96), n = r(70), o = r(88); t.exports = r(72)(Array, "Array", function (t, e) { this._t = o(t), this._i = 0, this._k = e }, function () { var t = this._t, e = this._k, r = this._i++; return !t || r >= t.length ? (this._t = void 0, s(1)) : "keys" == e ? s(0, r) : "values" == e ? s(0, t[r]) : s(0, [r, t[r]]) }, "values"), n.Arguments = n.Array, i("keys"), i("values"), i("entries") }, function (t, e, r) { t.exports = {} }, function (t, e, r) { var i = r(97), s = r(98); t.exports = function (t) { return function (e, r) { var n, o, a = String(s(e)), p = i(r), u = a.length; return 0 > p || p >= u ? t ? "" : void 0 : (n = a.charCodeAt(p), 55296 > n || n > 56319 || p + 1 === u || (o = a.charCodeAt(p + 1)) < 56320 || o > 57343 ? t ? a.charAt(p) : n : t ? a.slice(p, p + 2) : (n - 55296 << 10) + (o - 56320) + 65536) } } }, function (t, e, r) { "use strict"; var i = r(90), s = r(80), n = r(81), o = r(99), a = r(78), p = r(70), u = r(100), l = r(83), h = r(66).getProto, c = r(61)("iterator"), f = !([].keys && "next" in [].keys()), d = "@@iterator", _ = "keys", y = "values", m = function () { return this }; t.exports = function (t, e, r, g, v, w, b) { u(r, e, g); var S, P, x = function (t) { if (!f && t in k) return k[t]; switch (t) { case _: return function () { return new r(this, t) }; case y: return function () { return new r(this, t) } } return function () { return new r(this, t) } }, T = e + " Iterator", M = v == y, C = !1, k = t.prototype, D = k[c] || k[d] || v && k[v], O = D || x(v); if (D) { var E = h(O.call(new t)); l(E, T, !0), !i && a(k, d) && o(E, c, m), M && D.name !== y && (C = !0, O = function () { return D.call(this) }) } if (i && !b || !f && !C && k[c] || o(k, c, O), p[e] = O, p[T] = m, v) if (S = { values: M ? O : x(y), keys: w ? O : x(_), entries: M ? x("entries") : O }, b) for (P in S) P in k || n(k, P, S[P]); else s(s.P + s.F * (f || C), e, S); return S } }, function (t, e, r) { var i = r(101); t.exports = function (t) { if (!i(t)) throw TypeError(t + " is not an object!"); return t } }, function (t, e, r) { var i = r(102), s = r(61)("iterator"), n = r(70); t.exports = r(64).getIteratorMethod = function (t) { return void 0 != t ? t[s] || t["@@iterator"] || n[i(t)] : void 0 } }, function (t, e, r) { var i = r(77), s = "__core-js_shared__", n = i[s] || (i[s] = {}); t.exports = function (t) { return n[t] || (n[t] = {}) } }, function (t, e, r) { var i = 0, s = Math.random(); t.exports = function (t) { return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++i + s).toString(36)) } }, function (t, e, r) { var i = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); "number" == typeof __g && (__g = i) }, function (t, e, r) { var i = {}.hasOwnProperty; t.exports = function (t, e) { return i.call(t, e) } }, function (t, e, r) { t.exports = !r(82)(function () { return 7 != Object.defineProperty({}, "a", { get: function () { return 7 } }).a }) }, function (t, e, r) { var i = r(77), s = r(64), n = r(103), o = "prototype", a = function (t, e, r) { var p, u, l, h = t & a.F, c = t & a.G, f = t & a.S, d = t & a.P, _ = t & a.B, y = t & a.W, m = c ? s : s[e] || (s[e] = {}), g = c ? i : f ? i[e] : (i[e] || {})[o]; c && (r = e); for (p in r) u = !h && g && p in g, u && p in m || (l = u ? g[p] : r[p], m[p] = c && "function" != typeof g[p] ? r[p] : _ && u ? n(l, i) : y && g[p] == l ? function (t) { var e = function (e) { return this instanceof t ? new t(e) : t(e) }; return e[o] = t[o], e }(l) : d && "function" == typeof l ? n(Function.call, l) : l, d && ((m[o] || (m[o] = {}))[p] = l)) }; a.F = 1, a.G = 2, a.S = 4, a.P = 8, a.B = 16, a.W = 32, t.exports = a }, function (t, e, r) { t.exports = r(99) }, function (t, e, r) { t.exports = function (t) { try { return !!t() } catch (e) { return !0 } } }, function (t, e, r) { var i = r(66).setDesc, s = r(78), n = r(61)("toStringTag"); t.exports = function (t, e, r) { t && !s(t = r ? t : t.prototype, n) && i(t, n, {configurable: !0, value: e}) } }, function (t, e, r) { var i = r(66), s = r(88); t.exports = function (t, e) { for (var r, n = s(t), o = i.getKeys(n), a = o.length, p = 0; a > p;) if (n[r = o[p++]] === e) return r } }, function (t, e, r) { var i = r(88), s = r(66).getNames, n = {}.toString, o = "object" == typeof window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [], a = function (t) { try { return s(t) } catch (e) { return o.slice() } }; t.exports.get = function (t) { return o && "[object Window]" == n.call(t) ? a(t) : s(i(t)) } }, function (t, e, r) { var i = r(66); t.exports = function (t) { var e = i.getKeys(t), r = i.getSymbols; if (r) for (var s, n = r(t), o = i.isEnum, a = 0; n.length > a;) o.call(t, s = n[a++]) && e.push(s); return e } }, function (t, e, r) { var i = r(104); t.exports = Array.isArray || function (t) { return "Array" == i(t) } }, function (t, e, r) { var i = r(105), s = r(98); t.exports = function (t) { return i(s(t)) } }, function (t, e, r) { t.exports = function (t, e) { return {enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e} } }, function (t, e, r) { t.exports = !0 }, function (t, e, r) { var i = r(66).getDesc, s = r(101), n = r(73), o = function (t, e) { if (n(t), !s(e) && null !== e) throw TypeError(e + ": can't set as prototype!") }; t.exports = { set: Object.setPrototypeOf || ("__proto__" in {} ? function (t, e, s) { try { s = r(103)(Function.call, i(Object.prototype, "__proto__").set, 2), s(t, []), e = !(t instanceof Array) } catch (n) { e = !0 } return function (t, r) { return o(t, r), e ? t.__proto__ = r : s(t, r), t } }({}, !1) : void 0), check: o } }, function (t, e, r) { var i = r(98); t.exports = function (t) { return Object(i(t)) } }, function (t, e, r) { var i = r(80), s = r(64), n = r(82); t.exports = function (t, e) { var r = (s.Object || {})[t] || Object[t], o = {}; o[t] = e(r), i(i.S + i.F * n(function () { r(1) }), "Object", o) } }, function (t, e, r) { var i = r(66), s = r(92), n = r(105); t.exports = r(82)(function () { var t = Object.assign, e = {}, r = {}, i = Symbol(), s = "abcdefghijklmnopqrst"; return e[i] = 7, s.split("").forEach(function (t) { r[t] = t }), 7 != t({}, e)[i] || Object.keys(t({}, r)).join("") != s }) ? function (t, e) { for (var r = s(t), o = arguments, a = o.length, p = 1, u = i.getKeys, l = i.getSymbols, h = i.isEnum; a > p;) for (var c, f = n(o[p++]), d = l ? u(f).concat(l(f)) : u(f), _ = d.length, y = 0; _ > y;) h.call(f, c = d[y++]) && (r[c] = f[c]); return r } : Object.assign }, function (t, e, r) { t.exports = function () { } }, function (t, e, r) { t.exports = function (t, e) { return {value: e, done: !!t} } }, function (t, e, r) { var i = Math.ceil, s = Math.floor; t.exports = function (t) { return isNaN(t = +t) ? 0 : (t > 0 ? s : i)(t) } }, function (t, e, r) { t.exports = function (t) { if (void 0 == t) throw TypeError("Can't call method on " + t); return t } }, function (t, e, r) { var i = r(66), s = r(89); t.exports = r(79) ? function (t, e, r) { return i.setDesc(t, e, s(1, r)) } : function (t, e, r) { return t[e] = r, t } }, function (t, e, r) { "use strict"; var i = r(66), s = r(89), n = r(83), o = {}; r(99)(o, r(61)("iterator"), function () { return this }), t.exports = function (t, e, r) { t.prototype = i.create(o, {next: s(1, r)}), n(t, e + " Iterator") } }, function (t, e, r) { t.exports = function (t) { return "object" == typeof t ? null !== t : "function" == typeof t } }, function (t, e, r) { var i = r(104), s = r(61)("toStringTag"), n = "Arguments" == i(function () { return arguments }()); t.exports = function (t) { var e, r, o; return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (r = (e = Object(t))[s]) ? r : n ? i(e) : "Object" == (o = i(e)) && "function" == typeof e.callee ? "Arguments" : o } }, function (t, e, r) { var i = r(106); t.exports = function (t, e, r) { if (i(t), void 0 === e) return t; switch (r) { case 1: return function (r) { return t.call(e, r) }; case 2: return function (r, i) { return t.call(e, r, i) }; case 3: return function (r, i, s) { return t.call(e, r, i, s) } } return function () { return t.apply(e, arguments) } } }, function (t, e, r) { var i = {}.toString; t.exports = function (t) { return i.call(t).slice(8, -1) } }, function (t, e, r) { var i = r(104); t.exports = Object("z").propertyIsEnumerable(0) ? Object : function (t) { return "String" == i(t) ? t.split("") : Object(t) } }, function (t, e, r) { t.exports = function (t) { if ("function" != typeof t) throw TypeError(t + " is not a function!"); return t } }]) });