    n.setAttribute(
                         'transform',
                         'translate(' + p.props[12] + ',' + p.props[13] + ')'),
                 n.textContent = h[t].val,
                 n.setAttributeNS(
                     'http://www.w3.org/XML/1998/namespace', 'xml:space',
                     'preserve'));
      d && n && n.setAttribute('d', f)
    } else {
      var _ = this.textContainer, k = 'start';
      switch (s.j) {
        case 1:
          k = 'end';
          break;
        case 2:
          k = 'middle';
          break;
        default:
          k = 'start'
      }
      _.setAttribute('text-anchor', k), _.setAttribute('letter-spacing', g);
      var A = this.buildTextContents(s.finalText);
      for (e = A.length, c = s.ps ? s.ps[1] + s.ascent : 0, t = 0; t < e;
           t += 1)
        (n = this.textSpans[t] || x('tspan')).textContent = A[t],
                                  n.setAttribute('x', 0),
                                  n.setAttribute('y', c),
                                  n.style.display = 'inherit', _.appendChild(n),
                                  this.textSpans[t] = n, c += s.finalLineHeight;
      this.layerElement.appendChild(_)
    }
    for (; t < this.textSpans.length;)
      this.textSpans[t].style.display = 'none', t += 1;
    this._sizeChanged = !0
  },
  re.prototype.sourceRectAtTime =
      function() {
    if (this.prepareFrame(this.comp.renderedFrame - this.data.st),
        this.renderInnerContent(), this._sizeChanged) {
      this._sizeChanged = !1;
      var t = this.layerElement.getBBox();
      this.bbox = {top: t.y, left: t.x, width: t.width, height: t.height}
    }
    return this.bbox
  },
  re.prototype.renderInnerContent =
      function() {
    if (!this.data.singleShape &&
        (this.textAnimator.getMeasures(
             this.textProperty.currentData, this.lettersChangedFlag),
         this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {
      var t, e;
      this._sizeChanged = !0;
      var s, i, a = this.textAnimator.renderedLetters,
                r = this.textProperty.currentData.l;
      for (e = r.length, t = 0; t < e; t += 1)
        r[t].n ||
            (s = a[t], i = this.textSpans[t],
             s._mdf.m && i.setAttribute('transform', s.m),
             s._mdf.o && i.setAttribute('opacity', s.o),
             s._mdf.sw && i.setAttribute('stroke-width', s.sw),
             s._mdf.sc && i.setAttribute('stroke', s.sc),
             s._mdf.fc && i.setAttribute('fill', s.fc))
    }
  },
  M([Jt, Rt, Zt, Qt, Lt, Vt, Nt], ne),
  ne.prototype.initSecondaryElement = function() {},
  ne.prototype.identityMatrix = new I,
  ne.prototype.buildExpressionInterface = function() {},
  ne.prototype.createContent = function() {
    this.searchShapes(
        this.shapesData, this.itemsData, this.prevViewData, this.layerElement,
        0, [], !0),
        this.filterUniqueShapes()
  }, ne.prototype.filterUniqueShapes = function() {
    var t, e, s, i, a = this.shapes.length, r = this.stylesList.length, n = [],
                    h = !1;
    for (s = 0; s < r; s += 1) {
      for (i = this.stylesList[s], h = !1, t = n.length = 0; t < a; t += 1)
        -1 !== (e = this.shapes[t]).styles.indexOf(i) &&
            (n.push(e), h = e._isAnimated || h);
      1 < n.length && h && this.setShapesAsAnimated(n)
    }
  }, ne.prototype.setShapesAsAnimated = function(t) {
    var e, s = t.length;
    for (e = 0; e < s; e += 1) t[e].setAsAnimated()
  }, ne.prototype.createStyleElement = function(t, e) {
    var s, i = new qt(t, e), a = i.pElem;
    if ('st' === t.ty)
      s = new Wt(this, t, i);
    else if ('fl' === t.ty)
      s = new Xt(this, t, i);
    else if ('gf' === t.ty || 'gs' === t.ty) {
      s = new ('gf' === t.ty ? Ht : Yt)(this, t, i),
      this.globalData.defs.appendChild(s.gf),
      s.maskId &&
          (this.globalData.defs.appendChild(s.ms),
           this.globalData.defs.appendChild(s.of),
           a.setAttribute('mask', 'url(' + A + '#' + s.maskId + ')'))
    }
    return 'st' !== t.ty && 'gs' !== t.ty ||
               (a.setAttribute('stroke-linecap', this.lcEnum[t.lc] || 'round'),
                a.setAttribute('stroke-linejoin', this.ljEnum[t.lj] || 'round'),
                a.setAttribute('fill-opacity', '0'),
                1 === t.lj && a.setAttribute('stroke-miterlimit', t.ml)),
           2 === t.r && a.setAttribute('fill-rule', 'evenodd'),
           t.ln && a.setAttribute('id', t.ln),
           t.cl && a.setAttribute('class', t.cl),
           t.bm && (a.style['mix-blend-mode'] = E(t.bm)),
           this.stylesList.push(i), this.addToAnimatedContents(t, s), s
  }, ne.prototype.createGroupElement = function(t) {
    var e = new Gt;
    return t.ln && e.gr.setAttribute('id', t.ln),
           t.cl && e.gr.setAttribute('class', t.cl),
           t.bm && (e.gr.style['mix-blend-mode'] = E(t.bm)), e
  }, ne.prototype.createTransformElement = function(t, e) {
    var s = z.getTransformProperty(this, t, this), i = new jt(s, s.o, e);
    return this.addToAnimatedContents(t, i), i
  }, ne.prototype.createShapeElement = function(t, e, s) {
    var i = 4;
    'rc' === t.ty ? i = 5 : 'el' === t.ty ? i = 6 : 'sr' === t.ty && (i = 7);
    var a = new Bt(e, s, H.getShapeProp(this, t, i, this));
    return this.shapes.push(a), this.addShapeToModifiers(a),
           this.addToAnimatedContents(t, a), a
  }, ne.prototype.addToAnimatedContents = function(t, e) {
    for (var s = 0, i = this.animatedContents.length; s < i;) {
      if (this.animatedContents[s].element === e) return;
      s += 1
    }
    this.animatedContents.push(
        {fn: Kt.createRenderFunction(t), element: e, data: t})
  }, ne.prototype.setElementStyles = function(t) {
    var e, s = t.styles, i = this.stylesList.length;
    for (e = 0; e < i; e += 1)
      this.stylesList[e].closed || s.push(this.stylesList[e])
  }, ne.prototype.reloadShapes = function() {
    var t;
    this._isFirstFrame = !0;
    var e = this.itemsData.length;
    for (t = 0; t < e; t += 1) this.prevViewData[t] = this.itemsData[t];
    for (this.searchShapes(
             this.shapesData, this.itemsData, this.prevViewData,
             this.layerElement, 0, [], !0),
         this.filterUniqueShapes(), e = this.dynamicProperties.length, t = 0;
         t < e; t += 1)
      this.dynamicProperties[t].getValue();
    this.renderModifiers()
  }, ne.prototype.searchShapes = function(t, e, s, i, a, r, n) {
    var h, o, l, p, f, d, m = [].concat(r), c = t.length - 1, u = [], g = [];
    for (h = c; 0 <= h; h -= 1) {
      if ((d = this.searchProcessedElement(t[h])) ? e[h] = s[d - 1] :
                                                    t[h]._render = n,
          'fl' === t[h].ty || 'st' === t[h].ty || 'gf' === t[h].ty ||
              'gs' === t[h].ty)
        d ? e[h].style.closed = !1 : e[h] = this.createStyleElement(t[h], a),
            t[h]._render && i.appendChild(e[h].style.pElem), u.push(e[h].style);
      else if ('gr' === t[h].ty) {
        if (d)
          for (l = e[h].it.length, o = 0; o < l; o += 1)
            e[h].prevViewData[o] = e[h].it[o];
        else
          e[h] = this.createGroupElement(t[h]);
        this.searchShapes(
            t[h].it, e[h].it, e[h].prevViewData, e[h].gr, a + 1, m, n),
            t[h]._render && i.appendChild(e[h].gr)
      } else
        'tr' === t[h].ty ? (d || (e[h] = this.createTransformElement(t[h], i)),
                            p = e[h].transform, m.push(p)) :
            'sh' === t[h].ty || 'rc' === t[h].ty || 'el' === t[h].ty ||
                'sr' === t[h].ty ?
                           (d || (e[h] = this.createShapeElement(t[h], m, a)),
                            this.setElementStyles(e[h])) :
            'tm' === t[h].ty || 'rd' === t[h].ty || 'ms' === t[h].ty ||
                'pb' === t[h].ty ?
                           (d ? (f = e[h]).closed = !1 :
                                ((f = Y.getModifier(t[h].ty)).init(this, t[h]),
                                 e[h] = f, this.shapeModifiers.push(f)),
                            g.push(f)) :
                           'rp' === t[h].ty &&
                (d ? (f = e[h]).closed = !0 :
                     (f = Y.getModifier(t[h].ty),
                      (e[h] = f).init(this, t, h, e),
                      this.shapeModifiers.push(f), n = !1),
                 g.push(f));
      this.addProcessedElement(t[h], h + 1)
    }
    for (c = u.length, h = 0; h < c; h += 1) u[h].closed = !0;
    for (c = g.length, h = 0; h < c; h += 1) g[h].closed = !0
  }, ne.prototype.renderInnerContent = function() {
    var t;
    this.renderModifiers();
    var e = this.stylesList.length;
    for (t = 0; t < e; t += 1) this.stylesList[t].reset();
    for (this.renderShape(), t = 0; t < e; t += 1)
      (this.stylesList[t]._mdf || this._isFirstFrame) &&
          (this.stylesList[t].msElem &&
               (this.stylesList[t].msElem.setAttribute(
                    'd', this.stylesList[t].d),
                this.stylesList[t].d = 'M0 0' + this.stylesList[t].d),
           this.stylesList[t].pElem.setAttribute(
               'd', this.stylesList[t].d || 'M0 0'))
  }, ne.prototype.renderShape = function() {
    var t, e, s = this.animatedContents.length;
    for (t = 0; t < s; t += 1)
      e = this.animatedContents[t],
      (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data &&
          e.fn(e.data, e.element, this._isFirstFrame)
  }, ne.prototype.destroy = function() {
    this.destroyBaseElement(), this.shapesData = null, this.itemsData = null
  };
  var he = [];
  function oe() {}
  var le = function() {
    var t = {}, a = [], i = 0, r = 0, n = 0, h = !0, o = !1;
    function s(t) {
      for (var e = 0, s = t.target; e < r;)
        a[e].animation === s &&
            (a.splice(e, 1), e -= 1, r -= 1, s.isPaused || f()),
            e += 1
    }
    function l(t, e) {
      if (!t) return null;
      for (var s = 0; s < r;) {
        if (a[s].elem === t && null !== a[s].elem) return a[s].animation;
        s += 1
      }
      var i = new pe;
      return d(i, t), i.setData(t, e), i
    }
    function p() {
      n += 1, c()
    }
    function f() {
      n -= 1
    }
    function d(t, e) {
      t.addEventListener('destroy', s), t.addEventListener('_active', p),
          t.addEventListener('_idle', f), a.push({elem: e, animation: t}),
          r += 1
    }
    function m(t) {
      var e, s = t - i;
      for (e = 0; e < r; e += 1) a[e].animation.advanceTime(s);
      i = t, n && !o ? window.requestAnimationFrame(m) : h = !0
    }
    function e(t) {
      i = t, window.requestAnimationFrame(m)
    }
    function c() {
      !o && n && h && (window.requestAnimationFrame(e), h = !1)
    }
    return t.registerAnimation = l, t.loadAnimation = function(t) {
      var e = new pe;
      return d(e, null), e.setParams(t), e
    }, t.setSpeed = function(t, e) {
      var s;
      for (s = 0; s < r; s += 1) a[s].animation.setSpeed(t, e)
    }, t.setDirection = function(t, e) {
      var s;
      for (s = 0; s < r; s += 1) a[s].animation.setDirection(t, e)
    }, t.play = function(t) {
      var e;
      for (e = 0; e < r; e += 1) a[e].animation.play(t)
    }, t.pause = function(t) {
      var e;
      for (e = 0; e < r; e += 1) a[e].animation.pause(t)
    }, t.stop = function(t) {
      var e;
      for (e = 0; e < r; e += 1) a[e].animation.stop(t)
    }, t.togglePause = function(t) {
      var e;
      for (e = 0; e < r; e += 1) a[e].animation.togglePause(t)
    }, t.searchAnimations = function(t, e, s) {
      var i,
          a = [].concat(
              [].slice.call(document.getElementsByClassName('lottie')),
              [].slice.call(document.getElementsByClassName('bodymovin'))),
          r = a.length;
      for (i = 0; i < r; i += 1)
        s && a[i].setAttribute('data-bm-type', s), l(a[i], t);
      if (e && 0 === r) {
        s || (s = 'svg');
        var n = document.getElementsByTagName('body')[0];
        n.innerText = '';
        var h = w('div');
        h.style.width = '100%', h.style.height = '100%',
        h.setAttribute('data-bm-type', s), n.appendChild(h), l(h, t)
      }
    }, t.resize = function() {
      var t;
      for (t = 0; t < r; t += 1) a[t].animation.resize()
    }, t.goToAndStop = function(t, e, s) {
      var i;
      for (i = 0; i < r; i += 1) a[i].animation.goToAndStop(t, e, s)
    }, t.destroy = function(t) {
      var e;
      for (e = r - 1; 0 <= e; e -= 1) a[e].animation.destroy(t)
    }, t.freeze = function() {
      o = !0
    }, t.unfreeze = function() {
      o = !1, c()
    }, t.setVolume = function(t, e) {
      var s;
      for (s = 0; s < r; s += 1) a[s].animation.setVolume(t, e)
    }, t.mute = function(t) {
      var e;
      for (e = 0; e < r; e += 1) a[e].animation.mute(t)
    }, t.unmute = function(t) {
      var e;
      for (e = 0; e < r; e += 1) a[e].animation.unmute(t)
    }, t.getRegisteredAnimations = function() {
      var t, e = a.length, s = [];
      for (t = 0; t < e; t += 1) s.push(a[t].animation);
      return s
    }, t
  }(), pe = function() {
    this._cbs = [], this.name = '', this.path = '', this.isLoaded = !1,
    this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0,
    this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0,
    this.playSpeed = 1, this.playDirection = 1, this.playCount = 0,
    this.animationData = {}, this.assets = [], this.isPaused = !0,
    this.autoplay = !1, this.loop = !0, this.renderer = null,
    this.animationID = S(), this.assetsPath = '', this.timeCompleted = 0,
    this.segmentPos = 0, this.isSubframeEnabled = i, this.segments = [],
    this._idle = !0, this._completedLoop = !1, this.projectInterface = {},
    this.imagePreloader = new rt, this.audioController = at(), this.markers = []
  };
  function fe() {
    this.effectElements = []
  }
  M([C], pe), pe.prototype.setParams = function(t) {
    (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);
    var e = 'svg';
    switch (t.animType ? e = t.animType : t.renderer && (e = t.renderer), e) {
      case 'canvas':
        this.renderer = new CanvasRenderer(this, t.rendererSettings);
        break;
      case 'svg':
        this.renderer = new Mt(this, t.rendererSettings);
        break;
      default:
        this.renderer = new HybridRenderer(this, t.rendererSettings)
    }
    this.imagePreloader.setCacheType(e, this.renderer.globalData.defs),
        this.renderer.setProjectInterface(this.projectInterface),
        this.animType = e,
        '' === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ?
        this.loop = !0 :
        !1 === t.loop ? this.loop = !1 :
                        this.loop = parseInt(t.loop, 10),
        this.autoplay = !('autoplay' in t) || t.autoplay,
        this.name = t.name ? t.name : '',
        this.autoloadSegments =
            !Object.prototype.hasOwnProperty.call(t, 'autoloadSegments') ||
        t.autoloadSegments,
        this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment,
        t.audioFactory && this.audioController.setAudioFactory(t.audioFactory),
        t.animationData ? this.configAnimation(t.animationData) :
                          t.path &&
            (-1 !== t.path.lastIndexOf('\\') ?
                 this.path = t.path.substr(0, t.path.lastIndexOf('\\') + 1) :
                 this.path = t.path.substr(0, t.path.lastIndexOf('/') + 1),
             this.fileName = t.path.substr(t.path.lastIndexOf('/') + 1),
             this.fileName =
                 this.fileName.substr(0, this.fileName.lastIndexOf('.json')),
             ot.load(t.path, this.configAnimation.bind(this), function() {
               this.trigger('data_failed')
             }.bind(this)))
  }, pe.prototype.setData = function(t, e) {
    e && 'object' != typeof e && (e = JSON.parse(e));
    var s = {wrapper: t, animationData: e}, i = t.attributes;
    s.path = i.getNamedItem('data-animation-path') ?
        i.getNamedItem('data-animation-path').value :
        i.getNamedItem('data-bm-path') ? i.getNamedItem('data-bm-path').value :
        i.getNamedItem('bm-path')      ? i.getNamedItem('bm-path').value :
                                         '',
    s.animType = i.getNamedItem('data-anim-type') ?
        i.getNamedItem('data-anim-type').value :
        i.getNamedItem('data-bm-type') ? i.getNamedItem('data-bm-type').value :
        i.getNamedItem('bm-type')      ? i.getNamedItem('bm-type').value :
        i.getNamedItem('data-bm-renderer') ?
                                    i.getNamedItem('data-bm-renderer').value :
        i.getNamedItem('bm-renderer') ? i.getNamedItem('bm-renderer').value :
                                        'canvas';
    var a = i.getNamedItem('data-anim-loop') ?
        i.getNamedItem('data-anim-loop').value :
        i.getNamedItem('data-bm-loop') ? i.getNamedItem('data-bm-loop').value :
        i.getNamedItem('bm-loop')      ? i.getNamedItem('bm-loop').value :
                                         '';
    'false' === a    ? s.loop = !1 :
        'true' === a ? s.loop = !0 :
                       '' !== a && (s.loop = parseInt(a, 10));
    var r = i.getNamedItem('data-anim-autoplay') ?
        i.getNamedItem('data-anim-autoplay').value :
        i.getNamedItem('data-bm-autoplay') ?
        i.getNamedItem('data-bm-autoplay').value :
        !i.getNamedItem('bm-autoplay') || i.getNamedItem('bm-autoplay').value;
    s.autoplay = 'false' !== r,
    s.name = i.getNamedItem('data-name') ? i.getNamedItem('data-name').value :
        i.getNamedItem('data-bm-name') ? i.getNamedItem('data-bm-name').value :
        i.getNamedItem('bm-name')      ? i.getNamedItem('bm-name').value :
                                         '',
    'false' ===
            (i.getNamedItem('data-anim-prerender') ?
                 i.getNamedItem('data-anim-prerender').value :
                 i.getNamedItem('data-bm-prerender') ?
                 i.getNamedItem('data-bm-prerender').value :
                 i.getNamedItem('bm-prerender') ?
                 i.getNamedItem('bm-prerender').value :
                 '') &&
        (s.prerender = !1),
    this.setParams(s)
  }, pe.prototype.includeLayers = function(t) {
    t.op > this.animationData.op &&
        (this.animationData.op = t.op,
         this.totalFrames = Math.floor(t.op - this.animationData.ip));
    var e, s, i = this.animationData.layers, a = i.length, r = t.layers,
              n = r.length;
    for (s = 0; s < n; s += 1)
      for (e = 0; e < a;) {
        if (i[e].id === r[s].id) {
          i[e] = r[s];
          break
        }
        e += 1
      }
    if ((t.chars || t.fonts) &&
            (this.renderer.globalData.fontManager.addChars(t.chars),
             this.renderer.globalData.fontManager.addFonts(
                 t.fonts, this.renderer.globalData.defs)),
        t.assets)
      for (a = t.assets.length, e = 0; e < a; e += 1)
        this.animationData.assets.push(t.assets[e]);
    this.animationData.__complete = !1,
    L.completeData(this.animationData, this.renderer.globalData.fontManager),
    this.renderer.includeLayers(t.layers), h && h.initExpressions(this),
    this.loadNextSegment()
  }, pe.prototype.loadNextSegment = function() {
    var t = this.animationData.segments;
    if (!t || 0 === t.length || !this.autoloadSegments)
      return this.trigger('data_ready'),
             void (this.timeCompleted = this.totalFrames);
    var e = t.shift();
    this.timeCompleted = e.time * this.frameRate;
    var s = this.path + this.fileName + '_' + this.segmentPos + '.json';
    this.segmentPos += 1, ot.load(s, this.includeLayers.bind(this), function() {
      this.trigger('data_failed')
    }.bind(this))
  }, pe.prototype.loadSegments = function() {
    this.animationData.segments || (this.timeCompleted = this.totalFrames),
        this.loadNextSegment()
  }, pe.prototype.imagesLoaded = function() {
    this.trigger('loaded_images'), this.checkLoaded()
  }, pe.prototype.preloadImages = function() {
    this.imagePreloader.setAssetsPath(this.assetsPath),
        this.imagePreloader.setPath(this.path),
        this.imagePreloader.loadAssets(
            this.animationData.assets, this.imagesLoaded.bind(this))
  }, pe.prototype.configAnimation = function(t) {
    if (this.renderer) try {
        this.animationData = t,
        this.initialSegment ?
            (this.totalFrames =
                 Math.floor(this.initialSegment[1] - this.initialSegment[0]),
             this.firstFrame = Math.round(this.initialSegment[0])) :
            (this.totalFrames =
                 Math.floor(this.animationData.op - this.animationData.ip),
             this.firstFrame = Math.round(this.animationData.ip)),
        this.renderer.configAnimation(t), t.assets || (t.assets = []),
        this.assets = this.animationData.assets,
        this.frameRate = this.animationData.fr,
        this.frameMult = this.animationData.fr / 1e3,
        this.renderer.searchExtraCompositions(t.assets),
        this.markers = Tt(t.markers || []), this.trigger('config_ready'),
        this.preloadImages(), this.loadSegments(), this.updaFrameModifier(),
        this.waitForFontsLoaded(), this.isPaused && this.audioController.pause()
      } catch (t) {
        this.triggerConfigError(t)
      }
  }, pe.prototype.waitForFontsLoaded = function() {
    this.renderer &&
        (this.renderer.globalData.fontManager.isLoaded ?
             this.checkLoaded() :
             setTimeout(this.waitForFontsLoaded.bind(this), 20))
  }, pe.prototype.checkLoaded = function() {
    !this.isLoaded && this.renderer.globalData.fontManager.isLoaded &&
        (this.imagePreloader.loadedImages() ||
         'canvas' !== this.renderer.rendererType) &&
        this.imagePreloader.loadedFootages() &&
        (this.isLoaded = !0,
         L.completeData(
             this.animationData, this.renderer.globalData.fontManager),
         h && h.initExpressions(this), this.renderer.initItems(),
         setTimeout(function() {
           this.trigger('DOMLoaded')
         }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play())
  }, pe.prototype.resize = function() {
    this.renderer.updateContainerSize()
  }, pe.prototype.setSubframe = function(t) {
    this.isSubframeEnabled = !!t
  }, pe.prototype.gotoFrame = function() {
    this.currentFrame =
        this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame,
    this.timeCompleted !== this.totalFrames &&
        this.currentFrame > this.timeCompleted &&
        (this.currentFrame = this.timeCompleted),
    this.trigger('enterFrame'), this.renderFrame()
  }, pe.prototype.renderFrame = function() {
    if (!1 !== this.isLoaded && this.renderer) try {
        this.renderer.renderFrame(this.currentFrame + this.firstFrame)
      } catch (t) {
        this.triggerRenderFrameError(t)
      }
  }, pe.prototype.play = function(t) {
    t && this.name !== t ||
        !0 === this.isPaused &&
            (this.isPaused = !1, this.audioController.resume(),
             this._idle && (this._idle = !1, this.trigger('_active')))
  }, pe.prototype.pause = function(t) {
    t && this.name !== t ||
        !1 === this.isPaused &&
            (this.isPaused = !0, this._idle = !0, this.trigger('_idle'),
             this.audioController.pause())
  }, pe.prototype.togglePause = function(t) {
    t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause())
  }, pe.prototype.stop = function(t) {
    t && this.name !== t ||
        (this.pause(), this.playCount = 0, this._completedLoop = !1,
         this.setCurrentRawFrameValue(0))
  }, pe.prototype.getMarkerData = function(t) {
    for (var e, s = 0; s < this.markers.length; s += 1)
      if ((e = this.markers[s]).payload && e.payload.name === t) return e;
    return null
  }, pe.prototype.goToAndStop = function(t, e, s) {
    if (!s || this.name === s) {
      var i = Number(t);
      if (isNaN(i)) {
        var a = this.getMarkerData(t);
        a && this.goToAndStop(a.time, !0)
      } else
        e ? this.setCurrentRawFrameValue(t) :
            this.setCurrentRawFrameValue(t * this.frameModifier);
      this.pause()
    }
  }, pe.prototype.goToAndPlay = function(t, e, s) {
    if (!s || this.name === s) {
      var i = Number(t);
      if (isNaN(i)) {
        var a = this.getMarkerData(t);
        a &&
            (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) :
                          this.goToAndStop(a.time, !0))
      } else
        this.goToAndStop(i, e, s);
      this.play()
    }
  }, pe.prototype.advanceTime = function(t) {
    if (!0 !== this.isPaused && !1 !== this.isLoaded) {
      var e = this.currentRawFrame + t * this.frameModifier, s = !1;
      e >= this.totalFrames - 1 && 0 < this.frameModifier ?
          this.loop && this.playCount !== this.loop ?
          e >= this.totalFrames ?
          (this.playCount += 1,
           this.checkSegments(e % this.totalFrames) ||
               (this.setCurrentRawFrameValue(e % this.totalFrames),
                this._completedLoop = !0, this.trigger('loopComplete'))) :
          this.setCurrentRawFrameValue(e) :
          this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) ||
                  (s = !0, e = this.totalFrames - 1) :
          e < 0 ? this.checkSegments(e % this.totalFrames) ||
              (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ?
                   (s = !0, e = 0) :
                   (this.setCurrentRawFrameValue(
                        this.totalFrames + e % this.totalFrames),
                    this._completedLoop ? this.trigger('loopComplete') :
                                          this._completedLoop = !0)) :
                  this.setCurrentRawFrameValue(e),
          s &&
          (this.setCurrentRawFrameValue(e), this.pause(),
           this.trigger('complete'))
    }
  }, pe.prototype.adjustSegment = function(t, e) {
    this.playCount = 0,
    t[1] < t[0] ?
        (0 < this.frameModifier &&
             (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) :
                                   this.setDirection(-1)),
         this.totalFrames = t[0] - t[1], this.timeCompleted = this.totalFrames,
         this.firstFrame = t[1],
         this.setCurrentRawFrameValue(this.totalFrames - .001 - e)) :
        t[1] > t[0] &&
            (this.frameModifier < 0 &&
                 (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) :
                                       this.setDirection(1)),
             this.totalFrames = t[1] - t[0],
             this.timeCompleted = this.totalFrames, this.firstFrame = t[0],
             this.setCurrentRawFrameValue(.001 + e)),
    this.trigger('segmentStart')
  }, pe.prototype.setSegment = function(t, e) {
    var s = -1;
    this.isPaused &&
        (this.currentRawFrame + this.firstFrame < t ?
             s = t :
             this.currentRawFrame + this.firstFrame > e && (s = e - t)),
        this.firstFrame = t, this.totalFrames = e - t,
        this.timeCompleted = this.totalFrames,
        -1 !== s && this.goToAndStop(s, !0)
  }, pe.prototype.playSegments = function(t, e) {
    if (e && (this.segments.length = 0), 'object' == typeof t[0]) {
      var s, i = t.length;
      for (s = 0; s < i; s += 1) this.segments.push(t[s])
    } else
      this.segments.push(t);
    this.segments.length && e && this.adjustSegment(this.segments.shift(), 0),
        this.isPaused && this.play()
  }, pe.prototype.resetSegments = function(t) {
    this.segments.length = 0,
    this.segments.push([this.animationData.ip, this.animationData.op]),
    t && this.checkSegments(0)
  }, pe.prototype.checkSegments = function(t) {
    return !!this.segments.length &&
        (this.adjustSegment(this.segments.shift(), t), !0)
  }, pe.prototype.destroy = function(t) {
    t && this.name !== t || !this.renderer ||
        (this.renderer.destroy(), this.imagePreloader.destroy(),
         this.trigger('destroy'), this._cbs = null, this.onEnterFrame = null,
         this.onLoopComplete = null, this.onComplete = null,
         this.onSegmentStart = null, this.onDestroy = null,
         this.renderer = null, this.renderer = null, this.imagePreloader = null,
         this.projectInterface = null)
  }, pe.prototype.setCurrentRawFrameValue = function(t) {
    this.currentRawFrame = t, this.gotoFrame()
  }, pe.prototype.setSpeed = function(t) {
    this.playSpeed = t, this.updaFrameModifier()
  }, pe.prototype.setDirection = function(t) {
    this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier()
  }, pe.prototype.setVolume = function(t, e) {
    e && this.name !== e || this.audioController.setVolume(t)
  }, pe.prototype.getVolume = function() {
    return this.audioController.getVolume()
  }, pe.prototype.mute = function(t) {
    t && this.name !== t || this.audioController.mute()
  }, pe.prototype.unmute = function(t) {
    t && this.name !== t || this.audioController.unmute()
  }, pe.prototype.updaFrameModifier = function() {
    this.frameModifier = this.frameMult * this.playSpeed * this.playDirection,
    this.audioController.setRate(this.playSpeed * this.playDirection)
  }, pe.prototype.getPath = function() {
    return this.path
  }, pe.prototype.getAssetsPath = function(t) {
    var e = '';
    if (t.e)
      e = t.p;
    else if (this.assetsPath) {
      var s = t.p;
      -1 !== s.indexOf('images/') && (s = s.split('/')[1]),
          e = this.assetsPath + s
    } else
      e = this.path, e += t.u ? t.u : '', e += t.p;
    return e
  }, pe.prototype.getAssetData = function(t) {
    for (var e = 0, s = this.assets.length; e < s;) {
      if (t === this.assets[e].id) return this.assets[e];
      e += 1
    }
    return null
  }, pe.prototype.hide = function() {
    this.renderer.hide()
  }, pe.prototype.show = function() {
    this.renderer.show()
  }, pe.prototype.getDuration = function(t) {
    return t ? this.totalFrames : this.totalFrames / this.frameRate
  }, pe.prototype.trigger = function(t) {
    if (this._cbs && this._cbs[t]) switch (t) {
        case 'enterFrame':
          this.triggerEvent(
              t,
              new o(
                  t, this.currentFrame, this.totalFrames, this.frameModifier));
          break;
        case 'loopComplete':
          this.triggerEvent(
              t, new p(t, this.loop, this.playCount, this.frameMult));
          break;
        case 'complete':
          this.triggerEvent(t, new l(t, this.frameMult));
          break;
        case 'segmentStart':
          this.triggerEvent(t, new m(t, this.firstFrame, this.totalFrames));
          break;
        case 'destroy':
          this.triggerEvent(t, new c(t, this));
          break;
        default:
          this.triggerEvent(t)
      }
    'enterFrame' === t && this.onEnterFrame &&
        this.onEnterFrame.call(
            this,
            new o(t, this.currentFrame, this.totalFrames, this.frameMult)),
        'loopComplete' === t && this.onLoopComplete &&
        this.onLoopComplete.call(
            this, new p(t, this.loop, this.playCount, this.frameMult)),
        'complete' === t && this.onComplete &&
        this.onComplete.call(this, new l(t, this.frameMult)),
        'segmentStart' === t && this.onSegmentStart &&
        this.onSegmentStart.call(
            this, new m(t, this.firstFrame, this.totalFrames)),
        'destroy' === t && this.onDestroy &&
        this.onDestroy.call(this, new c(t, this))
  }, pe.prototype.triggerRenderFrameError = function(t) {
    var e = new u(t, this.currentFrame);
    this.triggerEvent('error', e), this.onError && this.onError.call(this, e)
  }, pe.prototype.triggerConfigError = function(t) {
    var e = new g(t, this.currentFrame);
    this.triggerEvent('error', e), this.onError && this.onError.call(this, e)
  };
  var lottie = {};
  function de() {
    !0 === ce ? le.searchAnimations(ue, ce, ge) : le.searchAnimations()
  }
  lottie.play = le.play, lottie.pause = le.pause,
  lottie.setLocationHref =
      function(t) {
    A = t
  },
  lottie.togglePause = le.togglePause, lottie.setSpeed = le.setSpeed,
  lottie.setDirection = le.setDirection, lottie.stop = le.stop,
  lottie.searchAnimations = de, lottie.registerAnimation = le.registerAnimation,
  lottie.loadAnimation =
      function(t) {
    return !0 === ce && (t.animationData = JSON.parse(ue)), le.loadAnimation(t)
  },
  lottie.setSubframeRendering =
      function(t) {
    i = t
  },
  lottie.resize = le.resize, lottie.goToAndStop = le.goToAndStop,
  lottie.destroy = le.destroy,
  lottie.setQuality =
      function(t) {
    if ('string' == typeof t) switch (t) {
        case 'high':
          P = 200;
          break;
        default:
        case 'medium':
          P = 50;
          break;
        case 'low':
          P = 10
      }
    else
      !isNaN(t) && 1 < t && (P = t);
    r(!(50 <= P))
  },
  lottie.inBrowser =
      function() {
    return 'undefined' != typeof navigator
  },
  lottie.installPlugin =
      function(t, e) {
    'expressions' === t && (h = e)
  },
  lottie.freeze = le.freeze, lottie.unfreeze = le.unfreeze,
  lottie.setVolume = le.setVolume, lottie.mute = le.mute,
  lottie.unmute = le.unmute,
  lottie.getRegisteredAnimations = le.getRegisteredAnimations,
  lottie.__getFactory = function(t) {
    switch (t) {
      case 'propertyFactory':
        return R;
      case 'shapePropertyFactory':
        return H;
      case 'matrix':
        return I;
      default:
        return null
    }
  }, lottie.version = '5.7.8';
  var me, ce = '__[STANDALONE]__', ue = '__[ANIMATIONDATA]__', ge = '';
  if (ce) {
    var ye = document.getElementsByTagName('script'),
        ve = ye[ye.length - 1] || {src: ''};
    me = ve.src.replace(/^[^\?]+\??/, ''), ge = function(t) {
      for (var e = me.split('&'), s = 0; s < e.length; s += 1) {
        var i = e[s].split('=');
        if (decodeURIComponent(i[0]) == t) return decodeURIComponent(i[1])
      }
      return null
    }('renderer')
  }
  var be = setInterval(function() {
    'complete' === document.readyState && (clearInterval(be), de())
  }, 100);
  return lottie;
}));Ә