(function () { System.register( [ './index-legacy-23994a1f-1694097723525.js', './contants-legacy-65284d04-1694097723525.js', './Slider-legacy-8162d896-1694097723525.js', './isCollaose-legacy-5a1ee4d8-1694097723525.js', './index-legacy-060fbbf1-1694097723525.js', './urlUtils-legacy-b652a21b-1694097723525.js', './ding-legacy-f3656c17-1694097723525.js', './state-legacy-ce211412-1694097723525.js' ], function (exports, module) { 'use strict'; var openBlock, createElementBlock, createBaseVNode, normalizeClass, defineComponent, ref, useRoute, onMounted, nextTick, onUnmounted, watch, createVNode, createTextVNode, NInputNumber, NSpace, NButton, NImage, getSecond, dayjs, mergeProps, Fragment, useUserStore, NSkeleton, commonjsGlobal, getDefaultExportFromCjs, computed, normalizeStyle, toRefs, reactive, NModal, useMessage, useRouter, Transition, NDrawer, NDrawerContent, px2vw, isVNode, TCPlayer, iconplay, iconpause, iconReplay$2, tickMp3, Vudio, NScrollbar, NSlider, lessonCoursewareDetail, lessonPreTrainingPage, CardType, queryCourseware, courseScheduleUpdate, TrainSettings, vaildUrl, dingPng$1, moveTop, state; return { setters: [ t => { (openBlock = t.b8), (createElementBlock = t.ah), (createBaseVNode = t.ai), (normalizeClass = t.aY), (defineComponent = t.d), (ref = t.r), (useRoute = t.a), (onMounted = t.n), (nextTick = t.E), (onUnmounted = t.O), (watch = t.y), (createVNode = t.f), (createTextVNode = t.k), (NInputNumber = t.dl), (NSpace = t.w), (NButton = t.j), (NImage = t.t), (getSecond = t.dm), (dayjs = t.V), (mergeProps = t.x), (Fragment = t.F), (useUserStore = t.c), (NSkeleton = t.dn), (commonjsGlobal = t.c3), (getDefaultExportFromCjs = t.c4), (computed = t.L), (normalizeStyle = t.a_), (toRefs = t.bB), (reactive = t.e), (NModal = t.v), (useMessage = t.b), (useRouter = t.u), (Transition = t.T), (NDrawer = t.dp), (NDrawerContent = t.dq), (px2vw = t.R), (isVNode = t.aU); }, t => { (TCPlayer = t.T), (iconplay = t.b), (iconpause = t.c), (iconReplay$2 = t.d), (tickMp3 = t.f), (Vudio = t.V), (NScrollbar = t.N); }, t => { NSlider = t.N; }, t => { (lessonCoursewareDetail = t.c), (lessonPreTrainingPage = t.h), (CardType = t.C), (queryCourseware = t.q), (courseScheduleUpdate = t.u); }, t => { TrainSettings = t.a; }, t => { vaildUrl = t.v; }, t => { (dingPng$1 = t.d), (moveTop = t.m); }, t => { state = t.s; } ], execute: function () { var __vite_style__ = document.createElement('style'); (__vite_style__.textContent = '@charset "UTF-8";._timerWrap_1ilvi_1{background-color:#fff;display:flex;flex-direction:column;align-items:center;border-radius:0 0 .83333333vw .83333333vw}._timerWrap_1ilvi_1 ._timerTop_1ilvi_8{width:14.375vw;height:2.13541667vw;background:#F5F6FA;border-radius:.41666667vw;margin-top:1.25vw;display:flex;flex-direction:row;align-items:center;margin-bottom:1.25vw}._timerWrap_1ilvi_1 ._timerTop_1ilvi_8 ._timerTopPane_1ilvi_19{width:50%;text-align:center;line-height:2.13541667vw;cursor:pointer}._timerWrap_1ilvi_1 ._timerTop_1ilvi_8 ._timerTopPaneActive_1ilvi_25{background:#198CFE;border-radius:.41666667vw;color:#fff}._timerItemInfo_1ilvi_30{width:36.04166667vw;background:#A6D1FF;box-shadow:0 .46875vw #cbd6df;border-radius:2.39583333vw;border:.67708333vw solid #EEF7FF;padding:.52083333vw}._timerItemInfo_1ilvi_30 ._timerItemInset_1ilvi_38{min-height:17.65625vw;border-radius:1.45833333vw 1.45833333vw 1.97916667vw 1.97916667vw;background:#D8ECFE}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._dot_1ilvi_50{width:.52083333vw;height:.52083333vw;background:#131415;border-radius:1.45833333vw;margin-bottom:.78125vw;margin:.36458333vw 3.64583333vw}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._dotTop_1ilvi_58{width:.52083333vw;height:3.85416667vw}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._timerItemTopCore_1ilvi_62{display:flex;flex-direction:column;align-items:center;justify-content:center}._timerItemInfo_1ilvi_30 ._timerItemInfoTop_1ilvi_43 ._timerItemTopCore_1ilvi_62 h4{font-size:1.14583333rem;font-weight:600;color:#7caee1;line-height:3.64583333vw}._nowTimerWrap_1ilvi_74{margin:1.82291667vw 0 1.35416667vw;width:9.0625vw;line-height:2.34375vw;height:2.34375vw;width:100%;text-align:center;font-size:1.25rem;font-weight:400;color:rgba(19,20,21,.5);line-height:1.71875vw}._btnGroupModal_1ilvi_86{padding:2.08333333vw 0 1.66666667vw}._btnGroupModal_1ilvi_86 .n-button{height:2.44791667vw;min-width:8.125vw}._palyIcon_1ilvi_93{width:.57291667vw;height:.72916667vw}._playText_1ilvi_97{margin-left:.52083333vw}._countInput_1ilvi_100{margin:0 .83333333vw}._countInput_1ilvi_100 .n-input__border,._countInput_1ilvi_100 .n-input__state-border{display:none}._countInput_1ilvi_100 .n-input{width:3.4375vw;height:1.71875vw;border-radius:.88541667vw;overflow:hidden}._countInput_1ilvi_100 .n-input .n-input-wrapper{text-align:center;background:#F5F6FA;padding:0}._dotBtm_1ilvi_120{width:100%;height:1.71875vw}._chioseWrap_1ilvi_124{margin:1.82291667vw 0 1.35416667vw;line-height:2.34375vw;height:2.34375vw;background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 100%);box-shadow:.10416667vw .10416667vw #a2caee;border-radius:1.19791667vw;display:flex;flex-direction:row;align-items:center;justify-content:center}._chioseWrap_1ilvi_124 .n-input__input,._chioseWrap_1ilvi_124 .n-input__input-el{line-height:1.71875vw!important;height:1.71875vw!important}._chioseWrap_1ilvi_124 ._add_1ilvi_144{width:.83333333vw;height:.83333333vw;cursor:pointer}._chioseWrap_1ilvi_124 ._minus_1ilvi_149{width:.83333333vw;height:.20833333vw;cursor:pointer}._chioseHidden_1ilvi_154{visibility:hidden}._numberWrap_1ilvi_157{border-radius:.83333333vw;overflow:hidden;background-color:#fff;box-shadow:.20833333vw .20833333vw #a2caee;align-items:center;display:flex;flex-direction:row}.M-Flipper{display:inline-block;position:relative;width:3.90625vw;height:7.8125vw;line-height:7.8125vw;background:#fff;font-size:6.66666667rem;color:#131415;text-align:center;font-family:DINA}.M-Flipper:nth-of-type(2n){text-align:left;margin-left:.26041667vw}.M-Flipper:nth-of-type(odd){text-align:right;margin-right:.26041667vw}.M-Flipper .digital:before,.M-Flipper .digital:after{content:"";position:absolute;left:0;right:0;background:#fff;overflow:hidden;box-sizing:border-box}.M-Flipper .digital:before{top:0;bottom:50%;border-radius:.52083333vw .52083333vw 0 0;border-bottom:solid .10416667vw #fff}.M-Flipper .digital:after{top:50%;bottom:0;border-radius:0 0 .52083333vw .52083333vw;line-height:0}.M-Flipper.down .front:before{z-index:3}.M-Flipper.down .back:after{z-index:2;transform-origin:50% 0%;transform:perspective(15.625vw) rotateX(180deg)}.M-Flipper.down .front:after,.M-Flipper.down .back:before{z-index:1}.M-Flipper.down.go .front:before{transform-origin:50% 100%;animation:frontFlipDown .6s ease-in-out both;box-shadow:0 -.10416667vw .3125vw rgba(255,255,255,.3);backface-visibility:hidden}.M-Flipper.down.go .back:after{animation:backFlipDown .6s ease-in-out both}.M-Flipper.up .front:after{z-index:3}.M-Flipper.up .back:before{z-index:2;transform-origin:50% 100%;transform:perspective(15.625vw) rotateX(-180deg)}.M-Flipper.up .front:before,.M-Flipper.up .back:after{z-index:1}.M-Flipper.up.go .front:after{transform-origin:50% 0;animation:frontFlipUp .6s ease-in-out both;box-shadow:0 .10416667vw .3125vw rgba(255,255,255,.3);backface-visibility:hidden}.M-Flipper.up.go .back:before{animation:backFlipUp .6s ease-in-out both}@keyframes frontFlipDown{0%{transform:perspective(15.625vw) rotateX(0)}to{transform:perspective(15.625vw) rotateX(-180deg)}}@keyframes backFlipDown{0%{transform:perspective(15.625vw) rotateX(180deg)}to{transform:perspective(15.625vw) rotateX(0)}}@keyframes frontFlipUp{0%{transform:perspective(15.625vw) rotateX(0)}to{transform:perspective(15.625vw) rotateX(180deg)}}@keyframes backFlipUp{0%{transform:perspective(15.625vw) rotateX(-180deg)}to{transform:perspective(15.625vw) rotateX(0)}}.M-Flipper .number0:before,.M-Flipper .number0:after{content:"0"}.M-Flipper .number1:before,.M-Flipper .number1:after{content:"1"}.M-Flipper .number2:before,.M-Flipper .number2:after{content:"2"}.M-Flipper .number3:before,.M-Flipper .number3:after{content:"3"}.M-Flipper .number4:before,.M-Flipper .number4:after{content:"4"}.M-Flipper .number5:before,.M-Flipper .number5:after{content:"5"}.M-Flipper .number6:before,.M-Flipper .number6:after{content:"6"}.M-Flipper .number7:before,.M-Flipper .number7:after{content:"7"}.M-Flipper .number8:before,.M-Flipper .number8:after{content:"8"}.M-Flipper .number9:before,.M-Flipper .number9:after{content:"9"}._downMove_137wx_1{width:18.38541667vw;background:#FFFFFF;border-radius:.83333333vw;position:relative;padding:0 1.5625vw 1.82291667vw;text-align:center}._downMove_137wx_1 ._downMoveBg_137wx_9{position:absolute;top:0;left:0;width:18.38541667vw;height:5.26041667vw}._downMove_137wx_1 ._dingPng_137wx_16{width:8.4375vw;height:5.10416667vw;position:absolute;left:50%;margin-left:-4.21875vw;top:-2.55208333vw;z-index:100}._downMove_137wx_1 ._closeAble_137wx_25{cursor:pointer;width:1.30208333vw;height:1.30208333vw;position:absolute;top:.9375vw;right:1.04166667vw}._downMove_137wx_1 h2{position:relative;padding-top:3.33333333vw;height:1.71875vw;font-size:1.25rem;font-family:PingFangSC-Semibold,PingFang SC;font-weight:600;color:#131415;line-height:1.71875vw;text-align:center;margin-bottom:.78125vw}._downMove_137wx_1 p{padding-top:1.66666667vw;font-size:.9375rem;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#777;line-height:1.5625vw}._downMove_137wx_1 ._submitAppBtn_137wx_53{width:13.38541667vw;height:2.34375vw;line-height:2.34375vw;background:linear-gradient(305deg,#40C8FF 0%,#3192FF 100%);border-radius:1.25vw;border:none}._downMove_137wx_1 ._submitAppBtn_137wx_53 .n-button__border,._downMove_137wx_1 ._submitAppBtn_137wx_53 .n-button__state-border{display:none}._playContent_z3eb0_1{position:relative;width:100vw;height:100vh;background-color:#000;overflow:hidden;--plyr-color-main: var(--van-primary);--plyr-range-track-height: .15625vw}._assignHomeworkClose_z3eb0_10{position:absolute;top:2.08333333vw;left:2.08333333vw;width:3.125vw;height:3.38541667vw;cursor:pointer;transition:all .5s}._assignHomeworkClose_z3eb0_10 img{width:100%;height:100%}._coursewarePlay_z3eb0_23{position:relative;height:100vh;margin:0 auto;overflow:hidden}._playModel_z3eb0_29{position:absolute;left:0;top:0;right:0;bottom:0;box-shadow:inset 0 0 8.54166667vw #000;pointer-events:none}._headerContainer_z3eb0_38{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:2.39583333vw;background-color:rgba(0,0,0,.5);transition:transform .5s;box-sizing:border-box;font-size:max(.83333333rem,14Px);color:#fff;pointer-events:none}._headerContainer_z3eb0_38 div{box-sizing:border-box}._backBtn_z3eb0_58{color:#fff;height:100%;display:flex;justify-content:space-between;align-items:center;z-index:10;padding:0 .78125vw}._backBtn_z3eb0_58 .van-icon{margin-right:.41666667vw}._headRight_z3eb0_70{position:relative;z-index:10;display:flex;align-items:center;margin-left:auto;height:100%;padding-right:.78125vw}._headRight_z3eb0_70 ._rightBtn_z3eb0_79{display:flex;justify-content:center;align-items:center;height:100%;padding:0 .52083333vw}._headRight_z3eb0_70 ._rightBtn_z3eb0_79 img{width:1.14583333vw;height:1.14583333vw;display:block}._menu_z3eb0_91{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:.88541667rem;font-weight:700;color:#fff}._tabsContent_z3eb0_102{width:100vw;height:100vh}._tabsContent_z3eb0_102 .van-tabs__wrap{display:none!important}._tabsContent_z3eb0_102 .van-tabs__content{width:100%;height:100%}._wraps_z3eb0_113{width:100%;height:100%;transform-style:preserve-3d;perspective:32rem;transition-timing-function:initial}._itemDiv_z3eb0_120{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#000;transform-style:preserve-3d;transition-property:transform,opacity,height;backface-visibility:hidden;overflow:hidden;z-index:1}._itemDiv_z3eb0_120._itemActive_z3eb0_133{z-index:10}._itemDiv_z3eb0_120._acitveAnimation_z3eb0_136{transition-duration:.8s}._itemDiv_z3eb0_120._show_z3eb0_139{display:block}._itemDiv_z3eb0_120._hide_z3eb0_142{display:none}._itemDiv_z3eb0_120 video{width:100%;height:100%}._itemDiv_z3eb0_120 img{display:block;width:100%;height:100%;object-fit:contain}._rightFixedBtns_z3eb0_155{position:absolute;top:50%;transform:translateY(-50%);right:.83333333vw;z-index:10}._fullBtn_z3eb0_162{width:3.125vw;height:3.125vw;overflow:hidden}._fullBtn_z3eb0_162._point_z3eb0_167{margin:1.04166667vw 0 0}._fullBtn_z3eb0_162 img{width:100%;height:100%}._fullBtn_z3eb0_162:active{opacity:.8}._fullBtn_z3eb0_162._iconUp_z3eb0_177,._fullBtn_z3eb0_162._iconDown_z3eb0_178{margin-top:1.04166667vw}._fullBtn_z3eb0_162._btnsDisabled_z3eb0_181{opacity:0;pointer-events:none;display:none}.top-enter-active,.top-leave-active{transition:transform .5s}.top-enter-from,.top-leave-to{transform:translateY(-100%)}.right-enter-active,.right-leave-active{transition:all .5s}.right-enter-from,.right-leave-to{right:-3.125vw;opacity:0}.bottom-enter-active,.bottom-leave-active{transition:transform .5s}.bottom-enter-from,.bottom-leave-to{transform:translateY(100%)}._loadWrap_z3eb0_211{position:absolute;left:0;top:0;right:0;bottom:0;background:linear-gradient(45deg,#21232a,#111218);display:flex;justify-content:center;align-items:center}._drawerContainer_z3eb0_222{width:18.75vw!important}._drawerContainer_z3eb0_222 ._cardContainer_z3eb0_225{margin-bottom:1.25vw}._drawerContainer_z3eb0_222 .n-drawer-body-content-wrapper{padding:.41666667vw 0px 0px!important;text-align:center}._drawerContainer_z3eb0_222 .n-drawer-header{position:relative;justify-content:center!important;padding-top:1.25vw!important;padding-bottom:1.04166667vw!important;border-bottom:0!important}._drawerContainer_z3eb0_222 .n-drawer-header .n-drawer-header__main{position:relative;z-index:2;font-size:.9375rem;font-weight:600;color:#131415}._drawerContainer_z3eb0_222 .n-drawer-header .n-drawer-header__main:after{position:absolute;bottom:-.20833333vw;left:0;z-index:-1;content:" ";width:100%;display:inline-block;height:.52083333vw;background:linear-gradient(90deg,#77bbff 0%,rgba(163,231,255,.22) 100%)}._drawerContainer_z3eb0_222 .n-drawer-header .n-drawer-header__close{position:absolute;right:1.35416667vw}._sectionAnimate_z3eb0_261{opacity:0;pointer-events:none;transform:translateY(100%);transition:all .5s}._sectionAnimateUp_z3eb0_267{opacity:0;pointer-events:none;transform:translateY(-100%);transition:all .3s}._switchDisplaySection_z3eb0_273{position:absolute;right:0;bottom:0;z-index:199;transition:all .3s;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 2.08333333vw;height:6.5625vw;background-color:rgba(0,0,0,.7);pointer-events:none}._switchDisplaySection_z3eb0_273 ._switchSpace_z3eb0_288{gap:0 2.5vw!important}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291{display:flex;align-items:center;flex-direction:column;cursor:pointer;pointer-events:auto}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291._btnsDisabled_z3eb0_181{opacity:.7;cursor:not-allowed}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291 img{width:2.91666667vw;height:2.91666667vw}._switchDisplaySection_z3eb0_273 ._btnItem_z3eb0_291 p{padding-top:.3125vw;font-size:.9375rem;color:#fff;line-height:1.30208333vw;text-align:center}._attendClassModal_z3eb0_313{width:23.02083333vw;border-radius:.83333333vw;overflow:hidden}._attendClassModal_z3eb0_313 .n-card-header{position:relative;padding:1.04166667vw .9375vw;text-align:center;font-size:1.14583333rem;font-weight:600;color:#131415;line-height:1.5625vw}._attendClassModal_z3eb0_313 .n-card-header__close{position:absolute;right:.9375vw}._attendClassModal_z3eb0_313 .n-card__content{padding:0}._attendClassModal_z3eb0_313 .n-base-select-menu .n-base-select-option{font-size:.9375rem!important}._attendClassModal_z3eb0_313 ._modelAttendContent_z3eb0_337{font-size:.9375rem;color:#777;line-height:1.5625vw;text-align:center}._attendClassModal_z3eb0_313 ._modelAttendBtnGroup_z3eb0_343{padding:2.08333333vw 0;justify-content:center!important}._attendClassModal_z3eb0_313 ._modelAttendBtnGroup_z3eb0_343 .n-button{height:2.5vw!important;min-width:8.125vw}._trainClassModal_z3eb0_351{width:53.54166667vw}._trainClassModal_z3eb0_351 .n-card-header{background:#f5f6fa}._workContainer_z3eb0_357{padding:1.04166667vw 2.08333333vw 2.08333333vw}._workContainer_z3eb0_357 h2{font-size:1.35416667rem;text-align:center}._toolboxImg_z3eb0_364{width:4.32291667vw;height:4.32291667vw;position:absolute;right:.83333333vw;bottom:8.54166667vw;cursor:pointer;z-index:1000}._isDragIng_z3eb0_373{width:4.32291667vw;height:4.32291667vw}._toolClassImg_z3eb0_377{width:4.32291667vw;height:4.32291667vw;position:absolute;right:1.66666667vw;bottom:8.33333333vw;cursor:pointer;z-index:1000}.moveable-control-box{--moveable-color: transparent !important}.n-popover{background-color:transparent}._booxToolWrap_z3eb0_392{height:4.94791667vw;background:#ffffff;box-shadow:0 .10416667vw .52083333vw rgba(0,0,0,.1);border-radius:1.04166667vw;display:flex;flex-direction:row;align-items:center;padding:.52083333vw .41666667vw;justify-content:space-between}._booxToolWrap_z3eb0_392 ._booxToolItem_z3eb0_403{margin:0 .625vw;display:flex;flex-direction:column;align-items:center;font-size:.625rem;cursor:pointer;text-align:center}._booxToolWrap_z3eb0_392 ._booxToolItem_z3eb0_403:hover{opacity:.8}._booxToolWrap_z3eb0_392 ._booxToolItem_z3eb0_403 img{width:2.91666667vw;height:2.91666667vw;margin-bottom:.20833333vw}._setTimeImage_z3eb0_420{cursor:pointer}._setTimeImage_z3eb0_420 img{width:41.25vw}._beatImage_z3eb0_426{cursor:pointer}._beatImage_z3eb0_426 img{width:36.35416667vw}._changePwdModal_z3eb0_432{border-radius:.83333333vw}._imChatModal_z3eb0_435{border-radius:1.04166667vw}._modeWrap_z3eb0_438{overflow:hidden;border-radius:.83333333vw;background-color:#fff}._showModalTone_z3eb0_443{width:26.04166667vw}._showModalTone_z3eb0_443 ._studentRemove_z3eb0_446{padding:1.66666667vw 2.08333333vw 2.39583333vw}._showModalTone_z3eb0_443 ._studentRemove_z3eb0_446 p{font-size:.9375rem;color:#777;line-height:1.5625vw;text-align:center}._showModalTone_z3eb0_443 ._studentRemove_z3eb0_446 p span{color:#ea4132}._removeVisiable_z3eb0_458{width:22.5vw}._removeVisiable_z3eb0_458 .n-card-header{font-size:max(1.14583333rem,16Px)}._removeVisiable_z3eb0_458 ._studentRemove_z3eb0_446{padding:1.04166667vw 2.08333333vw 0}._removeVisiable_z3eb0_458 ._studentRemove_z3eb0_446 p{font-size:max(.9375rem,14Px);color:#777;line-height:1.5625vw;text-align:center}._removeVisiable_z3eb0_458 ._studentRemove_z3eb0_446 p span{color:#ea4132}._removeVisiable_z3eb0_458 ._btnGroupModal_z3eb0_476{padding:1.66666667vw 0}._removeVisiable_z3eb0_458 ._btnGroupModal_z3eb0_476 .n-button{height:2.44791667vw;min-width:8.125vw}@keyframes plyr-progress{to{background-position:1.30208333vw 0;background-position:var(--plyr-progress-loading-size,1.30208333vw) 0}}@keyframes plyr-popup{0%{opacity:.5;transform:translateY(.52083333vw)}to{opacity:1;transform:translateY(0)}}@keyframes plyr-fade-in{0%{opacity:0}to{opacity:1}}.plyr{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;direction:ltr;display:flex;flex-direction:column;font-family:inherit;font-family:var(--plyr-font-family,inherit);font-variant-numeric:tabular-nums;font-weight:400;font-weight:var(--plyr-font-weight-regular,400);line-height:1.7;line-height:var(--plyr-line-height,1.7);max-width:100%;min-width:10.41666667vw;position:relative;text-shadow:none;transition:box-shadow .3s ease;z-index:0}.plyr audio,.plyr iframe,.plyr video{display:block;height:100%;width:100%}.plyr button{font:inherit;line-height:inherit;width:auto}.plyr:focus{outline:0}.plyr--full-ui{box-sizing:border-box}.plyr--full-ui *,.plyr--full-ui :after,.plyr--full-ui :before{box-sizing:inherit}.plyr--full-ui a,.plyr--full-ui button,.plyr--full-ui input,.plyr--full-ui label{touch-action:manipulation}.plyr__badge{background:#4a5464;background:var(--plyr-badge-background,#4a5464);border-radius:.10416667vw;border-radius:var(--plyr-badge-border-radius,.10416667vw);color:#fff;color:var(--plyr-badge-text-color,#fff);font-size:.46875rem;font-size:var(--plyr-font-size-badge,.46875rem);line-height:1;padding:.15625vw .20833333vw}.plyr--full-ui ::-webkit-media-text-track-container{display:none}.plyr__captions{animation:plyr-fade-in .3s ease;bottom:0;display:none;font-size:.67708333rem;font-size:var(--plyr-font-size-small,.67708333rem);left:0;padding:.52083333vw;padding:var(--plyr-control-spacing,.52083333vw);position:absolute;text-align:center;transition:transform .4s ease-in-out;width:100%}.plyr__captions span:empty{display:none}@media (min-width:480px){.plyr__captions{font-size:.78125rem;font-size:var(--plyr-font-size-base,.78125rem);padding:1.04166667vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*2)}}@media (min-width:768px){.plyr__captions{font-size:.9375rem;font-size:var(--plyr-font-size-large,.9375rem)}}.plyr--captions-active .plyr__captions{display:block}.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty)~.plyr__captions{transform:translateY(-2.08333333vw);transform:translateY(calc(var(--plyr-control-spacing, .52083333vw)*-4))}.plyr__caption{background:#000c;background:var(--plyr-captions-background,#000c);border-radius:.10416667vw;-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#fff;color:var(--plyr-captions-text-color,#fff);line-height:185%;padding:.2em .5em;white-space:pre-wrap}.plyr__caption div{display:inline}.plyr__control{background:#0000;border:0;border-radius:.20833333vw;border-radius:var(--plyr-control-radius,.20833333vw);color:inherit;cursor:pointer;flex-shrink:0;overflow:visible;padding:.36458333vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*.7);position:relative;transition:all .3s ease}.plyr__control svg{fill:currentColor;display:block;height:.9375vw;height:var(--plyr-control-icon-size,.9375vw);pointer-events:none;width:.9375vw;width:var(--plyr-control-icon-size,.9375vw)}.plyr__control:focus{outline:0}.plyr__control:focus-visible{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}a.plyr__control{text-decoration:none}.plyr__control.plyr__control--pressed .icon--not-pressed,.plyr__control.plyr__control--pressed .label--not-pressed,.plyr__control:not(.plyr__control--pressed) .icon--pressed,.plyr__control:not(.plyr__control--pressed) .label--pressed,a.plyr__control:after,a.plyr__control:before{display:none}.plyr--full-ui ::-webkit-media-controls{display:none}.plyr__controls{align-items:center;display:flex;justify-content:flex-end;text-align:center}.plyr__controls .plyr__progress__container{flex:1;min-width:0}.plyr__controls .plyr__controls__item{margin-left:.13020833vw;margin-left:calc(var(--plyr-control-spacing, .52083333vw)/4)}.plyr__controls .plyr__controls__item:first-child{margin-left:0;margin-right:auto}.plyr__controls .plyr__controls__item.plyr__progress__container{padding-left:.13020833vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)/4)}.plyr__controls .plyr__controls__item.plyr__time{padding:0 .26041667vw;padding:0 calc(var(--plyr-control-spacing, .52083333vw)/2)}.plyr__controls .plyr__controls__item.plyr__progress__container:first-child,.plyr__controls .plyr__controls__item.plyr__time+.plyr__time,.plyr__controls .plyr__controls__item.plyr__time:first-child{padding-left:0}.plyr [data-plyr=airplay],.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen],.plyr [data-plyr=pip],.plyr__controls:empty{display:none}.plyr--airplay-supported [data-plyr=airplay],.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen],.plyr--pip-supported [data-plyr=pip]{display:inline-block}.plyr__menu{display:flex;position:relative}.plyr__menu .plyr__control svg{transition:transform .3s ease}.plyr__menu .plyr__control[aria-expanded=true] svg{transform:rotate(90deg)}.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip{display:none}.plyr__menu__container{animation:plyr-popup .2s ease;background:#ffffffe6;background:var(--plyr-menu-background,#ffffffe6);border-radius:.41666667vw;border-radius:var(--plyr-menu-radius,.41666667vw);bottom:100%;box-shadow:0 1px .10416667vw rgba(0,0,0,.15);box-shadow:var(--plyr-menu-shadow,0 1px .10416667vw #00000026);color:#4a5464;color:var(--plyr-menu-color,#4a5464);font-size:.78125rem;font-size:var(--plyr-font-size-base,.78125rem);margin-bottom:.52083333vw;position:absolute;right:-.15625vw;text-align:left;white-space:nowrap;z-index:3}.plyr__menu__container>div{overflow:hidden;transition:height .35s cubic-bezier(.4,0,.2,1),width .35s cubic-bezier(.4,0,.2,1)}.plyr__menu__container:after{border:.20833333vw solid #0000;border-top-color:rgba(255,255,255,.9);border:var(--plyr-menu-arrow-size,.20833333vw) solid #0000;border-top-color:var(--plyr-menu-background,#ffffffe6);content:"";height:0;position:absolute;right:.72916667vw;right:calc(var(--plyr-control-icon-size, .9375vw)/2 + var(--plyr-control-spacing, .52083333vw)*.7 - var(--plyr-menu-arrow-size, .20833333vw)/2);top:100%;width:0}.plyr__menu__container [role=menu]{padding:.36458333vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*.7)}.plyr__menu__container [role=menuitem],.plyr__menu__container [role=menuitemradio]{margin-top:.10416667vw}.plyr__menu__container [role=menuitem]:first-child,.plyr__menu__container [role=menuitemradio]:first-child{margin-top:0}.plyr__menu__container .plyr__control{align-items:center;color:#4a5464;color:var(--plyr-menu-color,#4a5464);display:flex;font-size:.67708333rem;font-size:var(--plyr-font-size-menu,var(--plyr-font-size-small,.67708333rem));padding:.24305573vw .546875vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*.7/1.5) calc(var(--plyr-control-spacing, .52083333vw)*.7*1.5);-webkit-user-select:none;user-select:none;width:100%}.plyr__menu__container .plyr__control>span{align-items:inherit;display:flex;width:100%}.plyr__menu__container .plyr__control:after{border:.20833333vw solid #0000;border:var(--plyr-menu-item-arrow-size,.20833333vw) solid #0000;content:"";position:absolute;top:50%;transform:translateY(-50%)}.plyr__menu__container .plyr__control--forward{padding-right:1.45833333vw;padding-right:calc(var(--plyr-control-spacing, .52083333vw)*.7*4)}.plyr__menu__container .plyr__control--forward:after{border-left-color:#728197;border-left-color:var(--plyr-menu-arrow-color,#728197);right:.33854167vw;right:calc(var(--plyr-control-spacing, .52083333vw)*.7*1.5 - var(--plyr-menu-item-arrow-size, .20833333vw))}.plyr__menu__container .plyr__control--forward:focus-visible:after,.plyr__menu__container .plyr__control--forward:hover:after{border-left-color:initial}.plyr__menu__container .plyr__control--back{font-weight:400;font-weight:var(--plyr-font-weight-regular,400);margin:.36458333vw;margin:calc(var(--plyr-control-spacing, .52083333vw)*.7);margin-bottom:.18229167vw;margin-bottom:calc(var(--plyr-control-spacing, .52083333vw)*.7/2);padding-left:1.45833333vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)*.7*4);position:relative;width:calc(100% - .72916667vw);width:calc(100% - var(--plyr-control-spacing, .52083333vw)*.7*2)}.plyr__menu__container .plyr__control--back:after{border-right-color:#728197;border-right-color:var(--plyr-menu-arrow-color,#728197);left:.33854167vw;left:calc(var(--plyr-control-spacing, .52083333vw)*.7*1.5 - var(--plyr-menu-item-arrow-size, .20833333vw))}.plyr__menu__container .plyr__control--back:before{background:#dcdfe5;background:var(--plyr-menu-back-border-color,#dcdfe5);box-shadow:0 1px #fff;box-shadow:0 1px 0 var(--plyr-menu-back-border-shadow-color,#fff);content:"";height:1px;left:0;margin-top:.18229167vw;margin-top:calc(var(--plyr-control-spacing, .52083333vw)*.7/2);overflow:hidden;position:absolute;right:0;top:100%}.plyr__menu__container .plyr__control--back:focus-visible:after,.plyr__menu__container .plyr__control--back:hover:after{border-right-color:initial}.plyr__menu__container .plyr__control[role=menuitemradio]{padding-left:.36458333vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)*.7)}.plyr__menu__container .plyr__control[role=menuitemradio]:after,.plyr__menu__container .plyr__control[role=menuitemradio]:before{border-radius:100%}.plyr__menu__container .plyr__control[role=menuitemradio]:before{background:#0000001a;content:"";display:block;flex-shrink:0;height:.83333333vw;margin-right:.52083333vw;margin-right:var(--plyr-control-spacing,.52083333vw);transition:all .3s ease;width:.83333333vw}.plyr__menu__container .plyr__control[role=menuitemradio]:after{background:#fff;border:0;height:.3125vw;left:.625vw;opacity:0;top:50%;transform:translateY(-50%) scale(0);transition:transform .3s ease,opacity .3s ease;width:.3125vw}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:before{background:#00b2ff;background:var(--plyr-control-toggle-checked-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)))}.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]:after{opacity:1;transform:translateY(-50%) scale(1)}.plyr__menu__container .plyr__control[role=menuitemradio]:focus-visible:before,.plyr__menu__container .plyr__control[role=menuitemradio]:hover:before{background:#23282f1a}.plyr__menu__container .plyr__menu__value{align-items:center;display:flex;margin-left:auto;margin-right:-.26041667vw;margin-right:calc(var(--plyr-control-spacing, .52083333vw)*.7*-1 - -.10416667vw);overflow:hidden;padding-left:1.27604167vw;padding-left:calc(var(--plyr-control-spacing, .52083333vw)*.7*3.5);pointer-events:none}.plyr--full-ui input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:1.35416667vw;border-radius:calc(var(--plyr-range-thumb-height, .67708333vw)*2);color:#00b2ff;color:var(--plyr-range-fill-background,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));display:block;height:.98958333vw;height:calc(var(--plyr-range-thumb-active-shadow-width, .15625vw)*2 + var(--plyr-range-thumb-height, .67708333vw));margin:0;min-width:0;padding:0;transition:box-shadow .3s ease;width:100%}.plyr--full-ui input[type=range]::-webkit-slider-runnable-track{background:#0000;background-image:linear-gradient(90deg,currentColor 0,#0000 0);background-image:linear-gradient(to right,currentColor var(--value,0),#0000 var(--value,0));border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-webkit-transition:box-shadow .3s ease;transition:box-shadow .3s ease;-webkit-user-select:none;user-select:none}.plyr--full-ui input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:.67708333vw;height:var(--plyr-range-thumb-height,.67708333vw);margin-top:-.20833333vw;margin-top:calc((var(--plyr-range-thumb-height, .67708333vw) - var(--plyr-range-track-height, .26041667vw))/2*-1);position:relative;-webkit-transition:all .2s ease;transition:all .2s ease;width:.67708333vw;width:var(--plyr-range-thumb-height,.67708333vw)}.plyr--full-ui input[type=range]::-moz-range-track{background:#0000;border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-moz-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-moz-range-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:.67708333vw;height:var(--plyr-range-thumb-height,.67708333vw);position:relative;-moz-transition:all .2s ease;transition:all .2s ease;width:.67708333vw;width:var(--plyr-range-thumb-height,.67708333vw)}.plyr--full-ui input[type=range]::-moz-range-progress{background:currentColor;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw)}.plyr--full-ui input[type=range]::-ms-track{color:rgba(0,0,0,0)}.plyr--full-ui input[type=range]::-ms-fill-upper,.plyr--full-ui input[type=range]::-ms-track{background:#0000;border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-fill-lower{background:#0000;background:currentColor;border:0;border-radius:.13020833vw;border-radius:calc(var(--plyr-range-track-height, .26041667vw)/2);height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);-ms-transition:box-shadow .3s ease;transition:box-shadow .3s ease;user-select:none}.plyr--full-ui input[type=range]::-ms-thumb{background:#fff;background:var(--plyr-range-thumb-background,#fff);border:0;border-radius:100%;box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33);height:.67708333vw;height:var(--plyr-range-thumb-height,.67708333vw);margin-top:0;position:relative;-ms-transition:all .2s ease;transition:all .2s ease;width:.67708333vw;width:var(--plyr-range-thumb-height,.67708333vw)}.plyr--full-ui input[type=range]::-ms-tooltip{display:none}.plyr--full-ui input[type=range]::-moz-focus-outer{border:0}.plyr--full-ui input[type=range]:focus{outline:0}.plyr--full-ui input[type=range]:focus-visible::-webkit-slider-runnable-track{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}.plyr--full-ui input[type=range]:focus-visible::-moz-range-track{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}.plyr--full-ui input[type=range]:focus-visible::-ms-track{outline:.10416667vw dashed #00b2ff;outline:.10416667vw dashed var(--plyr-focus-visible-color,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));outline-offset:.10416667vw}.plyr__poster{background-color:#000;background-color:var(--plyr-video-background,var(--plyr-video-background,#000));background-position:50% 50%;background-repeat:no-repeat;background-size:contain;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s ease;width:100%;z-index:1}.plyr--stopped.plyr__poster-enabled .plyr__poster{opacity:1}.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster{display:none}.plyr__time{font-size:.67708333rem;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,.67708333rem))}.plyr__time+.plyr__time:before{content:"⁄";margin-right:.52083333vw;margin-right:var(--plyr-control-spacing,.52083333vw)}@media (max-width:767px){.plyr__time+.plyr__time{display:none}}.plyr__tooltip{background:#fff;background:var(--plyr-tooltip-background,#fff);border-radius:.26041667vw;border-radius:var(--plyr-tooltip-radius,.26041667vw);bottom:100%;box-shadow:0 1px .10416667vw rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px .10416667vw #00000026);color:#4a5464;color:var(--plyr-tooltip-color,#4a5464);font-size:.67708333rem;font-size:var(--plyr-font-size-small,.67708333rem);font-weight:400;font-weight:var(--plyr-font-weight-regular,400);left:50%;line-height:1.3;margin-bottom:.52083333vw;margin-bottom:calc(var(--plyr-control-spacing, .52083333vw)/2*2);opacity:0;padding:.26041667vw .390625vw;padding:calc(var(--plyr-control-spacing, .52083333vw)/2) calc(var(--plyr-control-spacing, .52083333vw)/2*1.5);pointer-events:none;position:absolute;transform:translate(-50%,.52083333vw) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;white-space:nowrap;z-index:2}.plyr__tooltip:before{border-left:.20833333vw solid #0000;border-left:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-right:.20833333vw solid #0000;border-right:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-top:.20833333vw solid #fff;border-top:var(--plyr-tooltip-arrow-size,.20833333vw) solid var(--plyr-tooltip-background,#fff);bottom:-.20833333vw;bottom:calc(var(--plyr-tooltip-arrow-size, .20833333vw)*-1);content:"";height:0;left:50%;position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr .plyr__control:focus-visible .plyr__tooltip,.plyr .plyr__control:hover .plyr__tooltip,.plyr__tooltip--visible{opacity:1;transform:translate(-50%) scale(1)}.plyr .plyr__control:hover .plyr__tooltip{z-index:3}.plyr__controls>.plyr__control:first-child .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip{left:0;transform:translateY(.52083333vw) scale(.8);transform-origin:0 100%}.plyr__controls>.plyr__control:first-child .plyr__tooltip:before,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip:before{left:.83333333vw;left:calc(var(--plyr-control-icon-size, .9375vw)/2 + var(--plyr-control-spacing, .52083333vw)*.7)}.plyr__controls>.plyr__control:last-child .plyr__tooltip{left:auto;right:0;transform:translateY(.52083333vw) scale(.8);transform-origin:100% 100%}.plyr__controls>.plyr__control:last-child .plyr__tooltip:before{left:auto;right:.83333333vw;right:calc(var(--plyr-control-icon-size, .9375vw)/2 + var(--plyr-control-spacing, .52083333vw)*.7);transform:translate(50%)}.plyr__controls>.plyr__control:first-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control .plyr__tooltip--visible,.plyr__controls>.plyr__control:first-child+.plyr__control:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child+.plyr__control:hover .plyr__tooltip,.plyr__controls>.plyr__control:first-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:first-child:hover .plyr__tooltip,.plyr__controls>.plyr__control:last-child .plyr__tooltip--visible,.plyr__controls>.plyr__control:last-child:focus-visible .plyr__tooltip,.plyr__controls>.plyr__control:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{left:.33854167vw;left:calc(var(--plyr-range-thumb-height, .67708333vw)*.5);margin-right:.67708333vw;margin-right:var(--plyr-range-thumb-height,.67708333vw);position:relative}.plyr__progress input[type=range],.plyr__progress__buffer{margin-left:-.33854167vw;margin-left:calc(var(--plyr-range-thumb-height, .67708333vw)*-.5);margin-right:-.33854167vw;margin-right:calc(var(--plyr-range-thumb-height, .67708333vw)*-.5);width:calc(100% + .67708333vw);width:calc(100% + var(--plyr-range-thumb-height, .67708333vw))}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress .plyr__tooltip{left:0;max-width:6.25vw;overflow-wrap:break-word}.plyr__progress__buffer{-webkit-appearance:none;background:#0000;border:0;border-radius:5.20833333vw;height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);left:0;margin-top:-.13020833vw;margin-top:calc((var(--plyr-range-track-height, .26041667vw)/2)*-1);padding:0;position:absolute;top:50%}.plyr__progress__buffer::-webkit-progress-bar{background:#0000}.plyr__progress__buffer::-webkit-progress-value{background:currentColor;border-radius:5.20833333vw;min-width:.26041667vw;min-width:var(--plyr-range-track-height,.26041667vw);-webkit-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-moz-progress-bar{background:currentColor;border-radius:5.20833333vw;min-width:.26041667vw;min-width:var(--plyr-range-track-height,.26041667vw);-moz-transition:width .2s ease;transition:width .2s ease}.plyr__progress__buffer::-ms-fill{border-radius:5.20833333vw;-ms-transition:width .2s ease;transition:width .2s ease}.plyr--loading .plyr__progress__buffer{animation:plyr-progress 1s linear infinite;background-image:linear-gradient(-45deg,#23282f99 25%,#0000 0,#0000 50%,#23282f99 0,#23282f99 75%,#0000 0,#0000);background-image:linear-gradient(-45deg,var(--plyr-progress-loading-background,#23282f99) 25%,#0000 25%,#0000 50%,var(--plyr-progress-loading-background,#23282f99) 50%,var(--plyr-progress-loading-background,#23282f99) 75%,#0000 75%,#0000);background-repeat:repeat-x;background-size:1.30208333vw 1.30208333vw;background-size:var(--plyr-progress-loading-size,1.30208333vw) var(--plyr-progress-loading-size,1.30208333vw);color:rgba(0,0,0,0)}.plyr--video.plyr--loading .plyr__progress__buffer{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr--audio.plyr--loading .plyr__progress__buffer{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr__progress__marker{background-color:#fff;background-color:var(--plyr-progress-marker-background,#fff);border-radius:1px;height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);position:absolute;top:50%;transform:translate(-50%,-50%);width:.15625vw;width:var(--plyr-progress-marker-width,.15625vw);z-index:3}.plyr__volume{align-items:center;display:flex;position:relative}.plyr__volume input[type=range]{margin-left:.26041667vw;margin-left:calc(var(--plyr-control-spacing, .52083333vw)/2);margin-right:.26041667vw;margin-right:calc(var(--plyr-control-spacing, .52083333vw)/2);max-width:4.6875vw;min-width:3.125vw;position:relative;z-index:2}.plyr--audio{display:block}.plyr--audio .plyr__controls{background:#fff;background:var(--plyr-audio-controls-background,#fff);border-radius:inherit;color:#4a5464;color:var(--plyr-audio-control-color,#4a5464);padding:.52083333vw;padding:var(--plyr-control-spacing,.52083333vw)}.plyr--audio .plyr__control:focus-visible,.plyr--audio .plyr__control:hover,.plyr--audio .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-audio-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-audio-control-color-hover,#fff)}.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]::-ms-track{background-color:rgba(193,200,209,.6);background-color:var(--plyr-audio-range-track-background,var(--plyr-audio-progress-buffered-background,#c1c8d199))}.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(35,40,47,.1);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#23282f1a)}.plyr--audio .plyr__progress__buffer{color:rgba(193,200,209,.6);color:var(--plyr-audio-progress-buffered-background,#c1c8d199)}.plyr--video{overflow:hidden}.plyr--video.plyr--menu-open{overflow:visible}.plyr__video-wrapper{background:#000;background:var(--plyr-video-background,var(--plyr-video-background,#000));border-radius:inherit;height:100%;margin:auto;overflow:hidden;position:relative;width:100%}.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{aspect-ratio:16/9}@supports not (aspect-ratio:16/9){.plyr__video-embed,.plyr__video-wrapper--fixed-ratio{height:0;padding-bottom:56.25%;position:relative}}.plyr__video-embed iframe,.plyr__video-wrapper--fixed-ratio video{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.plyr--full-ui .plyr__video-embed>.plyr__video-embed__container{padding-bottom:240%;position:relative;transform:translateY(-38.28125%)}.plyr--video .plyr__controls{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;bottom:0;color:#fff;color:var(--plyr-video-control-color,#fff);left:0;padding:.26041667vw;padding:calc(var(--plyr-control-spacing, .52083333vw)/2);padding-top:1.04166667vw;padding-top:calc(var(--plyr-control-spacing, .52083333vw)*2);position:absolute;right:0;transition:opacity .4s ease-in-out,transform .4s ease-in-out;z-index:3}@media (min-width:480px){.plyr--video .plyr__controls{padding:.52083333vw;padding:var(--plyr-control-spacing,.52083333vw);padding-top:1.82291667vw;padding-top:calc(var(--plyr-control-spacing, .52083333vw)*3.5)}}.plyr--video.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none;transform:translateY(100%)}.plyr--video .plyr__control:focus-visible,.plyr--video .plyr__control:hover,.plyr--video .plyr__control[aria-expanded=true]{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));color:#fff;color:var(--plyr-video-control-color-hover,#fff)}.plyr__control--overlaid{background:#00b2ff;background:var(--plyr-video-control-background-hover,var(--plyr-color-main,var(--plyr-color-main,#00b2ff)));border:0;border-radius:100%;color:#fff;color:var(--plyr-video-control-color,#fff);display:none;left:50%;opacity:.9;padding:.78125vw;padding:calc(var(--plyr-control-spacing, .52083333vw)*1.5);position:absolute;top:50%;transform:translate(-50%,-50%);transition:.3s;z-index:2}.plyr__control--overlaid svg{left:.10416667vw;position:relative}.plyr__control--overlaid:focus,.plyr__control--overlaid:hover{opacity:1}.plyr--playing .plyr__control--overlaid{opacity:0;visibility:hidden}.plyr--full-ui.plyr--video .plyr__control--overlaid{display:block}.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-moz-range-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]::-ms-track{background-color:rgba(255,255,255,.25);background-color:var(--plyr-video-range-track-background,var(--plyr-video-progress-buffered-background,#ffffff40))}.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb{box-shadow:0 1px 1px rgba(35,40,47,.15),0 0 0 1px rgba(35,40,47,.2),0 0 0 .15625vw rgba(255,255,255,.5);box-shadow:var(--plyr-range-thumb-shadow,0 1px 1px #23282f26,0 0 0 1px #23282f33),0 0 0 var(--plyr-range-thumb-active-shadow-width,.15625vw) var(--plyr-audio-range-thumb-active-shadow-color,#ffffff80)}.plyr--video .plyr__progress__buffer{color:rgba(255,255,255,.25);color:var(--plyr-video-progress-buffered-background,#ffffff40)}.plyr:fullscreen{background:#000;border-radius:0!important;height:100%;margin:0;width:100%}.plyr:fullscreen video{height:100%}.plyr:fullscreen .plyr__control .icon--exit-fullscreen{display:block}.plyr:fullscreen .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr:fullscreen.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr:fullscreen .plyr__captions{font-size:1.09375rem;font-size:var(--plyr-font-size-xlarge,1.09375rem)}}.plyr--fullscreen-fallback{background:#000;border-radius:0!important;bottom:0;height:100%;left:0;margin:0;position:fixed;right:0;top:0;width:100%;z-index:10000000}.plyr--fullscreen-fallback video{height:100%}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen{display:block}.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen+svg{display:none}.plyr--fullscreen-fallback.plyr--hide-controls{cursor:none}@media (min-width:1024px){.plyr--fullscreen-fallback .plyr__captions{font-size:1.09375rem;font-size:var(--plyr-font-size-xlarge,1.09375rem)}}.plyr__ads{border-radius:inherit;bottom:0;cursor:pointer;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:-1}.plyr__ads>div,.plyr__ads>div iframe{height:100%;position:absolute;width:100%}.plyr__ads:after{background:#23282f;border-radius:.10416667vw;bottom:.52083333vw;bottom:var(--plyr-control-spacing,.52083333vw);color:#fff;content:attr(data-badge-text);font-size:.57291667rem;padding:.10416667vw .3125vw;pointer-events:none;position:absolute;right:.52083333vw;right:var(--plyr-control-spacing,.52083333vw);z-index:3}.plyr__ads:empty:after{display:none}.plyr__cues{background:currentColor;display:block;height:.26041667vw;height:var(--plyr-range-track-height,.26041667vw);left:0;opacity:.8;position:absolute;top:50%;transform:translateY(-50%);width:.15625vw;z-index:3}.plyr__preview-thumb{background-color:#fff;background-color:var(--plyr-tooltip-background,#fff);border-radius:.41666667vw;border-radius:var(--plyr-menu-radius,.41666667vw);bottom:100%;box-shadow:0 1px .10416667vw rgba(0,0,0,.15);box-shadow:var(--plyr-tooltip-shadow,0 1px .10416667vw #00000026);margin-bottom:.52083333vw;margin-bottom:calc(var(--plyr-control-spacing, .52083333vw)/2*2);opacity:0;padding:.15625vw;pointer-events:none;position:absolute;transform:translateY(.52083333vw) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s;z-index:2}.plyr__preview-thumb--is-shown{opacity:1;transform:translate(0) scale(1)}.plyr__preview-thumb:before{border-left:.20833333vw solid #0000;border-left:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-right:.20833333vw solid #0000;border-right:var(--plyr-tooltip-arrow-size,.20833333vw) solid #0000;border-top:.20833333vw solid #fff;border-top:var(--plyr-tooltip-arrow-size,.20833333vw) solid var(--plyr-tooltip-background,#fff);bottom:-.20833333vw;bottom:calc(var(--plyr-tooltip-arrow-size, .20833333vw)*-1);content:"";height:0;left:calc(50% + var(--preview-arrow-offset));position:absolute;transform:translate(-50%);width:0;z-index:2}.plyr__preview-thumb__image-container{background:#c1c8d1;border-radius:.36458333vw;border-radius:calc(var(--plyr-menu-radius, .41666667vw) - 1px);overflow:hidden;position:relative;z-index:0}.plyr__preview-thumb__image-container img,.plyr__preview-thumb__image-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.plyr__preview-thumb__image-container:after{border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);content:"";pointer-events:none}.plyr__preview-thumb__image-container img{max-height:none;max-width:none}.plyr__preview-thumb__time-container{background:linear-gradient(#0000,#000000bf);background:var(--plyr-video-controls-background,linear-gradient(#0000,#000000bf));border-bottom-left-radius:.36458333vw;border-bottom-left-radius:calc(var(--plyr-menu-radius, .41666667vw) - 1px);border-bottom-right-radius:.36458333vw;border-bottom-right-radius:calc(var(--plyr-menu-radius, .41666667vw) - 1px);bottom:0;left:0;line-height:1.1;padding:1.04166667vw .3125vw .3125vw;position:absolute;right:0;z-index:3}.plyr__preview-thumb__time-container span{color:#fff;font-size:.67708333rem;font-size:var(--plyr-font-size-time,var(--plyr-font-size-small,.67708333rem))}.plyr__preview-scrubbing{bottom:0;filter:blur(1px);height:100%;left:0;margin:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;width:100%;z-index:1}.plyr__preview-scrubbing--is-shown{opacity:1}.plyr__preview-scrubbing img{height:100%;left:0;max-height:none;max-width:none;object-fit:contain;position:absolute;top:0;width:100%}.plyr--no-transition{transition:none!important}.plyr__sr-only{clip:rect(1px,1px,1px,1px);border:0!important;height:1px!important;overflow:hidden;padding:0!important;position:absolute!important;width:1px!important}.plyr [hidden]{display:none!important}._musicScore_6u588_1{position:relative;width:100%;height:100%;-webkit-overflow-scrolling:touch}._musicScore_6u588_1 ._container_6u588_7{position:relative;display:block;border:none;width:100%;height:100%;z-index:10}._musicScore_6u588_1 ._musicModel_6u588_15{position:absolute;left:0;top:0;right:0;bottom:0}._errorModel_6u588_22{position:absolute;left:0;top:0;right:0;bottom:0;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}._startBtn_6u588_34{position:absolute;left:50%;bottom:6vh;transform:translate(-50%);z-index:11}._startBtn_6u588_34:active{opacity:.8}._loading_6u588_44{position:absolute;left:4%;top:50%;margin-top:-.78125vw}._skeletonWrap_6u588_50{position:absolute;left:0;top:0;right:0;height:100%;z-index:1;padding-top:1.2rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#fff;pointer-events:none;font-size:2.08333333rem}._skeleton_6u588_50{--van-skeleton-paragraph-height: 1.25vw}._skeleton_6u588_50 .van-skeleton__content .van-skeleton-paragraph{margin:.625vw auto;width:80%!important}._skeleton_6u588_50 .van-skeleton__content .van-skeleton-paragraph:first-child{width:60%!important}._skeleton_6u588_50 .van-skeleton__content .van-skeleton-paragraph:last-child{width:100%!important}._videoWrap_19uw7_1{width:100%;height:100%}._videoWrap_19uw7_1 ._sectionAnimate_19uw7_5{opacity:0;pointer-events:none;transform:translateY(6.5625vw);transition:all .2s}._videoWrap_19uw7_1 ._controls_19uw7_11{position:absolute;bottom:6.5625vw;left:0;right:0;width:100%;background-color:rgba(0,0,0,.7);height:4.47916667vw;padding:.52083333vw 2.08333333vw 0!important;display:flex;align-items:center;transition:all .301s}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24{display:flex;justify-content:space-between;color:#fff;padding:.20833333vw 1.04166667vw;font-size:1.25rem;font-weight:600;line-height:1.71875vw}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24>div{font-size:1.25rem!important}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24 ._line_19uw7_36{font-size:.625rem}._videoWrap_19uw7_1 ._controls_19uw7_11 ._time_19uw7_24 .plyr__time+.plyr__time:before{content:"";margin-right:0}._videoWrap_19uw7_1 ._actions_19uw7_43{display:flex;justify-content:space-between;height:100%;color:#fff;font-size:.625rem;align-items:center}._videoWrap_19uw7_1 ._actions_19uw7_43 ._actionWrap_19uw7_51{display:flex}._videoWrap_19uw7_1 ._actions_19uw7_43 ._actionBtn_19uw7_54{display:flex;width:3.125vw;height:3.125vw;padding:.20833333vw 0;background:transparent}._videoWrap_19uw7_1 ._actions_19uw7_43 ._actionBtn_19uw7_54>img{width:100%;height:100%}._videoWrap_19uw7_1 ._actions_19uw7_43 ._iconReplay_19uw7_65{width:2.08333333vw;height:2.03125vw;background-color:transparent}._videoWrap_19uw7_1 ._actions_19uw7_43 ._iconReplay_19uw7_65>img{width:100%;height:100%}._videoWrap_19uw7_1 ._slider_19uw7_74{width:100%;padding:0 1.04166667vw 0 .625vw}._videoWrap_19uw7_1 ._slider_19uw7_74 .n-slider .n-slider-rail .n-slider-rail__fill,._videoWrap_19uw7_1 ._slider_19uw7_74 .n-slider .n-slider-handles .n-slider-handle-wrapper{transition:all .2s}._pen_apyjn_1{position:fixed;left:0;right:0;bottom:0;top:0;z-index:501}._open_apyjn_9{display:block}._whiteboard_apyjn_12{background:#fff!important}._hide_apyjn_15{display:none}._iframe_apyjn_18{display:block;width:100%;height:100%;border:0}._dely_apyjn_24{opacity:0}._rightItem_apyjn_27{position:absolute;right:1.5625vw;bottom:0;bottom:constant(safe-area-inset-bottom);bottom:env(safe-area-inset-bottom);height:78Px;display:flex;justify-content:center;align-items:center}._rightItem_apyjn_27 svg{width:28Px;height:28Px}._img_apyjn_42{position:absolute;left:0;top:0;width:100%;height:100%;display:block}._removeVisiable_apyjn_50{width:22.5vw}._removeVisiable_apyjn_50 .n-card-header{font-size:max(1.14583333rem,16Px)}._removeVisiable_apyjn_50 ._studentRemove_apyjn_56{padding:1.04166667vw 2.08333333vw 0}._removeVisiable_apyjn_50 ._studentRemove_apyjn_56 p{font-size:max(.9375rem,14Px);color:#777;line-height:1.5625vw;text-align:center}._removeVisiable_apyjn_50 ._studentRemove_apyjn_56 p span{color:#ea4132}._removeVisiable_apyjn_50 ._btnGroupModal_apyjn_68{padding:1.66666667vw 0}._removeVisiable_apyjn_50 ._btnGroupModal_apyjn_68 .n-button{height:2.44791667vw;min-width:8.125vw}._audioWrap_8oxfj_1{width:100%;height:100%;background-color:#fff}._audioContainer_8oxfj_6{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:0 12.5vw}._audioContainer_8oxfj_6>div{flex:1}._audioContainer_8oxfj_6 ._audio_8oxfj_1{position:absolute;top:0;opacity:0}._audioContainer_8oxfj_6 ._tempVudio_8oxfj_22{position:absolute;top:0;right:0;bottom:0;left:0;padding:0 12.5vw}._audioContainer_8oxfj_6 canvas{width:100%;height:100%}._sectionAnimate_8oxfj_34{opacity:0;pointer-events:none;transform:translateY(6.5625vw);transition:all .2s}._controls_8oxfj_40{position:absolute;bottom:6.5625vw;left:0;right:0;width:100%;background-color:rgba(0,0,0,.7);height:4.47916667vw;padding:.52083333vw 2.08333333vw 0!important;transition:all .301s;display:flex;align-items:center}._controls_8oxfj_40 ._time_8oxfj_53{display:flex;justify-content:space-between;color:#fff;padding:.20833333vw 1.04166667vw;font-size:1.25rem;font-weight:600;line-height:1.71875vw}._controls_8oxfj_40 ._time_8oxfj_53>div{font-size:1.25rem!important}._controls_8oxfj_40 ._time_8oxfj_53 ._line_8oxfj_65{font-size:.625rem}._controls_8oxfj_40 ._time_8oxfj_53 .plyr__time+.plyr__time:before{content:"";margin-right:0}._actions_8oxfj_72{display:flex;justify-content:space-between;height:100%;color:#fff;font-size:.625rem;align-items:center}._actions_8oxfj_72 ._actionWrap_8oxfj_80{display:flex}._actions_8oxfj_72 ._actionBtn_8oxfj_83{display:flex;width:3.125vw;height:3.125vw;padding:.20833333vw 0;background:transparent;cursor:pointer}._actions_8oxfj_72 ._actionBtn_8oxfj_83>img{width:100%;height:100%}._actions_8oxfj_72 ._iconReplay_8oxfj_95{width:2.08333333vw;height:2.03125vw;background-color:transparent}._actions_8oxfj_72 ._iconReplay_8oxfj_95>img{width:100%;height:100%}._slider_8oxfj_104{width:100%;padding:0 1.04166667vw 0 .625vw}._slider_8oxfj_104 .n-slider .n-slider-rail .n-slider-rail__fill,._slider_8oxfj_104 .n-slider .n-slider-handles .n-slider-handle-wrapper{transition:all .2s}._scrollBar_ds6lg_1{margin:0 1.04166667vw;width:calc(100% - 2.08333333vw)}._treeParent_ds6lg_5{transition:height 1s ease-in-out}._treeChild_ds6lg_8{line-height:2.8125vw}._treeItem_ds6lg_11{display:flex;align-items:center;line-height:2.8125vw;padding:0 .26041667vw;cursor:pointer;border-radius:.52083333vw;font-size:.88541667rem}._treeItem_ds6lg_11:hover{background:#F5F6FA}._treeItem_ds6lg_11 ._title_ds6lg_23{padding-left:.41666667vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:14.58333333vw!important;color:rgba(0,0,0,.5);display:flex;align-items:center}._treeItem_ds6lg_11 ._title_ds6lg_23 ._dir_ds6lg_33{flex-shrink:1;display:inline-block;width:.83333333vw;height:.9375vw;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAetJREFUWEftmL9Lw0AUx78v0aAgxSFprSDOdhAHJ0FCS3Hs5iR1ERH8tepWxb+gWkUQFzsqIo5FCuLqIA5xtg4drLWUohJNTk4pqGjpxZM4NFMg9333ue/lPe4d4cMTiUS0UqkyzMgZgEs6I7fz43ev78SURyisREy90vXuc8uy7Hosqr+Ew+F+x3HGXaDL60TN6BSgpqrqfrFYvObj3wD45M+OMwlAbSaIhDFOu6rucQh6t720+Ncr/wrNndB1fZ2Cwd4RFy9jElYlHEJBW46MUGiKMdYnrJYgIKIbMozQMiPWISGecAieHaQHgyvCSomC/w0QCASwubGBWCwGTdOE1m3bNvL5POYWFlCtVn/UNnQglUphfnZWaOKvgzOZDFbX1rwB7O7sIJFI/Arg6OgY0zPT3gDG4nFks1koiuIJwnVdJJNJ5E5OvAFw1dDgEExzFJomlqm2/YTT0zNcXF40hP/fWeDJd0FRy4GGDogUonK5jHQ6ja3tbaFNkF6IzGgUlmU1DdEQwEshmuB5n8vJARAtRIVCAaYZRe2hJgdApBDd39/h4PAQlUql6cnfDqWt80DLgZYDhtGzJKsJFco/noL8WO57Y+J7a+Z7c8r3zdf2vP7j+HpBUYf4fEUDQ1bTSoyeoOD2uyuaV7DJ02v4pZ8HAAAAAElFTkSuQmCC) no-repeat center;background-size:contain;margin-right:.3125vw}._treeItem_ds6lg_11 ._title_ds6lg_23._titleSelect_ds6lg_42{color:#198cfe;font-weight:700}._treeItem_ds6lg_11 ._title_ds6lg_23._titleSelect_ds6lg_42 ._dir_ds6lg_33{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAAAXNSR0IArs4c6QAAAc9JREFUWEftmEFIVFEUhr/zGlIIhAwc0rUxbXQfIgy5cuEmmIWYy4KgjRJjK8FdRCBFYLQRBRcDIq5clAyGuk4XJblqoWOLeUUwqIPNifvggU35eO++F8/F3NWFd/5z/vvfe8675wrnRva5XlOXhzS4J5BT6Dz/3XYu4Crs4bAsnbz59kRqvi/xJ91FHTgTSig3bQOFwgmVjFI4fCabxt4jYIL/EtZVuRrKSUwjEepXlLuGhHiyV9n/7ytvJi1U5Aa90vVUJ2jwIuai7OAOk9JV1C3gjp2H2KhtyU6pq8r12K4sHJjsMAqoBTYxyOUm0NEOrwqQvwVtmWiLPj2D8hd4XIKfJxdjAxWYHoZHg9ECN1u/3oCZNUsCb0dhpC8egdVdeLBkSWAoB4vj4Dh2JBoNuL8A7/csCRhYfw8M9tqdgQ/7sHMQTP5yZ4Gd8NFQLQUCFYhSiKo1eFmGOe+aEX4kXojys/DpKCECNoVobB7eBeT9X/eSoL9h1EL01QWjQK2ekAJRCpE5Aysf4cdx+ODGspWGLQVaCki2qNWkmtBoCej1hd61PL3GRNhKvzVLvTk1+5Zqe+4fnFQfKHwSfzzRCLeTalpF+K7K53890fwGwiHWBQCa64sAAAAASUVORK5CYII=) no-repeat center;background-size:contain}._treeItem_ds6lg_11 ._arrow_ds6lg_50{display:inline-block;width:.72916667vw;height:.78125vw;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAAAAXNSR0IArs4c6QAAARRJREFUSEvt1cFKxDAQBuCZqVroua19gMpC32jx3h76En2aFQVvnnwCTz6Aewlsly0Yll667imV7vaoxElCQDHXhn5k8mcGwfNCzx78g5DneTgMQ1ZV1aZpGmV7BdqSxvH1EmBcEME6iqJHIcTRBtWCSZLV46iSCUGk9zC8uGvbdm+KssAJIaIDETx0XSdMUDY4IwogeJJy98pFTcGTgxi81HX1zAmTFXguMS9M1iA3TE5ATpicgT8Nk2twdi9XUm7fvkrwrwe179PZCRHpIwjgXteBnICcHmsNen34PlubNhzfNXV2Sb2OJ044jE+YpumtUnDDDYcxWBTFVd/3WVmWLWfuGYPcia7brw2N7gfc738f/ATIjb8fAy3RmAAAAABJRU5ErkJggg==) no-repeat center;background-size:contain}._treeItem_ds6lg_11 ._arrow_ds6lg_50._arrowSelect_ds6lg_57{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAVBJREFUSEvtlLFKw1AYhf+TqggFcXCxUkFxcnAVETo5KT6BowUHQWz0AfoAkoiboIubs9DJSQXxBToVhyoWpJPooiZHMlRrucnNbWIHScbkP/8H5343kAE/GDBPMmDqjWeV/m2lC2fMt5/lnCIzaZAAaYyPykZ9G6+dfb/OsOBymR5v0oB977BQatm4VgKrpHXsyIWQq6lAgdqWLetVwFcCg5dzRxx7e5dbEc4ng6KeH5Glxg5euvcor8W0y9lPX+5ITvQDBdAesmSxWcF9bz70HhYPWfI8uSQ5bAIF8JHLycrDLq5UuciLX3C4SZ8nRkAL5Scbp2EZ7Z9m8oCOCCvxoHBb+7CjZrXA2OYqjDSutBPQm6s2sm9gEAwzN8rIRMAg3GuuzsjEwGBBt7nQGJkKMFgy5XINvvBxD7V49v5MaS01Xaibz4C6hoy///9KvwAj538d1KBtmgAAAABJRU5ErkJggg==) no-repeat center;background-size:contain}._treeItem_ds6lg_11 ._childArrow_ds6lg_61{width:.625vw}._treeItem_ds6lg_11._childItem_ds6lg_64{padding-left:1.5625vw;font-size:.78125rem}._treeItem_ds6lg_11._childItem_ds6lg_64 ._title_ds6lg_23{color:#131415}._treeItem_ds6lg_11._childSelect_ds6lg_71{background:#F5F6FA}._treeItem_ds6lg_11._childSelect_ds6lg_71 ._title_ds6lg_23{color:#198cfe;font-weight:700}\n'), document.head.appendChild(__vite_style__); const timerWrap = '_timerWrap_1ilvi_1', timerTop = '_timerTop_1ilvi_8', timerTopPane = '_timerTopPane_1ilvi_19', timerTopPaneActive = '_timerTopPaneActive_1ilvi_25', timerItemInfo = '_timerItemInfo_1ilvi_30', timerItemInset = '_timerItemInset_1ilvi_38', timerItemInfoTop = '_timerItemInfoTop_1ilvi_43', dot = '_dot_1ilvi_50', dotTop = '_dotTop_1ilvi_58', timerItemTopCore = '_timerItemTopCore_1ilvi_62', nowTimerWrap = '_nowTimerWrap_1ilvi_74', btnGroupModal$2 = '_btnGroupModal_1ilvi_86', palyIcon = '_palyIcon_1ilvi_93', playText = '_playText_1ilvi_97', countInput = '_countInput_1ilvi_100', dotBtm = '_dotBtm_1ilvi_120', chioseWrap = '_chioseWrap_1ilvi_124', add$1 = '_add_1ilvi_144', minus$1 = '_minus_1ilvi_149', chioseHidden = '_chioseHidden_1ilvi_154', numberWrap = '_numberWrap_1ilvi_157', styles$7 = { timerWrap: timerWrap, timerTop: timerTop, timerTopPane: timerTopPane, timerTopPaneActive: timerTopPaneActive, timerItemInfo: timerItemInfo, timerItemInset: timerItemInset, timerItemInfoTop: timerItemInfoTop, dot: dot, dotTop: dotTop, timerItemTopCore: timerItemTopCore, nowTimerWrap: nowTimerWrap, btnGroupModal: btnGroupModal$2, palyIcon: palyIcon, playText: playText, countInput: countInput, dotBtm: dotBtm, chioseWrap: chioseWrap, add: add$1, minus: minus$1, chioseHidden: chioseHidden, numberWrap: numberWrap }, flipper_vue_vue_type_style_index_0_lang = '', _export_sfc$1 = (t, e) => { const r = t.__vccOpts || t; for (const [a, i] of e) r[a] = i; return r; }, _sfc_main$1 = { name: 'FlipClock', data: () => ({ isFlipping: !1, flipType: 'down', frontTextFromData: 0, backTextFromData: 1 }), props: { frontText: { type: [Number, String], default: 0 }, backText: { type: [Number, String], default: 1 }, duration: { type: Number, default: 600 } }, methods: { _textClass: t => 'number' + t, _flip(t, e, r) { console.log(t, e, r, '=====>'), (this.frontTextFromData = e), (this.backTextFromData = r), (this.flipType = t), (this.isFlipping = !0), setTimeout(() => { (this.isFlipping = !1), (this.frontTextFromData = r); }, this.duration); }, flipDown(t, e) { this._flip('down', t, e); }, flipUp(t, e) { this._flip('up', t, e); }, setFront(t) { this.frontTextFromData = t; }, setBack(t) { this.backTextFromData = t; } }, created() { (this.frontTextFromData = this.frontText), (this.backTextFromData = this.backText); } }; function _sfc_render$1(t, e, r, a, i, s) { return ( openBlock(), createElementBlock( 'div', { class: normalizeClass([ 'M-Flipper', [i.flipType, { go: i.isFlipping }] ]) }, [ createBaseVNode( 'div', { class: normalizeClass([ 'digital front', s._textClass(i.frontTextFromData) ]) }, null, 2 ), createBaseVNode( 'div', { class: normalizeClass([ 'digital back', s._textClass(i.backTextFromData) ]) }, null, 2 ) ], 2 ) ); } const Flipper = _export_sfc$1(_sfc_main$1, [ ['render', _sfc_render$1] ]), playIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAcCAYAAABlL09dAAAAAXNSR0IArs4c6QAAAR1JREFUSEvV1rFOwlAYxfH/eQx2VgcfBJ+AOMqCE5uB6OITyAPwCPogKBMOOhITQuLkaq45iU1KKL2X9nbgWzq0/X03/dpzKzoqhRAE3AAD4BNYSFq17Wf4HngoQb/AEzCT9NO0geEvoFcBbICxpJcmuOEQufEZuJXkRsmVAhvzI5kCc0l+VNFKhQtoCYwk+Vhbp8LGkobbBC5WWjvcNnDRoHK4OeDK4eaCy8O9lrTODbvBN3DRBWx8clbwDrjMveJXYCjpPRfsLJk5bossyQE7Vh2ve+nXBjbkOPWXd1BNYIfQ3DFat8OcCmePzYPh5MjjyuGkwB9A/8hmenQ4KfAd8Fi6MGmHiMK+IIQwAq6A7f9L/ha7MXbef0Gd1B+5cJ8q7osJlgAAAABJRU5ErkJggg==', suspend = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAcCAYAAAB75n/uAAAAAXNSR0IArs4c6QAAAMlJREFUSEvtlj0OwUEQxX+voXARtZBwAgWVA2hVOgfQ6FQ0DkLCBSioxRncgObJikr+X4msaqfaZF/ey8zO7BsRORT4bQ+AOdAEbuEsaVdV23YDWAAjoA4cgJmkuz7k2wyyYVUR23ug/8VxBVpB4Ay0MwQukjplWdjuAccc3DgIPIBaBuApKaRbGLYnwCYHtAwCzmOQ9H6jorA9BVY5mHUSCC2eSpS6KA1amoP0m/7FD6Jb5q+m3wVORaYfdqJ4a0v0xausz3+9fwE+w+v3NO9E8gAAAABJRU5ErkJggg==', add = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJhJREFUWEftlzEOQEAURPffgwOhRkPrUFoa1NaBuMeXLyTqsQmS2X7mT95uMvvFgaeffOLUtYdcXFPl6YJYCSIyTT/6VVWjY77IVhVpjHjBAbph1vvAuswgL0hkgxmABEiABEggGIGr1a5iQQoF0ViBWYvKvdUQoycaC/GBAOfH4rUrQBEGe4QMQAIkQAIk8FsCry+nodbzHQqVmosCTFkgAAAAAElFTkSuQmCC', minus = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAECAYAAADvRz3UAAAAAXNSR0IArs4c6QAAADNJREFUKFNjXLJ6myfDf4ZZ////l2GgI2BkZHzCwMiQxrhk1bbH9LYc5k+QIwaBAwY4CgCYmB5vQGvODAAAAABJRU5ErkJggg==', soundWav = '' + new URL('timer-ee5a21d4.wav', module.meta.url).href, Countdown = defineComponent({ name: 'timer-countdown', setup() { ref('positive'), useRoute(); const t = ref(), e = ref(), r = ref(), a = ref(), i = ref(null), s = ref(null), n = ref(new Date()); s.value = setInterval(() => { n.value = new Date(); }, 1e3); const o = ref(0), l = ref(0), h = ref(0), p = ref(!1), c = ref([t, e, r, a]), d = () => { (l.value = 0), (h.value = 0); for (let t = 0; t < c.value.length; t++) c.value[t].value.setFront('0000'[t]); }, f = new Audio(soundWav), m = () => { setTimeout(() => { (p.value = !1), (f.currentTime = 0), f.pause(), i.value && (clearInterval(i.value), (i.value = null)); }, 600); }, u = () => { p.value ? (m(), (o.value = 0), (f.currentTime = 0), f.pause(), setTimeout(() => { d(); }, 600)) : ((o.value = 0), d()); }; onMounted(() => { nextTick(() => { d(); }); }), onUnmounted(() => { f.pause(); }); const g = t => { const e = getSecond(o.value); (o.value += t), o.value > 3599 ? (o.value = 3599) : o.value; const r = getSecond(o.value); for (let a = 0; a < c.value.length; a++) e[a] !== r[a] && c.value[a].value.flipDown(e[a], r[a]); (l.value = Math.floor(o.value / 60)), (h.value = Math.floor(o.value % 60)); }, y = t => { const e = getSecond(o.value); (o.value -= t), o.value < 0 ? (o.value = 0) : o.value; const r = getSecond(o.value); for (let a = 0; a < c.value.length; a++) e[a] !== r[a] && c.value[a].value.flipUp(e[a], r[a]); (l.value = Math.floor(o.value / 60)), (h.value = Math.floor(o.value % 60)); }, v = t => { let e = parseInt(t.target.value); Number.isNaN(e) && (e = 0), e > 59 && (e = 59), (l.value = e); const r = getSecond(o.value); console.log(l.value), (o.value = 60 * l.value + h.value); const a = getSecond(o.value); console.log(a, r); for (let i = 0; i < c.value.length; i++) r[i], a[i]; }, b = t => { let e = parseInt(t.target.value); Number.isNaN(e) && (e = 0), e > 59 && (e = 59), (h.value = e); const r = getSecond(o.value); o.value = 60 * l.value + h.value; const a = getSecond(o.value); for (let i = 0; i < c.value.length; i++) r[i] !== a[i] && c.value[i].value.flipUp(r[i], a[i]); }; return ( watch( () => o.value, t => { (l.value = Math.floor(t / 60)), (h.value = Math.floor(t % 60)); } ), () => createVNode('div', { class: styles$7.timerItemWrap }, [ createVNode('div', { class: styles$7.timerItemInfo }, [ createVNode('div', { class: styles$7.timerItemInset }, [ createVNode( 'div', { class: styles$7.timerItemInfoTop }, [ createVNode( 'div', { class: styles$7.timerItemTopCore }, [ createVNode('h4', null, [ createTextVNode(' 分') ]), createVNode( 'div', { class: styles$7.FlipClock }, [ createVNode( 'div', { class: styles$7.numberWrap }, [ createVNode( Flipper, { ref: t }, null ), createVNode(Flipper, { ref: e }, null) ] ), createVNode( 'div', { class: [ styles$7.chioseWrap, p.value ? styles$7.chioseHidden : '' ] }, [ createVNode( 'img', { src: add, class: styles$7.add, alt: '', onClick: () => g(60) }, null ), createVNode( NInputNumber, { class: styles$7.countInput, min: 0, max: 59, 'show-button': !1, onInput: v, value: l.value, 'onUpdate:value': t => (l.value = t) }, null ), createVNode( 'img', { src: minus, class: styles$7.minus, alt: '', onClick: () => y(60) }, null ) ] ) ] ) ] ), createVNode( 'div', { class: styles$7.timerItemTopCore }, [ createVNode( 'div', { class: styles$7.dot }, null ), createVNode( 'div', { class: styles$7.dot }, null ), createVNode( 'h4', { class: styles$7.dotBtm }, null ) ] ), createVNode( 'div', { class: styles$7.timerItemTopCore }, [ createVNode('h4', null, [ createTextVNode(' 秒 ') ]), createVNode( 'div', { class: styles$7.FlipClock }, [ createVNode( 'div', { class: styles$7.numberWrap }, [ createVNode( Flipper, { ref: r }, null ), createVNode(Flipper, { ref: a }, null) ] ), createVNode( 'div', { class: [ styles$7.chioseWrap, p.value ? styles$7.chioseHidden : '' ] }, [ createVNode( 'img', { src: add, class: styles$7.add, alt: '', onClick: () => g(1) }, null ), createVNode( NInputNumber, { class: styles$7.countInput, min: 0, max: 59, 'show-button': !1, value: h.value, 'onUpdate:value': t => (h.value = t), onInput: b }, null ), createVNode( 'img', { src: minus, class: styles$7.minus, alt: '', onClick: () => y(1) }, null ) ] ) ] ) ] ) ] ) ]) ]), createVNode( NSpace, { class: styles$7.btnGroupModal, justify: 'center' }, { default: () => [ createVNode( NButton, { round: !0, onClick: () => u() }, { default: () => [createTextVNode('重置')] } ), p.value ? createVNode( NButton, { round: !0, type: 'primary', 'icon-placement': 'right', onClick: () => m() }, { default: () => createVNode( 'p', { class: styles$7.playText }, [createTextVNode('暂停')] ), icon: () => createVNode( NImage, { previewDisabled: !0, class: styles$7.palyIcon, src: suspend }, null ) } ) : createVNode( NButton, { round: !0, type: 'primary', disabled: 0 == o.value, 'icon-placement': 'right', onClick: () => ( (p.value = !0), void (i.value = setInterval(() => { const t = getSecond(o.value); if ( (4 == o.value && f.play(), o.value <= 0) ) return void u(); o.value--; const e = getSecond(o.value); for (let r = 0; r < c.value.length; r++) t[r] !== e[r] && c.value[r].value.flipDown( t[r], e[r] ); }, 1e3)) ) }, { default: () => createVNode( 'p', { class: styles$7.playText }, [createTextVNode('开始')] ), icon: () => createVNode( NImage, { previewDisabled: !0, class: styles$7.palyIcon, src: playIcon }, null ) } ) ] } ) ]) ); } }), Positive = defineComponent({ name: 'timer-positive', setup() { ref('positive'), useRoute(); const t = ref(), e = ref(), r = ref(), a = ref(), i = ref(null), s = ref(null), n = ref(new Date()); s.value = setInterval(() => { n.value = new Date(); }, 1e3); const o = ref(0), l = ref(!1), h = ref([t, e, r, a]), p = () => { for (let t = 0; t < h.value.length; t++) h.value[t].value.setFront('0000'[t]); }, c = () => { (l.value = !1), i.value && (clearInterval(i.value), (i.value = null)); }; return ( onMounted(() => { nextTick(() => { p(); }); }), () => createVNode('div', { class: styles$7.timerItemWrap }, [ createVNode('div', { class: styles$7.timerItemInfo }, [ createVNode('div', { class: styles$7.timerItemInset }, [ createVNode( 'div', { class: styles$7.timerItemInfoTop }, [ createVNode( 'div', { class: styles$7.timerItemTopCore }, [ createVNode('h4', null, [ createTextVNode(' 分') ]), createVNode( 'div', { class: styles$7.FlipClock }, [ createVNode( 'div', { class: styles$7.numberWrap }, [ createVNode( Flipper, { ref: t }, null ), createVNode(Flipper, { ref: e }, null) ] ) ] ) ] ), createVNode( 'div', { class: styles$7.timerItemTopCore }, [ createVNode( 'h4', { class: styles$7.dotTop }, null ), createVNode( 'div', { class: styles$7.dot }, null ), createVNode( 'div', { class: styles$7.dot }, null ) ] ), createVNode( 'div', { class: styles$7.timerItemTopCore }, [ createVNode('h4', null, [ createTextVNode(' 秒') ]), createVNode( 'div', { class: styles$7.FlipClock }, [ createVNode( 'div', { class: styles$7.numberWrap }, [ createVNode( Flipper, { ref: r }, null ), createVNode(Flipper, { ref: a }, null) ] ) ] ) ] ) ] ), createVNode('div', { class: styles$7.nowTimerWrap }, [ dayjs(n.value).format('YYYY年MM月DD日 HH:mm:ss') ]) ]) ]), createVNode( NSpace, { class: styles$7.btnGroupModal, justify: 'center' }, { default: () => [ createVNode( NButton, { round: !0, onClick: () => ( c(), (o.value = 0), void setTimeout(() => { p(); }, 600) ) }, { default: () => [createTextVNode('重置')] } ), l.value ? createVNode( NButton, { round: !0, type: 'primary', 'icon-placement': 'right', onClick: () => c() }, { default: () => createVNode( 'p', { class: styles$7.playText }, [createTextVNode('暂停')] ), icon: () => createVNode( NImage, { previewDisabled: !0, class: styles$7.palyIcon, src: suspend }, null ) } ) : createVNode( NButton, { round: !0, type: 'primary', 'icon-placement': 'right', onClick: () => ( (l.value = !0), void (i.value = setInterval(() => { const t = getSecond(o.value); o.value++; const e = getSecond(o.value); for (let r = 0; r < h.value.length; r++) t[r] !== e[r] && h.value[r].value.flipDown( t[r], e[r] ); }, 1e3)) ) }, { default: () => createVNode( 'p', { class: styles$7.playText }, [createTextVNode('开始')] ), icon: () => createVNode( NImage, { previewDisabled: !0, class: styles$7.palyIcon, src: playIcon }, null ) } ) ] } ) ]) ); } }), TimerMeter = exports( 'T', defineComponent({ name: 'data-module', setup() { const t = ref('positive'); useRoute(); const e = e => { t.value = e; }; return () => createVNode('div', null, [ createVNode('div', { class: styles$7.timerWrap }, [ createVNode('div', { class: styles$7.timerTop }, [ createVNode( 'div', { class: [ styles$7.timerTopPane, 'positive' == t.value ? styles$7.timerTopPaneActive : '' ], onClick: () => { e('positive'); } }, [createTextVNode('正计时')] ), createVNode( 'div', { class: [ styles$7.timerTopPane, 'countdown' == t.value ? styles$7.timerTopPaneActive : '' ], onClick: () => { e('countdown'); } }, [createTextVNode('倒计时')] ) ]), 'positive' == t.value ? createVNode(Positive, null, null) : createVNode(Countdown, null, null) ]) ]); } }) ), downMove = '_downMove_137wx_1', downMoveBg = '_downMoveBg_137wx_9', dingPng = '_dingPng_137wx_16', closeAble = '_closeAble_137wx_25', submitAppBtn = '_submitAppBtn_137wx_53', styles$6 = { downMove: downMove, downMoveBg: downMoveBg, dingPng: dingPng, closeAble: closeAble, submitAppBtn: submitAppBtn }, PlaceholderTone = exports( 'a', defineComponent({ props: ['item'], emits: ['close'], name: 'placeholderTone', setup: (t, { emit: e }) => () => createVNode(Fragment, null, [ createVNode('div', { class: styles$6.downMove }, [ createVNode( 'img', { src: dingPng$1, class: styles$6.dingPng, alt: '' }, null ), createVNode( 'img', { src: moveTop, class: styles$6.downMoveBg, alt: '' }, null ), createVNode('h2', null, [createTextVNode('温馨提示')]), createVNode('p', null, [ createTextVNode('调音器功能暂未开放,敬请期待!') ]), createVNode( NSpace, { style: { padding: '25px 0 0 0' }, justify: 'center' }, { default: () => [ createVNode( NButton, mergeProps( { id: 'submitBtn' }, { class: styles$6.submitAppBtn, round: !0, type: 'primary', onClick: () => { e('close'); } } ), { default: () => [createTextVNode('我知道了')] } ) ] } ) ]) ]) }) ), playContent = '_playContent_z3eb0_1', assignHomeworkClose = '_assignHomeworkClose_z3eb0_10', coursewarePlay = '_coursewarePlay_z3eb0_23', playModel = '_playModel_z3eb0_29', headerContainer = '_headerContainer_z3eb0_38', backBtn = '_backBtn_z3eb0_58', headRight = '_headRight_z3eb0_70', rightBtn = '_rightBtn_z3eb0_79', menu = '_menu_z3eb0_91', tabsContent = '_tabsContent_z3eb0_102', wraps = '_wraps_z3eb0_113', itemDiv = '_itemDiv_z3eb0_120', itemActive = '_itemActive_z3eb0_133', acitveAnimation = '_acitveAnimation_z3eb0_136', show = '_show_z3eb0_139', hide$1 = '_hide_z3eb0_142', rightFixedBtns = '_rightFixedBtns_z3eb0_155', fullBtn = '_fullBtn_z3eb0_162', point = '_point_z3eb0_167', iconUp$1 = '_iconUp_z3eb0_177', iconDown$1 = '_iconDown_z3eb0_178', btnsDisabled = '_btnsDisabled_z3eb0_181', loadWrap = '_loadWrap_z3eb0_211', drawerContainer = '_drawerContainer_z3eb0_222', cardContainer = '_cardContainer_z3eb0_225', sectionAnimate$2 = '_sectionAnimate_z3eb0_261', sectionAnimateUp = '_sectionAnimateUp_z3eb0_267', switchDisplaySection = '_switchDisplaySection_z3eb0_273', switchSpace = '_switchSpace_z3eb0_288', btnItem = '_btnItem_z3eb0_291', attendClassModal = '_attendClassModal_z3eb0_313', modelAttendContent = '_modelAttendContent_z3eb0_337', modelAttendBtnGroup = '_modelAttendBtnGroup_z3eb0_343', trainClassModal = '_trainClassModal_z3eb0_351', workContainer = '_workContainer_z3eb0_357', toolboxImg = '_toolboxImg_z3eb0_364', isDragIng = '_isDragIng_z3eb0_373', toolClassImg = '_toolClassImg_z3eb0_377', booxToolWrap = '_booxToolWrap_z3eb0_392', booxToolItem = '_booxToolItem_z3eb0_403', setTimeImage = '_setTimeImage_z3eb0_420', beatImage = '_beatImage_z3eb0_426', changePwdModal = '_changePwdModal_z3eb0_432', imChatModal = '_imChatModal_z3eb0_435', modeWrap = '_modeWrap_z3eb0_438', showModalTone = '_showModalTone_z3eb0_443', studentRemove$1 = '_studentRemove_z3eb0_446', removeVisiable$1 = '_removeVisiable_z3eb0_458', btnGroupModal$1 = '_btnGroupModal_z3eb0_476', styles$5 = { playContent: playContent, assignHomeworkClose: assignHomeworkClose, coursewarePlay: coursewarePlay, playModel: playModel, headerContainer: headerContainer, backBtn: backBtn, headRight: headRight, rightBtn: rightBtn, menu: menu, tabsContent: tabsContent, wraps: wraps, itemDiv: itemDiv, itemActive: itemActive, acitveAnimation: acitveAnimation, show: show, hide: hide$1, rightFixedBtns: rightFixedBtns, fullBtn: fullBtn, point: point, iconUp: iconUp$1, iconDown: iconDown$1, btnsDisabled: btnsDisabled, loadWrap: loadWrap, drawerContainer: drawerContainer, cardContainer: cardContainer, sectionAnimate: sectionAnimate$2, sectionAnimateUp: sectionAnimateUp, switchDisplaySection: switchDisplaySection, switchSpace: switchSpace, btnItem: btnItem, attendClassModal: attendClassModal, modelAttendContent: modelAttendContent, modelAttendBtnGroup: modelAttendBtnGroup, trainClassModal: trainClassModal, workContainer: workContainer, toolboxImg: toolboxImg, isDragIng: isDragIng, toolClassImg: toolClassImg, booxToolWrap: booxToolWrap, booxToolItem: booxToolItem, setTimeImage: setTimeImage, beatImage: beatImage, changePwdModal: changePwdModal, imChatModal: imChatModal, modeWrap: modeWrap, showModalTone: showModalTone, studentRemove: studentRemove$1, removeVisiable: removeVisiable$1, btnGroupModal: btnGroupModal$1 }, plyr = '', musicScore = '_musicScore_6u588_1', container = '_container_6u588_7', musicModel = '_musicModel_6u588_15', errorModel = '_errorModel_6u588_22', startBtn = '_startBtn_6u588_34', loading = '_loading_6u588_44', skeletonWrap = '_skeletonWrap_6u588_50', skeleton = '_skeleton_6u588_50', styles$4 = { musicScore: musicScore, container: container, musicModel: musicModel, errorModel: errorModel, startBtn: startBtn, loading: loading, skeletonWrap: skeletonWrap, skeleton: skeleton }; var inBrowser = 'undefined' != typeof window, visibility; function usePageVisibility() { if (!visibility && ((visibility = ref('visible')), inBrowser)) { const t = () => { visibility.value = document.hidden ? 'hidden' : 'visible'; }; t(), window.addEventListener('visibilitychange', t); } return visibility; } const MusicScore = defineComponent({ name: 'musicScore', props: { music: { type: Object, default: () => ({}) }, activeModel: { type: Boolean }, activeStatus: { type: Boolean } }, emits: ['setIframe'], setup(t, { emit: e }) { const r = useUserStore(), a = ref(!1), i = usePageVisibility(); watch(i, t => { console.log('🚀 ~ value:', t), 'hidden' == t && (a.value = !1); }); const s = ref(), n = ref(!1), o = ref(!1), l = ref(!1), h = `${ /(localhost|192)/.test(location.host) ? 'https://test.lexiaoya.cn/instrument' : location.origin + '/instrument' }?showGuide=true&platform=pc&zoom=1.2&modelType=practise&id=${ t.music.content }&Authorization=${r.getToken}`; return ( watch( () => t.music, () => { l.value || ((o.value = !1), t.music.display && fetch(h) .then(() => { (l.value = !0), (o.value = !1); }) .catch(() => { o.value = !0; })); } ), watch( () => t.activeModel, () => { s.value.contentWindow && t.activeStatus && s.value.contentWindow.postMessage( { api: 'attendClassBarStatus', hideMenu: !t.activeModel }, '*' ); } ), () => createVNode('div', { class: styles$4.musicScore }, [ createVNode( 'iframe', { ref: s, onLoad: () => { e('setIframe', s.value), (n.value = !0); }, class: [styles$4.container, 'musicIframe'], frameborder: '0', src: h }, null ), n.value && createVNode('div', { class: styles$4.skeletonWrap }, [ createVNode('div', null, [ createVNode(NSkeleton, { text: !0, repeat: 8 }, null) ]) ]) ]) ); } }); var lottie = { exports: {} }; (function (module, exports) { var factory; 'undefined' != typeof navigator && ((factory = function () { var svgNS = 'http://www.w3.org/2000/svg', locationHref = '', _useWebWorker = !1, initialDefaultFrame = -999999, setWebWorker = function (t) { _useWebWorker = !!t; }, getWebWorker = function () { return _useWebWorker; }, setLocationHref = function (t) { locationHref = t; }, getLocationHref = function () { return locationHref; }; function createTag(t) { return document.createElement(t); } function extendPrototype(t, e) { var r, a, i = t.length; for (r = 0; r < i; r += 1) for (var s in (a = t[r].prototype)) Object.prototype.hasOwnProperty.call(a, s) && (e.prototype[s] = a[s]); } function getDescriptor(t, e) { return Object.getOwnPropertyDescriptor(t, e); } function createProxyFunction(t) { function e() {} return (e.prototype = t), e; } var audioControllerFactory = (function () { function t(t) { (this.audios = []), (this.audioFactory = t), (this._volume = 1), (this._isMuted = !1); } return ( (t.prototype = { addAudio: function (t) { this.audios.push(t); }, pause: function () { var t, e = this.audios.length; for (t = 0; t < e; t += 1) this.audios[t].pause(); }, resume: function () { var t, e = this.audios.length; for (t = 0; t < e; t += 1) this.audios[t].resume(); }, setRate: function (t) { var e, r = this.audios.length; for (e = 0; e < r; e += 1) this.audios[e].setRate(t); }, createAudio: function (t) { return this.audioFactory ? this.audioFactory(t) : window.Howl ? new window.Howl({ src: [t] }) : { isPlaying: !1, play: function () { this.isPlaying = !0; }, seek: function () { this.isPlaying = !1; }, playing: function () {}, rate: function () {}, setVolume: function () {} }; }, setAudioFactory: function (t) { this.audioFactory = t; }, setVolume: function (t) { (this._volume = t), this._updateVolume(); }, mute: function () { (this._isMuted = !0), this._updateVolume(); }, unmute: function () { (this._isMuted = !1), this._updateVolume(); }, getVolume: function () { return this._volume; }, _updateVolume: function () { var t, e = this.audios.length; for (t = 0; t < e; t += 1) this.audios[t].volume( this._volume * (this._isMuted ? 0 : 1) ); } }), function () { return new t(); } ); })(), createTypedArray = (function () { function t(t, e) { var r, a = 0, i = []; switch (t) { case 'int16': case 'uint8c': r = 1; break; default: r = 1.1; } for (a = 0; a < e; a += 1) i.push(r); return i; } return 'function' == typeof Uint8ClampedArray && 'function' == typeof Float32Array ? function (e, r) { return 'float32' === e ? new Float32Array(r) : 'int16' === e ? new Int16Array(r) : 'uint8c' === e ? new Uint8ClampedArray(r) : t(e, r); } : t; })(); function createSizedArray(t) { return Array.apply(null, { length: t }); } function _typeof$6(t) { return ( (_typeof$6 = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof$6(t) ); } var subframeEnabled = !0, expressionsPlugin = null, expressionsInterfaces = null, idPrefix$1 = '', isSafari = /^((?!chrome|android).)*safari/i.test( navigator.userAgent ), bmPow = Math.pow, bmSqrt = Math.sqrt, bmFloor = Math.floor, bmMax = Math.max, bmMin = Math.min, BMMath = {}; !(function () { var t, e = [ 'abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'atan2', 'ceil', 'cbrt', 'expm1', 'clz32', 'cos', 'cosh', 'exp', 'floor', 'fround', 'hypot', 'imul', 'log', 'log1p', 'log2', 'log10', 'max', 'min', 'pow', 'random', 'round', 'sign', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc', 'E', 'LN10', 'LN2', 'LOG10E', 'LOG2E', 'PI', 'SQRT1_2', 'SQRT2' ], r = e.length; for (t = 0; t < r; t += 1) BMMath[e[t]] = Math[e[t]]; })(), (BMMath.random = Math.random), (BMMath.abs = function (t) { if ('object' === _typeof$6(t) && t.length) { var e, r = createSizedArray(t.length), a = t.length; for (e = 0; e < a; e += 1) r[e] = Math.abs(t[e]); return r; } return Math.abs(t); }); var defaultCurveSegments = 150, degToRads = Math.PI / 180, roundCorner = 0.5519; function styleDiv(t) { (t.style.position = 'absolute'), (t.style.top = 0), (t.style.left = 0), (t.style.display = 'block'), (t.style.transformOrigin = '0 0'), (t.style.webkitTransformOrigin = '0 0'), (t.style.backfaceVisibility = 'visible'), (t.style.webkitBackfaceVisibility = 'visible'), (t.style.transformStyle = 'preserve-3d'), (t.style.webkitTransformStyle = 'preserve-3d'), (t.style.mozTransformStyle = 'preserve-3d'); } function BMEnterFrameEvent(t, e, r, a) { (this.type = t), (this.currentTime = e), (this.totalTime = r), (this.direction = a < 0 ? -1 : 1); } function BMCompleteEvent(t, e) { (this.type = t), (this.direction = e < 0 ? -1 : 1); } function BMCompleteLoopEvent(t, e, r, a) { (this.type = t), (this.currentLoop = r), (this.totalLoops = e), (this.direction = a < 0 ? -1 : 1); } function BMSegmentStartEvent(t, e, r) { (this.type = t), (this.firstFrame = e), (this.totalFrames = r); } function BMDestroyEvent(t, e) { (this.type = t), (this.target = e); } function BMRenderFrameErrorEvent(t, e) { (this.type = 'renderFrameError'), (this.nativeError = t), (this.currentTime = e); } function BMConfigErrorEvent(t) { (this.type = 'configError'), (this.nativeError = t); } var createElementID = ((_count = 0), function () { return idPrefix$1 + '__lottie_element_' + (_count += 1); }), _count; function HSVtoRGB(t, e, r) { var a, i, s, n, o, l, h, p; switch ( ((l = r * (1 - e)), (h = r * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e)), (p = r * (1 - (1 - o) * e)), n % 6) ) { case 0: (a = r), (i = p), (s = l); break; case 1: (a = h), (i = r), (s = l); break; case 2: (a = l), (i = r), (s = p); break; case 3: (a = l), (i = h), (s = r); break; case 4: (a = p), (i = l), (s = r); break; case 5: (a = r), (i = l), (s = h); } return [a, i, s]; } function RGBtoHSV(t, e, r) { var a, i = Math.max(t, e, r), s = Math.min(t, e, r), n = i - s, o = 0 === i ? 0 : n / i, l = i / 255; switch (i) { case s: a = 0; break; case t: (a = e - r + n * (e < r ? 6 : 0)), (a /= 6 * n); break; case e: (a = r - t + 2 * n), (a /= 6 * n); break; case r: (a = t - e + 4 * n), (a /= 6 * n); } return [a, o, l]; } function addSaturationToRGB(t, e) { var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]); return ( (r[1] += e), r[1] > 1 ? (r[1] = 1) : r[1] <= 0 && (r[1] = 0), HSVtoRGB(r[0], r[1], r[2]) ); } function addBrightnessToRGB(t, e) { var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]); return ( (r[2] += e), r[2] > 1 ? (r[2] = 1) : r[2] < 0 && (r[2] = 0), HSVtoRGB(r[0], r[1], r[2]) ); } function addHueToRGB(t, e) { var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]); return ( (r[0] += e / 360), r[0] > 1 ? (r[0] -= 1) : r[0] < 0 && (r[0] += 1), HSVtoRGB(r[0], r[1], r[2]) ); } var rgbToHex = (function () { var t, e, r = []; for (t = 0; t < 256; t += 1) (e = t.toString(16)), (r[t] = 1 === e.length ? '0' + e : e); return function (t, e, a) { return ( t < 0 && (t = 0), e < 0 && (e = 0), a < 0 && (a = 0), '#' + r[t] + r[e] + r[a] ); }; })(), setSubframeEnabled = function (t) { subframeEnabled = !!t; }, getSubframeEnabled = function () { return subframeEnabled; }, setExpressionsPlugin = function (t) { expressionsPlugin = t; }, getExpressionsPlugin = function () { return expressionsPlugin; }, setExpressionInterfaces = function (t) { expressionsInterfaces = t; }, getExpressionInterfaces = function () { return expressionsInterfaces; }, setDefaultCurveSegments = function (t) { defaultCurveSegments = t; }, getDefaultCurveSegments = function () { return defaultCurveSegments; }, setIdPrefix = function (t) { idPrefix$1 = t; }; function createNS(t) { return document.createElementNS(svgNS, t); } function _typeof$5(t) { return ( (_typeof$5 = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof$5(t) ); } var dataManager = (function () { var t, e, r = 1, a = [], i = { onmessage: function () {}, postMessage: function (e) { t({ data: e }); } }, s = { postMessage: function (t) { i.onmessage({ data: t }); } }; function n() { e || ((e = (function (e) { if (window.Worker && window.Blob && getWebWorker()) { var r = new Blob( [ 'var _workerSelf = self; self.onmessage = ', e.toString() ], { type: 'text/javascript' } ), a = URL.createObjectURL(r); return new Worker(a); } return (t = e), i; })(function (t) { if ( (s.dataManager || (s.dataManager = (function () { function t(i, s) { var n, o, l, h, p, d, f = i.length; for (o = 0; o < f; o += 1) if ('ks' in (n = i[o]) && !n.completed) { if (((n.completed = !0), n.hasMask)) { var m = n.masksProperties; for (h = m.length, l = 0; l < h; l += 1) if (m[l].pt.k.i) a(m[l].pt.k); else for ( d = m[l].pt.k.length, p = 0; p < d; p += 1 ) m[l].pt.k[p].s && a(m[l].pt.k[p].s[0]), m[l].pt.k[p].e && a(m[l].pt.k[p].e[0]); } 0 === n.ty ? ((n.layers = e(n.refId, s)), t(n.layers, s)) : 4 === n.ty ? r(n.shapes) : 5 === n.ty && c(n); } } function e(t, e) { var r = (function (t, e) { for (var r = 0, a = e.length; r < a; ) { if (e[r].id === t) return e[r]; r += 1; } return null; })(t, e); return r ? r.layers.__used ? JSON.parse(JSON.stringify(r.layers)) : ((r.layers.__used = !0), r.layers) : null; } function r(t) { var e, i, s; for (e = t.length - 1; e >= 0; e -= 1) if ('sh' === t[e].ty) if (t[e].ks.k.i) a(t[e].ks.k); else for ( s = t[e].ks.k.length, i = 0; i < s; i += 1 ) t[e].ks.k[i].s && a(t[e].ks.k[i].s[0]), t[e].ks.k[i].e && a(t[e].ks.k[i].e[0]); else 'gr' === t[e].ty && r(t[e].it); } function a(t) { var e, r = t.i.length; for (e = 0; e < r; e += 1) (t.i[e][0] += t.v[e][0]), (t.i[e][1] += t.v[e][1]), (t.o[e][0] += t.v[e][0]), (t.o[e][1] += t.v[e][1]); } function i(t, e) { var r = e ? e.split('.') : [100, 100, 100]; return ( t[0] > r[0] || (!(r[0] > t[0]) && (t[1] > r[1] || (!(r[1] > t[1]) && (t[2] > r[2] || (!(r[2] > t[2]) && null))))) ); } var s, n = (function () { var t = [4, 4, 14]; function e(t) { var e, r, a, i = t.length; for (e = 0; e < i; e += 1) 5 === t[e].ty && ((a = void 0), (a = (r = t[e]).t.d), (r.t.d = { k: [{ s: a, t: 0 }] })); } return function (r) { if ( i(t, r.v) && (e(r.layers), r.assets) ) { var a, s = r.assets.length; for (a = 0; a < s; a += 1) r.assets[a].layers && e(r.assets[a].layers); } }; })(), o = ((s = [4, 7, 99]), function (t) { if (t.chars && !i(s, t.v)) { var e, a = t.chars.length; for (e = 0; e < a; e += 1) { var n = t.chars[e]; n.data && n.data.shapes && (r(n.data.shapes), (n.data.ip = 0), (n.data.op = 99999), (n.data.st = 0), (n.data.sr = 1), (n.data.ks = { p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 } }), t.chars[e].t || (n.data.shapes.push({ ty: 'no' }), n.data.shapes[0].it.push({ p: { k: [0, 0], a: 0 }, s: { k: [100, 100], a: 0 }, a: { k: [0, 0], a: 0 }, r: { k: 0, a: 0 }, o: { k: 100, a: 0 }, sk: { k: 0, a: 0 }, sa: { k: 0, a: 0 }, ty: 'tr' }))); } } }), l = (function () { var t = [5, 7, 15]; function e(t) { var e, r, a = t.length; for (e = 0; e < a; e += 1) 5 === t[e].ty && ((r = void 0), 'number' == typeof (r = t[e].t.p).a && (r.a = { a: 0, k: r.a }), 'number' == typeof r.p && (r.p = { a: 0, k: r.p }), 'number' == typeof r.r && (r.r = { a: 0, k: r.r })); } return function (r) { if ( i(t, r.v) && (e(r.layers), r.assets) ) { var a, s = r.assets.length; for (a = 0; a < s; a += 1) r.assets[a].layers && e(r.assets[a].layers); } }; })(), h = (function () { var t = [4, 1, 9]; function e(t) { var r, a, i, s = t.length; for (r = 0; r < s; r += 1) if ('gr' === t[r].ty) e(t[r].it); else if ( 'fl' === t[r].ty || 'st' === t[r].ty ) if (t[r].c.k && t[r].c.k[0].i) for ( i = t[r].c.k.length, a = 0; a < i; a += 1 ) t[r].c.k[a].s && ((t[r].c.k[a].s[0] /= 255), (t[r].c.k[a].s[1] /= 255), (t[r].c.k[a].s[2] /= 255), (t[r].c.k[a].s[3] /= 255)), t[r].c.k[a].e && ((t[r].c.k[a].e[0] /= 255), (t[r].c.k[a].e[1] /= 255), (t[r].c.k[a].e[2] /= 255), (t[r].c.k[a].e[3] /= 255)); else (t[r].c.k[0] /= 255), (t[r].c.k[1] /= 255), (t[r].c.k[2] /= 255), (t[r].c.k[3] /= 255); } function r(t) { var r, a = t.length; for (r = 0; r < a; r += 1) 4 === t[r].ty && e(t[r].shapes); } return function (e) { if ( i(t, e.v) && (r(e.layers), e.assets) ) { var a, s = e.assets.length; for (a = 0; a < s; a += 1) e.assets[a].layers && r(e.assets[a].layers); } }; })(), p = (function () { var t = [4, 4, 18]; function e(t) { var r, a, i; for (r = t.length - 1; r >= 0; r -= 1) if ('sh' === t[r].ty) if (t[r].ks.k.i) t[r].ks.k.c = t[r].closed; else for ( i = t[r].ks.k.length, a = 0; a < i; a += 1 ) t[r].ks.k[a].s && (t[r].ks.k[a].s[0].c = t[r].closed), t[r].ks.k[a].e && (t[r].ks.k[a].e[0].c = t[r].closed); else 'gr' === t[r].ty && e(t[r].it); } function r(t) { var r, a, i, s, n, o, l = t.length; for (a = 0; a < l; a += 1) { if ((r = t[a]).hasMask) { var h = r.masksProperties; for ( s = h.length, i = 0; i < s; i += 1 ) if (h[i].pt.k.i) h[i].pt.k.c = h[i].cl; else for ( o = h[i].pt.k.length, n = 0; n < o; n += 1 ) h[i].pt.k[n].s && (h[i].pt.k[n].s[0].c = h[i].cl), h[i].pt.k[n].e && (h[i].pt.k[n].e[0].c = h[i].cl); } 4 === r.ty && e(r.shapes); } } return function (e) { if ( i(t, e.v) && (r(e.layers), e.assets) ) { var a, s = e.assets.length; for (a = 0; a < s; a += 1) e.assets[a].layers && r(e.assets[a].layers); } }; })(); function c(t) { 0 === t.t.a.length && t.t.p; } var d = { completeData: function (r) { r.__complete || (h(r), n(r), o(r), l(r), p(r), t(r.layers, r.assets), (function (r, a) { if (r) { var i = 0, s = r.length; for (i = 0; i < s; i += 1) 1 === r[i].t && ((r[i].data.layers = e( r[i].data.refId, a )), t(r[i].data.layers, a)); } })(r.chars, r.assets), (r.__complete = !0)); } }; return ( (d.checkColors = h), (d.checkChars = o), (d.checkPathProperties = l), (d.checkShapes = p), (d.completeLayers = t), d ); })()), s.assetLoader || (s.assetLoader = (function () { function t(t) { var e = t.getResponseHeader('content-type'); return (e && 'json' === t.responseType && -1 !== e.indexOf('json')) || (t.response && 'object' === _typeof$5(t.response)) ? t.response : t.response && 'string' == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : null; } return { load: function (e, r, a, i) { var s, n = new XMLHttpRequest(); try { n.responseType = 'json'; } catch (o) {} n.onreadystatechange = function () { if (4 === n.readyState) if (200 === n.status) (s = t(n)), a(s); else try { (s = t(n)), a(s); } catch (o) { i && i(o); } }; try { n.open(['G', 'E', 'T'].join(''), e, !0); } catch (l) { n.open( ['G', 'E', 'T'].join(''), r + '/' + e, !0 ); } n.send(); } }; })()), 'loadAnimation' === t.data.type) ) s.assetLoader.load( t.data.path, t.data.fullPath, function (e) { s.dataManager.completeData(e), s.postMessage({ id: t.data.id, payload: e, status: 'success' }); }, function () { s.postMessage({ id: t.data.id, status: 'error' }); } ); else if ('complete' === t.data.type) { var e = t.data.animation; s.dataManager.completeData(e), s.postMessage({ id: t.data.id, payload: e, status: 'success' }); } else 'loadData' === t.data.type && s.assetLoader.load( t.data.path, t.data.fullPath, function (e) { s.postMessage({ id: t.data.id, payload: e, status: 'success' }); }, function () { s.postMessage({ id: t.data.id, status: 'error' }); } ); })), (e.onmessage = function (t) { var e = t.data, r = e.id, i = a[r]; (a[r] = null), 'success' === e.status ? i.onComplete(e.payload) : i.onError && i.onError(); })); } function o(t, e) { var i = 'processId_' + (r += 1); return (a[i] = { onComplete: t, onError: e }), i; } return { loadAnimation: function (t, r, a) { n(); var i = o(r, a); e.postMessage({ type: 'loadAnimation', path: t, fullPath: window.location.origin + window.location.pathname, id: i }); }, loadData: function (t, r, a) { n(); var i = o(r, a); e.postMessage({ type: 'loadData', path: t, fullPath: window.location.origin + window.location.pathname, id: i }); }, completeAnimation: function (t, r, a) { n(); var i = o(r, a); e.postMessage({ type: 'complete', animation: t, id: i }); } }; })(), ImagePreloader = (function () { var t = (function () { var t = createTag('canvas'); (t.width = 1), (t.height = 1); var e = t.getContext('2d'); return ( (e.fillStyle = 'rgba(0,0,0,0)'), e.fillRect(0, 0, 1, 1), t ); })(); function e() { (this.loadedAssets += 1), this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null); } function r() { (this.loadedFootagesCount += 1), this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null); } function a(t, e, r) { var a = ''; if (t.e) a = t.p; else if (e) { var i = t.p; -1 !== i.indexOf('images/') && (i = i.split('/')[1]), (a = e + i); } else (a = r), (a += t.u ? t.u : ''), (a += t.p); return a; } function i(t) { var e = 0, r = setInterval( function () { (t.getBBox().width || e > 500) && (this._imageLoaded(), clearInterval(r)), (e += 1); }.bind(this), 50 ); } function s(t) { var e = { assetData: t }, r = a(t, this.assetsPath, this.path); return ( dataManager.loadData( r, function (t) { (e.img = t), this._footageLoaded(); }.bind(this), function () { (e.img = {}), this._footageLoaded(); }.bind(this) ), e ); } function n() { (this._imageLoaded = e.bind(this)), (this._footageLoaded = r.bind(this)), (this.testImageLoaded = i.bind(this)), (this.createFootageData = s.bind(this)), (this.assetsPath = ''), (this.path = ''), (this.totalImages = 0), (this.totalFootages = 0), (this.loadedAssets = 0), (this.loadedFootagesCount = 0), (this.imagesLoadedCb = null), (this.images = []); } return ( (n.prototype = { loadAssets: function (t, e) { var r; this.imagesLoadedCb = e; var a = t.length; for (r = 0; r < a; r += 1) t[r].layers || (t[r].t && 'seq' !== t[r].t ? 3 === t[r].t && ((this.totalFootages += 1), this.images.push( this.createFootageData(t[r]) )) : ((this.totalImages += 1), this.images.push( this._createImageData(t[r]) ))); }, setAssetsPath: function (t) { this.assetsPath = t || ''; }, setPath: function (t) { this.path = t || ''; }, loadedImages: function () { return this.totalImages === this.loadedAssets; }, loadedFootages: function () { return ( this.totalFootages === this.loadedFootagesCount ); }, destroy: function () { (this.imagesLoadedCb = null), (this.images.length = 0); }, getAsset: function (t) { for (var e = 0, r = this.images.length; e < r; ) { if (this.images[e].assetData === t) return this.images[e].img; e += 1; } return null; }, createImgData: function (e) { var r = a(e, this.assetsPath, this.path), i = createTag('img'); (i.crossOrigin = 'anonymous'), i.addEventListener('load', this._imageLoaded, !1), i.addEventListener( 'error', function () { (s.img = t), this._imageLoaded(); }.bind(this), !1 ), (i.src = r); var s = { img: i, assetData: e }; return s; }, createImageData: function (e) { var r = a(e, this.assetsPath, this.path), i = createNS('image'); isSafari ? this.testImageLoaded(i) : i.addEventListener('load', this._imageLoaded, !1), i.addEventListener( 'error', function () { (s.img = t), this._imageLoaded(); }.bind(this), !1 ), i.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', r ), this._elementHelper.append ? this._elementHelper.append(i) : this._elementHelper.appendChild(i); var s = { img: i, assetData: e }; return s; }, imageLoaded: e, footageLoaded: r, setCacheType: function (t, e) { 'svg' === t ? ((this._elementHelper = e), (this._createImageData = this.createImageData.bind(this))) : (this._createImageData = this.createImgData.bind(this)); } }), n ); })(); function BaseEvent() {} BaseEvent.prototype = { triggerEvent: function (t, e) { if (this._cbs[t]) for (var r = this._cbs[t], a = 0; a < r.length; a += 1) r[a](e); }, addEventListener: function (t, e) { return ( this._cbs[t] || (this._cbs[t] = []), this._cbs[t].push(e), function () { this.removeEventListener(t, e); }.bind(this) ); }, removeEventListener: function (t, e) { if (e) { if (this._cbs[t]) { for (var r = 0, a = this._cbs[t].length; r < a; ) this._cbs[t][r] === e && (this._cbs[t].splice(r, 1), (r -= 1), (a -= 1)), (r += 1); this._cbs[t].length || (this._cbs[t] = null); } } else this._cbs[t] = null; } }; var markerParser = (function () { function t(t) { for ( var e, r = t.split('\r\n'), a = {}, i = 0, s = 0; s < r.length; s += 1 ) 2 === (e = r[s].split(':')).length && ((a[e[0]] = e[1].trim()), (i += 1)); if (0 === i) throw new Error(); return a; } return function (e) { for (var r = [], a = 0; a < e.length; a += 1) { var i = e[a], s = { time: i.tm, duration: i.dr }; try { s.payload = JSON.parse(e[a].cm); } catch (n) { try { s.payload = t(e[a].cm); } catch (o) { s.payload = { name: e[a].cm }; } } r.push(s); } return r; }; })(), ProjectInterface = (function () { function t(t) { this.compositions.push(t); } return function () { function e(t) { for (var e = 0, r = this.compositions.length; e < r; ) { if ( this.compositions[e].data && this.compositions[e].data.nm === t ) return ( this.compositions[e].prepareFrame && this.compositions[e].data.xt && this.compositions[e].prepareFrame( this.currentFrame ), this.compositions[e].compInterface ); e += 1; } return null; } return ( (e.compositions = []), (e.currentFrame = 0), (e.registerComposition = t), e ); }; })(), renderers = {}, registerRenderer = function (t, e) { renderers[t] = e; }; function getRenderer(t) { return renderers[t]; } function getRegisteredRenderer() { if (renderers.canvas) return 'canvas'; for (var t in renderers) if (renderers[t]) return t; return ''; } function _typeof$4(t) { return ( (_typeof$4 = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof$4(t) ); } var AnimationItem = 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 = createElementID()), (this.assetsPath = ''), (this.timeCompleted = 0), (this.segmentPos = 0), (this.isSubframeEnabled = getSubframeEnabled()), (this.segments = []), (this._idle = !0), (this._completedLoop = !1), (this.projectInterface = ProjectInterface()), (this.imagePreloader = new ImagePreloader()), (this.audioController = audioControllerFactory()), (this.markers = []), (this.configAnimation = this.configAnimation.bind(this)), (this.onSetupError = this.onSetupError.bind(this)), (this.onSegmentComplete = this.onSegmentComplete.bind(this)), (this.drawnFrameEvent = new BMEnterFrameEvent( 'drawnFrame', 0, 0, 0 )), (this.expressionsPlugin = getExpressionsPlugin()); }; extendPrototype([BaseEvent], AnimationItem), (AnimationItem.prototype.setParams = function (t) { (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container); var e = 'svg'; t.animType ? (e = t.animType) : t.renderer && (e = t.renderer); var r = getRenderer(e); (this.renderer = new r(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.setupAnimation(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') )), dataManager.loadAnimation( t.path, this.configAnimation, this.onSetupError )); }), (AnimationItem.prototype.onSetupError = function () { this.trigger('data_failed'); }), (AnimationItem.prototype.setupAnimation = function (t) { dataManager.completeAnimation(t, this.configAnimation); }), (AnimationItem.prototype.setData = function (t, e) { e && 'object' !== _typeof$4(e) && (e = JSON.parse(e)); var r = { wrapper: t, animationData: e }, a = t.attributes; (r.path = a.getNamedItem('data-animation-path') ? a.getNamedItem('data-animation-path').value : a.getNamedItem('data-bm-path') ? a.getNamedItem('data-bm-path').value : a.getNamedItem('bm-path') ? a.getNamedItem('bm-path').value : ''), (r.animType = a.getNamedItem('data-anim-type') ? a.getNamedItem('data-anim-type').value : a.getNamedItem('data-bm-type') ? a.getNamedItem('data-bm-type').value : a.getNamedItem('bm-type') ? a.getNamedItem('bm-type').value : a.getNamedItem('data-bm-renderer') ? a.getNamedItem('data-bm-renderer').value : a.getNamedItem('bm-renderer') ? a.getNamedItem('bm-renderer').value : getRegisteredRenderer() || 'canvas'); var i = a.getNamedItem('data-anim-loop') ? a.getNamedItem('data-anim-loop').value : a.getNamedItem('data-bm-loop') ? a.getNamedItem('data-bm-loop').value : a.getNamedItem('bm-loop') ? a.getNamedItem('bm-loop').value : ''; 'false' === i ? (r.loop = !1) : 'true' === i ? (r.loop = !0) : '' !== i && (r.loop = parseInt(i, 10)); var s = a.getNamedItem('data-anim-autoplay') ? a.getNamedItem('data-anim-autoplay').value : a.getNamedItem('data-bm-autoplay') ? a.getNamedItem('data-bm-autoplay').value : !a.getNamedItem('bm-autoplay') || a.getNamedItem('bm-autoplay').value; (r.autoplay = 'false' !== s), (r.name = a.getNamedItem('data-name') ? a.getNamedItem('data-name').value : a.getNamedItem('data-bm-name') ? a.getNamedItem('data-bm-name').value : a.getNamedItem('bm-name') ? a.getNamedItem('bm-name').value : ''), 'false' === (a.getNamedItem('data-anim-prerender') ? a.getNamedItem('data-anim-prerender').value : a.getNamedItem('data-bm-prerender') ? a.getNamedItem('data-bm-prerender').value : a.getNamedItem('bm-prerender') ? a.getNamedItem('bm-prerender').value : '') && (r.prerender = !1), r.path ? this.setParams(r) : this.trigger('destroy'); }), (AnimationItem.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, r, a = this.animationData.layers, i = a.length, s = t.layers, n = s.length; for (r = 0; r < n; r += 1) for (e = 0; e < i; ) { if (a[e].id === s[r].id) { a[e] = s[r]; 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 (i = t.assets.length, e = 0; e < i; e += 1) this.animationData.assets.push(t.assets[e]); (this.animationData.__complete = !1), dataManager.completeAnimation( this.animationData, this.onSegmentComplete ); }), (AnimationItem.prototype.onSegmentComplete = function (t) { this.animationData = t; var e = getExpressionsPlugin(); e && e.initExpressions(this), this.loadNextSegment(); }), (AnimationItem.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 r = this.path + this.fileName + '_' + this.segmentPos + '.json'; (this.segmentPos += 1), dataManager.loadData( r, this.includeLayers.bind(this), function () { this.trigger('data_failed'); }.bind(this) ); }), (AnimationItem.prototype.loadSegments = function () { this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment(); }), (AnimationItem.prototype.imagesLoaded = function () { this.trigger('loaded_images'), this.checkLoaded(); }), (AnimationItem.prototype.preloadImages = function () { this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets( this.animationData.assets, this.imagesLoaded.bind(this) ); }), (AnimationItem.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 = markerParser(t.markers || [])), this.trigger('config_ready'), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause(); } catch (e) { this.triggerConfigError(e); } }), (AnimationItem.prototype.waitForFontsLoaded = function () { this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20)); }), (AnimationItem.prototype.checkLoaded = function () { if ( !this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || 'canvas' !== this.renderer.rendererType) && this.imagePreloader.loadedFootages() ) { this.isLoaded = !0; var t = getExpressionsPlugin(); t && t.initExpressions(this), this.renderer.initItems(), setTimeout( function () { this.trigger('DOMLoaded'); }.bind(this), 0 ), this.gotoFrame(), this.autoplay && this.play(); } }), (AnimationItem.prototype.resize = function (t, e) { var r = 'number' == typeof t ? t : void 0, a = 'number' == typeof e ? e : void 0; this.renderer.updateContainerSize(r, a); }), (AnimationItem.prototype.setSubframe = function (t) { this.isSubframeEnabled = !!t; }), (AnimationItem.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(), this.trigger('drawnFrame'); }), (AnimationItem.prototype.renderFrame = function () { if (!1 !== this.isLoaded && this.renderer) try { this.expressionsPlugin && this.expressionsPlugin.resetFrame(), this.renderer.renderFrame( this.currentFrame + this.firstFrame ); } catch (t) { this.triggerRenderFrameError(t); } }), (AnimationItem.prototype.play = function (t) { (t && this.name !== t) || (!0 === this.isPaused && ((this.isPaused = !1), this.trigger('_play'), this.audioController.resume(), this._idle && ((this._idle = !1), this.trigger('_active')))); }), (AnimationItem.prototype.pause = function (t) { (t && this.name !== t) || (!1 === this.isPaused && ((this.isPaused = !0), this.trigger('_pause'), (this._idle = !0), this.trigger('_idle'), this.audioController.pause())); }), (AnimationItem.prototype.togglePause = function (t) { (t && this.name !== t) || (!0 === this.isPaused ? this.play() : this.pause()); }), (AnimationItem.prototype.stop = function (t) { (t && this.name !== t) || (this.pause(), (this.playCount = 0), (this._completedLoop = !1), this.setCurrentRawFrameValue(0)); }), (AnimationItem.prototype.getMarkerData = function (t) { for (var e, r = 0; r < this.markers.length; r += 1) if ((e = this.markers[r]).payload && e.payload.name === t) return e; return null; }), (AnimationItem.prototype.goToAndStop = function (t, e, r) { if (!r || this.name === r) { var a = Number(t); if (isNaN(a)) { var i = this.getMarkerData(t); i && this.goToAndStop(i.time, !0); } else e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue( t * this.frameModifier ); this.pause(); } }), (AnimationItem.prototype.goToAndPlay = function (t, e, r) { if (!r || this.name === r) { var a = Number(t); if (isNaN(a)) { var i = this.getMarkerData(t); i && (i.duration ? this.playSegments( [i.time, i.time + i.duration], !0 ) : this.goToAndStop(i.time, !0)); } else this.goToAndStop(a, e, r); this.play(); } }), (AnimationItem.prototype.advanceTime = function (t) { if (!0 !== this.isPaused && !1 !== this.isLoaded) { var e = this.currentRawFrame + t * this.frameModifier, r = !1; e >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e >= this.totalFrames ? ((this.playCount += 1), this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue( e % this.totalFrames ), (this._completedLoop = !0), this.trigger('loopComplete'))) : this.setCurrentRawFrameValue(e) : this.checkSegments( e > this.totalFrames ? e % this.totalFrames : 0 ) || ((r = !0), (e = this.totalFrames - 1)) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || (this.playCount-- <= 0 && !0 !== this.loop) ? ((r = !0), (e = 0)) : (this.setCurrentRawFrameValue( this.totalFrames + (e % this.totalFrames) ), this._completedLoop ? this.trigger('loopComplete') : (this._completedLoop = !0))) : this.setCurrentRawFrameValue(e), r && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger('complete')); } }), (AnimationItem.prototype.adjustSegment = function (t, e) { (this.playCount = 0), t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), (this.totalFrames = t[0] - t[1]), (this.timeCompleted = this.totalFrames), (this.firstFrame = t[1]), this.setCurrentRawFrameValue( this.totalFrames - 0.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(0.001 + e)), this.trigger('segmentStart'); }), (AnimationItem.prototype.setSegment = function (t, e) { var r = -1; this.isPaused && (this.currentRawFrame + this.firstFrame < t ? (r = t) : this.currentRawFrame + this.firstFrame > e && (r = e - t)), (this.firstFrame = t), (this.totalFrames = e - t), (this.timeCompleted = this.totalFrames), -1 !== r && this.goToAndStop(r, !0); }), (AnimationItem.prototype.playSegments = function (t, e) { if ( (e && (this.segments.length = 0), 'object' === _typeof$4(t[0])) ) { var r, a = t.length; for (r = 0; r < a; r += 1) this.segments.push(t[r]); } else this.segments.push(t); this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play(); }), (AnimationItem.prototype.resetSegments = function (t) { (this.segments.length = 0), this.segments.push([ this.animationData.ip, this.animationData.op ]), t && this.checkSegments(0); }), (AnimationItem.prototype.checkSegments = function (t) { return ( !!this.segments.length && (this.adjustSegment(this.segments.shift(), t), !0) ); }), (AnimationItem.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.expressionsPlugin = null), (this.imagePreloader = null), (this.projectInterface = null)); }), (AnimationItem.prototype.setCurrentRawFrameValue = function ( t ) { (this.currentRawFrame = t), this.gotoFrame(); }), (AnimationItem.prototype.setSpeed = function (t) { (this.playSpeed = t), this.updaFrameModifier(); }), (AnimationItem.prototype.setDirection = function (t) { (this.playDirection = t < 0 ? -1 : 1), this.updaFrameModifier(); }), (AnimationItem.prototype.setLoop = function (t) { this.loop = t; }), (AnimationItem.prototype.setVolume = function (t, e) { (e && this.name !== e) || this.audioController.setVolume(t); }), (AnimationItem.prototype.getVolume = function () { return this.audioController.getVolume(); }), (AnimationItem.prototype.mute = function (t) { (t && this.name !== t) || this.audioController.mute(); }), (AnimationItem.prototype.unmute = function (t) { (t && this.name !== t) || this.audioController.unmute(); }), (AnimationItem.prototype.updaFrameModifier = function () { (this.frameModifier = this.frameMult * this.playSpeed * this.playDirection), this.audioController.setRate( this.playSpeed * this.playDirection ); }), (AnimationItem.prototype.getPath = function () { return this.path; }), (AnimationItem.prototype.getAssetsPath = function (t) { var e = ''; if (t.e) e = t.p; else if (this.assetsPath) { var r = t.p; -1 !== r.indexOf('images/') && (r = r.split('/')[1]), (e = this.assetsPath + r); } else (e = this.path), (e += t.u ? t.u : ''), (e += t.p); return e; }), (AnimationItem.prototype.getAssetData = function (t) { for (var e = 0, r = this.assets.length; e < r; ) { if (t === this.assets[e].id) return this.assets[e]; e += 1; } return null; }), (AnimationItem.prototype.hide = function () { this.renderer.hide(); }), (AnimationItem.prototype.show = function () { this.renderer.show(); }), (AnimationItem.prototype.getDuration = function (t) { return t ? this.totalFrames : this.totalFrames / this.frameRate; }), (AnimationItem.prototype.updateDocumentData = function ( t, e, r ) { try { this.renderer .getElementByPath(t) .updateDocumentData(e, r); } catch (a) {} }), (AnimationItem.prototype.trigger = function (t) { if (this._cbs && this._cbs[t]) switch (t) { case 'enterFrame': this.triggerEvent( t, new BMEnterFrameEvent( t, this.currentFrame, this.totalFrames, this.frameModifier ) ); break; case 'drawnFrame': (this.drawnFrameEvent.currentTime = this.currentFrame), (this.drawnFrameEvent.totalTime = this.totalFrames), (this.drawnFrameEvent.direction = this.frameModifier), this.triggerEvent(t, this.drawnFrameEvent); break; case 'loopComplete': this.triggerEvent( t, new BMCompleteLoopEvent( t, this.loop, this.playCount, this.frameMult ) ); break; case 'complete': this.triggerEvent( t, new BMCompleteEvent(t, this.frameMult) ); break; case 'segmentStart': this.triggerEvent( t, new BMSegmentStartEvent( t, this.firstFrame, this.totalFrames ) ); break; case 'destroy': this.triggerEvent(t, new BMDestroyEvent(t, this)); break; default: this.triggerEvent(t); } 'enterFrame' === t && this.onEnterFrame && this.onEnterFrame.call( this, new BMEnterFrameEvent( t, this.currentFrame, this.totalFrames, this.frameMult ) ), 'loopComplete' === t && this.onLoopComplete && this.onLoopComplete.call( this, new BMCompleteLoopEvent( t, this.loop, this.playCount, this.frameMult ) ), 'complete' === t && this.onComplete && this.onComplete.call( this, new BMCompleteEvent(t, this.frameMult) ), 'segmentStart' === t && this.onSegmentStart && this.onSegmentStart.call( this, new BMSegmentStartEvent( t, this.firstFrame, this.totalFrames ) ), 'destroy' === t && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t, this)); }), (AnimationItem.prototype.triggerRenderFrameError = function ( t ) { var e = new BMRenderFrameErrorEvent(t, this.currentFrame); this.triggerEvent('error', e), this.onError && this.onError.call(this, e); }), (AnimationItem.prototype.triggerConfigError = function (t) { var e = new BMConfigErrorEvent(t, this.currentFrame); this.triggerEvent('error', e), this.onError && this.onError.call(this, e); }); var animationManager = (function () { var t = {}, e = [], r = 0, a = 0, i = 0, s = !0, n = !1; function o(t) { for (var r = 0, i = t.target; r < a; ) e[r].animation === i && (e.splice(r, 1), (r -= 1), (a -= 1), i.isPaused || p()), (r += 1); } function l(t, r) { if (!t) return null; for (var i = 0; i < a; ) { if (e[i].elem === t && null !== e[i].elem) return e[i].animation; i += 1; } var s = new AnimationItem(); return c(s, t), s.setData(t, r), s; } function h() { (i += 1), m(); } function p() { i -= 1; } function c(t, r) { t.addEventListener('destroy', o), t.addEventListener('_active', h), t.addEventListener('_idle', p), e.push({ elem: r, animation: t }), (a += 1); } function d(t) { var o, l = t - r; for (o = 0; o < a; o += 1) e[o].animation.advanceTime(l); (r = t), i && !n ? window.requestAnimationFrame(d) : (s = !0); } function f(t) { (r = t), window.requestAnimationFrame(d); } function m() { !n && i && s && (window.requestAnimationFrame(f), (s = !1)); } return ( (t.registerAnimation = l), (t.loadAnimation = function (t) { var e = new AnimationItem(); return c(e, null), e.setParams(t), e; }), (t.setSpeed = function (t, r) { var i; for (i = 0; i < a; i += 1) e[i].animation.setSpeed(t, r); }), (t.setDirection = function (t, r) { var i; for (i = 0; i < a; i += 1) e[i].animation.setDirection(t, r); }), (t.play = function (t) { var r; for (r = 0; r < a; r += 1) e[r].animation.play(t); }), (t.pause = function (t) { var r; for (r = 0; r < a; r += 1) e[r].animation.pause(t); }), (t.stop = function (t) { var r; for (r = 0; r < a; r += 1) e[r].animation.stop(t); }), (t.togglePause = function (t) { var r; for (r = 0; r < a; r += 1) e[r].animation.togglePause(t); }), (t.searchAnimations = function (t, e, r) { var a, i = [].concat( [].slice.call( document.getElementsByClassName('lottie') ), [].slice.call( document.getElementsByClassName('bodymovin') ) ), s = i.length; for (a = 0; a < s; a += 1) r && i[a].setAttribute('data-bm-type', r), l(i[a], t); if (e && 0 === s) { r || (r = 'svg'); var n = document.getElementsByTagName('body')[0]; n.innerText = ''; var o = createTag('div'); (o.style.width = '100%'), (o.style.height = '100%'), o.setAttribute('data-bm-type', r), n.appendChild(o), l(o, t); } }), (t.resize = function () { var t; for (t = 0; t < a; t += 1) e[t].animation.resize(); }), (t.goToAndStop = function (t, r, i) { var s; for (s = 0; s < a; s += 1) e[s].animation.goToAndStop(t, r, i); }), (t.destroy = function (t) { var r; for (r = a - 1; r >= 0; r -= 1) e[r].animation.destroy(t); }), (t.freeze = function () { n = !0; }), (t.unfreeze = function () { (n = !1), m(); }), (t.setVolume = function (t, r) { var i; for (i = 0; i < a; i += 1) e[i].animation.setVolume(t, r); }), (t.mute = function (t) { var r; for (r = 0; r < a; r += 1) e[r].animation.mute(t); }), (t.unmute = function (t) { var r; for (r = 0; r < a; r += 1) e[r].animation.unmute(t); }), (t.getRegisteredAnimations = function () { var t, r = e.length, a = []; for (t = 0; t < r; t += 1) a.push(e[t].animation); return a; }), t ); })(), BezierFactory = (function () { var t = { getBezierEasing: function (t, r, a, i, s) { var n = s || ('bez_' + t + '_' + r + '_' + a + '_' + i).replace( /\./g, 'p' ); if (e[n]) return e[n]; var o = new p([t, r, a, i]); return (e[n] = o), o; } }, e = {}, r = 11, a = 1 / (r - 1), i = 'function' == typeof Float32Array; function s(t, e) { return 1 - 3 * e + 3 * t; } function n(t, e) { return 3 * e - 6 * t; } function o(t) { return 3 * t; } function l(t, e, r) { return ((s(e, r) * t + n(e, r)) * t + o(e)) * t; } function h(t, e, r) { return 3 * s(e, r) * t * t + 2 * n(e, r) * t + o(e); } function p(t) { (this._p = t), (this._mSampleValues = i ? new Float32Array(r) : new Array(r)), (this._precomputed = !1), (this.get = this.get.bind(this)); } return ( (p.prototype = { get: function (t) { var e = this._p[0], r = this._p[1], a = this._p[2], i = this._p[3]; return ( this._precomputed || this._precompute(), e === r && a === i ? t : 0 === t ? 0 : 1 === t ? 1 : l(this._getTForX(t), r, i) ); }, _precompute: function () { var t = this._p[0], e = this._p[1], r = this._p[2], a = this._p[3]; (this._precomputed = !0), (t === e && r === a) || this._calcSampleValues(); }, _calcSampleValues: function () { for ( var t = this._p[0], e = this._p[2], i = 0; i < r; ++i ) this._mSampleValues[i] = l(i * a, t, e); }, _getTForX: function (t) { for ( var e = this._p[0], i = this._p[2], s = this._mSampleValues, n = 0, o = 1, p = r - 1; o !== p && s[o] <= t; ++o ) n += a; var c = n + ((t - s[--o]) / (s[o + 1] - s[o])) * a, d = h(c, e, i); return d >= 0.001 ? (function (t, e, r, a) { for (var i = 0; i < 4; ++i) { var s = h(e, r, a); if (0 === s) return e; e -= (l(e, r, a) - t) / s; } return e; })(t, c, e, i) : 0 === d ? c : (function (t, e, r, a, i) { var s, n, o = 0; do { (s = l((n = e + (r - e) / 2), a, i) - t) > 0 ? (r = n) : (e = n); } while (Math.abs(s) > 1e-7 && ++o < 10); return n; })(t, n, n + a, e, i); } }), t ); })(), pooling = { double: function (t) { return t.concat(createSizedArray(t.length)); } }, poolFactory = function (t, e, r) { var a = 0, i = t, s = createSizedArray(i); return { newElement: function () { return a ? s[(a -= 1)] : e(); }, release: function (t) { a === i && ((s = pooling.double(s)), (i *= 2)), r && r(t), (s[a] = t), (a += 1); } }; }, bezierLengthPool = poolFactory(8, function () { return { addedLength: 0, percents: createTypedArray( 'float32', getDefaultCurveSegments() ), lengths: createTypedArray( 'float32', getDefaultCurveSegments() ) }; }), segmentsLengthPool = poolFactory( 8, function () { return { lengths: [], totalLength: 0 }; }, function (t) { var e, r = t.lengths.length; for (e = 0; e < r; e += 1) bezierLengthPool.release(t.lengths[e]); t.lengths.length = 0; } ); function bezFunction() { var t = Math; function e(t, e, r, a, i, s) { var n = t * a + e * i + r * s - i * a - s * t - r * e; return n > -0.001 && n < 0.001; } var r = function (t, e, r, a) { var i, s, n, o, l, h, p = getDefaultCurveSegments(), c = 0, d = [], f = [], m = bezierLengthPool.newElement(); for (n = r.length, i = 0; i < p; i += 1) { for (l = i / (p - 1), h = 0, s = 0; s < n; s += 1) (o = bmPow(1 - l, 3) * t[s] + 3 * bmPow(1 - l, 2) * l * r[s] + 3 * (1 - l) * bmPow(l, 2) * a[s] + bmPow(l, 3) * e[s]), (d[s] = o), null !== f[s] && (h += bmPow(d[s] - f[s], 2)), (f[s] = d[s]); h && (c += h = bmSqrt(h)), (m.percents[i] = l), (m.lengths[i] = c); } return (m.addedLength = c), m; }; function a(t) { (this.segmentLength = 0), (this.points = new Array(t)); } function i(t, e) { (this.partialLength = t), (this.point = e); } var s, n = ((s = {}), function (t, r, n, o) { var l = ( t[0] + '_' + t[1] + '_' + r[0] + '_' + r[1] + '_' + n[0] + '_' + n[1] + '_' + o[0] + '_' + o[1] ).replace(/\./g, 'p'); if (!s[l]) { var h, p, c, d, f, m, u, g = getDefaultCurveSegments(), y = 0, v = null; 2 === t.length && (t[0] !== r[0] || t[1] !== r[1]) && e( t[0], t[1], r[0], r[1], t[0] + n[0], t[1] + n[1] ) && e( t[0], t[1], r[0], r[1], r[0] + o[0], r[1] + o[1] ) && (g = 2); var b = new a(g); for (c = n.length, h = 0; h < g; h += 1) { for ( u = createSizedArray(c), f = h / (g - 1), m = 0, p = 0; p < c; p += 1 ) (d = bmPow(1 - f, 3) * t[p] + 3 * bmPow(1 - f, 2) * f * (t[p] + n[p]) + 3 * (1 - f) * bmPow(f, 2) * (r[p] + o[p]) + bmPow(f, 3) * r[p]), (u[p] = d), null !== v && (m += bmPow(u[p] - v[p], 2)); (y += m = bmSqrt(m)), (b.points[h] = new i(m, u)), (v = u); } (b.segmentLength = y), (s[l] = b); } return s[l]; }); function o(t, e) { var r = e.percents, a = e.lengths, i = r.length, s = bmFloor((i - 1) * t), n = t * e.addedLength, o = 0; if (s === i - 1 || 0 === s || n === a[s]) return r[s]; for (var l = a[s] > n ? -1 : 1, h = !0; h; ) if ( (a[s] <= n && a[s + 1] > n ? ((o = (n - a[s]) / (a[s + 1] - a[s])), (h = !1)) : (s += l), s < 0 || s >= i - 1) ) { if (s === i - 1) return r[s]; h = !1; } return r[s] + (r[s + 1] - r[s]) * o; } var l = createTypedArray('float32', 8); return { getSegmentsLength: function (t) { var e, a = segmentsLengthPool.newElement(), i = t.c, s = t.v, n = t.o, o = t.i, l = t._length, h = a.lengths, p = 0; for (e = 0; e < l - 1; e += 1) (h[e] = r(s[e], s[e + 1], n[e], o[e + 1])), (p += h[e].addedLength); return ( i && l && ((h[e] = r(s[e], s[0], n[e], o[0])), (p += h[e].addedLength)), (a.totalLength = p), a ); }, getNewSegment: function (e, r, a, i, s, n, h) { s < 0 ? (s = 0) : s > 1 && (s = 1); var p, c = o(s, h), d = o((n = n > 1 ? 1 : n), h), f = e.length, m = 1 - c, u = 1 - d, g = m * m * m, y = c * m * m * 3, v = c * c * m * 3, b = c * c * c, _ = m * m * u, w = c * m * u + m * c * u + m * m * d, A = c * c * u + m * c * d + c * m * d, x = c * c * d, P = m * u * u, S = c * u * u + m * d * u + m * u * d, C = c * d * u + m * d * d + c * u * d, T = c * d * d, E = u * u * u, k = d * u * u + u * d * u + u * u * d, M = d * d * u + u * d * d + d * u * d, D = d * d * d; for (p = 0; p < f; p += 1) (l[4 * p] = t.round( 1e3 * (g * e[p] + y * a[p] + v * i[p] + b * r[p]) ) / 1e3), (l[4 * p + 1] = t.round( 1e3 * (_ * e[p] + w * a[p] + A * i[p] + x * r[p]) ) / 1e3), (l[4 * p + 2] = t.round( 1e3 * (P * e[p] + S * a[p] + C * i[p] + T * r[p]) ) / 1e3), (l[4 * p + 3] = t.round( 1e3 * (E * e[p] + k * a[p] + M * i[p] + D * r[p]) ) / 1e3); return l; }, getPointInSegment: function (e, r, a, i, s, n) { var l = o(s, n), h = 1 - l; return [ t.round( 1e3 * (h * h * h * e[0] + (l * h * h + h * l * h + h * h * l) * a[0] + (l * l * h + h * l * l + l * h * l) * i[0] + l * l * l * r[0]) ) / 1e3, t.round( 1e3 * (h * h * h * e[1] + (l * h * h + h * l * h + h * h * l) * a[1] + (l * l * h + h * l * l + l * h * l) * i[1] + l * l * l * r[1]) ) / 1e3 ]; }, buildBezierData: n, pointOnLine2D: e, pointOnLine3D: function (r, a, i, s, n, o, l, h, p) { if (0 === i && 0 === o && 0 === p) return e(r, a, s, n, l, h); var c, d = t.sqrt( t.pow(s - r, 2) + t.pow(n - a, 2) + t.pow(o - i, 2) ), f = t.sqrt( t.pow(l - r, 2) + t.pow(h - a, 2) + t.pow(p - i, 2) ), m = t.sqrt( t.pow(l - s, 2) + t.pow(h - n, 2) + t.pow(p - o, 2) ); return ( (c = d > f ? d > m ? d - f - m : m - f - d : m > f ? m - f - d : f - d - m) > -1e-4 && c < 1e-4 ); } }; } var bez = bezFunction(), initFrame = initialDefaultFrame, mathAbs = Math.abs; function interpolateValue(t, e) { var r, a = this.offsetTime; 'multidimensional' === this.propType && (r = createTypedArray('float32', this.pv.length)); for ( var i, s, n, o, l, h, p, c, d, f = e.lastIndex, m = f, u = this.keyframes.length - 1, g = !0; g; ) { if ( ((i = this.keyframes[m]), (s = this.keyframes[m + 1]), m === u - 1 && t >= s.t - a) ) { i.h && (i = s), (f = 0); break; } if (s.t - a > t) { f = m; break; } m < u - 1 ? (m += 1) : ((f = 0), (g = !1)); } n = this.keyframesMetadata[m] || {}; var y, v = s.t - a, b = i.t - a; if (i.to) { n.bezierData || (n.bezierData = bez.buildBezierData( i.s, s.s || i.e, i.to, i.ti )); var _ = n.bezierData; if (t >= v || t < b) { var w = t >= v ? _.points.length - 1 : 0; for (l = _.points[w].point.length, o = 0; o < l; o += 1) r[o] = _.points[w].point[o]; } else { n.__fnct ? (d = n.__fnct) : ((d = BezierFactory.getBezierEasing( i.o.x, i.o.y, i.i.x, i.i.y, i.n ).get), (n.__fnct = d)), (h = d((t - b) / (v - b))); var A, x = _.segmentLength * h, P = e.lastFrame < t && e._lastKeyframeIndex === m ? e._lastAddedLength : 0; for ( c = e.lastFrame < t && e._lastKeyframeIndex === m ? e._lastPoint : 0, g = !0, p = _.points.length; g; ) { if ( ((P += _.points[c].partialLength), 0 === x || 0 === h || c === _.points.length - 1) ) { for ( l = _.points[c].point.length, o = 0; o < l; o += 1 ) r[o] = _.points[c].point[o]; break; } if (x >= P && x < P + _.points[c + 1].partialLength) { for ( A = (x - P) / _.points[c + 1].partialLength, l = _.points[c].point.length, o = 0; o < l; o += 1 ) r[o] = _.points[c].point[o] + (_.points[c + 1].point[o] - _.points[c].point[o]) * A; break; } c < p - 1 ? (c += 1) : (g = !1); } (e._lastPoint = c), (e._lastAddedLength = P - _.points[c].partialLength), (e._lastKeyframeIndex = m); } } else { var S, C, T, E, k; if ( ((u = i.s.length), (y = s.s || i.e), this.sh && 1 !== i.h) ) t >= v ? ((r[0] = y[0]), (r[1] = y[1]), (r[2] = y[2])) : t <= b ? ((r[0] = i.s[0]), (r[1] = i.s[1]), (r[2] = i.s[2])) : quaternionToEuler( r, slerp( createQuaternion(i.s), createQuaternion(y), (t - b) / (v - b) ) ); else for (m = 0; m < u; m += 1) 1 !== i.h && (t >= v ? (h = 1) : t < b ? (h = 0) : (i.o.x.constructor === Array ? (n.__fnct || (n.__fnct = []), n.__fnct[m] ? (d = n.__fnct[m]) : ((S = void 0 === i.o.x[m] ? i.o.x[0] : i.o.x[m]), (C = void 0 === i.o.y[m] ? i.o.y[0] : i.o.y[m]), (T = void 0 === i.i.x[m] ? i.i.x[0] : i.i.x[m]), (E = void 0 === i.i.y[m] ? i.i.y[0] : i.i.y[m]), (d = BezierFactory.getBezierEasing( S, C, T, E ).get), (n.__fnct[m] = d))) : n.__fnct ? (d = n.__fnct) : ((S = i.o.x), (C = i.o.y), (T = i.i.x), (E = i.i.y), (d = BezierFactory.getBezierEasing( S, C, T, E ).get), (i.keyframeMetadata = d)), (h = d((t - b) / (v - b))))), (y = s.s || i.e), (k = 1 === i.h ? i.s[m] : i.s[m] + (y[m] - i.s[m]) * h), 'multidimensional' === this.propType ? (r[m] = k) : (r = k); } return (e.lastIndex = f), r; } function slerp(t, e, r) { var a, i, s, n, o, l = [], h = t[0], p = t[1], c = t[2], d = t[3], f = e[0], m = e[1], u = e[2], g = e[3]; return ( (i = h * f + p * m + c * u + d * g) < 0 && ((i = -i), (f = -f), (m = -m), (u = -u), (g = -g)), 1 - i > 1e-6 ? ((a = Math.acos(i)), (s = Math.sin(a)), (n = Math.sin((1 - r) * a) / s), (o = Math.sin(r * a) / s)) : ((n = 1 - r), (o = r)), (l[0] = n * h + o * f), (l[1] = n * p + o * m), (l[2] = n * c + o * u), (l[3] = n * d + o * g), l ); } function quaternionToEuler(t, e) { var r = e[0], a = e[1], i = e[2], s = e[3], n = Math.atan2( 2 * a * s - 2 * r * i, 1 - 2 * a * a - 2 * i * i ), o = Math.asin(2 * r * a + 2 * i * s), l = Math.atan2( 2 * r * s - 2 * a * i, 1 - 2 * r * r - 2 * i * i ); (t[0] = n / degToRads), (t[1] = o / degToRads), (t[2] = l / degToRads); } function createQuaternion(t) { var e = t[0] * degToRads, r = t[1] * degToRads, a = t[2] * degToRads, i = Math.cos(e / 2), s = Math.cos(r / 2), n = Math.cos(a / 2), o = Math.sin(e / 2), l = Math.sin(r / 2), h = Math.sin(a / 2); return [ o * l * n + i * s * h, o * s * n + i * l * h, i * l * n - o * s * h, i * s * n - o * l * h ]; } function getValueAtCurrentTime() { var t = this.comp.renderedFrame - this.offsetTime, e = this.keyframes[0].t - this.offsetTime, r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime; if ( !( t === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= r && t >= r) || (this._caching.lastFrame < e && t < e))) ) ) { this._caching.lastFrame >= t && ((this._caching._lastKeyframeIndex = -1), (this._caching.lastIndex = 0)); var a = this.interpolateValue(t, this._caching); this.pv = a; } return (this._caching.lastFrame = t), this.pv; } function setVValue(t) { var e; if ('unidimensional' === this.propType) (e = t * this.mult), mathAbs(this.v - e) > 1e-5 && ((this.v = e), (this._mdf = !0)); else for (var r = 0, a = this.v.length; r < a; ) (e = t[r] * this.mult), mathAbs(this.v[r] - e) > 1e-5 && ((this.v[r] = e), (this._mdf = !0)), (r += 1); } function processEffectsSequence() { if ( this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length ) if (this.lock) this.setVValue(this.pv); else { var t; (this.lock = !0), (this._mdf = this._isFirstFrame); var e = this.effectsSequence.length, r = this.kf ? this.pv : this.data.k; for (t = 0; t < e; t += 1) r = this.effectsSequence[t](r); this.setVValue(r), (this._isFirstFrame = !1), (this.lock = !1), (this.frameId = this.elem.globalData.frameId); } } function addEffect(t) { this.effectsSequence.push(t), this.container.addDynamicProperty(this); } function ValueProperty(t, e, r, a) { (this.propType = 'unidimensional'), (this.mult = r || 1), (this.data = e), (this.v = r ? e.k * r : e.k), (this.pv = e.k), (this._mdf = !1), (this.elem = t), (this.container = a), (this.comp = t.comp), (this.k = !1), (this.kf = !1), (this.vel = 0), (this.effectsSequence = []), (this._isFirstFrame = !0), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.addEffect = addEffect); } function MultiDimensionalProperty(t, e, r, a) { var i; (this.propType = 'multidimensional'), (this.mult = r || 1), (this.data = e), (this._mdf = !1), (this.elem = t), (this.container = a), (this.comp = t.comp), (this.k = !1), (this.kf = !1), (this.frameId = -1); var s = e.k.length; for ( this.v = createTypedArray('float32', s), this.pv = createTypedArray('float32', s), this.vel = createTypedArray('float32', s), i = 0; i < s; i += 1 ) (this.v[i] = e.k[i] * this.mult), (this.pv[i] = e.k[i]); (this._isFirstFrame = !0), (this.effectsSequence = []), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.addEffect = addEffect); } function KeyframedValueProperty(t, e, r, a) { (this.propType = 'unidimensional'), (this.keyframes = e.k), (this.keyframesMetadata = []), (this.offsetTime = t.data.st), (this.frameId = -1), (this._caching = { lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1 }), (this.k = !0), (this.kf = !0), (this.data = e), (this.mult = r || 1), (this.elem = t), (this.container = a), (this.comp = t.comp), (this.v = initFrame), (this.pv = initFrame), (this._isFirstFrame = !0), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.interpolateValue = interpolateValue), (this.effectsSequence = [getValueAtCurrentTime.bind(this)]), (this.addEffect = addEffect); } function KeyframedMultidimensionalProperty(t, e, r, a) { var i; this.propType = 'multidimensional'; var s, n, o, l, h = e.k.length; for (i = 0; i < h - 1; i += 1) e.k[i].to && e.k[i].s && e.k[i + 1] && e.k[i + 1].s && ((s = e.k[i].s), (n = e.k[i + 1].s), (o = e.k[i].to), (l = e.k[i].ti), ((2 === s.length && (s[0] !== n[0] || s[1] !== n[1]) && bez.pointOnLine2D( s[0], s[1], n[0], n[1], s[0] + o[0], s[1] + o[1] ) && bez.pointOnLine2D( s[0], s[1], n[0], n[1], n[0] + l[0], n[1] + l[1] )) || (3 === s.length && (s[0] !== n[0] || s[1] !== n[1] || s[2] !== n[2]) && bez.pointOnLine3D( s[0], s[1], s[2], n[0], n[1], n[2], s[0] + o[0], s[1] + o[1], s[2] + o[2] ) && bez.pointOnLine3D( s[0], s[1], s[2], n[0], n[1], n[2], n[0] + l[0], n[1] + l[1], n[2] + l[2] ))) && ((e.k[i].to = null), (e.k[i].ti = null)), s[0] === n[0] && s[1] === n[1] && 0 === o[0] && 0 === o[1] && 0 === l[0] && 0 === l[1] && (2 === s.length || (s[2] === n[2] && 0 === o[2] && 0 === l[2])) && ((e.k[i].to = null), (e.k[i].ti = null))); (this.effectsSequence = [getValueAtCurrentTime.bind(this)]), (this.data = e), (this.keyframes = e.k), (this.keyframesMetadata = []), (this.offsetTime = t.data.st), (this.k = !0), (this.kf = !0), (this._isFirstFrame = !0), (this.mult = r || 1), (this.elem = t), (this.container = a), (this.comp = t.comp), (this.getValue = processEffectsSequence), (this.setVValue = setVValue), (this.interpolateValue = interpolateValue), (this.frameId = -1); var p = e.k[0].s.length; for ( this.v = createTypedArray('float32', p), this.pv = createTypedArray('float32', p), i = 0; i < p; i += 1 ) (this.v[i] = initFrame), (this.pv[i] = initFrame); (this._caching = { lastFrame: initFrame, lastIndex: 0, value: createTypedArray('float32', p) }), (this.addEffect = addEffect); } var PropertyFactory = ((ob = { getProp: function (t, e, r, a, i) { var s; if ( (e.sid && (e = t.globalData.slotManager.getProp(e)), e.k.length) ) if ('number' == typeof e.k[0]) s = new MultiDimensionalProperty(t, e, a, i); else switch (r) { case 0: s = new KeyframedValueProperty(t, e, a, i); break; case 1: s = new KeyframedMultidimensionalProperty( t, e, a, i ); } else s = new ValueProperty(t, e, a, i); return ( s.effectsSequence.length && i.addDynamicProperty(s), s ); } }), ob), ob; function DynamicPropertyContainer() {} DynamicPropertyContainer.prototype = { addDynamicProperty: function (t) { -1 === this.dynamicProperties.indexOf(t) && (this.dynamicProperties.push(t), this.container.addDynamicProperty(this), (this._isAnimated = !0)); }, iterateDynamicProperties: function () { var t; this._mdf = !1; var e = this.dynamicProperties.length; for (t = 0; t < e; t += 1) this.dynamicProperties[t].getValue(), this.dynamicProperties[t]._mdf && (this._mdf = !0); }, initDynamicPropertyContainer: function (t) { (this.container = t), (this.dynamicProperties = []), (this._mdf = !1), (this._isAnimated = !1); } }; var pointPool = poolFactory(8, function () { return createTypedArray('float32', 2); }); function ShapePath() { (this.c = !1), (this._length = 0), (this._maxLength = 8), (this.v = createSizedArray(this._maxLength)), (this.o = createSizedArray(this._maxLength)), (this.i = createSizedArray(this._maxLength)); } (ShapePath.prototype.setPathData = function (t, e) { (this.c = t), this.setLength(e); for (var r = 0; r < e; ) (this.v[r] = pointPool.newElement()), (this.o[r] = pointPool.newElement()), (this.i[r] = pointPool.newElement()), (r += 1); }), (ShapePath.prototype.setLength = function (t) { for (; this._maxLength < t; ) this.doubleArrayLength(); this._length = t; }), (ShapePath.prototype.doubleArrayLength = function () { (this.v = this.v.concat(createSizedArray(this._maxLength))), (this.i = this.i.concat( createSizedArray(this._maxLength) )), (this.o = this.o.concat( createSizedArray(this._maxLength) )), (this._maxLength *= 2); }), (ShapePath.prototype.setXYAt = function (t, e, r, a, i) { var s; switch ( ((this._length = Math.max(this._length, a + 1)), this._length >= this._maxLength && this.doubleArrayLength(), r) ) { case 'v': s = this.v; break; case 'i': s = this.i; break; case 'o': s = this.o; break; default: s = []; } (!s[a] || (s[a] && !i)) && (s[a] = pointPool.newElement()), (s[a][0] = t), (s[a][1] = e); }), (ShapePath.prototype.setTripleAt = function ( t, e, r, a, i, s, n, o ) { this.setXYAt(t, e, 'v', n, o), this.setXYAt(r, a, 'o', n, o), this.setXYAt(i, s, 'i', n, o); }), (ShapePath.prototype.reverse = function () { var t = new ShapePath(); t.setPathData(this.c, this._length); var e = this.v, r = this.o, a = this.i, i = 0; this.c && (t.setTripleAt( e[0][0], e[0][1], a[0][0], a[0][1], r[0][0], r[0][1], 0, !1 ), (i = 1)); var s, n = this._length - 1, o = this._length; for (s = i; s < o; s += 1) t.setTripleAt( e[n][0], e[n][1], a[n][0], a[n][1], r[n][0], r[n][1], s, !1 ), (n -= 1); return t; }), (ShapePath.prototype.length = function () { return this._length; }); var shapePool = ((factory = poolFactory( 4, function () { return new ShapePath(); }, function (t) { var e, r = t._length; for (e = 0; e < r; e += 1) pointPool.release(t.v[e]), pointPool.release(t.i[e]), pointPool.release(t.o[e]), (t.v[e] = null), (t.i[e] = null), (t.o[e] = null); (t._length = 0), (t.c = !1); } )), (factory.clone = function (t) { var e, r = factory.newElement(), a = void 0 === t._length ? t.v.length : t._length; for (r.setLength(a), r.c = t.c, e = 0; e < a; e += 1) r.setTripleAt( t.v[e][0], t.v[e][1], t.o[e][0], t.o[e][1], t.i[e][0], t.i[e][1], e ); return r; }), factory), factory; function ShapeCollection() { (this._length = 0), (this._maxLength = 4), (this.shapes = createSizedArray(this._maxLength)); } (ShapeCollection.prototype.addShape = function (t) { this._length === this._maxLength && ((this.shapes = this.shapes.concat( createSizedArray(this._maxLength) )), (this._maxLength *= 2)), (this.shapes[this._length] = t), (this._length += 1); }), (ShapeCollection.prototype.releaseShapes = function () { var t; for (t = 0; t < this._length; t += 1) shapePool.release(this.shapes[t]); this._length = 0; }); var shapeCollectionPool = (function () { var t = { newShapeCollection: function () { return e ? a[(e -= 1)] : new ShapeCollection(); }, release: function (t) { var i, s = t._length; for (i = 0; i < s; i += 1) shapePool.release(t.shapes[i]); (t._length = 0), e === r && ((a = pooling.double(a)), (r *= 2)), (a[e] = t), (e += 1); } }, e = 0, r = 4, a = createSizedArray(r); return t; })(), ShapePropertyFactory = (function () { var t = -999999; function e(t, e, r) { var a, i, s, n, o, l, h, p, c, d = r.lastIndex, f = this.keyframes; if (t < f[0].t - this.offsetTime) (a = f[0].s[0]), (s = !0), (d = 0); else if (t >= f[f.length - 1].t - this.offsetTime) (a = f[f.length - 1].s ? f[f.length - 1].s[0] : f[f.length - 2].e[0]), (s = !0); else { for ( var m, u, g, y = d, v = f.length - 1, b = !0; b && ((m = f[y]), !((u = f[y + 1]).t - this.offsetTime > t)); ) y < v - 1 ? (y += 1) : (b = !1); if ( ((g = this.keyframesMetadata[y] || {}), (d = y), !(s = 1 === m.h)) ) { if (t >= u.t - this.offsetTime) p = 1; else if (t < m.t - this.offsetTime) p = 0; else { var _; g.__fnct ? (_ = g.__fnct) : ((_ = BezierFactory.getBezierEasing( m.o.x, m.o.y, m.i.x, m.i.y ).get), (g.__fnct = _)), (p = _( (t - (m.t - this.offsetTime)) / (u.t - this.offsetTime - (m.t - this.offsetTime)) )); } i = u.s ? u.s[0] : m.e[0]; } a = m.s[0]; } for ( l = e._length, h = a.i[0].length, r.lastIndex = d, n = 0; n < l; n += 1 ) for (o = 0; o < h; o += 1) (c = s ? a.i[n][o] : a.i[n][o] + (i.i[n][o] - a.i[n][o]) * p), (e.i[n][o] = c), (c = s ? a.o[n][o] : a.o[n][o] + (i.o[n][o] - a.o[n][o]) * p), (e.o[n][o] = c), (c = s ? a.v[n][o] : a.v[n][o] + (i.v[n][o] - a.v[n][o]) * p), (e.v[n][o] = c); } function r() { var e = this.comp.renderedFrame - this.offsetTime, r = this.keyframes[0].t - this.offsetTime, a = this.keyframes[this.keyframes.length - 1].t - this.offsetTime, i = this._caching.lastFrame; return ( (i !== t && ((i < r && e < r) || (i > a && e > a))) || ((this._caching.lastIndex = i < e ? this._caching.lastIndex : 0), this.interpolateShape(e, this.pv, this._caching)), (this._caching.lastFrame = e), this.pv ); } function a() { this.paths = this.localShapeCollection; } function i(t) { (function (t, e) { if (t._length !== e._length || t.c !== e.c) return !1; var r, a = t._length; for (r = 0; r < a; r += 1) if ( t.v[r][0] !== e.v[r][0] || t.v[r][1] !== e.v[r][1] || t.o[r][0] !== e.o[r][0] || t.o[r][1] !== e.o[r][1] || t.i[r][0] !== e.i[r][0] || t.i[r][1] !== e.i[r][1] ) return !1; return !0; })(this.v, t) || ((this.v = shapePool.clone(t)), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), (this._mdf = !0), (this.paths = this.localShapeCollection)); } function s() { if (this.elem.globalData.frameId !== this.frameId) if (this.effectsSequence.length) if (this.lock) this.setVValue(this.pv); else { var t, e; (this.lock = !0), (this._mdf = !1), (t = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k); var r = this.effectsSequence.length; for (e = 0; e < r; e += 1) t = this.effectsSequence[e](t); this.setVValue(t), (this.lock = !1), (this.frameId = this.elem.globalData.frameId); } else this._mdf = !1; } function n(t, e, r) { (this.propType = 'shape'), (this.comp = t.comp), (this.container = t), (this.elem = t), (this.data = e), (this.k = !1), (this.kf = !1), (this._mdf = !1); var i = 3 === r ? e.pt.k : e.ks.k; (this.v = shapePool.clone(i)), (this.pv = shapePool.clone(this.v)), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), (this.paths = this.localShapeCollection), this.paths.addShape(this.v), (this.reset = a), (this.effectsSequence = []); } function o(t) { this.effectsSequence.push(t), this.container.addDynamicProperty(this); } function l(e, i, s) { (this.propType = 'shape'), (this.comp = e.comp), (this.elem = e), (this.container = e), (this.offsetTime = e.data.st), (this.keyframes = 3 === s ? i.pt.k : i.ks.k), (this.keyframesMetadata = []), (this.k = !0), (this.kf = !0); var n = this.keyframes[0].s[0].i.length; (this.v = shapePool.newElement()), this.v.setPathData(this.keyframes[0].s[0].c, n), (this.pv = shapePool.clone(this.v)), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), (this.paths = this.localShapeCollection), this.paths.addShape(this.v), (this.lastFrame = t), (this.reset = a), (this._caching = { lastFrame: t, lastIndex: 0 }), (this.effectsSequence = [r.bind(this)]); } (n.prototype.interpolateShape = e), (n.prototype.getValue = s), (n.prototype.setVValue = i), (n.prototype.addEffect = o), (l.prototype.getValue = s), (l.prototype.interpolateShape = e), (l.prototype.setVValue = i), (l.prototype.addEffect = o); var h = (function () { var t = roundCorner; function e(t, e) { (this.v = shapePool.newElement()), this.v.setPathData(!0, 4), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), (this.paths = this.localShapeCollection), this.localShapeCollection.addShape(this.v), (this.d = e.d), (this.elem = t), (this.comp = t.comp), (this.frameId = -1), this.initDynamicPropertyContainer(t), (this.p = PropertyFactory.getProp( t, e.p, 1, 0, this )), (this.s = PropertyFactory.getProp( t, e.s, 1, 0, this )), this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertEllToPath()); } return ( (e.prototype = { reset: a, getValue: function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), this._mdf && this.convertEllToPath()); }, convertEllToPath: function () { var e = this.p.v[0], r = this.p.v[1], a = this.s.v[0] / 2, i = this.s.v[1] / 2, s = 3 !== this.d, n = this.v; (n.v[0][0] = e), (n.v[0][1] = r - i), (n.v[1][0] = s ? e + a : e - a), (n.v[1][1] = r), (n.v[2][0] = e), (n.v[2][1] = r + i), (n.v[3][0] = s ? e - a : e + a), (n.v[3][1] = r), (n.i[0][0] = s ? e - a * t : e + a * t), (n.i[0][1] = r - i), (n.i[1][0] = s ? e + a : e - a), (n.i[1][1] = r - i * t), (n.i[2][0] = s ? e + a * t : e - a * t), (n.i[2][1] = r + i), (n.i[3][0] = s ? e - a : e + a), (n.i[3][1] = r + i * t), (n.o[0][0] = s ? e + a * t : e - a * t), (n.o[0][1] = r - i), (n.o[1][0] = s ? e + a : e - a), (n.o[1][1] = r + i * t), (n.o[2][0] = s ? e - a * t : e + a * t), (n.o[2][1] = r + i), (n.o[3][0] = s ? e - a : e + a), (n.o[3][1] = r - i * t); } }), extendPrototype([DynamicPropertyContainer], e), e ); })(), p = (function () { function t(t, e) { (this.v = shapePool.newElement()), this.v.setPathData(!0, 0), (this.elem = t), (this.comp = t.comp), (this.data = e), (this.frameId = -1), (this.d = e.d), this.initDynamicPropertyContainer(t), 1 === e.sy ? ((this.ir = PropertyFactory.getProp( t, e.ir, 0, 0, this )), (this.is = PropertyFactory.getProp( t, e.is, 0, 0.01, this )), (this.convertToPath = this.convertStarToPath)) : (this.convertToPath = this.convertPolygonToPath), (this.pt = PropertyFactory.getProp( t, e.pt, 0, 0, this )), (this.p = PropertyFactory.getProp( t, e.p, 1, 0, this )), (this.r = PropertyFactory.getProp( t, e.r, 0, degToRads, this )), (this.or = PropertyFactory.getProp( t, e.or, 0, 0, this )), (this.os = PropertyFactory.getProp( t, e.os, 0, 0.01, this )), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), this.localShapeCollection.addShape(this.v), (this.paths = this.localShapeCollection), this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertToPath()); } return ( (t.prototype = { reset: a, getValue: function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), this._mdf && this.convertToPath()); }, convertStarToPath: function () { var t, e, r, a, i = 2 * Math.floor(this.pt.v), s = (2 * Math.PI) / i, n = !0, o = this.or.v, l = this.ir.v, h = this.os.v, p = this.is.v, c = (2 * Math.PI * o) / (2 * i), d = (2 * Math.PI * l) / (2 * i), f = -Math.PI / 2; f += this.r.v; var m = 3 === this.data.d ? -1 : 1; for (this.v._length = 0, t = 0; t < i; t += 1) { (r = n ? h : p), (a = n ? c : d); var u = (e = n ? o : l) * Math.cos(f), g = e * Math.sin(f), y = 0 === u && 0 === g ? 0 : g / Math.sqrt(u * u + g * g), v = 0 === u && 0 === g ? 0 : -u / Math.sqrt(u * u + g * g); (u += +this.p.v[0]), (g += +this.p.v[1]), this.v.setTripleAt( u, g, u - y * a * r * m, g - v * a * r * m, u + y * a * r * m, g + v * a * r * m, t, !0 ), (n = !n), (f += s * m); } }, convertPolygonToPath: function () { var t, e = Math.floor(this.pt.v), r = (2 * Math.PI) / e, a = this.or.v, i = this.os.v, s = (2 * Math.PI * a) / (4 * e), n = 0.5 * -Math.PI, o = 3 === this.data.d ? -1 : 1; for ( n += this.r.v, this.v._length = 0, t = 0; t < e; t += 1 ) { var l = a * Math.cos(n), h = a * Math.sin(n), p = 0 === l && 0 === h ? 0 : h / Math.sqrt(l * l + h * h), c = 0 === l && 0 === h ? 0 : -l / Math.sqrt(l * l + h * h); (l += +this.p.v[0]), (h += +this.p.v[1]), this.v.setTripleAt( l, h, l - p * s * i * o, h - c * s * i * o, l + p * s * i * o, h + c * s * i * o, t, !0 ), (n += r * o); } (this.paths.length = 0), (this.paths[0] = this.v); } }), extendPrototype([DynamicPropertyContainer], t), t ); })(), c = (function () { function t(t, e) { (this.v = shapePool.newElement()), (this.v.c = !0), (this.localShapeCollection = shapeCollectionPool.newShapeCollection()), this.localShapeCollection.addShape(this.v), (this.paths = this.localShapeCollection), (this.elem = t), (this.comp = t.comp), (this.frameId = -1), (this.d = e.d), this.initDynamicPropertyContainer(t), (this.p = PropertyFactory.getProp( t, e.p, 1, 0, this )), (this.s = PropertyFactory.getProp( t, e.s, 1, 0, this )), (this.r = PropertyFactory.getProp( t, e.r, 0, 0, this )), this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertRectToPath()); } return ( (t.prototype = { convertRectToPath: function () { var t = this.p.v[0], e = this.p.v[1], r = this.s.v[0] / 2, a = this.s.v[1] / 2, i = bmMin(r, a, this.r.v), s = i * (1 - roundCorner); (this.v._length = 0), 2 === this.d || 1 === this.d ? (this.v.setTripleAt( t + r, e - a + i, t + r, e - a + i, t + r, e - a + s, 0, !0 ), this.v.setTripleAt( t + r, e + a - i, t + r, e + a - s, t + r, e + a - i, 1, !0 ), 0 !== i ? (this.v.setTripleAt( t + r - i, e + a, t + r - i, e + a, t + r - s, e + a, 2, !0 ), this.v.setTripleAt( t - r + i, e + a, t - r + s, e + a, t - r + i, e + a, 3, !0 ), this.v.setTripleAt( t - r, e + a - i, t - r, e + a - i, t - r, e + a - s, 4, !0 ), this.v.setTripleAt( t - r, e - a + i, t - r, e - a + s, t - r, e - a + i, 5, !0 ), this.v.setTripleAt( t - r + i, e - a, t - r + i, e - a, t - r + s, e - a, 6, !0 ), this.v.setTripleAt( t + r - i, e - a, t + r - s, e - a, t + r - i, e - a, 7, !0 )) : (this.v.setTripleAt( t - r, e + a, t - r + s, e + a, t - r, e + a, 2 ), this.v.setTripleAt( t - r, e - a, t - r, e - a + s, t - r, e - a, 3 ))) : (this.v.setTripleAt( t + r, e - a + i, t + r, e - a + s, t + r, e - a + i, 0, !0 ), 0 !== i ? (this.v.setTripleAt( t + r - i, e - a, t + r - i, e - a, t + r - s, e - a, 1, !0 ), this.v.setTripleAt( t - r + i, e - a, t - r + s, e - a, t - r + i, e - a, 2, !0 ), this.v.setTripleAt( t - r, e - a + i, t - r, e - a + i, t - r, e - a + s, 3, !0 ), this.v.setTripleAt( t - r, e + a - i, t - r, e + a - s, t - r, e + a - i, 4, !0 ), this.v.setTripleAt( t - r + i, e + a, t - r + i, e + a, t - r + s, e + a, 5, !0 ), this.v.setTripleAt( t + r - i, e + a, t + r - s, e + a, t + r - i, e + a, 6, !0 ), this.v.setTripleAt( t + r, e + a - i, t + r, e + a - i, t + r, e + a - s, 7, !0 )) : (this.v.setTripleAt( t - r, e - a, t - r + s, e - a, t - r, e - a, 1, !0 ), this.v.setTripleAt( t - r, e + a, t - r, e + a - s, t - r, e + a, 2, !0 ), this.v.setTripleAt( t + r, e + a, t + r - s, e + a, t + r, e + a, 3, !0 ))); }, getValue: function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), this._mdf && this.convertRectToPath()); }, reset: a }), extendPrototype([DynamicPropertyContainer], t), t ); })(), d = { getShapeProp: function (t, e, r) { var a; return ( 3 === r || 4 === r ? (a = (3 === r ? e.pt : e.ks).k.length ? new l(t, e, r) : new n(t, e, r)) : 5 === r ? (a = new c(t, e)) : 6 === r ? (a = new h(t, e)) : 7 === r && (a = new p(t, e)), a.k && t.addDynamicProperty(a), a ); }, getConstructorFunction: function () { return n; }, getKeyframedConstructorFunction: function () { return l; } }; return d; })(), Matrix = (function () { var t = Math.cos, e = Math.sin, r = Math.tan, a = Math.round; function i() { return ( (this.props[0] = 1), (this.props[1] = 0), (this.props[2] = 0), (this.props[3] = 0), (this.props[4] = 0), (this.props[5] = 1), (this.props[6] = 0), (this.props[7] = 0), (this.props[8] = 0), (this.props[9] = 0), (this.props[10] = 1), (this.props[11] = 0), (this.props[12] = 0), (this.props[13] = 0), (this.props[14] = 0), (this.props[15] = 1), this ); } function s(r) { if (0 === r) return this; var a = t(r), i = e(r); return this._t( a, -i, 0, 0, i, a, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ); } function n(r) { if (0 === r) return this; var a = t(r), i = e(r); return this._t( 1, 0, 0, 0, 0, a, -i, 0, 0, i, a, 0, 0, 0, 0, 1 ); } function o(r) { if (0 === r) return this; var a = t(r), i = e(r); return this._t( a, 0, i, 0, 0, 1, 0, 0, -i, 0, a, 0, 0, 0, 0, 1 ); } function l(r) { if (0 === r) return this; var a = t(r), i = e(r); return this._t( a, -i, 0, 0, i, a, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ); } function h(t, e) { return this._t(1, e, t, 1, 0, 0); } function p(t, e) { return this.shear(r(t), r(e)); } function c(a, i) { var s = t(i), n = e(i); return this._t( s, n, 0, 0, -n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ) ._t(1, 0, 0, 0, r(a), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1) ._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } function d(t, e, r) { return ( r || 0 === r || (r = 1), 1 === t && 1 === e && 1 === r ? this : this._t( t, 0, 0, 0, 0, e, 0, 0, 0, 0, r, 0, 0, 0, 0, 1 ) ); } function f(t, e, r, a, i, s, n, o, l, h, p, c, d, f, m, u) { return ( (this.props[0] = t), (this.props[1] = e), (this.props[2] = r), (this.props[3] = a), (this.props[4] = i), (this.props[5] = s), (this.props[6] = n), (this.props[7] = o), (this.props[8] = l), (this.props[9] = h), (this.props[10] = p), (this.props[11] = c), (this.props[12] = d), (this.props[13] = f), (this.props[14] = m), (this.props[15] = u), this ); } function m(t, e, r) { return ( (r = r || 0), 0 !== t || 0 !== e || 0 !== r ? this._t( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, r, 1 ) : this ); } function u(t, e, r, a, i, s, n, o, l, h, p, c, d, f, m, u) { var g = this.props; if ( 1 === t && 0 === e && 0 === r && 0 === a && 0 === i && 1 === s && 0 === n && 0 === o && 0 === l && 0 === h && 1 === p && 0 === c ) return ( (g[12] = g[12] * t + g[15] * d), (g[13] = g[13] * s + g[15] * f), (g[14] = g[14] * p + g[15] * m), (g[15] *= u), (this._identityCalculated = !1), this ); var y = g[0], v = g[1], b = g[2], _ = g[3], w = g[4], A = g[5], x = g[6], P = g[7], S = g[8], C = g[9], T = g[10], E = g[11], k = g[12], M = g[13], D = g[14], I = g[15]; return ( (g[0] = y * t + v * i + b * l + _ * d), (g[1] = y * e + v * s + b * h + _ * f), (g[2] = y * r + v * n + b * p + _ * m), (g[3] = y * a + v * o + b * c + _ * u), (g[4] = w * t + A * i + x * l + P * d), (g[5] = w * e + A * s + x * h + P * f), (g[6] = w * r + A * n + x * p + P * m), (g[7] = w * a + A * o + x * c + P * u), (g[8] = S * t + C * i + T * l + E * d), (g[9] = S * e + C * s + T * h + E * f), (g[10] = S * r + C * n + T * p + E * m), (g[11] = S * a + C * o + T * c + E * u), (g[12] = k * t + M * i + D * l + I * d), (g[13] = k * e + M * s + D * h + I * f), (g[14] = k * r + M * n + D * p + I * m), (g[15] = k * a + M * o + D * c + I * u), (this._identityCalculated = !1), this ); } function g(t) { var e = t.props; return this.transform( e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15] ); } function y() { return ( this._identityCalculated || ((this._identity = !( 1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15] )), (this._identityCalculated = !0)), this._identity ); } function v(t) { for (var e = 0; e < 16; ) { if (t.props[e] !== this.props[e]) return !1; e += 1; } return !0; } function b(t) { var e; for (e = 0; e < 16; e += 1) t.props[e] = this.props[e]; return t; } function _(t) { var e; for (e = 0; e < 16; e += 1) this.props[e] = t[e]; } function w(t, e, r) { return { x: t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12], y: t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13], z: t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14] }; } function A(t, e, r) { return ( t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12] ); } function x(t, e, r) { return ( t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13] ); } function P(t, e, r) { return ( t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14] ); } function S() { var t = this.props[0] * this.props[5] - this.props[1] * this.props[4], e = this.props[5] / t, r = -this.props[1] / t, a = -this.props[4] / t, i = this.props[0] / t, s = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t, n = -( this.props[0] * this.props[13] - this.props[1] * this.props[12] ) / t, o = new Matrix(); return ( (o.props[0] = e), (o.props[1] = r), (o.props[4] = a), (o.props[5] = i), (o.props[12] = s), (o.props[13] = n), o ); } function C(t) { return this.getInverseMatrix().applyToPointArray( t[0], t[1], t[2] || 0 ); } function T(t) { var e, r = t.length, a = []; for (e = 0; e < r; e += 1) a[e] = C(t[e]); return a; } function E(t, e, r) { var a = createTypedArray('float32', 6); if (this.isIdentity()) (a[0] = t[0]), (a[1] = t[1]), (a[2] = e[0]), (a[3] = e[1]), (a[4] = r[0]), (a[5] = r[1]); else { var i = this.props[0], s = this.props[1], n = this.props[4], o = this.props[5], l = this.props[12], h = this.props[13]; (a[0] = t[0] * i + t[1] * n + l), (a[1] = t[0] * s + t[1] * o + h), (a[2] = e[0] * i + e[1] * n + l), (a[3] = e[0] * s + e[1] * o + h), (a[4] = r[0] * i + r[1] * n + l), (a[5] = r[0] * s + r[1] * o + h); } return a; } function k(t, e, r) { return this.isIdentity() ? [t, e, r] : [ t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14] ]; } function M(t, e) { if (this.isIdentity()) return t + ',' + e; var r = this.props; return ( Math.round(100 * (t * r[0] + e * r[4] + r[12])) / 100 + ',' + Math.round(100 * (t * r[1] + e * r[5] + r[13])) / 100 ); } function D() { for (var t = 0, e = this.props, r = 'matrix3d('; t < 16; ) (r += a(1e4 * e[t]) / 1e4), (r += 15 === t ? ')' : ','), (t += 1); return r; } function I(t) { return (t < 1e-6 && t > 0) || (t > -1e-6 && t < 0) ? a(1e4 * t) / 1e4 : t; } function F() { var t = this.props; return ( 'matrix(' + I(t[0]) + ',' + I(t[1]) + ',' + I(t[4]) + ',' + I(t[5]) + ',' + I(t[12]) + ',' + I(t[13]) + ')' ); } return function () { (this.reset = i), (this.rotate = s), (this.rotateX = n), (this.rotateY = o), (this.rotateZ = l), (this.skew = p), (this.skewFromAxis = c), (this.shear = h), (this.scale = d), (this.setTransform = f), (this.translate = m), (this.transform = u), (this.multiply = g), (this.applyToPoint = w), (this.applyToX = A), (this.applyToY = x), (this.applyToZ = P), (this.applyToPointArray = k), (this.applyToTriplePoints = E), (this.applyToPointStringified = M), (this.toCSS = D), (this.to2dCSS = F), (this.clone = b), (this.cloneFromProps = _), (this.equals = v), (this.inversePoints = T), (this.inversePoint = C), (this.getInverseMatrix = S), (this._t = this.transform), (this.isIdentity = y), (this._identity = !0), (this._identityCalculated = !1), (this.props = createTypedArray('float32', 16)), this.reset(); }; })(); function _typeof$3(t) { return ( (_typeof$3 = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof$3(t) ); } var lottie = {}; function setLocation(t) { setLocationHref(t); } function searchAnimations() { animationManager.searchAnimations(); } function setSubframeRendering(t) { setSubframeEnabled(t); } function setPrefix(t) { setIdPrefix(t); } function loadAnimation(t) { return animationManager.loadAnimation(t); } function setQuality(t) { if ('string' == typeof t) switch (t) { case 'high': setDefaultCurveSegments(200); break; default: case 'medium': setDefaultCurveSegments(50); break; case 'low': setDefaultCurveSegments(10); } else !isNaN(t) && t > 1 && setDefaultCurveSegments(t); } function inBrowser() { return 'undefined' != typeof navigator; } function installPlugin(t, e) { 'expressions' === t && setExpressionsPlugin(e); } function getFactory(t) { switch (t) { case 'propertyFactory': return PropertyFactory; case 'shapePropertyFactory': return ShapePropertyFactory; case 'matrix': return Matrix; default: return null; } } function checkReady() { 'complete' === document.readyState && (clearInterval(readyStateCheckInterval), searchAnimations()); } function getQueryVariable(t) { for ( var e = queryString.split('&'), r = 0; r < e.length; r += 1 ) { var a = e[r].split('='); if (decodeURIComponent(a[0]) == t) return decodeURIComponent(a[1]); } return null; } (lottie.play = animationManager.play), (lottie.pause = animationManager.pause), (lottie.setLocationHref = setLocation), (lottie.togglePause = animationManager.togglePause), (lottie.setSpeed = animationManager.setSpeed), (lottie.setDirection = animationManager.setDirection), (lottie.stop = animationManager.stop), (lottie.searchAnimations = searchAnimations), (lottie.registerAnimation = animationManager.registerAnimation), (lottie.loadAnimation = loadAnimation), (lottie.setSubframeRendering = setSubframeRendering), (lottie.resize = animationManager.resize), (lottie.goToAndStop = animationManager.goToAndStop), (lottie.destroy = animationManager.destroy), (lottie.setQuality = setQuality), (lottie.inBrowser = inBrowser), (lottie.installPlugin = installPlugin), (lottie.freeze = animationManager.freeze), (lottie.unfreeze = animationManager.unfreeze), (lottie.setVolume = animationManager.setVolume), (lottie.mute = animationManager.mute), (lottie.unmute = animationManager.unmute), (lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations), (lottie.useWebWorker = setWebWorker), (lottie.setIDPrefix = setPrefix), (lottie.__getFactory = getFactory), (lottie.version = '5.12.2'); var queryString = '', scripts = document.getElementsByTagName('script'), index = scripts.length - 1, myScript = scripts[index] || { src: '' }; (queryString = myScript.src ? myScript.src.replace(/^[^\?]+\??/, '') : ''), getQueryVariable('renderer'); var readyStateCheckInterval = setInterval(checkReady, 100); try { 'object' !== _typeof$3(exports) && (window.bodymovin = lottie); } catch (err) {} var ShapeModifiers = (function () { var t = {}, e = {}; return ( (t.registerModifier = function (t, r) { e[t] || (e[t] = r); }), (t.getModifier = function (t, r, a) { return new e[t](r, a); }), t ); })(); function ShapeModifier() {} function TrimModifier() {} function PuckerAndBloatModifier() {} (ShapeModifier.prototype.initModifierProperties = function () {}), (ShapeModifier.prototype.addShapeToModifier = function () {}), (ShapeModifier.prototype.addShape = function (t) { if (!this.closed) { t.sh.container.addDynamicProperty(t.sh); var e = { shape: t.sh, data: t, localShapeCollection: shapeCollectionPool.newShapeCollection() }; this.shapes.push(e), this.addShapeToModifier(e), this._isAnimated && t.setAsAnimated(); } }), (ShapeModifier.prototype.init = function (t, e) { (this.shapes = []), (this.elem = t), this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e), (this.frameId = initialDefaultFrame), (this.closed = !1), (this.k = !1), this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0); }), (ShapeModifier.prototype.processKeys = function () { this.elem.globalData.frameId !== this.frameId && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties()); }), extendPrototype([DynamicPropertyContainer], ShapeModifier), extendPrototype([ShapeModifier], TrimModifier), (TrimModifier.prototype.initModifierProperties = function ( t, e ) { (this.s = PropertyFactory.getProp(t, e.s, 0, 0.01, this)), (this.e = PropertyFactory.getProp(t, e.e, 0, 0.01, this)), (this.o = PropertyFactory.getProp(t, e.o, 0, 0, this)), (this.sValue = 0), (this.eValue = 0), (this.getValue = this.processKeys), (this.m = e.m), (this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length); }), (TrimModifier.prototype.addShapeToModifier = function (t) { t.pathsData = []; }), (TrimModifier.prototype.calculateShapeEdges = function ( t, e, r, a, i ) { var s = []; e <= 1 ? s.push({ s: t, e: e }) : t >= 1 ? s.push({ s: t - 1, e: e - 1 }) : (s.push({ s: t, e: 1 }), s.push({ s: 0, e: e - 1 })); var n, o, l = [], h = s.length; for (n = 0; n < h; n += 1) { var p, c; (o = s[n]).e * i < a || o.s * i > a + r || ((p = o.s * i <= a ? 0 : (o.s * i - a) / r), (c = o.e * i >= a + r ? 1 : (o.e * i - a) / r), l.push([p, c])); } return l.length || l.push([0, 0]), l; }), (TrimModifier.prototype.releasePathsData = function (t) { var e, r = t.length; for (e = 0; e < r; e += 1) segmentsLengthPool.release(t[e]); return (t.length = 0), t; }), (TrimModifier.prototype.processShapes = function (t) { var e, r, a, i; if (this._mdf || t) { var s = (this.o.v % 360) / 360; if ( (s < 0 && (s += 1), (e = this.s.v > 1 ? 1 + s : this.s.v < 0 ? 0 + s : this.s.v + s) > (r = this.e.v > 1 ? 1 + s : this.e.v < 0 ? 0 + s : this.e.v + s)) ) { var n = e; (e = r), (r = n); } (e = 1e-4 * Math.round(1e4 * e)), (r = 1e-4 * Math.round(1e4 * r)), (this.sValue = e), (this.eValue = r); } else (e = this.sValue), (r = this.eValue); var o, l, h, p, c, d = this.shapes.length, f = 0; if (r === e) for (i = 0; i < d; i += 1) this.shapes[i].localShapeCollection.releaseShapes(), (this.shapes[i].shape._mdf = !0), (this.shapes[i].shape.paths = this.shapes[i].localShapeCollection), this._mdf && (this.shapes[i].pathsData.length = 0); else if ((1 === r && 0 === e) || (0 === r && 1 === e)) { if (this._mdf) for (i = 0; i < d; i += 1) (this.shapes[i].pathsData.length = 0), (this.shapes[i].shape._mdf = !0); } else { var m, u, g = []; for (i = 0; i < d; i += 1) if ( (m = this.shapes[i]).shape._mdf || this._mdf || t || 2 === this.m ) { if ( ((l = (a = m.shape.paths)._length), (c = 0), !m.shape._mdf && m.pathsData.length) ) c = m.totalShapeLength; else { for ( h = this.releasePathsData(m.pathsData), o = 0; o < l; o += 1 ) (p = bez.getSegmentsLength(a.shapes[o])), h.push(p), (c += p.totalLength); (m.totalShapeLength = c), (m.pathsData = h); } (f += c), (m.shape._mdf = !0); } else m.shape.paths = m.localShapeCollection; var y, v = e, b = r, _ = 0; for (i = d - 1; i >= 0; i -= 1) if ((m = this.shapes[i]).shape._mdf) { for ( (u = m.localShapeCollection).releaseShapes(), 2 === this.m && d > 1 ? ((y = this.calculateShapeEdges( e, r, m.totalShapeLength, _, f )), (_ += m.totalShapeLength)) : (y = [[v, b]]), l = y.length, o = 0; o < l; o += 1 ) { (v = y[o][0]), (b = y[o][1]), (g.length = 0), b <= 1 ? g.push({ s: m.totalShapeLength * v, e: m.totalShapeLength * b }) : v >= 1 ? g.push({ s: m.totalShapeLength * (v - 1), e: m.totalShapeLength * (b - 1) }) : (g.push({ s: m.totalShapeLength * v, e: m.totalShapeLength }), g.push({ s: 0, e: m.totalShapeLength * (b - 1) })); var w = this.addShapes(m, g[0]); if (g[0].s !== g[0].e) { if (g.length > 1) if ( m.shape.paths.shapes[ m.shape.paths._length - 1 ].c ) { var A = w.pop(); this.addPaths(w, u), (w = this.addShapes(m, g[1], A)); } else this.addPaths(w, u), (w = this.addShapes(m, g[1])); this.addPaths(w, u); } } m.shape.paths = u; } } }), (TrimModifier.prototype.addPaths = function (t, e) { var r, a = t.length; for (r = 0; r < a; r += 1) e.addShape(t[r]); }), (TrimModifier.prototype.addSegment = function ( t, e, r, a, i, s, n ) { i.setXYAt(e[0], e[1], 'o', s), i.setXYAt(r[0], r[1], 'i', s + 1), n && i.setXYAt(t[0], t[1], 'v', s), i.setXYAt(a[0], a[1], 'v', s + 1); }), (TrimModifier.prototype.addSegmentFromArray = function ( t, e, r, a ) { e.setXYAt(t[1], t[5], 'o', r), e.setXYAt(t[2], t[6], 'i', r + 1), a && e.setXYAt(t[0], t[4], 'v', r), e.setXYAt(t[3], t[7], 'v', r + 1); }), (TrimModifier.prototype.addShapes = function (t, e, r) { var a, i, s, n, o, l, h, p, c = t.pathsData, d = t.shape.paths.shapes, f = t.shape.paths._length, m = 0, u = [], g = !0; for ( r ? ((o = r._length), (p = r._length)) : ((r = shapePool.newElement()), (o = 0), (p = 0)), u.push(r), a = 0; a < f; a += 1 ) { for ( l = c[a].lengths, r.c = d[a].c, s = d[a].c ? l.length : l.length + 1, i = 1; i < s; i += 1 ) if (m + (n = l[i - 1]).addedLength < e.s) (m += n.addedLength), (r.c = !1); else { if (m > e.e) { r.c = !1; break; } e.s <= m && e.e >= m + n.addedLength ? (this.addSegment( d[a].v[i - 1], d[a].o[i - 1], d[a].i[i], d[a].v[i], r, o, g ), (g = !1)) : ((h = bez.getNewSegment( d[a].v[i - 1], d[a].v[i], d[a].o[i - 1], d[a].i[i], (e.s - m) / n.addedLength, (e.e - m) / n.addedLength, l[i - 1] )), this.addSegmentFromArray(h, r, o, g), (g = !1), (r.c = !1)), (m += n.addedLength), (o += 1); } if (d[a].c && l.length) { if (((n = l[i - 1]), m <= e.e)) { var y = l[i - 1].addedLength; e.s <= m && e.e >= m + y ? (this.addSegment( d[a].v[i - 1], d[a].o[i - 1], d[a].i[0], d[a].v[0], r, o, g ), (g = !1)) : ((h = bez.getNewSegment( d[a].v[i - 1], d[a].v[0], d[a].o[i - 1], d[a].i[0], (e.s - m) / y, (e.e - m) / y, l[i - 1] )), this.addSegmentFromArray(h, r, o, g), (g = !1), (r.c = !1)); } else r.c = !1; (m += n.addedLength), (o += 1); } if ( (r._length && (r.setXYAt(r.v[p][0], r.v[p][1], 'i', p), r.setXYAt( r.v[r._length - 1][0], r.v[r._length - 1][1], 'o', r._length - 1 )), m > e.e) ) break; a < f - 1 && ((r = shapePool.newElement()), (g = !0), u.push(r), (o = 0)); } return u; }), extendPrototype([ShapeModifier], PuckerAndBloatModifier), (PuckerAndBloatModifier.prototype.initModifierProperties = function (t, e) { (this.getValue = this.processKeys), (this.amount = PropertyFactory.getProp( t, e.a, 0, null, this )), (this._isAnimated = !!this.amount.effectsSequence.length); }), (PuckerAndBloatModifier.prototype.processPath = function ( t, e ) { var r = e / 100, a = [0, 0], i = t._length, s = 0; for (s = 0; s < i; s += 1) (a[0] += t.v[s][0]), (a[1] += t.v[s][1]); (a[0] /= i), (a[1] /= i); var n, o, l, h, p, c, d = shapePool.newElement(); for (d.c = t.c, s = 0; s < i; s += 1) (n = t.v[s][0] + (a[0] - t.v[s][0]) * r), (o = t.v[s][1] + (a[1] - t.v[s][1]) * r), (l = t.o[s][0] + (a[0] - t.o[s][0]) * -r), (h = t.o[s][1] + (a[1] - t.o[s][1]) * -r), (p = t.i[s][0] + (a[0] - t.i[s][0]) * -r), (c = t.i[s][1] + (a[1] - t.i[s][1]) * -r), d.setTripleAt(n, o, l, h, p, c, s); return d; }), (PuckerAndBloatModifier.prototype.processShapes = function ( t ) { var e, r, a, i, s, n, o = this.shapes.length, l = this.amount.v; if (0 !== l) for (r = 0; r < o; r += 1) { if ( ((n = (s = this.shapes[r]).localShapeCollection), s.shape._mdf || this._mdf || t) ) for ( n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, i = s.shape.paths._length, a = 0; a < i; a += 1 ) n.addShape(this.processPath(e[a], l)); s.shape.paths = s.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }); var TransformPropertyFactory = (function () { var t = [0, 0]; function e(t, e, r) { if ( ((this.elem = t), (this.frameId = -1), (this.propType = 'transform'), (this.data = e), (this.v = new Matrix()), (this.pre = new Matrix()), (this.appliedTransformations = 0), this.initDynamicPropertyContainer(r || t), e.p && e.p.s ? ((this.px = PropertyFactory.getProp( t, e.p.x, 0, 0, this )), (this.py = PropertyFactory.getProp( t, e.p.y, 0, 0, this )), e.p.z && (this.pz = PropertyFactory.getProp( t, e.p.z, 0, 0, this ))) : (this.p = PropertyFactory.getProp( t, e.p || { k: [0, 0, 0] }, 1, 0, this )), e.rx) ) { if ( ((this.rx = PropertyFactory.getProp( t, e.rx, 0, degToRads, this )), (this.ry = PropertyFactory.getProp( t, e.ry, 0, degToRads, this )), (this.rz = PropertyFactory.getProp( t, e.rz, 0, degToRads, this )), e.or.k[0].ti) ) { var a, i = e.or.k.length; for (a = 0; a < i; a += 1) (e.or.k[a].to = null), (e.or.k[a].ti = null); } (this.or = PropertyFactory.getProp( t, e.or, 1, degToRads, this )), (this.or.sh = !0); } else this.r = PropertyFactory.getProp( t, e.r || { k: 0 }, 0, degToRads, this ); e.sk && ((this.sk = PropertyFactory.getProp( t, e.sk, 0, degToRads, this )), (this.sa = PropertyFactory.getProp( t, e.sa, 0, degToRads, this ))), (this.a = PropertyFactory.getProp( t, e.a || { k: [0, 0, 0] }, 1, 0, this )), (this.s = PropertyFactory.getProp( t, e.s || { k: [100, 100, 100] }, 1, 0.01, this )), e.o ? (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, t)) : (this.o = { _mdf: !1, v: 1 }), (this._isDirty = !0), this.dynamicProperties.length || this.getValue(!0); } return ( (e.prototype = { applyToMatrix: function (t) { var e = this._mdf; this.iterateDynamicProperties(), (this._mdf = this._mdf || e), this.a && t.translate( -this.a.v[0], -this.a.v[1], this.a.v[2] ), this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && t.skewFromAxis(-this.sk.v, this.sa.v), this.r ? t.rotate(-this.r.v) : t .rotateZ(-this.rz.v) .rotateY(this.ry.v) .rotateX(this.rx.v) .rotateZ(-this.or.v[2]) .rotateY(this.or.v[1]) .rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? t.translate(this.px.v, this.py.v, -this.pz.v) : t.translate(this.px.v, this.py.v, 0) : t.translate( this.p.v[0], this.p.v[1], -this.p.v[2] ); }, getValue: function (e) { if (this.elem.globalData.frameId !== this.frameId) { if ( (this._isDirty && (this.precalculateMatrix(), (this._isDirty = !1)), this.iterateDynamicProperties(), this._mdf || e) ) { var r; if ( (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate( -this.a.v[0], -this.a.v[1], this.a.v[2] ), this.appliedTransformations < 2 && this.v.scale( this.s.v[0], this.s.v[1], this.s.v[2] ), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v .rotateZ(-this.rz.v) .rotateY(this.ry.v) .rotateX(this.rx.v) .rotateZ(-this.or.v[2]) .rotateY(this.or.v[1]) .rotateX(this.or.v[0]), this.autoOriented) ) { var a, i; if ( ((r = this.elem.globalData.frameRate), this.p && this.p.keyframes && this.p.getValueAtTime) ) this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? ((a = this.p.getValueAtTime( (this.p.keyframes[0].t + 0.01) / r, 0 )), (i = this.p.getValueAtTime( this.p.keyframes[0].t / r, 0 ))) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[ this.p.keyframes.length - 1 ].t ? ((a = this.p.getValueAtTime( this.p.keyframes[ this.p.keyframes.length - 1 ].t / r, 0 )), (i = this.p.getValueAtTime( (this.p.keyframes[ this.p.keyframes.length - 1 ].t - 0.05) / r, 0 ))) : ((a = this.p.pv), (i = this.p.getValueAtTime( (this.p._caching.lastFrame + this.p.offsetTime - 0.01) / r, this.p.offsetTime ))); else if ( this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime ) { (a = []), (i = []); var s = this.px, n = this.py; s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? ((a[0] = s.getValueAtTime( (s.keyframes[0].t + 0.01) / r, 0 )), (a[1] = n.getValueAtTime( (n.keyframes[0].t + 0.01) / r, 0 )), (i[0] = s.getValueAtTime( s.keyframes[0].t / r, 0 )), (i[1] = n.getValueAtTime( n.keyframes[0].t / r, 0 ))) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? ((a[0] = s.getValueAtTime( s.keyframes[s.keyframes.length - 1].t / r, 0 )), (a[1] = n.getValueAtTime( n.keyframes[n.keyframes.length - 1].t / r, 0 )), (i[0] = s.getValueAtTime( (s.keyframes[s.keyframes.length - 1].t - 0.01) / r, 0 )), (i[1] = n.getValueAtTime( (n.keyframes[n.keyframes.length - 1].t - 0.01) / r, 0 ))) : ((a = [s.pv, n.pv]), (i[0] = s.getValueAtTime( (s._caching.lastFrame + s.offsetTime - 0.01) / r, s.offsetTime )), (i[1] = n.getValueAtTime( (n._caching.lastFrame + n.offsetTime - 0.01) / r, n.offsetTime ))); } else a = i = t; this.v.rotate( -Math.atan2(a[1] - i[1], a[0] - i[0]) ); } this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate( this.px.v, this.py.v, -this.pz.v ) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate( this.p.v[0], this.p.v[1], -this.p.v[2] ); } this.frameId = this.elem.globalData.frameId; } }, precalculateMatrix: function () { if ( ((this.appliedTransformations = 0), this.pre.reset(), !this.a.effectsSequence.length && (this.pre.translate( -this.a.v[0], -this.a.v[1], this.a.v[2] ), (this.appliedTransformations = 1), !this.s.effectsSequence.length)) ) { if ( (this.pre.scale( this.s.v[0], this.s.v[1], this.s.v[2] ), (this.appliedTransformations = 2), this.sk) ) { if ( this.sk.effectsSequence.length || this.sa.effectsSequence.length ) return; this.pre.skewFromAxis(-this.sk.v, this.sa.v), (this.appliedTransformations = 3); } this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), (this.appliedTransformations = 4)) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre .rotateZ(-this.rz.v) .rotateY(this.ry.v) .rotateX(this.rx.v) .rotateZ(-this.or.v[2]) .rotateY(this.or.v[1]) .rotateX(this.or.v[0]), (this.appliedTransformations = 4)); } }, autoOrient: function () {} }), extendPrototype([DynamicPropertyContainer], e), (e.prototype.addDynamicProperty = function (t) { this._addDynamicProperty(t), this.elem.addDynamicProperty(t), (this._isDirty = !0); }), (e.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty), { getTransformProperty: function (t, r, a) { return new e(t, r, a); } } ); })(); function RepeaterModifier() {} function RoundCornersModifier() {} function floatEqual(t, e) { return ( 1e5 * Math.abs(t - e) <= Math.min(Math.abs(t), Math.abs(e)) ); } function floatZero(t) { return Math.abs(t) <= 1e-5; } function lerp(t, e, r) { return t * (1 - r) + e * r; } function lerpPoint(t, e, r) { return [lerp(t[0], e[0], r), lerp(t[1], e[1], r)]; } function quadRoots(t, e, r) { if (0 === t) return []; var a = e * e - 4 * t * r; if (a < 0) return []; var i = -e / (2 * t); if (0 === a) return [i]; var s = Math.sqrt(a) / (2 * t); return [i - s, i + s]; } function polynomialCoefficients(t, e, r, a) { return [ 3 * e - t - 3 * r + a, 3 * t - 6 * e + 3 * r, -3 * t + 3 * e, t ]; } function singlePoint(t) { return new PolynomialBezier(t, t, t, t, !1); } function PolynomialBezier(t, e, r, a, i) { i && pointEqual(t, e) && (e = lerpPoint(t, a, 1 / 3)), i && pointEqual(r, a) && (r = lerpPoint(t, a, 2 / 3)); var s = polynomialCoefficients(t[0], e[0], r[0], a[0]), n = polynomialCoefficients(t[1], e[1], r[1], a[1]); (this.a = [s[0], n[0]]), (this.b = [s[1], n[1]]), (this.c = [s[2], n[2]]), (this.d = [s[3], n[3]]), (this.points = [t, e, r, a]); } function extrema(t, e) { var r = t.points[0][e], a = t.points[t.points.length - 1][e]; if (r > a) { var i = a; (a = r), (r = i); } for ( var s = quadRoots(3 * t.a[e], 2 * t.b[e], t.c[e]), n = 0; n < s.length; n += 1 ) if (s[n] > 0 && s[n] < 1) { var o = t.point(s[n])[e]; o < r ? (r = o) : o > a && (a = o); } return { min: r, max: a }; } function intersectData(t, e, r) { var a = t.boundingBox(); return { cx: a.cx, cy: a.cy, width: a.width, height: a.height, bez: t, t: (e + r) / 2, t1: e, t2: r }; } function splitData(t) { var e = t.bez.split(0.5); return [ intersectData(e[0], t.t1, t.t), intersectData(e[1], t.t, t.t2) ]; } function boxIntersect(t, e) { return ( 2 * Math.abs(t.cx - e.cx) < t.width + e.width && 2 * Math.abs(t.cy - e.cy) < t.height + e.height ); } function intersectsImpl(t, e, r, a, i, s) { if (boxIntersect(t, e)) if ( r >= s || (t.width <= a && t.height <= a && e.width <= a && e.height <= a) ) i.push([t.t, e.t]); else { var n = splitData(t), o = splitData(e); intersectsImpl(n[0], o[0], r + 1, a, i, s), intersectsImpl(n[0], o[1], r + 1, a, i, s), intersectsImpl(n[1], o[0], r + 1, a, i, s), intersectsImpl(n[1], o[1], r + 1, a, i, s); } } function crossProduct(t, e) { return [ t[1] * e[2] - t[2] * e[1], t[2] * e[0] - t[0] * e[2], t[0] * e[1] - t[1] * e[0] ]; } function lineIntersection(t, e, r, a) { var i = [t[0], t[1], 1], s = [e[0], e[1], 1], n = [r[0], r[1], 1], o = [a[0], a[1], 1], l = crossProduct(crossProduct(i, s), crossProduct(n, o)); return floatZero(l[2]) ? null : [l[0] / l[2], l[1] / l[2]]; } function polarOffset(t, e, r) { return [t[0] + Math.cos(e) * r, t[1] - Math.sin(e) * r]; } function pointDistance(t, e) { return Math.hypot(t[0] - e[0], t[1] - e[1]); } function pointEqual(t, e) { return floatEqual(t[0], e[0]) && floatEqual(t[1], e[1]); } function ZigZagModifier() {} function setPoint(t, e, r, a, i, s, n) { var o = r - Math.PI / 2, l = r + Math.PI / 2, h = e[0] + Math.cos(r) * a * i, p = e[1] - Math.sin(r) * a * i; t.setTripleAt( h, p, h + Math.cos(o) * s, p - Math.sin(o) * s, h + Math.cos(l) * n, p - Math.sin(l) * n, t.length() ); } function getPerpendicularVector(t, e) { var r = [e[0] - t[0], e[1] - t[1]], a = 0.5 * -Math.PI; return [ Math.cos(a) * r[0] - Math.sin(a) * r[1], Math.sin(a) * r[0] + Math.cos(a) * r[1] ]; } function getProjectingAngle(t, e) { var r = 0 === e ? t.length() - 1 : e - 1, a = (e + 1) % t.length(), i = getPerpendicularVector(t.v[r], t.v[a]); return Math.atan2(0, 1) - Math.atan2(i[1], i[0]); } function zigZagCorner(t, e, r, a, i, s, n) { var o = getProjectingAngle(e, r), l = e.v[r % e._length], h = e.v[0 === r ? e._length - 1 : r - 1], p = e.v[(r + 1) % e._length], c = 2 === s ? Math.sqrt( Math.pow(l[0] - h[0], 2) + Math.pow(l[1] - h[1], 2) ) : 0, d = 2 === s ? Math.sqrt( Math.pow(l[0] - p[0], 2) + Math.pow(l[1] - p[1], 2) ) : 0; setPoint( t, e.v[r % e._length], o, n, a, d / (2 * (i + 1)), c / (2 * (i + 1)) ); } function zigZagSegment(t, e, r, a, i, s) { for (var n = 0; n < a; n += 1) { var o = (n + 1) / (a + 1), l = 2 === i ? Math.sqrt( Math.pow(e.points[3][0] - e.points[0][0], 2) + Math.pow(e.points[3][1] - e.points[0][1], 2) ) : 0, h = e.normalAngle(o); setPoint( t, e.point(o), h, s, r, l / (2 * (a + 1)), l / (2 * (a + 1)) ), (s = -s); } return s; } function linearOffset(t, e, r) { var a = Math.atan2(e[0] - t[0], e[1] - t[1]); return [polarOffset(t, a, r), polarOffset(e, a, r)]; } function offsetSegment(t, e) { var r, a, i, s, n, o, l; (r = (l = linearOffset(t.points[0], t.points[1], e))[0]), (a = l[1]), (i = (l = linearOffset(t.points[1], t.points[2], e))[0]), (s = l[1]), (n = (l = linearOffset(t.points[2], t.points[3], e))[0]), (o = l[1]); var h = lineIntersection(r, a, i, s); null === h && (h = a); var p = lineIntersection(n, o, i, s); return ( null === p && (p = n), new PolynomialBezier(r, h, p, o) ); } function joinLines(t, e, r, a, i) { var s = e.points[3], n = r.points[0]; if (3 === a) return s; if (pointEqual(s, n)) return s; if (2 === a) { var o = -e.tangentAngle(1), l = -r.tangentAngle(0) + Math.PI, h = lineIntersection( s, polarOffset(s, o + Math.PI / 2, 100), n, polarOffset(n, o + Math.PI / 2, 100) ), p = h ? pointDistance(h, s) : pointDistance(s, n) / 2, c = polarOffset(s, o, 2 * p * roundCorner); return ( t.setXYAt(c[0], c[1], 'o', t.length() - 1), (c = polarOffset(n, l, 2 * p * roundCorner)), t.setTripleAt( n[0], n[1], n[0], n[1], c[0], c[1], t.length() ), n ); } var d = lineIntersection( pointEqual(s, e.points[2]) ? e.points[0] : e.points[2], s, n, pointEqual(n, r.points[1]) ? r.points[3] : r.points[1] ); return d && pointDistance(d, s) < i ? (t.setTripleAt( d[0], d[1], d[0], d[1], d[0], d[1], t.length() ), d) : s; } function getIntersection(t, e) { var r = t.intersections(e); return ( r.length && floatEqual(r[0][0], 1) && r.shift(), r.length ? r[0] : null ); } function pruneSegmentIntersection(t, e) { var r = t.slice(), a = e.slice(), i = getIntersection(t[t.length - 1], e[0]); return ( i && ((r[t.length - 1] = t[t.length - 1].split(i[0])[0]), (a[0] = e[0].split(i[1])[1])), t.length > 1 && e.length > 1 && (i = getIntersection(t[0], e[e.length - 1])) ? [ [t[0].split(i[0])[0]], [e[e.length - 1].split(i[1])[1]] ] : [r, a] ); } function pruneIntersections(t) { for (var e, r = 1; r < t.length; r += 1) (e = pruneSegmentIntersection(t[r - 1], t[r])), (t[r - 1] = e[0]), (t[r] = e[1]); return ( t.length > 1 && ((e = pruneSegmentIntersection(t[t.length - 1], t[0])), (t[t.length - 1] = e[0]), (t[0] = e[1])), t ); } function offsetSegmentSplit(t, e) { var r, a, i, s, n = t.inflectionPoints(); if (0 === n.length) return [offsetSegment(t, e)]; if (1 === n.length || floatEqual(n[1], 1)) return ( (r = (i = t.split(n[0]))[0]), (a = i[1]), [offsetSegment(r, e), offsetSegment(a, e)] ); r = (i = t.split(n[0]))[0]; var o = (n[1] - n[0]) / (1 - n[0]); return ( (s = (i = i[1].split(o))[0]), (a = i[1]), [ offsetSegment(r, e), offsetSegment(s, e), offsetSegment(a, e) ] ); } function OffsetPathModifier() {} function getFontProperties(t) { for ( var e = t.fStyle ? t.fStyle.split(' ') : [], r = 'normal', a = 'normal', i = e.length, s = 0; s < i; s += 1 ) switch (e[s].toLowerCase()) { case 'italic': a = 'italic'; break; case 'bold': r = '700'; break; case 'black': r = '900'; break; case 'medium': r = '500'; break; case 'regular': case 'normal': r = '400'; break; case 'light': case 'thin': r = '200'; } return { style: a, weight: t.fWeight || r }; } extendPrototype([ShapeModifier], RepeaterModifier), (RepeaterModifier.prototype.initModifierProperties = function (t, e) { (this.getValue = this.processKeys), (this.c = PropertyFactory.getProp( t, e.c, 0, null, this )), (this.o = PropertyFactory.getProp( t, e.o, 0, null, this )), (this.tr = TransformPropertyFactory.getTransformProperty( t, e.tr, this )), (this.so = PropertyFactory.getProp( t, e.tr.so, 0, 0.01, this )), (this.eo = PropertyFactory.getProp( t, e.tr.eo, 0, 0.01, this )), (this.data = e), this.dynamicProperties.length || this.getValue(!0), (this._isAnimated = !!this.dynamicProperties.length), (this.pMatrix = new Matrix()), (this.rMatrix = new Matrix()), (this.sMatrix = new Matrix()), (this.tMatrix = new Matrix()), (this.matrix = new Matrix()); }), (RepeaterModifier.prototype.applyTransforms = function ( t, e, r, a, i, s ) { var n = s ? -1 : 1, o = a.s.v[0] + (1 - a.s.v[0]) * (1 - i), l = a.s.v[1] + (1 - a.s.v[1]) * (1 - i); t.translate(a.p.v[0] * n * i, a.p.v[1] * n * i, a.p.v[2]), e.translate(-a.a.v[0], -a.a.v[1], a.a.v[2]), e.rotate(-a.r.v * n * i), e.translate(a.a.v[0], a.a.v[1], a.a.v[2]), r.translate(-a.a.v[0], -a.a.v[1], a.a.v[2]), r.scale(s ? 1 / o : o, s ? 1 / l : l), r.translate(a.a.v[0], a.a.v[1], a.a.v[2]); }), (RepeaterModifier.prototype.init = function (t, e, r, a) { for ( this.elem = t, this.arr = e, this.pos = r, this.elemsData = a, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[r]); r > 0; ) (r -= 1), this._elements.unshift(e[r]); this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0); }), (RepeaterModifier.prototype.resetElements = function (t) { var e, r = t.length; for (e = 0; e < r; e += 1) (t[e]._processed = !1), 'gr' === t[e].ty && this.resetElements(t[e].it); }), (RepeaterModifier.prototype.cloneElements = function (t) { var e = JSON.parse(JSON.stringify(t)); return this.resetElements(e), e; }), (RepeaterModifier.prototype.changeGroupRender = function ( t, e ) { var r, a = t.length; for (r = 0; r < a; r += 1) (t[r]._render = e), 'gr' === t[r].ty && this.changeGroupRender(t[r].it, e); }), (RepeaterModifier.prototype.processShapes = function (t) { var e, r, a, i, s, n = !1; if (this._mdf || t) { var o, l = Math.ceil(this.c.v); if (this._groups.length < l) { for (; this._groups.length < l; ) { var h = { it: this.cloneElements(this._elements), ty: 'gr' }; h.it.push({ a: { a: 0, ix: 1, k: [0, 0] }, nm: 'Transform', o: { a: 0, ix: 7, k: 100 }, p: { a: 0, ix: 2, k: [0, 0] }, r: { a: 1, ix: 6, k: [ { s: 0, e: 0, t: 0 }, { s: 0, e: 0, t: 1 } ] }, s: { a: 0, ix: 3, k: [100, 100] }, sa: { a: 0, ix: 5, k: 0 }, sk: { a: 0, ix: 4, k: 0 }, ty: 'tr' }), this.arr.splice(0, 0, h), this._groups.splice(0, 0, h), (this._currentCopies += 1); } this.elem.reloadShapes(), (n = !0); } for (s = 0, a = 0; a <= this._groups.length - 1; a += 1) { if ( ((o = s < l), (this._groups[a]._render = o), this.changeGroupRender(this._groups[a].it, o), !o) ) { var p = this.elemsData[a].it, c = p[p.length - 1]; 0 !== c.transform.op.v ? ((c.transform.op._mdf = !0), (c.transform.op.v = 0)) : (c.transform.op._mdf = !1); } s += 1; } this._currentCopies = l; var d = this.o.v, f = d % 1, m = d > 0 ? Math.floor(d) : Math.ceil(d), u = this.pMatrix.props, g = this.rMatrix.props, y = this.sMatrix.props; this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset(); var v, b, _ = 0; if (d > 0) { for (; _ < m; ) this.applyTransforms( this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1 ), (_ += 1); f && (this.applyTransforms( this.pMatrix, this.rMatrix, this.sMatrix, this.tr, f, !1 ), (_ += f)); } else if (d < 0) { for (; _ > m; ) this.applyTransforms( this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0 ), (_ -= 1); f && (this.applyTransforms( this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -f, !0 ), (_ -= f)); } for ( a = 1 === this.data.m ? 0 : this._currentCopies - 1, i = 1 === this.data.m ? 1 : -1, s = this._currentCopies; s; ) { if ( ((b = (r = (e = this.elemsData[a].it)[e.length - 1] .transform.mProps.v.props).length), (e[e.length - 1].transform.mProps._mdf = !0), (e[e.length - 1].transform.op._mdf = !0), (e[e.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (a / (this._currentCopies - 1))), 0 !== _) ) { for ( ((0 !== a && 1 === i) || (a !== this._currentCopies - 1 && -1 === i)) && this.applyTransforms( this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1 ), this.matrix.transform( g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15] ), this.matrix.transform( y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15] ), this.matrix.transform( u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15] ), v = 0; v < b; v += 1 ) r[v] = this.matrix.props[v]; this.matrix.reset(); } else for (this.matrix.reset(), v = 0; v < b; v += 1) r[v] = this.matrix.props[v]; (_ += 1), (s -= 1), (a += i); } } else for (s = this._currentCopies, a = 0, i = 1; s; ) (r = (e = this.elemsData[a].it)[e.length - 1].transform .mProps.v.props), (e[e.length - 1].transform.mProps._mdf = !1), (e[e.length - 1].transform.op._mdf = !1), (s -= 1), (a += i); return n; }), (RepeaterModifier.prototype.addShape = function () {}), extendPrototype([ShapeModifier], RoundCornersModifier), (RoundCornersModifier.prototype.initModifierProperties = function (t, e) { (this.getValue = this.processKeys), (this.rd = PropertyFactory.getProp( t, e.r, 0, null, this )), (this._isAnimated = !!this.rd.effectsSequence.length); }), (RoundCornersModifier.prototype.processPath = function ( t, e ) { var r, a = shapePool.newElement(); a.c = t.c; var i, s, n, o, l, h, p, c, d, f, m, u, g = t._length, y = 0; for (r = 0; r < g; r += 1) (i = t.v[r]), (n = t.o[r]), (s = t.i[r]), i[0] === n[0] && i[1] === n[1] && i[0] === s[0] && i[1] === s[1] ? (0 !== r && r !== g - 1) || t.c ? ((o = 0 === r ? t.v[g - 1] : t.v[r - 1]), (h = (l = Math.sqrt( Math.pow(i[0] - o[0], 2) + Math.pow(i[1] - o[1], 2) )) ? Math.min(l / 2, e) / l : 0), (p = m = i[0] + (o[0] - i[0]) * h), (c = u = i[1] - (i[1] - o[1]) * h), (d = p - (p - i[0]) * roundCorner), (f = c - (c - i[1]) * roundCorner), a.setTripleAt(p, c, d, f, m, u, y), (y += 1), (o = r === g - 1 ? t.v[0] : t.v[r + 1]), (h = (l = Math.sqrt( Math.pow(i[0] - o[0], 2) + Math.pow(i[1] - o[1], 2) )) ? Math.min(l / 2, e) / l : 0), (p = d = i[0] + (o[0] - i[0]) * h), (c = f = i[1] + (o[1] - i[1]) * h), (m = p - (p - i[0]) * roundCorner), (u = c - (c - i[1]) * roundCorner), a.setTripleAt(p, c, d, f, m, u, y), (y += 1)) : (a.setTripleAt( i[0], i[1], n[0], n[1], s[0], s[1], y ), (y += 1)) : (a.setTripleAt( t.v[r][0], t.v[r][1], t.o[r][0], t.o[r][1], t.i[r][0], t.i[r][1], y ), (y += 1)); return a; }), (RoundCornersModifier.prototype.processShapes = function (t) { var e, r, a, i, s, n, o = this.shapes.length, l = this.rd.v; if (0 !== l) for (r = 0; r < o; r += 1) { if ( ((n = (s = this.shapes[r]).localShapeCollection), s.shape._mdf || this._mdf || t) ) for ( n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, i = s.shape.paths._length, a = 0; a < i; a += 1 ) n.addShape(this.processPath(e[a], l)); s.shape.paths = s.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }), (PolynomialBezier.prototype.point = function (t) { return [ ((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1] ]; }), (PolynomialBezier.prototype.derivative = function (t) { return [ (3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1] ]; }), (PolynomialBezier.prototype.tangentAngle = function (t) { var e = this.derivative(t); return Math.atan2(e[1], e[0]); }), (PolynomialBezier.prototype.normalAngle = function (t) { var e = this.derivative(t); return Math.atan2(e[0], e[1]); }), (PolynomialBezier.prototype.inflectionPoints = function () { var t = this.a[1] * this.b[0] - this.a[0] * this.b[1]; if (floatZero(t)) return []; var e = (-0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1])) / t, r = e * e - ((1 / 3) * (this.b[1] * this.c[0] - this.b[0] * this.c[1])) / t; if (r < 0) return []; var a = Math.sqrt(r); return floatZero(a) ? a > 0 && a < 1 ? [e] : [] : [e - a, e + a].filter(function (t) { return t > 0 && t < 1; }); }), (PolynomialBezier.prototype.split = function (t) { if (t <= 0) return [singlePoint(this.points[0]), this]; if (t >= 1) return [ this, singlePoint(this.points[this.points.length - 1]) ]; var e = lerpPoint(this.points[0], this.points[1], t), r = lerpPoint(this.points[1], this.points[2], t), a = lerpPoint(this.points[2], this.points[3], t), i = lerpPoint(e, r, t), s = lerpPoint(r, a, t), n = lerpPoint(i, s, t); return [ new PolynomialBezier(this.points[0], e, i, n, !0), new PolynomialBezier(n, s, a, this.points[3], !0) ]; }), (PolynomialBezier.prototype.bounds = function () { return { x: extrema(this, 0), y: extrema(this, 1) }; }), (PolynomialBezier.prototype.boundingBox = function () { var t = this.bounds(); return { left: t.x.min, right: t.x.max, top: t.y.min, bottom: t.y.max, width: t.x.max - t.x.min, height: t.y.max - t.y.min, cx: (t.x.max + t.x.min) / 2, cy: (t.y.max + t.y.min) / 2 }; }), (PolynomialBezier.prototype.intersections = function ( t, e, r ) { void 0 === e && (e = 2), void 0 === r && (r = 7); var a = []; return ( intersectsImpl( intersectData(this, 0, 1), intersectData(t, 0, 1), 0, e, a, r ), a ); }), (PolynomialBezier.shapeSegment = function (t, e) { var r = (e + 1) % t.length(); return new PolynomialBezier( t.v[e], t.o[e], t.i[r], t.v[r], !0 ); }), (PolynomialBezier.shapeSegmentInverted = function (t, e) { var r = (e + 1) % t.length(); return new PolynomialBezier( t.v[r], t.i[r], t.o[e], t.v[e], !0 ); }), extendPrototype([ShapeModifier], ZigZagModifier), (ZigZagModifier.prototype.initModifierProperties = function ( t, e ) { (this.getValue = this.processKeys), (this.amplitude = PropertyFactory.getProp( t, e.s, 0, null, this )), (this.frequency = PropertyFactory.getProp( t, e.r, 0, null, this )), (this.pointsType = PropertyFactory.getProp( t, e.pt, 0, null, this )), (this._isAnimated = 0 !== this.amplitude.effectsSequence.length || 0 !== this.frequency.effectsSequence.length || 0 !== this.pointsType.effectsSequence.length); }), (ZigZagModifier.prototype.processPath = function ( t, e, r, a ) { var i = t._length, s = shapePool.newElement(); if (((s.c = t.c), t.c || (i -= 1), 0 === i)) return s; var n = -1, o = PolynomialBezier.shapeSegment(t, 0); zigZagCorner(s, t, 0, e, r, a, n); for (var l = 0; l < i; l += 1) (n = zigZagSegment(s, o, e, r, a, -n)), (o = l !== i - 1 || t.c ? PolynomialBezier.shapeSegment(t, (l + 1) % i) : null), zigZagCorner(s, t, l + 1, e, r, a, n); return s; }), (ZigZagModifier.prototype.processShapes = function (t) { var e, r, a, i, s, n, o = this.shapes.length, l = this.amplitude.v, h = Math.max(0, Math.round(this.frequency.v)), p = this.pointsType.v; if (0 !== l) for (r = 0; r < o; r += 1) { if ( ((n = (s = this.shapes[r]).localShapeCollection), s.shape._mdf || this._mdf || t) ) for ( n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, i = s.shape.paths._length, a = 0; a < i; a += 1 ) n.addShape(this.processPath(e[a], l, h, p)); s.shape.paths = s.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }), extendPrototype([ShapeModifier], OffsetPathModifier), (OffsetPathModifier.prototype.initModifierProperties = function (t, e) { (this.getValue = this.processKeys), (this.amount = PropertyFactory.getProp( t, e.a, 0, null, this )), (this.miterLimit = PropertyFactory.getProp( t, e.ml, 0, null, this )), (this.lineJoin = e.lj), (this._isAnimated = 0 !== this.amount.effectsSequence.length); }), (OffsetPathModifier.prototype.processPath = function ( t, e, r, a ) { var i = shapePool.newElement(); i.c = t.c; var s, n, o, l = t.length(); t.c || (l -= 1); var h = []; for (s = 0; s < l; s += 1) (o = PolynomialBezier.shapeSegment(t, s)), h.push(offsetSegmentSplit(o, e)); if (!t.c) for (s = l - 1; s >= 0; s -= 1) (o = PolynomialBezier.shapeSegmentInverted(t, s)), h.push(offsetSegmentSplit(o, e)); h = pruneIntersections(h); var p = null, c = null; for (s = 0; s < h.length; s += 1) { var d = h[s]; for ( c && (p = joinLines(i, c, d[0], r, a)), c = d[d.length - 1], n = 0; n < d.length; n += 1 ) (o = d[n]), p && pointEqual(o.points[0], p) ? i.setXYAt( o.points[1][0], o.points[1][1], 'o', i.length() - 1 ) : i.setTripleAt( o.points[0][0], o.points[0][1], o.points[1][0], o.points[1][1], o.points[0][0], o.points[0][1], i.length() ), i.setTripleAt( o.points[3][0], o.points[3][1], o.points[3][0], o.points[3][1], o.points[2][0], o.points[2][1], i.length() ), (p = o.points[3]); } return h.length && joinLines(i, c, h[0][0], r, a), i; }), (OffsetPathModifier.prototype.processShapes = function (t) { var e, r, a, i, s, n, o = this.shapes.length, l = this.amount.v, h = this.miterLimit.v, p = this.lineJoin; if (0 !== l) for (r = 0; r < o; r += 1) { if ( ((n = (s = this.shapes[r]).localShapeCollection), s.shape._mdf || this._mdf || t) ) for ( n.releaseShapes(), s.shape._mdf = !0, e = s.shape.paths.shapes, i = s.shape.paths._length, a = 0; a < i; a += 1 ) n.addShape(this.processPath(e[a], l, p, h)); s.shape.paths = s.localShapeCollection; } this.dynamicProperties.length || (this._mdf = !1); }); var FontManager = (function () { var t = { w: 0, size: 0, shapes: [], data: { shapes: [] } }, e = []; e = e.concat([ 2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403 ]); var r = 127988, a = 127462, i = 127487, s = [ 'd83cdffb', 'd83cdffc', 'd83cdffd', 'd83cdffe', 'd83cdfff' ]; function n(t, e) { var r = createTag('span'); r.setAttribute('aria-hidden', !0), (r.style.fontFamily = e); var a = createTag('span'); (a.innerText = 'giItT1WQy@!-/#'), (r.style.position = 'absolute'), (r.style.left = '-10000px'), (r.style.top = '-10000px'), (r.style.fontSize = '300px'), (r.style.fontVariant = 'normal'), (r.style.fontStyle = 'normal'), (r.style.fontWeight = 'normal'), (r.style.letterSpacing = '0'), r.appendChild(a), document.body.appendChild(r); var i = a.offsetWidth; return ( (a.style.fontFamily = (function (t) { var e, r = t.split(','), a = r.length, i = []; for (e = 0; e < a; e += 1) 'sans-serif' !== r[e] && 'monospace' !== r[e] && i.push(r[e]); return i.join(','); })(t) + ', ' + e), { node: a, w: i, parent: r } ); } function o(t, e) { var r, a = document.body && e ? 'svg' : 'canvas', i = getFontProperties(t); if ('svg' === a) { var s = createNS('text'); (s.style.fontSize = '100px'), s.setAttribute('font-family', t.fFamily), s.setAttribute('font-style', i.style), s.setAttribute('font-weight', i.weight), (s.textContent = '1'), t.fClass ? ((s.style.fontFamily = 'inherit'), s.setAttribute('class', t.fClass)) : (s.style.fontFamily = t.fFamily), e.appendChild(s), (r = s); } else { var n = new OffscreenCanvas(500, 500).getContext('2d'); (n.font = i.style + ' ' + i.weight + ' 100px ' + t.fFamily), (r = n); } return { measureText: function (t) { return 'svg' === a ? ((r.textContent = t), r.getComputedTextLength()) : r.measureText(t).width; } }; } function l(t) { var e = 0, r = t.charCodeAt(0); if (r >= 55296 && r <= 56319) { var a = t.charCodeAt(1); a >= 56320 && a <= 57343 && (e = 1024 * (r - 55296) + a - 56320 + 65536); } return e; } function h(t) { var e = l(t); return e >= a && e <= i; } var p = function () { (this.fonts = []), (this.chars = null), (this.typekitLoaded = 0), (this.isLoaded = !1), (this._warned = !1), (this.initTime = Date.now()), (this.setIsLoadedBinded = this.setIsLoaded.bind(this)), (this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this)); }; (p.isModifier = function (t, e) { var r = t.toString(16) + e.toString(16); return -1 !== s.indexOf(r); }), (p.isZeroWidthJoiner = function (t) { return 8205 === t; }), (p.isFlagEmoji = function (t) { return h(t.substr(0, 2)) && h(t.substr(2, 2)); }), (p.isRegionalCode = h), (p.isCombinedCharacter = function (t) { return -1 !== e.indexOf(t); }), (p.isRegionalFlag = function (t, e) { var a = l(t.substr(e, 2)); if (a !== r) return !1; var i = 0; for (e += 2; i < 5; ) { if ((a = l(t.substr(e, 2))) < 917601 || a > 917626) return !1; (i += 1), (e += 2); } return 917631 === l(t.substr(e, 2)); }), (p.isVariationSelector = function (t) { return 65039 === t; }), (p.BLACK_FLAG_CODE_POINT = r); var c = { addChars: function (t) { if (t) { var e; this.chars || (this.chars = []); var r, a, i = t.length, s = this.chars.length; for (e = 0; e < i; e += 1) { for (r = 0, a = !1; r < s; ) this.chars[r].style === t[e].style && this.chars[r].fFamily === t[e].fFamily && this.chars[r].ch === t[e].ch && (a = !0), (r += 1); a || (this.chars.push(t[e]), (s += 1)); } } }, addFonts: function (t, e) { if (t) { if (this.chars) return ( (this.isLoaded = !0), void (this.fonts = t.list) ); if (!document.body) return ( (this.isLoaded = !0), t.list.forEach(function (t) { (t.helper = o(t)), (t.cache = {}); }), void (this.fonts = t.list) ); var r, a = t.list, i = a.length, s = i; for (r = 0; r < i; r += 1) { var l, h, p = !0; if ( ((a[r].loaded = !1), (a[r].monoCase = n(a[r].fFamily, 'monospace')), (a[r].sansCase = n(a[r].fFamily, 'sans-serif')), a[r].fPath) ) { if ('p' === a[r].fOrigin || 3 === a[r].origin) { if ( ((l = document.querySelectorAll( 'style[f-forigin="p"][f-family="' + a[r].fFamily + '"], style[f-origin="3"][f-family="' + a[r].fFamily + '"]' )).length > 0 && (p = !1), p) ) { var c = createTag('style'); c.setAttribute('f-forigin', a[r].fOrigin), c.setAttribute('f-origin', a[r].origin), c.setAttribute('f-family', a[r].fFamily), (c.type = 'text/css'), (c.innerText = '@font-face {font-family: ' + a[r].fFamily + "; font-style: normal; src: url('" + a[r].fPath + "');}"), e.appendChild(c); } } else if ( 'g' === a[r].fOrigin || 1 === a[r].origin ) { for ( l = document.querySelectorAll( 'link[f-forigin="g"], link[f-origin="1"]' ), h = 0; h < l.length; h += 1 ) -1 !== l[h].href.indexOf(a[r].fPath) && (p = !1); if (p) { var d = createTag('link'); d.setAttribute('f-forigin', a[r].fOrigin), d.setAttribute('f-origin', a[r].origin), (d.type = 'text/css'), (d.rel = 'stylesheet'), (d.href = a[r].fPath), document.body.appendChild(d); } } else if ( 't' === a[r].fOrigin || 2 === a[r].origin ) { for ( l = document.querySelectorAll( 'script[f-forigin="t"], script[f-origin="2"]' ), h = 0; h < l.length; h += 1 ) a[r].fPath === l[h].src && (p = !1); if (p) { var f = createTag('link'); f.setAttribute('f-forigin', a[r].fOrigin), f.setAttribute('f-origin', a[r].origin), f.setAttribute('rel', 'stylesheet'), f.setAttribute('href', a[r].fPath), e.appendChild(f); } } } else (a[r].loaded = !0), (s -= 1); (a[r].helper = o(a[r], e)), (a[r].cache = {}), this.fonts.push(a[r]); } 0 === s ? (this.isLoaded = !0) : setTimeout(this.checkLoadedFonts.bind(this), 100); } else this.isLoaded = !0; }, getCharData: function (e, r, a) { for (var i = 0, s = this.chars.length; i < s; ) { if ( this.chars[i].ch === e && this.chars[i].style === r && this.chars[i].fFamily === a ) return this.chars[i]; i += 1; } return ( (('string' == typeof e && 13 !== e.charCodeAt(0)) || !e) && console && console.warn && !this._warned && ((this._warned = !0), console.warn( 'Missing character from exported characters list: ', e, r, a )), t ); }, getFontByName: function (t) { for (var e = 0, r = this.fonts.length; e < r; ) { if (this.fonts[e].fName === t) return this.fonts[e]; e += 1; } return this.fonts[0]; }, measureText: function (t, e, r) { var a = this.getFontByName(e), i = t; if (!a.cache[i]) { var s = a.helper; if (' ' === t) { var n = s.measureText('|' + t + '|'), o = s.measureText('||'); a.cache[i] = (n - o) / 100; } else a.cache[i] = s.measureText(t) / 100; } return a.cache[i] * r; }, checkLoadedFonts: function () { var t, e, r, a = this.fonts.length, i = a; for (t = 0; t < a; t += 1) this.fonts[t].loaded ? (i -= 1) : 'n' === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? (this.fonts[t].loaded = !0) : ((e = this.fonts[t].monoCase.node), (r = this.fonts[t].monoCase.w), e.offsetWidth !== r ? ((i -= 1), (this.fonts[t].loaded = !0)) : ((e = this.fonts[t].sansCase.node), (r = this.fonts[t].sansCase.w), e.offsetWidth !== r && ((i -= 1), (this.fonts[t].loaded = !0))), this.fonts[t].loaded && (this.fonts[ t ].sansCase.parent.parentNode.removeChild( this.fonts[t].sansCase.parent ), this.fonts[ t ].monoCase.parent.parentNode.removeChild( this.fonts[t].monoCase.parent ))); 0 !== i && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10); }, setIsLoaded: function () { this.isLoaded = !0; } }; return (p.prototype = c), p; })(); function SlotManager(t) { this.animationData = t; } function slotFactory(t) { return new SlotManager(t); } function RenderableElement() {} (SlotManager.prototype.getProp = function (t) { return this.animationData.slots && this.animationData.slots[t.sid] ? Object.assign(t, this.animationData.slots[t.sid].p) : t; }), (RenderableElement.prototype = { initRenderable: function () { (this.isInRange = !1), (this.hidden = !1), (this.isTransparent = !1), (this.renderableComponents = []); }, addRenderableComponent: function (t) { -1 === this.renderableComponents.indexOf(t) && this.renderableComponents.push(t); }, removeRenderableComponent: function (t) { -1 !== this.renderableComponents.indexOf(t) && this.renderableComponents.splice( this.renderableComponents.indexOf(t), 1 ); }, prepareRenderableFrame: function (t) { this.checkLayerLimits(t); }, checkTransparency: function () { this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && ((this.isTransparent = !0), this.hide()) : this.isTransparent && ((this.isTransparent = !1), this.show()); }, checkLayerLimits: function (t) { this.data.ip - this.data.st <= t && this.data.op - this.data.st > t ? !0 !== this.isInRange && ((this.globalData._mdf = !0), (this._mdf = !0), (this.isInRange = !0), this.show()) : !1 !== this.isInRange && ((this.globalData._mdf = !0), (this.isInRange = !1), this.hide()); }, renderRenderable: function () { var t, e = this.renderableComponents.length; for (t = 0; t < e; t += 1) this.renderableComponents[t].renderFrame( this._isFirstFrame ); }, sourceRectAtTime: function () { return { top: 0, left: 0, width: 100, height: 100 }; }, getLayerSize: function () { return 5 === this.data.ty ? { w: this.data.textData.width, h: this.data.textData.height } : { w: this.data.width, h: this.data.height }; } }); var getBlendMode = ((blendModeEnums = { 0: 'source-over', 1: 'multiply', 2: 'screen', 3: 'overlay', 4: 'darken', 5: 'lighten', 6: 'color-dodge', 7: 'color-burn', 8: 'hard-light', 9: 'soft-light', 10: 'difference', 11: 'exclusion', 12: 'hue', 13: 'saturation', 14: 'color', 15: 'luminosity' }), function (t) { return blendModeEnums[t] || ''; }), blendModeEnums; function SliderEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 0, 0, r); } function AngleEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 0, 0, r); } function ColorEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 1, 0, r); } function PointEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 1, 0, r); } function LayerIndexEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 0, 0, r); } function MaskIndexEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 0, 0, r); } function CheckboxEffect(t, e, r) { this.p = PropertyFactory.getProp(e, t.v, 0, 0, r); } function NoValueEffect() { this.p = {}; } function EffectsManager(t, e) { var r, a = t.ef || []; this.effectElements = []; var i, s = a.length; for (r = 0; r < s; r += 1) (i = new GroupEffect(a[r], e)), this.effectElements.push(i); } function GroupEffect(t, e) { this.init(t, e); } function BaseElement() {} function FrameElement() {} function FootageElement(t, e, r) { this.initFrame(), this.initRenderable(), (this.assetData = e.getAssetData(t.refId)), (this.footageData = e.imageLoader.getAsset(this.assetData)), this.initBaseData(t, e, r); } function AudioElement(t, e, r) { this.initFrame(), this.initRenderable(), (this.assetData = e.getAssetData(t.refId)), this.initBaseData(t, e, r), (this._isPlaying = !1), (this._canPlay = !1); var a = this.globalData.getAssetsPath(this.assetData); (this.audio = this.globalData.audioController.createAudio(a)), (this._currentTime = 0), this.globalData.audioController.addAudio(this), (this._volumeMultiplier = 1), (this._volume = 1), (this._previousVolume = null), (this.tm = t.tm ? PropertyFactory.getProp( this, t.tm, 0, e.frameRate, this ) : { _placeholder: !0 }), (this.lv = PropertyFactory.getProp( this, t.au && t.au.lv ? t.au.lv : { k: [100] }, 1, 0.01, this )); } function BaseRenderer() {} extendPrototype([DynamicPropertyContainer], GroupEffect), (GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties), (GroupEffect.prototype.init = function (t, e) { var r; (this.data = t), (this.effectElements = []), this.initDynamicPropertyContainer(e); var a, i = this.data.ef.length, s = this.data.ef; for (r = 0; r < i; r += 1) { switch (((a = null), s[r].ty)) { case 0: a = new SliderEffect(s[r], e, this); break; case 1: a = new AngleEffect(s[r], e, this); break; case 2: a = new ColorEffect(s[r], e, this); break; case 3: a = new PointEffect(s[r], e, this); break; case 4: case 7: a = new CheckboxEffect(s[r], e, this); break; case 10: a = new LayerIndexEffect(s[r], e, this); break; case 11: a = new MaskIndexEffect(s[r], e, this); break; case 5: a = new EffectsManager(s[r], e); break; default: a = new NoValueEffect(s[r]); } a && this.effectElements.push(a); } }), (BaseElement.prototype = { checkMasks: function () { if (!this.data.hasMask) return !1; for ( var t = 0, e = this.data.masksProperties.length; t < e; ) { if ( 'n' !== this.data.masksProperties[t].mode && !1 !== this.data.masksProperties[t].cl ) return !0; t += 1; } return !1; }, initExpressions: function () { var t = getExpressionInterfaces(); if (t) { var e = t('layer'), r = t('effects'), a = t('shape'), i = t('text'), s = t('comp'); (this.layerInterface = e(this)), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface( this.maskManager ); var n = r.createEffectsInterface( this, this.layerInterface ); this.layerInterface.registerEffectsInterface(n), 0 === this.data.ty || this.data.xt ? (this.compInterface = s(this)) : 4 === this.data.ty ? ((this.layerInterface.shapeInterface = a( this.shapesData, this.itemsData, this.layerInterface )), (this.layerInterface.content = this.layerInterface.shapeInterface)) : 5 === this.data.ty && ((this.layerInterface.textInterface = i(this)), (this.layerInterface.text = this.layerInterface.textInterface)); } }, setBlendMode: function () { var t = getBlendMode(this.data.bm); (this.baseElement || this.layerElement).style[ 'mix-blend-mode' ] = t; }, initBaseData: function (t, e, r) { (this.globalData = e), (this.comp = r), (this.data = t), (this.layerId = createElementID()), this.data.sr || (this.data.sr = 1), (this.effectsManager = new EffectsManager( this.data, this, this.dynamicProperties )); }, getType: function () { return this.type; }, sourceRectAtTime: function () {} }), (FrameElement.prototype = { initFrame: function () { (this._isFirstFrame = !1), (this.dynamicProperties = []), (this._mdf = !1); }, prepareProperties: function (t, e) { var r, a = this.dynamicProperties.length; for (r = 0; r < a; r += 1) (e || (this._isParent && 'transform' === this.dynamicProperties[r].propType)) && (this.dynamicProperties[r].getValue(), this.dynamicProperties[r]._mdf && ((this.globalData._mdf = !0), (this._mdf = !0))); }, addDynamicProperty: function (t) { -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t); } }), (FootageElement.prototype.prepareFrame = function () {}), extendPrototype( [RenderableElement, BaseElement, FrameElement], FootageElement ), (FootageElement.prototype.getBaseElement = function () { return null; }), (FootageElement.prototype.renderFrame = function () {}), (FootageElement.prototype.destroy = function () {}), (FootageElement.prototype.initExpressions = function () { var t = getExpressionInterfaces(); if (t) { var e = t('footage'); this.layerInterface = e(this); } }), (FootageElement.prototype.getFootageData = function () { return this.footageData; }), (AudioElement.prototype.prepareFrame = function (t) { if ( (this.prepareRenderableFrame(t, !0), this.prepareProperties(t, !0), this.tm._placeholder) ) this._currentTime = t / this.data.sr; else { var e = this.tm.v; this._currentTime = e; } this._volume = this.lv.v[0]; var r = this._volume * this._volumeMultiplier; this._previousVolume !== r && ((this._previousVolume = r), this.audio.volume(r)); }), extendPrototype( [RenderableElement, BaseElement, FrameElement], AudioElement ), (AudioElement.prototype.renderFrame = function () { this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs( this._currentTime / this.globalData.frameRate - this.audio.seek() ) > 0.1) && this.audio.seek( this._currentTime / this.globalData.frameRate ) : (this.audio.play(), this.audio.seek( this._currentTime / this.globalData.frameRate ), (this._isPlaying = !0))); }), (AudioElement.prototype.show = function () {}), (AudioElement.prototype.hide = function () { this.audio.pause(), (this._isPlaying = !1); }), (AudioElement.prototype.pause = function () { this.audio.pause(), (this._isPlaying = !1), (this._canPlay = !1); }), (AudioElement.prototype.resume = function () { this._canPlay = !0; }), (AudioElement.prototype.setRate = function (t) { this.audio.rate(t); }), (AudioElement.prototype.volume = function (t) { (this._volumeMultiplier = t), (this._previousVolume = t * this._volume), this.audio.volume(this._previousVolume); }), (AudioElement.prototype.getBaseElement = function () { return null; }), (AudioElement.prototype.destroy = function () {}), (AudioElement.prototype.sourceRectAtTime = function () {}), (AudioElement.prototype.initExpressions = function () {}), (BaseRenderer.prototype.checkLayers = function (t) { var e, r, a = this.layers.length; for (this.completeLayers = !0, e = a - 1; e >= 0; e -= 1) this.elements[e] || ((r = this.layers[e]).ip - r.st <= t - this.layers[e].st && r.op - r.st > t - this.layers[e].st && this.buildItem(e)), (this.completeLayers = !!this.elements[e] && this.completeLayers); this.checkPendingElements(); }), (BaseRenderer.prototype.createItem = function (t) { switch (t.ty) { case 2: return this.createImage(t); case 0: return this.createComp(t); case 1: return this.createSolid(t); case 3: default: return this.createNull(t); case 4: return this.createShape(t); case 5: return this.createText(t); case 6: return this.createAudio(t); case 13: return this.createCamera(t); case 15: return this.createFootage(t); } }), (BaseRenderer.prototype.createCamera = function () { throw new Error( "You're using a 3d camera. Try the html renderer." ); }), (BaseRenderer.prototype.createAudio = function (t) { return new AudioElement(t, this.globalData, this); }), (BaseRenderer.prototype.createFootage = function (t) { return new FootageElement(t, this.globalData, this); }), (BaseRenderer.prototype.buildAllItems = function () { var t, e = this.layers.length; for (t = 0; t < e; t += 1) this.buildItem(t); this.checkPendingElements(); }), (BaseRenderer.prototype.includeLayers = function (t) { var e; this.completeLayers = !1; var r, a = t.length, i = this.layers.length; for (e = 0; e < a; e += 1) for (r = 0; r < i; ) { if (this.layers[r].id === t[e].id) { this.layers[r] = t[e]; break; } r += 1; } }), (BaseRenderer.prototype.setProjectInterface = function (t) { this.globalData.projectInterface = t; }), (BaseRenderer.prototype.initItems = function () { this.globalData.progressiveLoad || this.buildAllItems(); }), (BaseRenderer.prototype.buildElementParenting = function ( t, e, r ) { for ( var a = this.elements, i = this.layers, s = 0, n = i.length; s < n; ) i[s].ind == e && (a[s] && !0 !== a[s] ? (r.push(a[s]), a[s].setAsParent(), void 0 !== i[s].parent ? this.buildElementParenting(t, i[s].parent, r) : t.setHierarchy(r)) : (this.buildItem(s), this.addPendingElement(t))), (s += 1); }), (BaseRenderer.prototype.addPendingElement = function (t) { this.pendingElements.push(t); }), (BaseRenderer.prototype.searchExtraCompositions = function ( t ) { var e, r = t.length; for (e = 0; e < r; e += 1) if (t[e].xt) { var a = this.createComp(t[e]); a.initExpressions(), this.globalData.projectInterface.registerComposition( a ); } }), (BaseRenderer.prototype.getElementById = function (t) { var e, r = this.elements.length; for (e = 0; e < r; e += 1) if (this.elements[e].data.ind === t) return this.elements[e]; return null; }), (BaseRenderer.prototype.getElementByPath = function (t) { var e, r = t.shift(); if ('number' == typeof r) e = this.elements[r]; else { var a, i = this.elements.length; for (a = 0; a < i; a += 1) if (this.elements[a].data.nm === r) { e = this.elements[a]; break; } } return 0 === t.length ? e : e.getElementByPath(t); }), (BaseRenderer.prototype.setupGlobalData = function (t, e) { (this.globalData.fontManager = new FontManager()), (this.globalData.slotManager = slotFactory(t)), this.globalData.fontManager.addChars(t.chars), this.globalData.fontManager.addFonts(t.fonts, e), (this.globalData.getAssetData = this.animationItem.getAssetData.bind( this.animationItem )), (this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind( this.animationItem )), (this.globalData.imageLoader = this.animationItem.imagePreloader), (this.globalData.audioController = this.animationItem.audioController), (this.globalData.frameId = 0), (this.globalData.frameRate = t.fr), (this.globalData.nm = t.nm), (this.globalData.compSize = { w: t.w, h: t.h }); }); var effectTypes = { TRANSFORM_EFFECT: 'transformEFfect' }; function TransformElement() {} function MaskElement(t, e, r) { (this.data = t), (this.element = e), (this.globalData = r), (this.storedData = []), (this.masksProperties = this.data.masksProperties || []), (this.maskElement = null); var a, i, s = this.globalData.defs, n = this.masksProperties ? this.masksProperties.length : 0; (this.viewData = createSizedArray(n)), (this.solidPath = ''); var o, l, h, p, c, d, f = this.masksProperties, m = 0, u = [], g = createElementID(), y = 'clipPath', v = 'clip-path'; for (a = 0; a < n; a += 1) if ( ((('a' !== f[a].mode && 'n' !== f[a].mode) || f[a].inv || 100 !== f[a].o.k || f[a].o.x) && ((y = 'mask'), (v = 'mask')), ('s' !== f[a].mode && 'i' !== f[a].mode) || 0 !== m ? (h = null) : ((h = createNS('rect')).setAttribute( 'fill', '#ffffff' ), h.setAttribute( 'width', this.element.comp.data.w || 0 ), h.setAttribute( 'height', this.element.comp.data.h || 0 ), u.push(h)), (i = createNS('path')), 'n' === f[a].mode) ) (this.viewData[a] = { op: PropertyFactory.getProp( this.element, f[a].o, 0, 0.01, this.element ), prop: ShapePropertyFactory.getShapeProp( this.element, f[a], 3 ), elem: i, lastPath: '' }), s.appendChild(i); else { var b; if ( ((m += 1), i.setAttribute( 'fill', 's' === f[a].mode ? '#000000' : '#ffffff' ), i.setAttribute('clip-rule', 'nonzero'), 0 !== f[a].x.k ? ((y = 'mask'), (v = 'mask'), (d = PropertyFactory.getProp( this.element, f[a].x, 0, null, this.element )), (b = createElementID()), (p = createNS('filter')).setAttribute('id', b), (c = createNS('feMorphology')).setAttribute( 'operator', 'erode' ), c.setAttribute('in', 'SourceGraphic'), c.setAttribute('radius', '0'), p.appendChild(c), s.appendChild(p), i.setAttribute( 'stroke', 's' === f[a].mode ? '#000000' : '#ffffff' )) : ((c = null), (d = null)), (this.storedData[a] = { elem: i, x: d, expan: c, lastPath: '', lastOperator: '', filterId: b, lastRadius: 0 }), 'i' === f[a].mode) ) { l = u.length; var _ = createNS('g'); for (o = 0; o < l; o += 1) _.appendChild(u[o]); var w = createNS('mask'); w.setAttribute('mask-type', 'alpha'), w.setAttribute('id', g + '_' + m), w.appendChild(i), s.appendChild(w), _.setAttribute( 'mask', 'url(' + getLocationHref() + '#' + g + '_' + m + ')' ), (u.length = 0), u.push(_); } else u.push(i); f[a].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), (this.viewData[a] = { elem: i, lastPath: '', op: PropertyFactory.getProp( this.element, f[a].o, 0, 0.01, this.element ), prop: ShapePropertyFactory.getShapeProp( this.element, f[a], 3 ), invRect: h }), this.viewData[a].prop.k || this.drawPath( f[a], this.viewData[a].prop.v, this.viewData[a] ); } for ( this.maskElement = createNS(y), n = u.length, a = 0; a < n; a += 1 ) this.maskElement.appendChild(u[a]); m > 0 && (this.maskElement.setAttribute('id', g), this.element.maskedElement.setAttribute( v, 'url(' + getLocationHref() + '#' + g + ')' ), s.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this); } (TransformElement.prototype = { initTransform: function () { var t = new Matrix(); (this.finalTransform = { mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty( this, this.data.ks, this ) : { o: 0 }, _matMdf: !1, _localMatMdf: !1, _opMdf: !1, mat: t, localMat: t, localOpacity: 1 }), this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty; }, renderTransform: function () { if ( ((this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame), (this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame), this.hierarchy) ) { var t, e = this.finalTransform.mat, r = 0, a = this.hierarchy.length; if (!this.finalTransform._matMdf) for (; r < a; ) { if (this.hierarchy[r].finalTransform.mProp._mdf) { this.finalTransform._matMdf = !0; break; } r += 1; } if (this.finalTransform._matMdf) for ( t = this.finalTransform.mProp.v.props, e.cloneFromProps(t), r = 0; r < a; r += 1 ) e.multiply(this.hierarchy[r].finalTransform.mProp.v); } this.finalTransform._matMdf && (this.finalTransform._localMatMdf = this.finalTransform._matMdf), this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v); }, renderLocalTransform: function () { if (this.localTransforms) { var t = 0, e = this.localTransforms.length; if ( ((this.finalTransform._localMatMdf = this.finalTransform._matMdf), !this.finalTransform._localMatMdf || !this.finalTransform._opMdf) ) for (; t < e; ) this.localTransforms[t]._mdf && (this.finalTransform._localMatMdf = !0), this.localTransforms[t]._opMdf && !this.finalTransform._opMdf && ((this.finalTransform.localOpacity = this.finalTransform.mProp.o.v), (this.finalTransform._opMdf = !0)), (t += 1); if (this.finalTransform._localMatMdf) { var r = this.finalTransform.localMat; for ( this.localTransforms[0].matrix.clone(r), t = 1; t < e; t += 1 ) { var a = this.localTransforms[t].matrix; r.multiply(a); } r.multiply(this.finalTransform.mat); } if (this.finalTransform._opMdf) { var i = this.finalTransform.localOpacity; for (t = 0; t < e; t += 1) i *= 0.01 * this.localTransforms[t].opacity; this.finalTransform.localOpacity = i; } } }, searchEffectTransforms: function () { if (this.renderableEffectsManager) { var t = this.renderableEffectsManager.getEffects( effectTypes.TRANSFORM_EFFECT ); if (t.length) { (this.localTransforms = []), (this.finalTransform.localMat = new Matrix()); var e = 0, r = t.length; for (e = 0; e < r; e += 1) this.localTransforms.push(t[e]); } } }, globalToLocal: function (t) { var e = []; e.push(this.finalTransform); for (var r, a = !0, i = this.comp; a; ) i.finalTransform ? (i.data.hasMask && e.splice(0, 0, i.finalTransform), (i = i.comp)) : (a = !1); var s, n = e.length; for (r = 0; r < n; r += 1) (s = e[r].mat.applyToPointArray(0, 0, 0)), (t = [t[0] - s[0], t[1] - s[1], 0]); return t; }, mHelper: new Matrix() }), (MaskElement.prototype.getMaskProperty = function (t) { return this.viewData[t].prop; }), (MaskElement.prototype.renderFrame = function (t) { var e, r = this.element.finalTransform.mat, a = this.masksProperties.length; for (e = 0; e < a; e += 1) if ( ((this.viewData[e].prop._mdf || t) && this.drawPath( this.masksProperties[e], this.viewData[e].prop.v, this.viewData[e] ), (this.viewData[e].op._mdf || t) && this.viewData[e].elem.setAttribute( 'fill-opacity', this.viewData[e].op.v ), 'n' !== this.masksProperties[e].mode && (this.viewData[e].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[e].invRect.setAttribute( 'transform', r.getInverseMatrix().to2dCSS() ), this.storedData[e].x && (this.storedData[e].x._mdf || t))) ) { var i = this.storedData[e].expan; this.storedData[e].x.v < 0 ? ('erode' !== this.storedData[e].lastOperator && ((this.storedData[e].lastOperator = 'erode'), this.storedData[e].elem.setAttribute( 'filter', 'url(' + getLocationHref() + '#' + this.storedData[e].filterId + ')' )), i.setAttribute('radius', -this.storedData[e].x.v)) : ('dilate' !== this.storedData[e].lastOperator && ((this.storedData[e].lastOperator = 'dilate'), this.storedData[e].elem.setAttribute( 'filter', null )), this.storedData[e].elem.setAttribute( 'stroke-width', 2 * this.storedData[e].x.v )); } }), (MaskElement.prototype.getMaskelement = function () { return this.maskElement; }), (MaskElement.prototype.createLayerSolidPath = function () { var t = 'M0,0 '; return ( (t += ' h' + this.globalData.compSize.w), (t += ' v' + this.globalData.compSize.h), (t += ' h-' + this.globalData.compSize.w), (t += ' v-' + this.globalData.compSize.h + ' ') ); }), (MaskElement.prototype.drawPath = function (t, e, r) { var a, i, s = ' M' + e.v[0][0] + ',' + e.v[0][1]; for (i = e._length, a = 1; a < i; a += 1) s += ' C' + e.o[a - 1][0] + ',' + e.o[a - 1][1] + ' ' + e.i[a][0] + ',' + e.i[a][1] + ' ' + e.v[a][0] + ',' + e.v[a][1]; if ( (e.c && i > 1 && (s += ' C' + e.o[a - 1][0] + ',' + e.o[a - 1][1] + ' ' + e.i[0][0] + ',' + e.i[0][1] + ' ' + e.v[0][0] + ',' + e.v[0][1]), r.lastPath !== s) ) { var n = ''; r.elem && (e.c && (n = t.inv ? this.solidPath + s : s), r.elem.setAttribute('d', n)), (r.lastPath = s); } }), (MaskElement.prototype.destroy = function () { (this.element = null), (this.globalData = null), (this.maskElement = null), (this.data = null), (this.masksProperties = null); }); var filtersFactory = (function () { var t = { createFilter: function (t, e) { var r = createNS('filter'); return ( r.setAttribute('id', t), !0 !== e && (r.setAttribute('filterUnits', 'objectBoundingBox'), r.setAttribute('x', '0%'), r.setAttribute('y', '0%'), r.setAttribute('width', '100%'), r.setAttribute('height', '100%')), r ); }, createAlphaToLuminanceFilter: function () { var t = createNS('feColorMatrix'); return ( t.setAttribute('type', 'matrix'), t.setAttribute('color-interpolation-filters', 'sRGB'), t.setAttribute( 'values', '0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1' ), t ); } }; return t; })(), featureSupport = (function () { var t = { maskType: !0, svgLumaHidden: !0, offscreenCanvas: 'undefined' != typeof OffscreenCanvas }; return ( (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\/\d./i.test(navigator.userAgent)) && (t.maskType = !1), /firefox/i.test(navigator.userAgent) && (t.svgLumaHidden = !1), t ); })(), registeredEffects$1 = {}, idPrefix = 'filter_result_'; function SVGEffects(t) { var e, r, a = 'SourceGraphic', i = t.data.ef ? t.data.ef.length : 0, s = createElementID(), n = filtersFactory.createFilter(s, !0), o = 0; for (this.filters = [], e = 0; e < i; e += 1) { r = null; var l = t.data.ef[e].ty; registeredEffects$1[l] && ((r = new (0, registeredEffects$1[l].effect)( n, t.effectsManager.effectElements[e], t, idPrefix + o, a )), (a = idPrefix + o), registeredEffects$1[l].countsAsEffect && (o += 1)), r && this.filters.push(r); } o && (t.globalData.defs.appendChild(n), t.layerElement.setAttribute( 'filter', 'url(' + getLocationHref() + '#' + s + ')' )), this.filters.length && t.addRenderableComponent(this); } function registerEffect$1(t, e, r) { registeredEffects$1[t] = { effect: e, countsAsEffect: r }; } function SVGBaseElement() {} function HierarchyElement() {} function RenderableDOMElement() {} function IImageElement(t, e, r) { (this.assetData = e.getAssetData(t.refId)), this.assetData && this.assetData.sid && (this.assetData = e.slotManager.getProp(this.assetData)), this.initElement(t, e, r), (this.sourceRect = { top: 0, left: 0, width: this.assetData.w, height: this.assetData.h }); } function ProcessedElement(t, e) { (this.elem = t), (this.pos = e); } function IShapeElement() {} (SVGEffects.prototype.renderFrame = function (t) { var e, r = this.filters.length; for (e = 0; e < r; e += 1) this.filters[e].renderFrame(t); }), (SVGEffects.prototype.getEffects = function (t) { var e, r = this.filters.length, a = []; for (e = 0; e < r; e += 1) this.filters[e].type === t && a.push(this.filters[e]); return a; }), (SVGBaseElement.prototype = { initRendererElement: function () { this.layerElement = createNS('g'); }, createContainerElements: function () { (this.matteElement = createNS('g')), (this.transformedElement = this.layerElement), (this.maskedElement = this.layerElement), (this._sizeChanged = !1); var t = null; if (this.data.td) { this.matteMasks = {}; var e = createNS('g'); e.setAttribute('id', this.layerId), e.appendChild(this.layerElement), (t = e), this.globalData.defs.appendChild(e); } else this.data.tt ? (this.matteElement.appendChild(this.layerElement), (t = this.matteElement), (this.baseElement = this.matteElement)) : (this.baseElement = this.layerElement); if ( (this.data.ln && this.layerElement.setAttribute('id', this.data.ln), this.data.cl && this.layerElement.setAttribute('class', this.data.cl), 0 === this.data.ty && !this.data.hd) ) { var r = createNS('clipPath'), a = createNS('path'); a.setAttribute( 'd', 'M0,0 L' + this.data.w + ',0 L' + this.data.w + ',' + this.data.h + ' L0,' + this.data.h + 'z' ); var i = createElementID(); if ( (r.setAttribute('id', i), r.appendChild(a), this.globalData.defs.appendChild(r), this.checkMasks()) ) { var s = createNS('g'); s.setAttribute( 'clip-path', 'url(' + getLocationHref() + '#' + i + ')' ), s.appendChild(this.layerElement), (this.transformedElement = s), t ? t.appendChild(this.transformedElement) : (this.baseElement = this.transformedElement); } else this.layerElement.setAttribute( 'clip-path', 'url(' + getLocationHref() + '#' + i + ')' ); } 0 !== this.data.bm && this.setBlendMode(); }, renderElement: function () { this.finalTransform._localMatMdf && this.transformedElement.setAttribute( 'transform', this.finalTransform.localMat.to2dCSS() ), this.finalTransform._opMdf && this.transformedElement.setAttribute( 'opacity', this.finalTransform.localOpacity ); }, destroyBaseElement: function () { (this.layerElement = null), (this.matteElement = null), this.maskManager.destroy(); }, getBaseElement: function () { return this.data.hd ? null : this.baseElement; }, createRenderableComponents: function () { (this.maskManager = new MaskElement( this.data, this, this.globalData )), (this.renderableEffectsManager = new SVGEffects(this)), this.searchEffectTransforms(); }, getMatte: function (t) { if ( (this.matteMasks || (this.matteMasks = {}), !this.matteMasks[t]) ) { var e, r, a, i, s = this.layerId + '_' + t; if (1 === t || 3 === t) { var n = createNS('mask'); n.setAttribute('id', s), n.setAttribute( 'mask-type', 3 === t ? 'luminance' : 'alpha' ), (a = createNS('use')).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#' + this.layerId ), n.appendChild(a), this.globalData.defs.appendChild(n), featureSupport.maskType || 1 !== t || (n.setAttribute('mask-type', 'luminance'), (e = createElementID()), (r = filtersFactory.createFilter(e)), this.globalData.defs.appendChild(r), r.appendChild( filtersFactory.createAlphaToLuminanceFilter() ), (i = createNS('g')).appendChild(a), n.appendChild(i), i.setAttribute( 'filter', 'url(' + getLocationHref() + '#' + e + ')' )); } else if (2 === t) { var o = createNS('mask'); o.setAttribute('id', s), o.setAttribute('mask-type', 'alpha'); var l = createNS('g'); o.appendChild(l), (e = createElementID()), (r = filtersFactory.createFilter(e)); var h = createNS('feComponentTransfer'); h.setAttribute('in', 'SourceGraphic'), r.appendChild(h); var p = createNS('feFuncA'); p.setAttribute('type', 'table'), p.setAttribute('tableValues', '1.0 0.0'), h.appendChild(p), this.globalData.defs.appendChild(r); var c = createNS('rect'); c.setAttribute('width', this.comp.data.w), c.setAttribute('height', this.comp.data.h), c.setAttribute('x', '0'), c.setAttribute('y', '0'), c.setAttribute('fill', '#ffffff'), c.setAttribute('opacity', '0'), l.setAttribute( 'filter', 'url(' + getLocationHref() + '#' + e + ')' ), l.appendChild(c), (a = createNS('use')).setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', '#' + this.layerId ), l.appendChild(a), featureSupport.maskType || (o.setAttribute('mask-type', 'luminance'), r.appendChild( filtersFactory.createAlphaToLuminanceFilter() ), (i = createNS('g')), l.appendChild(c), i.appendChild(this.layerElement), l.appendChild(i)), this.globalData.defs.appendChild(o); } this.matteMasks[t] = s; } return this.matteMasks[t]; }, setMatte: function (t) { this.matteElement && this.matteElement.setAttribute( 'mask', 'url(' + getLocationHref() + '#' + t + ')' ); } }), (HierarchyElement.prototype = { initHierarchy: function () { (this.hierarchy = []), (this._isParent = !1), this.checkParenting(); }, setHierarchy: function (t) { this.hierarchy = t; }, setAsParent: function () { this._isParent = !0; }, checkParenting: function () { void 0 !== this.data.parent && this.comp.buildElementParenting( this, this.data.parent, [] ); } }), extendPrototype( [ RenderableElement, createProxyFunction({ initElement: function (t, e, r) { this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(); }, hide: function () { this.hidden || (this.isInRange && !this.isTransparent) || ((( this.baseElement || this.layerElement ).style.display = 'none'), (this.hidden = !0)); }, show: function () { this.isInRange && !this.isTransparent && (this.data.hd || (( this.baseElement || this.layerElement ).style.display = 'block'), (this.hidden = !1), (this._isFirstFrame = !0)); }, renderFrame: function () { this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1)); }, renderInnerContent: function () {}, prepareFrame: function (t) { (this._mdf = !1), this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.checkTransparency(); }, destroy: function () { (this.innerElem = null), this.destroyBaseElement(); } }) ], RenderableDOMElement ), extendPrototype( [ BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement ], IImageElement ), (IImageElement.prototype.createContent = function () { var t = this.globalData.getAssetsPath(this.assetData); (this.innerElem = createNS('image')), this.innerElem.setAttribute( 'width', this.assetData.w + 'px' ), this.innerElem.setAttribute( 'height', this.assetData.h + 'px' ), this.innerElem.setAttribute( 'preserveAspectRatio', this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio ), this.innerElem.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', t ), this.layerElement.appendChild(this.innerElem); }), (IImageElement.prototype.sourceRectAtTime = function () { return this.sourceRect; }), (IShapeElement.prototype = { addShapeToModifiers: function (t) { var e, r = this.shapeModifiers.length; for (e = 0; e < r; e += 1) this.shapeModifiers[e].addShape(t); }, isShapeInAnimatedModifiers: function (t) { for (var e = this.shapeModifiers.length; 0 < e; ) if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0; return !1; }, renderModifiers: function () { if (this.shapeModifiers.length) { var t, e = this.shapes.length; for (t = 0; t < e; t += 1) this.shapes[t].sh.reset(); for ( t = (e = this.shapeModifiers.length) - 1; t >= 0 && !this.shapeModifiers[t].processShapes( this._isFirstFrame ); t -= 1 ); } }, searchProcessedElement: function (t) { for ( var e = this.processedElements, r = 0, a = e.length; r < a; ) { if (e[r].elem === t) return e[r].pos; r += 1; } return 0; }, addProcessedElement: function (t, e) { for (var r = this.processedElements, a = r.length; a; ) if (r[(a -= 1)].elem === t) return void (r[a].pos = e); r.push(new ProcessedElement(t, e)); }, prepareFrame: function (t) { this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange); } }); var lineCapEnum = { 1: 'butt', 2: 'round', 3: 'square' }, lineJoinEnum = { 1: 'miter', 2: 'round', 3: 'bevel' }; function SVGShapeData(t, e, r) { (this.caches = []), (this.styles = []), (this.transformers = t), (this.lStr = ''), (this.sh = r), (this.lvl = e), (this._isAnimated = !!r.k); for (var a = 0, i = t.length; a < i; ) { if (t[a].mProps.dynamicProperties.length) { this._isAnimated = !0; break; } a += 1; } } function SVGStyleData(t, e) { (this.data = t), (this.type = t.ty), (this.d = ''), (this.lvl = e), (this._mdf = !1), (this.closed = !0 === t.hd), (this.pElem = createNS('path')), (this.msElem = null); } function DashProperty(t, e, r, a) { var i; (this.elem = t), (this.frameId = -1), (this.dataProps = createSizedArray(e.length)), (this.renderer = r), (this.k = !1), (this.dashStr = ''), (this.dashArray = createTypedArray( 'float32', e.length ? e.length - 1 : 0 )), (this.dashoffset = createTypedArray('float32', 1)), this.initDynamicPropertyContainer(a); var s, n = e.length || 0; for (i = 0; i < n; i += 1) (s = PropertyFactory.getProp(t, e[i].v, 0, 0, this)), (this.k = s.k || this.k), (this.dataProps[i] = { n: e[i].n, p: s }); this.k || this.getValue(!0), (this._isAnimated = this.k); } function SVGStrokeStyleData(t, e, r) { this.initDynamicPropertyContainer(t), (this.getValue = this.iterateDynamicProperties), (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this)), (this.w = PropertyFactory.getProp(t, e.w, 0, null, this)), (this.d = new DashProperty(t, e.d || {}, 'svg', this)), (this.c = PropertyFactory.getProp(t, e.c, 1, 255, this)), (this.style = r), (this._isAnimated = !!this._isAnimated); } function SVGFillStyleData(t, e, r) { this.initDynamicPropertyContainer(t), (this.getValue = this.iterateDynamicProperties), (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this)), (this.c = PropertyFactory.getProp(t, e.c, 1, 255, this)), (this.style = r); } function SVGNoStyleData(t, e, r) { this.initDynamicPropertyContainer(t), (this.getValue = this.iterateDynamicProperties), (this.style = r); } function GradientProperty(t, e, r) { (this.data = e), (this.c = createTypedArray('uint8c', 4 * e.p)); var a = e.k.k[0].s ? e.k.k[0].s.length - 4 * e.p : e.k.k.length - 4 * e.p; (this.o = createTypedArray('float32', a)), (this._cmdf = !1), (this._omdf = !1), (this._collapsable = this.checkCollapsable()), (this._hasOpacity = a), this.initDynamicPropertyContainer(r), (this.prop = PropertyFactory.getProp( t, e.k, 1, null, this )), (this.k = this.prop.k), this.getValue(!0); } function SVGGradientFillStyleData(t, e, r) { this.initDynamicPropertyContainer(t), (this.getValue = this.iterateDynamicProperties), this.initGradientData(t, e, r); } function SVGGradientStrokeStyleData(t, e, r) { this.initDynamicPropertyContainer(t), (this.getValue = this.iterateDynamicProperties), (this.w = PropertyFactory.getProp(t, e.w, 0, null, this)), (this.d = new DashProperty(t, e.d || {}, 'svg', this)), this.initGradientData(t, e, r), (this._isAnimated = !!this._isAnimated); } function ShapeGroupData() { (this.it = []), (this.prevViewData = []), (this.gr = createNS('g')); } function SVGTransformData(t, e, r) { (this.transform = { mProps: t, op: e, container: r }), (this.elements = []), (this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length); } (SVGShapeData.prototype.setAsAnimated = function () { this._isAnimated = !0; }), (SVGStyleData.prototype.reset = function () { (this.d = ''), (this._mdf = !1); }), (DashProperty.prototype.getValue = function (t) { if ( (this.elem.globalData.frameId !== this.frameId || t) && ((this.frameId = this.elem.globalData.frameId), this.iterateDynamicProperties(), (this._mdf = this._mdf || t), this._mdf) ) { var e = 0, r = this.dataProps.length; for ( 'svg' === this.renderer && (this.dashStr = ''), e = 0; e < r; e += 1 ) 'o' !== this.dataProps[e].n ? 'svg' === this.renderer ? (this.dashStr += ' ' + this.dataProps[e].p.v) : (this.dashArray[e] = this.dataProps[e].p.v) : (this.dashoffset[0] = this.dataProps[e].p.v); } }), extendPrototype([DynamicPropertyContainer], DashProperty), extendPrototype( [DynamicPropertyContainer], SVGStrokeStyleData ), extendPrototype([DynamicPropertyContainer], SVGFillStyleData), extendPrototype([DynamicPropertyContainer], SVGNoStyleData), (GradientProperty.prototype.comparePoints = function (t, e) { for (var r = 0, a = this.o.length / 2; r < a; ) { if (Math.abs(t[4 * r] - t[4 * e + 2 * r]) > 0.01) return !1; r += 1; } return !0; }), (GradientProperty.prototype.checkCollapsable = function () { if (this.o.length / 2 != this.c.length / 4) return !1; if (this.data.k.k[0].s) for (var t = 0, e = this.data.k.k.length; t < e; ) { if ( !this.comparePoints(this.data.k.k[t].s, this.data.p) ) return !1; t += 1; } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1; return !0; }), (GradientProperty.prototype.getValue = function (t) { if ( (this.prop.getValue(), (this._mdf = !1), (this._cmdf = !1), (this._omdf = !1), this.prop._mdf || t) ) { var e, r, a, i = 4 * this.data.p; for (e = 0; e < i; e += 1) (r = e % 4 == 0 ? 100 : 255), (a = Math.round(this.prop.v[e] * r)), this.c[e] !== a && ((this.c[e] = a), (this._cmdf = !t)); if (this.o.length) for ( i = this.prop.v.length, e = 4 * this.data.p; e < i; e += 1 ) (r = e % 2 == 0 ? 100 : 1), (a = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e]), this.o[e - 4 * this.data.p] !== a && ((this.o[e - 4 * this.data.p] = a), (this._omdf = !t)); this._mdf = !t; } }), extendPrototype([DynamicPropertyContainer], GradientProperty), (SVGGradientFillStyleData.prototype.initGradientData = function (t, e, r) { (this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this)), (this.s = PropertyFactory.getProp( t, e.s, 1, null, this )), (this.e = PropertyFactory.getProp( t, e.e, 1, null, this )), (this.h = PropertyFactory.getProp( t, e.h || { k: 0 }, 0, 0.01, this )), (this.a = PropertyFactory.getProp( t, e.a || { k: 0 }, 0, degToRads, this )), (this.g = new GradientProperty(t, e.g, this)), (this.style = r), (this.stops = []), this.setGradientData(r.pElem, e), this.setGradientOpacity(e, r), (this._isAnimated = !!this._isAnimated); }), (SVGGradientFillStyleData.prototype.setGradientData = function (t, e) { var r = createElementID(), a = createNS( 1 === e.t ? 'linearGradient' : 'radialGradient' ); a.setAttribute('id', r), a.setAttribute('spreadMethod', 'pad'), a.setAttribute('gradientUnits', 'userSpaceOnUse'); var i, s, n, o = []; for (n = 4 * e.g.p, s = 0; s < n; s += 4) (i = createNS('stop')), a.appendChild(i), o.push(i); t.setAttribute( 'gf' === e.ty ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + r + ')' ), (this.gf = a), (this.cst = o); }), (SVGGradientFillStyleData.prototype.setGradientOpacity = function (t, e) { if (this.g._hasOpacity && !this.g._collapsable) { var r, a, i, s = createNS('mask'), n = createNS('path'); s.appendChild(n); var o = createElementID(), l = createElementID(); s.setAttribute('id', l); var h = createNS( 1 === t.t ? 'linearGradient' : 'radialGradient' ); h.setAttribute('id', o), h.setAttribute('spreadMethod', 'pad'), h.setAttribute('gradientUnits', 'userSpaceOnUse'), (i = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length); var p = this.stops; for (a = 4 * t.g.p; a < i; a += 2) (r = createNS('stop')).setAttribute( 'stop-color', 'rgb(255,255,255)' ), h.appendChild(r), p.push(r); n.setAttribute( 'gf' === t.ty ? 'fill' : 'stroke', 'url(' + getLocationHref() + '#' + o + ')' ), 'gs' === t.ty && (n.setAttribute( 'stroke-linecap', lineCapEnum[t.lc || 2] ), n.setAttribute( 'stroke-linejoin', lineJoinEnum[t.lj || 2] ), 1 === t.lj && n.setAttribute('stroke-miterlimit', t.ml)), (this.of = h), (this.ms = s), (this.ost = p), (this.maskId = l), (e.msElem = n); } }), extendPrototype( [DynamicPropertyContainer], SVGGradientFillStyleData ), extendPrototype( [SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData ); var buildShapeString = function (t, e, r, a) { if (0 === e) return ''; var i, s = t.o, n = t.i, o = t.v, l = ' M' + a.applyToPointStringified(o[0][0], o[0][1]); for (i = 1; i < e; i += 1) l += ' C' + a.applyToPointStringified(s[i - 1][0], s[i - 1][1]) + ' ' + a.applyToPointStringified(n[i][0], n[i][1]) + ' ' + a.applyToPointStringified(o[i][0], o[i][1]); return ( r && e && ((l += ' C' + a.applyToPointStringified(s[i - 1][0], s[i - 1][1]) + ' ' + a.applyToPointStringified(n[0][0], n[0][1]) + ' ' + a.applyToPointStringified(o[0][0], o[0][1])), (l += 'z')), l ); }, SVGElementsRenderer = (function () { var t = new Matrix(), e = new Matrix(); function r(t, e, r) { (r || e.transform.op._mdf) && e.transform.container.setAttribute( 'opacity', e.transform.op.v ), (r || e.transform.mProps._mdf) && e.transform.container.setAttribute( 'transform', e.transform.mProps.v.to2dCSS() ); } function a() {} function i(r, a, i) { var s, n, o, l, h, p, c, d, f, m, u = a.styles.length, g = a.lvl; for (p = 0; p < u; p += 1) { if (((l = a.sh._mdf || i), a.styles[p].lvl < g)) { for ( d = e.reset(), f = g - a.styles[p].lvl, m = a.transformers.length - 1; !l && f > 0; ) (l = a.transformers[m].mProps._mdf || l), (f -= 1), (m -= 1); if (l) for ( f = g - a.styles[p].lvl, m = a.transformers.length - 1; f > 0; ) d.multiply(a.transformers[m].mProps.v), (f -= 1), (m -= 1); } else d = t; if (((n = (c = a.sh.paths)._length), l)) { for (o = '', s = 0; s < n; s += 1) (h = c.shapes[s]) && h._length && (o += buildShapeString(h, h._length, h.c, d)); a.caches[p] = o; } else o = a.caches[p]; (a.styles[p].d += !0 === r.hd ? '' : o), (a.styles[p]._mdf = l || a.styles[p]._mdf); } } function s(t, e, r) { var a = e.style; (e.c._mdf || r) && a.pElem.setAttribute( 'fill', 'rgb(' + bmFloor(e.c.v[0]) + ',' + bmFloor(e.c.v[1]) + ',' + bmFloor(e.c.v[2]) + ')' ), (e.o._mdf || r) && a.pElem.setAttribute('fill-opacity', e.o.v); } function n(t, e, r) { o(t, e, r), l(0, e, r); } function o(t, e, r) { var a, i, s, n, o, l = e.gf, h = e.g._hasOpacity, p = e.s.v, c = e.e.v; if (e.o._mdf || r) { var d = 'gf' === t.ty ? 'fill-opacity' : 'stroke-opacity'; e.style.pElem.setAttribute(d, e.o.v); } if (e.s._mdf || r) { var f = 1 === t.t ? 'x1' : 'cx', m = 'x1' === f ? 'y1' : 'cy'; l.setAttribute(f, p[0]), l.setAttribute(m, p[1]), h && !e.g._collapsable && (e.of.setAttribute(f, p[0]), e.of.setAttribute(m, p[1])); } if (e.g._cmdf || r) { a = e.cst; var u = e.g.c; for (s = a.length, i = 0; i < s; i += 1) (n = a[i]).setAttribute('offset', u[4 * i] + '%'), n.setAttribute( 'stop-color', 'rgb(' + u[4 * i + 1] + ',' + u[4 * i + 2] + ',' + u[4 * i + 3] + ')' ); } if (h && (e.g._omdf || r)) { var g = e.g.o; for ( s = (a = e.g._collapsable ? e.cst : e.ost).length, i = 0; i < s; i += 1 ) (n = a[i]), e.g._collapsable || n.setAttribute('offset', g[2 * i] + '%'), n.setAttribute('stop-opacity', g[2 * i + 1]); } if (1 === t.t) (e.e._mdf || r) && (l.setAttribute('x2', c[0]), l.setAttribute('y2', c[1]), h && !e.g._collapsable && (e.of.setAttribute('x2', c[0]), e.of.setAttribute('y2', c[1]))); else if ( ((e.s._mdf || e.e._mdf || r) && ((o = Math.sqrt( Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2) )), l.setAttribute('r', o), h && !e.g._collapsable && e.of.setAttribute('r', o)), e.e._mdf || e.h._mdf || e.a._mdf || r) ) { o || (o = Math.sqrt( Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2) )); var y = Math.atan2(c[1] - p[1], c[0] - p[0]), v = e.h.v; v >= 1 ? (v = 0.99) : v <= -1 && (v = -0.99); var b = o * v, _ = Math.cos(y + e.a.v) * b + p[0], w = Math.sin(y + e.a.v) * b + p[1]; l.setAttribute('fx', _), l.setAttribute('fy', w), h && !e.g._collapsable && (e.of.setAttribute('fx', _), e.of.setAttribute('fy', w)); } } function l(t, e, r) { var a = e.style, i = e.d; i && (i._mdf || r) && i.dashStr && (a.pElem.setAttribute('stroke-dasharray', i.dashStr), a.pElem.setAttribute( 'stroke-dashoffset', i.dashoffset[0] )), e.c && (e.c._mdf || r) && a.pElem.setAttribute( 'stroke', 'rgb(' + bmFloor(e.c.v[0]) + ',' + bmFloor(e.c.v[1]) + ',' + bmFloor(e.c.v[2]) + ')' ), (e.o._mdf || r) && a.pElem.setAttribute('stroke-opacity', e.o.v), (e.w._mdf || r) && (a.pElem.setAttribute('stroke-width', e.w.v), a.msElem && a.msElem.setAttribute('stroke-width', e.w.v)); } return { createRenderFunction: function (t) { switch (t.ty) { case 'fl': return s; case 'gf': return o; case 'gs': return n; case 'st': return l; case 'sh': case 'el': case 'rc': case 'sr': return i; case 'tr': return r; case 'no': return a; default: return null; } } }; })(); function SVGShapeElement(t, e, r) { (this.shapes = []), (this.shapesData = t.shapes), (this.stylesList = []), (this.shapeModifiers = []), (this.itemsData = []), (this.processedElements = []), (this.animatedContents = []), this.initElement(t, e, r), (this.prevViewData = []); } function LetterProps(t, e, r, a, i, s) { (this.o = t), (this.sw = e), (this.sc = r), (this.fc = a), (this.m = i), (this.p = s), (this._mdf = { o: !0, sw: !!e, sc: !!r, fc: !!a, m: !0, p: !0 }); } function TextProperty(t, e) { (this._frameId = initialDefaultFrame), (this.pv = ''), (this.v = ''), (this.kf = !1), (this._isFirstFrame = !0), (this._mdf = !1), e.d && e.d.sid && (e.d = t.globalData.slotManager.getProp(e.d)), (this.data = e), (this.elem = t), (this.comp = this.elem.comp), (this.keysIndex = 0), (this.canResize = !1), (this.minimumFontSize = 1), (this.effectsSequence = []), (this.currentData = { ascent: 0, boxWidth: this.defaultBoxWidth, f: '', fStyle: '', fWeight: '', fc: '', j: '', justifyOffset: '', l: [], lh: 0, lineWidths: [], ls: '', of: '', s: '', sc: '', sw: 0, t: 0, tr: 0, sz: 0, ps: null, fillColorAnim: !1, strokeColorAnim: !1, strokeWidthAnim: !1, yOffset: 0, finalSize: 0, finalText: [], finalLineHeight: 0, __complete: !1 }), this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData); } extendPrototype( [ BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement ], SVGShapeElement ), (SVGShapeElement.prototype.initSecondaryElement = function () {}), (SVGShapeElement.prototype.identityMatrix = new Matrix()), (SVGShapeElement.prototype.buildExpressionInterface = function () {}), (SVGShapeElement.prototype.createContent = function () { this.searchShapes( this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0 ), this.filterUniqueShapes(); }), (SVGShapeElement.prototype.filterUniqueShapes = function () { var t, e, r, a, i = this.shapes.length, s = this.stylesList.length, n = [], o = !1; for (r = 0; r < s; r += 1) { for ( a = this.stylesList[r], o = !1, n.length = 0, t = 0; t < i; t += 1 ) -1 !== (e = this.shapes[t]).styles.indexOf(a) && (n.push(e), (o = e._isAnimated || o)); n.length > 1 && o && this.setShapesAsAnimated(n); } }), (SVGShapeElement.prototype.setShapesAsAnimated = function ( t ) { var e, r = t.length; for (e = 0; e < r; e += 1) t[e].setAsAnimated(); }), (SVGShapeElement.prototype.createStyleElement = function ( t, e ) { var r, a = new SVGStyleData(t, e), i = a.pElem; return ( 'st' === t.ty ? (r = new SVGStrokeStyleData(this, t, a)) : 'fl' === t.ty ? (r = new SVGFillStyleData(this, t, a)) : 'gf' === t.ty || 'gs' === t.ty ? ((r = new ( 'gf' === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData )(this, t, a)), this.globalData.defs.appendChild(r.gf), r.maskId && (this.globalData.defs.appendChild(r.ms), this.globalData.defs.appendChild(r.of), i.setAttribute( 'mask', 'url(' + getLocationHref() + '#' + r.maskId + ')' ))) : 'no' === t.ty && (r = new SVGNoStyleData(this, t, a)), ('st' !== t.ty && 'gs' !== t.ty) || (i.setAttribute( 'stroke-linecap', lineCapEnum[t.lc || 2] ), i.setAttribute( 'stroke-linejoin', lineJoinEnum[t.lj || 2] ), i.setAttribute('fill-opacity', '0'), 1 === t.lj && i.setAttribute('stroke-miterlimit', t.ml)), 2 === t.r && i.setAttribute('fill-rule', 'evenodd'), t.ln && i.setAttribute('id', t.ln), t.cl && i.setAttribute('class', t.cl), t.bm && (i.style['mix-blend-mode'] = getBlendMode(t.bm)), this.stylesList.push(a), this.addToAnimatedContents(t, r), r ); }), (SVGShapeElement.prototype.createGroupElement = function (t) { var e = new ShapeGroupData(); return ( t.ln && e.gr.setAttribute('id', t.ln), t.cl && e.gr.setAttribute('class', t.cl), t.bm && (e.gr.style['mix-blend-mode'] = getBlendMode(t.bm)), e ); }), (SVGShapeElement.prototype.createTransformElement = function ( t, e ) { var r = TransformPropertyFactory.getTransformProperty( this, t, this ), a = new SVGTransformData(r, r.o, e); return this.addToAnimatedContents(t, a), a; }), (SVGShapeElement.prototype.createShapeElement = function ( t, e, r ) { var a = 4; 'rc' === t.ty ? (a = 5) : 'el' === t.ty ? (a = 6) : 'sr' === t.ty && (a = 7); var i = new SVGShapeData( e, r, ShapePropertyFactory.getShapeProp(this, t, a, this) ); return ( this.shapes.push(i), this.addShapeToModifiers(i), this.addToAnimatedContents(t, i), i ); }), (SVGShapeElement.prototype.addToAnimatedContents = function ( t, e ) { for (var r = 0, a = this.animatedContents.length; r < a; ) { if (this.animatedContents[r].element === e) return; r += 1; } this.animatedContents.push({ fn: SVGElementsRenderer.createRenderFunction(t), element: e, data: t }); }), (SVGShapeElement.prototype.setElementStyles = function (t) { var e, r = t.styles, a = this.stylesList.length; for (e = 0; e < a; e += 1) this.stylesList[e].closed || r.push(this.stylesList[e]); }), (SVGShapeElement.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(); }), (SVGShapeElement.prototype.searchShapes = function ( t, e, r, a, i, s, n ) { var o, l, h, p, c, d, f = [].concat(s), m = t.length - 1, u = [], g = []; for (o = m; o >= 0; o -= 1) { if ( ((d = this.searchProcessedElement(t[o])) ? (e[o] = r[d - 1]) : (t[o]._render = n), 'fl' === t[o].ty || 'st' === t[o].ty || 'gf' === t[o].ty || 'gs' === t[o].ty || 'no' === t[o].ty) ) d ? (e[o].style.closed = !1) : (e[o] = this.createStyleElement(t[o], i)), t[o]._render && e[o].style.pElem.parentNode !== a && a.appendChild(e[o].style.pElem), u.push(e[o].style); else if ('gr' === t[o].ty) { if (d) for (h = e[o].it.length, l = 0; l < h; l += 1) e[o].prevViewData[l] = e[o].it[l]; else e[o] = this.createGroupElement(t[o]); this.searchShapes( t[o].it, e[o].it, e[o].prevViewData, e[o].gr, i + 1, f, n ), t[o]._render && e[o].gr.parentNode !== a && a.appendChild(e[o].gr); } else 'tr' === t[o].ty ? (d || (e[o] = this.createTransformElement(t[o], a)), (p = e[o].transform), f.push(p)) : 'sh' === t[o].ty || 'rc' === t[o].ty || 'el' === t[o].ty || 'sr' === t[o].ty ? (d || (e[o] = this.createShapeElement(t[o], f, i)), this.setElementStyles(e[o])) : 'tm' === t[o].ty || 'rd' === t[o].ty || 'ms' === t[o].ty || 'pb' === t[o].ty || 'zz' === t[o].ty || 'op' === t[o].ty ? (d ? ((c = e[o]).closed = !1) : ((c = ShapeModifiers.getModifier(t[o].ty)).init( this, t[o] ), (e[o] = c), this.shapeModifiers.push(c)), g.push(c)) : 'rp' === t[o].ty && (d ? ((c = e[o]).closed = !0) : ((c = ShapeModifiers.getModifier(t[o].ty)), (e[o] = c), c.init(this, t, o, e), this.shapeModifiers.push(c), (n = !1)), g.push(c)); this.addProcessedElement(t[o], o + 1); } for (m = u.length, o = 0; o < m; o += 1) u[o].closed = !0; for (m = g.length, o = 0; o < m; o += 1) g[o].closed = !0; }), (SVGShapeElement.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' )); }), (SVGShapeElement.prototype.renderShape = function () { var t, e, r = this.animatedContents.length; for (t = 0; t < r; t += 1) (e = this.animatedContents[t]), (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame); }), (SVGShapeElement.prototype.destroy = function () { this.destroyBaseElement(), (this.shapesData = null), (this.itemsData = null); }), (LetterProps.prototype.update = function (t, e, r, a, i, s) { (this._mdf.o = !1), (this._mdf.sw = !1), (this._mdf.sc = !1), (this._mdf.fc = !1), (this._mdf.m = !1), (this._mdf.p = !1); var n = !1; return ( this.o !== t && ((this.o = t), (this._mdf.o = !0), (n = !0)), this.sw !== e && ((this.sw = e), (this._mdf.sw = !0), (n = !0)), this.sc !== r && ((this.sc = r), (this._mdf.sc = !0), (n = !0)), this.fc !== a && ((this.fc = a), (this._mdf.fc = !0), (n = !0)), this.m !== i && ((this.m = i), (this._mdf.m = !0), (n = !0)), !s.length || (this.p[0] === s[0] && this.p[1] === s[1] && this.p[4] === s[4] && this.p[5] === s[5] && this.p[12] === s[12] && this.p[13] === s[13]) || ((this.p = s), (this._mdf.p = !0), (n = !0)), n ); }), (TextProperty.prototype.defaultBoxWidth = [0, 0]), (TextProperty.prototype.copyData = function (t, e) { for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]); return t; }), (TextProperty.prototype.setCurrentData = function (t) { t.__complete || this.completeTextData(t), (this.currentData = t), (this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth), (this._mdf = !0); }), (TextProperty.prototype.searchProperty = function () { return this.searchKeyframes(); }), (TextProperty.prototype.searchKeyframes = function () { return ( (this.kf = this.data.d.k.length > 1), this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf ); }), (TextProperty.prototype.addEffect = function (t) { this.effectsSequence.push(t), this.elem.addDynamicProperty(this); }), (TextProperty.prototype.getValue = function (t) { if ( (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length) || t ) { this.currentData.t = this.data.d.k[this.keysIndex].s.t; var e = this.currentData, r = this.keysIndex; if (this.lock) this.setCurrentData(this.currentData); else { var a; (this.lock = !0), (this._mdf = !1); var i = this.effectsSequence.length, s = t || this.data.d.k[this.keysIndex].s; for (a = 0; a < i; a += 1) s = r !== this.keysIndex ? this.effectsSequence[a](s, s.t) : this.effectsSequence[a](this.currentData, s.t); e !== s && this.setCurrentData(s), (this.v = this.currentData), (this.pv = this.v), (this.lock = !1), (this.frameId = this.elem.globalData.frameId); } } }), (TextProperty.prototype.getKeyframeValue = function () { for ( var t = this.data.d.k, e = this.elem.comp.renderedFrame, r = 0, a = t.length; r <= a - 1 && !(r === a - 1 || t[r + 1].t > e); ) r += 1; return ( this.keysIndex !== r && (this.keysIndex = r), this.data.d.k[this.keysIndex].s ); }), (TextProperty.prototype.buildFinalText = function (t) { for ( var e, r, a = [], i = 0, s = t.length, n = !1, o = !1, l = ''; i < s; ) (n = o), (o = !1), (e = t.charCodeAt(i)), (l = t.charAt(i)), FontManager.isCombinedCharacter(e) ? (n = !0) : e >= 55296 && e <= 56319 ? FontManager.isRegionalFlag(t, i) ? (l = t.substr(i, 14)) : (r = t.charCodeAt(i + 1)) >= 56320 && r <= 57343 && (FontManager.isModifier(e, r) ? ((l = t.substr(i, 2)), (n = !0)) : (l = FontManager.isFlagEmoji(t.substr(i, 4)) ? t.substr(i, 4) : t.substr(i, 2))) : e > 56319 ? ((r = t.charCodeAt(i + 1)), FontManager.isVariationSelector(e) && (n = !0)) : FontManager.isZeroWidthJoiner(e) && ((n = !0), (o = !0)), n ? ((a[a.length - 1] += l), (n = !1)) : a.push(l), (i += l.length); return a; }), (TextProperty.prototype.completeTextData = function (t) { t.__complete = !0; var e, r, a, i, s, n, o, l = this.elem.globalData.fontManager, h = this.data, p = [], c = 0, d = h.m.g, f = 0, m = 0, u = 0, g = [], y = 0, v = 0, b = l.getFontByName(t.f), _ = 0, w = getFontProperties(b); (t.fWeight = w.weight), (t.fStyle = w.style), (t.finalSize = t.s), (t.finalText = this.buildFinalText(t.t)), (r = t.finalText.length), (t.finalLineHeight = t.lh); var A, x = (t.tr / 1e3) * t.finalSize; if (t.sz) for (var P, S, C = !0, T = t.sz[0], E = t.sz[1]; C; ) { (P = 0), (y = 0), (r = (S = this.buildFinalText(t.t)).length), (x = (t.tr / 1e3) * t.finalSize); var k = -1; for (e = 0; e < r; e += 1) (A = S[e].charCodeAt(0)), (a = !1), ' ' === S[e] ? (k = e) : (13 !== A && 3 !== A) || ((y = 0), (a = !0), (P += t.finalLineHeight || 1.2 * t.finalSize)), l.chars ? ((o = l.getCharData(S[e], b.fStyle, b.fFamily)), (_ = a ? 0 : (o.w * t.finalSize) / 100)) : (_ = l.measureText(S[e], t.f, t.finalSize)), y + _ > T && ' ' !== S[e] ? (-1 === k ? (r += 1) : (e = k), (P += t.finalLineHeight || 1.2 * t.finalSize), S.splice(e, k === e ? 1 : 0, '\r'), (k = -1), (y = 0)) : ((y += _), (y += x)); (P += (b.ascent * t.finalSize) / 100), this.canResize && t.finalSize > this.minimumFontSize && E < P ? ((t.finalSize -= 1), (t.finalLineHeight = (t.finalSize * t.lh) / t.s)) : ((t.finalText = S), (r = t.finalText.length), (C = !1)); } (y = -x), (_ = 0); var M, D = 0; for (e = 0; e < r; e += 1) if ( ((a = !1), 13 === (A = (M = t.finalText[e]).charCodeAt(0)) || 3 === A ? ((D = 0), g.push(y), (v = y > v ? y : v), (y = -2 * x), (i = ''), (a = !0), (u += 1)) : (i = M), l.chars ? ((o = l.getCharData( M, b.fStyle, l.getFontByName(t.f).fFamily )), (_ = a ? 0 : (o.w * t.finalSize) / 100)) : (_ = l.measureText(i, t.f, t.finalSize)), ' ' === M ? (D += _ + x) : ((y += _ + x + D), (D = 0)), p.push({ l: _, an: _, add: f, n: a, anIndexes: [], val: i, line: u, animatorJustifyOffset: 0 }), 2 == d) ) { if (((f += _), '' === i || ' ' === i || e === r - 1)) { for (('' !== i && ' ' !== i) || (f -= _); m <= e; ) (p[m].an = f), (p[m].ind = c), (p[m].extra = _), (m += 1); (c += 1), (f = 0); } } else if (3 == d) { if (((f += _), '' === i || e === r - 1)) { for ('' === i && (f -= _); m <= e; ) (p[m].an = f), (p[m].ind = c), (p[m].extra = _), (m += 1); (f = 0), (c += 1); } } else (p[c].ind = c), (p[c].extra = 0), (c += 1); if (((t.l = p), (v = y > v ? y : v), g.push(y), t.sz)) (t.boxWidth = t.sz[0]), (t.justifyOffset = 0); else switch (((t.boxWidth = v), t.j)) { case 1: t.justifyOffset = -t.boxWidth; break; case 2: t.justifyOffset = -t.boxWidth / 2; break; default: t.justifyOffset = 0; } t.lineWidths = g; var I, F, V, B, N = h.a; n = N.length; var R = []; for (s = 0; s < n; s += 1) { for ( (I = N[s]).a.sc && (t.strokeColorAnim = !0), I.a.sw && (t.strokeWidthAnim = !0), (I.a.fc || I.a.fh || I.a.fs || I.a.fb) && (t.fillColorAnim = !0), B = 0, V = I.s.b, e = 0; e < r; e += 1 ) ((F = p[e]).anIndexes[s] = B), ((1 == V && '' !== F.val) || (2 == V && '' !== F.val && ' ' !== F.val) || (3 == V && (F.n || ' ' == F.val || e == r - 1)) || (4 == V && (F.n || e == r - 1))) && (1 === I.s.rn && R.push(B), (B += 1)); h.a[s].s.totalChars = B; var z, L = -1; if (1 === I.s.rn) for (e = 0; e < r; e += 1) L != (F = p[e]).anIndexes[s] && ((L = F.anIndexes[s]), (z = R.splice( Math.floor(Math.random() * R.length), 1 )[0])), (F.anIndexes[s] = z); } (t.yOffset = t.finalLineHeight || 1.2 * t.finalSize), (t.ls = t.ls || 0), (t.ascent = (b.ascent * t.finalSize) / 100); }), (TextProperty.prototype.updateDocumentData = function (t, e) { e = void 0 === e ? this.keysIndex : e; var r = this.copyData({}, this.data.d.k[e].s); (r = this.copyData(r, t)), (this.data.d.k[e].s = r), this.recalculate(e), this.setCurrentData(r), this.elem.addDynamicProperty(this); }), (TextProperty.prototype.recalculate = function (t) { var e = this.data.d.k[t].s; (e.__complete = !1), (this.keysIndex = 0), (this._isFirstFrame = !0), this.getValue(e); }), (TextProperty.prototype.canResizeFont = function (t) { (this.canResize = t), this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this); }), (TextProperty.prototype.setMinimumFontSize = function (t) { (this.minimumFontSize = Math.floor(t) || 1), this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this); }); var TextSelectorProp = (function () { var t = Math.max, e = Math.min, r = Math.floor; function a(t, e) { (this._currentTextLength = -1), (this.k = !1), (this.data = e), (this.elem = t), (this.comp = t.comp), (this.finalS = 0), (this.finalE = 0), this.initDynamicPropertyContainer(t), (this.s = PropertyFactory.getProp( t, e.s || { k: 0 }, 0, 0, this )), (this.e = 'e' in e ? PropertyFactory.getProp(t, e.e, 0, 0, this) : { v: 100 }), (this.o = PropertyFactory.getProp( t, e.o || { k: 0 }, 0, 0, this )), (this.xe = PropertyFactory.getProp( t, e.xe || { k: 0 }, 0, 0, this )), (this.ne = PropertyFactory.getProp( t, e.ne || { k: 0 }, 0, 0, this )), (this.sm = PropertyFactory.getProp( t, e.sm || { k: 100 }, 0, 0, this )), (this.a = PropertyFactory.getProp(t, e.a, 0, 0.01, this)), this.dynamicProperties.length || this.getValue(); } return ( (a.prototype = { getMult: function (a) { this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue(); var i = 0, s = 0, n = 1, o = 1; this.ne.v > 0 ? (i = this.ne.v / 100) : (s = -this.ne.v / 100), this.xe.v > 0 ? (n = 1 - this.xe.v / 100) : (o = 1 + this.xe.v / 100); var l = BezierFactory.getBezierEasing(i, s, n, o).get, h = 0, p = this.finalS, c = this.finalE, d = this.data.sh; if (2 === d) h = l( (h = c === p ? a >= c ? 1 : 0 : t(0, e(0.5 / (c - p) + (a - p) / (c - p), 1))) ); else if (3 === d) h = l( (h = c === p ? a >= c ? 0 : 1 : 1 - t(0, e(0.5 / (c - p) + (a - p) / (c - p), 1))) ); else if (4 === d) c === p ? (h = 0) : (h = t( 0, e(0.5 / (c - p) + (a - p) / (c - p), 1) )) < 0.5 ? (h *= 2) : (h = 1 - 2 * (h - 0.5)), (h = l(h)); else if (5 === d) { if (c === p) h = 0; else { var f = c - p, m = -f / 2 + (a = e(t(0, a + 0.5 - p), c - p)), u = f / 2; h = Math.sqrt(1 - (m * m) / (u * u)); } h = l(h); } else 6 === d ? (c === p ? (h = 0) : ((a = e(t(0, a + 0.5 - p), c - p)), (h = (1 + Math.cos( Math.PI + (2 * Math.PI * a) / (c - p) )) / 2)), (h = l(h))) : (a >= r(p) && (h = t( 0, e(a - p < 0 ? e(c, 1) - (p - a) : c - a, 1) )), (h = l(h))); if (100 !== this.sm.v) { var g = 0.01 * this.sm.v; 0 === g && (g = 1e-8); var y = 0.5 - 0.5 * g; h < y ? (h = 0) : (h = (h - y) / g) > 1 && (h = 1); } return h * this.a.v; }, getValue: function (t) { this.iterateDynamicProperties(), (this._mdf = t || this._mdf), (this._currentTextLength = this.elem.textProperty.currentData.l.length || 0), t && 2 === this.data.r && (this.e.v = this._currentTextLength); var e = 2 === this.data.r ? 1 : 100 / this.data.totalChars, r = this.o.v / e, a = this.s.v / e + r, i = this.e.v / e + r; if (a > i) { var s = a; (a = i), (i = s); } (this.finalS = a), (this.finalE = i); } }), extendPrototype([DynamicPropertyContainer], a), { getTextSelectorProp: function (t, e, r) { return new a(t, e); } } ); })(); function TextAnimatorDataProperty(t, e, r) { var a = { propType: !1 }, i = PropertyFactory.getProp, s = e.a; (this.a = { r: s.r ? i(t, s.r, 0, degToRads, r) : a, rx: s.rx ? i(t, s.rx, 0, degToRads, r) : a, ry: s.ry ? i(t, s.ry, 0, degToRads, r) : a, sk: s.sk ? i(t, s.sk, 0, degToRads, r) : a, sa: s.sa ? i(t, s.sa, 0, degToRads, r) : a, s: s.s ? i(t, s.s, 1, 0.01, r) : a, a: s.a ? i(t, s.a, 1, 0, r) : a, o: s.o ? i(t, s.o, 0, 0.01, r) : a, p: s.p ? i(t, s.p, 1, 0, r) : a, sw: s.sw ? i(t, s.sw, 0, 0, r) : a, sc: s.sc ? i(t, s.sc, 1, 0, r) : a, fc: s.fc ? i(t, s.fc, 1, 0, r) : a, fh: s.fh ? i(t, s.fh, 0, 0, r) : a, fs: s.fs ? i(t, s.fs, 0, 0.01, r) : a, fb: s.fb ? i(t, s.fb, 0, 0.01, r) : a, t: s.t ? i(t, s.t, 0, 0, r) : a }), (this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r)), (this.s.t = e.s.t); } function TextAnimatorProperty(t, e, r) { (this._isFirstFrame = !0), (this._hasMaskedPath = !1), (this._frameId = -1), (this._textData = t), (this._renderType = e), (this._elem = r), (this._animatorsData = createSizedArray( this._textData.a.length )), (this._pathData = {}), (this._moreOptions = { alignment: {} }), (this.renderedLetters = []), (this.lettersChangedFlag = !1), this.initDynamicPropertyContainer(r); } function ITextElement() {} (TextAnimatorProperty.prototype.searchProperties = function () { var t, e, r = this._textData.a.length, a = PropertyFactory.getProp; for (t = 0; t < r; t += 1) (e = this._textData.a[t]), (this._animatorsData[t] = new TextAnimatorDataProperty( this._elem, e, this )); this._textData.p && 'm' in this._textData.p ? ((this._pathData = { a: a(this._elem, this._textData.p.a, 0, 0, this), f: a(this._elem, this._textData.p.f, 0, 0, this), l: a(this._elem, this._textData.p.l, 0, 0, this), r: a(this._elem, this._textData.p.r, 0, 0, this), p: a(this._elem, this._textData.p.p, 0, 0, this), m: this._elem.maskManager.getMaskProperty( this._textData.p.m ) }), (this._hasMaskedPath = !0)) : (this._hasMaskedPath = !1), (this._moreOptions.alignment = a( this._elem, this._textData.m.a, 1, 0, this )); }), (TextAnimatorProperty.prototype.getMeasures = function ( t, e ) { if ( ((this.lettersChangedFlag = e), this._mdf || this._isFirstFrame || e || (this._hasMaskedPath && this._pathData.m._mdf)) ) { this._isFirstFrame = !1; var r, a, i, s, n, o, l, h, p, c, d, f, m, u, g, y, v, b, _, w = this._moreOptions.alignment.v, A = this._animatorsData, x = this._textData, P = this.mHelper, S = this._renderType, C = this.renderedLetters.length, T = t.l; if (this._hasMaskedPath) { if ( ((_ = this._pathData.m), !this._pathData.n || this._pathData._mdf) ) { var E, k = _.v; for ( this._pathData.r.v && (k = k.reverse()), n = { tLength: 0, segments: [] }, s = k._length - 1, y = 0, i = 0; i < s; i += 1 ) (E = bez.buildBezierData( k.v[i], k.v[i + 1], [k.o[i][0] - k.v[i][0], k.o[i][1] - k.v[i][1]], [ k.i[i + 1][0] - k.v[i + 1][0], k.i[i + 1][1] - k.v[i + 1][1] ] )), (n.tLength += E.segmentLength), n.segments.push(E), (y += E.segmentLength); (i = s), _.v.c && ((E = bez.buildBezierData( k.v[i], k.v[0], [k.o[i][0] - k.v[i][0], k.o[i][1] - k.v[i][1]], [k.i[0][0] - k.v[0][0], k.i[0][1] - k.v[0][1]] )), (n.tLength += E.segmentLength), n.segments.push(E), (y += E.segmentLength)), (this._pathData.pi = n); } if ( ((n = this._pathData.pi), (o = this._pathData.f.v), (d = 0), (c = 1), (h = 0), (p = !0), (u = n.segments), o < 0 && _.v.c) ) for ( n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength), c = (m = u[(d = u.length - 1)].points).length - 1; o < 0; ) (o += m[c].partialLength), (c -= 1) < 0 && (c = (m = u[(d -= 1)].points).length - 1); (f = (m = u[d].points)[c - 1]), (g = (l = m[c]).partialLength); } (s = T.length), (r = 0), (a = 0); var M, D, I, F, V, B = 1.2 * t.finalSize * 0.714, N = !0; I = A.length; var R, z, L, O, j, G, H, W, U, q, J, Y, X = -1, Q = o, K = d, $ = c, Z = -1, tt = '', et = this.defaultPropsArray; if (2 === t.j || 1 === t.j) { var rt = 0, at = 0, it = 2 === t.j ? -0.5 : -1, st = 0, nt = !0; for (i = 0; i < s; i += 1) if (T[i].n) { for (rt && (rt += at); st < i; ) (T[st].animatorJustifyOffset = rt), (st += 1); (rt = 0), (nt = !0); } else { for (D = 0; D < I; D += 1) (M = A[D].a).t.propType && (nt && 2 === t.j && (at += M.t.v * it), (V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )).length ? (rt += M.t.v * V[0] * it) : (rt += M.t.v * V * it)); nt = !1; } for (rt && (rt += at); st < i; ) (T[st].animatorJustifyOffset = rt), (st += 1); } for (i = 0; i < s; i += 1) { if ((P.reset(), (O = 1), T[i].n)) (r = 0), (a += t.yOffset), (a += N ? 1 : 0), (o = Q), (N = !1), this._hasMaskedPath && ((c = $), (f = (m = u[(d = K)].points)[c - 1]), (g = (l = m[c]).partialLength), (h = 0)), (tt = ''), (J = ''), (U = ''), (Y = ''), (et = this.defaultPropsArray); else { if (this._hasMaskedPath) { if (Z !== T[i].line) { switch (t.j) { case 1: o += y - t.lineWidths[T[i].line]; break; case 2: o += (y - t.lineWidths[T[i].line]) / 2; } Z = T[i].line; } X !== T[i].ind && (T[X] && (o += T[X].extra), (o += T[i].an / 2), (X = T[i].ind)), (o += w[0] * T[i].an * 0.005); var ot = 0; for (D = 0; D < I; D += 1) (M = A[D].a).p.propType && ((V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )).length ? (ot += M.p.v[0] * V[0]) : (ot += M.p.v[0] * V)), M.a.propType && ((V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )).length ? (ot += M.a.v[0] * V[0]) : (ot += M.a.v[0] * V)); for ( p = !0, this._pathData.a.v && ((o = 0.5 * T[0].an + ((y - this._pathData.f.v - 0.5 * T[0].an - 0.5 * T[T.length - 1].an) * X) / (s - 1)), (o += this._pathData.f.v)); p; ) h + g >= o + ot || !m ? ((v = (o + ot - h) / l.partialLength), (z = f.point[0] + (l.point[0] - f.point[0]) * v), (L = f.point[1] + (l.point[1] - f.point[1]) * v), P.translate( -w[0] * T[i].an * 0.005, -w[1] * B * 0.01 ), (p = !1)) : m && ((h += l.partialLength), (c += 1) >= m.length && ((c = 0), u[(d += 1)] ? (m = u[d].points) : _.v.c ? ((c = 0), (m = u[(d = 0)].points)) : ((h -= l.partialLength), (m = null))), m && ((f = l), (g = (l = m[c]).partialLength))); (R = T[i].an / 2 - T[i].add), P.translate(-R, 0, 0); } else (R = T[i].an / 2 - T[i].add), P.translate(-R, 0, 0), P.translate( -w[0] * T[i].an * 0.005, -w[1] * B * 0.01, 0 ); for (D = 0; D < I; D += 1) (M = A[D].a).t.propType && ((V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )), (0 === r && 0 === t.j) || (this._hasMaskedPath ? V.length ? (o += M.t.v * V[0]) : (o += M.t.v * V) : V.length ? (r += M.t.v * V[0]) : (r += M.t.v * V))); for ( t.strokeWidthAnim && (G = t.sw || 0), t.strokeColorAnim && (j = t.sc ? [t.sc[0], t.sc[1], t.sc[2]] : [0, 0, 0]), t.fillColorAnim && t.fc && (H = [t.fc[0], t.fc[1], t.fc[2]]), D = 0; D < I; D += 1 ) (M = A[D].a).a.propType && ((V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )).length ? P.translate( -M.a.v[0] * V[0], -M.a.v[1] * V[1], M.a.v[2] * V[2] ) : P.translate( -M.a.v[0] * V, -M.a.v[1] * V, M.a.v[2] * V )); for (D = 0; D < I; D += 1) (M = A[D].a).s.propType && ((V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )).length ? P.scale( 1 + (M.s.v[0] - 1) * V[0], 1 + (M.s.v[1] - 1) * V[1], 1 ) : P.scale( 1 + (M.s.v[0] - 1) * V, 1 + (M.s.v[1] - 1) * V, 1 )); for (D = 0; D < I; D += 1) { if ( ((M = A[D].a), (V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )), M.sk.propType && (V.length ? P.skewFromAxis( -M.sk.v * V[0], M.sa.v * V[1] ) : P.skewFromAxis(-M.sk.v * V, M.sa.v * V)), M.r.propType && (V.length ? P.rotateZ(-M.r.v * V[2]) : P.rotateZ(-M.r.v * V)), M.ry.propType && (V.length ? P.rotateY(M.ry.v * V[1]) : P.rotateY(M.ry.v * V)), M.rx.propType && (V.length ? P.rotateX(M.rx.v * V[0]) : P.rotateX(M.rx.v * V)), M.o.propType && (V.length ? (O += (M.o.v * V[0] - O) * V[0]) : (O += (M.o.v * V - O) * V)), t.strokeWidthAnim && M.sw.propType && (V.length ? (G += M.sw.v * V[0]) : (G += M.sw.v * V)), t.strokeColorAnim && M.sc.propType) ) for (W = 0; W < 3; W += 1) V.length ? (j[W] += (M.sc.v[W] - j[W]) * V[0]) : (j[W] += (M.sc.v[W] - j[W]) * V); if (t.fillColorAnim && t.fc) { if (M.fc.propType) for (W = 0; W < 3; W += 1) V.length ? (H[W] += (M.fc.v[W] - H[W]) * V[0]) : (H[W] += (M.fc.v[W] - H[W]) * V); M.fh.propType && (H = V.length ? addHueToRGB(H, M.fh.v * V[0]) : addHueToRGB(H, M.fh.v * V)), M.fs.propType && (H = V.length ? addSaturationToRGB(H, M.fs.v * V[0]) : addSaturationToRGB(H, M.fs.v * V)), M.fb.propType && (H = V.length ? addBrightnessToRGB(H, M.fb.v * V[0]) : addBrightnessToRGB(H, M.fb.v * V)); } } for (D = 0; D < I; D += 1) (M = A[D].a).p.propType && ((V = A[D].s.getMult( T[i].anIndexes[D], x.a[D].s.totalChars )), this._hasMaskedPath ? V.length ? P.translate( 0, M.p.v[1] * V[0], -M.p.v[2] * V[1] ) : P.translate(0, M.p.v[1] * V, -M.p.v[2] * V) : V.length ? P.translate( M.p.v[0] * V[0], M.p.v[1] * V[1], -M.p.v[2] * V[2] ) : P.translate( M.p.v[0] * V, M.p.v[1] * V, -M.p.v[2] * V )); if ( (t.strokeWidthAnim && (U = G < 0 ? 0 : G), t.strokeColorAnim && (q = 'rgb(' + Math.round(255 * j[0]) + ',' + Math.round(255 * j[1]) + ',' + Math.round(255 * j[2]) + ')'), t.fillColorAnim && t.fc && (J = 'rgb(' + Math.round(255 * H[0]) + ',' + Math.round(255 * H[1]) + ',' + Math.round(255 * H[2]) + ')'), this._hasMaskedPath) ) { if ( (P.translate(0, -t.ls), P.translate(0, w[1] * B * 0.01 + a, 0), this._pathData.p.v) ) { b = (l.point[1] - f.point[1]) / (l.point[0] - f.point[0]); var lt = (180 * Math.atan(b)) / Math.PI; l.point[0] < f.point[0] && (lt += 180), P.rotate((-lt * Math.PI) / 180); } P.translate(z, L, 0), (o -= w[0] * T[i].an * 0.005), T[i + 1] && X !== T[i + 1].ind && ((o += T[i].an / 2), (o += 0.001 * t.tr * t.finalSize)); } else { switch ( (P.translate(r, a, 0), t.ps && P.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) ) { case 1: P.translate( T[i].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[T[i].line]), 0, 0 ); break; case 2: P.translate( T[i].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[T[i].line]) / 2, 0, 0 ); } P.translate(0, -t.ls), P.translate(R, 0, 0), P.translate( w[0] * T[i].an * 0.005, w[1] * B * 0.01, 0 ), (r += T[i].l + 0.001 * t.tr * t.finalSize); } 'html' === S ? (tt = P.toCSS()) : 'svg' === S ? (tt = P.to2dCSS()) : (et = [ P.props[0], P.props[1], P.props[2], P.props[3], P.props[4], P.props[5], P.props[6], P.props[7], P.props[8], P.props[9], P.props[10], P.props[11], P.props[12], P.props[13], P.props[14], P.props[15] ]), (Y = O); } C <= i ? ((F = new LetterProps(Y, U, q, J, tt, et)), this.renderedLetters.push(F), (C += 1), (this.lettersChangedFlag = !0)) : ((F = this.renderedLetters[i]), (this.lettersChangedFlag = F.update(Y, U, q, J, tt, et) || this.lettersChangedFlag)); } } }), (TextAnimatorProperty.prototype.getValue = function () { this._elem.globalData.frameId !== this._frameId && ((this._frameId = this._elem.globalData.frameId), this.iterateDynamicProperties()); }), (TextAnimatorProperty.prototype.mHelper = new Matrix()), (TextAnimatorProperty.prototype.defaultPropsArray = []), extendPrototype( [DynamicPropertyContainer], TextAnimatorProperty ), (ITextElement.prototype.initElement = function (t, e, r) { (this.lettersChangedFlag = !0), this.initFrame(), this.initBaseData(t, e, r), (this.textProperty = new TextProperty( this, t.t, this.dynamicProperties )), (this.textAnimator = new TextAnimatorProperty( t.t, this.renderType, this )), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties( this.dynamicProperties ); }), (ITextElement.prototype.prepareFrame = function (t) { (this._mdf = !1), this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange); }), (ITextElement.prototype.createPathShape = function (t, e) { var r, a, i = e.length, s = ''; for (r = 0; r < i; r += 1) 'sh' === e[r].ty && ((a = e[r].ks.k), (s += buildShapeString(a, a.i.length, !0, t))); return s; }), (ITextElement.prototype.updateDocumentData = function (t, e) { this.textProperty.updateDocumentData(t, e); }), (ITextElement.prototype.canResizeFont = function (t) { this.textProperty.canResizeFont(t); }), (ITextElement.prototype.setMinimumFontSize = function (t) { this.textProperty.setMinimumFontSize(t); }), (ITextElement.prototype.applyTextPropertiesToMatrix = function (t, e, r, a, i) { switch ( (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0), e.translate(0, -t.ls, 0), t.j) ) { case 1: e.translate( t.justifyOffset + (t.boxWidth - t.lineWidths[r]), 0, 0 ); break; case 2: e.translate( t.justifyOffset + (t.boxWidth - t.lineWidths[r]) / 2, 0, 0 ); } e.translate(a, i, 0); }), (ITextElement.prototype.buildColor = function (t) { return ( 'rgb(' + Math.round(255 * t[0]) + ',' + Math.round(255 * t[1]) + ',' + Math.round(255 * t[2]) + ')' ); }), (ITextElement.prototype.emptyProp = new LetterProps()), (ITextElement.prototype.destroy = function () {}), (ITextElement.prototype.validateText = function () { (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), (this.textProperty._isFirstFrame = !1), (this.textProperty._mdf = !1)); }); var emptyShapeData = { shapes: [] }; function SVGTextLottieElement(t, e, r) { (this.textSpans = []), (this.renderType = 'svg'), this.initElement(t, e, r); } function ISolidElement(t, e, r) { this.initElement(t, e, r); } function NullElement(t, e, r) { this.initFrame(), this.initBaseData(t, e, r), this.initFrame(), this.initTransform(t, e, r), this.initHierarchy(); } function SVGRendererBase() {} function ICompElement() {} function SVGCompElement(t, e, r) { (this.layers = t.layers), (this.supports3d = !0), (this.completeLayers = !1), (this.pendingElements = []), (this.elements = this.layers ? createSizedArray(this.layers.length) : []), this.initElement(t, e, r), (this.tm = t.tm ? PropertyFactory.getProp( this, t.tm, 0, e.frameRate, this ) : { _placeholder: !0 }); } function SVGRenderer(t, e) { (this.animationItem = t), (this.layers = null), (this.renderedFrame = -1), (this.svgElement = createNS('svg')); var r = ''; if (e && e.title) { var a = createNS('title'), i = createElementID(); a.setAttribute('id', i), (a.textContent = e.title), this.svgElement.appendChild(a), (r += i); } if (e && e.description) { var s = createNS('desc'), n = createElementID(); s.setAttribute('id', n), (s.textContent = e.description), this.svgElement.appendChild(s), (r += ' ' + n); } r && this.svgElement.setAttribute('aria-labelledby', r); var o = createNS('defs'); this.svgElement.appendChild(o); var l = createNS('g'); this.svgElement.appendChild(l), (this.layerElement = l), (this.renderConfig = { preserveAspectRatio: (e && e.preserveAspectRatio) || 'xMidYMid meet', imagePreserveAspectRatio: (e && e.imagePreserveAspectRatio) || 'xMidYMid slice', contentVisibility: (e && e.contentVisibility) || 'visible', progressiveLoad: (e && e.progressiveLoad) || !1, hideOnTransparent: !(e && !1 === e.hideOnTransparent), viewBoxOnly: (e && e.viewBoxOnly) || !1, viewBoxSize: (e && e.viewBoxSize) || !1, className: (e && e.className) || '', id: (e && e.id) || '', focusable: e && e.focusable, filterSize: { width: (e && e.filterSize && e.filterSize.width) || '100%', height: (e && e.filterSize && e.filterSize.height) || '100%', x: (e && e.filterSize && e.filterSize.x) || '0%', y: (e && e.filterSize && e.filterSize.y) || '0%' }, width: e && e.width, height: e && e.height, runExpressions: !e || void 0 === e.runExpressions || e.runExpressions }), (this.globalData = { _mdf: !1, frameNum: -1, defs: o, renderConfig: this.renderConfig }), (this.elements = []), (this.pendingElements = []), (this.destroyed = !1), (this.rendererType = 'svg'); } function ShapeTransformManager() { (this.sequences = {}), (this.sequenceList = []), (this.transform_key_count = 0); } extendPrototype( [ BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement ], SVGTextLottieElement ), (SVGTextLottieElement.prototype.createContent = function () { this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS('text')); }), (SVGTextLottieElement.prototype.buildTextContents = function ( t ) { for (var e = 0, r = t.length, a = [], i = ''; e < r; ) t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (a.push(i), (i = '')) : (i += t[e]), (e += 1); return a.push(i), a; }), (SVGTextLottieElement.prototype.buildShapeData = function ( t, e ) { if (t.shapes && t.shapes.length) { var r = t.shapes[0]; if (r.it) { var a = r.it[r.it.length - 1]; a.s && ((a.s.k[0] = e), (a.s.k[1] = e)); } } return t; }), (SVGTextLottieElement.prototype.buildNewText = function () { var t, e; this.addDynamicProperty(this); var r = this.textProperty.currentData; (this.renderedLetters = createSizedArray( r ? r.l.length : 0 )), r.fc ? this.layerElement.setAttribute( 'fill', this.buildColor(r.fc) ) : this.layerElement.setAttribute( 'fill', 'rgba(0,0,0,0)' ), r.sc && (this.layerElement.setAttribute( 'stroke', this.buildColor(r.sc) ), this.layerElement.setAttribute('stroke-width', r.sw)), this.layerElement.setAttribute('font-size', r.finalSize); var a = this.globalData.fontManager.getFontByName(r.f); if (a.fClass) this.layerElement.setAttribute('class', a.fClass); else { this.layerElement.setAttribute('font-family', a.fFamily); var i = r.fWeight, s = r.fStyle; this.layerElement.setAttribute('font-style', s), this.layerElement.setAttribute('font-weight', i); } this.layerElement.setAttribute('aria-label', r.t); var n, o = r.l || [], l = !!this.globalData.fontManager.chars; e = o.length; var h = this.mHelper, p = this.data.singleShape, c = 0, d = 0, f = !0, m = 0.001 * r.tr * r.finalSize; if (!p || l || r.sz) { var u, g = this.textSpans.length; for (t = 0; t < e; t += 1) { if ( (this.textSpans[t] || (this.textSpans[t] = { span: null, childSpan: null, glyph: null }), !l || !p || 0 === t) ) { if ( ((n = g > t ? this.textSpans[t].span : createNS(l ? 'g' : 'text')), g <= t) ) { if ( (n.setAttribute('stroke-linecap', 'butt'), n.setAttribute('stroke-linejoin', 'round'), n.setAttribute('stroke-miterlimit', '4'), (this.textSpans[t].span = n), l) ) { var y = createNS('g'); n.appendChild(y), (this.textSpans[t].childSpan = y); } (this.textSpans[t].span = n), this.layerElement.appendChild(n); } n.style.display = 'inherit'; } if ( (h.reset(), p && (o[t].n && ((c = -m), (d += r.yOffset), (d += f ? 1 : 0), (f = !1)), this.applyTextPropertiesToMatrix( r, h, o[t].line, c, d ), (c += o[t].l || 0), (c += m)), l) ) { var v; if ( 1 === (u = this.globalData.fontManager.getCharData( r.finalText[t], a.fStyle, this.globalData.fontManager.getFontByName(r.f) .fFamily )).t ) v = new SVGCompElement( u.data, this.globalData, this ); else { var b = emptyShapeData; u.data && u.data.shapes && (b = this.buildShapeData(u.data, r.finalSize)), (v = new SVGShapeElement( b, this.globalData, this )); } if (this.textSpans[t].glyph) { var _ = this.textSpans[t].glyph; this.textSpans[t].childSpan.removeChild( _.layerElement ), _.destroy(); } (this.textSpans[t].glyph = v), (v._debug = !0), v.prepareFrame(0), v.renderFrame(), this.textSpans[t].childSpan.appendChild( v.layerElement ), 1 === u.t && this.textSpans[t].childSpan.setAttribute( 'transform', 'scale(' + r.finalSize / 100 + ',' + r.finalSize / 100 + ')' ); } else p && n.setAttribute( 'transform', 'translate(' + h.props[12] + ',' + h.props[13] + ')' ), (n.textContent = o[t].val), n.setAttributeNS( 'http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve' ); } p && n && n.setAttribute('d', ''); } else { var w = this.textContainer, A = 'start'; switch (r.j) { case 1: A = 'end'; break; case 2: A = 'middle'; break; default: A = 'start'; } w.setAttribute('text-anchor', A), w.setAttribute('letter-spacing', m); var x = this.buildTextContents(r.finalText); for ( e = x.length, d = r.ps ? r.ps[1] + r.ascent : 0, t = 0; t < e; t += 1 ) ((n = this.textSpans[t].span || createNS('tspan')).textContent = x[t]), n.setAttribute('x', 0), n.setAttribute('y', d), (n.style.display = 'inherit'), w.appendChild(n), this.textSpans[t] || (this.textSpans[t] = { span: null, glyph: null }), (this.textSpans[t].span = n), (d += r.finalLineHeight); this.layerElement.appendChild(w); } for (; t < this.textSpans.length; ) (this.textSpans[t].span.style.display = 'none'), (t += 1); this._sizeChanged = !0; }), (SVGTextLottieElement.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; }), (SVGTextLottieElement.prototype.getValue = function () { var t, e, r = this.textSpans.length; for ( this.renderedFrame = this.comp.renderedFrame, t = 0; t < r; t += 1 ) (e = this.textSpans[t].glyph) && (e.prepareFrame(this.comp.renderedFrame - this.data.st), e._mdf && (this._mdf = !0)); }), (SVGTextLottieElement.prototype.renderInnerContent = function () { if ( (this.validateText(), (!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures( this.textProperty.currentData, this.lettersChangedFlag ), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) ) { var t, e; this._sizeChanged = !0; var r, a, i, s = this.textAnimator.renderedLetters, n = this.textProperty.currentData.l; for (e = n.length, t = 0; t < e; t += 1) n[t].n || ((r = s[t]), (a = this.textSpans[t].span), (i = this.textSpans[t].glyph) && i.renderFrame(), r._mdf.m && a.setAttribute('transform', r.m), r._mdf.o && a.setAttribute('opacity', r.o), r._mdf.sw && a.setAttribute('stroke-width', r.sw), r._mdf.sc && a.setAttribute('stroke', r.sc), r._mdf.fc && a.setAttribute('fill', r.fc)); } }), extendPrototype([IImageElement], ISolidElement), (ISolidElement.prototype.createContent = function () { var t = createNS('rect'); t.setAttribute('width', this.data.sw), t.setAttribute('height', this.data.sh), t.setAttribute('fill', this.data.sc), this.layerElement.appendChild(t); }), (NullElement.prototype.prepareFrame = function (t) { this.prepareProperties(t, !0); }), (NullElement.prototype.renderFrame = function () {}), (NullElement.prototype.getBaseElement = function () { return null; }), (NullElement.prototype.destroy = function () {}), (NullElement.prototype.sourceRectAtTime = function () {}), (NullElement.prototype.hide = function () {}), extendPrototype( [ BaseElement, TransformElement, HierarchyElement, FrameElement ], NullElement ), extendPrototype([BaseRenderer], SVGRendererBase), (SVGRendererBase.prototype.createNull = function (t) { return new NullElement(t, this.globalData, this); }), (SVGRendererBase.prototype.createShape = function (t) { return new SVGShapeElement(t, this.globalData, this); }), (SVGRendererBase.prototype.createText = function (t) { return new SVGTextLottieElement(t, this.globalData, this); }), (SVGRendererBase.prototype.createImage = function (t) { return new IImageElement(t, this.globalData, this); }), (SVGRendererBase.prototype.createSolid = function (t) { return new ISolidElement(t, this.globalData, this); }), (SVGRendererBase.prototype.configAnimation = function (t) { this.svgElement.setAttribute( 'xmlns', 'http://www.w3.org/2000/svg' ), this.svgElement.setAttribute( 'xmlns:xlink', 'http://www.w3.org/1999/xlink' ), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute( 'viewBox', this.renderConfig.viewBoxSize ) : this.svgElement.setAttribute( 'viewBox', '0 0 ' + t.w + ' ' + t.h ), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute('width', t.w), this.svgElement.setAttribute('height', t.h), (this.svgElement.style.width = '100%'), (this.svgElement.style.height = '100%'), (this.svgElement.style.transform = 'translate3d(0,0,0)'), (this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility)), this.renderConfig.width && this.svgElement.setAttribute( 'width', this.renderConfig.width ), this.renderConfig.height && this.svgElement.setAttribute( 'height', this.renderConfig.height ), this.renderConfig.className && this.svgElement.setAttribute( 'class', this.renderConfig.className ), this.renderConfig.id && this.svgElement.setAttribute( 'id', this.renderConfig.id ), void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute( 'focusable', this.renderConfig.focusable ), this.svgElement.setAttribute( 'preserveAspectRatio', this.renderConfig.preserveAspectRatio ), this.animationItem.wrapper.appendChild(this.svgElement); var e = this.globalData.defs; this.setupGlobalData(t, e), (this.globalData.progressiveLoad = this.renderConfig.progressiveLoad), (this.data = t); var r = createNS('clipPath'), a = createNS('rect'); a.setAttribute('width', t.w), a.setAttribute('height', t.h), a.setAttribute('x', 0), a.setAttribute('y', 0); var i = createElementID(); r.setAttribute('id', i), r.appendChild(a), this.layerElement.setAttribute( 'clip-path', 'url(' + getLocationHref() + '#' + i + ')' ), e.appendChild(r), (this.layers = t.layers), (this.elements = createSizedArray(t.layers.length)); }), (SVGRendererBase.prototype.destroy = function () { var t; this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ''), (this.layerElement = null), (this.globalData.defs = null); var e = this.layers ? this.layers.length : 0; for (t = 0; t < e; t += 1) this.elements[t] && this.elements[t].destroy && this.elements[t].destroy(); (this.elements.length = 0), (this.destroyed = !0), (this.animationItem = null); }), (SVGRendererBase.prototype.updateContainerSize = function () {}), (SVGRendererBase.prototype.findIndexByInd = function (t) { var e = 0, r = this.layers.length; for (e = 0; e < r; e += 1) if (this.layers[e].ind === t) return e; return -1; }), (SVGRendererBase.prototype.buildItem = function (t) { var e = this.elements; if (!e[t] && 99 !== this.layers[t].ty) { e[t] = !0; var r = this.createItem(this.layers[t]); if ( ((e[t] = r), getExpressionsPlugin() && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition( r ), r.initExpressions()), this.appendElementInPos(r, t), this.layers[t].tt) ) { var a = 'tp' in this.layers[t] ? this.findIndexByInd(this.layers[t].tp) : t - 1; if (-1 === a) return; if (this.elements[a] && !0 !== this.elements[a]) { var i = e[a].getMatte(this.layers[t].tt); r.setMatte(i); } else this.buildItem(a), this.addPendingElement(r); } } }), (SVGRendererBase.prototype.checkPendingElements = function () { for (; this.pendingElements.length; ) { var t = this.pendingElements.pop(); if ((t.checkParenting(), t.data.tt)) for (var e = 0, r = this.elements.length; e < r; ) { if (this.elements[e] === t) { var a = 'tp' in t.data ? this.findIndexByInd(t.data.tp) : e - 1, i = this.elements[a].getMatte( this.layers[e].tt ); t.setMatte(i); break; } e += 1; } } }), (SVGRendererBase.prototype.renderFrame = function (t) { if (this.renderedFrame !== t && !this.destroyed) { var e; null === t ? (t = this.renderedFrame) : (this.renderedFrame = t), (this.globalData.frameNum = t), (this.globalData.frameId += 1), (this.globalData.projectInterface.currentFrame = t), (this.globalData._mdf = !1); var r = this.layers.length; for ( this.completeLayers || this.checkLayers(t), e = r - 1; e >= 0; e -= 1 ) (this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st); if (this.globalData._mdf) for (e = 0; e < r; e += 1) (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame(); } }), (SVGRendererBase.prototype.appendElementInPos = function ( t, e ) { var r = t.getBaseElement(); if (r) { for (var a, i = 0; i < e; ) this.elements[i] && !0 !== this.elements[i] && this.elements[i].getBaseElement() && (a = this.elements[i].getBaseElement()), (i += 1); a ? this.layerElement.insertBefore(r, a) : this.layerElement.appendChild(r); } }), (SVGRendererBase.prototype.hide = function () { this.layerElement.style.display = 'none'; }), (SVGRendererBase.prototype.show = function () { this.layerElement.style.display = 'block'; }), extendPrototype( [ BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement ], ICompElement ), (ICompElement.prototype.initElement = function (t, e, r) { this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), (!this.data.xt && e.progressiveLoad) || this.buildAllItems(), this.hide(); }), (ICompElement.prototype.prepareFrame = function (t) { if ( ((this._mdf = !1), this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), this.isInRange || this.data.xt) ) { if (this.tm._placeholder) this.renderedFrame = t / this.data.sr; else { var e = this.tm.v; e === this.data.op && (e = this.data.op - 1), (this.renderedFrame = e); } var r, a = this.elements.length; for ( this.completeLayers || this.checkLayers(this.renderedFrame), r = a - 1; r >= 0; r -= 1 ) (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame( this.renderedFrame - this.layers[r].st ), this.elements[r]._mdf && (this._mdf = !0)); } }), (ICompElement.prototype.renderInnerContent = function () { var t, e = this.layers.length; for (t = 0; t < e; t += 1) (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame(); }), (ICompElement.prototype.setElements = function (t) { this.elements = t; }), (ICompElement.prototype.getElements = function () { return this.elements; }), (ICompElement.prototype.destroyElements = function () { var t, e = this.layers.length; for (t = 0; t < e; t += 1) this.elements[t] && this.elements[t].destroy(); }), (ICompElement.prototype.destroy = function () { this.destroyElements(), this.destroyBaseElement(); }), extendPrototype( [SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement ), (SVGCompElement.prototype.createComp = function (t) { return new SVGCompElement(t, this.globalData, this); }), extendPrototype([SVGRendererBase], SVGRenderer), (SVGRenderer.prototype.createComp = function (t) { return new SVGCompElement(t, this.globalData, this); }), (ShapeTransformManager.prototype = { addTransformSequence: function (t) { var e, r = t.length, a = '_'; for (e = 0; e < r; e += 1) a += t[e].transform.key + '_'; var i = this.sequences[a]; return ( i || ((i = { transforms: [].concat(t), finalTransform: new Matrix(), _mdf: !1 }), (this.sequences[a] = i), this.sequenceList.push(i)), i ); }, processSequence: function (t, e) { for ( var r = 0, a = t.transforms.length, i = e; r < a && !e; ) { if (t.transforms[r].transform.mProps._mdf) { i = !0; break; } r += 1; } if (i) for ( t.finalTransform.reset(), r = a - 1; r >= 0; r -= 1 ) t.finalTransform.multiply( t.transforms[r].transform.mProps.v ); t._mdf = i; }, processSequences: function (t) { var e, r = this.sequenceList.length; for (e = 0; e < r; e += 1) this.processSequence(this.sequenceList[e], t); }, getNewKey: function () { return ( (this.transform_key_count += 1), '_' + this.transform_key_count ); } }); var lumaLoader = function () { var t = '__lottie_element_luma_buffer', e = null, r = null, a = null; function i() { var i, s, n; e || ((i = createNS('svg')), (s = createNS('filter')), (n = createNS('feColorMatrix')), s.setAttribute('id', t), n.setAttribute('type', 'matrix'), n.setAttribute('color-interpolation-filters', 'sRGB'), n.setAttribute( 'values', '0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0' ), s.appendChild(n), i.appendChild(s), i.setAttribute('id', t + '_svg'), featureSupport.svgLumaHidden && (i.style.display = 'none'), (a = i), document.body.appendChild(a), (e = createTag('canvas')), ((r = e.getContext('2d')).filter = 'url(#' + t + ')'), (r.fillStyle = 'rgba(0,0,0,0)'), r.fillRect(0, 0, 1, 1)); } return { load: i, get: function (a) { return ( e || i(), (e.width = a.width), (e.height = a.height), (r.filter = 'url(#' + t + ')'), e ); } }; }; function createCanvas(t, e) { if (featureSupport.offscreenCanvas) return new OffscreenCanvas(t, e); var r = createTag('canvas'); return (r.width = t), (r.height = e), r; } var assetLoader = { loadLumaCanvas: lumaLoader.load, getLumaCanvas: lumaLoader.get, createCanvas: createCanvas }, registeredEffects = {}; function CVEffects(t) { var e, r, a = t.data.ef ? t.data.ef.length : 0; for (this.filters = [], e = 0; e < a; e += 1) { r = null; var i = t.data.ef[e].ty; registeredEffects[i] && (r = new (0, registeredEffects[i].effect)( t.effectsManager.effectElements[e], t )), r && this.filters.push(r); } this.filters.length && t.addRenderableComponent(this); } function registerEffect(t, e) { registeredEffects[t] = { effect: e }; } function CVMaskElement(t, e) { var r; (this.data = t), (this.element = e), (this.masksProperties = this.data.masksProperties || []), (this.viewData = createSizedArray( this.masksProperties.length )); var a = this.masksProperties.length, i = !1; for (r = 0; r < a; r += 1) 'n' !== this.masksProperties[r].mode && (i = !0), (this.viewData[r] = ShapePropertyFactory.getShapeProp( this.element, this.masksProperties[r], 3 )); (this.hasMasks = i), i && this.element.addRenderableComponent(this); } function CVBaseElement() {} (CVEffects.prototype.renderFrame = function (t) { var e, r = this.filters.length; for (e = 0; e < r; e += 1) this.filters[e].renderFrame(t); }), (CVEffects.prototype.getEffects = function (t) { var e, r = this.filters.length, a = []; for (e = 0; e < r; e += 1) this.filters[e].type === t && a.push(this.filters[e]); return a; }), (CVMaskElement.prototype.renderFrame = function () { if (this.hasMasks) { var t, e, r, a, i = this.element.finalTransform.mat, s = this.element.canvasContext, n = this.masksProperties.length; for (s.beginPath(), t = 0; t < n; t += 1) if ('n' !== this.masksProperties[t].mode) { var o; this.masksProperties[t].inv && (s.moveTo(0, 0), s.lineTo(this.element.globalData.compSize.w, 0), s.lineTo( this.element.globalData.compSize.w, this.element.globalData.compSize.h ), s.lineTo(0, this.element.globalData.compSize.h), s.lineTo(0, 0)), (a = this.viewData[t].v), (e = i.applyToPointArray(a.v[0][0], a.v[0][1], 0)), s.moveTo(e[0], e[1]); var l = a._length; for (o = 1; o < l; o += 1) (r = i.applyToTriplePoints( a.o[o - 1], a.i[o], a.v[o] )), s.bezierCurveTo( r[0], r[1], r[2], r[3], r[4], r[5] ); (r = i.applyToTriplePoints( a.o[o - 1], a.i[0], a.v[0] )), s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]); } this.element.globalData.renderer.save(!0), s.clip(); } }), (CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty), (CVMaskElement.prototype.destroy = function () { this.element = null; }); var operationsMap = { 1: 'source-in', 2: 'source-out', 3: 'source-in', 4: 'source-out' }; function CVShapeData(t, e, r, a) { (this.styledShapes = []), (this.tr = [0, 0, 0, 0, 0, 0]); var i, s = 4; 'rc' === e.ty ? (s = 5) : 'el' === e.ty ? (s = 6) : 'sr' === e.ty && (s = 7), (this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t)); var n, o = r.length; for (i = 0; i < o; i += 1) r[i].closed || ((n = { transforms: a.addTransformSequence(r[i].transforms), trNodes: [] }), this.styledShapes.push(n), r[i].elements.push(n)); } function CVShapeElement(t, e, r) { (this.shapes = []), (this.shapesData = t.shapes), (this.stylesList = []), (this.itemsData = []), (this.prevViewData = []), (this.shapeModifiers = []), (this.processedElements = []), (this.transformsManager = new ShapeTransformManager()), this.initElement(t, e, r); } function CVTextElement(t, e, r) { (this.textSpans = []), (this.yOffset = 0), (this.fillColorAnim = !1), (this.strokeColorAnim = !1), (this.strokeWidthAnim = !1), (this.stroke = !1), (this.fill = !1), (this.justifyOffset = 0), (this.currentRender = null), (this.renderType = 'canvas'), (this.values = { fill: 'rgba(0,0,0,0)', stroke: 'rgba(0,0,0,0)', sWidth: 0, fValue: '' }), this.initElement(t, e, r); } function CVImageElement(t, e, r) { (this.assetData = e.getAssetData(t.refId)), (this.img = e.imageLoader.getAsset(this.assetData)), this.initElement(t, e, r); } function CVSolidElement(t, e, r) { this.initElement(t, e, r); } function CanvasRendererBase() {} function CanvasContext() { (this.opacity = -1), (this.transform = createTypedArray('float32', 16)), (this.fillStyle = ''), (this.strokeStyle = ''), (this.lineWidth = ''), (this.lineCap = ''), (this.lineJoin = ''), (this.miterLimit = ''), (this.id = Math.random()); } function CVContextData() { var t; for ( this.stack = [], this.cArrPos = 0, this.cTr = new Matrix(), t = 0; t < 15; t += 1 ) { var e = new CanvasContext(); this.stack[t] = e; } (this._length = 15), (this.nativeContext = null), (this.transformMat = new Matrix()), (this.currentOpacity = 1), (this.currentFillStyle = ''), (this.appliedFillStyle = ''), (this.currentStrokeStyle = ''), (this.appliedStrokeStyle = ''), (this.currentLineWidth = ''), (this.appliedLineWidth = ''), (this.currentLineCap = ''), (this.appliedLineCap = ''), (this.currentLineJoin = ''), (this.appliedLineJoin = ''), (this.appliedMiterLimit = ''), (this.currentMiterLimit = ''); } function CVCompElement(t, e, r) { (this.completeLayers = !1), (this.layers = t.layers), (this.pendingElements = []), (this.elements = createSizedArray(this.layers.length)), this.initElement(t, e, r), (this.tm = t.tm ? PropertyFactory.getProp( this, t.tm, 0, e.frameRate, this ) : { _placeholder: !0 }); } function CanvasRenderer(t, e) { (this.animationItem = t), (this.renderConfig = { clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas, context: (e && e.context) || null, progressiveLoad: (e && e.progressiveLoad) || !1, preserveAspectRatio: (e && e.preserveAspectRatio) || 'xMidYMid meet', imagePreserveAspectRatio: (e && e.imagePreserveAspectRatio) || 'xMidYMid slice', contentVisibility: (e && e.contentVisibility) || 'visible', className: (e && e.className) || '', id: (e && e.id) || '', runExpressions: !e || void 0 === e.runExpressions || e.runExpressions }), (this.renderConfig.dpr = (e && e.dpr) || 1), this.animationItem.wrapper && (this.renderConfig.dpr = (e && e.dpr) || window.devicePixelRatio || 1), (this.renderedFrame = -1), (this.globalData = { frameNum: -1, _mdf: !1, renderConfig: this.renderConfig, currentGlobalAlpha: -1 }), (this.contextData = new CVContextData()), (this.elements = []), (this.pendingElements = []), (this.transformMat = new Matrix()), (this.completeLayers = !1), (this.rendererType = 'canvas'), this.renderConfig.clearCanvas && ((this.ctxTransform = this.contextData.transform.bind( this.contextData )), (this.ctxOpacity = this.contextData.opacity.bind( this.contextData )), (this.ctxFillStyle = this.contextData.fillStyle.bind( this.contextData )), (this.ctxStrokeStyle = this.contextData.strokeStyle.bind( this.contextData )), (this.ctxLineWidth = this.contextData.lineWidth.bind( this.contextData )), (this.ctxLineCap = this.contextData.lineCap.bind( this.contextData )), (this.ctxLineJoin = this.contextData.lineJoin.bind( this.contextData )), (this.ctxMiterLimit = this.contextData.miterLimit.bind( this.contextData )), (this.ctxFill = this.contextData.fill.bind( this.contextData )), (this.ctxFillRect = this.contextData.fillRect.bind( this.contextData )), (this.ctxStroke = this.contextData.stroke.bind( this.contextData )), (this.save = this.contextData.save.bind( this.contextData ))); } function HBaseElement() {} function HSolidElement(t, e, r) { this.initElement(t, e, r); } function HShapeElement(t, e, r) { (this.shapes = []), (this.shapesData = t.shapes), (this.stylesList = []), (this.shapeModifiers = []), (this.itemsData = []), (this.processedElements = []), (this.animatedContents = []), (this.shapesContainer = createNS('g')), this.initElement(t, e, r), (this.prevViewData = []), (this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }); } function HTextElement(t, e, r) { (this.textSpans = []), (this.textPaths = []), (this.currentBBox = { x: 999999, y: -999999, h: 0, w: 0 }), (this.renderType = 'svg'), (this.isMasked = !1), this.initElement(t, e, r); } function HCameraElement(t, e, r) { this.initFrame(), this.initBaseData(t, e, r), this.initHierarchy(); var a = PropertyFactory.getProp; if ( ((this.pe = a(this, t.pe, 0, 0, this)), t.ks.p.s ? ((this.px = a(this, t.ks.p.x, 1, 0, this)), (this.py = a(this, t.ks.p.y, 1, 0, this)), (this.pz = a(this, t.ks.p.z, 1, 0, this))) : (this.p = a(this, t.ks.p, 1, 0, this)), t.ks.a && (this.a = a(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) ) { var i, s = t.ks.or.k.length; for (i = 0; i < s; i += 1) (t.ks.or.k[i].to = null), (t.ks.or.k[i].ti = null); } (this.or = a(this, t.ks.or, 1, degToRads, this)), (this.or.sh = !0), (this.rx = a(this, t.ks.rx, 0, degToRads, this)), (this.ry = a(this, t.ks.ry, 0, degToRads, this)), (this.rz = a(this, t.ks.rz, 0, degToRads, this)), (this.mat = new Matrix()), (this._prevMat = new Matrix()), (this._isFirstFrame = !0), (this.finalTransform = { mProp: this }); } function HImageElement(t, e, r) { (this.assetData = e.getAssetData(t.refId)), this.initElement(t, e, r); } function HybridRendererBase(t, e) { (this.animationItem = t), (this.layers = null), (this.renderedFrame = -1), (this.renderConfig = { className: (e && e.className) || '', imagePreserveAspectRatio: (e && e.imagePreserveAspectRatio) || 'xMidYMid slice', hideOnTransparent: !(e && !1 === e.hideOnTransparent), filterSize: { width: (e && e.filterSize && e.filterSize.width) || '400%', height: (e && e.filterSize && e.filterSize.height) || '400%', x: (e && e.filterSize && e.filterSize.x) || '-100%', y: (e && e.filterSize && e.filterSize.y) || '-100%' } }), (this.globalData = { _mdf: !1, frameNum: -1, renderConfig: this.renderConfig }), (this.pendingElements = []), (this.elements = []), (this.threeDElements = []), (this.destroyed = !1), (this.camera = null), (this.supports3d = !0), (this.rendererType = 'html'); } function HCompElement(t, e, r) { (this.layers = t.layers), (this.supports3d = !t.hasMask), (this.completeLayers = !1), (this.pendingElements = []), (this.elements = this.layers ? createSizedArray(this.layers.length) : []), this.initElement(t, e, r), (this.tm = t.tm ? PropertyFactory.getProp( this, t.tm, 0, e.frameRate, this ) : { _placeholder: !0 }); } function HybridRenderer(t, e) { (this.animationItem = t), (this.layers = null), (this.renderedFrame = -1), (this.renderConfig = { className: (e && e.className) || '', imagePreserveAspectRatio: (e && e.imagePreserveAspectRatio) || 'xMidYMid slice', hideOnTransparent: !(e && !1 === e.hideOnTransparent), filterSize: { width: (e && e.filterSize && e.filterSize.width) || '400%', height: (e && e.filterSize && e.filterSize.height) || '400%', x: (e && e.filterSize && e.filterSize.x) || '-100%', y: (e && e.filterSize && e.filterSize.y) || '-100%' }, runExpressions: !e || void 0 === e.runExpressions || e.runExpressions }), (this.globalData = { _mdf: !1, frameNum: -1, renderConfig: this.renderConfig }), (this.pendingElements = []), (this.elements = []), (this.threeDElements = []), (this.destroyed = !1), (this.camera = null), (this.supports3d = !0), (this.rendererType = 'html'); } (CVBaseElement.prototype = { createElements: function () {}, initRendererElement: function () {}, createContainerElements: function () { if (this.data.tt >= 1) { this.buffers = []; var t = this.globalData.canvasContext, e = assetLoader.createCanvas( t.canvas.width, t.canvas.height ); this.buffers.push(e); var r = assetLoader.createCanvas( t.canvas.width, t.canvas.height ); this.buffers.push(r), this.data.tt >= 3 && !document._isProxy && assetLoader.loadLumaCanvas(); } (this.canvasContext = this.globalData.canvasContext), (this.transformCanvas = this.globalData.transformCanvas), (this.renderableEffectsManager = new CVEffects(this)), this.searchEffectTransforms(); }, createContent: function () {}, setBlendMode: function () { var t = this.globalData; if (t.blendMode !== this.data.bm) { t.blendMode = this.data.bm; var e = getBlendMode(this.data.bm); t.canvasContext.globalCompositeOperation = e; } }, createRenderableComponents: function () { (this.maskManager = new CVMaskElement(this.data, this)), (this.transformEffects = this.renderableEffectsManager.getEffects( effectTypes.TRANSFORM_EFFECT )); }, hideElement: function () { this.hidden || (this.isInRange && !this.isTransparent) || (this.hidden = !0); }, showElement: function () { this.isInRange && !this.isTransparent && ((this.hidden = !1), (this._isFirstFrame = !0), (this.maskManager._isFirstFrame = !0)); }, clearCanvas: function (t) { t.clearRect( this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy ); }, prepareLayer: function () { if (this.data.tt >= 1) { var t = this.buffers[0].getContext('2d'); this.clearCanvas(t), t.drawImage(this.canvasContext.canvas, 0, 0), (this.currentTransform = this.canvasContext.getTransform()), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform); } }, exitLayer: function () { if (this.data.tt >= 1) { var t = this.buffers[1], e = t.getContext('2d'); if ( (this.clearCanvas(e), e.drawImage(this.canvasContext.canvas, 0, 0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform), this.comp .getElementById( 'tp' in this.data ? this.data.tp : this.data.ind - 1 ) .renderFrame(!0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.data.tt >= 3 && !document._isProxy) ) { var r = assetLoader.getLumaCanvas( this.canvasContext.canvas ); r .getContext('2d') .drawImage(this.canvasContext.canvas, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.drawImage(r, 0, 0); } (this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt]), this.canvasContext.drawImage(t, 0, 0), (this.canvasContext.globalCompositeOperation = 'destination-over'), this.canvasContext.drawImage(this.buffers[0], 0, 0), this.canvasContext.setTransform(this.currentTransform), (this.canvasContext.globalCompositeOperation = 'source-over'); } }, renderFrame: function (t) { if ( !this.hidden && !this.data.hd && (1 !== this.data.td || t) ) { this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.setBlendMode(); var e = 0 === this.data.ty; this.prepareLayer(), this.globalData.renderer.save(e), this.globalData.renderer.ctxTransform( this.finalTransform.localMat.props ), this.globalData.renderer.ctxOpacity( this.finalTransform.localOpacity ), this.renderInnerContent(), this.globalData.renderer.restore(e), this.exitLayer(), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1); } }, destroy: function () { (this.canvasContext = null), (this.data = null), (this.globalData = null), this.maskManager.destroy(); }, mHelper: new Matrix() }), (CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement), (CVBaseElement.prototype.show = CVBaseElement.prototype.showElement), (CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated), extendPrototype( [ BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement ], CVShapeElement ), (CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement), (CVShapeElement.prototype.transformHelper = { opacity: 1, _opMdf: !1 }), (CVShapeElement.prototype.dashResetter = []), (CVShapeElement.prototype.createContent = function () { this.searchShapes( this.shapesData, this.itemsData, this.prevViewData, !0, [] ); }), (CVShapeElement.prototype.createStyleElement = function ( t, e ) { var r = { data: t, type: t.ty, preTransforms: this.transformsManager.addTransformSequence(e), transforms: [], elements: [], closed: !0 === t.hd }, a = {}; if ( ('fl' === t.ty || 'st' === t.ty ? ((a.c = PropertyFactory.getProp( this, t.c, 1, 255, this )), a.c.k || (r.co = 'rgb(' + bmFloor(a.c.v[0]) + ',' + bmFloor(a.c.v[1]) + ',' + bmFloor(a.c.v[2]) + ')')) : ('gf' !== t.ty && 'gs' !== t.ty) || ((a.s = PropertyFactory.getProp( this, t.s, 1, null, this )), (a.e = PropertyFactory.getProp( this, t.e, 1, null, this )), (a.h = PropertyFactory.getProp( this, t.h || { k: 0 }, 0, 0.01, this )), (a.a = PropertyFactory.getProp( this, t.a || { k: 0 }, 0, degToRads, this )), (a.g = new GradientProperty(this, t.g, this))), (a.o = PropertyFactory.getProp(this, t.o, 0, 0.01, this)), 'st' === t.ty || 'gs' === t.ty) ) { if ( ((r.lc = lineCapEnum[t.lc || 2]), (r.lj = lineJoinEnum[t.lj || 2]), 1 == t.lj && (r.ml = t.ml), (a.w = PropertyFactory.getProp( this, t.w, 0, null, this )), a.w.k || (r.wi = a.w.v), t.d) ) { var i = new DashProperty(this, t.d, 'canvas', this); (a.d = i), a.d.k || ((r.da = a.d.dashArray), (r.do = a.d.dashoffset[0])); } } else r.r = 2 === t.r ? 'evenodd' : 'nonzero'; return this.stylesList.push(r), (a.style = r), a; }), (CVShapeElement.prototype.createGroupElement = function () { return { it: [], prevViewData: [] }; }), (CVShapeElement.prototype.createTransformElement = function ( t ) { return { transform: { opacity: 1, _opMdf: !1, key: this.transformsManager.getNewKey(), op: PropertyFactory.getProp(this, t.o, 0, 0.01, this), mProps: TransformPropertyFactory.getTransformProperty( this, t, this ) } }; }), (CVShapeElement.prototype.createShapeElement = function (t) { var e = new CVShapeData( this, t, this.stylesList, this.transformsManager ); return this.shapes.push(e), this.addShapeToModifiers(e), e; }), (CVShapeElement.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, !0, [] ), e = this.dynamicProperties.length, t = 0; t < e; t += 1 ) this.dynamicProperties[t].getValue(); this.renderModifiers(), this.transformsManager.processSequences( this._isFirstFrame ); }), (CVShapeElement.prototype.addTransformToStyleList = function ( t ) { var e, r = this.stylesList.length; for (e = 0; e < r; e += 1) this.stylesList[e].closed || this.stylesList[e].transforms.push(t); }), (CVShapeElement.prototype.removeTransformFromStyleList = function () { var t, e = this.stylesList.length; for (t = 0; t < e; t += 1) this.stylesList[t].closed || this.stylesList[t].transforms.pop(); }), (CVShapeElement.prototype.closeStyles = function (t) { var e, r = t.length; for (e = 0; e < r; e += 1) t[e].closed = !0; }), (CVShapeElement.prototype.searchShapes = function ( t, e, r, a, i ) { var s, n, o, l, h, p, c = t.length - 1, d = [], f = [], m = [].concat(i); for (s = c; s >= 0; s -= 1) { if ( ((l = this.searchProcessedElement(t[s])) ? (e[s] = r[l - 1]) : (t[s]._shouldRender = a), 'fl' === t[s].ty || 'st' === t[s].ty || 'gf' === t[s].ty || 'gs' === t[s].ty) ) l ? (e[s].style.closed = !1) : (e[s] = this.createStyleElement(t[s], m)), d.push(e[s].style); else if ('gr' === t[s].ty) { if (l) for (o = e[s].it.length, n = 0; n < o; n += 1) e[s].prevViewData[n] = e[s].it[n]; else e[s] = this.createGroupElement(t[s]); this.searchShapes( t[s].it, e[s].it, e[s].prevViewData, a, m ); } else 'tr' === t[s].ty ? (l || ((p = this.createTransformElement(t[s])), (e[s] = p)), m.push(e[s]), this.addTransformToStyleList(e[s])) : 'sh' === t[s].ty || 'rc' === t[s].ty || 'el' === t[s].ty || 'sr' === t[s].ty ? l || (e[s] = this.createShapeElement(t[s])) : 'tm' === t[s].ty || 'rd' === t[s].ty || 'pb' === t[s].ty || 'zz' === t[s].ty || 'op' === t[s].ty ? (l ? ((h = e[s]).closed = !1) : ((h = ShapeModifiers.getModifier(t[s].ty)).init( this, t[s] ), (e[s] = h), this.shapeModifiers.push(h)), f.push(h)) : 'rp' === t[s].ty && (l ? ((h = e[s]).closed = !0) : ((h = ShapeModifiers.getModifier(t[s].ty)), (e[s] = h), h.init(this, t, s, e), this.shapeModifiers.push(h), (a = !1)), f.push(h)); this.addProcessedElement(t[s], s + 1); } for ( this.removeTransformFromStyleList(), this.closeStyles(d), c = f.length, s = 0; s < c; s += 1 ) f[s].closed = !0; }), (CVShapeElement.prototype.renderInnerContent = function () { (this.transformHelper.opacity = 1), (this.transformHelper._opMdf = !1), this.renderModifiers(), this.transformsManager.processSequences( this._isFirstFrame ), this.renderShape( this.transformHelper, this.shapesData, this.itemsData, !0 ); }), (CVShapeElement.prototype.renderShapeTransform = function ( t, e ) { (t._opMdf || e.op._mdf || this._isFirstFrame) && ((e.opacity = t.opacity), (e.opacity *= e.op.v), (e._opMdf = !0)); }), (CVShapeElement.prototype.drawLayer = function () { var t, e, r, a, i, s, n, o, l, h = this.stylesList.length, p = this.globalData.renderer, c = this.globalData.canvasContext; for (t = 0; t < h; t += 1) if ( (('st' !== (o = (l = this.stylesList[t]).type) && 'gs' !== o) || 0 !== l.wi) && l.data._shouldRender && 0 !== l.coOp && 0 !== this.globalData.currentGlobalAlpha ) { for ( p.save(), s = l.elements, 'st' === o || 'gs' === o ? (p.ctxStrokeStyle('st' === o ? l.co : l.grd), p.ctxLineWidth(l.wi), p.ctxLineCap(l.lc), p.ctxLineJoin(l.lj), p.ctxMiterLimit(l.ml || 0)) : p.ctxFillStyle('fl' === o ? l.co : l.grd), p.ctxOpacity(l.coOp), 'st' !== o && 'gs' !== o && c.beginPath(), p.ctxTransform( l.preTransforms.finalTransform.props ), r = s.length, e = 0; e < r; e += 1 ) { for ( ('st' !== o && 'gs' !== o) || (c.beginPath(), l.da && (c.setLineDash(l.da), (c.lineDashOffset = l.do))), i = (n = s[e].trNodes).length, a = 0; a < i; a += 1 ) 'm' === n[a].t ? c.moveTo(n[a].p[0], n[a].p[1]) : 'c' === n[a].t ? c.bezierCurveTo( n[a].pts[0], n[a].pts[1], n[a].pts[2], n[a].pts[3], n[a].pts[4], n[a].pts[5] ) : c.closePath(); ('st' !== o && 'gs' !== o) || (p.ctxStroke(), l.da && c.setLineDash(this.dashResetter)); } 'st' !== o && 'gs' !== o && this.globalData.renderer.ctxFill(l.r), p.restore(); } }), (CVShapeElement.prototype.renderShape = function ( t, e, r, a ) { var i, s; for (s = t, i = e.length - 1; i >= 0; i -= 1) 'tr' === e[i].ty ? ((s = r[i].transform), this.renderShapeTransform(t, s)) : 'sh' === e[i].ty || 'el' === e[i].ty || 'rc' === e[i].ty || 'sr' === e[i].ty ? this.renderPath(e[i], r[i]) : 'fl' === e[i].ty ? this.renderFill(e[i], r[i], s) : 'st' === e[i].ty ? this.renderStroke(e[i], r[i], s) : 'gf' === e[i].ty || 'gs' === e[i].ty ? this.renderGradientFill(e[i], r[i], s) : 'gr' === e[i].ty ? this.renderShape(s, e[i].it, r[i].it) : e[i].ty; a && this.drawLayer(); }), (CVShapeElement.prototype.renderStyledShape = function ( t, e ) { if (this._isFirstFrame || e._mdf || t.transforms._mdf) { var r, a, i, s = t.trNodes, n = e.paths, o = n._length; s.length = 0; var l = t.transforms.finalTransform; for (i = 0; i < o; i += 1) { var h = n.shapes[i]; if (h && h.v) { for (a = h._length, r = 1; r < a; r += 1) 1 === r && s.push({ t: 'm', p: l.applyToPointArray(h.v[0][0], h.v[0][1], 0) }), s.push({ t: 'c', pts: l.applyToTriplePoints( h.o[r - 1], h.i[r], h.v[r] ) }); 1 === a && s.push({ t: 'm', p: l.applyToPointArray(h.v[0][0], h.v[0][1], 0) }), h.c && a && (s.push({ t: 'c', pts: l.applyToTriplePoints( h.o[r - 1], h.i[0], h.v[0] ) }), s.push({ t: 'z' })); } } t.trNodes = s; } }), (CVShapeElement.prototype.renderPath = function (t, e) { if (!0 !== t.hd && t._shouldRender) { var r, a = e.styledShapes.length; for (r = 0; r < a; r += 1) this.renderStyledShape(e.styledShapes[r], e.sh); } }), (CVShapeElement.prototype.renderFill = function (t, e, r) { var a = e.style; (e.c._mdf || this._isFirstFrame) && (a.co = 'rgb(' + bmFloor(e.c.v[0]) + ',' + bmFloor(e.c.v[1]) + ',' + bmFloor(e.c.v[2]) + ')'), (e.o._mdf || r._opMdf || this._isFirstFrame) && (a.coOp = e.o.v * r.opacity); }), (CVShapeElement.prototype.renderGradientFill = function ( t, e, r ) { var a, i = e.style; if ( !i.grd || e.g._mdf || e.s._mdf || e.e._mdf || (1 !== t.t && (e.h._mdf || e.a._mdf)) ) { var s, n = this.globalData.canvasContext, o = e.s.v, l = e.e.v; if (1 === t.t) a = n.createLinearGradient(o[0], o[1], l[0], l[1]); else { var h = Math.sqrt( Math.pow(o[0] - l[0], 2) + Math.pow(o[1] - l[1], 2) ), p = Math.atan2(l[1] - o[1], l[0] - o[0]), c = e.h.v; c >= 1 ? (c = 0.99) : c <= -1 && (c = -0.99); var d = h * c, f = Math.cos(p + e.a.v) * d + o[0], m = Math.sin(p + e.a.v) * d + o[1]; a = n.createRadialGradient(f, m, 0, o[0], o[1], h); } var u = t.g.p, g = e.g.c, y = 1; for (s = 0; s < u; s += 1) e.g._hasOpacity && e.g._collapsable && (y = e.g.o[2 * s + 1]), a.addColorStop( g[4 * s] / 100, 'rgba(' + g[4 * s + 1] + ',' + g[4 * s + 2] + ',' + g[4 * s + 3] + ',' + y + ')' ); i.grd = a; } i.coOp = e.o.v * r.opacity; }), (CVShapeElement.prototype.renderStroke = function (t, e, r) { var a = e.style, i = e.d; i && (i._mdf || this._isFirstFrame) && ((a.da = i.dashArray), (a.do = i.dashoffset[0])), (e.c._mdf || this._isFirstFrame) && (a.co = 'rgb(' + bmFloor(e.c.v[0]) + ',' + bmFloor(e.c.v[1]) + ',' + bmFloor(e.c.v[2]) + ')'), (e.o._mdf || r._opMdf || this._isFirstFrame) && (a.coOp = e.o.v * r.opacity), (e.w._mdf || this._isFirstFrame) && (a.wi = e.w.v); }), (CVShapeElement.prototype.destroy = function () { (this.shapesData = null), (this.globalData = null), (this.canvasContext = null), (this.stylesList.length = 0), (this.itemsData.length = 0); }), extendPrototype( [ BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement ], CVTextElement ), (CVTextElement.prototype.tHelper = createTag('canvas').getContext('2d')), (CVTextElement.prototype.buildNewText = function () { var t = this.textProperty.currentData; this.renderedLetters = createSizedArray( t.l ? t.l.length : 0 ); var e = !1; t.fc ? ((e = !0), (this.values.fill = this.buildColor(t.fc))) : (this.values.fill = 'rgba(0,0,0,0)'), (this.fill = e); var r = !1; t.sc && ((r = !0), (this.values.stroke = this.buildColor(t.sc)), (this.values.sWidth = t.sw)); var a, i, s, n, o, l, h, p, c, d, f, m, u = this.globalData.fontManager.getFontByName(t.f), g = t.l, y = this.mHelper; (this.stroke = r), (this.values.fValue = t.finalSize + 'px ' + this.globalData.fontManager.getFontByName(t.f).fFamily), (i = t.finalText.length); var v = this.data.singleShape, b = 0.001 * t.tr * t.finalSize, _ = 0, w = 0, A = !0, x = 0; for (a = 0; a < i; a += 1) { (n = ((s = this.globalData.fontManager.getCharData( t.finalText[a], u.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily )) && s.data) || {}), y.reset(), v && g[a].n && ((_ = -b), (w += t.yOffset), (w += A ? 1 : 0), (A = !1)), (c = (h = n.shapes ? n.shapes[0].it : []).length), y.scale(t.finalSize / 100, t.finalSize / 100), v && this.applyTextPropertiesToMatrix( t, y, g[a].line, _, w ), (f = createSizedArray(c - 1)); var P = 0; for (p = 0; p < c; p += 1) if ('sh' === h[p].ty) { for ( l = h[p].ks.k.i.length, d = h[p].ks.k, m = [], o = 1; o < l; o += 1 ) 1 === o && m.push( y.applyToX(d.v[0][0], d.v[0][1], 0), y.applyToY(d.v[0][0], d.v[0][1], 0) ), m.push( y.applyToX(d.o[o - 1][0], d.o[o - 1][1], 0), y.applyToY(d.o[o - 1][0], d.o[o - 1][1], 0), y.applyToX(d.i[o][0], d.i[o][1], 0), y.applyToY(d.i[o][0], d.i[o][1], 0), y.applyToX(d.v[o][0], d.v[o][1], 0), y.applyToY(d.v[o][0], d.v[o][1], 0) ); m.push( y.applyToX(d.o[o - 1][0], d.o[o - 1][1], 0), y.applyToY(d.o[o - 1][0], d.o[o - 1][1], 0), y.applyToX(d.i[0][0], d.i[0][1], 0), y.applyToY(d.i[0][0], d.i[0][1], 0), y.applyToX(d.v[0][0], d.v[0][1], 0), y.applyToY(d.v[0][0], d.v[0][1], 0) ), (f[P] = m), (P += 1); } v && ((_ += g[a].l), (_ += b)), this.textSpans[x] ? (this.textSpans[x].elem = f) : (this.textSpans[x] = { elem: f }), (x += 1); } }), (CVTextElement.prototype.renderInnerContent = function () { var t, e, r, a, i, s; this.validateText(), (this.canvasContext.font = this.values.fValue), this.globalData.renderer.ctxLineCap('butt'), this.globalData.renderer.ctxLineJoin('miter'), this.globalData.renderer.ctxMiterLimit(4), this.data.singleShape || this.textAnimator.getMeasures( this.textProperty.currentData, this.lettersChangedFlag ); var n, o = this.textAnimator.renderedLetters, l = this.textProperty.currentData.l; e = l.length; var h, p, c = null, d = null, f = null, m = this.globalData.renderer; for (t = 0; t < e; t += 1) if (!l[t].n) { if ( ((n = o[t]) && (m.save(), m.ctxTransform(n.p), m.ctxOpacity(n.o)), this.fill) ) { for ( n && n.fc ? c !== n.fc && (m.ctxFillStyle(n.fc), (c = n.fc)) : c !== this.values.fill && ((c = this.values.fill), m.ctxFillStyle(this.values.fill)), a = (h = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < a; r += 1 ) for ( s = (p = h[r]).length, this.globalData.canvasContext.moveTo( p[0], p[1] ), i = 2; i < s; i += 6 ) this.globalData.canvasContext.bezierCurveTo( p[i], p[i + 1], p[i + 2], p[i + 3], p[i + 4], p[i + 5] ); this.globalData.canvasContext.closePath(), m.ctxFill(); } if (this.stroke) { for ( n && n.sw ? f !== n.sw && ((f = n.sw), m.ctxLineWidth(n.sw)) : f !== this.values.sWidth && ((f = this.values.sWidth), m.ctxLineWidth(this.values.sWidth)), n && n.sc ? d !== n.sc && ((d = n.sc), m.ctxStrokeStyle(n.sc)) : d !== this.values.stroke && ((d = this.values.stroke), m.ctxStrokeStyle(this.values.stroke)), a = (h = this.textSpans[t].elem).length, this.globalData.canvasContext.beginPath(), r = 0; r < a; r += 1 ) for ( s = (p = h[r]).length, this.globalData.canvasContext.moveTo( p[0], p[1] ), i = 2; i < s; i += 6 ) this.globalData.canvasContext.bezierCurveTo( p[i], p[i + 1], p[i + 2], p[i + 3], p[i + 4], p[i + 5] ); this.globalData.canvasContext.closePath(), m.ctxStroke(); } n && this.globalData.renderer.restore(); } }), extendPrototype( [ BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement ], CVImageElement ), (CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement), (CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame), (CVImageElement.prototype.createContent = function () { if ( this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height) ) { var t = createTag('canvas'); (t.width = this.assetData.w), (t.height = this.assetData.h); var e, r, a = t.getContext('2d'), i = this.img.width, s = this.img.height, n = i / s, o = this.assetData.w / this.assetData.h, l = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio; (n > o && 'xMidYMid slice' === l) || (n < o && 'xMidYMid slice' !== l) ? (e = (r = s) * o) : (r = (e = i) / o), a.drawImage( this.img, (i - e) / 2, (s - r) / 2, e, r, 0, 0, this.assetData.w, this.assetData.h ), (this.img = t); } }), (CVImageElement.prototype.renderInnerContent = function () { this.canvasContext.drawImage(this.img, 0, 0); }), (CVImageElement.prototype.destroy = function () { this.img = null; }), extendPrototype( [ BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement ], CVSolidElement ), (CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement), (CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame), (CVSolidElement.prototype.renderInnerContent = function () { this.globalData.renderer.ctxFillStyle(this.data.sc), this.globalData.renderer.ctxFillRect( 0, 0, this.data.sw, this.data.sh ); }), extendPrototype([BaseRenderer], CanvasRendererBase), (CanvasRendererBase.prototype.createShape = function (t) { return new CVShapeElement(t, this.globalData, this); }), (CanvasRendererBase.prototype.createText = function (t) { return new CVTextElement(t, this.globalData, this); }), (CanvasRendererBase.prototype.createImage = function (t) { return new CVImageElement(t, this.globalData, this); }), (CanvasRendererBase.prototype.createSolid = function (t) { return new CVSolidElement(t, this.globalData, this); }), (CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull), (CanvasRendererBase.prototype.ctxTransform = function (t) { (1 === t[0] && 0 === t[1] && 0 === t[4] && 1 === t[5] && 0 === t[12] && 0 === t[13]) || this.canvasContext.transform( t[0], t[1], t[4], t[5], t[12], t[13] ); }), (CanvasRendererBase.prototype.ctxOpacity = function (t) { this.canvasContext.globalAlpha *= t < 0 ? 0 : t; }), (CanvasRendererBase.prototype.ctxFillStyle = function (t) { this.canvasContext.fillStyle = t; }), (CanvasRendererBase.prototype.ctxStrokeStyle = function (t) { this.canvasContext.strokeStyle = t; }), (CanvasRendererBase.prototype.ctxLineWidth = function (t) { this.canvasContext.lineWidth = t; }), (CanvasRendererBase.prototype.ctxLineCap = function (t) { this.canvasContext.lineCap = t; }), (CanvasRendererBase.prototype.ctxLineJoin = function (t) { this.canvasContext.lineJoin = t; }), (CanvasRendererBase.prototype.ctxMiterLimit = function (t) { this.canvasContext.miterLimit = t; }), (CanvasRendererBase.prototype.ctxFill = function (t) { this.canvasContext.fill(t); }), (CanvasRendererBase.prototype.ctxFillRect = function ( t, e, r, a ) { this.canvasContext.fillRect(t, e, r, a); }), (CanvasRendererBase.prototype.ctxStroke = function () { this.canvasContext.stroke(); }), (CanvasRendererBase.prototype.reset = function () { this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore(); }), (CanvasRendererBase.prototype.save = function () { this.canvasContext.save(); }), (CanvasRendererBase.prototype.restore = function (t) { this.renderConfig.clearCanvas ? (t && (this.globalData.blendMode = 'source-over'), this.contextData.restore(t)) : this.canvasContext.restore(); }), (CanvasRendererBase.prototype.configAnimation = function (t) { if (this.animationItem.wrapper) { this.animationItem.container = createTag('canvas'); var e = this.animationItem.container.style; (e.width = '100%'), (e.height = '100%'); var r = '0px 0px 0px'; (e.transformOrigin = r), (e.mozTransformOrigin = r), (e.webkitTransformOrigin = r), (e['-webkit-transform'] = r), (e.contentVisibility = this.renderConfig.contentVisibility), this.animationItem.wrapper.appendChild( this.animationItem.container ), (this.canvasContext = this.animationItem.container.getContext('2d')), this.renderConfig.className && this.animationItem.container.setAttribute( 'class', this.renderConfig.className ), this.renderConfig.id && this.animationItem.container.setAttribute( 'id', this.renderConfig.id ); } else this.canvasContext = this.renderConfig.context; this.contextData.setContext(this.canvasContext), (this.data = t), (this.layers = t.layers), (this.transformCanvas = { w: t.w, h: t.h, sx: 0, sy: 0, tx: 0, ty: 0 }), this.setupGlobalData(t, document.body), (this.globalData.canvasContext = this.canvasContext), (this.globalData.renderer = this), (this.globalData.isDashed = !1), (this.globalData.progressiveLoad = this.renderConfig.progressiveLoad), (this.globalData.transformCanvas = this.transformCanvas), (this.elements = createSizedArray(t.layers.length)), this.updateContainerSize(); }), (CanvasRendererBase.prototype.updateContainerSize = function ( t, e ) { var r, a, i, s; if ( (this.reset(), t ? ((r = t), (a = e), (this.canvasContext.canvas.width = r), (this.canvasContext.canvas.height = a)) : (this.animationItem.wrapper && this.animationItem.container ? ((r = this.animationItem.wrapper.offsetWidth), (a = this.animationItem.wrapper.offsetHeight)) : ((r = this.canvasContext.canvas.width), (a = this.canvasContext.canvas.height)), (this.canvasContext.canvas.width = r * this.renderConfig.dpr), (this.canvasContext.canvas.height = a * this.renderConfig.dpr)), -1 !== this.renderConfig.preserveAspectRatio.indexOf('meet') || -1 !== this.renderConfig.preserveAspectRatio.indexOf( 'slice' )) ) { var n = this.renderConfig.preserveAspectRatio.split(' '), o = n[1] || 'meet', l = n[0] || 'xMidYMid', h = l.substr(0, 4), p = l.substr(4); (i = r / a), ((s = this.transformCanvas.w / this.transformCanvas.h) > i && 'meet' === o) || (s < i && 'slice' === o) ? ((this.transformCanvas.sx = r / (this.transformCanvas.w / this.renderConfig.dpr)), (this.transformCanvas.sy = r / (this.transformCanvas.w / this.renderConfig.dpr))) : ((this.transformCanvas.sx = a / (this.transformCanvas.h / this.renderConfig.dpr)), (this.transformCanvas.sy = a / (this.transformCanvas.h / this.renderConfig.dpr))), (this.transformCanvas.tx = 'xMid' === h && ((s < i && 'meet' === o) || (s > i && 'slice' === o)) ? ((r - this.transformCanvas.w * (a / this.transformCanvas.h)) / 2) * this.renderConfig.dpr : 'xMax' === h && ((s < i && 'meet' === o) || (s > i && 'slice' === o)) ? (r - this.transformCanvas.w * (a / this.transformCanvas.h)) * this.renderConfig.dpr : 0), (this.transformCanvas.ty = 'YMid' === p && ((s > i && 'meet' === o) || (s < i && 'slice' === o)) ? ((a - this.transformCanvas.h * (r / this.transformCanvas.w)) / 2) * this.renderConfig.dpr : 'YMax' === p && ((s > i && 'meet' === o) || (s < i && 'slice' === o)) ? (a - this.transformCanvas.h * (r / this.transformCanvas.w)) * this.renderConfig.dpr : 0); } else 'none' === this.renderConfig.preserveAspectRatio ? ((this.transformCanvas.sx = r / (this.transformCanvas.w / this.renderConfig.dpr)), (this.transformCanvas.sy = a / (this.transformCanvas.h / this.renderConfig.dpr)), (this.transformCanvas.tx = 0), (this.transformCanvas.ty = 0)) : ((this.transformCanvas.sx = this.renderConfig.dpr), (this.transformCanvas.sy = this.renderConfig.dpr), (this.transformCanvas.tx = 0), (this.transformCanvas.ty = 0)); (this.transformCanvas.props = [ this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1 ]), this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect( 0, 0, this.transformCanvas.w, this.transformCanvas.h ), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0); }), (CanvasRendererBase.prototype.destroy = function () { var t; for ( this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ''), t = (this.layers ? this.layers.length : 0) - 1; t >= 0; t -= 1 ) this.elements[t] && this.elements[t].destroy && this.elements[t].destroy(); (this.elements.length = 0), (this.globalData.canvasContext = null), (this.animationItem.container = null), (this.destroyed = !0); }), (CanvasRendererBase.prototype.renderFrame = function (t, e) { if ( (this.renderedFrame !== t || !0 !== this.renderConfig.clearCanvas || e) && !this.destroyed && -1 !== t ) { var r; (this.renderedFrame = t), (this.globalData.frameNum = t - this.animationItem._isFirstFrame), (this.globalData.frameId += 1), (this.globalData._mdf = !this.renderConfig.clearCanvas || e), (this.globalData.projectInterface.currentFrame = t); var a = this.layers.length; for ( this.completeLayers || this.checkLayers(t), r = a - 1; r >= 0; r -= 1 ) (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(t - this.layers[r].st); if (this.globalData._mdf) { for ( !0 === this.renderConfig.clearCanvas ? this.canvasContext.clearRect( 0, 0, this.transformCanvas.w, this.transformCanvas.h ) : this.save(), r = a - 1; r >= 0; r -= 1 ) (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame(); !0 !== this.renderConfig.clearCanvas && this.restore(); } } }), (CanvasRendererBase.prototype.buildItem = function (t) { var e = this.elements; if (!e[t] && 99 !== this.layers[t].ty) { var r = this.createItem( this.layers[t], this, this.globalData ); (e[t] = r), r.initExpressions(); } }), (CanvasRendererBase.prototype.checkPendingElements = function () { for (; this.pendingElements.length; ) this.pendingElements.pop().checkParenting(); }), (CanvasRendererBase.prototype.hide = function () { this.animationItem.container.style.display = 'none'; }), (CanvasRendererBase.prototype.show = function () { this.animationItem.container.style.display = 'block'; }), (CVContextData.prototype.duplicate = function () { var t = 2 * this._length, e = 0; for (e = this._length; e < t; e += 1) this.stack[e] = new CanvasContext(); this._length = t; }), (CVContextData.prototype.reset = function () { (this.cArrPos = 0), this.cTr.reset(), (this.stack[this.cArrPos].opacity = 1); }), (CVContextData.prototype.restore = function (t) { this.cArrPos -= 1; var e, r = this.stack[this.cArrPos], a = r.transform, i = this.cTr.props; for (e = 0; e < 16; e += 1) i[e] = a[e]; if (t) { this.nativeContext.restore(); var s = this.stack[this.cArrPos + 1]; (this.appliedFillStyle = s.fillStyle), (this.appliedStrokeStyle = s.strokeStyle), (this.appliedLineWidth = s.lineWidth), (this.appliedLineCap = s.lineCap), (this.appliedLineJoin = s.lineJoin), (this.appliedMiterLimit = s.miterLimit); } this.nativeContext.setTransform( a[0], a[1], a[4], a[5], a[12], a[13] ), (t || (-1 !== r.opacity && this.currentOpacity !== r.opacity)) && ((this.nativeContext.globalAlpha = r.opacity), (this.currentOpacity = r.opacity)), (this.currentFillStyle = r.fillStyle), (this.currentStrokeStyle = r.strokeStyle), (this.currentLineWidth = r.lineWidth), (this.currentLineCap = r.lineCap), (this.currentLineJoin = r.lineJoin), (this.currentMiterLimit = r.miterLimit); }), (CVContextData.prototype.save = function (t) { t && this.nativeContext.save(); var e = this.cTr.props; this._length <= this.cArrPos && this.duplicate(); var r, a = this.stack[this.cArrPos]; for (r = 0; r < 16; r += 1) a.transform[r] = e[r]; this.cArrPos += 1; var i = this.stack[this.cArrPos]; (i.opacity = a.opacity), (i.fillStyle = a.fillStyle), (i.strokeStyle = a.strokeStyle), (i.lineWidth = a.lineWidth), (i.lineCap = a.lineCap), (i.lineJoin = a.lineJoin), (i.miterLimit = a.miterLimit); }), (CVContextData.prototype.setOpacity = function (t) { this.stack[this.cArrPos].opacity = t; }), (CVContextData.prototype.setContext = function (t) { this.nativeContext = t; }), (CVContextData.prototype.fillStyle = function (t) { this.stack[this.cArrPos].fillStyle !== t && ((this.currentFillStyle = t), (this.stack[this.cArrPos].fillStyle = t)); }), (CVContextData.prototype.strokeStyle = function (t) { this.stack[this.cArrPos].strokeStyle !== t && ((this.currentStrokeStyle = t), (this.stack[this.cArrPos].strokeStyle = t)); }), (CVContextData.prototype.lineWidth = function (t) { this.stack[this.cArrPos].lineWidth !== t && ((this.currentLineWidth = t), (this.stack[this.cArrPos].lineWidth = t)); }), (CVContextData.prototype.lineCap = function (t) { this.stack[this.cArrPos].lineCap !== t && ((this.currentLineCap = t), (this.stack[this.cArrPos].lineCap = t)); }), (CVContextData.prototype.lineJoin = function (t) { this.stack[this.cArrPos].lineJoin !== t && ((this.currentLineJoin = t), (this.stack[this.cArrPos].lineJoin = t)); }), (CVContextData.prototype.miterLimit = function (t) { this.stack[this.cArrPos].miterLimit !== t && ((this.currentMiterLimit = t), (this.stack[this.cArrPos].miterLimit = t)); }), (CVContextData.prototype.transform = function (t) { this.transformMat.cloneFromProps(t); var e = this.cTr; this.transformMat.multiply(e), e.cloneFromProps(this.transformMat.props); var r = e.props; this.nativeContext.setTransform( r[0], r[1], r[4], r[5], r[12], r[13] ); }), (CVContextData.prototype.opacity = function (t) { var e = this.stack[this.cArrPos].opacity; (e *= t < 0 ? 0 : t), this.stack[this.cArrPos].opacity !== e && (this.currentOpacity !== t && ((this.nativeContext.globalAlpha = t), (this.currentOpacity = t)), (this.stack[this.cArrPos].opacity = e)); }), (CVContextData.prototype.fill = function (t) { this.appliedFillStyle !== this.currentFillStyle && ((this.appliedFillStyle = this.currentFillStyle), (this.nativeContext.fillStyle = this.appliedFillStyle)), this.nativeContext.fill(t); }), (CVContextData.prototype.fillRect = function (t, e, r, a) { this.appliedFillStyle !== this.currentFillStyle && ((this.appliedFillStyle = this.currentFillStyle), (this.nativeContext.fillStyle = this.appliedFillStyle)), this.nativeContext.fillRect(t, e, r, a); }), (CVContextData.prototype.stroke = function () { this.appliedStrokeStyle !== this.currentStrokeStyle && ((this.appliedStrokeStyle = this.currentStrokeStyle), (this.nativeContext.strokeStyle = this.appliedStrokeStyle)), this.appliedLineWidth !== this.currentLineWidth && ((this.appliedLineWidth = this.currentLineWidth), (this.nativeContext.lineWidth = this.appliedLineWidth)), this.appliedLineCap !== this.currentLineCap && ((this.appliedLineCap = this.currentLineCap), (this.nativeContext.lineCap = this.appliedLineCap)), this.appliedLineJoin !== this.currentLineJoin && ((this.appliedLineJoin = this.currentLineJoin), (this.nativeContext.lineJoin = this.appliedLineJoin)), this.appliedMiterLimit !== this.currentMiterLimit && ((this.appliedMiterLimit = this.currentMiterLimit), (this.nativeContext.miterLimit = this.appliedMiterLimit)), this.nativeContext.stroke(); }), extendPrototype( [CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement ), (CVCompElement.prototype.renderInnerContent = function () { var t, e = this.canvasContext; for ( e.beginPath(), e.moveTo(0, 0), e.lineTo(this.data.w, 0), e.lineTo(this.data.w, this.data.h), e.lineTo(0, this.data.h), e.lineTo(0, 0), e.clip(), t = this.layers.length - 1; t >= 0; t -= 1 ) (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame(); }), (CVCompElement.prototype.destroy = function () { var t; for (t = this.layers.length - 1; t >= 0; t -= 1) this.elements[t] && this.elements[t].destroy(); (this.layers = null), (this.elements = null); }), (CVCompElement.prototype.createComp = function (t) { return new CVCompElement(t, this.globalData, this); }), extendPrototype([CanvasRendererBase], CanvasRenderer), (CanvasRenderer.prototype.createComp = function (t) { return new CVCompElement(t, this.globalData, this); }), (HBaseElement.prototype = { checkBlendMode: function () {}, initRendererElement: function () { (this.baseElement = createTag(this.data.tg || 'div')), this.data.hasMask ? ((this.svgElement = createNS('svg')), (this.layerElement = createNS('g')), (this.maskedElement = this.layerElement), this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : (this.layerElement = this.baseElement), styleDiv(this.baseElement); }, createContainerElements: function () { (this.renderableEffectsManager = new CVEffects(this)), (this.transformedElement = this.baseElement), (this.maskedElement = this.layerElement), this.data.ln && this.layerElement.setAttribute('id', this.data.ln), this.data.cl && this.layerElement.setAttribute('class', this.data.cl), 0 !== this.data.bm && this.setBlendMode(); }, renderElement: function () { var t = this.transformedElement ? this.transformedElement.style : {}; if (this.finalTransform._matMdf) { var e = this.finalTransform.mat.toCSS(); (t.transform = e), (t.webkitTransform = e); } this.finalTransform._opMdf && (t.opacity = this.finalTransform.mProp.o.v); }, renderFrame: function () { this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1)); }, destroy: function () { (this.layerElement = null), (this.transformedElement = null), this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), (this.maskManager = null)); }, createRenderableComponents: function () { this.maskManager = new MaskElement( this.data, this, this.globalData ); }, addEffects: function () {}, setMatte: function () {} }), (HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement), (HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy), (HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting), extendPrototype( [ BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement ], HSolidElement ), (HSolidElement.prototype.createContent = function () { var t; this.data.hasMask ? ((t = createNS('rect')).setAttribute( 'width', this.data.sw ), t.setAttribute('height', this.data.sh), t.setAttribute('fill', this.data.sc), this.svgElement.setAttribute('width', this.data.sw), this.svgElement.setAttribute('height', this.data.sh)) : (((t = createTag('div')).style.width = this.data.sw + 'px'), (t.style.height = this.data.sh + 'px'), (t.style.backgroundColor = this.data.sc)), this.layerElement.appendChild(t); }), extendPrototype( [ BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement ], HShapeElement ), (HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent), (HShapeElement.prototype.createContent = function () { var t; if ( ((this.baseElement.style.fontSize = 0), this.data.hasMask) ) this.layerElement.appendChild(this.shapesContainer), (t = this.svgElement); else { t = createNS('svg'); var e = this.comp.data ? this.comp.data : this.globalData.compSize; t.setAttribute('width', e.w), t.setAttribute('height', e.h), t.appendChild(this.shapesContainer), this.layerElement.appendChild(t); } this.searchShapes( this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0 ), this.filterUniqueShapes(), (this.shapeCont = t); }), (HShapeElement.prototype.getTransformedPoint = function ( t, e ) { var r, a = t.length; for (r = 0; r < a; r += 1) e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0); return e; }), (HShapeElement.prototype.calculateShapeBoundingBox = function (t, e) { var r, a, i, s, n, o = t.sh.v, l = t.transformers, h = o._length; if (!(h <= 1)) { for (r = 0; r < h - 1; r += 1) (a = this.getTransformedPoint(l, o.v[r])), (i = this.getTransformedPoint(l, o.o[r])), (s = this.getTransformedPoint(l, o.i[r + 1])), (n = this.getTransformedPoint(l, o.v[r + 1])), this.checkBounds(a, i, s, n, e); o.c && ((a = this.getTransformedPoint(l, o.v[r])), (i = this.getTransformedPoint(l, o.o[r])), (s = this.getTransformedPoint(l, o.i[0])), (n = this.getTransformedPoint(l, o.v[0])), this.checkBounds(a, i, s, n, e)); } }), (HShapeElement.prototype.checkBounds = function ( t, e, r, a, i ) { this.getBoundsOfCurve(t, e, r, a); var s = this.shapeBoundingBox; (i.x = bmMin(s.left, i.x)), (i.xMax = bmMax(s.right, i.xMax)), (i.y = bmMin(s.top, i.y)), (i.yMax = bmMax(s.bottom, i.yMax)); }), (HShapeElement.prototype.shapeBoundingBox = { left: 0, right: 0, top: 0, bottom: 0 }), (HShapeElement.prototype.tempBoundingBox = { x: 0, xMax: 0, y: 0, yMax: 0, width: 0, height: 0 }), (HShapeElement.prototype.getBoundsOfCurve = function ( t, e, r, a ) { for ( var i, s, n, o, l, h, p, c = [ [t[0], a[0]], [t[1], a[1]] ], d = 0; d < 2; ++d ) (s = 6 * t[d] - 12 * e[d] + 6 * r[d]), (i = -3 * t[d] + 9 * e[d] - 9 * r[d] + 3 * a[d]), (n = 3 * e[d] - 3 * t[d]), (s |= 0), (n |= 0), (0 == (i |= 0) && 0 === s) || (0 === i ? (o = -n / s) > 0 && o < 1 && c[d].push(this.calculateF(o, t, e, r, a, d)) : (l = s * s - 4 * n * i) >= 0 && ((h = (-s + bmSqrt(l)) / (2 * i)) > 0 && h < 1 && c[d].push(this.calculateF(h, t, e, r, a, d)), (p = (-s - bmSqrt(l)) / (2 * i)) > 0 && p < 1 && c[d].push(this.calculateF(p, t, e, r, a, d)))); (this.shapeBoundingBox.left = bmMin.apply(null, c[0])), (this.shapeBoundingBox.top = bmMin.apply(null, c[1])), (this.shapeBoundingBox.right = bmMax.apply(null, c[0])), (this.shapeBoundingBox.bottom = bmMax.apply(null, c[1])); }), (HShapeElement.prototype.calculateF = function ( t, e, r, a, i, s ) { return ( bmPow(1 - t, 3) * e[s] + 3 * bmPow(1 - t, 2) * t * r[s] + 3 * (1 - t) * bmPow(t, 2) * a[s] + bmPow(t, 3) * i[s] ); }), (HShapeElement.prototype.calculateBoundingBox = function ( t, e ) { var r, a = t.length; for (r = 0; r < a; r += 1) t[r] && t[r].sh ? this.calculateShapeBoundingBox(t[r], e) : t[r] && t[r].it ? this.calculateBoundingBox(t[r].it, e) : t[r] && t[r].style && t[r].w && this.expandStrokeBoundingBox(t[r].w, e); }), (HShapeElement.prototype.expandStrokeBoundingBox = function ( t, e ) { var r = 0; if (t.keyframes) { for (var a = 0; a < t.keyframes.length; a += 1) { var i = t.keyframes[a].s; i > r && (r = i); } r *= t.mult; } else r = t.v * t.mult; (e.x -= r), (e.xMax += r), (e.y -= r), (e.yMax += r); }), (HShapeElement.prototype.currentBoxContains = function (t) { return ( this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height ); }), (HShapeElement.prototype.renderInnerContent = function () { if ( (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) ) { var t = this.tempBoundingBox, e = 999999; if ( ((t.x = e), (t.xMax = -e), (t.y = e), (t.yMax = -e), this.calculateBoundingBox(this.itemsData, t), (t.width = t.xMax < t.x ? 0 : t.xMax - t.x), (t.height = t.yMax < t.y ? 0 : t.yMax - t.y), this.currentBoxContains(t)) ) return; var r = !1; if ( (this.currentBBox.w !== t.width && ((this.currentBBox.w = t.width), this.shapeCont.setAttribute('width', t.width), (r = !0)), this.currentBBox.h !== t.height && ((this.currentBBox.h = t.height), this.shapeCont.setAttribute('height', t.height), (r = !0)), r || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) ) { (this.currentBBox.w = t.width), (this.currentBBox.h = t.height), (this.currentBBox.x = t.x), (this.currentBBox.y = t.y), this.shapeCont.setAttribute( 'viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h ); var a = this.shapeCont.style, i = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)'; (a.transform = i), (a.webkitTransform = i); } } }), extendPrototype( [ BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement ], HTextElement ), (HTextElement.prototype.createContent = function () { if (((this.isMasked = this.checkMasks()), this.isMasked)) { (this.renderType = 'svg'), (this.compW = this.comp.data.w), (this.compH = this.comp.data.h), this.svgElement.setAttribute('width', this.compW), this.svgElement.setAttribute('height', this.compH); var t = createNS('g'); this.maskedElement.appendChild(t), (this.innerElem = t); } else (this.renderType = 'html'), (this.innerElem = this.layerElement); this.checkParenting(); }), (HTextElement.prototype.buildNewText = function () { var t = this.textProperty.currentData; this.renderedLetters = createSizedArray( t.l ? t.l.length : 0 ); var e = this.innerElem.style, r = t.fc ? this.buildColor(t.fc) : 'rgba(0,0,0,0)'; (e.fill = r), (e.color = r), t.sc && ((e.stroke = this.buildColor(t.sc)), (e.strokeWidth = t.sw + 'px')); var a, i, s = this.globalData.fontManager.getFontByName(t.f); if (!this.globalData.fontManager.chars) if ( ((e.fontSize = t.finalSize + 'px'), (e.lineHeight = t.finalSize + 'px'), s.fClass) ) this.innerElem.className = s.fClass; else { e.fontFamily = s.fFamily; var n = t.fWeight, o = t.fStyle; (e.fontStyle = o), (e.fontWeight = n); } var l, h, p, c = t.l; i = c.length; var d, f = this.mHelper, m = '', u = 0; for (a = 0; a < i; a += 1) { if ( (this.globalData.fontManager.chars ? (this.textPaths[u] ? (l = this.textPaths[u]) : ((l = createNS('path')).setAttribute( 'stroke-linecap', lineCapEnum[1] ), l.setAttribute( 'stroke-linejoin', lineJoinEnum[2] ), l.setAttribute('stroke-miterlimit', '4')), this.isMasked || (this.textSpans[u] ? (p = (h = this.textSpans[u]).children[0]) : (((h = createTag('div')).style.lineHeight = 0), (p = createNS('svg')).appendChild(l), styleDiv(h)))) : this.isMasked ? (l = this.textPaths[u] ? this.textPaths[u] : createNS('text')) : this.textSpans[u] ? ((h = this.textSpans[u]), (l = this.textPaths[u])) : (styleDiv((h = createTag('span'))), styleDiv((l = createTag('span'))), h.appendChild(l)), this.globalData.fontManager.chars) ) { var g, y = this.globalData.fontManager.getCharData( t.finalText[a], s.fStyle, this.globalData.fontManager.getFontByName(t.f) .fFamily ); if ( ((g = y ? y.data : null), f.reset(), g && g.shapes && g.shapes.length && ((d = g.shapes[0].it), f.scale(t.finalSize / 100, t.finalSize / 100), (m = this.createPathShape(f, d)), l.setAttribute('d', m)), this.isMasked) ) this.innerElem.appendChild(l); else { if ((this.innerElem.appendChild(h), g && g.shapes)) { document.body.appendChild(p); var v = p.getBBox(); p.setAttribute('width', v.width + 2), p.setAttribute('height', v.height + 2), p.setAttribute( 'viewBox', v.x - 1 + ' ' + (v.y - 1) + ' ' + (v.width + 2) + ' ' + (v.height + 2) ); var b = p.style, _ = 'translate(' + (v.x - 1) + 'px,' + (v.y - 1) + 'px)'; (b.transform = _), (b.webkitTransform = _), (c[a].yOffset = v.y - 1); } else p.setAttribute('width', 1), p.setAttribute('height', 1); h.appendChild(p); } } else if ( ((l.textContent = c[a].val), l.setAttributeNS( 'http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve' ), this.isMasked) ) this.innerElem.appendChild(l); else { this.innerElem.appendChild(h); var w = l.style, A = 'translate3d(0,' + -t.finalSize / 1.2 + 'px,0)'; (w.transform = A), (w.webkitTransform = A); } this.isMasked ? (this.textSpans[u] = l) : (this.textSpans[u] = h), (this.textSpans[u].style.display = 'block'), (this.textPaths[u] = l), (u += 1); } for (; u < this.textSpans.length; ) (this.textSpans[u].style.display = 'none'), (u += 1); }), (HTextElement.prototype.renderInnerContent = function () { var t; if ((this.validateText(), this.data.singleShape)) { if (!this._isFirstFrame && !this.lettersChangedFlag) return; if (this.isMasked && this.finalTransform._matMdf) { this.svgElement.setAttribute( 'viewBox', -this.finalTransform.mProp.p.v[0] + ' ' + -this.finalTransform.mProp.p.v[1] + ' ' + this.compW + ' ' + this.compH ), (t = this.svgElement.style); var e = 'translate(' + -this.finalTransform.mProp.p.v[0] + 'px,' + -this.finalTransform.mProp.p.v[1] + 'px)'; (t.transform = e), (t.webkitTransform = e); } } if ( (this.textAnimator.getMeasures( this.textProperty.currentData, this.lettersChangedFlag ), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) ) { var r, a, i, s, n, o = 0, l = this.textAnimator.renderedLetters, h = this.textProperty.currentData.l; for (a = h.length, r = 0; r < a; r += 1) h[r].n ? (o += 1) : ((s = this.textSpans[r]), (n = this.textPaths[r]), (i = l[o]), (o += 1), i._mdf.m && (this.isMasked ? s.setAttribute('transform', i.m) : ((s.style.webkitTransform = i.m), (s.style.transform = i.m))), (s.style.opacity = i.o), i.sw && i._mdf.sw && n.setAttribute('stroke-width', i.sw), i.sc && i._mdf.sc && n.setAttribute('stroke', i.sc), i.fc && i._mdf.fc && (n.setAttribute('fill', i.fc), (n.style.color = i.fc))); if ( this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf) ) { var p = this.innerElem.getBBox(); if ( (this.currentBBox.w !== p.width && ((this.currentBBox.w = p.width), this.svgElement.setAttribute('width', p.width)), this.currentBBox.h !== p.height && ((this.currentBBox.h = p.height), this.svgElement.setAttribute('height', p.height)), this.currentBBox.w !== p.width + 2 || this.currentBBox.h !== p.height + 2 || this.currentBBox.x !== p.x - 1 || this.currentBBox.y !== p.y - 1) ) { (this.currentBBox.w = p.width + 2), (this.currentBBox.h = p.height + 2), (this.currentBBox.x = p.x - 1), (this.currentBBox.y = p.y - 1), this.svgElement.setAttribute( 'viewBox', this.currentBBox.x + ' ' + this.currentBBox.y + ' ' + this.currentBBox.w + ' ' + this.currentBBox.h ), (t = this.svgElement.style); var c = 'translate(' + this.currentBBox.x + 'px,' + this.currentBBox.y + 'px)'; (t.transform = c), (t.webkitTransform = c); } } } }), extendPrototype( [BaseElement, FrameElement, HierarchyElement], HCameraElement ), (HCameraElement.prototype.setup = function () { var t, e, r, a, i = this.comp.threeDElements.length; for (t = 0; t < i; t += 1) if ('3d' === (e = this.comp.threeDElements[t]).type) { (r = e.perspectiveElem.style), (a = e.container.style); var s = this.pe.v + 'px', n = '0px 0px 0px', o = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)'; (r.perspective = s), (r.webkitPerspective = s), (a.transformOrigin = n), (a.mozTransformOrigin = n), (a.webkitTransformOrigin = n), (r.transform = o), (r.webkitTransform = o); } }), (HCameraElement.prototype.createElements = function () {}), (HCameraElement.prototype.hide = function () {}), (HCameraElement.prototype.renderFrame = function () { var t, e, r = this._isFirstFrame; if (this.hierarchy) for (e = this.hierarchy.length, t = 0; t < e; t += 1) r = this.hierarchy[t].finalTransform.mProp._mdf || r; if ( r || this.pe._mdf || (this.p && this.p._mdf) || (this.px && (this.px._mdf || this.py._mdf || this.pz._mdf)) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || (this.a && this.a._mdf) ) { if ((this.mat.reset(), this.hierarchy)) for ( t = e = this.hierarchy.length - 1; t >= 0; t -= 1 ) { var a = this.hierarchy[t].finalTransform.mProp; this.mat.translate(-a.p.v[0], -a.p.v[1], a.p.v[2]), this.mat .rotateX(-a.or.v[0]) .rotateY(-a.or.v[1]) .rotateZ(a.or.v[2]), this.mat .rotateX(-a.rx.v) .rotateY(-a.ry.v) .rotateZ(a.rz.v), this.mat.scale( 1 / a.s.v[0], 1 / a.s.v[1], 1 / a.s.v[2] ), this.mat.translate(a.a.v[0], a.a.v[1], a.a.v[2]); } if ( (this.p ? this.mat.translate( -this.p.v[0], -this.p.v[1], this.p.v[2] ) : this.mat.translate( -this.px.v, -this.py.v, this.pz.v ), this.a) ) { var i; i = this.p ? [ this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2] ] : [ this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2] ]; var s = Math.sqrt( Math.pow(i[0], 2) + Math.pow(i[1], 2) + Math.pow(i[2], 2) ), n = [i[0] / s, i[1] / s, i[2] / s], o = Math.sqrt(n[2] * n[2] + n[0] * n[0]), l = Math.atan2(n[1], o), h = Math.atan2(n[0], -n[2]); this.mat.rotateY(h).rotateX(-l); } this.mat .rotateX(-this.rx.v) .rotateY(-this.ry.v) .rotateZ(this.rz.v), this.mat .rotateX(-this.or.v[0]) .rotateY(-this.or.v[1]) .rotateZ(this.or.v[2]), this.mat.translate( this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0 ), this.mat.translate(0, 0, this.pe.v); var p = !this._prevMat.equals(this.mat); if ((p || this.pe._mdf) && this.comp.threeDElements) { var c, d, f; for ( e = this.comp.threeDElements.length, t = 0; t < e; t += 1 ) if ('3d' === (c = this.comp.threeDElements[t]).type) { if (p) { var m = this.mat.toCSS(); ((f = c.container.style).transform = m), (f.webkitTransform = m); } this.pe._mdf && (((d = c.perspectiveElem.style).perspective = this.pe.v + 'px'), (d.webkitPerspective = this.pe.v + 'px')); } this.mat.clone(this._prevMat); } } this._isFirstFrame = !1; }), (HCameraElement.prototype.prepareFrame = function (t) { this.prepareProperties(t, !0); }), (HCameraElement.prototype.destroy = function () {}), (HCameraElement.prototype.getBaseElement = function () { return null; }), extendPrototype( [ BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement ], HImageElement ), (HImageElement.prototype.createContent = function () { var t = this.globalData.getAssetsPath(this.assetData), e = new Image(); this.data.hasMask ? ((this.imageElem = createNS('image')), this.imageElem.setAttribute( 'width', this.assetData.w + 'px' ), this.imageElem.setAttribute( 'height', this.assetData.h + 'px' ), this.imageElem.setAttributeNS( 'http://www.w3.org/1999/xlink', 'href', t ), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute( 'width', this.assetData.w ), this.baseElement.setAttribute( 'height', this.assetData.h )) : this.layerElement.appendChild(e), (e.crossOrigin = 'anonymous'), (e.src = t), this.data.ln && this.baseElement.setAttribute('id', this.data.ln); }), extendPrototype([BaseRenderer], HybridRendererBase), (HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem), (HybridRendererBase.prototype.checkPendingElements = function () { for (; this.pendingElements.length; ) this.pendingElements.pop().checkParenting(); }), (HybridRendererBase.prototype.appendElementInPos = function ( t, e ) { var r = t.getBaseElement(); if (r) { var a = this.layers[e]; if (a.ddd && this.supports3d) this.addTo3dContainer(r, e); else if (this.threeDElements) this.addTo3dContainer(r, e); else { for (var i, s, n = 0; n < e; ) this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && ((s = this.elements[n]), (i = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : s.getBaseElement()) || i)), (n += 1); i ? (a.ddd && this.supports3d) || this.layerElement.insertBefore(r, i) : (a.ddd && this.supports3d) || this.layerElement.appendChild(r); } } }), (HybridRendererBase.prototype.createShape = function (t) { return this.supports3d ? new HShapeElement(t, this.globalData, this) : new SVGShapeElement(t, this.globalData, this); }), (HybridRendererBase.prototype.createText = function (t) { return this.supports3d ? new HTextElement(t, this.globalData, this) : new SVGTextLottieElement(t, this.globalData, this); }), (HybridRendererBase.prototype.createCamera = function (t) { return ( (this.camera = new HCameraElement( t, this.globalData, this )), this.camera ); }), (HybridRendererBase.prototype.createImage = function (t) { return this.supports3d ? new HImageElement(t, this.globalData, this) : new IImageElement(t, this.globalData, this); }), (HybridRendererBase.prototype.createSolid = function (t) { return this.supports3d ? new HSolidElement(t, this.globalData, this) : new ISolidElement(t, this.globalData, this); }), (HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull), (HybridRendererBase.prototype.getThreeDContainerByPos = function (t) { for (var e = 0, r = this.threeDElements.length; e < r; ) { if ( this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t ) return this.threeDElements[e].perspectiveElem; e += 1; } return null; }), (HybridRendererBase.prototype.createThreeDContainer = function (t, e) { var r, a, i = createTag('div'); styleDiv(i); var s = createTag('div'); if ((styleDiv(s), '3d' === e)) { ((r = i.style).width = this.globalData.compSize.w + 'px'), (r.height = this.globalData.compSize.h + 'px'); var n = '50% 50%'; (r.webkitTransformOrigin = n), (r.mozTransformOrigin = n), (r.transformOrigin = n); var o = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)'; ((a = s.style).transform = o), (a.webkitTransform = o); } i.appendChild(s); var l = { container: s, perspectiveElem: i, startPos: t, endPos: t, type: e }; return this.threeDElements.push(l), l; }), (HybridRendererBase.prototype.build3dContainers = function () { var t, e, r = this.layers.length, a = ''; for (t = 0; t < r; t += 1) this.layers[t].ddd && 3 !== this.layers[t].ty ? ('3d' !== a && ((a = '3d'), (e = this.createThreeDContainer(t, '3d'))), (e.endPos = Math.max(e.endPos, t))) : ('2d' !== a && ((a = '2d'), (e = this.createThreeDContainer(t, '2d'))), (e.endPos = Math.max(e.endPos, t))); for ( t = (r = this.threeDElements.length) - 1; t >= 0; t -= 1 ) this.resizerElem.appendChild( this.threeDElements[t].perspectiveElem ); }), (HybridRendererBase.prototype.addTo3dContainer = function ( t, e ) { for (var r = 0, a = this.threeDElements.length; r < a; ) { if (e <= this.threeDElements[r].endPos) { for ( var i, s = this.threeDElements[r].startPos; s < e; ) this.elements[s] && this.elements[s].getBaseElement && (i = this.elements[s].getBaseElement()), (s += 1); i ? this.threeDElements[r].container.insertBefore(t, i) : this.threeDElements[r].container.appendChild(t); break; } r += 1; } }), (HybridRendererBase.prototype.configAnimation = function (t) { var e = createTag('div'), r = this.animationItem.wrapper, a = e.style; (a.width = t.w + 'px'), (a.height = t.h + 'px'), (this.resizerElem = e), styleDiv(e), (a.transformStyle = 'flat'), (a.mozTransformStyle = 'flat'), (a.webkitTransformStyle = 'flat'), this.renderConfig.className && e.setAttribute('class', this.renderConfig.className), r.appendChild(e), (a.overflow = 'hidden'); var i = createNS('svg'); i.setAttribute('width', '1'), i.setAttribute('height', '1'), styleDiv(i), this.resizerElem.appendChild(i); var s = createNS('defs'); i.appendChild(s), (this.data = t), this.setupGlobalData(t, i), (this.globalData.defs = s), (this.layers = t.layers), (this.layerElement = this.resizerElem), this.build3dContainers(), this.updateContainerSize(); }), (HybridRendererBase.prototype.destroy = function () { var t; this.animationItem.wrapper && (this.animationItem.wrapper.innerText = ''), (this.animationItem.container = null), (this.globalData.defs = null); var e = this.layers ? this.layers.length : 0; for (t = 0; t < e; t += 1) this.elements[t] && this.elements[t].destroy && this.elements[t].destroy(); (this.elements.length = 0), (this.destroyed = !0), (this.animationItem = null); }), (HybridRendererBase.prototype.updateContainerSize = function () { var t, e, r, a, i = this.animationItem.wrapper.offsetWidth, s = this.animationItem.wrapper.offsetHeight, n = i / s; this.globalData.compSize.w / this.globalData.compSize.h > n ? ((t = i / this.globalData.compSize.w), (e = i / this.globalData.compSize.w), (r = 0), (a = (s - this.globalData.compSize.h * (i / this.globalData.compSize.w)) / 2)) : ((t = s / this.globalData.compSize.h), (e = s / this.globalData.compSize.h), (r = (i - this.globalData.compSize.w * (s / this.globalData.compSize.h)) / 2), (a = 0)); var o = this.resizerElem.style; (o.webkitTransform = 'matrix3d(' + t + ',0,0,0,0,' + e + ',0,0,0,0,1,0,' + r + ',' + a + ',0,1)'), (o.transform = o.webkitTransform); }), (HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame), (HybridRendererBase.prototype.hide = function () { this.resizerElem.style.display = 'none'; }), (HybridRendererBase.prototype.show = function () { this.resizerElem.style.display = 'block'; }), (HybridRendererBase.prototype.initItems = function () { if ((this.buildAllItems(), this.camera)) this.camera.setup(); else { var t, e = this.globalData.compSize.w, r = this.globalData.compSize.h, a = this.threeDElements.length; for (t = 0; t < a; t += 1) { var i = this.threeDElements[t].perspectiveElem.style; (i.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(r, 2)) + 'px'), (i.perspective = i.webkitPerspective); } } }), (HybridRendererBase.prototype.searchExtraCompositions = function (t) { var e, r = t.length, a = createTag('div'); for (e = 0; e < r; e += 1) if (t[e].xt) { var i = this.createComp( t[e], a, this.globalData.comp, null ); i.initExpressions(), this.globalData.projectInterface.registerComposition( i ); } }), extendPrototype( [HybridRendererBase, ICompElement, HBaseElement], HCompElement ), (HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements), (HCompElement.prototype.createContainerElements = function () { this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute('width', this.data.w), this.svgElement.setAttribute('height', this.data.h), (this.transformedElement = this.baseElement)) : (this.transformedElement = this.layerElement); }), (HCompElement.prototype.addTo3dContainer = function (t, e) { for (var r, a = 0; a < e; ) this.elements[a] && this.elements[a].getBaseElement && (r = this.elements[a].getBaseElement()), (a += 1); r ? this.layerElement.insertBefore(t, r) : this.layerElement.appendChild(t); }), (HCompElement.prototype.createComp = function (t) { return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this); }), extendPrototype([HybridRendererBase], HybridRenderer), (HybridRenderer.prototype.createComp = function (t) { return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this); }); var CompExpressionInterface = function (t) { function e(e) { for (var r = 0, a = t.layers.length; r < a; ) { if (t.layers[r].nm === e || t.layers[r].ind === e) return t.elements[r].layerInterface; r += 1; } return null; } return ( Object.defineProperty(e, '_name', { value: t.data.nm }), (e.layer = e), (e.pixelAspect = 1), (e.height = t.data.h || t.globalData.compSize.h), (e.width = t.data.w || t.globalData.compSize.w), (e.pixelAspect = 1), (e.frameDuration = 1 / t.globalData.frameRate), (e.displayStartTime = 0), (e.numLayers = t.layers.length), e ); }; function _typeof$2(t) { return ( (_typeof$2 = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof$2(t) ); } function seedRandom(t, e) { var r = this, a = 256, i = 'random', s = e.pow(a, 6), n = e.pow(2, 52), o = 2 * n, l = a - 1; function h(t) { var e, r = t.length, i = this, s = 0, n = (i.i = i.j = 0), o = (i.S = []); for (r || (t = [r++]); s < a; ) o[s] = s++; for (s = 0; s < a; s++) (o[s] = o[(n = l & (n + t[s % r] + (e = o[s])))]), (o[n] = e); i.g = function (t) { for (var e, r = 0, s = i.i, n = i.j, o = i.S; t--; ) (e = o[(s = l & (s + 1))]), (r = r * a + o[ l & ((o[s] = o[(n = l & (n + e))]) + (o[n] = e)) ]); return (i.i = s), (i.j = n), r; }; } function p(t, e) { return (e.i = t.i), (e.j = t.j), (e.S = t.S.slice()), e; } function c(t, e) { var r, a = [], i = _typeof$2(t); if (e && 'object' == i) for (r in t) try { a.push(c(t[r], e - 1)); } catch (s) {} return a.length ? a : 'string' == i ? t : t + '\0'; } function d(t, e) { for (var r, a = t + '', i = 0; i < a.length; ) e[l & i] = l & ((r ^= 19 * e[l & i]) + a.charCodeAt(i++)); return f(e); } function f(t) { return String.fromCharCode.apply(0, t); } (e['seed' + i] = function (l, m, u) { var g = [], y = d( c( (m = !0 === m ? { entropy: !0 } : m || {}).entropy ? [l, f(t)] : null === l ? (function () { try { var e = new Uint8Array(a); return ( (r.crypto || r.msCrypto).getRandomValues(e), f(e) ); } catch (n) { var i = r.navigator, s = i && i.plugins; return [+new Date(), r, s, r.screen, f(t)]; } })() : l, 3 ), g ), v = new h(g), b = function () { for (var t = v.g(6), e = s, r = 0; t < n; ) (t = (t + r) * a), (e *= a), (r = v.g(1)); for (; t >= o; ) (t /= 2), (e /= 2), (r >>>= 1); return (t + r) / e; }; return ( (b.int32 = function () { return 0 | v.g(4); }), (b.quick = function () { return v.g(4) / 4294967296; }), (b.double = b), d(f(v.S), t), ( m.pass || u || function (t, r, a, s) { return ( s && (s.S && p(s, v), (t.state = function () { return p(v, {}); })), a ? ((e[i] = t), r) : t ); } )(b, y, 'global' in m ? m.global : this == e, m.state) ); }), d(e.random(), t); } function initialize$2(t) { seedRandom([], t); } var propTypes = { SHAPE: 'shape' }; function _typeof$1(t) { return ( (_typeof$1 = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof$1(t) ); } var ExpressionManager = (function () { var ob = {}, Math = BMMath, window = null, document = null, XMLHttpRequest = null, fetch = null, frames = null, _lottieGlobal = {}; function resetFrame() { _lottieGlobal = {}; } function $bm_isInstanceOfArray(t) { return ( t.constructor === Array || t.constructor === Float32Array ); } function isNumerable(t, e) { return ( 'number' === t || e instanceof Number || 'boolean' === t || 'string' === t ); } function $bm_neg(t) { var e = _typeof$1(t); if ( 'number' === e || t instanceof Number || 'boolean' === e ) return -t; if ($bm_isInstanceOfArray(t)) { var r, a = t.length, i = []; for (r = 0; r < a; r += 1) i[r] = -t[r]; return i; } return t.propType ? t.v : -t; } initialize$2(BMMath); var easeInBez = BezierFactory.getBezierEasing( 0.333, 0, 0.833, 0.833, 'easeIn' ).get, easeOutBez = BezierFactory.getBezierEasing( 0.167, 0.167, 0.667, 1, 'easeOut' ).get, easeInOutBez = BezierFactory.getBezierEasing( 0.33, 0, 0.667, 1, 'easeInOut' ).get; function sum(t, e) { var r = _typeof$1(t), a = _typeof$1(e); if ( (isNumerable(r, t) && isNumerable(a, e)) || 'string' === r || 'string' === a ) return t + e; if ($bm_isInstanceOfArray(t) && isNumerable(a, e)) return ((t = t.slice(0))[0] += e), t; if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return ((e = e.slice(0))[0] = t + e[0]), e; if ( $bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e) ) { for ( var i = 0, s = t.length, n = e.length, o = []; i < s || i < n; ) ('number' == typeof t[i] || t[i] instanceof Number) && ('number' == typeof e[i] || e[i] instanceof Number) ? (o[i] = t[i] + e[i]) : (o[i] = void 0 === e[i] ? t[i] : t[i] || e[i]), (i += 1); return o; } return 0; } var add = sum; function sub(t, e) { var r = _typeof$1(t), a = _typeof$1(e); if (isNumerable(r, t) && isNumerable(a, e)) return ( 'string' === r && (t = parseInt(t, 10)), 'string' === a && (e = parseInt(e, 10)), t - e ); if ($bm_isInstanceOfArray(t) && isNumerable(a, e)) return ((t = t.slice(0))[0] -= e), t; if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) return ((e = e.slice(0))[0] = t - e[0]), e; if ( $bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e) ) { for ( var i = 0, s = t.length, n = e.length, o = []; i < s || i < n; ) ('number' == typeof t[i] || t[i] instanceof Number) && ('number' == typeof e[i] || e[i] instanceof Number) ? (o[i] = t[i] - e[i]) : (o[i] = void 0 === e[i] ? t[i] : t[i] || e[i]), (i += 1); return o; } return 0; } function mul(t, e) { var r, a, i, s = _typeof$1(t), n = _typeof$1(e); if (isNumerable(s, t) && isNumerable(n, e)) return t * e; if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) { for ( i = t.length, r = createTypedArray('float32', i), a = 0; a < i; a += 1 ) r[a] = t[a] * e; return r; } if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) { for ( i = e.length, r = createTypedArray('float32', i), a = 0; a < i; a += 1 ) r[a] = t * e[a]; return r; } return 0; } function div(t, e) { var r, a, i, s = _typeof$1(t), n = _typeof$1(e); if (isNumerable(s, t) && isNumerable(n, e)) return t / e; if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) { for ( i = t.length, r = createTypedArray('float32', i), a = 0; a < i; a += 1 ) r[a] = t[a] / e; return r; } if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) { for ( i = e.length, r = createTypedArray('float32', i), a = 0; a < i; a += 1 ) r[a] = t / e[a]; return r; } return 0; } function mod(t, e) { return ( 'string' == typeof t && (t = parseInt(t, 10)), 'string' == typeof e && (e = parseInt(e, 10)), t % e ); } var $bm_sum = sum, $bm_sub = sub, $bm_mul = mul, $bm_div = div, $bm_mod = mod; function clamp(t, e, r) { if (e > r) { var a = r; (r = e), (e = a); } return Math.min(Math.max(t, e), r); } function radiansToDegrees(t) { return t / degToRads; } var radians_to_degrees = radiansToDegrees; function degreesToRadians(t) { return t * degToRads; } var degrees_to_radians = radiansToDegrees, helperLengthArray = [0, 0, 0, 0, 0, 0]; function length(t, e) { if ('number' == typeof t || t instanceof Number) return (e = e || 0), Math.abs(t - e); var r; e || (e = helperLengthArray); var a = Math.min(t.length, e.length), i = 0; for (r = 0; r < a; r += 1) i += Math.pow(e[r] - t[r], 2); return Math.sqrt(i); } function normalize(t) { return div(t, length(t)); } function rgbToHsl(t) { var e, r, a = t[0], i = t[1], s = t[2], n = Math.max(a, i, s), o = Math.min(a, i, s), l = (n + o) / 2; if (n === o) (e = 0), (r = 0); else { var h = n - o; switch ( ((r = l > 0.5 ? h / (2 - n - o) : h / (n + o)), n) ) { case a: e = (i - s) / h + (i < s ? 6 : 0); break; case i: e = (s - a) / h + 2; break; case s: e = (a - i) / h + 4; } e /= 6; } return [e, r, l, t[3]]; } function hue2rgb(t, e, r) { return ( r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? t + 6 * (e - t) * r : r < 0.5 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t ); } function hslToRgb(t) { var e, r, a, i = t[0], s = t[1], n = t[2]; if (0 === s) (e = n), (a = n), (r = n); else { var o = n < 0.5 ? n * (1 + s) : n + s - n * s, l = 2 * n - o; (e = hue2rgb(l, o, i + 1 / 3)), (r = hue2rgb(l, o, i)), (a = hue2rgb(l, o, i - 1 / 3)); } return [e, r, a, t[3]]; } function linear(t, e, r, a, i) { if ( ((void 0 !== a && void 0 !== i) || ((a = e), (i = r), (e = 0), (r = 1)), r < e) ) { var s = r; (r = e), (e = s); } if (t <= e) return a; if (t >= r) return i; var n, o = r === e ? 0 : (t - e) / (r - e); if (!a.length) return a + (i - a) * o; var l = a.length, h = createTypedArray('float32', l); for (n = 0; n < l; n += 1) h[n] = a[n] + (i[n] - a[n]) * o; return h; } function random(t, e) { if ( (void 0 === e && (void 0 === t ? ((t = 0), (e = 1)) : ((e = t), (t = void 0))), e.length) ) { var r, a = e.length; t || (t = createTypedArray('float32', a)); var i = createTypedArray('float32', a), s = BMMath.random(); for (r = 0; r < a; r += 1) i[r] = t[r] + s * (e[r] - t[r]); return i; } return ( void 0 === t && (t = 0), t + BMMath.random() * (e - t) ); } function createPath(t, e, r, a) { var i, s = t.length, n = shapePool.newElement(); n.setPathData(!!a, s); var o, l, h = [0, 0]; for (i = 0; i < s; i += 1) (o = e && e[i] ? e[i] : h), (l = r && r[i] ? r[i] : h), n.setTripleAt( t[i][0], t[i][1], l[0] + t[i][0], l[1] + t[i][1], o[0] + t[i][0], o[1] + t[i][1], i, !0 ); return n; } function initiateExpression(elem, data, property) { function noOp(t) { return t; } if (!elem.globalData.renderConfig.runExpressions) return noOp; var val = data.x, needsVelocity = /velocity(?![\w\d])/.test(val), _needsRandom = -1 !== val.indexOf('random'), elemType = elem.data.ty, transform, $bm_transform, content, effect, thisProperty = property; (thisProperty.valueAtTime = thisProperty.getValueAtTime), Object.defineProperty(thisProperty, 'value', { get: function () { return thisProperty.v; } }), (elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate), (elem.comp.displayStartTime = 0); var inPoint = elem.data.ip / elem.comp.globalData.frameRate, outPoint = elem.data.op / elem.comp.globalData.frameRate, width = elem.data.sw ? elem.data.sw : 0, height = elem.data.sh ? elem.data.sh : 0, name = elem.data.nm, loopIn, loop_in, loopOut, loop_out, smooth, toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime, scoped_bm_rt, expression_function = eval( '[function _expression_function(){' + val + ';scoped_bm_rt=$bm_rt}]' )[0], numKeys = property.kf ? data.k.length : 0, active = !this.data || !0 !== this.data.hd, wiggle = function (t, e) { var r, a, i = this.pv.length ? this.pv.length : 1, s = createTypedArray('float32', i), n = Math.floor(5 * time); for (r = 0, a = 0; r < n; ) { for (a = 0; a < i; a += 1) s[a] += -e + 2 * e * BMMath.random(); r += 1; } var o = 5 * time, l = o - Math.floor(o), h = createTypedArray('float32', i); if (i > 1) { for (a = 0; a < i; a += 1) h[a] = this.pv[a] + s[a] + (-e + 2 * e * BMMath.random()) * l; return h; } return ( this.pv + s[0] + (-e + 2 * e * BMMath.random()) * l ); }.bind(this); function loopInDuration(t, e) { return loopIn(t, e, !0); } function loopOutDuration(t, e) { return loopOut(t, e, !0); } thisProperty.loopIn && ((loopIn = thisProperty.loopIn.bind(thisProperty)), (loop_in = loopIn)), thisProperty.loopOut && ((loopOut = thisProperty.loopOut.bind(thisProperty)), (loop_out = loopOut)), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)), this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this)); var comp = elem.comp.globalData.projectInterface.bind( elem.comp.globalData.projectInterface ), time, velocity, value, text, textIndex, textTotal, selectorValue; function lookAt(t, e) { var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]], a = Math.atan2( r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2]) ) / degToRads; return [-Math.atan2(r[1], r[2]) / degToRads, a, 0]; } function easeOut(t, e, r, a, i) { return applyEase(easeOutBez, t, e, r, a, i); } function easeIn(t, e, r, a, i) { return applyEase(easeInBez, t, e, r, a, i); } function ease(t, e, r, a, i) { return applyEase(easeInOutBez, t, e, r, a, i); } function applyEase(t, e, r, a, i, s) { void 0 === i ? ((i = r), (s = a)) : (e = (e - r) / (a - r)), e > 1 ? (e = 1) : e < 0 && (e = 0); var n = t(e); if ($bm_isInstanceOfArray(i)) { var o, l = i.length, h = createTypedArray('float32', l); for (o = 0; o < l; o += 1) h[o] = (s[o] - i[o]) * n + i[o]; return h; } return (s - i) * n + i; } function nearestKey(t) { var e, r, a, i = data.k.length; if (data.k.length && 'number' != typeof data.k[0]) if ( ((r = -1), (t *= elem.comp.globalData.frameRate) < data.k[0].t) ) (r = 1), (a = data.k[0].t); else { for (e = 0; e < i - 1; e += 1) { if (t === data.k[e].t) { (r = e + 1), (a = data.k[e].t); break; } if (t > data.k[e].t && t < data.k[e + 1].t) { t - data.k[e].t > data.k[e + 1].t - t ? ((r = e + 2), (a = data.k[e + 1].t)) : ((r = e + 1), (a = data.k[e].t)); break; } } -1 === r && ((r = e + 1), (a = data.k[e].t)); } else (r = 0), (a = 0); var s = {}; return ( (s.index = r), (s.time = a / elem.comp.globalData.frameRate), s ); } function key(t) { var e, r, a; if (!data.k.length || 'number' == typeof data.k[0]) throw new Error( 'The property has no keyframe at index ' + t ); (t -= 1), (e = { time: data.k[t].t / elem.comp.globalData.frameRate, value: [] }); var i = Object.prototype.hasOwnProperty.call( data.k[t], 's' ) ? data.k[t].s : data.k[t - 1].e; for (a = i.length, r = 0; r < a; r += 1) (e[r] = i[r]), (e.value[r] = i[r]); return e; } function framesToTime(t, e) { return e || (e = elem.comp.globalData.frameRate), t / e; } function timeToFrames(t, e) { return ( t || 0 === t || (t = time), e || (e = elem.comp.globalData.frameRate), t * e ); } function seedRandom(t) { BMMath.seedrandom(randSeed + t); } function sourceRectAtTime() { return elem.sourceRectAtTime(); } function substring(t, e) { return 'string' == typeof value ? void 0 === e ? value.substring(t) : value.substring(t, e) : ''; } function substr(t, e) { return 'string' == typeof value ? void 0 === e ? value.substr(t) : value.substr(t, e) : ''; } function posterizeTime(t) { (time = 0 === t ? 0 : Math.floor(time * t) / t), (value = valueAtTime(time)); } var index = elem.data.ind, hasParent = !( !elem.hierarchy || !elem.hierarchy.length ), parent, randSeed = Math.floor(1e6 * Math.random()), globalData = elem.globalData; function executeExpression(t) { return ( (value = t), this.frameExpressionId === elem.globalData.frameId && 'textSelector' !== this.propType ? value : ('textSelector' === this.propType && ((textIndex = this.textIndex), (textTotal = this.textTotal), (selectorValue = this.selectorValue)), thisLayer || ((text = elem.layerInterface.text), (thisLayer = elem.layerInterface), (thisComp = elem.comp.compInterface), (toWorld = thisLayer.toWorld.bind(thisLayer)), (fromWorld = thisLayer.fromWorld.bind(thisLayer)), (fromComp = thisLayer.fromComp.bind(thisLayer)), (toComp = thisLayer.toComp.bind(thisLayer)), (mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null), (fromCompToSurface = fromComp)), transform || ((transform = elem.layerInterface( 'ADBE Transform Group' )), ($bm_transform = transform), transform && (anchorPoint = transform.anchorPoint)), 4 !== elemType || content || (content = thisLayer( 'ADBE Root Vectors Group' )), effect || (effect = thisLayer(4)), (hasParent = !( !elem.hierarchy || !elem.hierarchy.length )) && !parent && (parent = elem.hierarchy[0].layerInterface), (time = this.comp.renderedFrame / this.comp.globalData.frameRate), _needsRandom && seedRandom(randSeed + time), needsVelocity && (velocity = velocityAtTime(time)), expression_function(), (this.frameExpressionId = elem.globalData.frameId), (scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt)) ); } return ( (executeExpression.__preventDeadCodeRemoval = [ $bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData ]), executeExpression ); } return ( (ob.initiateExpression = initiateExpression), (ob.__preventDeadCodeRemoval = [ window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal ]), (ob.resetFrame = resetFrame), ob ); })(), Expressions = (function () { var t = { initExpressions: function (t) { var e = 0, r = []; (t.renderer.compInterface = CompExpressionInterface( t.renderer )), t.renderer.globalData.projectInterface.registerComposition( t.renderer ), (t.renderer.globalData.pushExpression = function () { e += 1; }), (t.renderer.globalData.popExpression = function () { 0 == (e -= 1) && (function () { var t, e = r.length; for (t = 0; t < e; t += 1) r[t].release(); r.length = 0; })(); }), (t.renderer.globalData.registerExpressionProperty = function (t) { -1 === r.indexOf(t) && r.push(t); }); } }; return (t.resetFrame = ExpressionManager.resetFrame), t; })(), MaskManagerInterface = (function () { function t(t, e) { (this._mask = t), (this._data = e); } return ( Object.defineProperty(t.prototype, 'maskPath', { get: function () { return ( this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop ); } }), Object.defineProperty(t.prototype, 'maskOpacity', { get: function () { return ( this._mask.op.k && this._mask.op.getValue(), 100 * this._mask.op.v ); } }), function (e) { var r, a = createSizedArray(e.viewData.length), i = e.viewData.length; for (r = 0; r < i; r += 1) a[r] = new t(e.viewData[r], e.masksProperties[r]); return function (t) { for (r = 0; r < i; ) { if (e.masksProperties[r].nm === t) return a[r]; r += 1; } return null; }; } ); })(), ExpressionPropertyInterface = (function () { var t = { pv: 0, v: 0, mult: 1 }, e = { pv: [0, 0, 0], v: [0, 0, 0], mult: 1 }; function r(t, e, r) { Object.defineProperty(t, 'velocity', { get: function () { return e.getVelocityAtTime(e.comp.currentFrame); } }), (t.numKeys = e.keyframes ? e.keyframes.length : 0), (t.key = function (a) { if (!t.numKeys) return 0; var i = ''; i = 's' in e.keyframes[a - 1] ? e.keyframes[a - 1].s : 'e' in e.keyframes[a - 2] ? e.keyframes[a - 2].e : e.keyframes[a - 2].s; var s = 'unidimensional' === r ? new Number(i) : Object.assign({}, i); return ( (s.time = e.keyframes[a - 1].t / e.elem.comp.globalData.frameRate), (s.value = 'unidimensional' === r ? i[0] : i), s ); }), (t.valueAtTime = e.getValueAtTime), (t.speedAtTime = e.getSpeedAtTime), (t.velocityAtTime = e.getVelocityAtTime), (t.propertyGroup = e.propertyGroup); } function a() { return t; } return function (i) { return i ? 'unidimensional' === i.propType ? (function (e) { (e && 'pv' in e) || (e = t); var a = 1 / e.mult, i = e.pv * a, s = new Number(i); return ( (s.value = i), r(s, e, 'unidimensional'), function () { return ( e.k && e.getValue(), (i = e.v * a), s.value !== i && (((s = new Number(i)).value = i), r(s, e, 'unidimensional')), s ); } ); })(i) : (function (t) { (t && 'pv' in t) || (t = e); var a = 1 / t.mult, i = (t.data && t.data.l) || t.pv.length, s = createTypedArray('float32', i), n = createTypedArray('float32', i); return ( (s.value = n), r(s, t, 'multidimensional'), function () { t.k && t.getValue(); for (var e = 0; e < i; e += 1) (n[e] = t.v[e] * a), (s[e] = n[e]); return s; } ); })(i) : a; }; })(), TransformExpressionInterface = function (t) { function e(t) { switch (t) { case 'scale': case 'Scale': case 'ADBE Scale': case 6: return e.scale; case 'rotation': case 'Rotation': case 'ADBE Rotation': case 'ADBE Rotate Z': case 10: return e.rotation; case 'ADBE Rotate X': return e.xRotation; case 'ADBE Rotate Y': return e.yRotation; case 'position': case 'Position': case 'ADBE Position': case 2: return e.position; case 'ADBE Position_0': return e.xPosition; case 'ADBE Position_1': return e.yPosition; case 'ADBE Position_2': return e.zPosition; case 'anchorPoint': case 'AnchorPoint': case 'Anchor Point': case 'ADBE AnchorPoint': case 1: return e.anchorPoint; case 'opacity': case 'Opacity': case 11: return e.opacity; default: return null; } } var r, a, i, s; return ( Object.defineProperty(e, 'rotation', { get: ExpressionPropertyInterface(t.r || t.rz) }), Object.defineProperty(e, 'zRotation', { get: ExpressionPropertyInterface(t.rz || t.r) }), Object.defineProperty(e, 'xRotation', { get: ExpressionPropertyInterface(t.rx) }), Object.defineProperty(e, 'yRotation', { get: ExpressionPropertyInterface(t.ry) }), Object.defineProperty(e, 'scale', { get: ExpressionPropertyInterface(t.s) }), t.p ? (s = ExpressionPropertyInterface(t.p)) : ((r = ExpressionPropertyInterface(t.px)), (a = ExpressionPropertyInterface(t.py)), t.pz && (i = ExpressionPropertyInterface(t.pz))), Object.defineProperty(e, 'position', { get: function () { return t.p ? s() : [r(), a(), i ? i() : 0]; } }), Object.defineProperty(e, 'xPosition', { get: ExpressionPropertyInterface(t.px) }), Object.defineProperty(e, 'yPosition', { get: ExpressionPropertyInterface(t.py) }), Object.defineProperty(e, 'zPosition', { get: ExpressionPropertyInterface(t.pz) }), Object.defineProperty(e, 'anchorPoint', { get: ExpressionPropertyInterface(t.a) }), Object.defineProperty(e, 'opacity', { get: ExpressionPropertyInterface(t.o) }), Object.defineProperty(e, 'skew', { get: ExpressionPropertyInterface(t.sk) }), Object.defineProperty(e, 'skewAxis', { get: ExpressionPropertyInterface(t.sa) }), Object.defineProperty(e, 'orientation', { get: ExpressionPropertyInterface(t.or) }), e ); }, LayerExpressionInterface = (function () { function t(t) { var e = new Matrix(); return ( void 0 !== t ? this._elem.finalTransform.mProp .getValueAtTime(t) .clone(e) : this._elem.finalTransform.mProp.applyToMatrix(e), e ); } function e(t, e) { var r = this.getMatrix(e); return ( (r.props[12] = 0), (r.props[13] = 0), (r.props[14] = 0), this.applyPoint(r, t) ); } function r(t, e) { var r = this.getMatrix(e); return this.applyPoint(r, t); } function a(t, e) { var r = this.getMatrix(e); return ( (r.props[12] = 0), (r.props[13] = 0), (r.props[14] = 0), this.invertPoint(r, t) ); } function i(t, e) { var r = this.getMatrix(e); return this.invertPoint(r, t); } function s(t, e) { if (this._elem.hierarchy && this._elem.hierarchy.length) { var r, a = this._elem.hierarchy.length; for (r = 0; r < a; r += 1) this._elem.hierarchy[ r ].finalTransform.mProp.applyToMatrix(t); } return t.applyToPointArray(e[0], e[1], e[2] || 0); } function n(t, e) { if (this._elem.hierarchy && this._elem.hierarchy.length) { var r, a = this._elem.hierarchy.length; for (r = 0; r < a; r += 1) this._elem.hierarchy[ r ].finalTransform.mProp.applyToMatrix(t); } return t.inversePoint(e); } function o(t) { var e = new Matrix(); if ( (e.reset(), this._elem.finalTransform.mProp.applyToMatrix(e), this._elem.hierarchy && this._elem.hierarchy.length) ) { var r, a = this._elem.hierarchy.length; for (r = 0; r < a; r += 1) this._elem.hierarchy[ r ].finalTransform.mProp.applyToMatrix(e); return e.inversePoint(t); } return e.inversePoint(t); } function l() { return [1, 1, 1, 1]; } return function (h) { var p; function c(t) { switch (t) { case 'ADBE Root Vectors Group': case 'Contents': case 2: return c.shapeInterface; case 1: case 6: case 'Transform': case 'transform': case 'ADBE Transform Group': return p; case 4: case 'ADBE Effect Parade': case 'effects': case 'Effects': return c.effect; case 'ADBE Text Properties': return c.textInterface; default: return null; } } (c.getMatrix = t), (c.invertPoint = n), (c.applyPoint = s), (c.toWorld = r), (c.toWorldVec = e), (c.fromWorld = i), (c.fromWorldVec = a), (c.toComp = r), (c.fromComp = o), (c.sampleImage = l), (c.sourceRectAtTime = h.sourceRectAtTime.bind(h)), (c._elem = h); var d = getDescriptor( (p = TransformExpressionInterface( h.finalTransform.mProp )), 'anchorPoint' ); return ( Object.defineProperties(c, { hasParent: { get: function () { return h.hierarchy.length; } }, parent: { get: function () { return h.hierarchy[0].layerInterface; } }, rotation: getDescriptor(p, 'rotation'), scale: getDescriptor(p, 'scale'), position: getDescriptor(p, 'position'), opacity: getDescriptor(p, 'opacity'), anchorPoint: d, anchor_point: d, transform: { get: function () { return p; } }, active: { get: function () { return h.isInRange; } } }), (c.startTime = h.data.st), (c.index = h.data.ind), (c.source = h.data.refId), (c.height = 0 === h.data.ty ? h.data.h : 100), (c.width = 0 === h.data.ty ? h.data.w : 100), (c.inPoint = h.data.ip / h.comp.globalData.frameRate), (c.outPoint = h.data.op / h.comp.globalData.frameRate), (c._name = h.data.nm), (c.registerMaskInterface = function (t) { c.mask = new MaskManagerInterface(t, h); }), (c.registerEffectsInterface = function (t) { c.effect = t; }), c ); }; })(), propertyGroupFactory = function (t, e) { return function (r) { return (r = void 0 === r ? 1 : r) <= 0 ? t : e(r - 1); }; }, PropertyInterface = function (t, e) { var r = { _name: t }; return function (t) { return (t = void 0 === t ? 1 : t) <= 0 ? r : e(t - 1); }; }, EffectsExpressionInterface = (function () { function t(r, a, i, s) { function n(t) { for (var e = r.ef, a = 0, i = e.length; a < i; ) { if (t === e[a].nm || t === e[a].mn || t === e[a].ix) return 5 === e[a].ty ? h[a] : h[a](); a += 1; } throw new Error(); } var o, l = propertyGroupFactory(n, i), h = [], p = r.ef.length; for (o = 0; o < p; o += 1) 5 === r.ef[o].ty ? h.push( t( r.ef[o], a.effectElements[o], a.effectElements[o].propertyGroup, s ) ) : h.push(e(a.effectElements[o], r.ef[o].ty, s, l)); return ( 'ADBE Color Control' === r.mn && Object.defineProperty(n, 'color', { get: function () { return h[0](); } }), Object.defineProperties(n, { numProperties: { get: function () { return r.np; } }, _name: { value: r.nm }, propertyGroup: { value: l } }), (n.enabled = 0 !== r.en), (n.active = n.enabled), n ); } function e(t, e, r, a) { var i = ExpressionPropertyInterface(t.p); return ( t.p.setGroupProperty && t.p.setGroupProperty(PropertyInterface('', a)), function () { return 10 === e ? r.comp.compInterface(t.p.v) : i(); } ); } return { createEffectsInterface: function (e, r) { if (e.effectsManager) { var a, i = [], s = e.data.ef, n = e.effectsManager.effectElements.length; for (a = 0; a < n; a += 1) i.push( t(s[a], e.effectsManager.effectElements[a], r, e) ); var o = e.data.ef || [], l = function (t) { for (a = 0, n = o.length; a < n; ) { if ( t === o[a].nm || t === o[a].mn || t === o[a].ix ) return i[a]; a += 1; } return null; }; return ( Object.defineProperty(l, 'numProperties', { get: function () { return o.length; } }), l ); } return null; } }; })(), ShapePathInterface = function (t, e, r) { var a = e.sh; function i(t) { return 'Shape' === t || 'shape' === t || 'Path' === t || 'path' === t || 'ADBE Vector Shape' === t || 2 === t ? i.path : null; } var s = propertyGroupFactory(i, r); return ( a.setGroupProperty(PropertyInterface('Path', s)), Object.defineProperties(i, { path: { get: function () { return a.k && a.getValue(), a; } }, shape: { get: function () { return a.k && a.getValue(), a; } }, _name: { value: t.nm }, ix: { value: t.ix }, propertyIndex: { value: t.ix }, mn: { value: t.mn }, propertyGroup: { value: r } }), i ); }, ShapeExpressionInterface = (function () { function t(t, n, d) { var f, m = [], u = t ? t.length : 0; for (f = 0; f < u; f += 1) 'gr' === t[f].ty ? m.push(e(t[f], n[f], d)) : 'fl' === t[f].ty ? m.push(r(t[f], n[f], d)) : 'st' === t[f].ty ? m.push(i(t[f], n[f], d)) : 'tm' === t[f].ty ? m.push(s(t[f], n[f], d)) : 'tr' === t[f].ty || ('el' === t[f].ty ? m.push(o(t[f], n[f], d)) : 'sr' === t[f].ty ? m.push(l(t[f], n[f], d)) : 'sh' === t[f].ty ? m.push(ShapePathInterface(t[f], n[f], d)) : 'rc' === t[f].ty ? m.push(h(t[f], n[f], d)) : 'rd' === t[f].ty ? m.push(p(t[f], n[f], d)) : 'rp' === t[f].ty ? m.push(c(t[f], n[f], d)) : 'gf' === t[f].ty ? m.push(a(t[f], n[f], d)) : m.push( (t[f], n[f], function () { return null; }) )); return m; } function e(e, r, a) { var i = function (t) { switch (t) { case 'ADBE Vectors Group': case 'Contents': case 2: return i.content; default: return i.transform; } }; i.propertyGroup = propertyGroupFactory(i, a); var s = (function (e, r, a) { var i, s = function (t) { for (var e = 0, r = i.length; e < r; ) { if ( i[e]._name === t || i[e].mn === t || i[e].propertyIndex === t || i[e].ix === t || i[e].ind === t ) return i[e]; e += 1; } return 'number' == typeof t ? i[t - 1] : null; }; (s.propertyGroup = propertyGroupFactory(s, a)), (i = t(e.it, r.it, s.propertyGroup)), (s.numProperties = i.length); var o = n( e.it[e.it.length - 1], r.it[r.it.length - 1], s.propertyGroup ); return ( (s.transform = o), (s.propertyIndex = e.cix), (s._name = e.nm), s ); })(e, r, i.propertyGroup), o = n( e.it[e.it.length - 1], r.it[r.it.length - 1], i.propertyGroup ); return ( (i.content = s), (i.transform = o), Object.defineProperty(i, '_name', { get: function () { return e.nm; } }), (i.numProperties = e.np), (i.propertyIndex = e.ix), (i.nm = e.nm), (i.mn = e.mn), i ); } function r(t, e, r) { function a(t) { return 'Color' === t || 'color' === t ? a.color : 'Opacity' === t || 'opacity' === t ? a.opacity : null; } return ( Object.defineProperties(a, { color: { get: ExpressionPropertyInterface(e.c) }, opacity: { get: ExpressionPropertyInterface(e.o) }, _name: { value: t.nm }, mn: { value: t.mn } }), e.c.setGroupProperty(PropertyInterface('Color', r)), e.o.setGroupProperty(PropertyInterface('Opacity', r)), a ); } function a(t, e, r) { function a(t) { return 'Start Point' === t || 'start point' === t ? a.startPoint : 'End Point' === t || 'end point' === t ? a.endPoint : 'Opacity' === t || 'opacity' === t ? a.opacity : null; } return ( Object.defineProperties(a, { startPoint: { get: ExpressionPropertyInterface(e.s) }, endPoint: { get: ExpressionPropertyInterface(e.e) }, opacity: { get: ExpressionPropertyInterface(e.o) }, type: { get: function () { return 'a'; } }, _name: { value: t.nm }, mn: { value: t.mn } }), e.s.setGroupProperty( PropertyInterface('Start Point', r) ), e.e.setGroupProperty(PropertyInterface('End Point', r)), e.o.setGroupProperty(PropertyInterface('Opacity', r)), a ); } function i(t, e, r) { var a, i = propertyGroupFactory(h, r), s = propertyGroupFactory(l, i); function n(r) { Object.defineProperty(l, t.d[r].nm, { get: ExpressionPropertyInterface(e.d.dataProps[r].p) }); } var o = t.d ? t.d.length : 0, l = {}; for (a = 0; a < o; a += 1) n(a), e.d.dataProps[a].p.setGroupProperty(s); function h(t) { return 'Color' === t || 'color' === t ? h.color : 'Opacity' === t || 'opacity' === t ? h.opacity : 'Stroke Width' === t || 'stroke width' === t ? h.strokeWidth : null; } return ( Object.defineProperties(h, { color: { get: ExpressionPropertyInterface(e.c) }, opacity: { get: ExpressionPropertyInterface(e.o) }, strokeWidth: { get: ExpressionPropertyInterface(e.w) }, dash: { get: function () { return l; } }, _name: { value: t.nm }, mn: { value: t.mn } }), e.c.setGroupProperty(PropertyInterface('Color', i)), e.o.setGroupProperty(PropertyInterface('Opacity', i)), e.w.setGroupProperty( PropertyInterface('Stroke Width', i) ), h ); } function s(t, e, r) { function a(e) { return e === t.e.ix || 'End' === e || 'end' === e ? a.end : e === t.s.ix ? a.start : e === t.o.ix ? a.offset : null; } var i = propertyGroupFactory(a, r); return ( (a.propertyIndex = t.ix), e.s.setGroupProperty(PropertyInterface('Start', i)), e.e.setGroupProperty(PropertyInterface('End', i)), e.o.setGroupProperty(PropertyInterface('Offset', i)), (a.propertyIndex = t.ix), (a.propertyGroup = r), Object.defineProperties(a, { start: { get: ExpressionPropertyInterface(e.s) }, end: { get: ExpressionPropertyInterface(e.e) }, offset: { get: ExpressionPropertyInterface(e.o) }, _name: { value: t.nm } }), (a.mn = t.mn), a ); } function n(t, e, r) { function a(e) { return t.a.ix === e || 'Anchor Point' === e ? a.anchorPoint : t.o.ix === e || 'Opacity' === e ? a.opacity : t.p.ix === e || 'Position' === e ? a.position : t.r.ix === e || 'Rotation' === e || 'ADBE Vector Rotation' === e ? a.rotation : t.s.ix === e || 'Scale' === e ? a.scale : (t.sk && t.sk.ix === e) || 'Skew' === e ? a.skew : (t.sa && t.sa.ix === e) || 'Skew Axis' === e ? a.skewAxis : null; } var i = propertyGroupFactory(a, r); return ( e.transform.mProps.o.setGroupProperty( PropertyInterface('Opacity', i) ), e.transform.mProps.p.setGroupProperty( PropertyInterface('Position', i) ), e.transform.mProps.a.setGroupProperty( PropertyInterface('Anchor Point', i) ), e.transform.mProps.s.setGroupProperty( PropertyInterface('Scale', i) ), e.transform.mProps.r.setGroupProperty( PropertyInterface('Rotation', i) ), e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty( PropertyInterface('Skew', i) ), e.transform.mProps.sa.setGroupProperty( PropertyInterface('Skew Angle', i) )), e.transform.op.setGroupProperty( PropertyInterface('Opacity', i) ), Object.defineProperties(a, { opacity: { get: ExpressionPropertyInterface( e.transform.mProps.o ) }, position: { get: ExpressionPropertyInterface( e.transform.mProps.p ) }, anchorPoint: { get: ExpressionPropertyInterface( e.transform.mProps.a ) }, scale: { get: ExpressionPropertyInterface( e.transform.mProps.s ) }, rotation: { get: ExpressionPropertyInterface( e.transform.mProps.r ) }, skew: { get: ExpressionPropertyInterface( e.transform.mProps.sk ) }, skewAxis: { get: ExpressionPropertyInterface( e.transform.mProps.sa ) }, _name: { value: t.nm } }), (a.ty = 'tr'), (a.mn = t.mn), (a.propertyGroup = r), a ); } function o(t, e, r) { function a(e) { return t.p.ix === e ? a.position : t.s.ix === e ? a.size : null; } var i = propertyGroupFactory(a, r); a.propertyIndex = t.ix; var s = 'tm' === e.sh.ty ? e.sh.prop : e.sh; return ( s.s.setGroupProperty(PropertyInterface('Size', i)), s.p.setGroupProperty(PropertyInterface('Position', i)), Object.defineProperties(a, { size: { get: ExpressionPropertyInterface(s.s) }, position: { get: ExpressionPropertyInterface(s.p) }, _name: { value: t.nm } }), (a.mn = t.mn), a ); } function l(t, e, r) { function a(e) { return t.p.ix === e ? a.position : t.r.ix === e ? a.rotation : t.pt.ix === e ? a.points : t.or.ix === e || 'ADBE Vector Star Outer Radius' === e ? a.outerRadius : t.os.ix === e ? a.outerRoundness : !t.ir || (t.ir.ix !== e && 'ADBE Vector Star Inner Radius' !== e) ? t.is && t.is.ix === e ? a.innerRoundness : null : a.innerRadius; } var i = propertyGroupFactory(a, r), s = 'tm' === e.sh.ty ? e.sh.prop : e.sh; return ( (a.propertyIndex = t.ix), s.or.setGroupProperty( PropertyInterface('Outer Radius', i) ), s.os.setGroupProperty( PropertyInterface('Outer Roundness', i) ), s.pt.setGroupProperty(PropertyInterface('Points', i)), s.p.setGroupProperty(PropertyInterface('Position', i)), s.r.setGroupProperty(PropertyInterface('Rotation', i)), t.ir && (s.ir.setGroupProperty( PropertyInterface('Inner Radius', i) ), s.is.setGroupProperty( PropertyInterface('Inner Roundness', i) )), Object.defineProperties(a, { position: { get: ExpressionPropertyInterface(s.p) }, rotation: { get: ExpressionPropertyInterface(s.r) }, points: { get: ExpressionPropertyInterface(s.pt) }, outerRadius: { get: ExpressionPropertyInterface(s.or) }, outerRoundness: { get: ExpressionPropertyInterface(s.os) }, innerRadius: { get: ExpressionPropertyInterface(s.ir) }, innerRoundness: { get: ExpressionPropertyInterface(s.is) }, _name: { value: t.nm } }), (a.mn = t.mn), a ); } function h(t, e, r) { function a(e) { return t.p.ix === e ? a.position : t.r.ix === e ? a.roundness : t.s.ix === e || 'Size' === e || 'ADBE Vector Rect Size' === e ? a.size : null; } var i = propertyGroupFactory(a, r), s = 'tm' === e.sh.ty ? e.sh.prop : e.sh; return ( (a.propertyIndex = t.ix), s.p.setGroupProperty(PropertyInterface('Position', i)), s.s.setGroupProperty(PropertyInterface('Size', i)), s.r.setGroupProperty(PropertyInterface('Rotation', i)), Object.defineProperties(a, { position: { get: ExpressionPropertyInterface(s.p) }, roundness: { get: ExpressionPropertyInterface(s.r) }, size: { get: ExpressionPropertyInterface(s.s) }, _name: { value: t.nm } }), (a.mn = t.mn), a ); } function p(t, e, r) { function a(e) { return t.r.ix === e || 'Round Corners 1' === e ? a.radius : null; } var i = propertyGroupFactory(a, r), s = e; return ( (a.propertyIndex = t.ix), s.rd.setGroupProperty(PropertyInterface('Radius', i)), Object.defineProperties(a, { radius: { get: ExpressionPropertyInterface(s.rd) }, _name: { value: t.nm } }), (a.mn = t.mn), a ); } function c(t, e, r) { function a(e) { return t.c.ix === e || 'Copies' === e ? a.copies : t.o.ix === e || 'Offset' === e ? a.offset : null; } var i = propertyGroupFactory(a, r), s = e; return ( (a.propertyIndex = t.ix), s.c.setGroupProperty(PropertyInterface('Copies', i)), s.o.setGroupProperty(PropertyInterface('Offset', i)), Object.defineProperties(a, { copies: { get: ExpressionPropertyInterface(s.c) }, offset: { get: ExpressionPropertyInterface(s.o) }, _name: { value: t.nm } }), (a.mn = t.mn), a ); } return function (e, r, a) { var i; function s(t) { if ('number' == typeof t) return 0 === (t = void 0 === t ? 1 : t) ? a : i[t - 1]; for (var e = 0, r = i.length; e < r; ) { if (i[e]._name === t) return i[e]; e += 1; } return null; } return ( (s.propertyGroup = propertyGroupFactory(s, function () { return a; })), (i = t(e, r, s.propertyGroup)), (s.numProperties = i.length), (s._name = 'Contents'), s ); }; })(), TextExpressionInterface = function (t) { var e; function r(t) { return 'ADBE Text Document' === t ? r.sourceText : null; } return ( Object.defineProperty(r, 'sourceText', { get: function () { t.textProperty.getValue(); var r = t.textProperty.currentData.t; return ( (e && r === e.value) || (((e = new String(r)).value = r || new String(r)), Object.defineProperty(e, 'style', { get: function () { return { fillColor: t.textProperty.currentData.fc }; } })), e ); } }), r ); }; function _typeof(t) { return ( (_typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && 'function' == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? 'symbol' : typeof t; }), _typeof(t) ); } var FootageInterface = ((dataInterfaceFactory = function (t) { function e(t) { return 'Outline' === t ? e.outlineInterface() : null; } return ( (e._name = 'Outline'), (e.outlineInterface = (function (t) { var e = '', r = t.getFootageData(); function a(t) { if (r[t]) return ( (e = t), 'object' === _typeof((r = r[t])) ? a : r ); var i = t.indexOf(e); if (-1 !== i) { var s = parseInt(t.substr(i + e.length), 10); return 'object' === _typeof((r = r[s])) ? a : r; } return ''; } return function () { return (e = ''), (r = t.getFootageData()), a; }; })(t)), e ); }), function (t) { function e(t) { return 'Data' === t ? e.dataInterface : null; } return ( (e._name = 'Data'), (e.dataInterface = dataInterfaceFactory(t)), e ); }), dataInterfaceFactory, interfaces = { layer: LayerExpressionInterface, effects: EffectsExpressionInterface, comp: CompExpressionInterface, shape: ShapeExpressionInterface, text: TextExpressionInterface, footage: FootageInterface }; function getInterface(t) { return interfaces[t] || null; } var expressionHelpers = { searchExpressions: function (t, e, r) { e.x && ((r.k = !0), (r.x = !0), (r.initiateExpression = ExpressionManager.initiateExpression), r.effectsSequence.push( r.initiateExpression(t, e, r).bind(r) )); }, getSpeedAtTime: function (t) { var e = this.getValueAtTime(t), r = this.getValueAtTime(t + -0.01), a = 0; if (e.length) { var i; for (i = 0; i < e.length; i += 1) a += Math.pow(r[i] - e[i], 2); a = 100 * Math.sqrt(a); } else a = 0; return a; }, getVelocityAtTime: function (t) { if (void 0 !== this.vel) return this.vel; var e, r, a = -0.001, i = this.getValueAtTime(t), s = this.getValueAtTime(t + a); if (i.length) for ( e = createTypedArray('float32', i.length), r = 0; r < i.length; r += 1 ) e[r] = (s[r] - i[r]) / a; else e = (s - i) / a; return e; }, getValueAtTime: function (t) { return ( (t *= this.elem.globalData.frameRate), (t -= this.offsetTime) !== this._cachingAtTime.lastFrame && ((this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t ? this._cachingAtTime.lastIndex : 0), (this._cachingAtTime.value = this.interpolateValue( t, this._cachingAtTime )), (this._cachingAtTime.lastFrame = t)), this._cachingAtTime.value ); }, getStaticValueAtTime: function () { return this.pv; }, setGroupProperty: function (t) { this.propertyGroup = t; } }; function addPropertyDecorator() { function t(t, e, r) { if (!this.k || !this.keyframes) return this.pv; t = t ? t.toLowerCase() : ''; var a, i, s, n, o, l = this.comp.renderedFrame, h = this.keyframes, p = h[h.length - 1].t; if (l <= p) return this.pv; if ( (r ? (i = p - (a = e ? Math.abs( p - this.elem.comp.globalData.frameRate * e ) : Math.max(0, p - this.elem.data.ip))) : ((!e || e > h.length - 1) && (e = h.length - 1), (a = p - (i = h[h.length - 1 - e].t))), 'pingpong' === t) ) { if (Math.floor((l - i) / a) % 2 != 0) return this.getValueAtTime( (a - ((l - i) % a) + i) / this.comp.globalData.frameRate, 0 ); } else { if ('offset' === t) { var c = this.getValueAtTime( i / this.comp.globalData.frameRate, 0 ), d = this.getValueAtTime( p / this.comp.globalData.frameRate, 0 ), f = this.getValueAtTime( (((l - i) % a) + i) / this.comp.globalData.frameRate, 0 ), m = Math.floor((l - i) / a); if (this.pv.length) { for ( n = (o = new Array(c.length)).length, s = 0; s < n; s += 1 ) o[s] = (d[s] - c[s]) * m + f[s]; return o; } return (d - c) * m + f; } if ('continue' === t) { var u = this.getValueAtTime( p / this.comp.globalData.frameRate, 0 ), g = this.getValueAtTime( (p - 0.001) / this.comp.globalData.frameRate, 0 ); if (this.pv.length) { for ( n = (o = new Array(u.length)).length, s = 0; s < n; s += 1 ) o[s] = u[s] + ((u[s] - g[s]) * ((l - p) / this.comp.globalData.frameRate)) / 5e-4; return o; } return u + ((l - p) / 0.001) * (u - g); } } return this.getValueAtTime( (((l - i) % a) + i) / this.comp.globalData.frameRate, 0 ); } function e(t, e, r) { if (!this.k) return this.pv; t = t ? t.toLowerCase() : ''; var a, i, s, n, o, l = this.comp.renderedFrame, h = this.keyframes, p = h[0].t; if (l >= p) return this.pv; if ( (r ? (i = p + (a = e ? Math.abs( this.elem.comp.globalData.frameRate * e ) : Math.max(0, this.elem.data.op - p))) : ((!e || e > h.length - 1) && (e = h.length - 1), (a = (i = h[e].t) - p)), 'pingpong' === t) ) { if (Math.floor((p - l) / a) % 2 == 0) return this.getValueAtTime( (((p - l) % a) + p) / this.comp.globalData.frameRate, 0 ); } else { if ('offset' === t) { var c = this.getValueAtTime( p / this.comp.globalData.frameRate, 0 ), d = this.getValueAtTime( i / this.comp.globalData.frameRate, 0 ), f = this.getValueAtTime( (a - ((p - l) % a) + p) / this.comp.globalData.frameRate, 0 ), m = Math.floor((p - l) / a) + 1; if (this.pv.length) { for ( n = (o = new Array(c.length)).length, s = 0; s < n; s += 1 ) o[s] = f[s] - (d[s] - c[s]) * m; return o; } return f - (d - c) * m; } if ('continue' === t) { var u = this.getValueAtTime( p / this.comp.globalData.frameRate, 0 ), g = this.getValueAtTime( (p + 0.001) / this.comp.globalData.frameRate, 0 ); if (this.pv.length) { for ( n = (o = new Array(u.length)).length, s = 0; s < n; s += 1 ) o[s] = u[s] + ((u[s] - g[s]) * (p - l)) / 0.001; return o; } return u + ((u - g) * (p - l)) / 0.001; } } return this.getValueAtTime( (a - (((p - l) % a) + p)) / this.comp.globalData.frameRate, 0 ); } function r(t, e) { if (!this.k) return this.pv; if (((t = 0.5 * (t || 0.4)), (e = Math.floor(e || 5)) <= 1)) return this.pv; var r, a, i = this.comp.renderedFrame / this.comp.globalData.frameRate, s = i - t, n = e > 1 ? (i + t - s) / (e - 1) : 1, o = 0, l = 0; for ( r = this.pv.length ? createTypedArray('float32', this.pv.length) : 0; o < e; ) { if ( ((a = this.getValueAtTime(s + o * n)), this.pv.length) ) for (l = 0; l < this.pv.length; l += 1) r[l] += a[l]; else r += a; o += 1; } if (this.pv.length) for (l = 0; l < this.pv.length; l += 1) r[l] /= e; else r /= e; return r; } function a(t) { this._transformCachingAtTime || (this._transformCachingAtTime = { v: new Matrix() }); var e = this._transformCachingAtTime.v; if ( (e.cloneFromProps(this.pre.props), this.appliedTransformations < 1) ) { var r = this.a.getValueAtTime(t); e.translate( -r[0] * this.a.mult, -r[1] * this.a.mult, r[2] * this.a.mult ); } if (this.appliedTransformations < 2) { var a = this.s.getValueAtTime(t); e.scale( a[0] * this.s.mult, a[1] * this.s.mult, a[2] * this.s.mult ); } if (this.sk && this.appliedTransformations < 3) { var i = this.sk.getValueAtTime(t), s = this.sa.getValueAtTime(t); e.skewFromAxis(-i * this.sk.mult, s * this.sa.mult); } if (this.r && this.appliedTransformations < 4) { var n = this.r.getValueAtTime(t); e.rotate(-n * this.r.mult); } else if (!this.r && this.appliedTransformations < 4) { var o = this.rz.getValueAtTime(t), l = this.ry.getValueAtTime(t), h = this.rx.getValueAtTime(t), p = this.or.getValueAtTime(t); e.rotateZ(-o * this.rz.mult) .rotateY(l * this.ry.mult) .rotateX(h * this.rx.mult) .rotateZ(-p[2] * this.or.mult) .rotateY(p[1] * this.or.mult) .rotateX(p[0] * this.or.mult); } if (this.data.p && this.data.p.s) { var c = this.px.getValueAtTime(t), d = this.py.getValueAtTime(t); if (this.data.p.z) { var f = this.pz.getValueAtTime(t); e.translate( c * this.px.mult, d * this.py.mult, -f * this.pz.mult ); } else e.translate(c * this.px.mult, d * this.py.mult, 0); } else { var m = this.p.getValueAtTime(t); e.translate( m[0] * this.p.mult, m[1] * this.p.mult, -m[2] * this.p.mult ); } return e; } function i() { return this.v.clone(new Matrix()); } var s = TransformPropertyFactory.getTransformProperty; TransformPropertyFactory.getTransformProperty = function ( t, e, r ) { var n = s(t, e, r); return ( n.dynamicProperties.length ? (n.getValueAtTime = a.bind(n)) : (n.getValueAtTime = i.bind(n)), (n.setGroupProperty = expressionHelpers.setGroupProperty), n ); }; var n = PropertyFactory.getProp; PropertyFactory.getProp = function (a, i, s, o, l) { var h = n(a, i, s, o, l); h.kf ? (h.getValueAtTime = expressionHelpers.getValueAtTime.bind(h)) : (h.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(h)), (h.setGroupProperty = expressionHelpers.setGroupProperty), (h.loopOut = t), (h.loopIn = e), (h.smooth = r), (h.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(h)), (h.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(h)), (h.numKeys = 1 === i.a ? i.k.length : 0), (h.propertyIndex = i.ix); var p = 0; return ( 0 !== s && (p = createTypedArray( 'float32', 1 === i.a ? i.k[0].s.length : i.k.length )), (h._cachingAtTime = { lastFrame: initialDefaultFrame, lastIndex: 0, value: p }), expressionHelpers.searchExpressions(a, i, h), h.k && l.addDynamicProperty(h), h ); }; var o = ShapePropertyFactory.getConstructorFunction(), l = ShapePropertyFactory.getKeyframedConstructorFunction(); function h() {} (h.prototype = { vertices: function (t, e) { this.k && this.getValue(); var r, a = this.v; void 0 !== e && (a = this.getValueAtTime(e, 0)); var i = a._length, s = a[t], n = a.v, o = createSizedArray(i); for (r = 0; r < i; r += 1) o[r] = 'i' === t || 'o' === t ? [s[r][0] - n[r][0], s[r][1] - n[r][1]] : [s[r][0], s[r][1]]; return o; }, points: function (t) { return this.vertices('v', t); }, inTangents: function (t) { return this.vertices('i', t); }, outTangents: function (t) { return this.vertices('o', t); }, isClosed: function () { return this.v.c; }, pointOnPath: function (t, e) { var r = this.v; void 0 !== e && (r = this.getValueAtTime(e, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(r)); for ( var a, i = this._segmentsLength, s = i.lengths, n = i.totalLength * t, o = 0, l = s.length, h = 0; o < l; ) { if (h + s[o].addedLength > n) { var p = o, c = r.c && o === l - 1 ? 0 : o + 1, d = (n - h) / s[o].addedLength; a = bez.getPointInSegment( r.v[p], r.v[c], r.o[p], r.i[c], d, s[o] ); break; } (h += s[o].addedLength), (o += 1); } return ( a || (a = r.c ? [r.v[0][0], r.v[0][1]] : [r.v[r._length - 1][0], r.v[r._length - 1][1]]), a ); }, vectorOnPath: function (t, e, r) { 1 == t ? (t = this.v.c) : 0 == t && (t = 0.999); var a = this.pointOnPath(t, e), i = this.pointOnPath(t + 0.001, e), s = i[0] - a[0], n = i[1] - a[1], o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2)); return 0 === o ? [0, 0] : 'tangent' === r ? [s / o, n / o] : [-n / o, s / o]; }, tangentOnPath: function (t, e) { return this.vectorOnPath(t, e, 'tangent'); }, normalOnPath: function (t, e) { return this.vectorOnPath(t, e, 'normal'); }, setGroupProperty: expressionHelpers.setGroupProperty, getValueAtTime: expressionHelpers.getStaticValueAtTime }), extendPrototype([h], o), extendPrototype([h], l), (l.prototype.getValueAtTime = function (t) { return ( this._cachingAtTime || (this._cachingAtTime = { shapeValue: shapePool.clone(this.pv), lastIndex: 0, lastTime: initialDefaultFrame }), (t *= this.elem.globalData.frameRate), (t -= this.offsetTime) !== this._cachingAtTime.lastTime && ((this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t ? this._caching.lastIndex : 0), (this._cachingAtTime.lastTime = t), this.interpolateShape( t, this._cachingAtTime.shapeValue, this._cachingAtTime )), this._cachingAtTime.shapeValue ); }), (l.prototype.initiateExpression = ExpressionManager.initiateExpression); var p = ShapePropertyFactory.getShapeProp; ShapePropertyFactory.getShapeProp = function (t, e, r, a, i) { var s = p(t, e, r, a, i); return ( (s.propertyIndex = e.ix), (s.lock = !1), 3 === r ? expressionHelpers.searchExpressions(t, e.pt, s) : 4 === r && expressionHelpers.searchExpressions(t, e.ks, s), s.k && t.addDynamicProperty(s), s ); }; } function initialize$1() { addPropertyDecorator(); } function addDecorator() { (TextProperty.prototype.getExpressionValue = function (t, e) { var r = this.calculateExpression(e); if (t.t !== r) { var a = {}; return ( this.copyData(a, t), (a.t = r.toString()), (a.__complete = !1), a ); } return t; }), (TextProperty.prototype.searchProperty = function () { var t = this.searchKeyframes(), e = this.searchExpressions(); return (this.kf = t || e), this.kf; }), (TextProperty.prototype.searchExpressions = function () { return this.data.d.x ? ((this.calculateExpression = ExpressionManager.initiateExpression.bind(this)( this.elem, this.data.d, this )), this.addEffect(this.getExpressionValue.bind(this)), !0) : null; }); } function initialize() { addDecorator(); } function SVGComposableEffect() {} SVGComposableEffect.prototype = { createMergeNode: function (t, e) { var r, a, i = createNS('feMerge'); for ( i.setAttribute('result', t), a = 0; a < e.length; a += 1 ) (r = createNS('feMergeNode')).setAttribute('in', e[a]), i.appendChild(r), i.appendChild(r); return i; } }; var linearFilterValue = '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0'; function SVGTintFilter(t, e, r, a, i) { this.filterManager = e; var s = createNS('feColorMatrix'); s.setAttribute('type', 'matrix'), s.setAttribute('color-interpolation-filters', 'linearRGB'), s.setAttribute('values', linearFilterValue + ' 1 0'), (this.linearFilter = s), s.setAttribute('result', a + '_tint_1'), t.appendChild(s), (s = createNS('feColorMatrix')).setAttribute( 'type', 'matrix' ), s.setAttribute('color-interpolation-filters', 'sRGB'), s.setAttribute( 'values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0' ), s.setAttribute('result', a + '_tint_2'), t.appendChild(s), (this.matrixFilter = s); var n = this.createMergeNode(a, [ i, a + '_tint_1', a + '_tint_2' ]); t.appendChild(n); } function SVGFillFilter(t, e, r, a) { this.filterManager = e; var i = createNS('feColorMatrix'); i.setAttribute('type', 'matrix'), i.setAttribute('color-interpolation-filters', 'sRGB'), i.setAttribute( 'values', '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0' ), i.setAttribute('result', a), t.appendChild(i), (this.matrixFilter = i); } function SVGStrokeEffect(t, e, r) { (this.initialized = !1), (this.filterManager = e), (this.elem = r), (this.paths = []); } function SVGTritoneFilter(t, e, r, a) { this.filterManager = e; var i = createNS('feColorMatrix'); i.setAttribute('type', 'matrix'), i.setAttribute('color-interpolation-filters', 'linearRGB'), i.setAttribute( 'values', '0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0' ), t.appendChild(i); var s = createNS('feComponentTransfer'); s.setAttribute('color-interpolation-filters', 'sRGB'), s.setAttribute('result', a), (this.matrixFilter = s); var n = createNS('feFuncR'); n.setAttribute('type', 'table'), s.appendChild(n), (this.feFuncR = n); var o = createNS('feFuncG'); o.setAttribute('type', 'table'), s.appendChild(o), (this.feFuncG = o); var l = createNS('feFuncB'); l.setAttribute('type', 'table'), s.appendChild(l), (this.feFuncB = l), t.appendChild(s); } function SVGProLevelsFilter(t, e, r, a) { this.filterManager = e; var i = this.filterManager.effectElements, s = createNS('feComponentTransfer'); (i[10].p.k || 0 !== i[10].p.v || i[11].p.k || 1 !== i[11].p.v || i[12].p.k || 1 !== i[12].p.v || i[13].p.k || 0 !== i[13].p.v || i[14].p.k || 1 !== i[14].p.v) && (this.feFuncR = this.createFeFunc('feFuncR', s)), (i[17].p.k || 0 !== i[17].p.v || i[18].p.k || 1 !== i[18].p.v || i[19].p.k || 1 !== i[19].p.v || i[20].p.k || 0 !== i[20].p.v || i[21].p.k || 1 !== i[21].p.v) && (this.feFuncG = this.createFeFunc('feFuncG', s)), (i[24].p.k || 0 !== i[24].p.v || i[25].p.k || 1 !== i[25].p.v || i[26].p.k || 1 !== i[26].p.v || i[27].p.k || 0 !== i[27].p.v || i[28].p.k || 1 !== i[28].p.v) && (this.feFuncB = this.createFeFunc('feFuncB', s)), (i[31].p.k || 0 !== i[31].p.v || i[32].p.k || 1 !== i[32].p.v || i[33].p.k || 1 !== i[33].p.v || i[34].p.k || 0 !== i[34].p.v || i[35].p.k || 1 !== i[35].p.v) && (this.feFuncA = this.createFeFunc('feFuncA', s)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (s.setAttribute('color-interpolation-filters', 'sRGB'), t.appendChild(s)), (i[3].p.k || 0 !== i[3].p.v || i[4].p.k || 1 !== i[4].p.v || i[5].p.k || 1 !== i[5].p.v || i[6].p.k || 0 !== i[6].p.v || i[7].p.k || 1 !== i[7].p.v) && ((s = createNS('feComponentTransfer')).setAttribute( 'color-interpolation-filters', 'sRGB' ), s.setAttribute('result', a), t.appendChild(s), (this.feFuncRComposed = this.createFeFunc('feFuncR', s)), (this.feFuncGComposed = this.createFeFunc('feFuncG', s)), (this.feFuncBComposed = this.createFeFunc('feFuncB', s))); } function SVGDropShadowEffect(t, e, r, a, i) { var s = e.container.globalData.renderConfig.filterSize, n = e.data.fs || s; t.setAttribute('x', n.x || s.x), t.setAttribute('y', n.y || s.y), t.setAttribute('width', n.width || s.width), t.setAttribute('height', n.height || s.height), (this.filterManager = e); var o = createNS('feGaussianBlur'); o.setAttribute('in', 'SourceAlpha'), o.setAttribute('result', a + '_drop_shadow_1'), o.setAttribute('stdDeviation', '0'), (this.feGaussianBlur = o), t.appendChild(o); var l = createNS('feOffset'); l.setAttribute('dx', '25'), l.setAttribute('dy', '0'), l.setAttribute('in', a + '_drop_shadow_1'), l.setAttribute('result', a + '_drop_shadow_2'), (this.feOffset = l), t.appendChild(l); var h = createNS('feFlood'); h.setAttribute('flood-color', '#00ff00'), h.setAttribute('flood-opacity', '1'), h.setAttribute('result', a + '_drop_shadow_3'), (this.feFlood = h), t.appendChild(h); var p = createNS('feComposite'); p.setAttribute('in', a + '_drop_shadow_3'), p.setAttribute('in2', a + '_drop_shadow_2'), p.setAttribute('operator', 'in'), p.setAttribute('result', a + '_drop_shadow_4'), t.appendChild(p); var c = this.createMergeNode(a, [a + '_drop_shadow_4', i]); t.appendChild(c); } extendPrototype([SVGComposableEffect], SVGTintFilter), (SVGTintFilter.prototype.renderFrame = function (t) { if (t || this.filterManager._mdf) { var e = this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, a = this.filterManager.effectElements[2].p.v / 100; this.linearFilter.setAttribute( 'values', linearFilterValue + ' ' + a + ' 0' ), this.matrixFilter.setAttribute( 'values', r[0] - e[0] + ' 0 0 0 ' + e[0] + ' ' + (r[1] - e[1]) + ' 0 0 0 ' + e[1] + ' ' + (r[2] - e[2]) + ' 0 0 0 ' + e[2] + ' 0 0 0 1 0' ); } }), (SVGFillFilter.prototype.renderFrame = function (t) { if (t || this.filterManager._mdf) { var e = this.filterManager.effectElements[2].p.v, r = this.filterManager.effectElements[6].p.v; this.matrixFilter.setAttribute( 'values', '0 0 0 0 ' + e[0] + ' 0 0 0 0 ' + e[1] + ' 0 0 0 0 ' + e[2] + ' 0 0 0 ' + r + ' 0' ); } }), (SVGStrokeEffect.prototype.initialize = function () { var t, e, r, a, i = this.elem.layerElement.children || this.elem.layerElement.childNodes; for ( 1 === this.filterManager.effectElements[1].p.v ? ((a = this.elem.maskManager.masksProperties.length), (r = 0)) : (a = 1 + (r = this.filterManager.effectElements[0].p.v - 1)), (e = createNS('g')).setAttribute('fill', 'none'), e.setAttribute('stroke-linecap', 'round'), e.setAttribute('stroke-dashoffset', 1); r < a; r += 1 ) (t = createNS('path')), e.appendChild(t), this.paths.push({ p: t, m: r }); if (3 === this.filterManager.effectElements[10].p.v) { var s = createNS('mask'), n = createElementID(); s.setAttribute('id', n), s.setAttribute('mask-type', 'alpha'), s.appendChild(e), this.elem.globalData.defs.appendChild(s); var o = createNS('g'); for ( o.setAttribute( 'mask', 'url(' + getLocationHref() + '#' + n + ')' ); i[0]; ) o.appendChild(i[0]); this.elem.layerElement.appendChild(o), (this.masker = s), e.setAttribute('stroke', '#fff'); } else if ( 1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v ) { if (2 === this.filterManager.effectElements[10].p.v) for ( i = this.elem.layerElement.children || this.elem.layerElement.childNodes; i.length; ) this.elem.layerElement.removeChild(i[0]); this.elem.layerElement.appendChild(e), this.elem.layerElement.removeAttribute('mask'), e.setAttribute('stroke', '#fff'); } (this.initialized = !0), (this.pathMasker = e); }), (SVGStrokeEffect.prototype.renderFrame = function (t) { var e; this.initialized || this.initialize(); var r, a, i = this.paths.length; for (e = 0; e < i; e += 1) if ( -1 !== this.paths[e].m && ((r = this.elem.maskManager.viewData[this.paths[e].m]), (a = this.paths[e].p), (t || this.filterManager._mdf || r.prop._mdf) && a.setAttribute('d', r.lastPath), t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r.prop._mdf) ) { var s; if ( 0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v ) { var n = 0.01 * Math.min( this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v ), o = 0.01 * Math.max( this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v ), l = a.getTotalLength(); s = '0 0 0 ' + l * n + ' '; var h, p = l * (o - n), c = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01, d = Math.floor(p / c); for (h = 0; h < d; h += 1) s += '1 ' + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01 + ' '; s += '0 ' + 10 * l + ' 0 0'; } else s = '1 ' + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * 0.01; a.setAttribute('stroke-dasharray', s); } if ( ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute( 'stroke-width', 2 * this.filterManager.effectElements[4].p.v ), (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute( 'opacity', this.filterManager.effectElements[6].p.v ), (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t || this.filterManager.effectElements[3].p._mdf)) ) { var f = this.filterManager.effectElements[3].p.v; this.pathMasker.setAttribute( 'stroke', 'rgb(' + bmFloor(255 * f[0]) + ',' + bmFloor(255 * f[1]) + ',' + bmFloor(255 * f[2]) + ')' ); } }), (SVGTritoneFilter.prototype.renderFrame = function (t) { if (t || this.filterManager._mdf) { var e = this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, a = this.filterManager.effectElements[2].p.v, i = a[0] + ' ' + r[0] + ' ' + e[0], s = a[1] + ' ' + r[1] + ' ' + e[1], n = a[2] + ' ' + r[2] + ' ' + e[2]; this.feFuncR.setAttribute('tableValues', i), this.feFuncG.setAttribute('tableValues', s), this.feFuncB.setAttribute('tableValues', n); } }), (SVGProLevelsFilter.prototype.createFeFunc = function (t, e) { var r = createNS(t); return r.setAttribute('type', 'table'), e.appendChild(r), r; }), (SVGProLevelsFilter.prototype.getTableValue = function ( t, e, r, a, i ) { for ( var s, n, o = 0, l = Math.min(t, e), h = Math.max(t, e), p = Array.call(null, { length: 256 }), c = 0, d = i - a, f = e - t; o <= 256; ) (n = (s = o / 256) <= l ? f < 0 ? i : a : s >= h ? f < 0 ? a : i : a + d * Math.pow((s - t) / f, 1 / r)), (p[c] = n), (c += 1), (o += 256 / 255); return p.join(' '); }), (SVGProLevelsFilter.prototype.renderFrame = function (t) { if (t || this.filterManager._mdf) { var e, r = this.filterManager.effectElements; this.feFuncRComposed && (t || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && ((e = this.getTableValue( r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v )), this.feFuncRComposed.setAttribute('tableValues', e), this.feFuncGComposed.setAttribute('tableValues', e), this.feFuncBComposed.setAttribute('tableValues', e)), this.feFuncR && (t || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && ((e = this.getTableValue( r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v )), this.feFuncR.setAttribute('tableValues', e)), this.feFuncG && (t || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && ((e = this.getTableValue( r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v )), this.feFuncG.setAttribute('tableValues', e)), this.feFuncB && (t || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && ((e = this.getTableValue( r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v )), this.feFuncB.setAttribute('tableValues', e)), this.feFuncA && (t || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && ((e = this.getTableValue( r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v )), this.feFuncA.setAttribute('tableValues', e)); } }), extendPrototype([SVGComposableEffect], SVGDropShadowEffect), (SVGDropShadowEffect.prototype.renderFrame = function (t) { if (t || this.filterManager._mdf) { if ( ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute( 'stdDeviation', this.filterManager.effectElements[4].p.v / 4 ), t || this.filterManager.effectElements[0].p._mdf) ) { var e = this.filterManager.effectElements[0].p.v; this.feFlood.setAttribute( 'flood-color', rgbToHex( Math.round(255 * e[0]), Math.round(255 * e[1]), Math.round(255 * e[2]) ) ); } if ( ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute( 'flood-opacity', this.filterManager.effectElements[1].p.v / 255 ), t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) ) { var r = this.filterManager.effectElements[3].p.v, a = (this.filterManager.effectElements[2].p.v - 90) * degToRads, i = r * Math.cos(a), s = r * Math.sin(a); this.feOffset.setAttribute('dx', i), this.feOffset.setAttribute('dy', s); } } }); var _svgMatteSymbols = []; function SVGMatte3Effect(t, e, r) { (this.initialized = !1), (this.filterManager = e), (this.filterElem = t), (this.elem = r), (r.matteElement = createNS('g')), r.matteElement.appendChild(r.layerElement), r.matteElement.appendChild(r.transformedElement), (r.baseElement = r.matteElement); } function SVGGaussianBlurEffect(t, e, r, a) { t.setAttribute('x', '-100%'), t.setAttribute('y', '-100%'), t.setAttribute('width', '300%'), t.setAttribute('height', '300%'), (this.filterManager = e); var i = createNS('feGaussianBlur'); i.setAttribute('result', a), t.appendChild(i), (this.feGaussianBlur = i); } function TransformEffect() {} function SVGTransformEffect(t, e) { this.init(e); } function CVTransformEffect(t) { this.init(t); } return ( (SVGMatte3Effect.prototype.findSymbol = function (t) { for (var e = 0, r = _svgMatteSymbols.length; e < r; ) { if (_svgMatteSymbols[e] === t) return _svgMatteSymbols[e]; e += 1; } return null; }), (SVGMatte3Effect.prototype.replaceInParent = function (t, e) { var r = t.layerElement.parentNode; if (r) { for ( var a, i = r.children, s = 0, n = i.length; s < n && i[s] !== t.layerElement; ) s += 1; s <= n - 2 && (a = i[s + 1]); var o = createNS('use'); o.setAttribute('href', '#' + e), a ? r.insertBefore(o, a) : r.appendChild(o); } }), (SVGMatte3Effect.prototype.setElementAsMask = function ( t, e ) { if (!this.findSymbol(e)) { var r = createElementID(), a = createNS('mask'); a.setAttribute('id', e.layerId), a.setAttribute('mask-type', 'alpha'), _svgMatteSymbols.push(e); var i = t.globalData.defs; i.appendChild(a); var s = createNS('symbol'); s.setAttribute('id', r), this.replaceInParent(e, r), s.appendChild(e.layerElement), i.appendChild(s); var n = createNS('use'); n.setAttribute('href', '#' + r), a.appendChild(n), (e.data.hd = !1), e.show(); } t.setMatte(e.layerId); }), (SVGMatte3Effect.prototype.initialize = function () { for ( var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, r = 0, a = e.length; r < a; ) e[r] && e[r].data.ind === t && this.setElementAsMask(this.elem, e[r]), (r += 1); this.initialized = !0; }), (SVGMatte3Effect.prototype.renderFrame = function () { this.initialized || this.initialize(); }), (SVGGaussianBlurEffect.prototype.renderFrame = function (t) { if (t || this.filterManager._mdf) { var e = 0.3 * this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, a = 3 == r ? 0 : e, i = 2 == r ? 0 : e; this.feGaussianBlur.setAttribute( 'stdDeviation', a + ' ' + i ); var s = 1 == this.filterManager.effectElements[2].p.v ? 'wrap' : 'duplicate'; this.feGaussianBlur.setAttribute('edgeMode', s); } }), (TransformEffect.prototype.init = function (t) { (this.effectsManager = t), (this.type = effectTypes.TRANSFORM_EFFECT), (this.matrix = new Matrix()), (this.opacity = -1), (this._mdf = !1), (this._opMdf = !1); }), (TransformEffect.prototype.renderFrame = function (t) { if ( ((this._opMdf = !1), (this._mdf = !1), t || this.effectsManager._mdf) ) { var e = this.effectsManager.effectElements, r = e[0].p.v, a = e[1].p.v, i = 1 === e[2].p.v, s = e[3].p.v, n = i ? s : e[4].p.v, o = e[5].p.v, l = e[6].p.v, h = e[7].p.v; this.matrix.reset(), this.matrix.translate(-r[0], -r[1], r[2]), this.matrix.scale(0.01 * n, 0.01 * s, 1), this.matrix.rotate(-h * degToRads), this.matrix.skewFromAxis( -o * degToRads, (l + 90) * degToRads ), this.matrix.translate(a[0], a[1], 0), (this._mdf = !0), this.opacity !== e[8].p.v && ((this.opacity = e[8].p.v), (this._opMdf = !0)); } }), extendPrototype([TransformEffect], SVGTransformEffect), extendPrototype([TransformEffect], CVTransformEffect), registerRenderer('canvas', CanvasRenderer), registerRenderer('html', HybridRenderer), registerRenderer('svg', SVGRenderer), ShapeModifiers.registerModifier('tm', TrimModifier), ShapeModifiers.registerModifier('pb', PuckerAndBloatModifier), ShapeModifiers.registerModifier('rp', RepeaterModifier), ShapeModifiers.registerModifier('rd', RoundCornersModifier), ShapeModifiers.registerModifier('zz', ZigZagModifier), ShapeModifiers.registerModifier('op', OffsetPathModifier), setExpressionsPlugin(Expressions), setExpressionInterfaces(getInterface), initialize$1(), initialize(), registerEffect$1(20, SVGTintFilter, !0), registerEffect$1(21, SVGFillFilter, !0), registerEffect$1(22, SVGStrokeEffect, !1), registerEffect$1(23, SVGTritoneFilter, !0), registerEffect$1(24, SVGProLevelsFilter, !0), registerEffect$1(25, SVGDropShadowEffect, !0), registerEffect$1(28, SVGMatte3Effect, !1), registerEffect$1(29, SVGGaussianBlurEffect, !0), registerEffect$1(35, SVGTransformEffect, !1), registerEffect(35, CVTransformEffect), lottie ); }), (module.exports = factory())); })(lottie, lottie.exports); var lottieExports = lottie.exports; const Lottie = getDefaultExportFromCjs(lottieExports); var freeGlobal = 'object' == typeof global && global && global.Object === Object && global, freeGlobal$1 = freeGlobal, freeSelf = 'object' == typeof self && self && self.Object === Object && self, root = freeGlobal$1 || freeSelf || Function('return this')(), root$1 = root, Symbol$1 = root$1.Symbol, Symbol$2 = Symbol$1, objectProto$e = Object.prototype, hasOwnProperty$b = objectProto$e.hasOwnProperty, nativeObjectToString$1 = objectProto$e.toString, symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : void 0; function getRawTag(t) { var e = hasOwnProperty$b.call(t, symToStringTag$1), r = t[symToStringTag$1]; try { t[symToStringTag$1] = void 0; var a = !0; } catch (s) {} var i = nativeObjectToString$1.call(t); return ( a && (e ? (t[symToStringTag$1] = r) : delete t[symToStringTag$1]), i ); } var objectProto$d = Object.prototype, nativeObjectToString = objectProto$d.toString; function objectToString(t) { return nativeObjectToString.call(t); } var nullTag = '[object Null]', undefinedTag = '[object Undefined]', symToStringTag = Symbol$2 ? Symbol$2.toStringTag : void 0; function baseGetTag(t) { return null == t ? void 0 === t ? undefinedTag : nullTag : symToStringTag && symToStringTag in Object(t) ? getRawTag(t) : objectToString(t); } function isObjectLike(t) { return null != t && 'object' == typeof t; } var isArray = Array.isArray, isArray$1 = isArray; function isObject(t) { var e = typeof t; return null != t && ('object' == e || 'function' == e); } var asyncTag = '[object AsyncFunction]', funcTag$2 = '[object Function]', genTag$1 = '[object GeneratorFunction]', proxyTag = '[object Proxy]'; function isFunction(t) { if (!isObject(t)) return !1; var e = baseGetTag(t); return ( e == funcTag$2 || e == genTag$1 || e == asyncTag || e == proxyTag ); } var coreJsData = root$1['__core-js_shared__'], coreJsData$1 = coreJsData, maskSrcKey = ((uid = /[^.]+$/.exec( (coreJsData$1 && coreJsData$1.keys && coreJsData$1.keys.IE_PROTO) || '' )), uid ? 'Symbol(src)_1.' + uid : ''), uid; function isMasked(t) { return !!maskSrcKey && maskSrcKey in t; } var funcProto$1 = Function.prototype, funcToString$1 = funcProto$1.toString; function toSource(t) { if (null != t) { try { return funcToString$1.call(t); } catch (e) {} try { return t + ''; } catch (e) {} } return ''; } var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, reIsHostCtor = /^\[object .+?Constructor\]$/, funcProto = Function.prototype, objectProto$c = Object.prototype, funcToString = funcProto.toString, hasOwnProperty$a = objectProto$c.hasOwnProperty, reIsNative = RegExp( '^' + funcToString .call(hasOwnProperty$a) .replace(reRegExpChar, '\\$&') .replace( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?' ) + '$' ); function baseIsNative(t) { return ( !(!isObject(t) || isMasked(t)) && (isFunction(t) ? reIsNative : reIsHostCtor).test(toSource(t)) ); } function getValue(t, e) { return null == t ? void 0 : t[e]; } function getNative(t, e) { var r = getValue(t, e); return baseIsNative(r) ? r : void 0; } var WeakMap = getNative(root$1, 'WeakMap'), WeakMap$1 = WeakMap, objectCreate = Object.create, baseCreate = (function () { function t() {} return function (e) { if (!isObject(e)) return {}; if (objectCreate) return objectCreate(e); t.prototype = e; var r = new t(); return (t.prototype = void 0), r; }; })(), baseCreate$1 = baseCreate; function copyArray(t, e) { var r = -1, a = t.length; for (e || (e = Array(a)); ++r < a; ) e[r] = t[r]; return e; } var defineProperty = (function () { try { var t = getNative(Object, 'defineProperty'); return t({}, '', {}), t; } catch (e) {} })(), defineProperty$1 = defineProperty; function arrayEach(t, e) { for ( var r = -1, a = null == t ? 0 : t.length; ++r < a && !1 !== e(t[r], r, t); ); return t; } var MAX_SAFE_INTEGER$1 = 9007199254740991, reIsUint = /^(?:0|[1-9]\d*)$/; function isIndex(t, e) { var r = typeof t; return ( !!(e = null == e ? MAX_SAFE_INTEGER$1 : e) && ('number' == r || ('symbol' != r && reIsUint.test(t))) && t > -1 && t % 1 == 0 && t < e ); } function baseAssignValue(t, e, r) { '__proto__' == e && defineProperty$1 ? defineProperty$1(t, e, { configurable: !0, enumerable: !0, value: r, writable: !0 }) : (t[e] = r); } function eq(t, e) { return t === e || (t != t && e != e); } var objectProto$b = Object.prototype, hasOwnProperty$9 = objectProto$b.hasOwnProperty; function assignValue(t, e, r) { var a = t[e]; (hasOwnProperty$9.call(t, e) && eq(a, r) && (void 0 !== r || e in t)) || baseAssignValue(t, e, r); } function copyObject(t, e, r, a) { var i = !r; r || (r = {}); for (var s = -1, n = e.length; ++s < n; ) { var o = e[s], l = a ? a(r[o], t[o], o, r, t) : void 0; void 0 === l && (l = t[o]), i ? baseAssignValue(r, o, l) : assignValue(r, o, l); } return r; } var MAX_SAFE_INTEGER = 9007199254740991; function isLength(t) { return ( 'number' == typeof t && t > -1 && t % 1 == 0 && t <= MAX_SAFE_INTEGER ); } function isArrayLike(t) { return null != t && isLength(t.length) && !isFunction(t); } var objectProto$a = Object.prototype; function isPrototype(t) { var e = t && t.constructor; return ( t === (('function' == typeof e && e.prototype) || objectProto$a) ); } function baseTimes(t, e) { for (var r = -1, a = Array(t); ++r < t; ) a[r] = e(r); return a; } var argsTag$3 = '[object Arguments]'; function baseIsArguments(t) { return isObjectLike(t) && baseGetTag(t) == argsTag$3; } var objectProto$9 = Object.prototype, hasOwnProperty$8 = objectProto$9.hasOwnProperty, propertyIsEnumerable$1 = objectProto$9.propertyIsEnumerable, isArguments = baseIsArguments( (function () { return arguments; })() ) ? baseIsArguments : function (t) { return ( isObjectLike(t) && hasOwnProperty$8.call(t, 'callee') && !propertyIsEnumerable$1.call(t, 'callee') ); }, isArguments$1 = isArguments; function stubFalse() { return !1; } var freeExports$2 = 'object' == typeof exports && exports && !exports.nodeType && exports, freeModule$2 = freeExports$2 && 'object' == typeof module && module && !module.nodeType && module, moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2, Buffer$1 = moduleExports$2 ? root$1.Buffer : void 0, nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : void 0, isBuffer = nativeIsBuffer || stubFalse, isBuffer$1 = isBuffer, argsTag$2 = '[object Arguments]', arrayTag$2 = '[object Array]', boolTag$3 = '[object Boolean]', dateTag$3 = '[object Date]', errorTag$2 = '[object Error]', funcTag$1 = '[object Function]', mapTag$5 = '[object Map]', numberTag$3 = '[object Number]', objectTag$3 = '[object Object]', regexpTag$3 = '[object RegExp]', setTag$5 = '[object Set]', stringTag$3 = '[object String]', weakMapTag$2 = '[object WeakMap]', arrayBufferTag$3 = '[object ArrayBuffer]', dataViewTag$4 = '[object DataView]', float32Tag$2 = '[object Float32Array]', float64Tag$2 = '[object Float64Array]', int8Tag$2 = '[object Int8Array]', int16Tag$2 = '[object Int16Array]', int32Tag$2 = '[object Int32Array]', uint8Tag$2 = '[object Uint8Array]', uint8ClampedTag$2 = '[object Uint8ClampedArray]', uint16Tag$2 = '[object Uint16Array]', uint32Tag$2 = '[object Uint32Array]', typedArrayTags = {}; function baseIsTypedArray(t) { return ( isObjectLike(t) && isLength(t.length) && !!typedArrayTags[baseGetTag(t)] ); } function baseUnary(t) { return function (e) { return t(e); }; } (typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = !0), (typedArrayTags[argsTag$2] = typedArrayTags[arrayTag$2] = typedArrayTags[arrayBufferTag$3] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$4] = typedArrayTags[dateTag$3] = typedArrayTags[errorTag$2] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$5] = typedArrayTags[numberTag$3] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$3] = typedArrayTags[setTag$5] = typedArrayTags[stringTag$3] = typedArrayTags[weakMapTag$2] = !1); var freeExports$1 = 'object' == typeof exports && exports && !exports.nodeType && exports, freeModule$1 = freeExports$1 && 'object' == typeof module && module && !module.nodeType && module, moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1, freeProcess = moduleExports$1 && freeGlobal$1.process, nodeUtil = (function () { try { var t = freeModule$1 && freeModule$1.require && freeModule$1.require('util').types; return ( t || (freeProcess && freeProcess.binding && freeProcess.binding('util')) ); } catch (e) {} })(), nodeUtil$1 = nodeUtil, nodeIsTypedArray = nodeUtil$1 && nodeUtil$1.isTypedArray, isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray, isTypedArray$1 = isTypedArray, objectProto$8 = Object.prototype, hasOwnProperty$7 = objectProto$8.hasOwnProperty; function arrayLikeKeys(t, e) { var r = isArray$1(t), a = !r && isArguments$1(t), i = !r && !a && isBuffer$1(t), s = !r && !a && !i && isTypedArray$1(t), n = r || a || i || s, o = n ? baseTimes(t.length, String) : [], l = o.length; for (var h in t) (!e && !hasOwnProperty$7.call(t, h)) || (n && ('length' == h || (i && ('offset' == h || 'parent' == h)) || (s && ('buffer' == h || 'byteLength' == h || 'byteOffset' == h)) || isIndex(h, l))) || o.push(h); return o; } function overArg(t, e) { return function (r) { return t(e(r)); }; } var nativeKeys = overArg(Object.keys, Object), nativeKeys$1 = nativeKeys, objectProto$7 = Object.prototype, hasOwnProperty$6 = objectProto$7.hasOwnProperty; function baseKeys(t) { if (!isPrototype(t)) return nativeKeys$1(t); var e = []; for (var r in Object(t)) hasOwnProperty$6.call(t, r) && 'constructor' != r && e.push(r); return e; } function keys(t) { return isArrayLike(t) ? arrayLikeKeys(t) : baseKeys(t); } function nativeKeysIn(t) { var e = []; if (null != t) for (var r in Object(t)) e.push(r); return e; } var objectProto$6 = Object.prototype, hasOwnProperty$5 = objectProto$6.hasOwnProperty; function baseKeysIn(t) { if (!isObject(t)) return nativeKeysIn(t); var e = isPrototype(t), r = []; for (var a in t) ('constructor' != a || (!e && hasOwnProperty$5.call(t, a))) && r.push(a); return r; } function keysIn(t) { return isArrayLike(t) ? arrayLikeKeys(t, !0) : baseKeysIn(t); } var nativeCreate = getNative(Object, 'create'), nativeCreate$1 = nativeCreate; function hashClear() { (this.__data__ = nativeCreate$1 ? nativeCreate$1(null) : {}), (this.size = 0); } function hashDelete(t) { var e = this.has(t) && delete this.__data__[t]; return (this.size -= e ? 1 : 0), e; } var HASH_UNDEFINED$2 = '__lodash_hash_undefined__', objectProto$5 = Object.prototype, hasOwnProperty$4 = objectProto$5.hasOwnProperty; function hashGet(t) { var e = this.__data__; if (nativeCreate$1) { var r = e[t]; return r === HASH_UNDEFINED$2 ? void 0 : r; } return hasOwnProperty$4.call(e, t) ? e[t] : void 0; } var objectProto$4 = Object.prototype, hasOwnProperty$3 = objectProto$4.hasOwnProperty; function hashHas(t) { var e = this.__data__; return nativeCreate$1 ? void 0 !== e[t] : hasOwnProperty$3.call(e, t); } var HASH_UNDEFINED$1 = '__lodash_hash_undefined__'; function hashSet(t, e) { var r = this.__data__; return ( (this.size += this.has(t) ? 0 : 1), (r[t] = nativeCreate$1 && void 0 === e ? HASH_UNDEFINED$1 : e), this ); } function Hash(t) { var e = -1, r = null == t ? 0 : t.length; for (this.clear(); ++e < r; ) { var a = t[e]; this.set(a[0], a[1]); } } function listCacheClear() { (this.__data__ = []), (this.size = 0); } function assocIndexOf(t, e) { for (var r = t.length; r--; ) if (eq(t[r][0], e)) return r; return -1; } (Hash.prototype.clear = hashClear), (Hash.prototype.delete = hashDelete), (Hash.prototype.get = hashGet), (Hash.prototype.has = hashHas), (Hash.prototype.set = hashSet); var arrayProto = Array.prototype, splice = arrayProto.splice; function listCacheDelete(t) { var e = this.__data__, r = assocIndexOf(e, t); return ( !(r < 0) && (r == e.length - 1 ? e.pop() : splice.call(e, r, 1), --this.size, !0) ); } function listCacheGet(t) { var e = this.__data__, r = assocIndexOf(e, t); return r < 0 ? void 0 : e[r][1]; } function listCacheHas(t) { return assocIndexOf(this.__data__, t) > -1; } function listCacheSet(t, e) { var r = this.__data__, a = assocIndexOf(r, t); return a < 0 ? (++this.size, r.push([t, e])) : (r[a][1] = e), this; } function ListCache(t) { var e = -1, r = null == t ? 0 : t.length; for (this.clear(); ++e < r; ) { var a = t[e]; this.set(a[0], a[1]); } } (ListCache.prototype.clear = listCacheClear), (ListCache.prototype.delete = listCacheDelete), (ListCache.prototype.get = listCacheGet), (ListCache.prototype.has = listCacheHas), (ListCache.prototype.set = listCacheSet); var Map = getNative(root$1, 'Map'), Map$1 = Map; function mapCacheClear() { (this.size = 0), (this.__data__ = { hash: new Hash(), map: new (Map$1 || ListCache)(), string: new Hash() }); } function isKeyable(t) { var e = typeof t; return 'string' == e || 'number' == e || 'symbol' == e || 'boolean' == e ? '__proto__' !== t : null === t; } function getMapData(t, e) { var r = t.__data__; return isKeyable(e) ? r['string' == typeof e ? 'string' : 'hash'] : r.map; } function mapCacheDelete(t) { var e = getMapData(this, t).delete(t); return (this.size -= e ? 1 : 0), e; } function mapCacheGet(t) { return getMapData(this, t).get(t); } function mapCacheHas(t) { return getMapData(this, t).has(t); } function mapCacheSet(t, e) { var r = getMapData(this, t), a = r.size; return r.set(t, e), (this.size += r.size == a ? 0 : 1), this; } function MapCache(t) { var e = -1, r = null == t ? 0 : t.length; for (this.clear(); ++e < r; ) { var a = t[e]; this.set(a[0], a[1]); } } function arrayPush(t, e) { for (var r = -1, a = e.length, i = t.length; ++r < a; ) t[i + r] = e[r]; return t; } (MapCache.prototype.clear = mapCacheClear), (MapCache.prototype.delete = mapCacheDelete), (MapCache.prototype.get = mapCacheGet), (MapCache.prototype.has = mapCacheHas), (MapCache.prototype.set = mapCacheSet); var getPrototype = overArg(Object.getPrototypeOf, Object), getPrototype$1 = getPrototype; function stackClear() { (this.__data__ = new ListCache()), (this.size = 0); } function stackDelete(t) { var e = this.__data__, r = e.delete(t); return (this.size = e.size), r; } function stackGet(t) { return this.__data__.get(t); } function stackHas(t) { return this.__data__.has(t); } var LARGE_ARRAY_SIZE = 200; function stackSet(t, e) { var r = this.__data__; if (r instanceof ListCache) { var a = r.__data__; if (!Map$1 || a.length < LARGE_ARRAY_SIZE - 1) return a.push([t, e]), (this.size = ++r.size), this; r = this.__data__ = new MapCache(a); } return r.set(t, e), (this.size = r.size), this; } function Stack(t) { var e = (this.__data__ = new ListCache(t)); this.size = e.size; } function baseAssign(t, e) { return t && copyObject(e, keys(e), t); } function baseAssignIn(t, e) { return t && copyObject(e, keysIn(e), t); } (Stack.prototype.clear = stackClear), (Stack.prototype.delete = stackDelete), (Stack.prototype.get = stackGet), (Stack.prototype.has = stackHas), (Stack.prototype.set = stackSet); var freeExports = 'object' == typeof exports && exports && !exports.nodeType && exports, freeModule = freeExports && 'object' == typeof module && module && !module.nodeType && module, moduleExports = freeModule && freeModule.exports === freeExports, Buffer = moduleExports ? root$1.Buffer : void 0, allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0; function cloneBuffer(t, e) { if (e) return t.slice(); var r = t.length, a = allocUnsafe ? allocUnsafe(r) : new t.constructor(r); return t.copy(a), a; } function arrayFilter(t, e) { for ( var r = -1, a = null == t ? 0 : t.length, i = 0, s = []; ++r < a; ) { var n = t[r]; e(n, r, t) && (s[i++] = n); } return s; } function stubArray() { return []; } var objectProto$3 = Object.prototype, propertyIsEnumerable = objectProto$3.propertyIsEnumerable, nativeGetSymbols$1 = Object.getOwnPropertySymbols, getSymbols = nativeGetSymbols$1 ? function (t) { return null == t ? [] : ((t = Object(t)), arrayFilter(nativeGetSymbols$1(t), function (e) { return propertyIsEnumerable.call(t, e); })); } : stubArray, getSymbols$1 = getSymbols; function copySymbols(t, e) { return copyObject(t, getSymbols$1(t), e); } var nativeGetSymbols = Object.getOwnPropertySymbols, getSymbolsIn = nativeGetSymbols ? function (t) { for (var e = []; t; ) arrayPush(e, getSymbols$1(t)), (t = getPrototype$1(t)); return e; } : stubArray, getSymbolsIn$1 = getSymbolsIn; function copySymbolsIn(t, e) { return copyObject(t, getSymbolsIn$1(t), e); } function baseGetAllKeys(t, e, r) { var a = e(t); return isArray$1(t) ? a : arrayPush(a, r(t)); } function getAllKeys(t) { return baseGetAllKeys(t, keys, getSymbols$1); } function getAllKeysIn(t) { return baseGetAllKeys(t, keysIn, getSymbolsIn$1); } var DataView = getNative(root$1, 'DataView'), DataView$1 = DataView, Promise$1 = getNative(root$1, 'Promise'), Promise$2 = Promise$1, Set = getNative(root$1, 'Set'), Set$1 = Set, mapTag$4 = '[object Map]', objectTag$2 = '[object Object]', promiseTag = '[object Promise]', setTag$4 = '[object Set]', weakMapTag$1 = '[object WeakMap]', dataViewTag$3 = '[object DataView]', dataViewCtorString = toSource(DataView$1), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$2), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap$1), getTag = baseGetTag; ((DataView$1 && getTag(new DataView$1(new ArrayBuffer(1))) != dataViewTag$3) || (Map$1 && getTag(new Map$1()) != mapTag$4) || (Promise$2 && getTag(Promise$2.resolve()) != promiseTag) || (Set$1 && getTag(new Set$1()) != setTag$4) || (WeakMap$1 && getTag(new WeakMap$1()) != weakMapTag$1)) && (getTag = function (t) { var e = baseGetTag(t), r = e == objectTag$2 ? t.constructor : void 0, a = r ? toSource(r) : ''; if (a) switch (a) { case dataViewCtorString: return dataViewTag$3; case mapCtorString: return mapTag$4; case promiseCtorString: return promiseTag; case setCtorString: return setTag$4; case weakMapCtorString: return weakMapTag$1; } return e; }); var getTag$1 = getTag, objectProto$2 = Object.prototype, hasOwnProperty$2 = objectProto$2.hasOwnProperty; function initCloneArray(t) { var e = t.length, r = new t.constructor(e); return ( e && 'string' == typeof t[0] && hasOwnProperty$2.call(t, 'index') && ((r.index = t.index), (r.input = t.input)), r ); } var Uint8Array$1 = root$1.Uint8Array, Uint8Array$1$1 = Uint8Array$1; function cloneArrayBuffer(t) { var e = new t.constructor(t.byteLength); return new Uint8Array$1$1(e).set(new Uint8Array$1$1(t)), e; } function cloneDataView(t, e) { var r = e ? cloneArrayBuffer(t.buffer) : t.buffer; return new t.constructor(r, t.byteOffset, t.byteLength); } var reFlags = /\w*$/; function cloneRegExp(t) { var e = new t.constructor(t.source, reFlags.exec(t)); return (e.lastIndex = t.lastIndex), e; } var symbolProto$1 = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf$1 = symbolProto$1 ? symbolProto$1.valueOf : void 0; function cloneSymbol(t) { return symbolValueOf$1 ? Object(symbolValueOf$1.call(t)) : {}; } function cloneTypedArray(t, e) { var r = e ? cloneArrayBuffer(t.buffer) : t.buffer; return new t.constructor(r, t.byteOffset, t.length); } var boolTag$2 = '[object Boolean]', dateTag$2 = '[object Date]', mapTag$3 = '[object Map]', numberTag$2 = '[object Number]', regexpTag$2 = '[object RegExp]', setTag$3 = '[object Set]', stringTag$2 = '[object String]', symbolTag$2 = '[object Symbol]', arrayBufferTag$2 = '[object ArrayBuffer]', dataViewTag$2 = '[object DataView]', float32Tag$1 = '[object Float32Array]', float64Tag$1 = '[object Float64Array]', int8Tag$1 = '[object Int8Array]', int16Tag$1 = '[object Int16Array]', int32Tag$1 = '[object Int32Array]', uint8Tag$1 = '[object Uint8Array]', uint8ClampedTag$1 = '[object Uint8ClampedArray]', uint16Tag$1 = '[object Uint16Array]', uint32Tag$1 = '[object Uint32Array]'; function initCloneByTag(t, e, r) { var a = t.constructor; switch (e) { case arrayBufferTag$2: return cloneArrayBuffer(t); case boolTag$2: case dateTag$2: return new a(+t); case dataViewTag$2: return cloneDataView(t, r); case float32Tag$1: case float64Tag$1: case int8Tag$1: case int16Tag$1: case int32Tag$1: case uint8Tag$1: case uint8ClampedTag$1: case uint16Tag$1: case uint32Tag$1: return cloneTypedArray(t, r); case mapTag$3: return new a(); case numberTag$2: case stringTag$2: return new a(t); case regexpTag$2: return cloneRegExp(t); case setTag$3: return new a(); case symbolTag$2: return cloneSymbol(t); } } function initCloneObject(t) { return 'function' != typeof t.constructor || isPrototype(t) ? {} : baseCreate$1(getPrototype$1(t)); } var mapTag$2 = '[object Map]'; function baseIsMap(t) { return isObjectLike(t) && getTag$1(t) == mapTag$2; } var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap, isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap, isMap$1 = isMap, setTag$2 = '[object Set]'; function baseIsSet(t) { return isObjectLike(t) && getTag$1(t) == setTag$2; } var nodeIsSet = nodeUtil$1 && nodeUtil$1.isSet, isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet, isSet$1 = isSet, CLONE_DEEP_FLAG$1 = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG$1 = 4, argsTag$1 = '[object Arguments]', arrayTag$1 = '[object Array]', boolTag$1 = '[object Boolean]', dateTag$1 = '[object Date]', errorTag$1 = '[object Error]', funcTag = '[object Function]', genTag = '[object GeneratorFunction]', mapTag$1 = '[object Map]', numberTag$1 = '[object Number]', objectTag$1 = '[object Object]', regexpTag$1 = '[object RegExp]', setTag$1 = '[object Set]', stringTag$1 = '[object String]', symbolTag$1 = '[object Symbol]', weakMapTag = '[object WeakMap]', arrayBufferTag$1 = '[object ArrayBuffer]', dataViewTag$1 = '[object DataView]', float32Tag = '[object Float32Array]', float64Tag = '[object Float64Array]', int8Tag = '[object Int8Array]', int16Tag = '[object Int16Array]', int32Tag = '[object Int32Array]', uint8Tag = '[object Uint8Array]', uint8ClampedTag = '[object Uint8ClampedArray]', uint16Tag = '[object Uint16Array]', uint32Tag = '[object Uint32Array]', cloneableTags = {}; function baseClone(t, e, r, a, i, s) { var n, o = e & CLONE_DEEP_FLAG$1, l = e & CLONE_FLAT_FLAG, h = e & CLONE_SYMBOLS_FLAG$1; if ((r && (n = i ? r(t, a, i, s) : r(t)), void 0 !== n)) return n; if (!isObject(t)) return t; var p = isArray$1(t); if (p) { if (((n = initCloneArray(t)), !o)) return copyArray(t, n); } else { var c = getTag$1(t), d = c == funcTag || c == genTag; if (isBuffer$1(t)) return cloneBuffer(t, o); if (c == objectTag$1 || c == argsTag$1 || (d && !i)) { if (((n = l || d ? {} : initCloneObject(t)), !o)) return l ? copySymbolsIn(t, baseAssignIn(n, t)) : copySymbols(t, baseAssign(n, t)); } else { if (!cloneableTags[c]) return i ? t : {}; n = initCloneByTag(t, c, o); } } s || (s = new Stack()); var f = s.get(t); if (f) return f; s.set(t, n), isSet$1(t) ? t.forEach(function (a) { n.add(baseClone(a, e, r, a, t, s)); }) : isMap$1(t) && t.forEach(function (a, i) { n.set(i, baseClone(a, e, r, i, t, s)); }); var m = p ? void 0 : (h ? (l ? getAllKeysIn : getAllKeys) : l ? keysIn : keys)(t); return ( arrayEach(m || t, function (a, i) { m && (a = t[(i = a)]), assignValue(n, i, baseClone(a, e, r, i, t, s)); }), n ); } (cloneableTags[argsTag$1] = cloneableTags[arrayTag$1] = cloneableTags[arrayBufferTag$1] = cloneableTags[dataViewTag$1] = cloneableTags[boolTag$1] = cloneableTags[dateTag$1] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$1] = cloneableTags[numberTag$1] = cloneableTags[objectTag$1] = cloneableTags[regexpTag$1] = cloneableTags[setTag$1] = cloneableTags[stringTag$1] = cloneableTags[symbolTag$1] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = !0), (cloneableTags[errorTag$1] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = !1); var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4; function cloneDeep(t) { return baseClone(t, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); } var HASH_UNDEFINED = '__lodash_hash_undefined__'; function setCacheAdd(t) { return this.__data__.set(t, HASH_UNDEFINED), this; } function setCacheHas(t) { return this.__data__.has(t); } function SetCache(t) { var e = -1, r = null == t ? 0 : t.length; for (this.__data__ = new MapCache(); ++e < r; ) this.add(t[e]); } function arraySome(t, e) { for (var r = -1, a = null == t ? 0 : t.length; ++r < a; ) if (e(t[r], r, t)) return !0; return !1; } function cacheHas(t, e) { return t.has(e); } (SetCache.prototype.add = SetCache.prototype.push = setCacheAdd), (SetCache.prototype.has = setCacheHas); var COMPARE_PARTIAL_FLAG$3 = 1, COMPARE_UNORDERED_FLAG$1 = 2; function equalArrays(t, e, r, a, i, s) { var n = r & COMPARE_PARTIAL_FLAG$3, o = t.length, l = e.length; if (o != l && !(n && l > o)) return !1; var h = s.get(t), p = s.get(e); if (h && p) return h == e && p == t; var c = -1, d = !0, f = r & COMPARE_UNORDERED_FLAG$1 ? new SetCache() : void 0; for (s.set(t, e), s.set(e, t); ++c < o; ) { var m = t[c], u = e[c]; if (a) var g = n ? a(u, m, c, e, t, s) : a(m, u, c, t, e, s); if (void 0 !== g) { if (g) continue; d = !1; break; } if (f) { if ( !arraySome(e, function (t, e) { if (!cacheHas(f, e) && (m === t || i(m, t, r, a, s))) return f.push(e); }) ) { d = !1; break; } } else if (m !== u && !i(m, u, r, a, s)) { d = !1; break; } } return s.delete(t), s.delete(e), d; } function mapToArray(t) { var e = -1, r = Array(t.size); return ( t.forEach(function (t, a) { r[++e] = [a, t]; }), r ); } function setToArray(t) { var e = -1, r = Array(t.size); return ( t.forEach(function (t) { r[++e] = t; }), r ); } var COMPARE_PARTIAL_FLAG$2 = 1, COMPARE_UNORDERED_FLAG = 2, boolTag = '[object Boolean]', dateTag = '[object Date]', errorTag = '[object Error]', mapTag = '[object Map]', numberTag = '[object Number]', regexpTag = '[object RegExp]', setTag = '[object Set]', stringTag = '[object String]', symbolTag = '[object Symbol]', arrayBufferTag = '[object ArrayBuffer]', dataViewTag = '[object DataView]', symbolProto = Symbol$2 ? Symbol$2.prototype : void 0, symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; function equalByTag(t, e, r, a, i, s, n) { switch (r) { case dataViewTag: if ( t.byteLength != e.byteLength || t.byteOffset != e.byteOffset ) return !1; (t = t.buffer), (e = e.buffer); case arrayBufferTag: return !( t.byteLength != e.byteLength || !s(new Uint8Array$1$1(t), new Uint8Array$1$1(e)) ); case boolTag: case dateTag: case numberTag: return eq(+t, +e); case errorTag: return t.name == e.name && t.message == e.message; case regexpTag: case stringTag: return t == e + ''; case mapTag: var o = mapToArray; case setTag: var l = a & COMPARE_PARTIAL_FLAG$2; if ((o || (o = setToArray), t.size != e.size && !l)) return !1; var h = n.get(t); if (h) return h == e; (a |= COMPARE_UNORDERED_FLAG), n.set(t, e); var p = equalArrays(o(t), o(e), a, i, s, n); return n.delete(t), p; case symbolTag: if (symbolValueOf) return symbolValueOf.call(t) == symbolValueOf.call(e); } return !1; } var COMPARE_PARTIAL_FLAG$1 = 1, objectProto$1 = Object.prototype, hasOwnProperty$1 = objectProto$1.hasOwnProperty; function equalObjects(t, e, r, a, i, s) { var n = r & COMPARE_PARTIAL_FLAG$1, o = getAllKeys(t), l = o.length; if (l != getAllKeys(e).length && !n) return !1; for (var h = l; h--; ) { var p = o[h]; if (!(n ? p in e : hasOwnProperty$1.call(e, p))) return !1; } var c = s.get(t), d = s.get(e); if (c && d) return c == e && d == t; var f = !0; s.set(t, e), s.set(e, t); for (var m = n; ++h < l; ) { var u = t[(p = o[h])], g = e[p]; if (a) var y = n ? a(g, u, p, e, t, s) : a(u, g, p, t, e, s); if (!(void 0 === y ? u === g || i(u, g, r, a, s) : y)) { f = !1; break; } m || (m = 'constructor' == p); } if (f && !m) { var v = t.constructor, b = e.constructor; v == b || !('constructor' in t) || !('constructor' in e) || ('function' == typeof v && v instanceof v && 'function' == typeof b && b instanceof b) || (f = !1); } return s.delete(t), s.delete(e), f; } var COMPARE_PARTIAL_FLAG = 1, argsTag = '[object Arguments]', arrayTag = '[object Array]', objectTag = '[object Object]', objectProto = Object.prototype, hasOwnProperty = objectProto.hasOwnProperty; function baseIsEqualDeep(t, e, r, a, i, s) { var n = isArray$1(t), o = isArray$1(e), l = n ? arrayTag : getTag$1(t), h = o ? arrayTag : getTag$1(e), p = (l = l == argsTag ? objectTag : l) == objectTag, c = (h = h == argsTag ? objectTag : h) == objectTag, d = l == h; if (d && isBuffer$1(t)) { if (!isBuffer$1(e)) return !1; (n = !0), (p = !1); } if (d && !p) return ( s || (s = new Stack()), n || isTypedArray$1(t) ? equalArrays(t, e, r, a, i, s) : equalByTag(t, e, l, r, a, i, s) ); if (!(r & COMPARE_PARTIAL_FLAG)) { var f = p && hasOwnProperty.call(t, '__wrapped__'), m = c && hasOwnProperty.call(e, '__wrapped__'); if (f || m) { var u = f ? t.value() : t, g = m ? e.value() : e; return s || (s = new Stack()), i(u, g, r, a, s); } } return ( !!d && (s || (s = new Stack()), equalObjects(t, e, r, a, i, s)) ); } function baseIsEqual(t, e, r, a, i) { return ( t === e || (null == t || null == e || (!isObjectLike(t) && !isObjectLike(e)) ? t != t && e != e : baseIsEqualDeep(t, e, r, a, baseIsEqual, i)) ); } function isEqual(t, e) { return baseIsEqual(t, e); } var _export_sfc = (t, e) => { const r = t.__vccOpts || t; for (const [a, i] of e) r[a] = i; return r; }; const _sfc_main = defineComponent({ props: { animationData: { type: Object, default: () => ({}) }, animationLink: { type: String, default: '' }, loop: { type: [Boolean, Number], default: !0 }, autoPlay: { type: Boolean, default: !0 }, width: { type: [Number, String], default: '100%' }, height: { type: [Number, String], default: '100%' }, speed: { type: Number, default: 1 }, delay: { type: Number, default: 0 }, direction: { type: String, default: 'forward' }, pauseOnHover: { type: Boolean, default: !1 }, playOnHover: { type: Boolean, default: !1 }, backgroundColor: { type: String, default: 'transparent' }, pauseAnimation: { type: Boolean, default: !1 }, renderer: { type: String, default: 'svg' }, rendererSettings: { type: Object, default: () => ({}) }, assetsPath: { type: String, default: '' } }, emits: { onComplete: null, onLoopComplete: null, onEnterFrame: null, onSegmentStart: null, onAnimationLoaded: null }, setup(t, { emit: e }) { let r = ref(null); const a = ref(''); let i = 1; const s = computed(() => { let e = t.width, r = t.height; return ( 'number' == typeof t.width && (e = `${t.width}px`), 'number' == typeof t.height && (r = `${t.height}px`), { '--lottie-animation-container-width': e, '--lottie-animation-container-height': r, '--lottie-animation-container-background-color': t.backgroundColor } ); }); watch( () => t.pauseAnimation, () => { (t.pauseOnHover || t.playOnHover) && t.pauseAnimation ? console.error( 'If you are using pauseAnimation prop for Vue3-Lottie, please remove the props pauseOnHover and playOnHover' ) : r && (t.pauseAnimation ? r.pause() : r.play()); } ); const n = a => { if (t.pauseOnHover && t.playOnHover) throw new Error( 'You cannot set pauseOnHover and playOnHover for Vue3-Lottie at the same time.' ); if ('' === t.animationLink && isEqual(t.animationData, {})) throw new Error( 'You must provide either animationLink or animationData' ); const s = setInterval(() => { if ( (t => null !== document.querySelector(`[data-id="${t}"]`))(a) ) { clearInterval(s); const n = document.querySelector(`[data-id="${a}" ]`); n && (async a => { let s = t.autoPlay; t.playOnHover && (s = !1); let n = {}; if ( (!1 === isEqual(t.animationData, {}) && (n = cloneDeep(t.animationData)), '' != t.animationLink) ) try { const e = await fetch(t.animationLink); n = await e.json(); } catch (h) { return void console.error(h); } let o = t.loop; 'number' == typeof o && o > 0 && (o -= 1), t.delay > 0 && (s = !1); const l = { container: a, renderer: t.renderer, loop: o, autoplay: s, animationData: n, assetsPath: t.assetsPath }; !1 === isEqual(t.rendererSettings, {}) && (l.rendererSettings = t.rendererSettings), (r = Lottie.loadAnimation(l)), setTimeout(() => { (s = t.autoPlay), t.playOnHover ? r.pause() : s ? r.play() : r.pause(), e('onAnimationLoaded'); }, t.delay), r.setSpeed(t.speed), 'reverse' === t.direction && r.setDirection(-1), 'normal' === t.direction && r.setDirection(1), (t.pauseAnimation || t.playOnHover) && r.pause(), r.addEventListener('loopComplete', () => { 'alternate' === t.direction && (r.stop(), (i *= -1), r.setDirection(i), r.play()), e('onLoopComplete'); }), r.addEventListener('complete', () => { e('onComplete'); }), r.addEventListener('enterFrame', () => { e('onEnterFrame'); }), r.addEventListener('segmentStart', () => { e('onSegmentStart'); }); })(n); } }, 0); }; return ( onMounted(async () => { (a.value = (t => { for ( var e = '', r = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', a = 0; a < t; a++ ) e += r.charAt(Math.floor(62 * Math.random())); return e; })(20)), n(a.value); }), { elementid: a, hoverEnded: () => { r && t.pauseOnHover && r.play(), r && t.playOnHover && r.pause(); }, hoverStarted: () => { r && t.pauseOnHover && r.pause(), r && t.playOnHover && r.play(); }, getCurrentStyle: s, play: () => { r && r.play(); }, pause: () => { r && r.pause(); }, stop: () => { r && r.stop(); }, destroy: () => { r && r.destroy(); }, setSpeed: (t = 1) => { if (t <= 0) throw new Error('Speed must be greater than 0'); r && r.setSpeed(t); }, setDirection: t => { r && ('forward' === t ? r.setDirection(1) : 'reverse' === t && r.setDirection(-1)); }, goToAndStop: (t, e = !0) => { r && r.goToAndStop(t, e); }, goToAndPlay: (t, e = !0) => { r && r.goToAndPlay(t, e); }, playSegments: (t, e = !1) => { r && r.playSegments(t, e); }, setSubFrame: (t = !0) => { r && r.setSubframe(t); }, getDuration: (t = !0) => { if (r) return r.getDuration(t); }, updateDocumentData: (t, e = 0) => { r && r.renderer.elements[e].updateDocumentData(t); } } ); } }), _hoisted_1 = ['data-id']; function _sfc_render(t, e, r, a, i, s) { return ( openBlock(), createElementBlock( 'div', { 'data-id': t.elementid, class: 'lottie-animation-container', style: normalizeStyle(t.getCurrentStyle), onMouseenter: e[0] || (e[0] = (...e) => t.hoverStarted && t.hoverStarted(...e)), onMouseleave: e[1] || (e[1] = (...e) => t.hoverEnded && t.hoverEnded(...e)) }, null, 44, _hoisted_1 ) ); } var Vue3Lottie = _export_sfc(_sfc_main, [['render', _sfc_render]]); const v = '5.7.1', fr = 60, ip = 0, op = 120, w = 2436, h = 1125, nm = '合成 1', ddd = 0, assets = [ { id: 'image_0', w: 195, h: 264, u: '', p: 'data:image/png;base64,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', e: 1 }, { id: 'image_1', w: 1080, h: 3, u: '', p: 'data:image/png;base64,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', e: 1 } ], layers = [ { ddd: 0, ind: 1, ty: 2, nm: '加载视频@3x.png', cl: 'png', refId: 'image_0', sr: 1, ks: { o: { a: 0, k: 100, ix: 11 }, r: { a: 0, k: 0, ix: 10 }, p: { a: 0, k: [1218, 562, 0], ix: 2 }, a: { a: 0, k: [97.5, 132, 0], ix: 1 }, s: { a: 0, k: [100, 100, 100], ix: 6 } }, ao: 0, ip: 0, op: 300, st: 0, bm: 0 }, { ddd: 0, ind: 2, ty: 2, nm: '进度条@3x.png', cl: 'png', refId: 'image_1', sr: 1, ks: { o: { a: 1, k: [ { i: { x: [0.667], y: [1] }, o: { x: [0.333], y: [0] }, t: 60, s: [100], e: [0] }, { i: { x: [0.667], y: [1] }, o: { x: [0.333], y: [0] }, t: 61, s: [0], e: [0] }, { t: 120 } ], ix: 11 }, r: { a: 0, k: 0, ix: 10 }, p: { a: 0, k: [678, 587.5, 0], ix: 2 }, a: { a: 0, k: [0, 1.5, 0], ix: 1 }, s: { a: 1, k: [ { i: { x: [0.667, 0.667, 0.667], y: [1, 1, 1] }, o: { x: [0.333, 0.333, 0.333], y: [0, 0, 0] }, t: 0, s: [0, 100, 100], e: [100, 100, 100] }, { t: 60 } ], ix: 6 } }, ao: 0, ip: 0, op: 300, st: 0, bm: 0 }, { ddd: 0, ind: 3, ty: 2, nm: '进度条@3x.png', cl: 'png', refId: 'image_1', sr: 1, ks: { o: { a: 1, k: [ { i: { x: [0.667], y: [1] }, o: { x: [0.333], y: [0] }, t: 0, s: [0], e: [0] }, { i: { x: [0.667], y: [1] }, o: { x: [0.333], y: [0] }, t: 60, s: [0], e: [100] }, { t: 61 } ], ix: 11 }, r: { a: 0, k: 0, ix: 10 }, p: { a: 0, k: [1758, 589, 0], ix: 2 }, a: { a: 0, k: [1080, 3, 0], ix: 1 }, s: { a: 1, k: [ { i: { x: [0.667, 0.667, 0.667], y: [1, 1, 1] }, o: { x: [0.333, 0.333, 0.333], y: [0, 0, 0] }, t: 60, s: [100, 100, 100], e: [100, 100, 100] }, { i: { x: [0.667, 0.667, 0.667], y: [1, 1, 1] }, o: { x: [0.333, 0.333, 0.333], y: [0, 0, 0] }, t: 61, s: [100, 100, 100], e: [0, 100, 100] }, { t: 120 } ], ix: 6 } }, ao: 0, ip: 0, op: 300, st: 0, bm: 0 } ], markers = [], playLoadData = { v: v, fr: fr, ip: ip, op: op, w: w, h: h, nm: nm, ddd: ddd, assets: assets, layers: layers, markers: markers }, videoWrap = '_videoWrap_19uw7_1', sectionAnimate$1 = '_sectionAnimate_19uw7_5', controls$1 = '_controls_19uw7_11', time$1 = '_time_19uw7_24', line$1 = '_line_19uw7_36', actions$1 = '_actions_19uw7_43', actionWrap$1 = '_actionWrap_19uw7_51', actionBtn$1 = '_actionBtn_19uw7_54', iconReplay$1 = '_iconReplay_19uw7_65', slider$1 = '_slider_19uw7_74', styles$3 = { videoWrap: videoWrap, sectionAnimate: sectionAnimate$1, controls: controls$1, time: time$1, line: line$1, actions: actions$1, actionWrap: actionWrap$1, actionBtn: actionBtn$1, iconReplay: iconReplay$1, slider: slider$1 }, VideoPlay = defineComponent({ name: 'video-play', props: { item: { type: Object, default: () => ({}) }, isEmtry: { type: Boolean, default: !1 } }, emits: [ 'loadedmetadata', 'togglePlay', 'ended', 'reset', 'error' ], setup(t, { emit: e, expose: r }) { const { item: a, isEmtry: i } = toRefs(t), s = reactive({ paused: !0, currentTimeNum: 0, currentTime: '00:00', durationNum: 0, duration: '00:00', showBar: !0 }), n = ref(), o = ref(), l = ref( 'video' + Date.now() + Math.floor(100 * Math.random()) ), h = t => { if (t > 0) { const e = Math.floor(t / 60), r = t % 60; return ( (e < 10 ? '0' + e : e) + ':' + (r < 10 ? '0' + r : r) ); } return '00:00'; }, p = () => { o.value && o.value.currentTime(0); }, c = t => { t?.stopPropagation(), s.paused ? (o.value.play(), (s.paused = !1)) : (o.value.pause(), (s.paused = !0)), e('togglePlay', s.paused); }; onMounted(() => { (o.value = TCPlayer(l.value, { appID: '', controls: !1 })), o.value && (o.value.src(i.value ? '' : a.value.content), o.value.one('loadedmetadata', () => { console.log(' Loading metadata'), (s.duration = h(Math.round(o.value.duration()))), (s.durationNum = o.value.duration()), e('loadedmetadata', o.value); }), o.value.on('timeupdate', () => { (s.currentTime = h( Math.round(o.value?.currentTime() || 0) )), (s.currentTimeNum = o.value.currentTime()); }), o.value.on('ended', () => { (s.paused = !0), e('ended'); }), o.value.on('pause', () => { s.paused = !0; }), o.value.on('playing', () => { s.paused = !1; }), o.value.on('error', t => { e('error'), console.log(t, 'error'); })); }); return ( onUnmounted(() => { o.value && (o.value.pause(), o.value.src(''), o.value.dispose()); }), r({ onPlay: () => { o.value && (o.value.src(a.value.content), e('reset')); }, stop: () => { o.value.currentTime(0), o.value.pause(); }, toggleHideControl: t => { s.showBar = t; } }), () => createVNode('div', { class: styles$3.videoWrap }, [ createVNode( 'video', { style: { width: '100%', height: '100%' }, src: i.value ? '' : a.value.content, ref: n, id: l.value, preload: 'auto', playsinline: !0, 'webkit-playsinline': !0 }, null ), createVNode( 'div', { class: [ styles$3.controls, s.showBar ? '' : styles$3.sectionAnimate ], onClick: t => { t.stopPropagation(), e('reset'); } }, [ createVNode('div', { class: styles$3.actions }, [ createVNode('div', { class: styles$3.actionWrap }, [ createVNode( 'button', { class: styles$3.actionBtn, onClick: c }, [ s.paused ? createVNode( 'img', { class: styles$3.playIcon, src: iconplay }, null ) : createVNode( 'img', { class: styles$3.playIcon, src: iconpause }, null ) ] ) ]), createVNode('div', { class: styles$3.time }, [ createVNode( 'div', { class: 'plyr__time plyr__time--current', 'aria-label': 'Current time' }, [s.currentTime] ), createVNode('span', { class: styles$3.line }, [ createTextVNode('/') ]), createVNode( 'div', { class: 'plyr__time plyr__time--duration', 'aria-label': 'Duration' }, [s.duration] ) ]) ]), createVNode('div', { class: styles$3.slider }, [ createVNode( NSlider, { value: s.currentTimeNum, step: 0.01, max: s.durationNum, tooltip: !1, 'onUpdate:value': t => { o.value.currentTime(t), (s.currentTimeNum = t), (s.currentTime = h(Math.round(t || 0))); } }, null ) ]), createVNode('div', { class: styles$3.actions }, [ createVNode('div', { class: styles$3.actionWrap }, [ createVNode( 'button', { class: styles$3.iconReplay, onClick: p }, [ createVNode( 'img', { src: iconReplay$2 }, null ) ] ) ]) ]) ] ) ]) ); } }), pen = '_pen_apyjn_1', open = '_open_apyjn_9', whiteboard = '_whiteboard_apyjn_12', hide = '_hide_apyjn_15', iframe = '_iframe_apyjn_18', dely = '_dely_apyjn_24', rightItem = '_rightItem_apyjn_27', img = '_img_apyjn_42', removeVisiable = '_removeVisiable_apyjn_50', studentRemove = '_studentRemove_apyjn_56', btnGroupModal = '_btnGroupModal_apyjn_68', styles$2 = { pen: pen, open: open, whiteboard: whiteboard, hide: hide, iframe: iframe, dely: dely, rightItem: rightItem, img: img, removeVisiable: removeVisiable, studentRemove: studentRemove, btnGroupModal: btnGroupModal }, Pen = exports( 'P', defineComponent({ name: 'pen-page', props: { show: { type: Boolean, default: !1 }, type: { type: String, default: 'pen' }, close: { type: Function, default: () => ({}) } }, setup(t) { const { show: e, type: r } = toRefs(t), a = reactive({ status: !1, title: 'pen' === r.value ? '退出批注' : '退出白板', content: 'pen' === r.value ? '确认是否退出批注?' : '确认是否退出白板?' }), i = ref(!0), s = `${ /(localhost|192)/.test(location.host) ? 'https://test.lexiaoya.cn/' : location.origin }/classroom-whiteboard?t=${+new Date()}`; return () => createVNode( 'div', { class: [ styles$2.pen, 'whiteboard' === r.value ? styles$2.whiteboard : '', i.value ? styles$2.dely : '', e.value ? styles$2.open : styles$2.hide ] }, [ createVNode( 'iframe', { class: styles$2.iframe, frameborder: '0', width: '100vw', height: '100vh', src: s, onLoad: () => { i.value = !1; } }, null ), createVNode( 'div', { class: styles$2.rightItem, onClick: () => (a.status = !0) }, [ createVNode( 'svg', { width: '28px', height: '28px', viewBox: '0 0 34 34', version: '1.1', xmlns: 'http://www.w3.org/2000/svg' }, [ createVNode( 'g', { stroke: 'none', 'stroke-width': '1', fill: 'none', 'fill-rule': 'evenodd' }, [ createVNode( 'g', { transform: 'translate(-1842.000000, -1016.000000)', stroke: '#FFFFFF' }, [ createVNode( 'g', { transform: 'translate(980.000000, 1006.000000)' }, [ createVNode( 'g', { transform: 'translate(862.000000, 10.000000)' }, [ createVNode( 'g', { transform: 'translate(4.000000, 5.000000)' }, [ createVNode( 'g', { transform: 'translate(8.058241, 5.009812)', fill: '#FFFFFF', 'fill-rule': 'nonzero', 'stroke-width': '0.3' }, [ createVNode( 'path', { d: 'M11.6084252,-0.15 C11.9880433,-0.15 12.3676614,-0.00518057514 12.6573002,0.284458275 L12.6573002,0.284458275 L18.3141545,5.94131252 C18.6037933,6.23095137 18.7486128,6.61056948 18.7486128,6.99018758 C18.7486128,7.36980569 18.6037933,7.74942379 18.3141545,8.03906264 L18.3141545,8.03906264 L12.6573002,13.6959169 C12.3676614,13.9855557 11.9880433,14.1303752 11.6084252,14.1303752 C11.2288071,14.1303752 10.849189,13.9855557 10.5595501,13.6959169 C10.2699113,13.406278 10.1250918,13.0266599 10.1250918,12.6470418 C10.1250918,12.2674237 10.2699113,11.8878056 10.5595368,11.5981801 L10.5595368,11.5981801 L13.6839174,8.47301484 L1.33333333,8.47352092 C0.923722144,8.47352092 0.552888811,8.30749318 0.284458275,8.03906264 C0.0160277386,7.77063211 -0.15,7.39979877 -0.15,6.99018758 C-0.15,6.61194961 -0.00841906355,6.26678575 0.224608408,6.00476938 C0.462154637,5.73767211 0.794779811,5.55707713 1.16932931,5.51583101 L1.16932931,5.51583101 L13.6841044,5.50627626 L10.5595501,2.38220839 C10.2699113,2.09256954 10.1250918,1.71295144 10.1250918,1.33333333 C10.1250918,0.953715229 10.2699113,0.574097124 10.5595501,0.284458275 C10.849189,-0.00518057514 11.2288071,-0.15 11.6084252,-0.15 Z' }, null ) ] ), createVNode( 'path', { d: 'M15,24 L3,24 C1.34314575,24 -1.1293615e-15,22.6568542 0,21 L0,3 C-2.02906125e-16,1.34314575 1.34314575,3.04359188e-16 3,0 L15,0 L15,0', 'stroke-width': '3.5', 'stroke-linecap': 'round', 'stroke-linejoin': 'round' }, null ) ] ) ] ) ] ) ] ) ] ) ] ) ] ), createVNode( NModal, { transformOrigin: 'center', show: a.status, 'onUpdate:show': t => (a.status = t), preset: 'card', title: a.title, class: ['modalTitle', styles$2.removeVisiable] }, { default: () => [ createVNode( 'div', { class: styles$2.studentRemove }, [ createVNode('p', null, [a.content]), createVNode( NSpace, { class: styles$2.btnGroupModal }, { default: () => [ createVNode( NButton, { type: 'default', round: !0, onClick: () => { a.status = !1; } }, { default: () => [ createTextVNode('取消') ] } ), createVNode( NButton, { type: 'primary', round: !0, onClick: () => { (a.status = !1), t.close(); } }, { default: () => [ createTextVNode('确认') ] } ) ] } ) ] ) ] } ) ] ); } }) ), audioWrap = '_audioWrap_8oxfj_1', audioContainer = '_audioContainer_8oxfj_6', audio = '_audio_8oxfj_1', tempVudio = '_tempVudio_8oxfj_22', sectionAnimate = '_sectionAnimate_8oxfj_34', controls = '_controls_8oxfj_40', time = '_time_8oxfj_53', line = '_line_8oxfj_65', actions = '_actions_8oxfj_72', actionWrap = '_actionWrap_8oxfj_80', actionBtn = '_actionBtn_8oxfj_83', iconReplay = '_iconReplay_8oxfj_95', slider = '_slider_8oxfj_104', styles$1 = { audioWrap: audioWrap, audioContainer: audioContainer, audio: audio, tempVudio: tempVudio, sectionAnimate: sectionAnimate, controls: controls, time: time, line: line, actions: actions, actionWrap: actionWrap, actionBtn: actionBtn, iconReplay: iconReplay, slider: slider }, AudioPay = defineComponent({ name: 'audio-play', props: { item: { type: Object, default: () => ({}) }, isEmtry: { type: Boolean, default: !1 } }, emits: ['loadedmetadata', 'togglePlay', 'ended', 'reset'], setup(t, { emit: e, expose: r }) { const a = reactive({ paused: !0, currentTimeNum: 0, currentTime: '00:00', durationNum: 0, duration: '00:00', showBar: !0, afterMa3: !0 }), i = ref(), s = ref(); let n = null; const o = t => { console.log(t, 'e', t), t?.stopPropagation(), s.value.paused ? (l(s.value, i.value), s.value.play(), (a.afterMa3 = !1)) : s.value?.pause(), (a.paused = s.value?.paused), t.target?.focus(), e('togglePlay', a.paused); }, l = (t, e) => { n || ((n = new Vudio(t, e, { effect: 'waveform', accuracy: 256, width: 1024, height: 600, waveform: { maxHeight: 200, color: [ [0, '#44D1FF'], [0.5, '#44D1FF'], [0.5, '#198CFE'], [1, '#198CFE'] ], prettify: !1 } })), n.dance()); }, h = t => { if (t > 0) { const e = Math.floor(t / 60), r = t % 60; return ( (e < 10 ? '0' + e : e) + ':' + (r < 10 ? '0' + r : r) ); } return '00:00'; }, p = () => { s.value && (s.value.currentTime = 0); }; let c = null; const d = ref(), f = ref(); return ( nextTick(() => { (c = new Vudio(f.value, d.value, { effect: 'waveform', accuracy: 256, width: 1024, height: 600, waveform: { maxHeight: 200, color: [ [0, '#44D1FF'], [0.5, '#44D1FF'], [0.5, '#198CFE'], [1, '#198CFE'] ], prettify: !1 } })), c.dance(); }), r({ toggleHideControl: t => { a.showBar = t; } }), () => createVNode('div', { class: styles$1.audioWrap }, [ createVNode('div', { class: styles$1.audioContainer }, [ createVNode( 'audio', { ref: s, crossorigin: 'anonymous', src: t.item.content + '?time=1', onEnded: () => { (a.paused = !0), e('ended'); }, onTimeupdate: () => { (a.currentTime = h( Math.round(s.value?.currentTime || 0) )), (a.currentTimeNum = s.value?.currentTime || 0); }, onLoadedmetadata: () => { (a.duration = h(Math.round(s.value?.duration))), (a.durationNum = s.value?.duration), t.item.autoPlay && s.value && s.value.play(), s.value && ((s.value.stop = () => { s.value?.pause(), (a.paused = !0), e('togglePlay', a.paused); }), (s.value.onPlay = () => { s.value?.play(), (a.paused = !1), l(s.value, i.value), e('togglePlay', a.paused); })), e('loadedmetadata', s.value); } }, null ), createVNode('canvas', { ref: i }, null), a.afterMa3 && createVNode('div', { class: styles$1.tempVudio }, [ createVNode( 'audio', { ref: f, src: tickMp3 }, null ), createVNode('canvas', { ref: d }, null) ]) ]), createVNode( 'div', { class: [ styles$1.controls, a.showBar ? '' : styles$1.sectionAnimate ], onClick: t => { t.stopPropagation(), e('reset'); } }, [ createVNode('div', { class: styles$1.actions }, [ createVNode('div', { class: styles$1.actionWrap }, [ createVNode( 'div', { class: styles$1.actionBtn, onClick: o }, [ a.paused ? createVNode( 'img', { class: styles$1.playIcon, src: iconplay }, null ) : createVNode( 'img', { class: styles$1.playIcon, src: iconpause }, null ) ] ) ]), createVNode('div', { class: styles$1.time }, [ createVNode( 'div', { class: 'plyr__time plyr__time--current', 'aria-label': 'Current time' }, [a.currentTime] ), createVNode('span', { class: styles$1.line }, [ createTextVNode('/') ]), createVNode( 'div', { class: 'plyr__time plyr__time--duration', 'aria-label': 'Duration' }, [a.duration] ) ]) ]), createVNode('div', { class: styles$1.slider }, [ createVNode( NSlider, { value: a.currentTimeNum, step: 0.01, max: a.durationNum, tooltip: !1, 'onUpdate:value': t => { (s.value.currentTime = t), (a.currentTimeNum = t), (a.currentTime = h(Math.round(t || 0))); } }, null ) ]), createVNode('div', { class: styles$1.actions }, [ createVNode('div', { class: styles$1.actionWrap }, [ createVNode( 'button', { class: styles$1.iconReplay, onClick: p }, [ createVNode( 'img', { src: iconReplay$2 }, null ) ] ) ]) ]) ] ) ]) ); } }), scrollBar = '_scrollBar_ds6lg_1', treeParent = '_treeParent_ds6lg_5', treeChild = '_treeChild_ds6lg_8', treeItem = '_treeItem_ds6lg_11', title = '_title_ds6lg_23', dir = '_dir_ds6lg_33', titleSelect = '_titleSelect_ds6lg_42', arrow = '_arrow_ds6lg_50', arrowSelect = '_arrowSelect_ds6lg_57', childArrow = '_childArrow_ds6lg_61', childItem = '_childItem_ds6lg_64', childSelect = '_childSelect_ds6lg_71', styles = { scrollBar: scrollBar, treeParent: treeParent, treeChild: treeChild, treeItem: treeItem, title: title, dir: dir, titleSelect: titleSelect, arrow: arrow, arrowSelect: arrowSelect, childArrow: childArrow, childItem: childItem, childSelect: childSelect }, Chapter = defineComponent({ name: 'chapter-modal', props: { treeList: { type: Array, default: () => [] }, itemActive: { type: String, default: '' } }, emits: ['handleSelect'], setup(t, { emit: e }) { const r = useMessage(), { treeList: a, itemActive: i } = toRefs(t), s = (t, e, r = []) => { for (const a of e) { if (a.knowledgeList && a.knowledgeList.length > 0) { const e = s(t, a.knowledgeList, [...r, a.id]); if (e.includes(t)) return e; } if (a.id === t) return [...r, t]; } return r; }; return ( watch( () => t.itemActive, () => { const t = s(i.value, a.value); t.length > 0 && a.value.forEach(e => { e.id == t[0] ? (e.selected = !0) : (e.selected = !1); }); } ), onMounted(() => { const t = s(i.value, a.value); t.length > 0 && a.value.forEach(e => { e.id == t[0] && (e.selected = !0); }); }), () => createVNode( NScrollbar, { class: styles.scrollBar }, { default: () => [ createVNode('div', { class: [styles.listSection] }, [ a.value.map((t, s) => createVNode( 'div', { class: styles.treeParent, key: 'parent' + s }, [ createVNode( 'div', { class: [ styles.treeItem, styles.parentItem ], onClick: () => { a.value.forEach(e => { t.id !== e.id && (e.selected = !1); }), (t.selected = !t.selected); } }, [ t.knowledgeList && t.knowledgeList.length > 0 && createVNode( 'span', { class: [ styles.arrow, t.selected ? styles.arrowSelect : '' ] }, null ), createVNode( 'p', { class: [ styles.title, t.selected ? styles.titleSelect : '' ] }, [ createVNode( 'span', { class: [ styles.dir, t.selected ? styles.dirSelect : '' ] }, null ), t.name ] ) ] ), t.selected && t.knowledgeList && t.knowledgeList.map((t, a) => createVNode( 'div', { key: 'child' + a, class: [ styles.treeItem, styles.childItem, styles.animation, i.value === t.id ? styles.childSelect : '' ], onClick: () => { i.value != t.id && (t.containMaterial ? e('handleSelect', { itemActive: t.id, itemName: t.name }) : r.error('该章节暂无课件')); } }, [ createVNode( 'span', { class: styles.childArrow }, null ), createVNode( 'p', { class: styles.title }, [t.name] ) ] ) ) ] ) ) ]) ] } ) ); } }), iconBeatIcon = 'data:image/png;base64,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', iconChange = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAtFBMVEUAAADl8//k9P/l9f/n9f/l9P/l9P/l9P/m8//m9P/o+P/q///k9P/k8//l8//k9P/l9P/k9P/k8//m8//m9P/l9P/l9P/l9f/n9v/o8//o8//n+f/p9P/////l9P/k8/8wmP+02//Z7f+QyP82m/9+wP88nv9Vq//S6v/H5f/C4//h8v+t1/9fsP9Mpv+h0f+azv+Vy//d7//N6P+23P+n1f+e0P+Ixf9qtv9Fo/+73v+OyP+arTjPAAAAH3RSTlMAx/lMSc774YJwIAzR7uy/uLSYl4yLiWpUQiwqFwWpOo+15wAAA4hJREFUaN7Vm2tX4jAQhpPSK1SE5SIgOsilLTcBQS76///X7hoPXWCiaWhn6/P1PTmvkcwwmQwsGUXTq1W475QNo+z4vFLzzCLLiJJZtwxAMKy6WUrbreNyG77A5m4nPbeuZ4ECltdNxa5dtUERu9q+2q7AIRG8cJVdy4fEWC1tu/tb0OL2Xi8MmgZoYjQ1wsR04AocM6HdQwOupPGQKINxuBpeTBALN5ACN8oRcgcpcafm50JquCp+vyBFfn3v9wip8qi0P8I9upA6rvL5JDirBcgEaTwWbyATboqS/MkhIzieVxuQGQ3Mz4QMMZHvWwcyxLn8Rm5CpjQv6hcDUCaL1eCU5WwNn6xnyzNxtZgAinFe56D10nR56GGE2+kfcRui4mE5RSurs3oQEKKwJ+N5PH6WimEECKfVo4/5HXpyguAL8YA5+t/mtHlPm/l3GY4j+mvvCl6xfBP7tTU2qLHF+KZTRdS+WDlcRv1Txqvg+EGuxmditBwKqQ+XVI/3PxsLQLFwh0jjodCGY0TcCQ2T7C4TeICwEQufMG0ktBGmPQltg2keE1jowthQdp5ek66zhF8Hki3U10D0AVw6Q1cEIYlhHIolm87QLom0RmEYp7c6pWFdBAWFYRwYBqWhwVgRKA2hyExaQ5N5tIYeq9Ea1liF1rDCOK0hZz6toc8cWkOHlWkNy8ygNTTIDcn/peSHhjwsyANfK7W9Ce1NJ7VpJe++0PpaydvTMITBX2kAWl9Ppo4hbEajDegYmholRoxWicEMSkNDlIl0hpZOIRyjVwgXKA1NcZkhM7RL8XVNcscfQEIGYt0EFXl8IZVlk2A2hQRMZ0GchWQX0g6gHBttw1OCfQSfRPvgTDy220B65ZYGxkLe2XuBD17k/b2FJCgEnnyLOFv4YIur8g16cWMIYx3It/j1BoM1YNjduPWFIm+JziOAaC5vpgJKVdLci+nvZJschuFQtr1dH3Da7AiXH/PB6ISLvyA41QfyMOJaj06zc8MZqFJAWtAKLJDzr4SFNNmVWP3rtwJlWsgzghqT+fGwTkCZW+ShRN3yfR+G+/cJqGPcUz8F/f/Hroyf8/LwYJnpk2w+Hp2ze1bPz+BANqMR+Rr+SH+8JX8DPOmOKOVzCCu9MbP8DtKlMyqY72HIq8c9f8JAq+7Irt/6SUPJyceuf+JgOfHofEypIP9xQEE9DMh//vAbvXewtdzt9jkAAAAASUVORK5CYII=', iconDown = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAt1BMVEUAAADl8//l9f/l9P/l9P/k9P/l9P/m9P/q///k9P/n9f/k9P/k8//l8//l9P/l9P/k9P/l9P/k9P/k8//m8//m9P/m8//l8//l9f/n9v/n9f/o8//o8//n+f/p+P/m9//p9P/////l9P/k8/8wmP85nf/h8v9HpP/b7v/R6v/I5v+63v9+wP9AoP+g0f+Yzf9zuv9ks/9OqP/C4v+y2v+s1/+m1P+Zzf+Ryf+Jxv9cr/9st/9XrP/lnD+mAAAAI3RSTlMAx0zO+/qKcAzRSvju7OLfv7i0mJeMg4FqVElCLCoiHhcFqVhMnCYAAAKcSURBVGjetNeJUupAEIXhnuwJO7LIjp5AABW57l59/+eytFKZogq0p5P5XuCvJNNdEzIzH4e9jopbDd9vtGLV6YXjOVkSJX23hhNqbj+JqGLTgfLwC08NplSZZeiCwQ2XVIVJ1wOT151QWY6CEeVQGaMYxtwRSc3aEGnPSCIKfAj5gWBMkiZKaCZk5ipAScEVGVgolKYWxObUUYE6e0IuUZFLYhmiMkNiuECFLuhP16jUteD5rD7jEJUb8s+n/bPqwIqz87iow4r64sz+VLBEnd6rAawJ6IQEFiWU06ImLGpGjBdq96XOfFjlz+hYG5a16cgI1h3fHmOwrHcbSMWCnfa6StODOOmQpsCxT789bCGjdG8Cliz9kUmL+k+nC451mst2EOlSbumBJUtzd7Kit8yDIXju06L4CIkwD7pgOhTF1Q0EXPoxBdttyeKUvg2gGRSfYG6gh5DrPS08QzMZxciDiTddfIEpLxJc1V51cQ8+vd76MLTXxXsY6uuhMPCii2/g0oNRg7FnXXyHkRrRHAJPq6J4CyNzGkPiRlocn12k/OJhDb6QepB5vCuKHwbFHnUgtNPFf/xihxSkdpkubsCkKIbYVhf/c4sxtSC3fdDFNVha1ICYLvK3XIN8lLH5LD4jWPyv6u3lBkAYhsGwBBdgA/ZflCMnJB7Jh9sFKlVN69h/+Ib8SPml4WXBC58/bfzx5t8T/4C5xNAiistELoS11N94M6PbNd6Q8pZbmwrcNuHGkLa+uLmn7Utu0GILeuYmu44ReFCio6D/w67mOC8hsGyNZDNC575YPQcc6EEjsuCPerwlD+CpRZQyIaw6zCwXpKtBBbNhyM+45whA61tkd91HgpKfY9cjguUYnT/XMl0PB0z3y4CPPxwYqUFcDbWqqAAAAABJRU5ErkJggg==', iconMenu = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAqFBMVEUAAADl8//k9P/l9P/m9P/l9f/n9f/l9P/l9P/l8//m9P/o9v/q///k8//l8//k9P/k9P/l9P/k9P/m8//l8//l9f/n9v/o8//p+P/m9//p9P/////l9P/k8/8wmP+g0f/U6//W6//Y7f+czv81m//h8v8/oP/M5/+x2v9yuv9Yrf9Rqf+s1//B4f+PyP/c7/9mtP/F5P+Wy/+23P+k0/+Bwf99v/9cr//VxVGGAAAAHXRSTlMAx/nPi0xK++GYcCsM7uzSv7i0g4FqVEIiHhcFqXWR2NYAAAMBSURBVGjevNZrb9sgGAXgF+z4nnuaW3tYtuXaemmzbuv//2eTjDrJEngQA883Pli2EeflkJ11UuRTNs5GnI+yMZvmRbImT6okjjgUeBQnFTlWzlmKDimbl+TMtohgICq25MJqlsJQOltRXwMGK2xAfSwjWIuWdK9ygrtMyvtiEHPciccVWUsy9JAlZOcxRk/xI1nYMPTGNhZZGMKBoXFCHuDIAxlZwJkFGcjhUE7/9QSnnoz+L+A/LuDcwvh8BjirA3ihzeNmCC+GG838ZPCEqedqDG9iUkjgUaK4bzN4lFWBNlS/qSWHV7yktgk8m1DLEt6122ME76IAM00/4RgCYPTPCmq7+vyKT4cfX74bqXdQW9GnGZSueyGOZ0inZ2Fqf4XSjEjaplCpm6ePOzSehYUaKumWpAJKb6Lxs1nchI03KBXdmXgRjd/N4ixsvHQmo4TaRTR+yfMjbFygJufbHGqnffOxBzT+CHP7E9Tm3SG8feyPl6+QDtej6es+bp1RrFJoHVqr129GDtBKK39jTT/eYgQU+7so9MHgCIgTrRHUmhIElVCBoArKEVROUwQ1JYagGI2ht6vfWxXDTL2D3pgy6MiK8Q6pd8WQMhpBzXnFkEbaQeO8Ykhc+0LnFUPi2i11XjGkkfbQOK8YUtYVi7/Vm0EKgzAURJFiheKqLgqFtLFYCEIQpND738xFVlnkJ8b88WdW7QGiLzNPO09TDmLMljoWjSLi08JnTMpXEWngjzb4wxv+eoK/gOGIgYYoOCbCQRiN+ld3mYGl6+nORBuHGC72906K0ZHmZFCBrLmIsapABvLKbTzE+L92xISu3ESpwIEYF6o24UCMG1UMMSBG96SqLwbEuEfKPYcY2v0ugRiPeH25eP9GnZSFOITYghZdQcNLdvSMAB9K0FPQ+WMX85wnYbBknWRljM58s7occYBHjZAlf5TXW+QJPGUVJZkSVjnNTK5IV0YVlC1DHtY9axBa85XdmqTk/dp1jWI5UJ3307fhjwPa9GMA//xhA1C4YmYrR8CJAAAAAElFTkSuQmCC', iconNote = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAwFBMVEUAAADk9P/k8//l9f/n9f/l9P/l9P/l8//l9P/l8//m8//m9P/o9v/q///k9P/k9P/l9P/k9P/m9P/l9P/l9P/l9f/n9v/o8//p+P/m9//p9P/////l8//l8//l9P/k8/8wmP9Wq/9Rqf80mv9Bof83nP/S6v94vf/d8P/X7f/F5P9yuf9mtP88nv/K5v+73v9IpP+Ixf/A4f9/wP9st/+j0/+w2f+bzv+Uy/9Zrf/O6P+OyP9fsP/h8v+13P+p1v+YamAyAAAAH3RSTlMA+cdMSs777eGYgnArDNG/uLSMi4lqVEIiHhcFxsWpm2xOQwAABJ5JREFUaN7Vm2lT6lAMhlso+yIgV3G7OdhS9lVAWcT//6/uaKNHKU2TUu7g88UZmOlrw8mb9JzUkNGwCrnKQzmbMc1MtvxQyRWshnEiSlYtZcIBzFTNKsWtVswn0kCQTuSL8andFlLAIFW4jUXuupoGJunq9dFyyQSISCSPkrsqg5jUVfSVcgGRuChGS4O6CREx6xHSxMrCEWQtodzdJRzJ5Z1E7yYBR5O4EeRCBmIgw86QPxATf3h6eYiNPEcvBzGSC9f7C7HyV3Z/p7/HPMROnr8+T79Wk3ASkoH+koGTkLkJ8E+5n3XHy8XbrAshJA77qtSv3WlTeTxuRiFOfrAegYh121bf6LtAYR2ot7L69zZUP2k9k/XRX5HrIOFJ+XkCgrqvfzGlen76VNex3+eI+qUXhQwH0+fp/Cu6L1RntdcPgoCx8nCW4DGbeB/YYwjmZ/dYliSfgxH0x3gFwZQje9pAfdCG70y9D3dMh5N4zPPhm1mpdwaU32i9a+DTa3mCg+5eoL1s7EAw+kmnCmw6jwpxdv5bpGNaNZDbNLBpK8301R/qDfU0d4uCBYGjqe+s1r6YknZTQMEU37G9HLedz8RfgAbXLkEKXQ24vK48nbfu4MvOOoB0UJCiKGycMNnmAPDcQsXJDDx2+BtS5GVJuMPl6aXH53K10UHn6h2MMZWKpbTM0uw1hrCtkO1H8fVumS796RLamsTSdKFdDrWLY7ibEN7A1WQ1aQsad/tVfEe6QFHU+Ekxs71EwGRHNjYqen8d9DsyMUyepWHJmwGyVwp1uElMw2gAiz66mf8/wW/0L0jSYHaHC2xAD373mZKtEYRi8Yx01MLiQ3yrc5C20xzH0jDJl6QB9YFBzqiwukLKJ2focR1gUDHuIZQlXjHg9rGC9IDDPaNfc9HSXDjIlpXyunfLgoa84oI0oAHwyBoZCGFDXnGktMVwyIQazRgtDQ7j6H6UhRkm2EXrClgSc21ATEEdUvKKG7KnWr0Cl4yRFbfZmi6Gew1ssnRauEOyn8ZwvwGfsvHAqBFjiQHRPJDW5tpUczvGCtIBARXSvF+ojOhgBemBhBxZnraUxTR1kRdQIAvw8OMWSAOagwyLajE6RJHoYQXpgowG1UStdV/oA2vSGGSYZJs4CnbtAWlAdJtYiyC4UMTNhzXCSbkg5qfjghSLfJjpBa3DCdFThT/MGAmpYJuxmUftnOSFgku0NKIm0Q+kRZlgz9ZttpQivakwO9TfzmzdU8mTwqPAF1yv9N6onELIxtB479LuE7ZMVE2iN4aQKiXYRrW2o75w1hCBqt7cowVRTTPpQRSuye1LLbinpjcSxUmoSRKCtvpJcwnRSIZuQbvKh+1MHlnMZ76cYGyyP6rI+I3hinGMsIss52//L1gHJS92XIJmkXcUNB7EFNI6+7Cr129God8LPuxCLDghFnlgGT+X5JFs/CTuzuPQ+XTH6uczOHCa0YjzGv6If7zl/AZ44h1ROs8hrPjGzM53kC6eUcHzHoY8etzzNwy0Rh3ZLV/9pqFk+dj1bxws//+j80gpGfxyQFKSBvLXH+4/X3+4j/D6wz82EbmlhUaaogAAAABJRU5ErkJggg==', iconOverClass = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAulBMVEUAAAD/6uj/6ej/6+j/6ur/6ef/6uj/6uf/6uf/6+j/8Oz/9er/6uf/6ef/6ej/6uj/6uj/6uj/6uf/6uj/6ej/6ef/6+n/6uj/6ef/6en/6ur/7Oj/7uj/7e3/9On/////6uj/6ef/U3b/na7/4+P/WHr/5+b/x83/kKT/2Nr/Z4X/qLb/3d7/rbr/lqj/gZn/d5H/1Nf/zdL/usT/tsH/s77/v8f/iZ//e5T/XH3/bor/4OD/orH/b4qWx+cJAAAAIXRSTlMA+8dMSfnhzoxwIAzu7NLQxr+4tJiXiYOBalRCLCoXBamt+0gtAAAEWElEQVRo3rTTaZKDIBiE4QYREcxiFmMWY7oq9z/j/J6MM8Mn8Nygq96GjDft+bDf2k1db+x2fzi3xqOQYFxTc0HdOBOQ2eOiFf+g9OWBbJ5twwhN+0QO96NiJHW8I1WlKaIrpLjtKLa7Ya2p5yr9hDXCoLiSGgLEjGUCayAzOyZyMwS8ZjLtBV/omEFXIdKVmVwRZWQ2IyKcmNEJ/3oxq5dsX/mNI7MbBX0Wb7ViERV+4TsW0XksmjUL0TOWOBbjsMCwIIMfgmVBNuDTwKIGfJgURd5viqgJ3/WU+KK1XncSBoIwDC9GPMZzjIkak2/YruXQSimFAvd/X8putwkpzkxjfH5veEvamWxRE9UF+ngwB17Rh53Qj4lFH4e3xzv0sSRviT7u/rDTRuSNwOA33AmifwyemNYbRHJQ9maiJyjYKhsfD46zykLhKfY+BpCVGyKqjgUrItqUkA0+THAJkct9Ipl1g7OE9nIH0aUJziGxNQVlN1hSUFtIzo33Lvfm1PjsBj+pMZeL7z74AoFre1vXDbptW3QQvOiGMG17M3SDmLXFVDWK1wPwMmrUu+NjsaupkYE3uFastXESn9/9NvgupSAZK9bbBXhfFEy5TTOl4Au8C3koVhTk/GrLKVjJgzEEax6/QD7o4jmwhsZcgROnLCmk5V0kcVJZV+ZU9QZHkIIYqd7iqbBIbRL+4E4O7pqjVlinz5rLRA45iFxz8Xg2j+CsyVtoggvy1uA8mntwJrQ3ARPsHubcm1swLHmpLpiSZ8G4NWeKoch0wUwxGGfmBowy/oQmGB+vBOOGXzQVeYUuWJBXgTHkg1Pyvqu3ut4EYSg6YpZtGl1mYkyWzKQFLIWKgqLD6P//W3u6vlR6Dwqunkc1vYbez3MPBjNoKMs7DY4Bg9q6rKtXqwGDY8tpeDegEhlrwMVsp5kAiWZrfR5LGe8sFwNSzcQd+GXTQ9JVpZsuoHQH/hQI/IOAcAACf/oyA1JbvRQAljWQ2mZMeUqocQCwR3rFD6YA76xD2D+3YwrwECrAWrDQUAEeck3UAXEb/JevbJuopOXrzgiSim0T36Eu6hgxA9YR6qHe+Va/oJ566QwJ6s8LnuQbBdjslAsHcmx+CkbAuGZqa5ghWMNMbRDmZM4GNI1rDceZXymxBDHHRu6MzkuvHrhP6fuMHblBUiGRhI2y4mYj4QH4DaJNyAfJZKbFBTojc+THEG2yCDCahnBOwtV2uwqTsyRARE2waEF9VbF0Iq4w6gsn91QqHUgVSu7h9GV0qmUD6lOE0JetCVqTx1efZm4EgsENFLQOU+thhlpA+LyRZC+zdXoxts5KgeL7jjVCVJRKlUUrVv/LXpT0iuDn0aug/1929bzO82Fh2etK1o+lc39rdX+EA/1II/wSf3Qvb/FPwNOtRMlPEVZ3MjN/hXTdSAX9FkPeLfd8BkHr7ZLdZxIlt5ddP6Ow/OHSecJo0PxywAAPg4e//vAHMr7+ynUuAYkAAAAASUVORK5CYII=', iconSetTime = 'data:image/png;base64,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', iconToneIcon = 'data:image/png;base64,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', iconUp = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAulBMVEUAAADk8//m9f/l9P/l9P/k9P/l8//l9P/m8//m9P/q///k9P/k9P/l9P/l9P/k9P/k8//m8//m9P/l9P/l9P/l9f/n9v/l9f/n9f/o8//o8//n+f/p+P/m9//p9P/////l8//l8//l9P/k8/8wmP/h8v+Yzf9Eov/b7v/E4/+12/+Nx/9+wP9xuf83nP8zmv/U6//P6f/K5v+g0f9ks/9arv9Ipf86nv8+oP+83/+s1/+m1P9Np/9Rqf8vxikbAAAAI3RSTlMAx0vO+/nttoJwDNH64t+/mJeMi4lqVE1JQiwqIh4XBcbFqQTxdBcAAAKqSURBVGjevNaHUttAEMbxVW8uuOBegE9yAQzYDjYt7/9amTDOwWiUZG+l8+8F/iPp9rSkZzKIWsF10vA9z28k10ErGkzIkNhuOx4KeE7bjqlio9By8Q+uFY6oMrPIAYMTzagKw8AFkxsMqSzbghbLpjJ6CbQ5PZIaNyHSHMvGoFuDUK0rGBO7jhLqNumZd1BSZ04aphZKs6bE1vdRAb9PTJeoyCWxhKhMSAwXqNAF/dcNKnUjeD6jzxiiciH/fJo/q30Y8dd5nPowwp9SobkFQ6w5FenAmA4VsGGQXfC/rcOgekx5XRjVpZxxDUbV8ntOE4Y1c/sgjOvRdwmkVrsMLEklI/G0SdPjAiw2fbEgs/1If9uDwyJlCJntIf10AMtQBQOI7JbpSQaOgE5mLiTWqrcEizs7BSNIrF/SPxbgiU5BBwKvR9XbgMmhTyMI3D6o3j3YRqLFSd5DKB3Ct0fVuwOTGsXYha53YQ9uLLrW9inzfBZfb21oWqTKHpragqG4U7nHd2hQg+Ehh917gzaPaAIt96r3cAuBCQ2QY7SHAUXgyzaqd3yFSEQt5LB6L2vItCgAV/ZD9ZbSHgK6AtPqW28HqSv2vrZ6Vr3DFmIJNcCSffU+niDXIB8sC9X7WaYHn3vRqA/4vEIZ3tmDZ3+lZz805x+LX9WbIQLAIAwDxeT8NPxi/3/Z1AQOSnqkHgukl2ufOCW8+B1/2vDHG/+e8A8Yjxh0iMJjIh6E8aiPDzP0uMYPpPzIzUMFHpvEwdAbAEMs+sLhHo0vcUALI+gLh+x0jYAXJXQVdL7sSq7zHArL1ErWo3TOq9V9xIEcNcJL/tDrLX4Cj1ZR8pSwdJqZr0inUQW9Zcht3bOC0BpVdu+nkpS8rl1XFMun1fnaywHD+kP71x9aYP3hA/M5Qidw03TPAAAAAElFTkSuQmCC', iconWhite = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAulBMVEUAAADk9P/k8//l9f/n9f/l9P/l9P/m8//m9P/o+P/q///k9P/k8//l8//l9P/l9P/l8//k9P/k8//m8//m9P/l9P/l9P/l9f/n9v/o8//o8//n+f/p9P/////l9P/k8/8wmP/Y7f+Fw//d8P+t1/9/v/8+n/9otf95vf8zmv+Bwv9st/+k0/9cr/9Dov/U6//D4/9zuv/N6P9Op/83nP9ptv+dz/+QyP/g8v+WzP+94P+13P+73v+33f9oZhavAAAAH3RSTlMA+cdMSc62gnAgDNHu7OLfxr+Yl4yLiWpUQiwqFwWpuFocwwAAA9RJREFUaN681otO6kAUheE9pVfKVS4CgmsKqQHTQtETMcbz/q910kOJhhntdFrme4E/Tbp2hqoJbH/kDsJ+l7FuPxy4I98O6Eba9thhkGDO2G5TwxaexfALZnkLaszSd6DA8ZfUhLnLoIi5c6qrZaESq0V1zEJU5sxI18MQWoYPejOYMmhiU42Z2D3U0LOpmtUENU1WVEFgoTYrqLCFDhrQUV7IPRpyT0o8NMYjBXdo0B2VekSjHpW+z+A3emicp/x/GvhXW7iJH/cYdHATnYCkVhZUfcbb7Xb9AkWW/K5O1Hs7nttHUDQhCRvKjvwsgSqbBO0elL0WwRiqem0hOIWyza4IplA2Fd4vDMo+eOEPlLHrd84QModkHYtSfnGMBevkAJnh1XtQmjtyLUdpckbfhRBle65pn0EUlt20Q97TLR5KLpwlH5u+I0TWV28OUbTjNewiiOZ04UKUnJeWbSrK0h+PkEuFJYPoxHMZKst47gQRW9KZD4k1z0WoLOK5NSR8OnNMBZ1zbwFTQSwo55kLepSzTAWLKbaZuSBrC2dNGtxcRP+9awaL8zYuCyb76zOSvugGx8IoxGC244JUPSgOg5UET1xioxlkRAFKggkXPUEziIDssuD7Kxe8aQdt8suC2Lw9x/HzN6cPaAd9GgHmdgiMyDUbdGlgNjig0GwwpL7ZYJ+6ZoNdYqXBz3T/9Jv0b4UgKw/+q97sdhqGYSjcsQ46dsUFaHATN9tYq0K7td2g7P3fix9PQkJ2PNMuyr4HqKsojuJzTuoWBNpaUVBe0g5EOsWSyptmDyJ7xaaR2yItQaBMNW0hN35l13/Z/VAgNtU0vvejzf/hnfgtmESx34JxNPVbcBpFI58FR3hN9FdwIl+EJfQX4bHPgjE7zKQFjupLNXiPLVJ6mOHGtS6HnuQdq5zckMJAfzbcQPpEShj9eaNHbrIxLAyAJZoCSXwVTFhhqG7yHHqR501NC0MofQkUgBwMQQZIYQSuCXGPZtEex0Jyul8C0i6Mm0dGvuQ/uXX+DiyNk6vTTaet+4sF8T+SBTUzDt6f3Wv2Ar8rzjMhRHaGAyA7g7Ba7sE4mBM2AkMmOT9rQDLDc6cwSkpeVkb2gJRGMEpOs4I+RDWogiO82vCgMLusrJW8AmIVZlcUS15aZVg6QBrDEGsMy0bW1+rWXfBeZcluVtkXtnJ2TvbNquYs2TBM5/PZ6uEEB84TjQgr/DF8vCW8AM+wEaUwQ1jDxczCDdINExUMOwzZO+55CYHW/0Z2Z/NLCiXrY9eXGCz3EJ2nuR3zjwPGijbw/fzhE7HYtyzsXc6MAAAAAElFTkSuQmCC', iconWork = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHAAAABwCAMAAADxPgR5AAAAt1BMVEUAAAD/6uj/6uj/6+j/6ur/6uf/6ef/6uj/6uf/6uj/6+j/8Oz/9er/6uj/6uf/6ef/6uj/6uf/6uj/6ej/6ef/6+n/6en/6ur/7Oj/7uj/7e3/9On/////6uj/6ef/U3b/39//mav/2tv/XX7/n6//hZz/WXv/iZ7/e5T/Z4T/5OT/s7//YYD/cIz/4eH/1tn/u8T/fpf/dY//prT/x87/wsr/k6b/aof/rbr/jaL/nK3/z9P/yc/wFT71AAAAHnRSTlMA/MdMSc754YyCcCAM0e7sv7i0mJeJalRCLCoXBamy1b4xAAAECklEQVRo3tWba3OaQBSGl+Wigiaaahqb9CyRSFNA8ZJoLv3/v6sd6JRE9nJYLmOfjxmHZ1Z4T5azR1INz3KnEzrqXTrOZW9EJ1PX8khLDK2+7QAHx+5bw6Zt8wE1QIJBB/PmbLeuDQhs97YR3c2VAUiMq5vaOpNCJahZS/d1BJWxv2rrvo1Bi/E3vRjMDNDEmGnExOpBDXpWRd1dH2rSv6tUwSjUhnoVsnABDXCBTsi1AY1gXON8A2iMAcb3BRrki9r3HRrlu+769NeIvH8d3cdraIFrSf4MaAFDmEevnPf3fRxBXS48Qf0s17OYMbZaQ10ov65y6nXC/rCE2vR5PgvKsIw91MYq+4Y9KLPNjU9Ql96wJJwBhzTIhIkPn1j7HOS3elbav/ATsWEZj5/+9pNxCVdvqTgbp/ucMfC5Zxlv8I9FyMQchCEan+wHQcSOZWw+REXGagECPu8eRyBikWQXClL4yzOTG0VrHH2qaSDm+fRCW7nxAAJMUkBBwp5lvBZPzds9h8OO5aTAhxa+GxBTLCkGBU/543sPAoo3nSuQ4ucXCt+VxuxzRxBwRf5ya4CcX2F+JWUZf8w+J8ziLclxQcULY8oyXqTWBwEuybFBySuujD9knxJG0c59c1ATrYoyri+EOX7jlIZ5GV/UEg74IZSWcZxQFsWhASiKMq4vNIacsqYq4881hGBytjKIMq4v7JdDoS7ju0gtlAXDkRarh5fo9HrsoC90CPFUFWYVKcs4XggesUBCkl2+VMaTSFtoSQupn/+7KZfxVFvokilaWJTxQH+FUzLBCov8hxvQFk4IrSiE9NkHfSElI7ywQF84Ij0tYfrj+PMDx+U7UtgjlzrC6MhOSHyc8JI4GkLeZjjGCR094VNZuEEK9b5S2J36jmvkV6r50Kwfto8f2N772Iem+1jQboWUTLoVTsi0W+GUuN0KXWJ1K7SIV0EYv/7g87pfo7cYxEELD9JXe+wmithYoc9kbNDbxD5WmEqFMXojbGKFsJP4ggVKaGUvM1jhYhmEAnZP+JcZQruLBc1fSLsTDjLhvDvhnGTYXQltVdskKnpeOA6KtomyMRRkRQQwFMEJxY0hZevrscg0vvGwU7a+yI28kRgijXHeIX9QNPdkUfQDlpFsl0q2CcsIF8IQFpiyJeKRL9BEtaCXVX1bYSZwTfaoonG5xjXZyRhEvCR4XbAHEWPVQUnBOl6ukkBJslrGa/xBCZlBq8wwh114dA67iAUtYvEPLFujLzqSbQl6Jzx0boUL71yO1dsaHDin0Yg2hj/Obbyl6QGecxxRanII61zHzJoapDvnUcEGhiHPf9yz64FW/ZHd0df/aSi5+tj1/zhY3vHofMHQFP84wMTHoPOfP/wGTQWP9qtjfVcAAAAASUVORK5CYII='; function _isSlot(t) { return ( 'function' == typeof t || ('[object Object]' === Object.prototype.toString.call(t) && !isVNode(t)) ); } const AttendClass = exports( 'A', defineComponent({ name: 'CoursewarePlay', props: { type: { type: String, default: '' }, subjectId: { type: [String, Number], default: '' }, lessonCourseId: { type: [String, Number], default: '' }, detailId: { type: String, default: '' }, classGroupId: { type: String, default: '' }, classId: { type: String, defaault: '' }, preStudentNum: { type: [String, Number], default: '' } }, emits: ['close'], setup(t, { emit: e }) { const r = useMessage(), a = useRoute(), i = useRouter(), s = useUserStore(), n = reactive({ width: '100vw' }); onUnmounted(() => {}); const o = reactive({ type: 'class', subjectId: '', lessonCourseId: '', lessonCoursewareDetailId: '', detailId: '', classGroupId: '', classId: '', preStudentNum: '', knowledgePointList: [], itemList: [], videoRefs: {}, audioRefs: {}, modelAttendStatus: !1, modalAttendMessage: '本节课未设置课后作业,是否继续?', modelTrainStatus: !1, homeworkStatus: !0, removeVisiable: !1, removeTitle: '', removeContent: '' }), l = reactive({ nowTime: 0, model: !0, isAnimation: !0, timer: null, item: null }), h = async () => { try { const t = ( await queryCourseware({ coursewareDetailKnowledgeId: o.detailId, subjectId: o.subjectId, pag: 1, rows: 99 }) ).data.rows || [], e = []; t.forEach(t => { t.removeFlag || e.push({ id: t.id, materialId: t.materialId, coverImg: t.coverImg, type: t.materialType, title: t.materialName, isCollect: !!t.favoriteFlag, isSelected: 'PLATFORM' === t.source, content: t.content }); }), (o.knowledgePointList = e), (o.itemList = o.knowledgePointList.map(t => ({ ...t, iframeRef: null, videoEle: null, audioEle: null, autoPlay: !1, isprepare: !1, isRender: !1 }))); } catch {} }, p = ref(!1), c = ref(!1), d = ref(!1), f = t => { if ( (console.log(t.data?.api, t.data, 'ev.data'), 'headerTogge' === t.data?.api && (l.model = t.data.show || 'play' != t.data.playState), 'onAttendToggleMenu' === t.data?.api && (l.model = !l.model), 'api_fingerPreView' === t.data?.api && (clearInterval(l.timer), (l.model = !t.data.state)), 'documentBodyKeyup' === t.data?.api && ('ArrowLeft' === t.data?.code && (E(), C('up')), 'ArrowRight' === t.data?.code && (E(), C('down'))), 'onLogin' === t.data?.api) ) { const t = document; t.exitFullscreen ? t.exitFullscreen() : t.mozCancelFullScreen ? t.mozCancelFullScreen() : t.webkitExitFullscreen && t.webkitExitFullscreen(), s.logout(), i.replace('/login'); } }; onMounted(() => { const e = a.query; console.log(e, t.preStudentNum, '学生人数'), (o.type = t.type || e.type), (o.subjectId = t.subjectId || e.subjectId), (o.detailId = t.detailId || e.detailId), (o.lessonCourseId = t.lessonCourseId || e.lessonCourseId), (o.classGroupId = t.classGroupId || e.classGroupId), (o.classId = t.classId || e.classId), (o.preStudentNum = t.preStudentNum || e.preStudentNum), window.addEventListener('message', f), h(), g(); }); const m = reactive({ open: !1, activeIndex: 0, toolOpen: !1, chapterOpen: !1, chapterDetails: [], chapterLoading: !1 }), u = (t, e, r = []) => { for (const a of e) { if (a.knowledgeList && a.knowledgeList.length > 0) { const e = u(t, a.knowledgeList, [...r, a.id]); if (e.includes(t)) return e; } if (a.id === t) return [...r, t]; } return r; }, g = async () => { try { const t = await lessonCoursewareDetail({ id: o.lessonCourseId, subjectId: o.subjectId }); m.chapterDetails = t.data.lessonList || []; const e = u(o.detailId, m.chapterDetails); o.lessonCoursewareDetailId = e[0]; } catch {} }, y = async () => { try { if (!o.classId) return; await courseScheduleUpdate({ lessonCoursewareKnowledgeDetailId: o.detailId, id: o.classId }); } catch {} }, v = computed(() => { let t = ''; return ( m.chapterDetails.forEach(e => { e.id === o.lessonCoursewareDetailId && ((t = e.name), e.knowledgeList?.forEach(e => { e.id === o.detailId && (t += ' - ' + e.name); })); }), t ); }), b = () => { for (let e = 0; e < o.itemList.length; e++) { const r = o.itemList[e]; if ('VIDEO' === r.type && r.videoEle) try { r.videoEle?.currentTime(0), r.videoEle?.pause(); } catch (t) {} 'SONG' === r.type && r.audioEle && r.audioEle?.stop(), 'MUSIC' === r.type && r.iframeRef?.contentWindow?.postMessage( { api: 'setPlayState' }, '*' ); } }, _ = () => { clearTimeout(l.timer), r.destroyAll(), (l.timer = setTimeout(() => { (l.model = !1), Object.values(o.videoRefs).map(t => t?.toggleHideControl(!1) ), Object.values(o.audioRefs).map(t => t?.toggleHideControl(!1) ); }, 4e3)); }, w = ref(3), A = [ { prev: { transform: 'translate3d(0, 0, -800px) rotateX(180deg)' }, next: { transform: 'translate3d(0, 0, -800px) rotateX(-180deg)' } }, { prev: { transform: 'translate3d(-100%, 0, -800px)' }, next: { transform: 'translate3d(100%, 0, -800px)' } }, { prev: { transform: 'translate3d(-50%, 0, -800px) rotateY(80deg)' }, next: { transform: 'translate3d(50%, 0, -800px) rotateY(-80deg)' } }, { prev: { transform: 'translate3d(-100%, 0, -800px) rotateY(-120deg)' }, next: { transform: 'translate3d(100%, 0, -800px) rotateY(120deg)' } }, { prev: { transform: 'translate3d(-50%, 50%, -800px) rotateZ(-14deg)', opacity: 0 }, next: { transform: 'translate3d(50%, 50%, -800px) rotateZ(14deg)', opacity: 0 } }, { prev: { transform: 'translateZ(-800px) rotate3d(0, -1, 0, 90deg)', opacity: 0 }, next: { transform: 'translateZ(-800px) rotate3d(0, 1, 0, 90deg)', opacity: 0 }, current: { transitionDelay: '700ms' } } ], x = ref(), P = t => { m.activeIndex != t && (b(), clearTimeout(x.value), S(m.activeIndex, t), (m.activeIndex = t), (x.value = setTimeout( () => { const e = o.itemList[t]; e && ('MUSIC' == e.type && (l.model = !0), 'SONG' === e.type && (clearTimeout(l.timer), r.destroyAll()), 'VIDEO' === e.type && (clearTimeout(l.timer), r.destroyAll(), nextTick(() => { e.error && (e.videoEle?.src(e.content), (e.error = !1)); }))); }, l.isAnimation ? 800 : 0 ))); }, S = (t, e) => { const r = o.itemList[t], a = o.itemList[e]; if (a) { if (a.knowledgePointId != r.knowledgePointId) return void (l.isAnimation = !0); const i = r.videoEle, s = a.videoEle; (i && i.duration < 8 && t < e) || (s && s.duration < 8 && t > e) ? (l.isAnimation = !1) : (l.isAnimation = !0); } else l.isAnimation = !(r?.adviseStudyTimeSecond < 8); }, C = async t => { if ('up' === t) { if (m.activeIndex > 0) return void P(m.activeIndex - 1); let t = m.chapterDetails.findIndex( t => t.id == o.lessonCoursewareDetailId ); const e = m.chapterDetails[t]?.knowledgeList || []; let r = e.findIndex(t => t.id == o.detailId), a = !1, i = '', s = ''; for ( ; r >= 0 && (r--, r >= 0 && e[r].containMaterial && ((a = !0), (i = e[r].lessonCoursewareDetailId), (s = e[r].id)), !a); ); if (a) return ( (m.chapterLoading = !0), (o.detailId = s), (o.lessonCoursewareDetailId = i), 'preview' !== o.type && (await y()), await h(), (m.activeIndex = o.itemList.length - 1 || 0), (m.chapterOpen = !1), void (m.chapterLoading = !1) ); let n = !1; for (; t >= 0; ) { t--; const e = m.chapterDetails[t]?.knowledgeList || []; let r = e.length; for ( ; r > 0 && (e[r - 1].containMaterial && ((n = !0), (i = e[r - 1].lessonCoursewareDetailId), (s = e[r - 1].id)), r--, !n); ); if (n) break; } if (n) return ( (m.chapterLoading = !0), (o.detailId = s), (o.lessonCoursewareDetailId = i), await h(), (m.activeIndex = o.itemList.length - 1 || 0), void (m.chapterLoading = !1) ); } else { if (m.activeIndex < o.itemList.length - 1) return void P(m.activeIndex + 1); let t = m.chapterDetails.findIndex( t => t.id == o.lessonCoursewareDetailId ); const e = m.chapterDetails[t]?.knowledgeList || []; let r = e.findIndex(t => t.id == o.detailId), a = !1, i = '', s = ''; for ( ; r < e.length - 1 && (r++, r >= 0 && e[r].containMaterial && ((a = !0), (i = e[r].lessonCoursewareDetailId), (s = e[r].id)), !a); ); if (a) return ( (m.chapterLoading = !0), (o.detailId = s), (o.lessonCoursewareDetailId = i), 'preview' !== o.type && (await y()), await h(), (m.activeIndex = 0), (m.chapterOpen = !1), void (m.chapterLoading = !1) ); let n = !1; for (; t <= m.chapterDetails.length - 1; ) { t++; const e = m.chapterDetails[t]?.knowledgeList || []; let r = 0; for ( ; r <= e.length - 1 && (e[r].containMaterial && ((n = !0), (i = e[r].lessonCoursewareDetailId), (s = e[r].id)), r++, !n); ); if (n) break; } if (n) return ( (m.chapterLoading = !0), (o.detailId = s), (o.lessonCoursewareDetailId = i), 'preview' !== o.type && (await y()), await h(), (m.activeIndex = 0), (m.chapterOpen = !1), void (m.chapterLoading = !1) ); } }, T = () => { const t = o.itemList[m.activeIndex]; 'VIDEO' != t?.type || t.videoEle?.paused || _(), 'SONG' != t?.type || t.audioEle?.paused || _(); }; document.body.addEventListener('keyup', t => { 'ArrowLeft' === t.code ? (E(), C('up')) : 'ArrowRight' === t.code && (E(), C('down')); }); const E = (t = !0) => { clearTimeout(l.timer), (l.model = t), Object.values(o.videoRefs).map(e => e?.toggleHideControl(t) ), Object.values(o.audioRefs).map(e => e?.toggleHideControl(t) ); }, k = reactive({ type: '', penShow: !1, whiteboardShow: !1 }), M = t => { const e = o.itemList[m.activeIndex]; switch ( ('VIDEO' === e.type && e.videoEle && e.videoEle?.pause(), 'SONG' === e.type && e.audioEle && e.audioEle?.stop(), 'MUSIC' === e.type && e.iframeRef?.contentWindow?.postMessage( { api: 'setPlayState' }, '*' ), clearTimeout(l.timer), r.destroyAll(), (l.model = !1), Object.values(o.videoRefs).map(t => t?.toggleHideControl(!1) ), Object.values(o.audioRefs).map(t => t?.toggleHideControl(!1) ), (m.toolOpen = !1), (k.type = t.type), t.type) ) { case 'pen': k.penShow = !0; break; case 'whiteboard': k.whiteboardShow = !0; } }, D = () => { (k.type = 'init'), ((t = !0) => { (l.model = t), Object.values(o.videoRefs).map(e => e?.toggleHideControl(t) ), Object.values(o.audioRefs).map(e => e?.toggleHideControl(t) ); })(); }, I = t => { 'setTimeIcon' == t && (d.value = !0), 'beatIcon' == t && (p.value = !0), 'toneIcon' == t && (c.value = !0); }, F = computed(() => { if (m.activeIndex > 0) return !0; let t = m.chapterDetails.findIndex( t => t.id == o.lessonCoursewareDetailId ); const e = m.chapterDetails[t]?.knowledgeList || []; let r = e.findIndex(t => t.id == o.detailId); if (t <= 0 && r <= 0) return !1; let a = !1; for (; r >= 0; ) r--, r >= 0 && e[r].containMaterial && (a = !0); if (a) return !0; if (t <= 0) return !1; let i = !1; for (; t >= 0; ) { t--; const e = m.chapterDetails[t]?.knowledgeList || []; let r = e.length; for (; r > 0; ) e[r - 1].containMaterial && (i = !0), r--; if (i) return !0; } return !1; }), V = computed(() => { if (m.activeIndex < o.itemList.length - 1) return !0; let t = m.chapterDetails.findIndex( t => t.id == o.lessonCoursewareDetailId ); const e = m.chapterDetails[t]?.knowledgeList || []; let r = e.findIndex(t => t.id == o.detailId); if (t >= m.chapterDetails.length - 1 && r >= e.length - 1) return !1; let a = !1; for (; r < e.length - 1; ) r++, r >= 0 && e[r].containMaterial && (a = !0); if (a) return !0; if (t >= m.chapterDetails.length - 1) return !1; let i = !1; for (; t < m.chapterDetails.length - 1; ) { t++; const e = m.chapterDetails[t]?.knowledgeList || []; let r = 0; for (; r <= e.length - 1; ) e[r].containMaterial && (i = !0), r++; if (i) return !0; } return !1; }); return () => { let t; return createVNode( 'div', { id: 'playContent', class: [styles$5.playContent, 'wrap'] }, [ createVNode( 'div', { onClick: () => { clearTimeout(l.timer), (l.model = !l.model), Object.values(o.videoRefs).map(t => t?.toggleHideControl(l.model) ), Object.values(o.audioRefs).map(t => t?.toggleHideControl(l.model) ); } }, [ createVNode( 'div', { class: styles$5.coursewarePlay, style: { width: n.width }, onClick: t => { t.stopPropagation(), _(); } }, [ m.chapterLoading ? '' : createVNode( 'div', { class: styles$5.wraps }, [ o.itemList.map((t, e) => { const a = Math.abs(m.activeIndex - e) < 2, i = Math.abs(m.activeIndex - e) > 4; return a ? createVNode( 'div', { key: 'index' + e, class: [ styles$5.itemDiv, m.activeIndex === e && styles$5.itemActive, l.isAnimation && styles$5.acitveAnimation, Math.abs( m.activeIndex - e ) < 2 ? styles$5.show : styles$5.hide ], style: e < m.activeIndex ? A[w.value].prev : e > m.activeIndex ? A[w.value].next : {}, onClick: e => { e.stopPropagation(), clearTimeout(l.timer), Date.now() - l.nowTime < 300 ? (t => { if ( t && 'VIDEO' === t.type ) { const e = t.videoEle; e && (e.paused ? (r.destroyAll(), e.play()) : (r.warning( '已暂停' ), e.pause())); } })(t) : ((l.nowTime = Date.now()), (l.timer = setTimeout( () => { (l.model = !l.model), Object.values( o.videoRefs ).map(t => t?.toggleHideControl( l.model ) ), Object.values( o.audioRefs ).map(t => t?.toggleHideControl( l.model ) ), l.model && _(); }, 300 ))); } }, [ 'VIDEO' === t.type ? createVNode( Fragment, null, [ createVNode( VideoPlay, { ref: t => (o.videoRefs[ e ] = t), item: t, isEmtry: i, onLoadedmetadata: e => { (t.videoEle = e), (t.isprepare = !0); }, onTogglePlay: e => { (t.autoPlay = !1), e || m.open ? clearTimeout( l.timer ) : _(); }, onReset: () => { t.videoEle ?.paused || _(); }, onError: () => { console.log( 'video error' ), (t.error = !0); } }, null ), createVNode( Transition, { name: 'van-fade' }, { default: () => [ !t.isprepare && createVNode( 'div', { class: styles$5.loadWrap }, [ createVNode( Vue3Lottie, { animationData: playLoadData }, null ) ] ) ] } ) ] ) : 'IMG' === t.type ? createVNode( 'img', { src: t.content }, null ) : 'SONG' === t.type ? createVNode( AudioPay, { item: t, ref: t => (o.audioRefs[e] = t), onLoadedmetadata: e => { (t.audioEle = e), (t.isprepare = !0); }, onTogglePlay: e => { (t.autoPlay = !1), e || m.open ? clearTimeout( l.timer ) : _(); }, onEnded: () => { const t = m.activeIndex + 1; t < o.itemList .length && P(t); }, onReset: () => { t.audioEle ?.paused || _(); } }, null ) : createVNode( MusicScore, { activeModel: l.model, activeStatus: m.activeIndex === e, 'data-vid': t.id, music: t, onSetIframe: e => { t.iframeRef = e; } }, null ) ] ) : null; }) ] ) ] ) ] ), createVNode( 'div', { style: { transform: l.model ? '' : 'translateY(-100%)' }, class: styles$5.headerContainer }, [ createVNode('div', { class: styles$5.menu }, [ v.value ]), '22:43' ] ), createVNode( 'div', { onClick: t => { t.stopPropagation(); }, class: [ styles$5.switchDisplaySection, l.model ? '' : styles$5.sectionAnimate ] }, [ createVNode( NSpace, { class: styles$5.switchSpace }, { default: () => [ createVNode( 'div', { class: styles$5.btnItem, onClick: async () => { 'preview' === o.type ? (b(), (o.removeVisiable = !0), (o.removeTitle = '结束预览'), (o.removeContent = '请确认是否结束预览?')) : ((o.removeVisiable = !0), (o.removeTitle = '结束课程'), (o.removeContent = '请确认是否结束课程?')); } }, [ createVNode( 'img', { src: iconOverClass }, null ), createVNode('p', null, [ 'preview' !== o.type ? '结束课程' : '结束预览' ]) ] ), 'preview' !== o.type && createVNode( 'div', { class: [ styles$5.btnItem, o.preStudentNum <= 0 ? styles$5.btnsDisabled : '' ], onClick: async () => { if (o.preStudentNum <= 0) return; const t = await lessonPreTrainingPage( { coursewareKnowledgeDetailId: o.detailId, subjectId: o.subjectId, page: 1, rows: 99 } ); t.data.rows && t.data.rows.length && (o.modalAttendMessage = '本节课已设置课后作业,是否布置?'), (o.modelAttendStatus = !0); } }, [ createVNode( 'img', { src: iconWork }, null ), createVNode('p', null, [ createTextVNode('布置作业') ]) ] ), createVNode( 'div', { class: styles$5.btnItem, onClick: () => M({ type: 'pen', icon: iconNote, name: '批注' }) }, [ createVNode( 'img', { src: iconNote }, null ), createVNode('p', null, [ createTextVNode('批注') ]) ] ), createVNode( 'div', { class: styles$5.btnItem, onClick: () => M({ type: 'whiteboard', icon: iconWhite, name: '白板' }) }, [ createVNode( 'img', { src: iconWhite }, null ), createVNode('p', null, [ createTextVNode('白板') ]) ] ), createVNode( 'div', { class: styles$5.btnItem, onClick: () => I('beatIcon') }, [ createVNode( 'img', { src: iconToneIcon }, null ), createVNode('p', null, [ createTextVNode('节拍器') ]) ] ), createVNode( 'div', { class: styles$5.btnItem, onClick: () => I('toneIcon') }, [ createVNode( 'img', { src: iconSetTime }, null ), createVNode('p', null, [ createTextVNode('调音器') ]) ] ), createVNode( 'div', { class: styles$5.btnItem, onClick: () => I('setTimeIcon') }, [ createVNode( 'img', { src: iconBeatIcon }, null ), createVNode('p', null, [ createTextVNode('计时器') ]) ] ) ] } ), createVNode( NSpace, { class: styles$5.switchSpace }, { default: () => [ createVNode( 'div', { class: styles$5.btnItem, onClick: () => (m.chapterOpen = !0) }, [ createVNode( 'img', { src: iconChange }, null ), createVNode('p', null, [ createTextVNode('切换章节') ]) ] ), createVNode( 'div', { class: styles$5.btnItem, onClick: () => (m.open = !0) }, [ createVNode( 'img', { src: iconMenu }, null ), createVNode('p', null, [ createTextVNode('资源列表') ]) ] ), createVNode( 'div', { class: [ styles$5.btnItem, F.value ? '' : styles$5.btnsDisabled ], onClick: () => { F.value && C('up'); } }, [ createVNode('img', { src: iconUp }, null), createVNode('p', null, [ createTextVNode('上一个') ]) ] ), createVNode( 'div', { class: [ styles$5.btnItem, V.value ? '' : styles$5.btnsDisabled ], onClick: () => { V.value && C('down'); } }, [ createVNode( 'img', { src: iconDown }, null ), createVNode('p', null, [ createTextVNode('下一个') ]) ] ) ] } ) ] ), createVNode( NDrawer, { show: m.open, 'onUpdate:show': t => (m.open = t), class: styles$5.drawerContainer, onAfterLeave: T, showMask: !1 }, { default: () => [ createVNode( NDrawerContent, { title: '资源列表', closable: !0 }, _isSlot( (t = o.knowledgePointList.map((t, e) => createVNode( 'div', { class: styles$5.cardContainer }, [ createVNode( CardType, { item: t, isActive: m.activeIndex === e, isCollect: !1, isShowCollect: !1, onClick: t => { (m.open = !1), (t => { const e = o.itemList.findIndex( e => e.id == t ); e > -1 && P(e); })(t.id); } }, null ) ] ) )) ) ? t : { default: () => [t] } ) ] } ), createVNode( NDrawer, { show: m.chapterOpen, 'onUpdate:show': t => (m.chapterOpen = t), class: styles$5.drawerContainer, onAfterLeave: T, showMask: !1, displayDirective: 'show' }, { default: () => [ createVNode( NDrawerContent, { title: '切换章节', closable: !0 }, { default: () => [ createVNode( Chapter, { treeList: m.chapterDetails, itemActive: o.detailId, onHandleSelect: async t => { m.chapterLoading = !0; try { o.detailId = t.itemActive; const e = u( t.itemActive, m.chapterDetails ); (o.lessonCoursewareDetailId = e[0]), 'preview' !== o.type && (await y()), await h(), (m.activeIndex = 0), (m.chapterOpen = !1); } catch {} m.chapterLoading = !1; } }, null ) ] } ) ] } ), k.penShow && createVNode( Pen, { show: 'pen' === k.type, type: k.type, close: () => D() }, null ), k.whiteboardShow && createVNode( Pen, { show: 'whiteboard' === k.type, type: k.type, close: () => D() }, null ), createVNode( NModal, { transformOrigin: 'center', show: o.modelAttendStatus, 'onUpdate:show': t => (o.modelAttendStatus = t), preset: 'card', title: '课后作业', class: ['modalTitle', styles$5.removeVisiable] }, { default: () => [ createVNode( 'div', { class: styles$5.studentRemove }, [ createVNode('p', null, [ o.modalAttendMessage ]), createVNode( NSpace, { class: styles$5.btnGroupModal }, { default: () => [ createVNode( NButton, { type: 'default', round: !0, onClick: () => { (o.modelAttendStatus = !1), b(), (o.modelAttendStatus = !1); } }, { default: () => [ createTextVNode('暂不布置') ] } ), createVNode( NButton, { type: 'primary', round: !0, onClick: () => { (o.modelTrainStatus = !0), (o.modelAttendStatus = !1); } }, { default: () => [ createTextVNode('布置') ] } ) ] } ) ] ) ] } ), createVNode( NModal, { transformOrigin: 'center', show: o.modelTrainStatus, 'onUpdate:show': t => (o.modelTrainStatus = t), preset: 'card', class: [ styles$5.attendClassModal, styles$5.trainClassModal ], title: '作业设置' }, { default: () => [ createVNode( TrainSettings, { detailId: o.detailId, subjectId: o.subjectId, classGroupId: o.classGroupId, onClose: () => (o.modelTrainStatus = !1), onConfirm: () => { o.modelTrainStatus = !1; } }, null ) ] } ), createVNode( NModal, { transformOrigin: 'center', class: ['modalTitle background'], title: '节拍器', preset: 'card', show: p.value, 'onUpdate:show': t => (p.value = t), style: { width: '687px' } }, { default: () => [ createVNode('div', { class: styles$5.modeWrap }, [ createVNode( 'iframe', { src: `${vaildUrl()}/metronome/?id=${new Date().getTime()}`, scrolling: 'no', frameborder: '0', width: '100%', height: '650px' }, null ) ]) ] } ), createVNode( NModal, { transformOrigin: 'center', class: ['background'], show: c.value, 'onUpdate:show': t => (c.value = t) }, { default: () => [ createVNode('div', null, [ createVNode( PlaceholderTone, { onClose: () => { c.value = !1; } }, null ) ]) ] } ), createVNode( NModal, { transformOrigin: 'center', show: d.value, 'onUpdate:show': t => (d.value = t), class: ['modalTitle background'], title: '计时器', preset: 'card', style: { width: px2vw(772) } }, { default: () => [ createVNode('div', null, [ createVNode(TimerMeter, null, null) ]) ] } ), createVNode( NModal, { transformOrigin: 'center', show: o.removeVisiable, 'onUpdate:show': t => (o.removeVisiable = t), preset: 'card', class: ['modalTitle', styles$5.removeVisiable], title: o.removeTitle }, { default: () => [ createVNode( 'div', { class: styles$5.studentRemove }, [ createVNode('p', null, [o.removeContent]), createVNode( NSpace, { class: styles$5.btnGroupModal, justify: 'center' }, { default: () => [ createVNode( NButton, { round: !0, onClick: () => (o.removeVisiable = !1) }, { default: () => [ createTextVNode('取消') ] } ), createVNode( NButton, { round: !0, type: 'primary', onClick: () => { state.application ? (document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen && document.webkitExitFullscreen(), e('close')) : window.close(); } }, { default: () => [ createTextVNode('确定') ] } ) ] } ) ] ) ] } ) ] ); }; } }) ), index = Object.freeze( Object.defineProperty( { __proto__: null, default: AttendClass }, Symbol.toStringTag, { value: 'Module' } ) ); exports('i', index); } }; } ); })();