{"version":3,"sources":["webpack:///./src/assets/images/puhui/s3.jpg","webpack:///./src/views/puhui/home.vue?ba60","webpack:///./src/views/puhui/components/TopBar.vue?bcd4","webpack:///src/views/puhui/components/TopBar.vue","webpack:///./src/views/puhui/components/TopBar.vue?4927","webpack:///./src/views/puhui/components/TopBar.vue","webpack:///./src/views/puhui/components/BackTop.vue?4d82","webpack:///src/views/puhui/components/BackTop.vue","webpack:///./src/views/puhui/components/BackTop.vue?e375","webpack:///./src/views/puhui/components/BackTop.vue","webpack:///./src/views/puhui/main-content.vue?feda","webpack:///./src/views/puhui/components/BannerSwipe.vue?be2a","webpack:///src/views/puhui/components/BannerSwipe.vue","webpack:///./src/views/puhui/components/BannerSwipe.vue?d1da","webpack:///./src/views/puhui/components/BannerSwipe.vue","webpack:///./src/views/puhui/components/ServiceNav.vue?9538","webpack:///src/views/puhui/components/ServiceNav.vue","webpack:///./src/views/puhui/components/ServiceNav.vue?b95c","webpack:///./src/views/puhui/components/ServiceNav.vue","webpack:///./src/views/puhui/live-floor.vue?b110","webpack:///./src/views/puhui/components/Floor.vue?07c7","webpack:///src/views/puhui/components/Floor.vue","webpack:///./src/views/puhui/components/Floor.vue?71ed","webpack:///./src/views/puhui/components/Floor.vue","webpack:///./src/utils/bsyq-request.js","webpack:///./src/api/live.js","webpack:///src/views/puhui/live-floor.vue","webpack:///./src/views/puhui/live-floor.vue?0135","webpack:///./src/views/puhui/live-floor.vue","webpack:///./src/views/puhui/product-floor.vue?9f41","webpack:///./src/api/homephone.js","webpack:///src/views/puhui/product-floor.vue","webpack:///./src/views/puhui/product-floor.vue?c8ba","webpack:///./src/views/puhui/product-floor.vue","webpack:///./src/views/puhui/shop-floor.vue?ffef","webpack:///./src/api/search.js","webpack:///src/views/puhui/shop-floor.vue","webpack:///./src/views/puhui/shop-floor.vue?3841","webpack:///./src/views/puhui/shop-floor.vue","webpack:///./src/views/puhui/ad-panel.vue?b536","webpack:///src/views/puhui/ad-panel.vue","webpack:///./src/views/puhui/ad-panel.vue?e73c","webpack:///./src/views/puhui/ad-panel.vue","webpack:///./src/views/puhui/coupon-panel.vue?e606","webpack:///./src/api/coupon.js","webpack:///src/views/puhui/coupon-panel.vue","webpack:///./src/views/puhui/coupon-panel.vue?04a0","webpack:///./src/views/puhui/coupon-panel.vue","webpack:///./src/views/puhui/product-panel.vue?379f","webpack:///src/views/puhui/product-panel.vue","webpack:///./src/views/puhui/product-panel.vue?6b6a","webpack:///./src/views/puhui/product-panel.vue","webpack:///src/views/puhui/main-content.vue","webpack:///./src/views/puhui/main-content.vue?d1f4","webpack:///./src/views/puhui/main-content.vue","webpack:///./src/views/puhui/coupon-overlay.vue?def7","webpack:///src/views/puhui/coupon-overlay.vue","webpack:///./src/views/puhui/coupon-overlay.vue?2b52","webpack:///./src/views/puhui/coupon-overlay.vue","webpack:///./src/views/puhui/newyear-overlay.vue?af0e","webpack:///src/views/puhui/newyear-overlay.vue","webpack:///./src/views/puhui/newyear-overlay.vue?3a31","webpack:///./src/views/puhui/newyear-overlay.vue","webpack:///src/views/puhui/home.vue","webpack:///./src/views/puhui/home.vue?7894","webpack:///./src/views/puhui/home.vue","webpack:///./src/assets/images/arrow.png","webpack:///./src/assets/images/puhui/sy-w5.png","webpack:///./src/assets/svg/search.svg","webpack:///./src/assets/images/puhui/s1.jpg","webpack:///./src/assets/images/puhui/s4.jpg","webpack:///./src/assets/images/puhui/c3.png","webpack:///./src/config/mammonArray.js","webpack:///./src/views/puhui/coupon-overlay.vue?4508","webpack:///./src/views/puhui/coupon-panel.vue?76ec","webpack:///./src/assets/images/puhui sync ^\\.\\/c.*\\.png$","webpack:///./src/assets/images/puhui/c1.png","webpack:///./src/assets/svg/location.svg","webpack:///./node_modules/qs/lib/stringify.js","webpack:///./node_modules/qs/lib/index.js","webpack:///./src/assets/images/fly.png","webpack:///./src/views/puhui/shop-floor.vue?53ed","webpack:///./src/assets/images/puhui/sy-w2.png","webpack:///./src/api/productsDetaile.js","webpack:///./src/views/puhui/live-floor.vue?ebeb","webpack:///./src/assets/images/puhui/sy-w3.png","webpack:///./src/utils/puhui-request.js","webpack:///./src/api/banner.js","webpack:///./src/views/puhui/components/BackTop.vue?e5b3","webpack:///./src/config/platformtype.js","webpack:///./src/views/puhui/components/ServiceNav.vue?62e8","webpack:///./src/views/puhui/components/TopBar.vue?ea57","webpack:///./node_modules/lottie-web/build/player/lottie.js","webpack:///./src/views/puhui/ad-panel.vue?6e2f","webpack:///./src/assets/svg/scan.svg","webpack:///./node_modules/qs/lib/parse.js","webpack:///./src/assets/images/puhui/coupon-bg.png","webpack:///./src/assets/images/puhui/s2.jpg","webpack:///./node_modules/qs/lib/formats.js","webpack:///./src/views/puhui/components/Floor.vue?6000","webpack:///./src/assets/images/puhui/cheng.png","webpack:///./src/assets/images/puhui/sy-w1.png","webpack:///./node_modules/qs/lib/utils.js","webpack:///./src/assets/images/puhui/c4.png","webpack:///./src/views/puhui/components/BannerSwipe.vue?dd38","webpack:///./src/views/puhui/product-floor.vue?9f15","webpack:///./src/assets/images/dinwei.png","webpack:///./src/views/puhui/newyear-overlay.vue?9f2b","webpack:///./src/assets/images/puhui/logo.png","webpack:///./src/assets/images/puhui/c2.png","webpack:///./src/views/puhui/product-panel.vue?a305","webpack:///./src/assets/images/puhui/sy-w4.png","webpack:///./src/mixins/getCurrentPosition.js"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","ref","staticRenderFns","staticClass","attrs","on","qrScan","$event","$router","push","_v","name","methods","$getIsApp","$callApp","$dialog","alert","title","component","class","show","backTop","top","window","addEventListener","handleScrolling","removeEventListener","computed","screen","height","document","documentElement","scrollTop","body","banners","services","newyearAds","$parent","takeNewyearCoupons","_l","item","i","key","viewDetails","gotourl","fileurl","props","Array","url","$getUA","hideTabBar","startsWith","showBack","location","href","to","icon","gotoBsyqMiniProgram","lives","coverImg","gotoLive","roomId","slot","_t","_s","style","color","subTitleColor","subTitle","$emit","showMoreText","_e","emptyImage","emptyText","type","String","require","default","showMore","Boolean","showEmpty","service","a","create","timeout","interceptors","request","use","config","headers","post","baseURL","error","message","includes","Promise","reject","response","res","status","Error","data","code","handle401","err","msg","getLiveRooms","params","method","components","Floor","columns","loadLives","SkipCount","MaxResultCount","LiveType","LiveStatuses","then","result","items","path","link","encodeURIComponent","isEmpty","id","salesStoreIds","split","mainPictureUrl","minPrice","discount","productLatest","products","loadProducts","current","size","platform","records","length","logoPictureUrl","address","_f","distance","directives","rawName","value","expression","searchNearbyStores","platformType","mixins","getCurrentPosition","shops","filters","formatDistance","toFixed","position","loadShops","lon","longitude","lat","latitude","limit","list","_m","coupons","ii","takeCoupon","categoryName","categoryId","remainingUsageCount","count","usageCount","preferentialContent","endTime","startTime","merchantName","getGHCoupons","getLatestCouponByPosition","takeCouponBatch","getCouponStatus","calculationDuration","diff","loadCoupons","len","slice","take","query","couponId","useThreshold","$toast","success","fail","onTabChange","model","callback","$$v","active","finished","loading","v","k","vv","kk","storeId","price","categories","desc","pageNum","console","log","setTimeout","topCategoryId","pages","$refs","$el","scrollIntoViewIfNeeded","index","check","BannerSwipe","ServiceNav","LiveFloor","ProductFloor","ShopFloor","AdPanel","CouponPanel","ProductPanel","rows","coupon","couponName","denominationId","formatTime","f","format","formatTitle","substring","loadCoupon","placementType","stopPropagation","hideOverlay","init","destroy","container","getElementById","loadAnimation","renderer","loop","autoplay","animationData","play","stop","TopBar","BackTop","MainContent","CouponOverlay","NewyearOverlay","couponsStatus","isUnionMember","unTakedCouponsIds","newyearOverlay","loadNewyearCouponOverlay","get","denominationIds","join","from","filter","onlyForUnionMember","e","showOverlay","MAMMON_ARRAY","map","webpackContext","req","webpackContextResolve","__webpack_require__","o","keys","Object","resolve","utils","formats","arrayPrefixGenerators","brackets","prefix","indices","repeat","toISO","Date","prototype","toISOString","defaults","delimiter","encode","encoder","encodeValuesOnly","serializeDate","date","call","skipNulls","strictNullHandling","stringify","object","generateArrayPrefix","sort","allowDots","formatter","obj","isBuffer","keyValue","objKeys","values","isArray","concat","opts","options","assign","undefined","TypeError","hasOwnProperty","formatters","arrayFormat","joined","addQueryPrefix","parse","queryProducts","selfMentionStore","cartProducttNum","productSku","storeBasicInformation","userId","merchantsDetails","shopBasicMessage","summaryInformation","addCarts","submissionOrders","submissionOrdersV2","currentBuy","settlement","toPay","toPayV2","dataCollection","updateCartMessage","colseOrder","deleteOrder","confirmGetProduct","freeTake","helpFree","productCategories","searchProduct","paramsSerializer","saveMoney","saveMoneyTotal","vue","token","confirmButtonText","remove","linkToApp","router","callbackUrl","localStorage","isLogin","getBanners","getParInfo","PLATFORM_TYPE","PRODUCT_ENQUIRY","factory","root","svgNS","locationHref","initialDefaultFrame","subframeEnabled","expressionsPlugin","isSafari","test","navigator","userAgent","cachedColors","bm_rounder","Math","round","bm_rnd","bm_pow","pow","bm_sqrt","sqrt","bm_abs","abs","bm_floor","floor","bm_max","max","bm_min","min","blitter","BMMath","ProjectInterface","propertyNames","random","val","tOfVal","absArr","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","flag","styleDiv","element","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","frameMultiplier","direction","BMCompleteEvent","BMCompleteLoopEvent","totalLoops","currentLoop","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","h","s","r","g","b","p","q","t","RGBtoHSV","d","addSaturationToRGB","offset","hsv","addBrightnessToRGB","addHueToRGB","rgbToHex","hex","colorMap","toString","BaseEvent","triggerEvent","eventName","args","_cbs","bind","splice","createTypedArray","createRegularArray","arr","Float32Array","Int16Array","Uint8ClampedArray","apply","createNS","createElementNS","createTag","createElement","DynamicPropertyContainer","addDynamicProperty","prop","dynamicProperties","indexOf","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","mode","Matrix","_cos","cos","_sin","sin","_tan","tan","_rnd","reset","rotate","angle","mCos","mSin","rotateX","rotateY","rotateZ","shear","sx","sy","skew","ax","ay","skewFromAxis","scale","sz","setTransform","c","j","l","m","n","translate","tx","ty","tz","transform","a2","b2","c2","d2","e2","f2","g2","h2","i2","j2","k2","l2","m2","n2","o2","p2","_p","_identityCalculated","a1","b1","c1","d1","e1","f1","g1","h1","i1","j1","k1","l1","m1","n1","o1","p1","isIdentity","_identity","equals","matr","clone","cloneFromProps","applyToPoint","x","y","z","applyToX","applyToY","applyToZ","getInverseMatrix","determinant","inverseMatrix","inversePoint","pt","applyToPointArray","inversePoints","pts","retPts","applyToTriplePoints","pt1","pt2","pt3","p0","p4","p5","p12","p13","applyToPointStringified","toCSS","cssValue","roundMatrixProperty","to2dCSS","_a","_b","_d","pool","math","nodecrypto","global","width","chunks","digits","rngname","startdenom","significance","overflow","mask","seedrandom","seed","entropy","shortseed","mixkey","flatten","tostring","autoseed","arc4","ARC4","prng","int32","quick","double","S","pass","is_math_call","state","copy","keylen","me","depth","typ","smear","stringseed","charCodeAt","randomBytes","out","Uint8Array","crypto","msCrypto","getRandomValues","browser","plugins","fromCharCode","BezierFactory","ob","getBezierEasing","beziers","nm","str","replace","bezEasing","BezierEasing","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","float32ArraySupported","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","newtonRaphsonIterate","aGuessT","currentSlope","points","_mSampleValues","_precomputed","mY1","mY2","_precompute","_getTForX","_calcSampleValues","mSampleValues","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","extendPrototype","sources","destination","sourcePrototype","attr","getDescriptor","getOwnPropertyDescriptor","createProxyFunction","ProxyFunction","bezFunction","pointOnLine2D","x1","y1","x2","y2","x3","y3","det1","pointOnLine3D","z1","z2","z3","diffDist","dist1","dist2","dist3","getBezierLength","pt4","ptCoord","perc","ptDistance","curveSegments","addedLength","point","lastPoint","lengthData","bezier_length_pool","newElement","percents","lengths","getSegmentsLength","shapeData","segmentsLength","segments_length_pool","closed","pathV","pathO","pathI","_length","totalLength","BezierData","segmentLength","PointData","partial","partialLength","buildBezierData","storedData","bezierName","bezierData","getDistancePerc","initPos","lengthPos","lPerc","dir","getPointInSegment","percent","t1","u1","ptX","ptY","bezier_segment_points","getNewSegment","startPerc","endPerc","t0","u0","u0u0u0","t0u0u0_3","t0t0u0_3","t0t0t0","u0u0u1","t0u0u1_3","t0t0u1_3","t0t0t1","u0u1u1","t0u1u1_3","t0t1u1_3","t0t1t1","u1u1u1","t1u1u1_3","t1t1u1_3","t1t1t1","lastTime","vendors","requestAnimationFrame","cancelAnimationFrame","currTime","getTime","timeToCall","clearTimeout","bez","dataFunctionManager","completeLayers","layers","comps","fontManager","layerData","jLen","kLen","completed","tt","td","hasMask","maskProps","masksProperties","convertPathsToAbsoluteValues","findCompLayers","refId","completeShapes","shapes","completeText","__used","JSON","ks","it","checkVersion","minimum","animVersionString","animVersion","checkText","minimumVersion","updateTextLayer","textLayer","documentData","iterateLayers","assets","checkChars","chars","pathData","paths","__converted","checkColors","iterateShapes","checkShapes","cl","completeData","__complete","singleShape","moduleOb","dataManager","FontManager","maxWaitingTime","emptyChar","w","combinedCharacters","trimFontOptions","font","familyArray","enabledFamilies","setUpNode","family","parentNode","fontFamily","node","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","appendChild","offsetWidth","parent","checkLoadedFonts","fonts","loadedCount","loaded","fOrigin","origin","monoCase","sansCase","removeChild","now","initTime","checkLoadedFontsBinded","setIsLoadedBinded","createHelper","def","fontData","tHelper","setAttribute","fFamily","fStyle","fWeight","textContent","fClass","tCanvasHelper","getContext","addFonts","defs","isLoaded","fontArr","_pendingFonts","loadedSelector","shouldLoadFont","fPath","querySelectorAll","rel","src","sc","helper","cache","addChars","found","ch","getCharData","char","warn","_warned","measureText","fontName","getFontByName","doubleSize","getComputedTextLength","singleSize","fName","getCombinedCharacterCodes","setIsLoaded","Font","typekitLoaded","fontPrototype","PropertyFactory","initFrame","math_abs","interpolateValue","frameNum","caching","newValue","offsetTime","propType","pv","keyData","nextKeyData","fnc","iterationIndex","lastIndex","keyframes","endValue","nextKeyTime","keyTime","ti","ind","__fnct","segmentPerc","distanceInLine","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","outX","outY","inX","inY","sh","quatStart","createQuaternion","quatEnd","time","quaternionToEuler","slerp","constructor","omega","cosom","sinom","scale0","scale1","az","aw","bx","by","bz","bw","acos","quat","qx","qy","qz","qw","heading","atan2","attitude","asin","bank","c3","s1","s2","s3","getValueAtCurrentTime","comp","renderedFrame","_caching","renderResult","setVValue","multipliedValue","mult","processEffectsSequence","elem","globalData","frameId","effectsSequence","lock","_isFirstFrame","finalValue","kf","addEffect","effectFunction","ValueProperty","vel","MultiDimensionalProperty","KeyframedValueProperty","st","KeyframedMultidimensionalProperty","arrLen","getProp","TransformPropertyFactory","defaultVector","applyToMatrix","mat","sk","sa","rz","ry","rx","or","px","py","pz","processKeys","forceRender","_isDirty","precalculateMatrix","pre","appliedTransformations","autoOriented","v1","v2","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","TransformProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","point_pool","doubleArrayLength","setXYAt","pos","setTripleAt","vX","vY","oX","oY","iX","iY","reverse","newPath","vertices","outPoints","inPoints","cnt","ShapePropertyFactory","interpolateShape","previousValue","keyPropS","keyPropE","isHold","vertexValue","interpolateShapeCurrentTime","resetShape","localShapeCollection","shapesEqual","shape1","shape2","shape_pool","releaseShapes","addShape","ShapeProperty","shapeCollection_pool","newShapeCollection","KeyframedShapeProperty","EllShapeProperty","cPoint","convertEllToPath","s0","_cw","StarShapeProperty","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","rad","roundness","perimSegment","numPts","longFlag","longRad","shortRad","longRound","shortRound","longPerimSegment","shortPerimSegment","currentAng","ox","oy","RectShapeProperty","convertRectToPath","v0","getShapeProp","dataProp","getConstructorFunction","getKeyframedConstructorFunction","ShapeModifiers","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","dashStr","dashArray","dashoffset","GradientProperty","cLength","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","shape","setAsAnimated","sValue","eValue","pathsData","calculateShapeEdges","shapeLength","totalModifierLength","segments","segmentOb","shapeSegments","shapeS","shapeE","releasePathsData","release","processShapes","shapePaths","totalShapeLength","edges","newShapesData","addShapes","lastShapeInCollection","lastShape","pop","addPaths","newPaths","addSegment","shapePath","newShape","addSegmentFromArray","shapeSegment","currentLengthData","segmentCount","segment","rd","processPath","cloned_path","currentV","currentI","currentO","closerV","newPosPerc","amount","centerPoint","pathLength","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","inv","scaleX","scaleY","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","elements","_processed","cloneElements","newElements","changeGroupRender","renderFlag","_render","itemsTransform","cont","copies","ceil","group","reloadShapes","offsetModulo","roundOffset","pProps","rProps","sProps","iteration","mProps","op","comparePoints","buildShapeString","pathNodes","_o","_i","shapeString","audioControllerFactory","AudioController","audioFactory","audios","_volume","_isMuted","addAudio","audio","pause","resume","setRate","rateValue","createAudio","assetPath","Howl","isPlaying","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","proxyImage","canvas","ctx","fillStyle","fillRect","imageLoaded","loadedAssets","totalImages","imagesLoadedCb","getAssetsPath","assetData","assetsPath","original_path","imagePath","u","testImageLoaded","img","intervalId","setInterval","box","getBBox","_imageLoaded","clearInterval","createImageData","setAttributeNS","_elementHelper","append","createImgData","crossOrigin","loadAssets","cb","images","_createImageData","setPath","setAssetsPath","getImage","setCacheType","elementHelper","featureSupport","maskType","filtersFactory","createFilter","filId","fil","createAlphaToLuminanceFilter","feColorMatrix","assetLoader","formatResponse","xhr","responseText","loadAsset","errorCallback","XMLHttpRequest","open","responseType","send","onreadystatechange","readyState","load","TextAnimatorProperty","textData","renderType","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","animatorProps","defaultData","textAnimator_animatables","sw","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","xPos","yPos","pathInfo","currentLength","currentPoint","pointInd","segmentInd","prevPoint","tanAngle","animators","matrixHelper","mHelper","renderedLettersCount","letters","tLength","pi","animatorSelector","letterValue","yOff","firstLine","offf","xPathPos","yPathPos","elemOpacity","letterSw","letterSc","letterFc","letterO","initPathPos","initSegmentInd","initPointInd","currentLine","letterM","letterP","defaultPropsArray","animatorJustifyOffset","animatorFirstCharOffset","justifyOffsetMult","isNewLine","getMult","anIndexes","totalChars","line","extra","an","animatorOffset","add","rot","atan","update","updated","setCurrentData","searchKeyframes","getKeyframeValue","_finalValue","currentValue","currentIndex","textKeys","buildFinalText","text","charCode","charactersArray","charAt","substr","newLineFlag","charData","styleName","anchorGrouping","currentSize","currentPos","lineWidth","maxLineWidth","styles","toLowerCase","trackingOffset","currentHeight","boxHeight","lastSpaceIndex","currentChar","uncollapsedSpaces","animatorData","letterData","based","indexes","rn","newInd","currentInd","updateDocumentData","newData","dData","recalculate","canResizeFont","_canResize","setMinimumFontSize","_fontValue","_currentTextLength","finalS","finalE","xe","ne","textProperty","easer","tot","newCharsFlag","divisor","pool_factory","initialLength","_create","_release","_clone","pooling","cloned","shapeCollection","BaseRenderer","SVGRenderer","animationItem","svgElement","ariaLabel","titleElement","titleId","description","descElement","descId","maskElement","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","className","focusable","filterSize","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","context","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","viewData","solidPath","rect","expansor","feMorph","properties","currentMasks","layerId","maskRef","filterID","expan","lastPath","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","level","lvl","hd","pElem","msElem","SVGShapeData","transformers","caches","lStr","SVGTransformData","SVGStrokeStyleData","styleOb","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","num","ip","buildItem","checkPendingElements","createItem","layer","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","AudioElement","buildAllItems","includeLayers","newLayers","setProjectInterface","pInterface","projectInterface","initItems","buildElementParenting","parentName","hierarchy","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","animData","fontsContainer","getAssetData","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","maskId","updateContainerSize","appendElementInPos","setMatte","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","nextElement","insertBefore","hide","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cProps","cTr","trProps","canvasContext","ctxOpacity","globalAlpha","cO","restore","save","actionFlag","cArrPos","duplicate","saved","savedOp","blendMode","popped","mozTransformOrigin","transformCanvas","isDashed","elementWidth","elementHeight","elementRel","animationRel","offsetHeight","par","fillType","beginPath","closePath","clip","clearRect","newDOMElement","ddd","addTo3dContainer","nextDOMElement","nextLayer","tmpDOMElement","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","webkitTransform","threeDContainerData","build3dContainers","lastThreeDContainerData","currentContainer","resizerElem","svg","setup","cWidth","cHeight","perspective","webkitPerspective","floatingContainer","isFirstFrame","finalMat","finalTransform","mProp","getMaskelement","pathString","pathShapeValue","initHierarchy","_isParent","prepareProperties","isVisible","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","transforms","ptNew","initRenderable","isInRange","hidden","isTransparent","renderableComponents","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","_prototype","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","pathElement","gradientId","gfill","gf","cst","opacityId","opFill","ms","ost","SVGElementsRenderer","_identityMatrix","_matrixHelper","createRenderFunction","renderFill","renderGradient","renderGradientStroke","renderStroke","renderPath","renderContentTransform","styleData","itemData","pathStringTransformed","redraw","iterations","lLen","styleElem","hasOpacity","attr1","attr2","cValues","oValues","ang","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","transformsManager","styledShapes","styledShape","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","_currentTime","tm","_placeholder","textSpans","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","feMergeNode","feMerge","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feComponentTransfer","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feComposite","originalNodeAdded","sequence","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","effectsInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","content","textInterface","TextExpressionInterface","setBlendMode","blendModeValue","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","gg","layerElementParent","masker","maskGroup","maskGrouper","feCTr","feFunc","alphaRect","ln","cp","clipId","cpGroup","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","lcEnum","ljEnum","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","shapeStr","_fontSize","applyTextPropertiesToMatrix","lineNumber","buildColor","colorData","emptyProp","timeRemapped","setElements","elems","getElements","destroyElements","pr","volumeValue","textContainer","buildTextContents","textArray","textContents","currentTextContent","tSpan","usesGlyphs","cachedSpansLength","tElement","justify","textBox","bbox","renderedLetter","textSpan","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","tempShapes","areAnimated","setShapesAsAnimated","createStyleElement","elementData","gradientConstructor","lc","lj","ml","addToAnimatedContents","createGroupElement","createTransformElement","transformProperty","createShapeElement","ownTransformers","shapeProperty","fn","setElementStyles","currentTransform","modifier","processedPos","ownStyles","ownModifiers","renderShape","animatedContent","colorBlack","colorWhite","opacity","kBlurrinessToSigma","sigma","dimensions","sigmaX","sigmaY","edgeMode","initialize","groupPath","elemChildren","children","childNodes","removeAttribute","pathMasker","dasharrayValue","getTotalLength","lineLength","units","color1","color2","color3","tableR","tableG","tableB","getTableValue","inputBlack","inputWhite","gamma","outputBlack","outputWhite","colorValue","table","outputDelta","inputDelta","col","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","CVBaseElement","CVMaskElement","hasMasks","stroke","fill","currentRender","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","HEffects","findSymbol","replaceInParent","symbolId","nextChild","useElem","setElementAsMask","symbol","newLength","currentSavedOp","set","createElements","globalCompositeOperation","hideElement","showElement","forceRealStack","widthCrop","heightCrop","imgW","imgH","imgRel","canvasRel","drawImage","parentMatrix","moveTo","lineTo","bezierCurveTo","transformHelper","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","shouldRender","ownTransforms","_shouldRender","renderShapeTransform","parentTransform","groupTransform","drawLayer","nodes","currentStyle","coOp","strokeStyle","grd","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","isMain","renderGradientFill","renderStyledShape","shapeNodes","groupTransformMat","createLinearGradient","createRadialGradient","addColorStop","hasFill","hasStroke","commands","pathArr","lastFill","lastStroke","lastStrokeW","checkBlendMode","tg","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","boundingBox","vPoint","oPoint","nextIPoint","nextVPoint","checkBounds","getBoundsOfCurve","bounds","shapeBoundingBox","xMax","right","yMax","bottom","tempBoundingBox","p3","b2ac","t2","calculateF","calculateBoundingBox","currentBoxContains","changed","compW","compH","innerElemStyle","strokeWidth","lineHeight","tParent","tCont","textPath","margin","Image","imageElem","mTransf","diffVector","mag","lookDir","lookLengthOnXZ","m_rotationX","m_rotationY","hasMatrixChanged","animationManager","registeredAnimations","playingAnimationsNum","_stopped","_isFrozen","removeElement","ev","animItem","animation","isPaused","subtractPlayingCount","registerAnimation","AnimationItem","setupAnimation","setData","getRegisteredAnimations","animations","addPlayingCount","activate","setParams","setSpeed","setDirection","nowTime","elapsedTime","advanceTime","first","goToAndStop","isFrame","togglePause","searchAnimations","standalone","animElements","getElementsByClassName","getElementsByTagName","div","resize","freeze","unfreeze","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","animType","rendererSettings","parseInt","autoloadSegments","initialSegment","lastIndexOf","fileName","trigger","wrapperAttributes","attributes","getNamedItem","prerender","loadNextSegment","shift","segmentPath","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","frameModifier","goToAndPlay","nextValue","_isComplete","checkSegments","adjustSegment","setSegment","end","pendingFrame","playSegments","forceFlag","resetSegments","onEnterFrame","onLoopComplete","onComplete","onSegmentStart","onDestroy","getPath","getDuration","onError","Expressions","stackCount","registers","pushExpression","popExpression","releaseInstances","registerExpressionProperty","ExpressionManager","$bm_isInstanceOfArray","isNumerable","tOfV","Number","$bm_neg","tOfA","lenA","retArr","easeInBez","easeOutBez","easeInOutBez","sum","tOfB","lenB","sub","mul","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","mm","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","arr1","arr2","normalize","vec","rgbToHsl","hue2rgb","hslToRgb","linear","tMin","tMax","value1","value2","_tMin","rnd","rndm","createPath","inTangents","outTangents","inVertexPoint","outVertexPoint","arrPlaceholder","initiateExpression","property","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","defineProperty","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","velocityAtTime","__expression_functions","scoped_bm_rt","xf","eval","expression_function","numKeys","wiggle","freq","amp","addedAmps","periods","loopInDuration","duration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","elem1","elem2","fVec","pitch","yaw","easeOut","val1","val2","applyEase","easeIn","ease","nearestKey","framesToTime","frames","fps","timeToFrames","seedRandom","randSeed","posterizeTime","framesPerSecond","hasParent","executeExpression","_value","frameExpressionId","expressionHelpers","searchExpressions","_cachingAtTime","getSpeedAtTime","delta","speed","getStaticValueAtTime","setGroupProperty","propertyGroup","durationFlag","cycleDuration","firstKeyFrame","ret","lastKeyFrame","initV","endV","repeats","lastValue","nextLastValue","firstValue","nextFirstValue","samples","sampleValue","endFrame","sampleFrequency","getTransformValueAtTime","_transformCachingAtTime","anchor","skewAxis","rotationZ","rotationY","rotationX","orientation","positionX","positionY","positionZ","getTransformStaticValueAtTime","propertyGetProp","getShapeValueAtTime","shapeValue","propertyIndex","ix","ShapePropertyConstructorFunction","KeyframedShapePropertyConstructorFunction","ShapeExpressions","isClosed","pointOnPath","_segmentsLength","accumulatedLength","initIndex","endIndex","vectorOnPath","vectorType","xLength","yLength","magnitude","unitVector","tangentOnPath","normalOnPath","propertyGetShapeProp","trims","calculateExpression","getExpressionValue","isKeyframed","hasExpressions","ShapePathInterface","view","interfaceFunction","_propertyGroup","propertyGroupFactory","PropertyInterface","defineProperties","mn","parentPropertyGroup","propertyName","_name","iterateElements","groupInterfaceFactory","fillInterfaceFactory","strokeInterfaceFactory","trimInterfaceFactory","ellipseInterfaceFactory","starInterfaceFactory","rectInterfaceFactory","roundedInterfaceFactory","repeaterInterfaceFactory","contentsInterfaceFactory","interfaces","numProperties","transformInterface","transformInterfaceFactory","cix","np","ExpressionPropertyInterface","_dashPropertyGroup","dashOb","addPropertyToDashOb","start","outerRadius","outerRoundness","innerRoundness","innerRadius","radius","_interfaceFunction","parentGroupWrapper","_prevValue","_sourceText","_thisLayerFunction","sourceText","stringValue","getMatrix","toWorldMat","propMatrix","toWorldVec","applyPoint","fromWorldVec","invertPoint","sampleImage","_registerMaskInterface","MaskManagerInterface","_registerEffectsInterface","effects","TransformExpressionInterface","anchorPointDescriptor","anchor_point","source","pixelAspect","numLayers","_thisFunction","xRotation","yRotation","xPosition","yPosition","zPosition","_transformFactory","_pz","_px","_py","compositions","_thisProjectFunction","effectsData","createGroupInterface","groupInterface","createValueInterface","enabled","en","expressionProperty","MaskInterface","_mask","_data","MaskManager","_masksInterfaces","maskFunction","defaultUnidimensionalValue","defaultMultidimensionalValue","completeProperty","expressionValue","valueProp","speedAtTime","UnidimensionalPropertyInterface","MultidimensionalPropertyInterface","arrValue","defaultGetter","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","effectItem","GroupEffect","TextExpressionSelectorProp","getValueProxy","total","propertyGetTextProp","eff","lottie","setLocationHref","setSubframeRendering","setQuality","isNaN","inBrowser","installPlugin","plugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","variable","vars","queryString","pair","decodeURIComponent","__getFactory","version","scripts","myScript","has","allowPrototypes","arrayLimit","decoder","decode","parameterLimit","plainObjects","parseValues","cleanStr","ignoreQueryPrefix","Infinity","parts","part","bracketEqualsPos","parseObject","chain","leaf","cleanRoot","parseArrays","parseKeys","givenKey","child","exec","isRegExp","tempObj","newObj","merge","compact","percentTwenties","RFC1738","RFC3986","hexTable","array","toUpperCase","compactQueue","queue","compacted","arrayToObject","mergeTarget","forEach","reduce","acc","string","refs","onLocateFailed","onLocateSuccess"],"mappings":"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","file":"js/chunk-2f018072.0ed92585.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/s3.7f6c2999.jpg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('top-bar'),_c('main-content'),_c('back-top'),_c('coupon-overlay'),_c('newyear-overlay',{ref:\"newyearOverlay\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('van-image',{staticClass:\"logo\",attrs:{\"src\":require('@/assets/images/puhui/logo.png'),\"fit\":\"contain\"}}),_c('div',{staticClass:\"search-wrapper\"},[_c('van-icon',{attrs:{\"size\":\"8vw\",\"name\":require('@/assets/svg/scan.svg')},on:{\"click\":_vm.qrScan}}),_c('div',{staticClass:\"search__content\",on:{\"click\":function($event){return _vm.$router.push('/store-list')}}},[_c('van-icon',{attrs:{\"size\":\"4.8vw\",\"name\":require('@/assets/svg/search.svg')}}),_c('span',[_vm._v(\"特产土货\")])],1),_c('div',[_c('van-icon',{attrs:{\"name\":require('@/assets/svg/location.svg')}}),_vm._v(\" 玉林\")],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=432e3049&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=432e3049&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"432e3049\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"back-top\",class:{ 'back-top--active': _vm.show },on:{\"click\":_vm.backTop}},[_c('div',{staticClass:\"back-top--btn\"})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackTop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackTop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BackTop.vue?vue&type=template&id=225cd1d1&scoped=true&\"\nimport script from \"./BackTop.vue?vue&type=script&lang=js&\"\nexport * from \"./BackTop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BackTop.vue?vue&type=style&index=0&id=225cd1d1&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"225cd1d1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('banner-swipe',{attrs:{\"banners\":_vm.banners}}),_c('service-nav',{attrs:{\"services\":_vm.services}}),_c('ad-panel',{attrs:{\"list\":_vm.newyearAds},on:{\"on-item-click\":_vm.$parent.takeNewyearCoupons}}),_c('coupon-panel'),_c('live-floor'),_c('product-floor'),_c('shop-floor'),_c('product-panel')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('van-swipe',{staticClass:\"banner-swipe\",attrs:{\"autoplay\":\"5000\",\"indicator-color\":\"#E83828\"}},_vm._l((_vm.banners),function(item,i){return _c('van-swipe-item',{key:i,on:{\"click\":function($event){return _vm.viewDetails(item.gotourl)}}},[_c('van-image',{staticClass:\"banner\",attrs:{\"lazy-load\":\"\",\"src\":item.fileurl}})],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerSwipe.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BannerSwipe.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BannerSwipe.vue?vue&type=template&id=9358f8be&scoped=true&\"\nimport script from \"./BannerSwipe.vue?vue&type=script&lang=js&\"\nexport * from \"./BannerSwipe.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BannerSwipe.vue?vue&type=style&index=0&id=9358f8be&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9358f8be\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"service-container\"},_vm._l((_vm.services),function(item,i){return _c('router-link',{key:i,attrs:{\"to\":item.to}},[_c('van-image',{staticClass:\"service\",attrs:{\"src\":item.icon}})],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceNav.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceNav.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServiceNav.vue?vue&type=template&id=6d0227ff&scoped=true&\"\nimport script from \"./ServiceNav.vue?vue&type=script&lang=js&\"\nexport * from \"./ServiceNav.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServiceNav.vue?vue&type=style&index=0&id=6d0227ff&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d0227ff\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('floor',{attrs:{\"title\":\"普惠直播台\",\"sub-title\":\"种草拔草 通通都有\",\"sub-title-color\":\"#2ea7e0\"},on:{\"show-more\":function($event){return _vm.gotoBsyqMiniProgram('/live-playback/index')}}},[_c('div',{staticClass:\"live-list\"},_vm._l((_vm.columns),function(i){return _c('van-image',{key:i,staticClass:\"live-item\",attrs:{\"lazy-load\":\"\",\"width\":\"29.333vw\",\"height\":\"29.333vw\",\"src\":_vm.lives[i - 1] ? _vm.lives[i - 1].coverImg : '',\"alt\":_vm.lives[i - 1] ? _vm.lives[i - 1].name : ''},on:{\"click\":function($event){return _vm.gotoLive(_vm.lives[i - 1] ? _vm.lives[i - 1].roomId : '')}}},[_c('div',{staticClass:\"live-empty\",attrs:{\"slot\":\"error\"},slot:\"error\"},[_c('img',{attrs:{\"src\":require(\"@/assets/images/puhui/sy-w4.png\")}}),_c('div',{staticClass:\"live-empty--text\"},[_vm._v(\"主播都去休息啦!\")])])])}),1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"floor\"},[_c('div',{staticClass:\"floor__header\"},[_vm._t(\"title\",[_c('span',{staticClass:\"floor-title\"},[_vm._v(_vm._s(_vm.title))])]),_c('span',{staticClass:\"floor-sub-title\",style:({ color: _vm.subTitleColor })},[_vm._v(\"\\n \"+_vm._s(_vm.subTitle)+\"\\n \")]),(_vm.showMore)?_c('span',{staticClass:\"floor-show-more-text\",on:{\"click\":function($event){return _vm.$emit('show-more')}}},[_vm._v(\"\\n \"+_vm._s(_vm.showMoreText)+\"\\n \")]):_vm._e()],2),_c('div',{staticClass:\"floor__content\"},[_vm._t(\"default\"),(_vm.showEmpty)?_c('van-empty',{attrs:{\"image\":_vm.emptyImage,\"description\":_vm.emptyText}}):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Floor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Floor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Floor.vue?vue&type=template&id=099d8016&scoped=true&\"\nimport script from \"./Floor.vue?vue&type=script&lang=js&\"\nexport * from \"./Floor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Floor.vue?vue&type=style&index=0&id=099d8016&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"099d8016\",\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\nimport { Toast } from 'vant';\nimport { BSYQ_API_BASE_URL } from '@/config/domainnameconstant';\n\n// 创建axios实例\nconst service = axios.create({\n timeout: 2 * 60 * 1000, // 请求超时时间 2min\n});\n\n// http request 拦截器\nservice.interceptors.request.use(\n (config) => {\n config.headers.post['Content-Type'] = 'application/json';\n config.baseURL = BSYQ_API_BASE_URL;\n return config;\n },\n (error) => {\n if (error.message.includes('timeout')) {\n // Toast('请求服务器超时')\n return Promise.reject(error);\n }\n Promise.reject(error);\n }\n);\n\n/**\n * 添加响应拦截器,统一处理服务器响应和异常\n */\nservice.interceptors.response.use(\n (res) => {\n if (res.status < 200 || res.status > 299) {\n toast(res.error || '似乎有些问题');\n\n return Promise.reject(new Error(res.message || 'Error'));\n } else {\n if (res.data.code === 401) {\n handle401();\n }\n if (res.data.code === 503) {\n toast(res.error || '似乎有些问题');\n }\n\n return res;\n }\n },\n (error) => {\n let err = '请求出现错误,请稍后再试';\n if (error.response) {\n if (error.response.data.code == 401) {\n err = '登录超时,请重新登录';\n } else if (error.response.data.code == 503) {\n err = '站点更新中,请稍后访问~';\n }\n err = error.response.data.msg;\n }\n toast(err);\n return Promise.reject(error);\n }\n);\n\nconst toast = (msg) => {\n Toast(msg);\n};\n\nexport default service;\n","import request from '@/utils/bsyq-request';\n\n// 分页查询直播回放\nexport function getLivePlaybacks(params) {\n return request({\n url: '/api/services/app/Live/GetLivePlaybacks',\n method: 'get',\n params,\n });\n}\n\n// 分页查询直播列表\nexport function getLiveRooms(params) {\n return request({\n url: '/api/services/app/Live/GetLiveRooms',\n method: 'get',\n params,\n });\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./live-floor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./live-floor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./live-floor.vue?vue&type=template&id=42430494&scoped=true&\"\nimport script from \"./live-floor.vue?vue&type=script&lang=js&\"\nexport * from \"./live-floor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./live-floor.vue?vue&type=style&index=0&id=42430494&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42430494\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('floor',{attrs:{\"showEmpty\":_vm.isEmpty,\"emptyImage\":require('@/assets/images/puhui/sy-w2.png'),\"emptyText\":\"乡味筹备中 ~\",\"title\":\"土味乡食\",\"sub-title\":\"公益助农 感谢有你\",\"sub-title-color\":\"#22ac38\"},on:{\"show-more\":function($event){return _vm.gotoBsyqMiniProgram('/homepage/publicwelfare')}}},[_c('div',{staticClass:\"product-list\"},_vm._l((_vm.products),function(item){return _c('div',{key:item.id,staticClass:\"product-item\",on:{\"click\":function($event){_vm.gotoBsyqMiniProgram(\n (\"/detailspage/morestore/index?id=\" + (item.id) + \"&storeId=\" + (item.salesStoreIds ? item.salesStoreIds.split(',')[0] : ''))\n )}}},[_c('van-image',{attrs:{\"lazy-load\":\"\",\"fit\":\"cover\",\"width\":\"100%\",\"height\":\"29.333vw\",\"src\":item.mainPictureUrl,\"alt\":item.title}}),_c('div',{staticClass:\"price-box\"},[_c('span',{staticClass:\"price\"},[_vm._v(\"¥\"+_vm._s(item.minPrice))]),_c('span',{staticClass:\"discount\"},[_c('span',{staticClass:\"discount__label\"},[_vm._v(\"折扣\")]),_c('span',{staticClass:\"discount__value\"},[_vm._v(_vm._s(item.discount))])])])],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios'\n\n// 分页查询最新商品(每个店铺一个商品)\nexport function productLatest(params) {\n return axios({\n url: `/mall/app/gm/product/latest`,\n method: `get`,\n params\n })\n}\n// 分页查询最新商品(所有商品)\nexport function searchAll(params) {\n return axios({\n url: `/mall/app/gm/product/latest/all`,\n method: `get`,\n params\n })\n}\n// 商品分类\nexport function categoryProduct(params) {\n return axios({\n url: `/mall/app/gm/product/category`,\n method: `get`,\n params\n })\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./product-floor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./product-floor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./product-floor.vue?vue&type=template&id=68a6cae8&scoped=true&\"\nimport script from \"./product-floor.vue?vue&type=script&lang=js&\"\nexport * from \"./product-floor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./product-floor.vue?vue&type=style&index=0&id=68a6cae8&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68a6cae8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('floor',{staticClass:\"shop-floor\",attrs:{\"showEmpty\":_vm.isEmpty,\"emptyImage\":require('@/assets/images/puhui/sy-w3.png'),\"emptyText\":_vm.emptyText,\"showMoreText\":\"寻找更多商家 >>\"},on:{\"show-more\":function($event){return _vm.$router.push('/store-list?NearestToMe=1')}}},[_c('span',{staticClass:\"shop-floor-title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_c('van-icon',{attrs:{\"name\":require('@/assets/svg/location.svg')}}),_vm._v(\" 附近特惠商家\\n \")],1),_c('div',{staticClass:\"shop-list\"},_vm._l((_vm.shops),function(item,i){return _c('div',{key:i,staticClass:\"shop-item\",on:{\"click\":function($event){return _vm.$router.push((\"/mall/shop?id=\" + (item.id)))}}},[_c('div',{staticClass:\"shop-logo\"},[_c('van-image',{attrs:{\"lazy-load\":\"\",\"fit\":\"cover\",\"width\":\"100%\",\"height\":\"100%\",\"src\":item.logoPictureUrl}})],1),_c('div',{staticClass:\"shop-info\"},[_c('div',{staticClass:\"shop-title van-ellipsis\"},[_vm._v(_vm._s(item.name))]),_c('div',{staticClass:\"shop-address van-multi-ellipsis--l2\"},[_c('van-icon',{attrs:{\"name\":require('@/assets/images/dinwei.png')}}),_vm._v(\"\\n \"+_vm._s(item.address)+\"\\n \")],1)]),_c('div',{staticClass:\"shop-distance\"},[_c('div',[_c('van-icon',{attrs:{\"name\":require('@/assets/images/fly.png')}}),_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatDistance\")(item.distance))+\"\\n \")],1),_c('img',{directives:[{name:\"lazy\",rawName:\"v-lazy\",value:(require('@/assets/images/arrow.png')),expression:\"require('@/assets/images/arrow.png')\"}]})])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\nimport { PRODUCT_ENQUIRY } from '@/config/platformtype';\n\n/**\n * 搜索附近店铺\n */\nexport function searchNearbyStores(params) {\n return axios({\n url: '/mall/search/nearby/store',\n method: 'get',\n params: {\n ...params,\n platformType: PRODUCT_ENQUIRY,\n },\n });\n}\n\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shop-floor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shop-floor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./shop-floor.vue?vue&type=template&id=1f08ae1d&scoped=true&\"\nimport script from \"./shop-floor.vue?vue&type=script&lang=js&\"\nexport * from \"./shop-floor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./shop-floor.vue?vue&type=style&index=0&id=1f08ae1d&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f08ae1d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-ads\"},_vm._l((_vm.list),function(item,i){return _c('van-image',{key:i,attrs:{\"lazy-load\":\"\",\"src\":item},on:{\"click\":function($event){return _vm.$emit('on-item-click', i)}}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ad-panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ad-panel.vue?vue&type=template&id=890ea3cc&scoped=true&\"\nimport script from \"./ad-panel.vue?vue&type=script&lang=js&\"\nexport * from \"./ad-panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ad-panel.vue?vue&type=style&index=0&id=890ea3cc&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"890ea3cc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"coupon-container\"},[_c('div',{staticClass:\"coupon-top-title\"},[_vm._v(\"工会会员全年福利计划\")]),_vm._m(0),_c('van-swipe',{staticClass:\"coupon-swipe\",attrs:{\"autoplay\":5000,\"indicator-color\":\"#595757\"}},_vm._l((_vm.coupons.length),function(i){return _c('van-swipe-item',{key:i},[_c('div',{staticClass:\"coupon-list\"},_vm._l((_vm.coupons[i - 1]),function(item,ii){return _c('div',{key:ii,staticClass:\"coupon-item\",on:{\"click\":function($event){return _vm.takeCoupon(item)}}},[_c('div',{staticClass:\"coupon-item-left\"},[_c('div',[_vm._v(_vm._s(item.categoryName))]),(item.categoryId > 0 && item.categoryId < 5)?_c('van-icon',{attrs:{\"name\":require((\"@/assets/images/puhui/c\" + (item.categoryId) + \".png\"))}}):_vm._e()],1),_c('div',{staticClass:\"coupon-item-right\"},[_c('div',{staticClass:\"coupon-title\"},[_c('span',{staticClass:\"coupon-title-left\"},[_vm._v(_vm._s(item.name))]),(item.take)?_c('span',{staticClass:\"coupon-title-right\"},[_vm._v(\" 可用\"+_vm._s(item.remainingUsageCount)+\"次 \")]):_c('span',{staticClass:\"coupon-title-right\"},[_vm._v(\" 限领\"+_vm._s(item.count)+\"张 \")])]),_c('div',{staticClass:\"coupon-meta\"},[_c('div',[_c('div',{staticClass:\"coupon-meta--title\"},[_vm._v(\"累计福利\")]),_c('div',{staticClass:\"coupon-meta--value\"},[_vm._v(\"\\n \"+_vm._s((item.usageCount - (item.remainingUsageCount || 0)) * item.preferentialContent)+\"(元)\\n \")])]),_c('div',{staticClass:\"coupon-meta--times\"},[_vm._v(\"\\n \"+_vm._s(item.usageCount)+\"次/\"+_vm._s(_vm._f(\"calculationDuration\")(item.endTime,item.startTime))+\"天\\n \")]),_c('div',[_c('div',{staticClass:\"coupon-meta--title\"},[_vm._v(\"封顶消费\")]),_c('div',{staticClass:\"coupon-meta--value\"},[_vm._v(_vm._s(item.preferentialContent)+\"元/次\")])])]),_c('div',{staticClass:\"coupon-footer\"},[_vm._v(\"服务商家:\"+_vm._s(item.merchantName))])])])}),0)])}),1),_c('van-empty',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isEmpty),expression:\"isEmpty\"}],staticClass:\"coupon-empty\",attrs:{\"image\":require('@/assets/images/puhui/sy-w1.png'),\"description\":\"暂无数据~\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"coupon-nav-container\"},[_c('div',{staticClass:\"coupon-nav-item\"},[_vm._v(\"工会会员平台激活好礼 >\")]),_c('div',{staticClass:\"coupon-nav-item\"},[_vm._v(\"全年福利计划 >\")])])}]\n\nexport { render, staticRenderFns }","import axios from 'axios'\n\n// 查询工会专属券\nexport function getGHCoupons(params) {\n return axios({\n url: '/mall/app/coupon/exclusive',\n method: `get`,\n params\n })\n}\n\n// 根据显示位置查找最新的一张优惠券\nexport function getLatestCouponByPosition(params) {\n return axios({\n url: '/mall/app/coupon/placement/latest',\n method: `get`,\n params\n })\n}\n\n// 领取优惠券\nexport function takeCoupon(denominationId) {\n return axios({\n url: `/mall/app/coupon/take/${denominationId}`,\n method: `post`\n })\n}\n\n// 批量领取优惠券\nexport function takeCouponBatch(data) {\n return axios({\n url: `/mall/app/coupon/take/batch`,\n method: `post`,\n data\n })\n}\n\n// 查询优惠券领取状态\nexport function getCouponStatus(params) {\n return axios({\n url: `/mall/app/coupon/status`,\n method: `get`,\n params\n })\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./coupon-panel.vue?vue&type=template&id=588e7914&scoped=true&\"\nimport script from \"./coupon-panel.vue?vue&type=script&lang=js&\"\nexport * from \"./coupon-panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./coupon-panel.vue?vue&type=style&index=0&id=588e7914&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"588e7914\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"product-container\"},[_c('div',{staticClass:\"product-hd\"},[_c('van-sticky',{attrs:{\"offset-top\":\"21.867vw\"}},[_c('van-tabs',{attrs:{\"line-height\":\"0\",\"title-active-color\":\"#c30d23\",\"background\":\"#efefef\"},on:{\"change\":_vm.onTabChange},model:{value:(_vm.active),callback:function ($$v) {_vm.active=$$v},expression:\"active\"}},_vm._l((_vm.categories),function(item,i){return _c('van-tab',{key:i,attrs:{\"title\":item.title}})}),1)],1)],1),_c('van-list',{ref:\"list\",attrs:{\"loading-text\":\"加载中...\",\"finished\":_vm.finished,\"immediate-check\":false},on:{\"load\":_vm.loadProducts},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}},[_c('div',{staticClass:\"product-list\"},_vm._l((_vm.products),function(v,k){return _c('div',{key:k,staticClass:\"product-column\"},_vm._l((v),function(vv,kk){return _c('router-link',{key:kk,staticClass:\"product-column-item\",attrs:{\"to\":{\n path: '/mall/detail',\n query: {\n id: vv.id,\n storeId: vv.salesStoreIds ? vv.salesStoreIds.split(',')[0] : ''\n }\n }}},[_c('van-image',{attrs:{\"lazy-load\":\"\",\"fit\":\"cover\",\"width\":\"100%\",\"height\":\"44.675vw\",\"radius\":\"2.133vw\",\"src\":vv.mainPictureUrl,\"alt\":vv.title}}),_c('div',{staticClass:\"product-column-item-title van-multi-ellipsis--l2\"},[_vm._v(\"\\n \"+_vm._s(vv.title)+\"\\n \")]),_c('div',{staticClass:\"product-column-item-price-box\"},[_c('span',{staticClass:\"product-column-item-price-box--price\"},[_vm._v(\" ¥\"+_vm._s(vv.minPrice)+\" \")]),(vv.minPrice < vv.price)?_c('strike',[_vm._v(\" ¥\"+_vm._s(vv.price)+\" \")]):_vm._e(),(vv.discount > 0 && vv.discount < 10)?_c('span',{staticClass:\"product-column-item-price-box--discount\"},[_vm._v(\"\\n \"+_vm._s(vv.discount)+\"折\\n \")]):_vm._e()],1)],1)}),1)}),0),_c('div',{attrs:{\"slot\":\"finished\"},slot:\"finished\"},[(_vm.products.length > 0 && _vm.products[0].length > 0)?_c('div',[_vm._v(\"\\n 到底啦~\\n \")]):_c('van-empty',{attrs:{\"image\":require('@/assets/images/puhui/sy-w5.png'),\"description\":\"暂无商品\"}})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./product-panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./product-panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./product-panel.vue?vue&type=template&id=3b7241e9&scoped=true&\"\nimport script from \"./product-panel.vue?vue&type=script&lang=js&\"\nexport * from \"./product-panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./product-panel.vue?vue&type=style&index=0&id=3b7241e9&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3b7241e9\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main-content.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main-content.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./main-content.vue?vue&type=template&id=9cd5652e&\"\nimport script from \"./main-content.vue?vue&type=script&lang=js&\"\nexport * from \"./main-content.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('van-overlay',{attrs:{\"show\":_vm.show}},[_c('div',{staticClass:\"overlay-container\"},[_c('div',{staticClass:\"overlay-coupon\"},[_c('div',{staticClass:\"overlay-coupon--title\"},[_vm._v(\"\\n \"+_vm._s(_vm._f(\"formatTitle\")(_vm.coupon.couponName))+\"\\n \")]),_c('div',{staticClass:\"overlay-coupon--time\"},[_vm._v(\"\\n 活动时间:\"+_vm._s(_vm._f(\"formatTime\")(_vm.coupon.startTime))+\"-\"+_vm._s(_vm._f(\"formatTime\")(_vm.coupon.endTime))+\"\\n \")]),_c('div',{staticClass:\"overlay-coupon--take-box\",on:{\"click\":function($event){return _vm.takeCoupon(_vm.coupon.denominationId)}}},[_c('div',{staticClass:\"overlay-coupon--price\"},[_vm._v(\"\\n ¥\"),_c('span',[_vm._v(_vm._s(_vm.coupon.preferentialContent))])])]),_c('i',{staticClass:\"overlay--close-btn\",on:{\"click\":function($event){_vm.show = false}}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-overlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-overlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./coupon-overlay.vue?vue&type=template&id=490515c0&scoped=true&\"\nimport script from \"./coupon-overlay.vue?vue&type=script&lang=js&\"\nexport * from \"./coupon-overlay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./coupon-overlay.vue?vue&type=style&index=0&id=490515c0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"490515c0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('van-overlay',{attrs:{\"show\":_vm.show},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',{staticClass:\"overlay-container\"},[_c('div',{attrs:{\"id\":\"overlay-content\"}},[_c('div',{staticClass:\"snap-button\",on:{\"click\":_vm.$parent.takeNewyearCoupons}})]),_c('van-icon',{staticClass:\"close\",attrs:{\"name\":\"cross\",\"size\":\"2em\",\"color\":\"#A0A0A0\"},on:{\"click\":_vm.hideOverlay}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./newyear-overlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./newyear-overlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./newyear-overlay.vue?vue&type=template&id=dc0eeda0&scoped=true&\"\nimport script from \"./newyear-overlay.vue?vue&type=script&lang=js&\"\nexport * from \"./newyear-overlay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./newyear-overlay.vue?vue&type=style&index=0&id=dc0eeda0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dc0eeda0\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=69bb8fba&\"\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAAA/CAMAAABggeDtAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAATlBMVEUAAADzTEz1TU3zTk70Skr3UFD0TU3zTU30TU30TU30TU30TU3vUFD0TU30TEz0TU30TU32b2/3hYX+9fX////4kJD+6en3enr1WFj93t7Dk+rRAAAAEHRSTlMAQFCAMCBwsODQoGAQ8JDA2O56mAAAAAFiS0dEFJLfyTUAAAGZSURBVEjHpZfZloMgEEQbERcEUkl0Jvn/H51jMiZmoZulXjm37AWhIYpLqUZrrVRL2TJdP+Cp0U4mA9Z79uExuSRaWUTkrRyE6cEpCDFoCPIN9/FRwgH00RAan4ADQ6SfUxK95tBW4QCmOhxQdfhHCm1a6XZFfOmCGzJxoN/zIRsHut2WL8DhnxmkbLtP2cLaP7T9jfnFewmgKcS3APpi/tYCF18/nnh+4Kt3PM8Lb9By4R/P8ywYrAlEd/7PPEsGPZHhwpcMPNu9BAPDnriygeJPbNFgogNqDLTASwYij98bP58K+cv1hl8vZbyAQ5OtwdGx/RNxKO7wknG0zNmbgIOIomsJ+EgUb8Ai4gjsyLJIONZhpo0vLwLuq47/7QLoivn7FOFy7/5Nw//9ZQv5bQoqDGB43N/i1MlkX9yC/QDT5uP+ZYDKz+BtAsy9xPXb/OjyZiBLVGPwiWcZfMOJXGoNAkWU1AU/UVRK3kgH9g3mhBB8R4IM8zd6nfKE/P78BIYu7QG6jqTh3WIMma9oo7Q93BW0in75D90kwZ1bZuY2AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABECAMAAAARBFMzAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAQlBMVEUAAAC1tbW1tbW1tbe1tbWzs7e1tba1tbavr6+1tbe/v7+1tbW1tbW1tba1tba2tra0tLa3t7e2tra2tra1tbb////KXbqHAAAAFHRSTlMAGEhgMEDAkBCwCNCA8OCgcCBQOKxfQR8AAAABYktHRBXl2PmjAAAByUlEQVRYw+2Y3XKEIAyFbQXEFRBc3v9ZOy0/oiySmJ1OL3oumeHbkD0JwWEg6+NzHEdG5wxc+B9NVJCcfdKDSFoyyUsaqiARUaogLbTj6QwyKy0oGzmro6Vpz5Qlgwb5jiQF8XZQkiuIcolsAcXr35g9UFvcEa1wBjkBBXlvLlGbhpPy5peoEQO6RG040tRGFf73RnSlhjZqTZwV1wprlIugBdtTa9QUj4Yu7RplWqZFo2JRzmhSjXLHaqCgnmEhdy/WqWbrmih+XJi6DtUbDMUAbjcwlAKgUjI6KFBhSxBKArrNCkw76/bAfOP1UBRf/aP+BMrxjiQU1be7ZjCU65LA5WwBKGAN/nI5C2DamemSmuUc++Z+nzKgF5o3zoi3aJhq9b7wCCj8cOqOmRsII7Oo99mTiYFK8085/qf/X2Pikom0HpbzhbVYDhpnHJ+y/U5vksXfljr9CkPNx6Xq+ecuS7zIB7t1xsbLW6EDM805UVpMZHq+nu1kr61nveMDRUffaVrwA3LYKMoA48iIZ4XaKWo3PyawpDRr7jbNdwz6eNVG9T4UT07BosY6M9GZCotKj6PCq+HD0Y0vWaFwjyHw4rWB0nbY+AUhG4tzxFcAhgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"img/search.ad23264e.svg\";","module.exports = __webpack_public_path__ + \"img/s1.97842466.jpg\";","module.exports = __webpack_public_path__ + \"img/s4.a442a212.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAQAAACQEyoRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAKySURBVEjH7Za/b9NAFMc/ZyG2gjfY4v+gKQsSUtV0QdCFsFGWemIlA2IOG2IKfwBSurGAUpAqYDJSEQuDK1WoE3KQQIzOyvJl8OVi56cvAwt8pUh3z+dP3r07v/fgv/6WDCikWTElankxUvd+Cm6cAWqqIpCfehrYUQLK7LgLlKbroaU95XYUqzdGBwAMyvtT0yscAI/p2VGX/thYoHuVhZE3eocvjABoAEMAwgDAZHwsLWxVZvX0yLkXkwDQDNxGyuh0Db/P3dtJOSCYhCO3bJPP3mi4ZQmbZBU00LHRArht4+WjAz5UDQ5tslJQDni+ht9TmniN6XHoJg859mbdtMcfFfsPys9M7OAN4NQTfcceYFRcg6D6tATf46s3fFSeBNNPTcxde4j7/ODMC30FgJSduWgwA5o8YQTsscEr75jnK1cotmnrnb7XTFN9m6wkKQkWo03fROzylhtc4qgaxwUqss/FBbGewie8ZoNvwE8+rURfAE5pTSbLlQJb5ppC2pxwj8aStb+AlPo1Somkth2HLtXP00tJD8YVJ6jB7tgfYHLTYXdJ3Eds2VFWBx1yyM6k9piEaMHHFHHMvg86s3/gZHJapXwz1hnX+c3l2pG2MdZsA+Hq+FgDnbjy68rueoqnsvpVhmWf66KHs1fK5JWy955z7pfmqz93u/musrn2SQfzrNLNpArrokPl6s6xu4bG5g9fMEX7lmumQ1G7+DwUO+xcF1bBYyUztpakVNsO2/fytwQaTF9BtZRqW7mkTD09VaJEgzVaO0UazFgaSvRGL5RW7rhfGw2gtIi3QnUL3xQpmZOoUjCe6A4hPdrEdIxr3xTZIhARF3URjCcZhUqVqzvvsNRWCONLWKcUVGRyFh9Rk7b6No3597pLdzS525ki71ivgtMGEvqmbgb5l/QHZVNq4tPOnJcAAAAASUVORK5CYII=\"","// 跨年红包ID数组\nexport const MAMMON_ARRAY = [41, 42, 43, 44, 45]\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-overlay.vue?vue&type=style&index=0&id=490515c0&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-overlay.vue?vue&type=style&index=0&id=490515c0&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-panel.vue?vue&type=style&index=0&id=588e7914&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./coupon-panel.vue?vue&type=style&index=0&id=588e7914&lang=less&scoped=true&\"","var map = {\n\t\"./c1.png\": \"3ed9\",\n\t\"./c2.png\": \"ebc5\",\n\t\"./c3.png\": \"2087\",\n\t\"./c4.png\": \"d33c\",\n\t\"./cheng.png\": \"c845\",\n\t\"./coupon-bg.png\": \"9ef1\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"3c3b\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAQAAAD9sOO8AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAGZSURBVFjD7ZfbcYMwEEUvnvxHHVgl0IFxBynBJaSDUAIlUIJLwB1QAiXQwckHmIfMU3I8mUnuF0j22dXVIhbpX79QXCi4qyIl5kpBziUUbAbgu2oS8jZUEoIuW2BOSkpG1d4nXdAPX3gKQInFcOVKim3HKomEGqgxfnnXQIWR2jwzSSID4CKRAJD6wC8OpBgFLaQ2aO0DzwEG9iQTM58AxNOEwwLdSrpJkhJJiopuppQk4vuVPOAnSf2Sb4OZBmm6gHY/vMd4ag0epB+Fvz0OjR5pS9K4KzMYbzYwZvwrqYqqxWgY/JWt2RLLX85/5zw/R5uk81KsOfiyd3M6bbIl2gq3S5OP8H0HqAMfvzxe/BAZ5xzZp1G9hJai+w4dmfpsW1Yyl3chbsj8tAtul+5DbTku3T+9FIeNhgOnWVaxkzjUYEvdzO0ezmQzN5/5E7SQeSP/UhzJhTcdSsiZOLAqzJaVHXqp53HQmShJ7/2l21oYSXZzUzz54UIcldNwSTrqKyj3rtIPcxMB6rY5cpbk/wHVa63v+uv6BoJBLELzU7I7AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"img/location.bd4bc5da.svg\";","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats['default'];\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n var joined = keys.join(delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAaCAQAAAAHtlR4AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAFfSURBVDjLldMhdttAFIXhz21QSQTLpB3YRQUBmR3EO0hpUYTmFDowg9QdKKiFygqSAPN4BbVZWa0VpEB2a7lxrD4RzZy589/7njR6NrxSkJ0MPlyoXPgwGkJImZkrtHEIIc2UTsEDRwRpqpJjIZNrXhWkYOYcrVLjV0d4cyhiqt0717pWxFrAIi5fJKRMuXF9axaXYNrd/4IgfVI5xaMyPv3ZDmig19YU1HKslLHpzeAHcdQjpEK9iTiL1R52irvu9WTjunIJrlVx/U+ssE3A23fZ/IvvPoKVzPt5MXf2c/f8/Bs+n61hdJMJJiYK496tC3VnLQX3VrHotvdDFwpBIUeriGtS5crXWO5k2FZ82BEv5abqfoKDk0aFktRZHSCoMU4TAY9/O3dQENduUZpuZ3yM0Jm67CfY69J+pSfj7j8bRugYPUPHBI22b+iIIK7V/0egstj7GJ+PPDeT/vo3YnGC5YyVCVIAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAAElFTkSuQmCC\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shop-floor.vue?vue&type=style&index=0&id=1f08ae1d&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./shop-floor.vue?vue&type=style&index=0&id=1f08ae1d&lang=less&scoped=true&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKIAAABlCAMAAAD5wcglAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAS1BMVEUAAACn18ek28al28em2sej28el2sWl3Mal28el28al2sel28ef37+m28el28el3Mil28el28ek28ak2sam3Mal28ek3Mel28f///+OI0uIAAAAF3RSTlMAIHDwoEAwkICwYMAQ0OB0iFt5TFBxV7BbktEAAAABYktHRBibaYUeAAACmklEQVR42u2b15KjMBBFhXJCm9i9//+nW4BdU7YxYyugnhrOAw92WVzULXUQZuyegfOBkYYLKQXvrWIPJTRjWqjeOnYwZr5a01vHDs7PV+9669iBh/kaKDtjHJ1Sboy9dexqlCFI0gpPTk6+GZ5yAF+RlEPPjE8/fia98UVJklnZLsr+2lSIgqg5VtYo/danHsh1gIH//uMzf7vN9mRFgTFzwMn9tYekBRLIvk1tQz/BA9k34sekVqpA4kF8AYmcvkQJ9JbwGSl70zkKDVAuvmcMsMTFyZHtCCUktoTq7DjYmqudOTD11vKE65YTIHpLecZ1ywHItoMClmZQBGxvKZ9IVF9CItkoGNbYQnkWP5YL2Rhz3XQIR2oNSLbOJuEAuEzfRDcAskmsTphfCB5GSSF4EB6oW7bXJ17WDWXGNc5QhnA69iGRfCUY1gqBMoK8L1IOLxcc4SB9wZC3MxsO6hWenJycdMG70JTyUBnQmtIXgiwgmk6iKC4iBFLbjCCOhTmHap9WTYWNtAMacaqwM67aV8Sls8jQPPUrblK51pbWKG0AKUDosiH2FabyQxoDwLZKoqMt3xZXX0GjN6h9AuAqPP80D5TqH5mpsd7DL+ZAqLtshiX413OhOFsbsl4orD5g7YduYpaqruMbOXe1oWuukkcqGCjHYd7z2EI3z/m5fzsvL1g3WUYYIP3bOWuuM+W5soaO6f2T2ZybZa+SUYyPyZYWzau+Z2xkVdG4x8kw3RS+fpLN7QuYN6tR+cqg1Fvk3wBZ3e1qn2SqBkujdqbjq3dzqB9ZZ6AU8fMmnVIgfmw3Sur/kx2WM3hD602v2/paLwfclpbEu9Zr4ozFRGkXCOlfuBGphTOC2Hsr9w3syG3L/lcON774HwyvXEa6TzlLAAAAAElFTkSuQmCC\"","import axios from 'axios';\nimport qs from 'qs';\n\n// 查询产品详情\nexport function queryProducts(data) {\n return axios({\n url: '/mall/app/products/' + data.id,\n method: 'get',\n params: data.obj,\n });\n}\n// 查询产品的自提门店\nexport function selfMentionStore(data) {\n return axios({\n url: '/mall/app/products/self_mention/store/' + data,\n method: 'get',\n });\n}\n// 查询购物车商品数量\nexport function cartProducttNum(params) {\n return axios({\n url: '/mall/app/cart/count',\n method: 'get',\n params,\n });\n}\n// 获取产品sku信息\nexport function productSku(params) {\n return axios({\n url: '/mall/app/product_sku',\n method: 'get',\n params,\n });\n}\n// 获取商家基本信息\nexport function storeBasicInformation(data) {\n return axios({\n url: '/mall/app/merchants/' + data.userId + '/basic',\n method: 'get',\n params: data,\n });\n}\n// 获取商家详细信息\nexport function merchantsDetails(data) {\n return axios({\n url: '/mall/app/merchants/' + data.userId + '/details',\n method: 'get',\n params: data,\n });\n}\n// 获取店铺基础详情\nexport function shopBasicMessage(data) {\n return axios({\n url: '/mall/app/stores/' + data.id,\n method: 'get',\n params: data,\n });\n}\n// 分页查询产品简要信息\nexport function summaryInformation(params) {\n return axios({\n url: '/mall/app/products',\n method: 'get',\n params,\n });\n}\n\n// 添加到购物车\nexport function addCarts(data) {\n return axios({\n url: '/mall/app/cart',\n method: 'post',\n data: data,\n });\n}\n// 提交订单\nexport function submissionOrders(data) {\n return axios({\n url: '/mall/app/order/submission',\n method: 'post',\n data: data,\n });\n}\n// 提交订单V2\nexport function submissionOrdersV2(data) {\n return axios({\n url: '/mall/app/order/submission/v2',\n method: 'post',\n data: data,\n });\n}\n// 立即购买\nexport function currentBuy(data) {\n return axios({\n url: `/mall/app/order/buyNow`,\n method: 'post',\n data: data,\n });\n}\n// 去结算\nexport function settlement(data) {\n return axios({\n url: `/mall/app/order/settlement`,\n method: 'post',\n data: data,\n });\n}\n// 去支付\nexport function toPay(data) {\n return axios({\n url: `/mall/app/order/payment`,\n method: 'post',\n data: data,\n });\n}\n// 去支付V2\nexport function toPayV2(data) {\n return axios({\n url: `/mall/app/order/payment/v2`,\n method: 'post',\n data: data,\n });\n}\n// 采集访客信息\nexport function dataCollection(data) {\n return axios({\n url: `/mall/app/analysis/collect/visitor`,\n method: 'post',\n data: data,\n });\n}\n// 更新产品购买信息\nexport function updateCartMessage(params) {\n return axios({\n url: `/mall/app/cart`,\n method: 'put',\n data: params,\n });\n}\n// 关闭订单\nexport function colseOrder(data) {\n return axios({\n url: `/mall/app/order/close/` + data,\n method: 'put',\n });\n}\n\n// 删除订单\nexport function deleteOrder(data) {\n return axios({\n url: `/mall/app/order/` + data,\n method: 'delete',\n });\n}\n// 确认收货\nexport function confirmGetProduct(data) {\n return axios({\n url: `/mall/app/order/confirm/` + data,\n method: 'put',\n });\n}\n// 查询产品可参与的免费拿\nexport function freeTake(params) {\n return axios({\n url: '/mall/app/free_take/list',\n method: 'get',\n params,\n });\n}\n// 助力免费拿\nexport function helpFree(data) {\n return axios({\n url: '/mall/app/free_take/help',\n method: 'post',\n data,\n });\n}\n// 查询商品分类\nexport function productCategories(params) {\n console.log('params', params);\n return axios({\n url: '/mall/app/product_categories',\n method: 'get',\n params,\n });\n}\n// 搜索商品\nexport function searchProduct(params) {\n return axios({\n url: '/mall/search/product',\n method: 'get',\n params,\n paramsSerializer: (params) => {\n return qs.stringify(params, {\n indices: false,\n });\n },\n });\n}\n// 分页查询节省项\nexport function saveMoney(params) {\n return axios({\n url: '/mall/app/save_money_record/item',\n method: 'get',\n params,\n });\n}\n// 累计节省金额\nexport function saveMoneyTotal(params) {\n return axios({\n url: '/mall/app/save_money_record/total',\n method: 'get',\n params,\n });\n}","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./live-floor.vue?vue&type=style&index=0&id=42430494&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./live-floor.vue?vue&type=style&index=0&id=42430494&lang=less&scoped=true&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKIAAAB0CAMAAAAxSxkbAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAPFBMVEUAAACzs7e2tra1tba1tba1tbW1tba0tLa1tba1tbW3t7e2tra1tbW1tbe1tbevr6+1tbW3t7e1tbb///8n2fQIAAAAEnRSTlMAQFDgwNDwcJAwIKCAYLAQHzzo9JYAAAAAAWJLR0QTDLtclgAABGdJREFUeNrtnOmWqyoQRkWQeTjX93/YuwyQOACWIolnHb8/3atpdVtUFcWQdF1WCKHu1uoxJgNlv8YoEdJ+MiTmvwbJ60XYdYLKX5PkhIbwi9K/RslJxw7Wt0U09vaIcgw+iPtfo2TFBzf9UEP9rVrJWcwQwx70rkKKWJP4u/o12K7EaC64S1vh2yZzLzWSP2okd6aUWmrJxK8xdiD/Al+8b2Hx1v0JHz169OjRo0ePHj169Mir1+f0tdltT8ez+tIyljkNuM94zRvIGsJxLG9B6EvWEVQd4lichw8WDpIVqiQcSf7eQupe1i8lEP+gM/EcLs1u2+lxRKbQDlQfCM9c6+iOGaXUpt6K+PUUei7ytH+/QkhgcuR+SbHdhwBeEBdeojqiQ1fhs9ejCjcBSu84/K5IjZ9AJHfTBvAO7cyoAMl3R7z+FiUFT6raGwre3Gp/6RJHYrXuXFJN1p4J1/rz7r1PJ5woBDSjVHTE6lCXVWbtjwjoVQVVohOWHijU1wMsJ0cVK0UJelfsz9/oAxviq6x9pmqMYcwBYWciGgYHllw+5VzVuOyQYty9z2RwcHiusnYVYnDrohmPI7p1wqnp6JgcSvnbRKcHd7TZvPf5cPl0QmEYdNSHEwMnOXVJ1v6I7JoRUS07yeFJx9/yuhpK7pqxE3Z6CXi98brhlWd21EXjwArxynFVXOw5ATHjuYLm10HEFLsk1YibIKZ9UbwSMU1f533Y5lquR0wecdMF/ELJcLkV89bobAE/5OhE5Pqx4MqjuvkpRxh30vixcRu5vj4GjhzIqv0ziqHiTsS0jsNbKoPFpchtulKLQbssAzM4zZhDvldsUykJx8a1EXyxA1ypw4V43BprMx4NnyqB5S5KVDX6SOYeYRYPNd6acVHwrJ84X3FeJk5RyrMbEeA/s2iPmYvLYVxokUMcX7QNM1+V+NDwN2VeUDlB3mVfeJjU0Q95RB3e/M4EP8Sxt6mOhjT04JDvEAJVMO6zlWF1r/Uw60TxbsPcIIS0fTuh6Oz8OmR4jKEGs32R2W6Z3CzXNnWmG5ItTT69IIYcYY7Rl85JxkabRM5uH2Vdnh+L7HXttrF6vIKY5WS9NqR22etsy402M7PWsEwbTs9AKF+MiG5+HWn9cSTJ1GtCZxKjsvBtNrVnKs1r1qjYc44ULjTTLe3GlvFhvwrJKd1fmHSb6PZ/F0PIlU0JR8hq+mZZiszIW8ezN89JRDS3aDONcETql5uGGyOSze8P4oP4IP5LiMISW3+u7ADi4dQtqEa6/lNJLRHVNOXi1XvVLRFf1XhfvV4NQ+zWlQ6DIPJpHcpWz16BiD2ZA1LuIIiOWm1x9cwLiJjWXkQ7pln93LAp4iFlI/8+iNmp7n0Qs2vLN0F0DOk/LG1Hj3hyBGCXITJK/tM0/Slov+5x7HBKlACcOIBryPli7Wnf7C7SYWW/A6b6uG/9YaQgne1JW4vY/ssyMuvCYH3jSx0cqSH80neioLOdTQ+cdXjrf52RuHPK2A8UAAAAAElFTkSuQmCC\"","import axios from 'axios';\nimport Vue from 'vue';\nimport Cookies from 'js-cookie';\nimport router from './../router';\nimport { HG_API_BASE_URL } from '@/config/domainnameconstant';\nimport { Dialog, Toast } from 'vant';\nlet vue = new Vue();\n\n// 创建axios实例\nconst service = axios.create({\n timeout: 2 * 60 * 1000, // 请求超时时间 2min\n});\n\n// http request 拦截器\nservice.interceptors.request.use(\n (config) => {\n config.headers.post['Content-Type'] = 'application/json';\n config.baseURL = HG_API_BASE_URL;\n\n const token = Cookies.get('token');\n if (token) {\n config.headers['Authorization'] = token.startsWith('Bearer ')\n ? token\n : 'Bearer ' + token;\n }\n return config;\n },\n (error) => {\n if (error.message.includes('timeout')) {\n // Toast('请求服务器超时')\n return Promise.reject(error);\n }\n Promise.reject(error);\n }\n);\n\n/**\n * 添加响应拦截器,统一处理服务器响应和异常\n */\nservice.interceptors.response.use(\n (res) => {\n if (res.status < 200 || res.status > 299) {\n toast(res.error || '似乎有些问题');\n\n return Promise.reject(new Error(res.message || 'Error'));\n } else {\n if (res.data.code === 401) {\n handle401();\n }\n if (res.data.code === 503) {\n toast(res.error || '似乎有些问题');\n }\n\n return res;\n }\n },\n (error) => {\n let err = '请求出现错误,请稍后再试';\n if (error.response) {\n if (error.response.data.code == 401) {\n handle401();\n } else if (error.response.data.code == 503) {\n err = '站点更新中,请稍后访问~';\n }\n err = error.response.data.msg;\n }\n toast(err);\n return Promise.reject(error);\n }\n);\n\nconst handle401 = () => {\n Dialog.alert({\n title: '提示',\n message: '登录超时,请重新登录',\n confirmButtonText: '去登录',\n }).then(() => {\n //跳转的同时删除token\n Cookies.remove('token');\n if (vue.$getIsApp()) {\n linkToApp();\n } else {\n router.push({\n path: '/login',\n query: { callbackUrl: window.location.href },\n });\n }\n });\n};\n\nconst toast = (msg) => {\n Toast(msg);\n};\nconst linkToApp = () => {\n vue.$callApp('Android', 'AppLogin', localStorage.isLogin);\n vue.$callApp('iOS', 'AppLoginMethod', localStorage.isLogin);\n};\n\nexport default service;\n","import request from '@/utils/puhui-request';\n\n/**\n * 获取首页轮播\n */\nexport function getBanners() {\n return request({\n url: '/api/getAd',\n method: 'get',\n });\n}\n\n/**\n * 获取广西景点门票-旅发集团首页接口\n */\nexport function getParInfo(params) {\n return request({\n url: '/api/getParInfo',\n method: 'get',\n params\n });\n}\n\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackTop.vue?vue&type=style&index=0&id=225cd1d1&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackTop.vue?vue&type=style&index=0&id=225cd1d1&lang=less&scoped=true&\"","// 平台类型,可用值:BsYq,PuHui,Zzb,Zyx\nexport const PLATFORM_TYPE = 'PuHui';\n// export const PLATFORM_TYPE = 'BsYq'\n// export const PLATFORM_TYPE = 'Zyx';\n// export const PLATFORM_TYPE = 'Zzb';\n\n// 查询平台, 0:播商友圈, 1:普惠\n// export const PRODUCT_ENQUIRY = 0\nexport const PRODUCT_ENQUIRY = 1;\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceNav.vue?vue&type=style&index=0&id=6d0227ff&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceNav.vue?vue&type=style&index=0&id=6d0227ff&lang=less&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=432e3049&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=432e3049&lang=less&scoped=true&\"","(typeof navigator !== \"undefined\") && (function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(function() {\n return factory(root);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(root);\n } else {\n root.lottie = factory(root);\n root.bodymovin = root.lottie;\n }\n}((window || {}), function(window) {\n\t\"use strict\";\r\nvar svgNS = \"http://www.w3.org/2000/svg\";\r\n\r\nvar locationHref = '';\r\n\r\nvar initialDefaultFrame = -999999;\r\n\r\nvar subframeEnabled = true;\r\nvar expressionsPlugin;\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\nvar cachedColors = {};\r\nvar bm_rounder = Math.round;\r\nvar bm_rnd;\r\nvar bm_pow = Math.pow;\r\nvar bm_sqrt = Math.sqrt;\r\nvar bm_abs = Math.abs;\r\nvar bm_floor = Math.floor;\r\nvar bm_max = Math.max;\r\nvar bm_min = Math.min;\r\nvar blitter = 10;\r\n\r\nvar BMMath = {};\r\n(function(){\r\n var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\r\n var i, len = propertyNames.length;\r\n for(i=0;i 1) {\r\n hsv[1] = 1;\r\n }\r\n else if (hsv[1] <= 0) {\r\n hsv[1] = 0;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nfunction addBrightnessToRGB(color,offset){\r\n var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);\r\n hsv[2] += offset;\r\n if (hsv[2] > 1) {\r\n hsv[2] = 1;\r\n }\r\n else if (hsv[2] < 0) {\r\n hsv[2] = 0;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nfunction addHueToRGB(color,offset) {\r\n var hsv = RGBtoHSV(color[0]*255,color[1]*255,color[2]*255);\r\n hsv[0] += offset/360;\r\n if (hsv[0] > 1) {\r\n hsv[0] -= 1;\r\n }\r\n else if (hsv[0] < 0) {\r\n hsv[0] += 1;\r\n }\r\n return HSVtoRGB(hsv[0],hsv[1],hsv[2]);\r\n}\r\n\r\nvar rgbToHex = (function(){\r\n var colorMap = [];\r\n var i;\r\n var hex;\r\n for(i=0;i<256;i+=1){\r\n hex = i.toString(16);\r\n colorMap[i] = hex.length == 1 ? '0' + hex : hex;\r\n }\r\n\r\n return function(r, g, b) {\r\n if(r<0){\r\n r = 0;\r\n }\r\n if(g<0){\r\n g = 0;\r\n }\r\n if(b<0){\r\n b = 0;\r\n }\r\n return '#' + colorMap[r] + colorMap[g] + colorMap[b];\r\n };\r\n}());\r\nfunction BaseEvent(){}\r\nBaseEvent.prototype = {\r\n\ttriggerEvent: function (eventName, args) {\r\n\t if (this._cbs[eventName]) {\r\n\t var len = this._cbs[eventName].length;\r\n\t for (var i = 0; i < len; i++){\r\n\t this._cbs[eventName][i](args);\r\n\t }\r\n\t }\r\n\t},\r\n\taddEventListener: function (eventName, callback) {\r\n\t if (!this._cbs[eventName]){\r\n\t this._cbs[eventName] = [];\r\n\t }\r\n\t this._cbs[eventName].push(callback);\r\n\r\n\t\treturn function() {\r\n\t\t\tthis.removeEventListener(eventName, callback);\r\n\t\t}.bind(this);\r\n\t},\r\n\tremoveEventListener: function (eventName,callback){\r\n\t if (!callback){\r\n\t this._cbs[eventName] = null;\r\n\t }else if(this._cbs[eventName]){\r\n\t var i = 0, len = this._cbs[eventName].length;\r\n\t while(i 0) || (val > -0.000001 && val < 0)) {\r\n return _rnd(val * v) / v;\r\n }\r\n return val;\r\n }\r\n\r\n function to2dCSS() {\r\n //Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\r\n /*if(this.isIdentity()) {\r\n return '';\r\n }*/\r\n var props = this.props;\r\n var _a = roundMatrixProperty(props[0]);\r\n var _b = roundMatrixProperty(props[1]);\r\n var _c = roundMatrixProperty(props[4]);\r\n var _d = roundMatrixProperty(props[5]);\r\n var _e = roundMatrixProperty(props[12]);\r\n var _f = roundMatrixProperty(props[13]);\r\n return \"matrix(\" + _a + ',' + _b + ',' + _c + ',' + _d + ',' + _e + ',' + _f + \")\";\r\n }\r\n\r\n return function(){\r\n this.reset = reset;\r\n this.rotate = rotate;\r\n this.rotateX = rotateX;\r\n this.rotateY = rotateY;\r\n this.rotateZ = rotateZ;\r\n this.skew = skew;\r\n this.skewFromAxis = skewFromAxis;\r\n this.shear = shear;\r\n this.scale = scale;\r\n this.setTransform = setTransform;\r\n this.translate = translate;\r\n this.transform = transform;\r\n this.applyToPoint = applyToPoint;\r\n this.applyToX = applyToX;\r\n this.applyToY = applyToY;\r\n this.applyToZ = applyToZ;\r\n this.applyToPointArray = applyToPointArray;\r\n this.applyToTriplePoints = applyToTriplePoints;\r\n this.applyToPointStringified = applyToPointStringified;\r\n this.toCSS = toCSS;\r\n this.to2dCSS = to2dCSS;\r\n this.clone = clone;\r\n this.cloneFromProps = cloneFromProps;\r\n this.equals = equals;\r\n this.inversePoints = inversePoints;\r\n this.inversePoint = inversePoint;\r\n this.getInverseMatrix = getInverseMatrix;\r\n this._t = this.transform;\r\n this.isIdentity = isIdentity;\r\n this._identity = true;\r\n this._identityCalculated = false;\r\n\r\n this.props = createTypedArray('float32', 16);\r\n this.reset();\r\n };\r\n}());\r\n\r\n/*\r\n Copyright 2014 David Bau.\r\n\r\n Permission is hereby granted, free of charge, to any person obtaining\r\n a copy of this software and associated documentation files (the\r\n \"Software\"), to deal in the Software without restriction, including\r\n without limitation the rights to use, copy, modify, merge, publish,\r\n distribute, sublicense, and/or sell copies of the Software, and to\r\n permit persons to whom the Software is furnished to do so, subject to\r\n the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be\r\n included in all copies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n */\r\n\r\n(function (pool, math) {\r\n//\r\n// The following constants are related to IEEE 754 limits.\r\n//\r\n var global = this,\r\n width = 256, // each RC4 output is 0 <= x < 256\r\n chunks = 6, // at least six RC4 outputs for each double\r\n digits = 52, // there are 52 significant digits in a double\r\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\r\n startdenom = math.pow(width, chunks),\r\n significance = math.pow(2, digits),\r\n overflow = significance * 2,\r\n mask = width - 1,\r\n nodecrypto; // node.js crypto module, initialized at the bottom.\r\n\r\n//\r\n// seedrandom()\r\n// This is the seedrandom function described above.\r\n//\r\n function seedrandom(seed, options, callback) {\r\n var key = [];\r\n options = (options === true) ? { entropy: true } : (options || {});\r\n\r\n // Flatten the seed string or build one from local entropy if needed.\r\n var shortseed = mixkey(flatten(\r\n options.entropy ? [seed, tostring(pool)] :\r\n (seed === null) ? autoseed() : seed, 3), key);\r\n\r\n // Use the seed to initialize an ARC4 generator.\r\n var arc4 = new ARC4(key);\r\n\r\n // This function returns a random double in [0, 1) that contains\r\n // randomness in every bit of the mantissa of the IEEE 754 value.\r\n var prng = function() {\r\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\r\n d = startdenom, // and denominator d = 2 ^ 48.\r\n x = 0; // and no 'extra last byte'.\r\n while (n < significance) { // Fill up all significant digits by\r\n n = (n + x) * width; // shifting numerator and\r\n d *= width; // denominator and generating a\r\n x = arc4.g(1); // new least-significant-byte.\r\n }\r\n while (n >= overflow) { // To avoid rounding up, before adding\r\n n /= 2; // last byte, shift everything\r\n d /= 2; // right using integer math until\r\n x >>>= 1; // we have exactly the desired bits.\r\n }\r\n return (n + x) / d; // Form the number within [0, 1).\r\n };\r\n\r\n prng.int32 = function() { return arc4.g(4) | 0; };\r\n prng.quick = function() { return arc4.g(4) / 0x100000000; };\r\n prng.double = prng;\r\n\r\n // Mix the randomness into accumulated entropy.\r\n mixkey(tostring(arc4.S), pool);\r\n\r\n // Calling convention: what to return as a function of prng, seed, is_math.\r\n return (options.pass || callback ||\r\n function(prng, seed, is_math_call, state) {\r\n if (state) {\r\n // Load the arc4 state from the given state if it has an S array.\r\n if (state.S) { copy(state, arc4); }\r\n // Only provide the .state method if requested via options.state.\r\n prng.state = function() { return copy(arc4, {}); };\r\n }\r\n\r\n // If called as a method of Math (Math.seedrandom()), mutate\r\n // Math.random because that is how seedrandom.js has worked since v1.0.\r\n if (is_math_call) { math[rngname] = prng; return seed; }\r\n\r\n // Otherwise, it is a newer calling convention, so return the\r\n // prng directly.\r\n else return prng;\r\n })(\r\n prng,\r\n shortseed,\r\n 'global' in options ? options.global : (this == math),\r\n options.state);\r\n }\r\n math['seed' + rngname] = seedrandom;\r\n\r\n//\r\n// ARC4\r\n//\r\n// An ARC4 implementation. The constructor takes a key in the form of\r\n// an array of at most (width) integers that should be 0 <= x < (width).\r\n//\r\n// The g(count) method returns a pseudorandom integer that concatenates\r\n// the next (count) outputs from ARC4. Its return value is a number x\r\n// that is in the range 0 <= x < (width ^ count).\r\n//\r\n function ARC4(key) {\r\n var t, keylen = key.length,\r\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\r\n\r\n // The empty key [] is treated as [0].\r\n if (!keylen) { key = [keylen++]; }\r\n\r\n // Set up S using the standard key scheduling algorithm.\r\n while (i < width) {\r\n s[i] = i++;\r\n }\r\n for (i = 0; i < width; i++) {\r\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\r\n s[j] = t;\r\n }\r\n\r\n // The \"g\" method returns the next (count) outputs as one number.\r\n me.g = function(count) {\r\n // Using instance members instead of closure state nearly doubles speed.\r\n var t, r = 0,\r\n i = me.i, j = me.j, s = me.S;\r\n while (count--) {\r\n t = s[i = mask & (i + 1)];\r\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\r\n }\r\n me.i = i; me.j = j;\r\n return r;\r\n // For robust unpredictability, the function call below automatically\r\n // discards an initial batch of values. This is called RC4-drop[256].\r\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\r\n };\r\n }\r\n\r\n//\r\n// copy()\r\n// Copies internal state of ARC4 to or from a plain object.\r\n//\r\n function copy(f, t) {\r\n t.i = f.i;\r\n t.j = f.j;\r\n t.S = f.S.slice();\r\n return t;\r\n }\r\n\r\n//\r\n// flatten()\r\n// Converts an object tree to nested arrays of strings.\r\n//\r\n function flatten(obj, depth) {\r\n var result = [], typ = (typeof obj), prop;\r\n if (depth && typ == 'object') {\r\n for (prop in obj) {\r\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\r\n }\r\n }\r\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\r\n }\r\n\r\n//\r\n// mixkey()\r\n// Mixes a string seed into a key that is an array of integers, and\r\n// returns a shortened string seed that is equivalent to the result key.\r\n//\r\n function mixkey(seed, key) {\r\n var stringseed = seed + '', smear, j = 0;\r\n while (j < stringseed.length) {\r\n key[mask & j] =\r\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\r\n }\r\n return tostring(key);\r\n }\r\n\r\n//\r\n// autoseed()\r\n// Returns an object for autoseeding, using window.crypto and Node crypto\r\n// module if available.\r\n//\r\n function autoseed() {\r\n try {\r\n if (nodecrypto) { return tostring(nodecrypto.randomBytes(width)); }\r\n var out = new Uint8Array(width);\r\n (global.crypto || global.msCrypto).getRandomValues(out);\r\n return tostring(out);\r\n } catch (e) {\r\n var browser = global.navigator,\r\n plugins = browser && browser.plugins;\r\n return [+new Date(), global, plugins, global.screen, tostring(pool)];\r\n }\r\n }\r\n\r\n//\r\n// tostring()\r\n// Converts an array of charcodes to a string\r\n//\r\n function tostring(a) {\r\n return String.fromCharCode.apply(0, a);\r\n }\r\n\r\n//\r\n// When seedrandom.js is loaded, we immediately mix a few bits\r\n// from the built-in RNG into the entropy pool. Because we do\r\n// not want to interfere with deterministic PRNG state later,\r\n// seedrandom will not call math.random on its own again after\r\n// initialization.\r\n//\r\n mixkey(math.random(), pool);\r\n\r\n//\r\n// Nodejs and AMD support: export the implementation as a module using\r\n// either convention.\r\n//\r\n\r\n// End anonymous scope, and pass initial values.\r\n})(\r\n [], // pool: entropy pool starts empty\r\n BMMath // math: package containing random, pow, and seedrandom\r\n);\r\nvar BezierFactory = (function(){\r\n /**\r\n * BezierEasing - use bezier curve for transition easing function\r\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\r\n *\r\n * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n * Usage:\r\n * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n *\r\n */\r\n\r\n var ob = {};\r\n ob.getBezierEasing = getBezierEasing;\r\n var beziers = {};\r\n\r\n function getBezierEasing(a,b,c,d,nm){\r\n var str = nm || ('bez_' + a+'_'+b+'_'+c+'_'+d).replace(/\\./g, 'p');\r\n if(beziers[str]){\r\n return beziers[str];\r\n }\r\n var bezEasing = new BezierEasing([a,b,c,d]);\r\n beziers[str] = bezEasing;\r\n return bezEasing;\r\n }\r\n\r\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\r\n var NEWTON_ITERATIONS = 4;\r\n var NEWTON_MIN_SLOPE = 0.001;\r\n var SUBDIVISION_PRECISION = 0.0000001;\r\n var SUBDIVISION_MAX_ITERATIONS = 10;\r\n\r\n var kSplineTableSize = 11;\r\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\r\n\r\n var float32ArraySupported = typeof Float32Array === \"function\";\r\n\r\n function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\r\n function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\r\n function C (aA1) { return 3.0 * aA1; }\r\n\r\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\r\n function calcBezier (aT, aA1, aA2) {\r\n return ((A(aA1, aA2)*aT + B(aA1, aA2))*aT + C(aA1))*aT;\r\n }\r\n\r\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\r\n function getSlope (aT, aA1, aA2) {\r\n return 3.0 * A(aA1, aA2)*aT*aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\r\n }\r\n\r\n function binarySubdivide (aX, aA, aB, mX1, mX2) {\r\n var currentX, currentT, i = 0;\r\n do {\r\n currentT = aA + (aB - aA) / 2.0;\r\n currentX = calcBezier(currentT, mX1, mX2) - aX;\r\n if (currentX > 0.0) {\r\n aB = currentT;\r\n } else {\r\n aA = currentT;\r\n }\r\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\r\n return currentT;\r\n }\r\n\r\n function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {\r\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\r\n var currentSlope = getSlope(aGuessT, mX1, mX2);\r\n if (currentSlope === 0.0) return aGuessT;\r\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\r\n aGuessT -= currentX / currentSlope;\r\n }\r\n return aGuessT;\r\n }\r\n\r\n /**\r\n * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n */\r\n function BezierEasing (points) {\r\n this._p = points;\r\n this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\r\n this._precomputed = false;\r\n\r\n this.get = this.get.bind(this);\r\n }\r\n\r\n BezierEasing.prototype = {\r\n\r\n get: function (x) {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n if (!this._precomputed) this._precompute();\r\n if (mX1 === mY1 && mX2 === mY2) return x; // linear\r\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\r\n if (x === 0) return 0;\r\n if (x === 1) return 1;\r\n return calcBezier(this._getTForX(x), mY1, mY2);\r\n },\r\n\r\n // Private part\r\n\r\n _precompute: function () {\r\n var mX1 = this._p[0],\r\n mY1 = this._p[1],\r\n mX2 = this._p[2],\r\n mY2 = this._p[3];\r\n this._precomputed = true;\r\n if (mX1 !== mY1 || mX2 !== mY2)\r\n this._calcSampleValues();\r\n },\r\n\r\n _calcSampleValues: function () {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2];\r\n for (var i = 0; i < kSplineTableSize; ++i) {\r\n this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\r\n }\r\n },\r\n\r\n /**\r\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n */\r\n _getTForX: function (aX) {\r\n var mX1 = this._p[0],\r\n mX2 = this._p[2],\r\n mSampleValues = this._mSampleValues;\r\n\r\n var intervalStart = 0.0;\r\n var currentSample = 1;\r\n var lastSample = kSplineTableSize - 1;\r\n\r\n for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\r\n intervalStart += kSampleStepSize;\r\n }\r\n --currentSample;\r\n\r\n // Interpolate to provide an initial guess for t\r\n var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample+1] - mSampleValues[currentSample]);\r\n var guessForT = intervalStart + dist * kSampleStepSize;\r\n\r\n var initialSlope = getSlope(guessForT, mX1, mX2);\r\n if (initialSlope >= NEWTON_MIN_SLOPE) {\r\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\r\n } else if (initialSlope === 0.0) {\r\n return guessForT;\r\n } else {\r\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\r\n }\r\n }\r\n };\r\n\r\n return ob;\r\n\r\n}());\r\n(function () {\r\n var lastTime = 0;\r\n var vendors = ['ms', 'moz', 'webkit', 'o'];\r\n for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\r\n window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\r\n window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];\r\n }\r\n if(!window.requestAnimationFrame)\r\n window.requestAnimationFrame = function (callback, element) {\r\n var currTime = new Date().getTime();\r\n var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n var id = setTimeout(function () {\r\n callback(currTime + timeToCall);\r\n },\r\n timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n if(!window.cancelAnimationFrame)\r\n window.cancelAnimationFrame = function (id) {\r\n clearTimeout(id);\r\n };\r\n}());\r\n\r\nfunction extendPrototype(sources,destination){\r\n var i, len = sources.length, sourcePrototype;\r\n for (i = 0;i < len;i += 1) {\r\n sourcePrototype = sources[i].prototype;\r\n for (var attr in sourcePrototype) {\r\n if (sourcePrototype.hasOwnProperty(attr)) destination.prototype[attr] = sourcePrototype[attr];\r\n }\r\n }\r\n}\r\n\r\nfunction getDescriptor(object, prop) {\r\n return Object.getOwnPropertyDescriptor(object, prop);\r\n}\r\n\r\nfunction createProxyFunction(prototype) {\r\n\tfunction ProxyFunction(){}\r\n\tProxyFunction.prototype = prototype;\r\n\treturn ProxyFunction;\r\n}\r\nfunction bezFunction(){\r\n\r\n var easingFunctions = [];\r\n var math = Math;\r\n\r\n function pointOnLine2D(x1,y1, x2,y2, x3,y3){\r\n var det1 = (x1*y2) + (y1*x3) + (x2*y3) - (x3*y2) - (y3*x1) - (x2*y1);\r\n return det1 > -0.001 && det1 < 0.001;\r\n }\r\n\r\n function pointOnLine3D(x1,y1,z1, x2,y2,z2, x3,y3,z3){\r\n if(z1 === 0 && z2 === 0 && z3 === 0) {\r\n return pointOnLine2D(x1,y1, x2,y2, x3,y3);\r\n }\r\n var dist1 = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2) + Math.pow(z2 - z1, 2));\r\n var dist2 = Math.sqrt(Math.pow(x3 - x1, 2) + Math.pow(y3 - y1, 2) + Math.pow(z3 - z1, 2));\r\n var dist3 = Math.sqrt(Math.pow(x3 - x2, 2) + Math.pow(y3 - y2, 2) + Math.pow(z3 - z2, 2));\r\n var diffDist;\r\n if(dist1 > dist2){\r\n if(dist1 > dist3){\r\n diffDist = dist1 - dist2 - dist3;\r\n } else {\r\n diffDist = dist3 - dist2 - dist1;\r\n }\r\n } else if(dist3 > dist2){\r\n diffDist = dist3 - dist2 - dist1;\r\n } else {\r\n diffDist = dist2 - dist1 - dist3;\r\n }\r\n return diffDist > -0.0001 && diffDist < 0.0001;\r\n }\r\n\r\n var getBezierLength = (function(){\r\n\r\n return function(pt1,pt2,pt3,pt4){\r\n var curveSegments = defaultCurveSegments;\r\n var k;\r\n var i, len;\r\n var ptCoord,perc,addedLength = 0;\r\n var ptDistance;\r\n var point = [],lastPoint = [];\r\n var lengthData = bezier_length_pool.newElement();\r\n len = pt3.length;\r\n for(k=0;k lengthPos ? -1 : 1;\r\n var flag = true;\r\n while(flag){\r\n if(lengths[initPos] <= lengthPos && lengths[initPos+1] > lengthPos){\r\n lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos+1] - lengths[initPos]);\r\n flag = false;\r\n }else{\r\n initPos += dir;\r\n }\r\n if(initPos < 0 || initPos >= len - 1){\r\n //FIX for TypedArrays that don't store floating point values with enough accuracy\r\n if(initPos === len - 1) {\r\n return percents[initPos];\r\n }\r\n flag = false;\r\n }\r\n }\r\n return percents[initPos] + (percents[initPos+1] - percents[initPos])*lPerc;\r\n }\r\n }\r\n\r\n function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\r\n var t1 = getDistancePerc(percent,bezierData);\r\n var u0 = 1;\r\n var u1 = 1 - t1;\r\n var ptX = Math.round((u1*u1*u1* pt1[0] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[0] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[0] + t1*t1*t1* pt2[0])* 1000) / 1000;\r\n var ptY = Math.round((u1*u1*u1* pt1[1] + (t1*u1*u1 + u1*t1*u1 + u1*u1*t1)* pt3[1] + (t1*t1*u1 + u1*t1*t1 + t1*u1*t1)*pt4[1] + t1*t1*t1* pt2[1])* 1000) / 1000;\r\n return [ptX, ptY];\r\n }\r\n\r\n function getSegmentArray() {\r\n\r\n }\r\n\r\n var bezier_segment_points = createTypedArray('float32', 8);\r\n\r\n function getNewSegment(pt1,pt2,pt3,pt4,startPerc,endPerc, bezierData){\r\n\r\n startPerc = startPerc < 0 ? 0 : startPerc > 1 ? 1 : startPerc;\r\n var t0 = getDistancePerc(startPerc,bezierData);\r\n endPerc = endPerc > 1 ? 1 : endPerc;\r\n var t1 = getDistancePerc(endPerc,bezierData);\r\n var i, len = pt1.length;\r\n var u0 = 1 - t0;\r\n var u1 = 1 - t1;\r\n var u0u0u0 = u0*u0*u0;\r\n var t0u0u0_3 = t0*u0*u0*3;\r\n var t0t0u0_3 = t0*t0*u0*3;\r\n var t0t0t0 = t0*t0*t0;\r\n //\r\n var u0u0u1 = u0*u0*u1;\r\n var t0u0u1_3 = t0*u0*u1 + u0*t0*u1 + u0*u0*t1;\r\n var t0t0u1_3 = t0*t0*u1 + u0*t0*t1 + t0*u0*t1;\r\n var t0t0t1 = t0*t0*t1;\r\n //\r\n var u0u1u1 = u0*u1*u1;\r\n var t0u1u1_3 = t0*u1*u1 + u0*t1*u1 + u0*u1*t1;\r\n var t0t1u1_3 = t0*t1*u1 + u0*t1*t1 + t0*u1*t1;\r\n var t0t1t1 = t0*t1*t1;\r\n //\r\n var u1u1u1 = u1*u1*u1;\r\n var t1u1u1_3 = t1*u1*u1 + u1*t1*u1 + u1*u1*t1;\r\n var t1t1u1_3 = t1*t1*u1 + u1*t1*t1 + t1*u1*t1;\r\n var t1t1t1 = t1*t1*t1;\r\n for(i=0;i=0;i-=1){\r\n if(arr[i].ty == 'sh'){\r\n if(arr[i].ks.k.i){\r\n convertPathsToAbsoluteValues(arr[i].ks.k);\r\n }else{\r\n jLen = arr[i].ks.k.length;\r\n for(j=0;janimVersion[0]){\r\n return true;\r\n } else if(animVersion[0] > minimum[0]){\r\n return false;\r\n }\r\n if(minimum[1]>animVersion[1]){\r\n return true;\r\n } else if(animVersion[1] > minimum[1]){\r\n return false;\r\n }\r\n if(minimum[2]>animVersion[2]){\r\n return true;\r\n } else if(animVersion[2] > minimum[2]){\r\n return false;\r\n }\r\n }\r\n\r\n var checkText = (function(){\r\n var minimumVersion = [4,4,14];\r\n\r\n function updateTextLayer(textLayer){\r\n var documentData = textLayer.t.d;\r\n textLayer.t.d = {\r\n k: [\r\n {\r\n s:documentData,\r\n t:0\r\n }\r\n ]\r\n };\r\n }\r\n\r\n function iterateLayers(layers){\r\n var i, len = layers.length;\r\n for(i=0;i=0;i-=1){\r\n if(arr[i].ty == 'sh'){\r\n if(arr[i].ks.k.i){\r\n arr[i].ks.k.c = arr[i].closed;\r\n }else{\r\n jLen = arr[i].ks.k.length;\r\n for(j=0;j 0) {\r\n shouldLoadFont = false;\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var s = createTag('style');\r\n s.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n s.setAttribute('f-origin', fontArr[i].origin);\r\n s.setAttribute('f-family', fontArr[i].fFamily);\r\n s.type = \"text/css\";\r\n s.innerText = \"@font-face {\" + \"font-family: \"+fontArr[i].fFamily+\"; font-style: normal; src: url('\"+fontArr[i].fPath+\"');}\";\r\n defs.appendChild(s);\r\n }\r\n } else if(fontArr[i].fOrigin === 'g' || fontArr[i].origin === 1){\r\n loadedSelector = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j++) {\r\n if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var l = createTag('link');\r\n l.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n l.setAttribute('f-origin', fontArr[i].origin);\r\n l.type = \"text/css\";\r\n l.rel = \"stylesheet\";\r\n l.href = fontArr[i].fPath;\r\n document.body.appendChild(l);\r\n }\r\n } else if(fontArr[i].fOrigin === 't' || fontArr[i].origin === 2){\r\n loadedSelector = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]');\r\n\r\n for (j = 0; j < loadedSelector.length; j++) {\r\n if (fontArr[i].fPath === loadedSelector[j].src) {\r\n // Font is already loaded\r\n shouldLoadFont = false;\r\n }\r\n }\r\n\r\n if (shouldLoadFont) {\r\n var sc = createTag('link');\r\n sc.setAttribute('f-forigin', fontArr[i].fOrigin);\r\n sc.setAttribute('f-origin', fontArr[i].origin);\r\n sc.setAttribute('rel','stylesheet');\r\n sc.setAttribute('href',fontArr[i].fPath);\r\n defs.appendChild(sc);\r\n }\r\n }\r\n fontArr[i].helper = createHelper(defs,fontArr[i]);\r\n fontArr[i].cache = {};\r\n this.fonts.push(fontArr[i]);\r\n }\r\n if (_pendingFonts === 0) {\r\n this.isLoaded = true;\r\n } else {\r\n //On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\r\n //Adding this timeout seems to fix it\r\n setTimeout(this.checkLoadedFonts.bind(this), 100);\r\n }\r\n }\r\n\r\n function addChars(chars){\r\n if(!chars){\r\n return;\r\n }\r\n if(!this.chars){\r\n this.chars = [];\r\n }\r\n var i, len = chars.length;\r\n var j, jLen = this.chars.length, found;\r\n for(i=0;i= nextKeyData.t - offsetTime){\r\n if(keyData.h){\r\n keyData = nextKeyData;\r\n }\r\n iterationIndex = 0;\r\n break;\r\n }\r\n if ((nextKeyData.t - offsetTime) > frameNum){\r\n iterationIndex = i;\r\n break;\r\n }\r\n if (i < len - 1){\r\n i += 1;\r\n } else {\r\n iterationIndex = 0;\r\n flag = false;\r\n }\r\n }\r\n\r\n var k, kLen, perc, jLen, j, fnc;\r\n var nextKeyTime = nextKeyData.t - offsetTime;\r\n var keyTime = keyData.t - offsetTime;\r\n var endValue;\r\n if (keyData.to) {\r\n if (!keyData.bezierData) {\r\n keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\r\n }\r\n var bezierData = keyData.bezierData;\r\n if (frameNum >= nextKeyTime || frameNum < keyTime) {\r\n var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\r\n kLen = bezierData.points[ind].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[ind].point[k];\r\n }\r\n // caching._lastKeyframeIndex = -1;\r\n } else {\r\n if (keyData.__fnct) {\r\n fnc = keyData.__fnct;\r\n } else {\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\r\n var distanceInLine = bezierData.segmentLength*perc;\r\n\r\n var segmentPerc;\r\n var addedLength = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastAddedLength : 0;\r\n j = (caching.lastFrame < frameNum && caching._lastKeyframeIndex === i) ? caching._lastPoint : 0;\r\n flag = true;\r\n jLen = bezierData.points.length;\r\n while (flag) {\r\n addedLength += bezierData.points[j].partialLength;\r\n if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k];\r\n }\r\n break;\r\n } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\r\n segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\r\n kLen = bezierData.points[j].point.length;\r\n for (k = 0; k < kLen; k += 1) {\r\n newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\r\n }\r\n break;\r\n }\r\n if (j < jLen - 1){\r\n j += 1;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n caching._lastPoint = j;\r\n caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\r\n caching._lastKeyframeIndex = i;\r\n }\r\n } else {\r\n var outX, outY, inX, inY, keyValue;\r\n len = keyData.s.length;\r\n endValue = nextKeyData.s || keyData.e;\r\n if (this.sh && keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n newValue[0] = endValue[0];\r\n newValue[1] = endValue[1];\r\n newValue[2] = endValue[2];\r\n } else if (frameNum <= keyTime) {\r\n newValue[0] = keyData.s[0];\r\n newValue[1] = keyData.s[1];\r\n newValue[2] = keyData.s[2];\r\n } else {\r\n var quatStart = createQuaternion(keyData.s);\r\n var quatEnd = createQuaternion(endValue);\r\n var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\r\n quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\r\n }\r\n \r\n } else {\r\n for(i = 0; i < len; i += 1) {\r\n if (keyData.h !== 1) {\r\n if (frameNum >= nextKeyTime) {\r\n perc = 1;\r\n } else if(frameNum < keyTime) {\r\n perc = 0;\r\n } else {\r\n if(keyData.o.x.constructor === Array) {\r\n if (!keyData.__fnct) {\r\n keyData.__fnct = [];\r\n }\r\n if (!keyData.__fnct[i]) {\r\n outX = (typeof keyData.o.x[i] === 'undefined') ? keyData.o.x[0] : keyData.o.x[i];\r\n outY = (typeof keyData.o.y[i] === 'undefined') ? keyData.o.y[0] : keyData.o.y[i];\r\n inX = (typeof keyData.i.x[i] === 'undefined') ? keyData.i.x[0] : keyData.i.x[i];\r\n inY = (typeof keyData.i.y[i] === 'undefined') ? keyData.i.y[0] : keyData.i.y[i];\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct[i] = fnc;\r\n } else {\r\n fnc = keyData.__fnct[i];\r\n }\r\n } else {\r\n if (!keyData.__fnct) {\r\n outX = keyData.o.x;\r\n outY = keyData.o.y;\r\n inX = keyData.i.x;\r\n inY = keyData.i.y;\r\n fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\r\n keyData.__fnct = fnc;\r\n } else {\r\n fnc = keyData.__fnct;\r\n }\r\n }\r\n perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime ));\r\n }\r\n }\r\n\r\n endValue = nextKeyData.s || keyData.e;\r\n keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\r\n\r\n if (this.propType === 'multidimensional') {\r\n newValue[i] = keyValue;\r\n } else {\r\n newValue = keyValue;\r\n }\r\n }\r\n }\r\n }\r\n caching.lastIndex = iterationIndex;\r\n return newValue;\r\n }\r\n\r\n //based on @Toji's https://github.com/toji/gl-matrix/\r\n function slerp(a, b, t) {\r\n var out = [];\r\n var ax = a[0], ay = a[1], az = a[2], aw = a[3],\r\n bx = b[0], by = b[1], bz = b[2], bw = b[3]\r\n\r\n var omega, cosom, sinom, scale0, scale1;\r\n\r\n cosom = ax * bx + ay * by + az * bz + aw * bw;\r\n if (cosom < 0.0) {\r\n cosom = -cosom;\r\n bx = -bx;\r\n by = -by;\r\n bz = -bz;\r\n bw = -bw;\r\n }\r\n if ((1.0 - cosom) > 0.000001) {\r\n omega = Math.acos(cosom);\r\n sinom = Math.sin(omega);\r\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\r\n scale1 = Math.sin(t * omega) / sinom;\r\n } else {\r\n scale0 = 1.0 - t;\r\n scale1 = t;\r\n }\r\n out[0] = scale0 * ax + scale1 * bx;\r\n out[1] = scale0 * ay + scale1 * by;\r\n out[2] = scale0 * az + scale1 * bz;\r\n out[3] = scale0 * aw + scale1 * bw;\r\n\r\n return out;\r\n }\r\n\r\n function quaternionToEuler(out, quat) {\r\n var qx = quat[0];\r\n var qy = quat[1];\r\n var qz = quat[2];\r\n var qw = quat[3];\r\n var heading = Math.atan2(2*qy*qw-2*qx*qz , 1 - 2*qy*qy - 2*qz*qz)\r\n var attitude = Math.asin(2*qx*qy + 2*qz*qw) \r\n var bank = Math.atan2(2*qx*qw-2*qy*qz , 1 - 2*qx*qx - 2*qz*qz);\r\n out[0] = heading/degToRads;\r\n out[1] = attitude/degToRads;\r\n out[2] = bank/degToRads;\r\n }\r\n\r\n function createQuaternion(values) {\r\n var heading = values[0] * degToRads;\r\n var attitude = values[1] * degToRads;\r\n var bank = values[2] * degToRads;\r\n var c1 = Math.cos(heading / 2);\r\n var c2 = Math.cos(attitude / 2);\r\n var c3 = Math.cos(bank / 2);\r\n var s1 = Math.sin(heading / 2);\r\n var s2 = Math.sin(attitude / 2);\r\n var s3 = Math.sin(bank / 2);\r\n var w = c1 * c2 * c3 - s1 * s2 * s3;\r\n var x = s1 * s2 * c3 + c1 * c2 * s3;\r\n var y = s1 * c2 * c3 + c1 * s2 * s3;\r\n var z = c1 * s2 * c3 - s1 * c2 * s3;\r\n\r\n return [x,y,z,w];\r\n }\r\n\r\n function getValueAtCurrentTime(){\r\n var frameNum = this.comp.renderedFrame - this.offsetTime;\r\n var initTime = this.keyframes[0].t - this.offsetTime;\r\n var endTime = this.keyframes[this.keyframes.length- 1].t-this.offsetTime;\r\n if(!(frameNum === this._caching.lastFrame || (this._caching.lastFrame !== initFrame && ((this._caching.lastFrame >= endTime && frameNum >= endTime) || (this._caching.lastFrame < initTime && frameNum < initTime))))){\r\n if(this._caching.lastFrame >= frameNum) {\r\n this._caching._lastKeyframeIndex = -1;\r\n this._caching.lastIndex = 0;\r\n }\r\n\r\n var renderResult = this.interpolateValue(frameNum, this._caching);\r\n this.pv = renderResult;\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function setVValue(val) {\r\n var multipliedValue;\r\n if(this.propType === 'unidimensional') {\r\n multipliedValue = val * this.mult;\r\n if(math_abs(this.v - multipliedValue) > 0.00001) {\r\n this.v = multipliedValue;\r\n this._mdf = true;\r\n }\r\n } else {\r\n var i = 0, len = this.v.length;\r\n while (i < len) {\r\n multipliedValue = val[i] * this.mult;\r\n if (math_abs(this.v[i] - multipliedValue) > 0.00001) {\r\n this.v[i] = multipliedValue;\r\n this._mdf = true;\r\n }\r\n i += 1;\r\n }\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) {\r\n return;\r\n }\r\n if(this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = this._isFirstFrame;\r\n var multipliedValue;\r\n var i, len = this.effectsSequence.length;\r\n var finalValue = this.kf ? this.pv : this.data.k;\r\n for(i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this._isFirstFrame = false;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n function ValueProperty(elem, data, mult, container){\r\n this.propType = 'unidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this.v = mult ? data.k * mult : data.k;\r\n this.pv = data.k;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.vel = 0;\r\n this.effectsSequence = [];\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function MultiDimensionalProperty(elem, data, mult, container) {\r\n this.propType = 'multidimensional';\r\n this.mult = mult || 1;\r\n this.data = data;\r\n this._mdf = false;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.k = false;\r\n this.kf = false;\r\n this.frameId = -1;\r\n var i, len = data.k.length;\r\n this.v = createTypedArray('float32', len);\r\n this.pv = createTypedArray('float32', len);\r\n var arr = createTypedArray('float32', len);\r\n this.vel = createTypedArray('float32', len);\r\n for (i = 0; i < len; i += 1) {\r\n this.v[i] = data.k[i] * this.mult;\r\n this.pv[i] = data.k[i];\r\n }\r\n this._isFirstFrame = true;\r\n this.effectsSequence = [];\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedValueProperty(elem, data, mult, container) {\r\n this.propType = 'unidimensional';\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.frameId = -1;\r\n this._caching = {lastFrame: initFrame, lastIndex: 0, value: 0, _lastKeyframeIndex: -1};\r\n this.k = true;\r\n this.kf = true;\r\n this.data = data;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.v = initFrame;\r\n this.pv = initFrame;\r\n this._isFirstFrame = true;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function KeyframedMultidimensionalProperty(elem, data, mult, container){\r\n this.propType = 'multidimensional';\r\n var i, len = data.k.length;\r\n var s, e,to,ti;\r\n for (i = 0; i < len - 1; i += 1) {\r\n if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\r\n s = data.k[i].s;\r\n e = data.k[i + 1].s;\r\n to = data.k[i].to;\r\n ti = data.k[i].ti;\r\n if((s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],s[0] + to[0],s[1] + to[1]) && bez.pointOnLine2D(s[0],s[1],e[0],e[1],e[0] + ti[0],e[1] + ti[1])) || (s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],s[0] + to[0],s[1] + to[1],s[2] + to[2]) && bez.pointOnLine3D(s[0],s[1],s[2],e[0],e[1],e[2],e[0] + ti[0],e[1] + ti[1],e[2] + ti[2]))){\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n if(s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\r\n if(s.length === 2 || (s[2] === e[2] && to[2] === 0 && ti[2] === 0)) {\r\n data.k[i].to = null;\r\n data.k[i].ti = null;\r\n }\r\n }\r\n }\r\n }\r\n this.effectsSequence = [getValueAtCurrentTime.bind(this)];\r\n this.data = data;\r\n this.keyframes = data.k;\r\n this.offsetTime = elem.data.st;\r\n this.k = true;\r\n this.kf = true;\r\n this._isFirstFrame = true;\r\n this.mult = mult || 1;\r\n this.elem = elem;\r\n this.container = container;\r\n this.comp = elem.comp;\r\n this.getValue = processEffectsSequence;\r\n this.setVValue = setVValue;\r\n this.interpolateValue = interpolateValue;\r\n this.frameId = -1;\r\n var arrLen = data.k[0].s.length;\r\n this.v = createTypedArray('float32', arrLen);\r\n this.pv = createTypedArray('float32', arrLen);\r\n for (i = 0; i < arrLen; i += 1) {\r\n this.v[i] = initFrame;\r\n this.pv[i] = initFrame;\r\n }\r\n this._caching={lastFrame:initFrame,lastIndex:0,value:createTypedArray('float32', arrLen)};\r\n this.addEffect = addEffect;\r\n }\r\n\r\n function getProp(elem,data,type, mult, container) {\r\n var p;\r\n if(!data.k.length){\r\n p = new ValueProperty(elem,data, mult, container);\r\n }else if(typeof(data.k[0]) === 'number'){\r\n p = new MultiDimensionalProperty(elem,data, mult, container);\r\n }else{\r\n switch(type){\r\n case 0:\r\n p = new KeyframedValueProperty(elem,data,mult, container);\r\n break;\r\n case 1:\r\n p = new KeyframedMultidimensionalProperty(elem,data,mult, container);\r\n break;\r\n }\r\n }\r\n if(p.effectsSequence.length){\r\n container.addDynamicProperty(p);\r\n }\r\n return p;\r\n }\r\n\r\n var ob = {\r\n getProp: getProp\r\n };\r\n return ob;\r\n}());\r\nvar TransformPropertyFactory = (function() {\r\n\r\n var defaultVector = [0,0]\r\n\r\n function applyToMatrix(mat) {\r\n var _mdf = this._mdf;\r\n this.iterateDynamicProperties();\r\n this._mdf = this._mdf || _mdf;\r\n if (this.a) {\r\n mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if (this.s) {\r\n mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk) {\r\n mat.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r) {\r\n mat.rotate(-this.r.v);\r\n } else {\r\n mat.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]);\r\n }\r\n if (this.data.p.s) {\r\n if (this.data.p.z) {\r\n mat.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n mat.translate(this.px.v, this.py.v, 0);\r\n }\r\n } else {\r\n mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\r\n }\r\n }\r\n function processKeys(forceRender){\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n }\r\n if(this._isDirty) {\r\n this.precalculateMatrix();\r\n this._isDirty = false;\r\n }\r\n\r\n this.iterateDynamicProperties();\r\n\r\n if (this._mdf || forceRender) {\r\n this.v.cloneFromProps(this.pre.props);\r\n if (this.appliedTransformations < 1) {\r\n this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n }\r\n if(this.appliedTransformations < 2) {\r\n this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n this.v.skewFromAxis(-this.sk.v, this.sa.v);\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n this.v.rotate(-this.r.v);\r\n } else if (!this.r && this.appliedTransformations < 4){\r\n 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]);\r\n }\r\n if (this.autoOriented) {\r\n var v1,v2, frameRate = this.elem.globalData.frameRate;\r\n if(this.p && this.p.keyframes && this.p.getValueAtTime) {\r\n if (this.p._caching.lastFrame+this.p.offsetTime <= this.p.keyframes[0].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / frameRate,0);\r\n v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);\r\n } else if(this.p._caching.lastFrame+this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {\r\n v1 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t / frameRate), 0);\r\n v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / frameRate, 0);\r\n } else {\r\n v1 = this.p.pv;\r\n v2 = this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime - 0.01) / frameRate, this.p.offsetTime);\r\n }\r\n } else if(this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\r\n v1 = [];\r\n v2 = [];\r\n var px = this.px, py = this.py, frameRate;\r\n if (px._caching.lastFrame+px.offsetTime <= px.keyframes[0].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate,0);\r\n v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate,0);\r\n v2[0] = px.getValueAtTime((px.keyframes[0].t) / frameRate,0);\r\n v2[1] = py.getValueAtTime((py.keyframes[0].t) / frameRate,0);\r\n } else if(px._caching.lastFrame+px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\r\n v1[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t / frameRate),0);\r\n v1[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t / frameRate),0);\r\n v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate,0);\r\n v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate,0);\r\n } else {\r\n v1 = [px.pv, py.pv];\r\n v2[0] = px.getValueAtTime((px._caching.lastFrame+px.offsetTime - 0.01) / frameRate,px.offsetTime);\r\n v2[1] = py.getValueAtTime((py._caching.lastFrame+py.offsetTime - 0.01) / frameRate,py.offsetTime);\r\n }\r\n } else {\r\n v1 = v2 = defaultVector\r\n }\r\n this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\r\n }\r\n if(this.data.p && this.data.p.s){\r\n if(this.data.p.z) {\r\n this.v.translate(this.px.v, this.py.v, -this.pz.v);\r\n } else {\r\n this.v.translate(this.px.v, this.py.v, 0);\r\n }\r\n }else{\r\n this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2]);\r\n }\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n }\r\n\r\n function precalculateMatrix() {\r\n if(!this.a.k) {\r\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);\r\n this.appliedTransformations = 1;\r\n } else {\r\n return;\r\n }\r\n if(!this.s.effectsSequence.length) {\r\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);\r\n this.appliedTransformations = 2;\r\n } else {\r\n return;\r\n }\r\n if(this.sk) {\r\n if(!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {\r\n this.pre.skewFromAxis(-this.sk.v, this.sa.v);\r\n this.appliedTransformations = 3;\r\n } else {\r\n return;\r\n }\r\n }\r\n if (this.r) {\r\n if(!this.r.effectsSequence.length) {\r\n this.pre.rotate(-this.r.v);\r\n this.appliedTransformations = 4;\r\n } else {\r\n return;\r\n }\r\n } else if(!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {\r\n 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]);\r\n this.appliedTransformations = 4;\r\n }\r\n }\r\n\r\n function autoOrient(){\r\n //\r\n //var prevP = this.getValueAtTime();\r\n }\r\n\r\n function addDynamicProperty(prop) {\r\n this._addDynamicProperty(prop);\r\n this.elem.addDynamicProperty(prop);\r\n this._isDirty = true;\r\n }\r\n\r\n function TransformProperty(elem,data,container){\r\n this.elem = elem;\r\n this.frameId = -1;\r\n this.propType = 'transform';\r\n this.data = data;\r\n this.v = new Matrix();\r\n //Precalculated matrix with non animated properties\r\n this.pre = new Matrix();\r\n this.appliedTransformations = 0;\r\n this.initDynamicPropertyContainer(container || elem);\r\n if(data.p && data.p.s){\r\n this.px = PropertyFactory.getProp(elem,data.p.x,0,0,this);\r\n this.py = PropertyFactory.getProp(elem,data.p.y,0,0,this);\r\n if(data.p.z){\r\n this.pz = PropertyFactory.getProp(elem,data.p.z,0,0,this);\r\n }\r\n }else{\r\n this.p = PropertyFactory.getProp(elem,data.p || {k:[0,0,0]},1,0,this);\r\n }\r\n if(data.rx) {\r\n this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);\r\n this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);\r\n this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);\r\n if(data.or.k[0].ti) {\r\n var i, len = data.or.k.length;\r\n for(i=0;i= this._maxLength) {\r\n\t\tthis.doubleArrayLength();\r\n\t}\r\n\tswitch(type){\r\n\t\tcase 'v':\r\n\t\t\tarr = this.v;\r\n\t\t\tbreak;\r\n\t\tcase 'i':\r\n\t\t\tarr = this.i;\r\n\t\t\tbreak;\r\n\t\tcase 'o':\r\n\t\t\tarr = this.o;\r\n\t\t\tbreak;\r\n\t}\r\n\tif(!arr[pos] || (arr[pos] && !replace)){\r\n\t\tarr[pos] = point_pool.newElement();\r\n\t}\r\n\tarr[pos][0] = x;\r\n\tarr[pos][1] = y;\r\n};\r\n\r\nShapePath.prototype.setTripleAt = function(vX,vY,oX,oY,iX,iY,pos, replace) {\r\n\tthis.setXYAt(vX,vY,'v',pos, replace);\r\n\tthis.setXYAt(oX,oY,'o',pos, replace);\r\n\tthis.setXYAt(iX,iY,'i',pos, replace);\r\n};\r\n\r\nShapePath.prototype.reverse = function() {\r\n\tvar newPath = new ShapePath();\r\n\tnewPath.setPathData(this.c, this._length);\r\n\tvar vertices = this.v, outPoints = this.o, inPoints = this.i;\r\n\tvar init = 0;\r\n\tif (this.c) {\r\n\t\tnewPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\r\n init = 1;\r\n }\r\n var cnt = this._length - 1;\r\n var len = this._length;\r\n\r\n var i;\r\n for (i = init; i < len; i += 1) {\r\n \tnewPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\r\n cnt -= 1;\r\n }\r\n return newPath;\r\n};\r\nvar ShapePropertyFactory = (function(){\r\n\r\n var initFrame = -999999;\r\n\r\n function interpolateShape(frameNum, previousValue, caching) {\r\n var iterationIndex = caching.lastIndex;\r\n var keyPropS,keyPropE,isHold, j, k, jLen, kLen, perc, vertexValue;\r\n var kf = this.keyframes;\r\n if(frameNum < kf[0].t-this.offsetTime){\r\n keyPropS = kf[0].s[0];\r\n isHold = true;\r\n iterationIndex = 0;\r\n }else if(frameNum >= kf[kf.length - 1].t-this.offsetTime){\r\n keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\r\n /*if(kf[kf.length - 1].s){\r\n keyPropS = kf[kf.length - 1].s[0];\r\n }else{\r\n keyPropS = kf[kf.length - 2].e[0];\r\n }*/\r\n isHold = true;\r\n }else{\r\n var i = iterationIndex;\r\n var len = kf.length- 1,flag = true,keyData,nextKeyData;\r\n while(flag){\r\n keyData = kf[i];\r\n nextKeyData = kf[i+1];\r\n if((nextKeyData.t - this.offsetTime) > frameNum){\r\n break;\r\n }\r\n if(i < len - 1){\r\n i += 1;\r\n }else{\r\n flag = false;\r\n }\r\n }\r\n isHold = keyData.h === 1;\r\n iterationIndex = i;\r\n if(!isHold){\r\n if(frameNum >= nextKeyData.t-this.offsetTime){\r\n perc = 1;\r\n }else if(frameNum < keyData.t-this.offsetTime){\r\n perc = 0;\r\n }else{\r\n var fnc;\r\n if(keyData.__fnct){\r\n fnc = keyData.__fnct;\r\n }else{\r\n fnc = BezierFactory.getBezierEasing(keyData.o.x,keyData.o.y,keyData.i.x,keyData.i.y).get;\r\n keyData.__fnct = fnc;\r\n }\r\n perc = fnc((frameNum-(keyData.t-this.offsetTime))/((nextKeyData.t-this.offsetTime)-(keyData.t-this.offsetTime)));\r\n }\r\n keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\r\n }\r\n keyPropS = keyData.s[0];\r\n }\r\n jLen = previousValue._length;\r\n kLen = keyPropS.i[0].length;\r\n caching.lastIndex = iterationIndex;\r\n\r\n for(j=0;j endTime && frameNum > endTime)))){\r\n ////\r\n this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;\r\n this.interpolateShape(frameNum, this.pv, this._caching);\r\n ////\r\n }\r\n this._caching.lastFrame = frameNum;\r\n return this.pv;\r\n }\r\n\r\n function resetShape(){\r\n this.paths = this.localShapeCollection;\r\n }\r\n\r\n function shapesEqual(shape1, shape2) {\r\n if(shape1._length !== shape2._length || shape1.c !== shape2.c){\r\n return false;\r\n }\r\n var i, len = shape1._length;\r\n for(i = 0; i < len; i += 1) {\r\n if(shape1.v[i][0] !== shape2.v[i][0] \r\n || shape1.v[i][1] !== shape2.v[i][1] \r\n || shape1.o[i][0] !== shape2.o[i][0] \r\n || shape1.o[i][1] !== shape2.o[i][1] \r\n || shape1.i[i][0] !== shape2.i[i][0] \r\n || shape1.i[i][1] !== shape2.i[i][1]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function setVValue(newPath) {\r\n if(!shapesEqual(this.v, newPath)) {\r\n this.v = shape_pool.clone(newPath);\r\n this.localShapeCollection.releaseShapes();\r\n this.localShapeCollection.addShape(this.v);\r\n this._mdf = true;\r\n this.paths = this.localShapeCollection;\r\n }\r\n }\r\n\r\n function processEffectsSequence() {\r\n if (this.elem.globalData.frameId === this.frameId) {\r\n return;\r\n } else if (!this.effectsSequence.length) {\r\n this._mdf = false;\r\n return;\r\n }\r\n if (this.lock) {\r\n this.setVValue(this.pv);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var finalValue = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\r\n var i, len = this.effectsSequence.length;\r\n for(i = 0; i < len; i += 1) {\r\n finalValue = this.effectsSequence[i](finalValue);\r\n }\r\n this.setVValue(finalValue);\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n };\r\n\r\n function ShapeProperty(elem, data, type){\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.container = elem;\r\n this.elem = elem;\r\n this.data = data;\r\n this.k = false;\r\n this.kf = false;\r\n this._mdf = false;\r\n var pathData = type === 3 ? data.pt.k : data.ks.k;\r\n this.v = shape_pool.clone(pathData);\r\n this.pv = shape_pool.clone(this.v);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.reset = resetShape;\r\n this.effectsSequence = [];\r\n }\r\n\r\n function addEffect(effectFunction) {\r\n this.effectsSequence.push(effectFunction);\r\n this.container.addDynamicProperty(this);\r\n }\r\n\r\n ShapeProperty.prototype.interpolateShape = interpolateShape;\r\n ShapeProperty.prototype.getValue = processEffectsSequence;\r\n ShapeProperty.prototype.setVValue = setVValue;\r\n ShapeProperty.prototype.addEffect = addEffect;\r\n\r\n function KeyframedShapeProperty(elem,data,type){\r\n this.propType = 'shape';\r\n this.comp = elem.comp;\r\n this.elem = elem;\r\n this.container = elem;\r\n this.offsetTime = elem.data.st;\r\n this.keyframes = type === 3 ? data.pt.k : data.ks.k;\r\n this.k = true;\r\n this.kf = true;\r\n var i, len = this.keyframes[0].s[0].i.length;\r\n var jLen = this.keyframes[0].s[0].i[0].length;\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(this.keyframes[0].s[0].c, len);\r\n this.pv = shape_pool.clone(this.v);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.paths.addShape(this.v);\r\n this.lastFrame = initFrame;\r\n this.reset = resetShape;\r\n this._caching = {lastFrame: initFrame, lastIndex: 0};\r\n this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];\r\n }\r\n KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\r\n KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\r\n KeyframedShapeProperty.prototype.setVValue = setVValue;\r\n KeyframedShapeProperty.prototype.addEffect = addEffect;\r\n\r\n var EllShapeProperty = (function(){\r\n\r\n var cPoint = roundCorner;\r\n\r\n function EllShapeProperty(elem,data) {\r\n /*this.v = {\r\n v: createSizedArray(4),\r\n i: createSizedArray(4),\r\n o: createSizedArray(4),\r\n c: true\r\n };*/\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(true, 4);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.paths = this.localShapeCollection;\r\n this.localShapeCollection.addShape(this.v);\r\n this.d = data.d;\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.frameId = -1;\r\n this.initDynamicPropertyContainer(elem);\r\n this.p = PropertyFactory.getProp(elem,data.p,1,0,this);\r\n this.s = PropertyFactory.getProp(elem,data.s,1,0,this);\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.k = false;\r\n this.convertEllToPath();\r\n }\r\n };\r\n\r\n EllShapeProperty.prototype = {\r\n reset: resetShape,\r\n getValue: function (){\r\n if(this.elem.globalData.frameId === this.frameId){\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n\r\n if(this._mdf){\r\n this.convertEllToPath();\r\n }\r\n },\r\n convertEllToPath: function() {\r\n var p0 = this.p.v[0], p1 = this.p.v[1], s0 = this.s.v[0]/2, s1 = this.s.v[1]/2;\r\n var _cw = this.d !== 3;\r\n var _v = this.v;\r\n _v.v[0][0] = p0;\r\n _v.v[0][1] = p1 - s1;\r\n _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.v[1][1] = p1;\r\n _v.v[2][0] = p0;\r\n _v.v[2][1] = p1 + s1;\r\n _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.v[3][1] = p1;\r\n _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.i[0][1] = p1 - s1;\r\n _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.i[1][1] = p1 - s1 * cPoint;\r\n _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.i[2][1] = p1 + s1;\r\n _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.i[3][1] = p1 + s1 * cPoint;\r\n _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\r\n _v.o[0][1] = p1 - s1;\r\n _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\r\n _v.o[1][1] = p1 + s1 * cPoint;\r\n _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\r\n _v.o[2][1] = p1 + s1;\r\n _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\r\n _v.o[3][1] = p1 - s1 * cPoint;\r\n }\r\n }\r\n\r\n extendPrototype([DynamicPropertyContainer], EllShapeProperty);\r\n\r\n return EllShapeProperty;\r\n }());\r\n\r\n var StarShapeProperty = (function() {\r\n\r\n function StarShapeProperty(elem,data) {\r\n this.v = shape_pool.newElement();\r\n this.v.setPathData(true, 0);\r\n this.elem = elem;\r\n this.comp = elem.comp;\r\n this.data = data;\r\n this.frameId = -1;\r\n this.d = data.d;\r\n this.initDynamicPropertyContainer(elem);\r\n if(data.sy === 1){\r\n this.ir = PropertyFactory.getProp(elem,data.ir,0,0,this);\r\n this.is = PropertyFactory.getProp(elem,data.is,0,0.01,this);\r\n this.convertToPath = this.convertStarToPath;\r\n } else {\r\n this.convertToPath = this.convertPolygonToPath;\r\n }\r\n this.pt = PropertyFactory.getProp(elem,data.pt,0,0,this);\r\n this.p = PropertyFactory.getProp(elem,data.p,1,0,this);\r\n this.r = PropertyFactory.getProp(elem,data.r,0,degToRads,this);\r\n this.or = PropertyFactory.getProp(elem,data.or,0,0,this);\r\n this.os = PropertyFactory.getProp(elem,data.os,0,0.01,this);\r\n this.localShapeCollection = shapeCollection_pool.newShapeCollection();\r\n this.localShapeCollection.addShape(this.v);\r\n this.paths = this.localShapeCollection;\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.k = false;\r\n this.convertToPath();\r\n }\r\n };\r\n\r\n StarShapeProperty.prototype = {\r\n reset: resetShape,\r\n getValue: function() {\r\n if(this.elem.globalData.frameId === this.frameId){\r\n return;\r\n }\r\n this.frameId = this.elem.globalData.frameId;\r\n this.iterateDynamicProperties();\r\n if(this._mdf){\r\n this.convertToPath();\r\n }\r\n },\r\n convertStarToPath: function() {\r\n var numPts = Math.floor(this.pt.v)*2;\r\n var angle = Math.PI*2/numPts;\r\n /*this.v.v.length = numPts;\r\n this.v.i.length = numPts;\r\n this.v.o.length = numPts;*/\r\n var longFlag = true;\r\n var longRad = this.or.v;\r\n var shortRad = this.ir.v;\r\n var longRound = this.os.v;\r\n var shortRound = this.is.v;\r\n var longPerimSegment = 2*Math.PI*longRad/(numPts*2);\r\n var shortPerimSegment = 2*Math.PI*shortRad/(numPts*2);\r\n var i, rad,roundness,perimSegment, currentAng = -Math.PI/ 2;\r\n currentAng += this.r.v;\r\n var dir = this.data.d === 3 ? -1 : 1;\r\n this.v._length = 0;\r\n for(i=0;i= 1) {\r\n segments.push({\r\n s: s - 1,\r\n e: e - 1\r\n });\r\n } else {\r\n segments.push({\r\n s: s,\r\n e: 1\r\n });\r\n segments.push({\r\n s: 0,\r\n e: e - 1\r\n });\r\n }\r\n var shapeSegments = [];\r\n var i, len = segments.length, segmentOb;\r\n for (i = 0; i < len; i += 1) {\r\n segmentOb = segments[i];\r\n if (segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength) {\r\n \r\n } else {\r\n var shapeS, shapeE;\r\n if (segmentOb.s * totalModifierLength <= addedLength) {\r\n shapeS = 0;\r\n } else {\r\n shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\r\n }\r\n if(segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\r\n shapeE = 1;\r\n } else {\r\n shapeE = ((segmentOb.e * totalModifierLength - addedLength) / shapeLength);\r\n }\r\n shapeSegments.push([shapeS, shapeE]);\r\n }\r\n }\r\n if (!shapeSegments.length) {\r\n shapeSegments.push([0, 0]);\r\n }\r\n return shapeSegments;\r\n};\r\n\r\nTrimModifier.prototype.releasePathsData = function(pathsData) {\r\n var i, len = pathsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n segments_length_pool.release(pathsData[i]);\r\n }\r\n pathsData.length = 0;\r\n return pathsData;\r\n};\r\n\r\nTrimModifier.prototype.processShapes = function(_isFirstFrame) {\r\n var s, e;\r\n if (this._mdf || _isFirstFrame) {\r\n var o = (this.o.v % 360) / 360;\r\n if (o < 0) {\r\n o += 1;\r\n }\r\n s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + o;\r\n e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + o;\r\n if (s === e) {\r\n\r\n }\r\n if (s > e) {\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n s = Math.round(s * 10000) * 0.0001;\r\n e = Math.round(e * 10000) * 0.0001;\r\n this.sValue = s;\r\n this.eValue = e;\r\n } else {\r\n s = this.sValue;\r\n e = this.eValue;\r\n }\r\n var shapePaths;\r\n var i, len = this.shapes.length, j, jLen;\r\n var pathsData, pathData, totalShapeLength, totalModifierLength = 0;\r\n\r\n if (e === s) {\r\n for (i = 0; i < len; i += 1) {\r\n this.shapes[i].localShapeCollection.releaseShapes();\r\n this.shapes[i].shape._mdf = true;\r\n this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;\r\n if (this._mdf) {\r\n this.shapes[i].pathsData.length = 0;\r\n }\r\n }\r\n } else if (!((e === 1 && s === 0) || (e===0 && s === 1))){\r\n var segments = [], shapeData, localShapeCollection;\r\n for (i = 0; i < len; i += 1) {\r\n shapeData = this.shapes[i];\r\n // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\r\n if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) {\r\n shapeData.shape.paths = shapeData.localShapeCollection;\r\n } else {\r\n shapePaths = shapeData.shape.paths;\r\n jLen = shapePaths._length;\r\n totalShapeLength = 0;\r\n if (!shapeData.shape._mdf && shapeData.pathsData.length) {\r\n totalShapeLength = shapeData.totalShapeLength;\r\n } else {\r\n pathsData = this.releasePathsData(shapeData.pathsData);\r\n for (j = 0; j < jLen; j += 1) {\r\n pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\r\n pathsData.push(pathData);\r\n totalShapeLength += pathData.totalLength;\r\n }\r\n shapeData.totalShapeLength = totalShapeLength;\r\n shapeData.pathsData = pathsData;\r\n }\r\n\r\n totalModifierLength += totalShapeLength;\r\n shapeData.shape._mdf = true;\r\n }\r\n }\r\n var shapeS = s, shapeE = e, addedLength = 0, edges;\r\n for (i = len - 1; i >= 0; i -= 1) {\r\n shapeData = this.shapes[i];\r\n if (shapeData.shape._mdf) {\r\n localShapeCollection = shapeData.localShapeCollection;\r\n localShapeCollection.releaseShapes();\r\n //if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\r\n if (this.m === 2 && len > 1) {\r\n edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\r\n addedLength += shapeData.totalShapeLength;\r\n } else {\r\n edges = [[shapeS, shapeE]];\r\n }\r\n jLen = edges.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n shapeS = edges[j][0];\r\n shapeE = edges[j][1];\r\n segments.length = 0;\r\n if (shapeE <= 1) {\r\n segments.push({\r\n s:shapeData.totalShapeLength * shapeS,\r\n e:shapeData.totalShapeLength * shapeE\r\n });\r\n } else if (shapeS >= 1) {\r\n segments.push({\r\n s:shapeData.totalShapeLength * (shapeS - 1),\r\n e:shapeData.totalShapeLength * (shapeE - 1)\r\n });\r\n } else {\r\n segments.push({\r\n s:shapeData.totalShapeLength * shapeS,\r\n e:shapeData.totalShapeLength\r\n });\r\n segments.push({\r\n s:0,\r\n e:shapeData.totalShapeLength * (shapeE - 1)\r\n });\r\n }\r\n var newShapesData = this.addShapes(shapeData,segments[0]);\r\n if (segments[0].s !== segments[0].e) {\r\n if (segments.length > 1) {\r\n var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\r\n if (lastShapeInCollection.c) {\r\n var lastShape = newShapesData.pop();\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1], lastShape);\r\n } else {\r\n this.addPaths(newShapesData, localShapeCollection);\r\n newShapesData = this.addShapes(shapeData, segments[1]);\r\n }\r\n } \r\n this.addPaths(newShapesData, localShapeCollection);\r\n }\r\n \r\n }\r\n shapeData.shape.paths = localShapeCollection;\r\n }\r\n }\r\n } else if (this._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n //Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\r\n //Don't remove this even if it's losing cached info.\r\n this.shapes[i].pathsData.length = 0;\r\n this.shapes[i].shape._mdf = true;\r\n }\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addPaths = function(newPaths, localShapeCollection) {\r\n var i, len = newPaths.length;\r\n for (i = 0; i < len; i += 1) {\r\n localShapeCollection.addShape(newPaths[i]);\r\n }\r\n};\r\n\r\nTrimModifier.prototype.addSegment = function(pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\r\n shapePath.setXYAt(pt2[0], pt2[1], 'o', pos);\r\n shapePath.setXYAt(pt3[0], pt3[1], 'i', pos + 1);\r\n if(newShape){\r\n shapePath.setXYAt(pt1[0], pt1[1], 'v', pos);\r\n }\r\n shapePath.setXYAt(pt4[0], pt4[1], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addSegmentFromArray = function(points, shapePath, pos, newShape) {\r\n shapePath.setXYAt(points[1], points[5], 'o', pos);\r\n shapePath.setXYAt(points[2], points[6], 'i', pos + 1);\r\n if(newShape){\r\n shapePath.setXYAt(points[0], points[4], 'v', pos);\r\n }\r\n shapePath.setXYAt(points[3], points[7], 'v', pos + 1);\r\n};\r\n\r\nTrimModifier.prototype.addShapes = function(shapeData, shapeSegment, shapePath) {\r\n var pathsData = shapeData.pathsData;\r\n var shapePaths = shapeData.shape.paths.shapes;\r\n var i, len = shapeData.shape.paths._length, j, jLen;\r\n var addedLength = 0;\r\n var currentLengthData,segmentCount;\r\n var lengths;\r\n var segment;\r\n var shapes = [];\r\n var initPos;\r\n var newShape = true;\r\n if (!shapePath) {\r\n shapePath = shape_pool.newElement();\r\n segmentCount = 0;\r\n initPos = 0;\r\n } else {\r\n segmentCount = shapePath._length;\r\n initPos = shapePath._length;\r\n }\r\n shapes.push(shapePath);\r\n for (i = 0; i < len; i += 1) {\r\n lengths = pathsData[i].lengths;\r\n shapePath.c = shapePaths[i].c;\r\n jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\r\n for (j = 1; j < jLen; j +=1) {\r\n currentLengthData = lengths[j-1];\r\n if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\r\n addedLength += currentLengthData.addedLength;\r\n shapePath.c = false;\r\n } else if(addedLength > shapeSegment.e) {\r\n shapePath.c = false;\r\n break;\r\n } else {\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength)/currentLengthData.addedLength,(shapeSegment.e - addedLength)/currentLengthData.addedLength, lengths[j-1]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n }\r\n if (shapePaths[i].c && lengths.length) {\r\n currentLengthData = lengths[j - 1];\r\n if (addedLength <= shapeSegment.e) {\r\n var segmentLength = lengths[j - 1].addedLength;\r\n if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\r\n this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\r\n newShape = false;\r\n } else {\r\n segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\r\n this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);\r\n // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\r\n newShape = false;\r\n shapePath.c = false;\r\n }\r\n } else {\r\n shapePath.c = false;\r\n }\r\n addedLength += currentLengthData.addedLength;\r\n segmentCount += 1;\r\n }\r\n if (shapePath._length) {\r\n shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], 'i', initPos);\r\n shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1],'o', shapePath._length - 1);\r\n }\r\n if (addedLength > shapeSegment.e) {\r\n break;\r\n }\r\n if (i < len - 1) {\r\n shapePath = shape_pool.newElement();\r\n newShape = true;\r\n shapes.push(shapePath);\r\n segmentCount = 0;\r\n }\r\n }\r\n return shapes;\r\n};\r\n\r\n\r\nShapeModifiers.registerModifier('tm', TrimModifier);\r\nfunction RoundCornersModifier(){}\r\nextendPrototype([ShapeModifier],RoundCornersModifier);\r\nRoundCornersModifier.prototype.initModifierProperties = function(elem,data){\r\n this.getValue = this.processKeys;\r\n this.rd = PropertyFactory.getProp(elem,data.r,0,null,this);\r\n this._isAnimated = !!this.rd.effectsSequence.length;\r\n};\r\n\r\nRoundCornersModifier.prototype.processPath = function(path, round){\r\n var cloned_path = shape_pool.newElement();\r\n cloned_path.c = path.c;\r\n var i, len = path._length;\r\n var currentV,currentI,currentO,closerV, newV,newO,newI,distance,newPosPerc,index = 0;\r\n var vX,vY,oX,oY,iX,iY;\r\n for(i=0;i0){\r\n pos -= 1;\r\n //this._elements.unshift(arr.splice(pos,1)[0]);\r\n this._elements.unshift(arr[pos]);\r\n cont += 1;\r\n }\r\n if(this.dynamicProperties.length){\r\n this.k = true;\r\n }else{\r\n this.getValue(true);\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.resetElements = function(elements){\r\n var i, len = elements.length;\r\n for(i = 0; i < len; i += 1) {\r\n elements[i]._processed = false;\r\n if(elements[i].ty === 'gr'){\r\n this.resetElements(elements[i].it);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.cloneElements = function(elements){\r\n var i, len = elements.length;\r\n var newElements = JSON.parse(JSON.stringify(elements));\r\n this.resetElements(newElements);\r\n return newElements;\r\n};\r\n\r\nRepeaterModifier.prototype.changeGroupRender = function(elements, renderFlag) {\r\n var i, len = elements.length;\r\n for(i = 0; i < len; i += 1) {\r\n elements[i]._render = renderFlag;\r\n if(elements[i].ty === 'gr') {\r\n this.changeGroupRender(elements[i].it, renderFlag);\r\n }\r\n }\r\n};\r\n\r\nRepeaterModifier.prototype.processShapes = function(_isFirstFrame) {\r\n var items, itemsTransform, i, dir, cont;\r\n if(this._mdf || _isFirstFrame){\r\n var copies = Math.ceil(this.c.v);\r\n if(this._groups.length < copies){\r\n while(this._groups.length < copies){\r\n var group = {\r\n it:this.cloneElements(this._elements),\r\n ty:'gr'\r\n };\r\n group.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\"});\r\n \r\n this.arr.splice(0,0,group);\r\n this._groups.splice(0,0,group);\r\n this._currentCopies += 1;\r\n }\r\n this.elem.reloadShapes();\r\n }\r\n cont = 0;\r\n var renderFlag;\r\n for(i = 0; i <= this._groups.length - 1; i += 1){\r\n renderFlag = cont < copies;\r\n this._groups[i]._render = renderFlag;\r\n this.changeGroupRender(this._groups[i].it, renderFlag);\r\n cont += 1;\r\n }\r\n \r\n this._currentCopies = copies;\r\n ////\r\n\r\n var offset = this.o.v;\r\n var offsetModulo = offset%1;\r\n var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\r\n var k;\r\n var tMat = this.tr.v.props;\r\n var pProps = this.pMatrix.props;\r\n var rProps = this.rMatrix.props;\r\n var sProps = this.sMatrix.props;\r\n this.pMatrix.reset();\r\n this.rMatrix.reset();\r\n this.sMatrix.reset();\r\n this.tMatrix.reset();\r\n this.matrix.reset();\r\n var iteration = 0;\r\n\r\n if(offset > 0) {\r\n while(iterationroundOffset){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);\r\n iteration -= 1;\r\n }\r\n if(offsetModulo){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, - offsetModulo, true);\r\n iteration -= offsetModulo;\r\n }\r\n }\r\n i = this.data.m === 1 ? 0 : this._currentCopies - 1;\r\n dir = this.data.m === 1 ? 1 : -1;\r\n cont = this._currentCopies;\r\n var j, jLen;\r\n while(cont){\r\n items = this.elemsData[i].it;\r\n itemsTransform = items[items.length - 1].transform.mProps.v.props;\r\n jLen = itemsTransform.length;\r\n items[items.length - 1].transform.mProps._mdf = true;\r\n items[items.length - 1].transform.op._mdf = true;\r\n items[items.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1));\r\n if(iteration !== 0){\r\n if((i !== 0 && dir === 1) || (i !== this._currentCopies - 1 && dir === -1)){\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);\r\n }\r\n this.matrix.transform(rProps[0],rProps[1],rProps[2],rProps[3],rProps[4],rProps[5],rProps[6],rProps[7],rProps[8],rProps[9],rProps[10],rProps[11],rProps[12],rProps[13],rProps[14],rProps[15]);\r\n this.matrix.transform(sProps[0],sProps[1],sProps[2],sProps[3],sProps[4],sProps[5],sProps[6],sProps[7],sProps[8],sProps[9],sProps[10],sProps[11],sProps[12],sProps[13],sProps[14],sProps[15]);\r\n this.matrix.transform(pProps[0],pProps[1],pProps[2],pProps[3],pProps[4],pProps[5],pProps[6],pProps[7],pProps[8],pProps[9],pProps[10],pProps[11],pProps[12],pProps[13],pProps[14],pProps[15]);\r\n \r\n for(j=0;j 0.01){\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.checkCollapsable = function() {\r\n if (this.o.length/2 !== this.c.length/4) {\r\n return false;\r\n }\r\n if (this.data.k.k[0].s) {\r\n var i = 0, len = this.data.k.k.length;\r\n while (i < len) {\r\n if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) {\r\n return false;\r\n }\r\n i += 1;\r\n }\r\n } else if(!this.comparePoints(this.data.k.k, this.data.p)) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nGradientProperty.prototype.getValue = function(forceRender){\r\n this.prop.getValue();\r\n this._mdf = false;\r\n this._cmdf = false;\r\n this._omdf = false;\r\n if(this.prop._mdf || forceRender){\r\n var i, len = this.data.p*4;\r\n var mult, val;\r\n for(i=0;i 500) {\r\n this._imageLoaded();\r\n clearInterval(intervalId);\r\n }\r\n _count += 1;\r\n }.bind(this), 50)\r\n }\r\n\r\n function createImageData(assetData) {\r\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\r\n var img = createNS('image');\r\n if (isSafari) {\r\n this.testImageLoaded(img)\r\n } else {\r\n img.addEventListener('load', this._imageLoaded, false);\r\n }\r\n img.addEventListener('error', function() {\r\n ob.img = proxyImage;\r\n this._imageLoaded();\r\n }.bind(this), false);\r\n img.setAttributeNS('http://www.w3.org/1999/xlink','href', path);\r\n this._elementHelper.append(img);\r\n var ob = {\r\n img: img,\r\n assetData: assetData\r\n }\r\n return ob;\r\n }\r\n\r\n function createImgData(assetData) {\r\n var path = getAssetsPath(assetData, this.assetsPath, this.path);\r\n var img = createTag('img');\r\n img.crossOrigin = 'anonymous';\r\n img.addEventListener('load', this._imageLoaded, false);\r\n img.addEventListener('error', function() {\r\n ob.img = proxyImage;\r\n this._imageLoaded();\r\n }.bind(this), false);\r\n img.src = path;\r\n var ob = {\r\n img: img,\r\n assetData: assetData\r\n }\r\n return ob;\r\n }\r\n\r\n function loadAssets(assets, cb){\r\n this.imagesLoadedCb = cb;\r\n var i, len = assets.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!assets[i].layers){\r\n this.totalImages += 1;\r\n this.images.push(this._createImageData(assets[i]));\r\n }\r\n }\r\n }\r\n\r\n function setPath(path){\r\n this.path = path || '';\r\n }\r\n\r\n function setAssetsPath(path){\r\n this.assetsPath = path || '';\r\n }\r\n\r\n function getImage(assetData) {\r\n var i = 0, len = this.images.length;\r\n while (i < len) {\r\n if (this.images[i].assetData === assetData) {\r\n return this.images[i].img;\r\n }\r\n i += 1;\r\n }\r\n }\r\n\r\n function destroy() {\r\n this.imagesLoadedCb = null;\r\n this.images.length = 0;\r\n }\r\n\r\n function loaded() {\r\n return this.totalImages === this.loadedAssets;\r\n }\r\n\r\n function setCacheType(type, elementHelper) {\r\n if (type === 'svg') {\r\n this._elementHelper = elementHelper;\r\n this._createImageData = this.createImageData.bind(this);\r\n } else {\r\n this._createImageData = this.createImgData.bind(this);\r\n }\r\n }\r\n\r\n function ImagePreloader(type){\r\n this._imageLoaded = imageLoaded.bind(this);\r\n this.testImageLoaded = testImageLoaded.bind(this);\r\n this.assetsPath = '';\r\n this.path = '';\r\n this.totalImages = 0;\r\n this.loadedAssets = 0;\r\n this.imagesLoadedCb = null;\r\n this.images = [];\r\n };\r\n\r\n ImagePreloader.prototype = {\r\n loadAssets: loadAssets,\r\n setAssetsPath: setAssetsPath,\r\n setPath: setPath,\r\n loaded: loaded,\r\n destroy: destroy,\r\n getImage: getImage,\r\n createImgData: createImgData,\r\n createImageData: createImageData,\r\n imageLoaded: imageLoaded,\r\n setCacheType: setCacheType,\r\n }\r\n\r\n return ImagePreloader;\r\n}());\r\nvar featureSupport = (function(){\r\n\tvar ob = {\r\n\t\tmaskType: true\r\n\t};\r\n\tif (/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)) {\r\n\t ob.maskType = false;\r\n\t}\r\n\treturn ob;\r\n}());\r\nvar filtersFactory = (function(){\r\n\tvar ob = {};\r\n\tob.createFilter = createFilter;\r\n\tob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\r\n\r\n\tfunction createFilter(filId){\r\n \tvar fil = createNS('filter');\r\n \tfil.setAttribute('id',filId);\r\n fil.setAttribute('filterUnits','objectBoundingBox');\r\n fil.setAttribute('x','0%');\r\n fil.setAttribute('y','0%');\r\n fil.setAttribute('width','100%');\r\n fil.setAttribute('height','100%');\r\n return fil;\r\n\t}\r\n\r\n\tfunction createAlphaToLuminanceFilter(){\r\n var feColorMatrix = createNS('feColorMatrix');\r\n feColorMatrix.setAttribute('type','matrix');\r\n feColorMatrix.setAttribute('color-interpolation-filters','sRGB');\r\n feColorMatrix.setAttribute('values','0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1');\r\n return feColorMatrix;\r\n\t}\r\n\r\n\treturn ob;\r\n}());\r\nvar assetLoader = (function(){\r\n\r\n\tfunction formatResponse(xhr) {\r\n\t\tif(xhr.response && typeof xhr.response === 'object') {\r\n\t\t\treturn xhr.response;\r\n\t\t} else if(xhr.response && typeof xhr.response === 'string') {\r\n\t\t\treturn JSON.parse(xhr.response);\r\n\t\t} else if(xhr.responseText) {\r\n\t\t\treturn JSON.parse(xhr.responseText);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction loadAsset(path, callback, errorCallback) {\r\n\t\tvar response;\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.open('GET', path, true);\r\n\t\t// set responseType after calling open or IE will break.\r\n\t\ttry {\r\n\t\t // This crashes on Android WebView prior to KitKat\r\n\t\t xhr.responseType = \"json\";\r\n\t\t} catch (err) {}\r\n\t xhr.send();\r\n\t xhr.onreadystatechange = function () {\r\n\t if (xhr.readyState == 4) {\r\n\t if(xhr.status == 200){\r\n\t \tresponse = formatResponse(xhr);\r\n\t \tcallback(response);\r\n\t }else{\r\n\t try{\r\n\t \t\tresponse = formatResponse(xhr);\r\n\t \t\tcallback(response);\r\n\t }catch(err){\r\n\t \tif(errorCallback) {\r\n\t \t\terrorCallback(err);\r\n\t \t}\r\n\t }\r\n\t }\r\n\t }\r\n\t };\r\n\t}\r\n\treturn {\r\n\t\tload: loadAsset\r\n\t}\r\n}())\r\n\r\nfunction TextAnimatorProperty(textData, renderType, elem){\r\n this._isFirstFrame = true;\r\n\tthis._hasMaskedPath = false;\r\n\tthis._frameId = -1;\r\n\tthis._textData = textData;\r\n\tthis._renderType = renderType;\r\n this._elem = elem;\r\n\tthis._animatorsData = createSizedArray(this._textData.a.length);\r\n\tthis._pathData = {};\r\n\tthis._moreOptions = {\r\n\t\talignment: {}\r\n\t};\r\n\tthis.renderedLetters = [];\r\n this.lettersChangedFlag = false;\r\n this.initDynamicPropertyContainer(elem);\r\n\r\n}\r\n\r\nTextAnimatorProperty.prototype.searchProperties = function(){\r\n var i, len = this._textData.a.length, animatorProps;\r\n var getProp = PropertyFactory.getProp;\r\n for(i=0;i= currentLength + animatorOffset || !points) {\r\n perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\r\n xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\r\n yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\r\n matrixHelper.translate(-alignment[0]*letters[i].an/200, -(alignment[1] * yOff / 100));\r\n flag = false;\r\n } else if (points) {\r\n segmentLength += currentPoint.partialLength;\r\n pointInd += 1;\r\n if (pointInd >= points.length) {\r\n pointInd = 0;\r\n segmentInd += 1;\r\n if (!segments[segmentInd]) {\r\n if (mask.v.c) {\r\n pointInd = 0;\r\n segmentInd = 0;\r\n points = segments[segmentInd].points;\r\n } else {\r\n segmentLength -= currentPoint.partialLength;\r\n points = null;\r\n }\r\n } else {\r\n points = segments[segmentInd].points;\r\n }\r\n }\r\n if (points) {\r\n prevPoint = currentPoint;\r\n currentPoint = points[pointInd];\r\n partialLength = currentPoint.partialLength;\r\n }\r\n }\r\n }\r\n offf = letters[i].an / 2 - letters[i].add;\r\n matrixHelper.translate(-offf, 0, 0);\r\n } else {\r\n offf = letters[i].an/2 - letters[i].add;\r\n matrixHelper.translate(-offf,0,0);\r\n\r\n // Grouping alignment\r\n matrixHelper.translate(-alignment[0]*letters[i].an/200, -alignment[1]*yOff/100, 0);\r\n }\r\n\r\n lineLength += letters[i].l/2;\r\n for(j=0;j 1;\r\n if(this.kf) {\r\n this.addEffect(this.getKeyframeValue.bind(this));\r\n }\r\n return this.kf;\r\n}\r\n\r\nTextProperty.prototype.addEffect = function(effectFunction) {\r\n\tthis.effectsSequence.push(effectFunction);\r\n this.elem.addDynamicProperty(this);\r\n};\r\n\r\nTextProperty.prototype.getValue = function(_finalValue) {\r\n if((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) {\r\n return;\r\n }\r\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\r\n var currentValue = this.currentData;\r\n var currentIndex = this.keysIndex;\r\n if(this.lock) {\r\n this.setCurrentData(this.currentData);\r\n return;\r\n }\r\n this.lock = true;\r\n this._mdf = false;\r\n var multipliedValue;\r\n var i, len = this.effectsSequence.length;\r\n var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;\r\n for(i = 0; i < len; i += 1) {\r\n //Checking if index changed to prevent creating a new object every time the expression updates.\r\n if(currentIndex !== this.keysIndex) {\r\n finalValue = this.effectsSequence[i](finalValue, finalValue.t);\r\n } else {\r\n finalValue = this.effectsSequence[i](this.currentData, finalValue.t);\r\n }\r\n }\r\n if(currentValue !== finalValue) {\r\n this.setCurrentData(finalValue);\r\n }\r\n this.pv = this.v = this.currentData;\r\n this.lock = false;\r\n this.frameId = this.elem.globalData.frameId;\r\n}\r\n\r\nTextProperty.prototype.getKeyframeValue = function() {\r\n var textKeys = this.data.d.k, textDocumentData;\r\n var frameNum = this.elem.comp.renderedFrame;\r\n var i = 0, len = textKeys.length;\r\n while(i <= len - 1) {\r\n textDocumentData = textKeys[i].s;\r\n if(i === len - 1 || textKeys[i+1].t > frameNum){\r\n break;\r\n }\r\n i += 1;\r\n }\r\n if(this.keysIndex !== i) {\r\n this.keysIndex = i;\r\n }\r\n return this.data.d.k[this.keysIndex].s;\r\n};\r\n\r\nTextProperty.prototype.buildFinalText = function(text) {\r\n var combinedCharacters = FontManager.getCombinedCharacterCodes();\r\n var charactersArray = [];\r\n var i = 0, len = text.length;\r\n var charCode;\r\n while (i < len) {\r\n charCode = text.charCodeAt(i);\r\n if (combinedCharacters.indexOf(charCode) !== -1) {\r\n charactersArray[charactersArray.length - 1] += text.charAt(i);\r\n } else {\r\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\r\n charCode = text.charCodeAt(i + 1);\r\n if (charCode >= 0xDC00 && charCode <= 0xDFFF) {\r\n charactersArray.push(text.substr(i, 2));\r\n ++i;\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n } else {\r\n charactersArray.push(text.charAt(i));\r\n }\r\n }\r\n i += 1;\r\n }\r\n return charactersArray;\r\n}\r\n\r\nTextProperty.prototype.completeTextData = function(documentData) {\r\n documentData.__complete = true;\r\n var fontManager = this.elem.globalData.fontManager;\r\n var data = this.data;\r\n var letters = [];\r\n var i, len;\r\n var newLineFlag, index = 0, val;\r\n var anchorGrouping = data.m.g;\r\n var currentSize = 0, currentPos = 0, currentLine = 0, lineWidths = [];\r\n var lineWidth = 0;\r\n var maxLineWidth = 0;\r\n var j, jLen;\r\n var fontData = fontManager.getFontByName(documentData.f);\r\n var charData, cLength = 0;\r\n var styles = fontData.fStyle ? fontData.fStyle.split(' ') : [];\r\n\r\n var fWeight = 'normal', fStyle = 'normal';\r\n len = styles.length;\r\n var styleName;\r\n for(i=0;i boxWidth && finalText[i] !== ' '){\r\n if(lastSpaceIndex === -1){\r\n len += 1;\r\n } else {\r\n i = lastSpaceIndex;\r\n }\r\n currentHeight += documentData.finalLineHeight || documentData.finalSize*1.2;\r\n finalText.splice(i, lastSpaceIndex === i ? 1 : 0,\"\\r\");\r\n //finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\r\n lastSpaceIndex = -1;\r\n lineWidth = 0;\r\n }else {\r\n lineWidth += cLength;\r\n lineWidth += trackingOffset;\r\n }\r\n }\r\n currentHeight += fontData.ascent*documentData.finalSize/100;\r\n if(this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {\r\n documentData.finalSize -= 1;\r\n documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\r\n } else {\r\n documentData.finalText = finalText;\r\n len = documentData.finalText.length;\r\n flag = false;\r\n }\r\n }\r\n\r\n }\r\n lineWidth = - trackingOffset;\r\n cLength = 0;\r\n var uncollapsedSpaces = 0;\r\n var currentChar;\r\n for (i = 0;i < len ;i += 1) {\r\n newLineFlag = false;\r\n currentChar = documentData.finalText[i];\r\n charCode = currentChar.charCodeAt(0);\r\n if (charCode === 13 || charCode === 3) {\r\n uncollapsedSpaces = 0;\r\n lineWidths.push(lineWidth);\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidth = - 2 * trackingOffset;\r\n val = '';\r\n newLineFlag = true;\r\n currentLine += 1;\r\n }else{\r\n val = currentChar;\r\n }\r\n if(fontManager.chars){\r\n charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\r\n cLength = newLineFlag ? 0 : charData.w*documentData.finalSize/100;\r\n }else{\r\n //var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n //tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\r\n cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\r\n }\r\n\r\n //\r\n if(currentChar === ' '){\r\n uncollapsedSpaces += cLength + trackingOffset;\r\n } else {\r\n lineWidth += cLength + trackingOffset + uncollapsedSpaces;\r\n uncollapsedSpaces = 0;\r\n }\r\n letters.push({l:cLength,an:cLength,add:currentSize,n:newLineFlag, anIndexes:[], val: val, line: currentLine, animatorJustifyOffset: 0});\r\n if(anchorGrouping == 2){\r\n currentSize += cLength;\r\n if(val === '' || val === ' ' || i === len - 1){\r\n if(val === '' || val === ' '){\r\n currentSize -= cLength;\r\n }\r\n while(currentPos<=i){\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n index += 1;\r\n currentSize = 0;\r\n }\r\n }else if(anchorGrouping == 3){\r\n currentSize += cLength;\r\n if(val === '' || i === len - 1){\r\n if(val === ''){\r\n currentSize -= cLength;\r\n }\r\n while(currentPos<=i){\r\n letters[currentPos].an = currentSize;\r\n letters[currentPos].ind = index;\r\n letters[currentPos].extra = cLength;\r\n currentPos += 1;\r\n }\r\n currentSize = 0;\r\n index += 1;\r\n }\r\n }else{\r\n letters[index].ind = index;\r\n letters[index].extra = 0;\r\n index += 1;\r\n }\r\n }\r\n documentData.l = letters;\r\n maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\r\n lineWidths.push(lineWidth);\r\n if(documentData.sz){\r\n documentData.boxWidth = documentData.sz[0];\r\n documentData.justifyOffset = 0;\r\n }else{\r\n documentData.boxWidth = maxLineWidth;\r\n switch(documentData.j){\r\n case 1:\r\n documentData.justifyOffset = - documentData.boxWidth;\r\n break;\r\n case 2:\r\n documentData.justifyOffset = - documentData.boxWidth/2;\r\n break;\r\n default:\r\n documentData.justifyOffset = 0;\r\n }\r\n }\r\n documentData.lineWidths = lineWidths;\r\n\r\n var animators = data.a, animatorData, letterData;\r\n jLen = animators.length;\r\n var based, ind, indexes = [];\r\n for(j=0;j 0) {\r\n x1 = this.ne.v / 100.0;\r\n }\r\n else {\r\n y1 = -this.ne.v / 100.0;\r\n }\r\n if(this.xe.v > 0) {\r\n x2 = 1.0 - this.xe.v / 100.0;\r\n }\r\n else {\r\n y2 = 1.0 + this.xe.v / 100.0;\r\n }\r\n var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\r\n\r\n var mult = 0;\r\n var s = this.finalS;\r\n var e = this.finalE;\r\n var type = this.data.sh;\r\n if (type === 2){\r\n if (e === s) {\r\n mult = ind >= e ? 1 : 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n }\r\n mult = easer(mult);\r\n } else if(type === 3) {\r\n if (e === s) {\r\n mult = ind >= e ? 0 : 1;\r\n }else{\r\n mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s),1));\r\n }\r\n\r\n mult = easer(mult);\r\n } else if (type === 4) {\r\n if (e === s) {\r\n mult = 0;\r\n } else {\r\n mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\r\n if (mult < 0.5) {\r\n mult *= 2;\r\n } else {\r\n mult = 1 - 2 * (mult - 0.5);\r\n }\r\n }\r\n mult = easer(mult);\r\n } else if (type === 5) {\r\n if (e === s){\r\n mult = 0;\r\n } else {\r\n var tot = e - s;\r\n /*ind += 0.5;\r\n mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind;*/\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n var x = -tot/2+ind;\r\n var a = tot/2;\r\n mult = Math.sqrt(1 - (x * x) / (a * a));\r\n }\r\n mult = easer(mult);\r\n } else if (type === 6) {\r\n if (e === s){\r\n mult = 0;\r\n } else {\r\n ind = min(max(0, ind + 0.5 - s), e - s);\r\n mult = (1 + (Math.cos((Math.PI + Math.PI * 2 * (ind) / (e - s))))) / 2;\r\n }\r\n mult = easer(mult);\r\n } else {\r\n if (ind >= floor(s)) {\r\n if (ind - s < 0) {\r\n mult = max(0, min(min(e, 1) - (s - ind), 1));\r\n } else {\r\n mult = max(0, min(e - ind, 1));\r\n }\r\n }\r\n mult = easer(mult);\r\n }\r\n return mult*this.a.v;\r\n },\r\n getValue: function(newCharsFlag) {\r\n this.iterateDynamicProperties();\r\n this._mdf = newCharsFlag || this._mdf;\r\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;\r\n if(newCharsFlag && this.data.r === 2) {\r\n this.e.v = this._currentTextLength;\r\n }\r\n var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;\r\n var o = this.o.v/divisor;\r\n var s = this.s.v/divisor + o;\r\n var e = (this.e.v/divisor) + o;\r\n if(s>e){\r\n var _s = s;\r\n s = e;\r\n e = _s;\r\n }\r\n this.finalS = s;\r\n this.finalE = e;\r\n }\r\n }\r\n extendPrototype([DynamicPropertyContainer], TextSelectorProp);\r\n\r\n function getTextSelectorProp(elem, data,arr) {\r\n return new TextSelectorProp(elem, data, arr);\r\n }\r\n\r\n return {\r\n getTextSelectorProp: getTextSelectorProp\r\n };\r\n}());\r\n\r\n \r\nvar pool_factory = (function() {\r\n\treturn function(initialLength, _create, _release, _clone) {\r\n\r\n\t\tvar _length = 0;\r\n\t\tvar _maxLength = initialLength;\r\n\t\tvar pool = createSizedArray(_maxLength);\r\n\r\n\t\tvar ob = {\r\n\t\t\tnewElement: newElement,\r\n\t\t\trelease: release\r\n\t\t};\r\n\r\n\t\tfunction newElement(){\r\n\t\t\tvar element;\r\n\t\t\tif(_length){\r\n\t\t\t\t_length -= 1;\r\n\t\t\t\telement = pool[_length];\r\n\t\t\t} else {\r\n\t\t\t\telement = _create();\r\n\t\t\t}\r\n\t\t\treturn element;\r\n\t\t}\r\n\r\n\t\tfunction release(element) {\r\n\t\t\tif(_length === _maxLength) {\r\n\t\t\t\tpool = pooling.double(pool);\r\n\t\t\t\t_maxLength = _maxLength*2;\r\n\t\t\t}\r\n\t\t\tif (_release) {\r\n\t\t\t\t_release(element);\r\n\t\t\t}\r\n\t\t\tpool[_length] = element;\r\n\t\t\t_length += 1;\r\n\t\t}\r\n\r\n\t\tfunction clone() {\r\n\t\t\tvar clonedElement = newElement();\r\n\t\t\treturn _clone(clonedElement);\r\n\t\t}\r\n\r\n\t\treturn ob;\r\n\t};\r\n}());\r\n\r\nvar pooling = (function(){\r\n\r\n\tfunction double(arr){\r\n\t\treturn arr.concat(createSizedArray(arr.length));\r\n\t}\r\n\r\n\treturn {\r\n\t\tdouble: double\r\n\t};\r\n}());\r\nvar point_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn createTypedArray('float32', 2);\r\n\t}\r\n\treturn pool_factory(8, create);\r\n}());\r\nvar shape_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn new ShapePath();\r\n\t}\r\n\r\n\tfunction release(shapePath) {\r\n\t\tvar len = shapePath._length, i;\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tpoint_pool.release(shapePath.v[i]);\r\n\t\t\tpoint_pool.release(shapePath.i[i]);\r\n\t\t\tpoint_pool.release(shapePath.o[i]);\r\n\t\t\tshapePath.v[i] = null;\r\n\t\t\tshapePath.i[i] = null;\r\n\t\t\tshapePath.o[i] = null;\r\n\t\t}\r\n\t\tshapePath._length = 0;\r\n\t\tshapePath.c = false;\r\n\t}\r\n\r\n\tfunction clone(shape) {\r\n\t\tvar cloned = factory.newElement();\r\n\t\tvar i, len = shape._length === undefined ? shape.v.length : shape._length;\r\n\t\tcloned.setLength(len);\r\n\t\tcloned.c = shape.c;\r\n\t\tvar pt;\r\n\t\t\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tcloned.setTripleAt(shape.v[i][0],shape.v[i][1],shape.o[i][0],shape.o[i][1],shape.i[i][0],shape.i[i][1], i);\r\n\t\t}\r\n\t\treturn cloned;\r\n\t}\r\n\r\n\tvar factory = pool_factory(4, create, release);\r\n\tfactory.clone = clone;\r\n\r\n\treturn factory;\r\n}());\r\nvar shapeCollection_pool = (function(){\r\n\tvar ob = {\r\n\t\tnewShapeCollection: newShapeCollection,\r\n\t\trelease: release\r\n\t};\r\n\r\n\tvar _length = 0;\r\n\tvar _maxLength = 4;\r\n\tvar pool = createSizedArray(_maxLength);\r\n\r\n\tfunction newShapeCollection(){\r\n\t\tvar shapeCollection;\r\n\t\tif(_length){\r\n\t\t\t_length -= 1;\r\n\t\t\tshapeCollection = pool[_length];\r\n\t\t} else {\r\n\t\t\tshapeCollection = new ShapeCollection();\r\n\t\t}\r\n\t\treturn shapeCollection;\r\n\t}\r\n\r\n\tfunction release(shapeCollection) {\r\n\t\tvar i, len = shapeCollection._length;\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tshape_pool.release(shapeCollection.shapes[i]);\r\n\t\t}\r\n\t\tshapeCollection._length = 0;\r\n\r\n\t\tif(_length === _maxLength) {\r\n\t\t\tpool = pooling.double(pool);\r\n\t\t\t_maxLength = _maxLength*2;\r\n\t\t}\r\n\t\tpool[_length] = shapeCollection;\r\n\t\t_length += 1;\r\n\t}\r\n\r\n\treturn ob;\r\n}());\r\nvar segments_length_pool = (function(){\r\n\r\n\tfunction create() {\r\n\t\treturn {\r\n\t\t\tlengths: [],\r\n\t\t\ttotalLength: 0\r\n\t\t};\r\n\t}\r\n\r\n\tfunction release(element) {\r\n\t\tvar i, len = element.lengths.length;\r\n\t\tfor(i=0;i= 0; i--) {\r\n if (!this.elements[i]) {\r\n data = this.layers[i];\r\n if(data.ip - data.st <= (num - this.layers[i].st) && data.op - data.st > (num - this.layers[i].st))\r\n {\r\n this.buildItem(i);\r\n }\r\n }\r\n this.completeLayers = this.elements[i] ? this.completeLayers:false;\r\n }\r\n this.checkPendingElements();\r\n};\r\n\r\nBaseRenderer.prototype.createItem = function(layer){\r\n switch(layer.ty){\r\n case 2:\r\n return this.createImage(layer);\r\n case 0:\r\n return this.createComp(layer);\r\n case 1:\r\n return this.createSolid(layer);\r\n case 3:\r\n return this.createNull(layer);\r\n case 4:\r\n return this.createShape(layer);\r\n case 5:\r\n return this.createText(layer);\r\n case 6:\r\n return this.createAudio(layer);\r\n case 13:\r\n return this.createCamera(layer);\r\n }\r\n return this.createNull(layer);\r\n};\r\n\r\nBaseRenderer.prototype.createCamera = function(){\r\n throw new Error('You\\'re using a 3d camera. Try the html renderer.');\r\n};\r\n\r\nBaseRenderer.prototype.createAudio = function(data){\r\n return new AudioElement(data, this.globalData, this);\r\n};\r\n\r\nBaseRenderer.prototype.buildAllItems = function(){\r\n var i, len = this.layers.length;\r\n for(i=0;i= 0; i--) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if(this.globalData._mdf) {\r\n for (i = 0; i < len; i += 1) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n }\r\n};\r\n\r\nSVGRenderer.prototype.appendElementInPos = function(element, pos){\r\n var newElement = element.getBaseElement();\r\n if(!newElement){\r\n return;\r\n }\r\n var i = 0;\r\n var nextElement;\r\n while(ielementRel && fillType === 'meet' || animationRelelementRel && fillType === 'slice'))){\r\n this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))/2*this.renderConfig.dpr;\r\n } else if(xPos === 'xMax' && ((animationRelelementRel && fillType === 'slice'))){\r\n this.transformCanvas.tx = (elementWidth-this.transformCanvas.w*(elementHeight/this.transformCanvas.h))*this.renderConfig.dpr;\r\n } else {\r\n this.transformCanvas.tx = 0;\r\n }\r\n if(yPos === 'YMid' && ((animationRel>elementRel && fillType==='meet') || (animationRelelementRel && fillType==='meet') || (animationRel= 0; i-=1) {\r\n if(this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.elements.length = 0;\r\n this.globalData.canvasContext = null;\r\n this.animationItem.container = null;\r\n this.destroyed = true;\r\n};\r\n\r\nCanvasRenderer.prototype.renderFrame = function(num, forceRender){\r\n if((this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender) || this.destroyed || num === -1){\r\n return;\r\n }\r\n this.renderedFrame = num;\r\n this.globalData.frameNum = num - this.animationItem._isFirstFrame;\r\n this.globalData.frameId += 1;\r\n this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;\r\n this.globalData.projectInterface.currentFrame = num;\r\n\r\n // console.log('--------');\r\n // console.log('NEW: ',num);\r\n var i, len = this.layers.length;\r\n if(!this.completeLayers){\r\n this.checkLayers(num);\r\n }\r\n\r\n for (i = 0; i < len; i++) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(num - this.layers[i].st);\r\n }\r\n }\r\n if(this.globalData._mdf) {\r\n if(this.renderConfig.clearCanvas === true){\r\n this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);\r\n }else{\r\n this.save();\r\n }\r\n for (i = len - 1; i >= 0; i-=1) {\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n if(this.renderConfig.clearCanvas !== true){\r\n this.restore();\r\n }\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.buildItem = function(pos){\r\n var elements = this.elements;\r\n if(elements[pos] || this.layers[pos].ty == 99){\r\n return;\r\n }\r\n var element = this.createItem(this.layers[pos], this,this.globalData);\r\n elements[pos] = element;\r\n element.initExpressions();\r\n /*if(this.layers[pos].ty === 0){\r\n element.resize(this.globalData.transformCanvas);\r\n }*/\r\n};\r\n\r\nCanvasRenderer.prototype.checkPendingElements = function(){\r\n while(this.pendingElements.length){\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nCanvasRenderer.prototype.hide = function(){\r\n this.animationItem.container.style.display = 'none';\r\n};\r\n\r\nCanvasRenderer.prototype.show = function(){\r\n this.animationItem.container.style.display = 'block';\r\n};\r\n\r\nfunction HybridRenderer(animationItem, config){\r\n this.animationItem = animationItem;\r\n this.layers = null;\r\n this.renderedFrame = -1;\r\n this.renderConfig = {\r\n className: (config && config.className) || '',\r\n imagePreserveAspectRatio: (config && config.imagePreserveAspectRatio) || 'xMidYMid slice',\r\n hideOnTransparent: (config && config.hideOnTransparent === false) ? false : true,\r\n filterSize: {\r\n width: config && config.filterSize && config.filterSize.width || '400%',\r\n height: config && config.filterSize && config.filterSize.height || '400%',\r\n x: config && config.filterSize && config.filterSize.x || '-100%',\r\n y: config && config.filterSize && config.filterSize.y || '-100%',\r\n }\r\n };\r\n this.globalData = {\r\n _mdf: false,\r\n frameNum: -1,\r\n renderConfig: this.renderConfig\r\n };\r\n this.pendingElements = [];\r\n this.elements = [];\r\n this.threeDElements = [];\r\n this.destroyed = false;\r\n this.camera = null;\r\n this.supports3d = true;\r\n this.rendererType = 'html';\r\n\r\n}\r\n\r\nextendPrototype([BaseRenderer],HybridRenderer);\r\n\r\nHybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\r\n\r\nHybridRenderer.prototype.checkPendingElements = function(){\r\n while(this.pendingElements.length){\r\n var element = this.pendingElements.pop();\r\n element.checkParenting();\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.appendElementInPos = function(element, pos){\r\n var newDOMElement = element.getBaseElement();\r\n if(!newDOMElement){\r\n return;\r\n }\r\n var layer = this.layers[pos];\r\n if(!layer.ddd || !this.supports3d){\r\n if(this.threeDElements) {\r\n this.addTo3dContainer(newDOMElement,pos);\r\n } else {\r\n var i = 0;\r\n var nextDOMElement, nextLayer, tmpDOMElement;\r\n while(i= pos) {\r\n return this.threeDElements[i].perspectiveElem;\r\n }\r\n i += 1;\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.createThreeDContainer = function(pos, type){\r\n var perspectiveElem = createTag('div');\r\n styleDiv(perspectiveElem);\r\n var container = createTag('div');\r\n styleDiv(container);\r\n if(type === '3d') {\r\n perspectiveElem.style.width = this.globalData.compSize.w+'px';\r\n perspectiveElem.style.height = this.globalData.compSize.h+'px';\r\n perspectiveElem.style.transformOrigin = perspectiveElem.style.mozTransformOrigin = perspectiveElem.style.webkitTransformOrigin = \"50% 50%\";\r\n container.style.transform = container.style.webkitTransform = 'matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)';\r\n }\r\n \r\n perspectiveElem.appendChild(container);\r\n //this.resizerElem.appendChild(perspectiveElem);\r\n var threeDContainerData = {\r\n container:container,\r\n perspectiveElem:perspectiveElem,\r\n startPos: pos,\r\n endPos: pos,\r\n type: type\r\n };\r\n this.threeDElements.push(threeDContainerData);\r\n return threeDContainerData;\r\n};\r\n\r\nHybridRenderer.prototype.build3dContainers = function(){\r\n var i, len = this.layers.length;\r\n var lastThreeDContainerData;\r\n var currentContainer = '';\r\n for(i=0;i= 0; i --) {\r\n this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);\r\n }\r\n};\r\n\r\nHybridRenderer.prototype.addTo3dContainer = function(elem,pos){\r\n var i = 0, len = this.threeDElements.length;\r\n while(ielementRel){\r\n sx = elementWidth/(this.globalData.compSize.w);\r\n sy = elementWidth/(this.globalData.compSize.w);\r\n tx = 0;\r\n ty = ((elementHeight-this.globalData.compSize.h*(elementWidth/this.globalData.compSize.w))/2);\r\n }else{\r\n sx = elementHeight/(this.globalData.compSize.h);\r\n sy = elementHeight/(this.globalData.compSize.h);\r\n tx = (elementWidth-this.globalData.compSize.w*(elementHeight/this.globalData.compSize.h))/2;\r\n ty = 0;\r\n }\r\n this.resizerElem.style.transform = this.resizerElem.style.webkitTransform = 'matrix3d(' + sx + ',0,0,0,0,'+sy+',0,0,0,0,1,0,'+tx+','+ty+',0,1)';\r\n};\r\n\r\nHybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\r\n\r\nHybridRenderer.prototype.hide = function(){\r\n this.resizerElem.style.display = 'none';\r\n};\r\n\r\nHybridRenderer.prototype.show = function(){\r\n this.resizerElem.style.display = 'block';\r\n};\r\n\r\nHybridRenderer.prototype.initItems = function(){\r\n this.buildAllItems();\r\n if(this.camera){\r\n this.camera.setup();\r\n } else {\r\n var cWidth = this.globalData.compSize.w;\r\n var cHeight = this.globalData.compSize.h;\r\n var i, len = this.threeDElements.length;\r\n for(i=0;i 0){\r\n this.maskElement.setAttribute('id', layerId);\r\n this.element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\r\n defs.appendChild(this.maskElement);\r\n }\r\n if (this.viewData.length) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n\r\n}\r\n\r\nMaskElement.prototype.getMaskProperty = function(pos){\r\n return this.viewData[pos].prop;\r\n};\r\n\r\nMaskElement.prototype.renderFrame = function (isFirstFrame) {\r\n var finalMat = this.element.finalTransform.mat;\r\n var i, len = this.masksProperties.length;\r\n for (i = 0; i < len; i++) {\r\n if(this.viewData[i].prop._mdf || isFirstFrame){\r\n this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);\r\n }\r\n if(this.viewData[i].op._mdf || isFirstFrame){\r\n this.viewData[i].elem.setAttribute('fill-opacity',this.viewData[i].op.v);\r\n }\r\n if(this.masksProperties[i].mode !== 'n'){\r\n if(this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)){\r\n this.viewData[i].invRect.setAttribute('transform', finalMat.getInverseMatrix().to2dCSS())\r\n }\r\n if(this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)){\r\n var feMorph = this.storedData[i].expan;\r\n if(this.storedData[i].x.v < 0){\r\n if(this.storedData[i].lastOperator !== 'erode'){\r\n this.storedData[i].lastOperator = 'erode';\r\n this.storedData[i].elem.setAttribute('filter','url(' + locationHref + '#'+this.storedData[i].filterId+')');\r\n }\r\n feMorph.setAttribute('radius',-this.storedData[i].x.v);\r\n }else{\r\n if(this.storedData[i].lastOperator !== 'dilate'){\r\n this.storedData[i].lastOperator = 'dilate';\r\n this.storedData[i].elem.setAttribute('filter',null);\r\n }\r\n this.storedData[i].elem.setAttribute('stroke-width', this.storedData[i].x.v*2);\r\n\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nMaskElement.prototype.getMaskelement = function () {\r\n return this.maskElement;\r\n};\r\n\r\nMaskElement.prototype.createLayerSolidPath = function(){\r\n var path = 'M0,0 ';\r\n path += ' h' + this.globalData.compSize.w ;\r\n path += ' v' + this.globalData.compSize.h ;\r\n path += ' h-' + this.globalData.compSize.w ;\r\n path += ' v-' + this.globalData.compSize.h + ' ';\r\n return path;\r\n};\r\n\r\nMaskElement.prototype.drawPath = function(pathData,pathNodes,viewData){\r\n var pathString = \" M\"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\r\n var i, len;\r\n len = pathNodes._length;\r\n for(i=1;i 1){\r\n pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\r\n }\r\n //pathNodes.__renderedString = pathString;\r\n\r\n if(viewData.lastPath !== pathString){\r\n var pathShapeValue = '';\r\n if(viewData.elem){\r\n if(pathNodes.c){\r\n pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;\r\n }\r\n viewData.elem.setAttribute('d',pathShapeValue);\r\n }\r\n viewData.lastPath = pathString;\r\n }\r\n};\r\n\r\nMaskElement.prototype.destroy = function(){\r\n this.element = null;\r\n this.globalData = null;\r\n this.maskElement = null;\r\n this.data = null;\r\n this.masksProperties = null;\r\n};\r\n\r\n/**\r\n * @file \r\n * Handles AE's layer parenting property.\r\n *\r\n */\r\n\r\nfunction HierarchyElement(){}\r\n\r\nHierarchyElement.prototype = {\r\n\t/**\r\n * @function \r\n * Initializes hierarchy properties\r\n *\r\n */\r\n\tinitHierarchy: function() {\r\n\t\t//element's parent list\r\n\t this.hierarchy = [];\r\n\t //if element is parent of another layer _isParent will be true\r\n\t this._isParent = false;\r\n\t this.checkParenting();\r\n\t},\r\n\t/**\r\n * @function \r\n * Sets layer's hierarchy.\r\n * @param {array} hierarch\r\n * layer's parent list\r\n *\r\n */ \r\n\tsetHierarchy: function(hierarchy){\r\n\t this.hierarchy = hierarchy;\r\n\t},\r\n\t/**\r\n * @function \r\n * Sets layer as parent.\r\n *\r\n */ \r\n\tsetAsParent: function() {\r\n\t this._isParent = true;\r\n\t},\r\n\t/**\r\n * @function \r\n * Searches layer's parenting chain\r\n *\r\n */ \r\n\tcheckParenting: function(){\r\n\t if (this.data.parent !== undefined){\r\n\t this.comp.buildElementParenting(this, this.data.parent, []);\r\n\t }\r\n\t}\r\n};\r\n/**\r\n * @file \r\n * Handles element's layer frame update.\r\n * Checks layer in point and out point\r\n *\r\n */\r\n\r\nfunction FrameElement(){}\r\n\r\nFrameElement.prototype = {\r\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n */\r\n initFrame: function(){\r\n //set to true when inpoint is rendered\r\n this._isFirstFrame = false;\r\n //list of animated properties\r\n this.dynamicProperties = [];\r\n // If layer has been modified in current tick this will be true\r\n this._mdf = false;\r\n },\r\n /**\r\n * @function \r\n * Calculates all dynamic values\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * @param {boolean} isVisible\r\n * if layers is currently in range\r\n * \r\n */\r\n prepareProperties: function(num, isVisible) {\r\n var i, len = this.dynamicProperties.length;\r\n for (i = 0;i < len; i += 1) {\r\n if (isVisible || (this._isParent && this.dynamicProperties[i].propType === 'transform')) {\r\n this.dynamicProperties[i].getValue();\r\n if (this.dynamicProperties[i]._mdf) {\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n },\r\n addDynamicProperty: function(prop) {\r\n if(this.dynamicProperties.indexOf(prop) === -1) {\r\n this.dynamicProperties.push(prop);\r\n }\r\n }\r\n};\r\nfunction TransformElement(){}\r\n\r\nTransformElement.prototype = {\r\n initTransform: function() {\r\n this.finalTransform = {\r\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {o:0},\r\n _matMdf: false,\r\n _opMdf: false,\r\n mat: new Matrix()\r\n };\r\n if (this.data.ao) {\r\n this.finalTransform.mProp.autoOriented = true;\r\n }\r\n\r\n //TODO: check TYPE 11: Guided elements\r\n if (this.data.ty !== 11) {\r\n //this.createElements();\r\n }\r\n },\r\n renderTransform: function() {\r\n\r\n this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;\r\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;\r\n\r\n if (this.hierarchy) {\r\n var mat;\r\n var finalMat = this.finalTransform.mat;\r\n var i = 0, len = this.hierarchy.length;\r\n //Checking if any of the transformation matrices in the hierarchy chain has changed.\r\n if (!this.finalTransform._matMdf) {\r\n while (i < len) {\r\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\r\n this.finalTransform._matMdf = true;\r\n break;\r\n }\r\n i += 1;\r\n }\r\n }\r\n \r\n if (this.finalTransform._matMdf) {\r\n mat = this.finalTransform.mProp.v.props;\r\n finalMat.cloneFromProps(mat);\r\n for (i = 0; i < len; i += 1) {\r\n mat = this.hierarchy[i].finalTransform.mProp.v.props;\r\n finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\r\n }\r\n }\r\n }\r\n },\r\n globalToLocal: function(pt) {\r\n var transforms = [];\r\n transforms.push(this.finalTransform);\r\n var flag = true;\r\n var comp = this.comp;\r\n while (flag) {\r\n if (comp.finalTransform) {\r\n if (comp.data.hasMask) {\r\n transforms.splice(0, 0, comp.finalTransform);\r\n }\r\n comp = comp.comp;\r\n } else {\r\n flag = false;\r\n }\r\n }\r\n var i, len = transforms.length,ptNew;\r\n for (i = 0; i < len; i += 1) {\r\n ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);\r\n //ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\r\n pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\r\n }\r\n return pt;\r\n },\r\n mHelper: new Matrix()\r\n};\r\nfunction RenderableElement(){\r\n\r\n}\r\n\r\nRenderableElement.prototype = {\r\n initRenderable: function() {\r\n //layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\r\n this.isInRange = false;\r\n //layer's display state\r\n this.hidden = false;\r\n // If layer's transparency equals 0, it can be hidden\r\n this.isTransparent = false;\r\n //list of animated components\r\n this.renderableComponents = [];\r\n },\r\n addRenderableComponent: function(component) {\r\n if(this.renderableComponents.indexOf(component) === -1) {\r\n this.renderableComponents.push(component);\r\n }\r\n },\r\n removeRenderableComponent: function(component) {\r\n if(this.renderableComponents.indexOf(component) !== -1) {\r\n this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);\r\n }\r\n },\r\n prepareRenderableFrame: function(num) {\r\n this.checkLayerLimits(num);\r\n },\r\n checkTransparency: function(){\r\n if(this.finalTransform.mProp.o.v <= 0) {\r\n if(!this.isTransparent && this.globalData.renderConfig.hideOnTransparent){\r\n this.isTransparent = true;\r\n this.hide();\r\n }\r\n } else if(this.isTransparent) {\r\n this.isTransparent = false;\r\n this.show();\r\n }\r\n },\r\n /**\r\n * @function \r\n * Initializes frame related properties.\r\n *\r\n * @param {number} num\r\n * current frame number in Layer's time\r\n * \r\n */\r\n checkLayerLimits: function(num) {\r\n if(this.data.ip - this.data.st <= num && this.data.op - this.data.st > num)\r\n {\r\n if(this.isInRange !== true){\r\n this.globalData._mdf = true;\r\n this._mdf = true;\r\n this.isInRange = true;\r\n this.show();\r\n }\r\n } else {\r\n if(this.isInRange !== false){\r\n this.globalData._mdf = true;\r\n this.isInRange = false;\r\n this.hide();\r\n }\r\n }\r\n },\r\n renderRenderable: function() {\r\n var i, len = this.renderableComponents.length;\r\n for(i = 0; i < len; i += 1) {\r\n this.renderableComponents[i].renderFrame(this._isFirstFrame);\r\n }\r\n /*this.maskManager.renderFrame(this.finalTransform.mat);\r\n this.renderableEffectsManager.renderFrame(this._isFirstFrame);*/\r\n },\r\n sourceRectAtTime: function(){\r\n return {\r\n top:0,\r\n left:0,\r\n width:100,\r\n height:100\r\n };\r\n },\r\n getLayerSize: function(){\r\n if(this.data.ty === 5){\r\n return {w:this.data.textData.width,h:this.data.textData.height};\r\n }else{\r\n return {w:this.data.width,h:this.data.height};\r\n }\r\n }\r\n};\r\nfunction RenderableDOMElement() {}\r\n\r\n(function(){\r\n var _prototype = {\r\n initElement: function(data,globalData,comp) {\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n },\r\n hide: function(){\r\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'none';\r\n this.hidden = true;\r\n }\r\n },\r\n show: function(){\r\n if (this.isInRange && !this.isTransparent){\r\n if (!this.data.hd) {\r\n var elem = this.baseElement || this.layerElement;\r\n elem.style.display = 'block';\r\n }\r\n this.hidden = false;\r\n this._isFirstFrame = true;\r\n }\r\n },\r\n renderFrame: function() {\r\n //If it is exported as hidden (data.hd === true) no need to render\r\n //If it is not visible no need to render\r\n if (this.data.hd || this.hidden) {\r\n return;\r\n }\r\n this.renderTransform();\r\n this.renderRenderable();\r\n this.renderElement();\r\n this.renderInnerContent();\r\n if (this._isFirstFrame) {\r\n this._isFirstFrame = false;\r\n }\r\n },\r\n renderInnerContent: function() {},\r\n prepareFrame: function(num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n this.checkTransparency();\r\n },\r\n destroy: function(){\r\n this.innerElem = null;\r\n this.destroyBaseElement();\r\n }\r\n };\r\n extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\r\n}());\r\nfunction ProcessedElement(element, position) {\r\n\tthis.elem = element;\r\n\tthis.pos = position;\r\n}\r\nfunction SVGStyleData(data, level) {\r\n\tthis.data = data;\r\n\tthis.type = data.ty;\r\n\tthis.d = '';\r\n\tthis.lvl = level;\r\n\tthis._mdf = false;\r\n\tthis.closed = data.hd === true;\r\n\tthis.pElem = createNS('path');\r\n\tthis.msElem = null;\r\n}\r\n\r\nSVGStyleData.prototype.reset = function() {\r\n\tthis.d = '';\r\n\tthis._mdf = false;\r\n};\r\nfunction SVGShapeData(transformers, level, shape) {\r\n this.caches = [];\r\n this.styles = [];\r\n this.transformers = transformers;\r\n this.lStr = '';\r\n this.sh = shape;\r\n this.lvl = level;\r\n //TODO find if there are some cases where _isAnimated can be false. \r\n // For now, since shapes add up with other shapes. They have to be calculated every time.\r\n // One way of finding out is checking if all styles associated to this shape depend only of this shape\r\n this._isAnimated = !!shape.k;\r\n // TODO: commenting this for now since all shapes are animated\r\n var i = 0, len = transformers.length;\r\n while(i < len) {\r\n \tif(transformers[i].mProps.dynamicProperties.length) {\r\n \t\tthis._isAnimated = true;\r\n \t\tbreak;\r\n \t}\r\n \ti += 1;\r\n }\r\n}\r\n\r\nSVGShapeData.prototype.setAsAnimated = function() {\r\n this._isAnimated = true;\r\n}\r\nfunction SVGTransformData(mProps, op, container) {\r\n\tthis.transform = {\r\n\t\tmProps: mProps,\r\n\t\top: op,\r\n\t\tcontainer: container\r\n\t};\r\n\tthis.elements = [];\r\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\r\n}\r\nfunction SVGStrokeStyleData(elem, data, styleOb){\r\n\tthis.initDynamicPropertyContainer(elem);\r\n\tthis.getValue = this.iterateDynamicProperties;\r\n\tthis.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n\tthis.w = PropertyFactory.getProp(elem,data.w,0,null,this);\r\n\tthis.d = new DashProperty(elem,data.d||{},'svg',this);\r\n\tthis.c = PropertyFactory.getProp(elem,data.c,1,255,this);\r\n\tthis.style = styleOb;\r\n this._isAnimated = !!this._isAnimated;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\r\nfunction SVGFillStyleData(elem, data, styleOb){\r\n\tthis.initDynamicPropertyContainer(elem);\r\n\tthis.getValue = this.iterateDynamicProperties;\r\n\tthis.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n\tthis.c = PropertyFactory.getProp(elem,data.c,1,255,this);\r\n\tthis.style = styleOb;\r\n}\r\n\r\nextendPrototype([DynamicPropertyContainer], SVGFillStyleData);\r\nfunction SVGGradientFillStyleData(elem, data, styleOb){\r\n this.initDynamicPropertyContainer(elem);\r\n this.getValue = this.iterateDynamicProperties;\r\n this.initGradientData(elem, data, styleOb);\r\n}\r\n\r\nSVGGradientFillStyleData.prototype.initGradientData = function(elem, data, styleOb){\r\n this.o = PropertyFactory.getProp(elem,data.o,0,0.01,this);\r\n this.s = PropertyFactory.getProp(elem,data.s,1,null,this);\r\n this.e = PropertyFactory.getProp(elem,data.e,1,null,this);\r\n this.h = PropertyFactory.getProp(elem,data.h||{k:0},0,0.01,this);\r\n this.a = PropertyFactory.getProp(elem,data.a||{k:0},0,degToRads,this);\r\n this.g = new GradientProperty(elem,data.g,this);\r\n this.style = styleOb;\r\n this.stops = [];\r\n this.setGradientData(styleOb.pElem, data);\r\n this.setGradientOpacity(data, styleOb);\r\n this._isAnimated = !!this._isAnimated;\r\n\r\n};\r\n\r\nSVGGradientFillStyleData.prototype.setGradientData = function(pathElement,data){\r\n\r\n var gradientId = createElementID();\r\n var gfill = createNS(data.t === 1 ? 'linearGradient' : 'radialGradient');\r\n gfill.setAttribute('id',gradientId);\r\n gfill.setAttribute('spreadMethod','pad');\r\n gfill.setAttribute('gradientUnits','userSpaceOnUse');\r\n var stops = [];\r\n var stop, j, jLen;\r\n jLen = data.g.p*4;\r\n for(j=0;j 0) {\r\n\t redraw = itemData.transformers[k].mProps._mdf || redraw;\r\n\t iterations --;\r\n\t k --;\r\n\t }\r\n\t if(redraw) {\r\n\t iterations = lvl - itemData.styles[l].lvl;\r\n\t k = itemData.transformers.length-1;\r\n\t while(iterations > 0) {\r\n\t props = itemData.transformers[k].mProps.v.props;\r\n\t mat.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n\t iterations --;\r\n\t k --;\r\n\t }\r\n\t }\r\n\t } else {\r\n\t mat = _identityMatrix;\r\n\t }\r\n\t paths = itemData.sh.paths;\r\n\t jLen = paths._length;\r\n\t if(redraw){\r\n\t pathStringTransformed = '';\r\n\t for(j=0;j= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;\r\n\t var dist = rad * percent;\r\n\t var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n\t var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n\t gfill.setAttribute('fx', x);\r\n\t gfill.setAttribute('fy', y);\r\n\t if (hasOpacity && !itemData.g._collapsable) {\r\n\t itemData.of.setAttribute('fx', x);\r\n\t itemData.of.setAttribute('fy', y);\r\n\t }\r\n\t }\r\n\t //gfill.setAttribute('fy','200');\r\n\t }\r\n\t};\r\n\r\n\tfunction renderStroke(styleData, itemData, isFirstFrame) {\r\n\t var styleElem = itemData.style;\r\n\t var d = itemData.d;\r\n\t if (d && (d._mdf || isFirstFrame) && d.dashStr) {\r\n\t styleElem.pElem.setAttribute('stroke-dasharray', d.dashStr);\r\n\t styleElem.pElem.setAttribute('stroke-dashoffset', d.dashoffset[0]);\r\n\t }\r\n\t if(itemData.c && (itemData.c._mdf || isFirstFrame)){\r\n\t styleElem.pElem.setAttribute('stroke','rgb(' + bm_floor(itemData.c.v[0]) + ',' + bm_floor(itemData.c.v[1]) + ',' + bm_floor(itemData.c.v[2]) + ')');\r\n\t }\r\n\t if(itemData.o._mdf || isFirstFrame){\r\n\t styleElem.pElem.setAttribute('stroke-opacity', itemData.o.v);\r\n\t }\r\n\t if(itemData.w._mdf || isFirstFrame){\r\n\t styleElem.pElem.setAttribute('stroke-width', itemData.w.v);\r\n\t if(styleElem.msElem){\r\n\t styleElem.msElem.setAttribute('stroke-width', itemData.w.v);\r\n\t }\r\n\t }\r\n\t};\r\n\r\n\treturn ob;\r\n}())\r\nfunction ShapeTransformManager() {\r\n\tthis.sequences = {};\r\n\tthis.sequenceList = [];\r\n this.transform_key_count = 0;\r\n}\r\n\r\nShapeTransformManager.prototype = {\r\n\taddTransformSequence: function(transforms) {\r\n\t\tvar i, len = transforms.length;\r\n\t\tvar key = '_';\r\n\t\tfor(i = 0; i < len; i += 1) {\r\n\t\t\tkey += transforms[i].transform.key + '_';\r\n\t\t}\r\n\t\tvar sequence = this.sequences[key];\r\n\t\tif(!sequence) {\r\n\t\t\tsequence = {\r\n\t\t\t\ttransforms: [].concat(transforms),\r\n\t\t\t\tfinalTransform: new Matrix(),\r\n\t\t\t\t_mdf: false\r\n\t\t\t};\r\n\t\t\tthis.sequences[key] = sequence;\r\n\t\t\tthis.sequenceList.push(sequence);\r\n\t\t}\r\n\t\treturn sequence;\r\n\t},\r\n\tprocessSequence: function(sequence, isFirstFrame) {\r\n\t\tvar i = 0, len = sequence.transforms.length, _mdf = isFirstFrame;\r\n\t\twhile (i < len && !isFirstFrame) {\r\n\t\t\tif (sequence.transforms[i].transform.mProps._mdf) {\r\n\t\t\t\t_mdf = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\ti += 1\r\n\t\t}\r\n\t\tif (_mdf) {\r\n\t\t\tvar props;\r\n\t\t\tsequence.finalTransform.reset();\r\n\t\t\tfor (i = len - 1; i >= 0; i -= 1) {\r\n\t\t props = sequence.transforms[i].transform.mProps.v.props;\r\n\t\t sequence.finalTransform.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\r\n\t\t\t}\r\n\t\t}\r\n\t\tsequence._mdf = _mdf;\r\n\t\t\r\n\t},\r\n\tprocessSequences: function(isFirstFrame) {\r\n\t\tvar i, len = this.sequenceList.length;\r\n\t\tfor (i = 0; i < len; i += 1) {\r\n\t\t\tthis.processSequence(this.sequenceList[i], isFirstFrame);\r\n\t\t}\r\n\r\n\t},\r\n\tgetNewKey: function() {\r\n\t\treturn '_' + this.transform_key_count++;\r\n\t}\r\n}\r\nfunction CVShapeData(element, data, styles, transformsManager) {\r\n this.styledShapes = [];\r\n this.tr = [0,0,0,0,0,0];\r\n var ty = 4;\r\n if(data.ty == 'rc'){\r\n ty = 5;\r\n }else if(data.ty == 'el'){\r\n ty = 6;\r\n }else if(data.ty == 'sr'){\r\n ty = 7;\r\n }\r\n this.sh = ShapePropertyFactory.getShapeProp(element,data,ty,element);\r\n var i , len = styles.length,styledShape;\r\n for (i = 0; i < len; i += 1) {\r\n if (!styles[i].closed) {\r\n styledShape = {\r\n transforms: transformsManager.addTransformSequence(styles[i].transforms),\r\n trNodes: []\r\n }\r\n this.styledShapes.push(styledShape);\r\n styles[i].elements.push(styledShape);\r\n }\r\n }\r\n}\r\n\r\nCVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\r\nfunction BaseElement(){\r\n}\r\n\r\nBaseElement.prototype = {\r\n checkMasks: function(){\r\n if(!this.data.hasMask){\r\n return false;\r\n }\r\n var i = 0, len = this.data.masksProperties.length;\r\n while(i=0;i-=1){\r\n this.shapeModifiers[i].processShapes(this._isFirstFrame);\r\n }\r\n },\r\n lcEnum: {\r\n '1': 'butt',\r\n '2': 'round',\r\n '3': 'square'\r\n },\r\n ljEnum: {\r\n '1': 'miter',\r\n '2': 'round',\r\n '3': 'bevel'\r\n },\r\n searchProcessedElement: function(elem){\r\n var elements = this.processedElements;\r\n var i = 0, len = elements.length;\r\n while (i < len) {\r\n if (elements[i].elem === elem) {\r\n return elements[i].pos;\r\n }\r\n i += 1;\r\n }\r\n return 0;\r\n },\r\n addProcessedElement: function(elem, pos){\r\n var elements = this.processedElements;\r\n var i = elements.length;\r\n while(i) {\r\n i -= 1;\r\n if (elements[i].elem === elem) {\r\n elements[i].pos = pos;\r\n return;\r\n }\r\n }\r\n elements.push(new ProcessedElement(elem, pos));\r\n },\r\n prepareFrame: function(num) {\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n }\r\n};\r\nfunction ITextElement(){\r\n}\r\n\r\nITextElement.prototype.initElement = function(data,globalData,comp){\r\n this.lettersChangedFlag = true;\r\n this.initFrame();\r\n this.initBaseData(data, globalData, comp);\r\n this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);\r\n this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);\r\n this.initTransform(data, globalData, comp);\r\n this.initHierarchy();\r\n this.initRenderable();\r\n this.initRendererElement();\r\n this.createContainerElements();\r\n this.createRenderableComponents();\r\n this.createContent();\r\n this.hide();\r\n this.textAnimator.searchProperties(this.dynamicProperties);\r\n};\r\n\r\nITextElement.prototype.prepareFrame = function(num) {\r\n this._mdf = false;\r\n this.prepareRenderableFrame(num);\r\n this.prepareProperties(num, this.isInRange);\r\n if(this.textProperty._mdf || this.textProperty._isFirstFrame) {\r\n this.buildNewText();\r\n this.textProperty._isFirstFrame = false;\r\n this.textProperty._mdf = false;\r\n }\r\n};\r\n\r\nITextElement.prototype.createPathShape = function(matrixHelper, shapes) {\r\n var j,jLen = shapes.length;\r\n var k, kLen, pathNodes;\r\n var shapeStr = '';\r\n for(j=0;j= 0; i -= 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);\r\n if(this.elements[i]._mdf) {\r\n this._mdf = true;\r\n }\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.renderInnerContent = function() {\r\n var i,len = this.layers.length;\r\n for( i = 0; i < len; i += 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.setElements = function(elems){\r\n this.elements = elems;\r\n};\r\n\r\nICompElement.prototype.getElements = function(){\r\n return this.elements;\r\n};\r\n\r\nICompElement.prototype.destroyElements = function(){\r\n var i,len = this.layers.length;\r\n for( i = 0; i < len; i+=1 ){\r\n if(this.elements[i]){\r\n this.elements[i].destroy();\r\n }\r\n }\r\n};\r\n\r\nICompElement.prototype.destroy = function(){\r\n this.destroyElements();\r\n this.destroyBaseElement();\r\n};\r\n\r\nfunction IImageElement(data,globalData,comp){\r\n this.assetData = globalData.getAssetData(data.refId);\r\n this.initElement(data,globalData,comp);\r\n this.sourceRect = {top:0,left:0,width:this.assetData.w,height:this.assetData.h};\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement], IImageElement);\r\n\r\nIImageElement.prototype.createContent = function(){\r\n\r\n var assetPath = this.globalData.getAssetsPath(this.assetData);\r\n\r\n this.innerElem = createNS('image');\r\n this.innerElem.setAttribute('width',this.assetData.w+\"px\");\r\n this.innerElem.setAttribute('height',this.assetData.h+\"px\");\r\n this.innerElem.setAttribute('preserveAspectRatio',this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);\r\n this.innerElem.setAttributeNS('http://www.w3.org/1999/xlink','href',assetPath);\r\n \r\n this.layerElement.appendChild(this.innerElem);\r\n};\r\n\r\nIImageElement.prototype.sourceRectAtTime = function() {\r\n\treturn this.sourceRect;\r\n}\r\nfunction ISolidElement(data,globalData,comp){\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([IImageElement], ISolidElement);\r\n\r\nISolidElement.prototype.createContent = function(){\r\n\r\n var rect = createNS('rect');\r\n ////rect.style.width = this.data.sw;\r\n ////rect.style.height = this.data.sh;\r\n ////rect.style.fill = this.data.sc;\r\n rect.setAttribute('width',this.data.sw);\r\n rect.setAttribute('height',this.data.sh);\r\n rect.setAttribute('fill',this.data.sc);\r\n this.layerElement.appendChild(rect);\r\n};\r\nfunction AudioElement(data,globalData,comp){\r\n this.initFrame();\r\n this.initRenderable();\r\n this.assetData = globalData.getAssetData(data.refId);\r\n\tthis.initBaseData(data, globalData, comp);\r\n\tthis._isPlaying = false;\r\n\tthis._canPlay = false;\r\n\tvar assetPath = this.globalData.getAssetsPath(this.assetData);\r\n this.audio = this.globalData.audioController.createAudio(assetPath);\r\n this._currentTime = 0;\r\n this.globalData.audioController.addAudio(this);\r\n this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate,this) : {_placeholder:true};\r\n}\r\n\r\nAudioElement.prototype.prepareFrame = function(num) {\r\n this.prepareRenderableFrame(num, true);\r\n this.prepareProperties(num, true);\r\n if (!this.tm._placeholder) {\r\n var timeRemapped = this.tm.v;\r\n this._currentTime = timeRemapped;\r\n } else {\r\n this._currentTime = num / this.data.sr;\r\n }\r\n};\r\n\r\nextendPrototype([RenderableElement,BaseElement,FrameElement], AudioElement);\r\n\r\nAudioElement.prototype.renderFrame = function() {\r\n\tif (this.isInRange && this._canPlay) {\r\n\t\tif (!this._isPlaying) {\r\n\t\t\tthis.audio.play();\r\n\t\t\tthis.audio.seek(this._currentTime / this.globalData.frameRate);\r\n\t\t\tthis._isPlaying = true;\r\n\t\t} else if (!this.audio.playing()\r\n\t\t\t|| Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1\r\n\t\t) {\r\n\t\t\tthis.audio.seek(this._currentTime / this.globalData.frameRate)\r\n\t\t}\r\n\t}\r\n};\r\n\r\nAudioElement.prototype.show = function() {\r\n\t// this.audio.play()\r\n};\r\n\r\nAudioElement.prototype.hide = function() {\r\n\tthis.audio.pause();\r\n\tthis._isPlaying = false;\r\n};\r\n\r\nAudioElement.prototype.pause = function() {\r\n\tthis.audio.pause();\r\n\tthis._isPlaying = false;\r\n\tthis._canPlay = false;\r\n};\r\n\r\nAudioElement.prototype.resume = function() {\r\n\tthis._canPlay = true;\r\n};\r\n\r\nAudioElement.prototype.setRate = function(rateValue) {\r\n\tthis.audio.rate(rateValue);\r\n};\r\n\r\nAudioElement.prototype.volume = function(volumeValue) {\r\n\tthis.audio.volume(volumeValue);\r\n};\r\n\r\nAudioElement.prototype.getBaseElement = function() {\r\n\treturn null;\r\n};\r\n\r\nAudioElement.prototype.destroy = function() {\r\n};\r\n\r\nAudioElement.prototype.sourceRectAtTime = function() {\r\n};\r\n\r\nAudioElement.prototype.initExpressions = function() {\r\n};\r\n\r\n\r\nfunction SVGCompElement(data,globalData,comp){\r\n this.layers = data.layers;\r\n this.supports3d = true;\r\n this.completeLayers = false;\r\n this.pendingElements = [];\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [];\r\n //this.layerElement = createNS('g');\r\n this.initElement(data,globalData,comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate,this) : {_placeholder:true};\r\n}\r\n\r\nextendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\r\nfunction SVGTextElement(data,globalData,comp){\r\n this.textSpans = [];\r\n this.renderType = 'svg';\r\n this.initElement(data,globalData,comp);\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement], SVGTextElement);\r\n\r\nSVGTextElement.prototype.createContent = function(){\r\n\r\n if (this.data.singleShape && !this.globalData.fontManager.chars) {\r\n this.textContainer = createNS('text');\r\n }\r\n};\r\n\r\nSVGTextElement.prototype.buildTextContents = function(textArray) {\r\n var i = 0, len = textArray.length;\r\n var textContents = [], currentTextContent = '';\r\n while (i < len) {\r\n if(textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\r\n textContents.push(currentTextContent);\r\n currentTextContent = '';\r\n } else {\r\n currentTextContent += textArray[i];\r\n }\r\n i += 1;\r\n }\r\n textContents.push(currentTextContent);\r\n return textContents;\r\n}\r\n\r\nSVGTextElement.prototype.buildNewText = function(){\r\n var i, len;\r\n\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\r\n if(documentData.fc) {\r\n this.layerElement.setAttribute('fill', this.buildColor(documentData.fc));\r\n }else{\r\n this.layerElement.setAttribute('fill', 'rgba(0,0,0,0)');\r\n }\r\n if(documentData.sc){\r\n this.layerElement.setAttribute('stroke', this.buildColor(documentData.sc));\r\n this.layerElement.setAttribute('stroke-width', documentData.sw);\r\n }\r\n this.layerElement.setAttribute('font-size', documentData.finalSize);\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n if(fontData.fClass){\r\n this.layerElement.setAttribute('class',fontData.fClass);\r\n } else {\r\n this.layerElement.setAttribute('font-family', fontData.fFamily);\r\n var fWeight = documentData.fWeight, fStyle = documentData.fStyle;\r\n this.layerElement.setAttribute('font-style', fStyle);\r\n this.layerElement.setAttribute('font-weight', fWeight);\r\n }\r\n this.layerElement.setAttribute('aria-label', documentData.t);\r\n\r\n var letters = documentData.l || [];\r\n var usesGlyphs = !!this.globalData.fontManager.chars;\r\n len = letters.length;\r\n\r\n var tSpan;\r\n var matrixHelper = this.mHelper;\r\n var shapes, shapeStr = '', singleShape = this.data.singleShape;\r\n var xPos = 0, yPos = 0, firstLine = true;\r\n var trackingOffset = documentData.tr/1000*documentData.finalSize;\r\n if(singleShape && !usesGlyphs && !documentData.sz) {\r\n var tElement = this.textContainer;\r\n var justify = 'start';\r\n switch(documentData.j) {\r\n case 1:\r\n justify = 'end';\r\n break;\r\n case 2:\r\n justify = 'middle';\r\n break;\r\n }\r\n tElement.setAttribute('text-anchor',justify);\r\n tElement.setAttribute('letter-spacing',trackingOffset);\r\n var textContent = this.buildTextContents(documentData.finalText);\r\n len = textContent.length;\r\n yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\r\n for ( i = 0; i < len; i += 1) {\r\n tSpan = this.textSpans[i] || createNS('tspan');\r\n tSpan.textContent = textContent[i];\r\n tSpan.setAttribute('x', 0);\r\n tSpan.setAttribute('y', yPos);\r\n tSpan.style.display = 'inherit';\r\n tElement.appendChild(tSpan);\r\n this.textSpans[i] = tSpan;\r\n yPos += documentData.finalLineHeight;\r\n }\r\n \r\n this.layerElement.appendChild(tElement);\r\n } else {\r\n var cachedSpansLength = this.textSpans.length;\r\n var shapeData, charData;\r\n for (i = 0; i < len; i += 1) {\r\n if(!usesGlyphs || !singleShape || i === 0){\r\n tSpan = cachedSpansLength > i ? this.textSpans[i] : createNS(usesGlyphs?'path':'text');\r\n if (cachedSpansLength <= i) {\r\n tSpan.setAttribute('stroke-linecap', 'butt');\r\n tSpan.setAttribute('stroke-linejoin','round');\r\n tSpan.setAttribute('stroke-miterlimit','4');\r\n this.textSpans[i] = tSpan;\r\n this.layerElement.appendChild(tSpan);\r\n }\r\n tSpan.style.display = 'inherit';\r\n }\r\n \r\n matrixHelper.reset();\r\n matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\r\n if (singleShape) {\r\n if(letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n xPos += letters[i].l || 0;\r\n //xPos += letters[i].val === ' ' ? 0 : trackingOffset;\r\n xPos += trackingOffset;\r\n }\r\n if(usesGlyphs) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = charData && charData.data || {};\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n if(!singleShape){\r\n tSpan.setAttribute('d',this.createPathShape(matrixHelper,shapes));\r\n } else {\r\n shapeStr += this.createPathShape(matrixHelper,shapes);\r\n }\r\n } else {\r\n if(singleShape) {\r\n tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\r\n }\r\n tSpan.textContent = letters[i].val;\r\n tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\",\"preserve\");\r\n }\r\n //\r\n }\r\n if (singleShape && tSpan) {\r\n tSpan.setAttribute('d',shapeStr);\r\n }\r\n }\r\n while (i < this.textSpans.length){\r\n this.textSpans[i].style.display = 'none';\r\n i += 1;\r\n }\r\n \r\n this._sizeChanged = true;\r\n};\r\n\r\nSVGTextElement.prototype.sourceRectAtTime = function(time){\r\n this.prepareFrame(this.comp.renderedFrame - this.data.st);\r\n this.renderInnerContent();\r\n if(this._sizeChanged){\r\n this._sizeChanged = false;\r\n var textBox = this.layerElement.getBBox();\r\n this.bbox = {\r\n top: textBox.y,\r\n left: textBox.x,\r\n width: textBox.width,\r\n height: textBox.height\r\n };\r\n }\r\n return this.bbox;\r\n};\r\n\r\nSVGTextElement.prototype.renderInnerContent = function(){\r\n\r\n if(!this.data.singleShape){\r\n this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n if(this.lettersChangedFlag || this.textAnimator.lettersChangedFlag){\r\n this._sizeChanged = true;\r\n var i,len;\r\n var renderedLetters = this.textAnimator.renderedLetters;\r\n\r\n var letters = this.textProperty.currentData.l;\r\n\r\n len = letters.length;\r\n var renderedLetter, textSpan;\r\n for(i=0;i 1 && areAnimated) {\r\n this.setShapesAsAnimated(tempShapes);\r\n }\r\n }\r\n}\r\n\r\nSVGShapeElement.prototype.setShapesAsAnimated = function(shapes){\r\n var i, len = shapes.length;\r\n for(i = 0; i < len; i += 1) {\r\n shapes[i].setAsAnimated();\r\n }\r\n}\r\n\r\nSVGShapeElement.prototype.createStyleElement = function(data, level){\r\n //TODO: prevent drawing of hidden styles\r\n var elementData;\r\n var styleOb = new SVGStyleData(data, level);\r\n\r\n var pathElement = styleOb.pElem;\r\n if(data.ty === 'st') {\r\n elementData = new SVGStrokeStyleData(this, data, styleOb);\r\n } else if(data.ty === 'fl') {\r\n elementData = new SVGFillStyleData(this, data, styleOb);\r\n } else if(data.ty === 'gf' || data.ty === 'gs') {\r\n var gradientConstructor = data.ty === 'gf' ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\r\n elementData = new gradientConstructor(this, data, styleOb);\r\n this.globalData.defs.appendChild(elementData.gf);\r\n if (elementData.maskId) {\r\n this.globalData.defs.appendChild(elementData.ms);\r\n this.globalData.defs.appendChild(elementData.of);\r\n pathElement.setAttribute('mask','url(' + locationHref + '#' + elementData.maskId + ')');\r\n }\r\n }\r\n \r\n if(data.ty === 'st' || data.ty === 'gs') {\r\n pathElement.setAttribute('stroke-linecap', this.lcEnum[data.lc] || 'round');\r\n pathElement.setAttribute('stroke-linejoin',this.ljEnum[data.lj] || 'round');\r\n pathElement.setAttribute('fill-opacity','0');\r\n if(data.lj === 1) {\r\n pathElement.setAttribute('stroke-miterlimit',data.ml);\r\n }\r\n }\r\n\r\n if(data.r === 2) {\r\n pathElement.setAttribute('fill-rule', 'evenodd');\r\n }\r\n\r\n if(data.ln){\r\n pathElement.setAttribute('id',data.ln);\r\n }\r\n if(data.cl){\r\n pathElement.setAttribute('class',data.cl);\r\n }\r\n if(data.bm){\r\n pathElement.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n this.stylesList.push(styleOb);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createGroupElement = function(data) {\r\n var elementData = new ShapeGroupData();\r\n if(data.ln){\r\n elementData.gr.setAttribute('id',data.ln);\r\n }\r\n if(data.cl){\r\n elementData.gr.setAttribute('class',data.cl);\r\n }\r\n if(data.bm){\r\n elementData.gr.style['mix-blend-mode'] = getBlendMode(data.bm);\r\n }\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createTransformElement = function(data, container) {\r\n var transformProperty = TransformPropertyFactory.getTransformProperty(this,data,this);\r\n var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.createShapeElement = function(data, ownTransformers, level) {\r\n var ty = 4;\r\n if(data.ty === 'rc'){\r\n ty = 5;\r\n }else if(data.ty === 'el'){\r\n ty = 6;\r\n }else if(data.ty === 'sr'){\r\n ty = 7;\r\n }\r\n var shapeProperty = ShapePropertyFactory.getShapeProp(this,data,ty,this);\r\n var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n this.addToAnimatedContents(data, elementData);\r\n return elementData;\r\n};\r\n\r\nSVGShapeElement.prototype.addToAnimatedContents = function(data, element) {\r\n var i = 0, len = this.animatedContents.length;\r\n while(i < len) {\r\n if(this.animatedContents[i].element === element) {\r\n return;\r\n }\r\n i += 1;\r\n }\r\n this.animatedContents.push({\r\n fn: SVGElementsRenderer.createRenderFunction(data),\r\n element: element,\r\n data: data\r\n });\r\n};\r\n\r\nSVGShapeElement.prototype.setElementStyles = function(elementData){\r\n var arr = elementData.styles;\r\n var j, jLen = this.stylesList.length;\r\n for (j = 0; j < jLen; j += 1) {\r\n if (!this.stylesList[j].closed) {\r\n arr.push(this.stylesList[j]);\r\n }\r\n }\r\n};\r\n\r\nSVGShapeElement.prototype.reloadShapes = function(){\r\n this._isFirstFrame = true;\r\n var i, len = this.itemsData.length;\r\n for( i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement, 0, [], true);\r\n this.filterUniqueShapes();\r\n len = this.dynamicProperties.length;\r\n for(i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n};\r\n\r\nSVGShapeElement.prototype.searchShapes = function(arr,itemsData,prevViewData,container, level, transformers, render){\r\n var ownTransformers = [].concat(transformers);\r\n var i, len = arr.length - 1;\r\n var j, jLen;\r\n var ownStyles = [], ownModifiers = [], styleOb, currentTransform, modifier, processedPos;\r\n for(i=len;i>=0;i-=1){\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if(!processedPos){\r\n arr[i]._render = render;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if(arr[i].ty == 'fl' || arr[i].ty == 'st' || arr[i].ty == 'gf' || arr[i].ty == 'gs'){\r\n if(!processedPos){\r\n itemsData[i] = this.createStyleElement(arr[i], level);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n if(arr[i]._render){\r\n container.appendChild(itemsData[i].style.pElem);\r\n }\r\n ownStyles.push(itemsData[i].style);\r\n }else if(arr[i].ty == 'gr'){\r\n if(!processedPos){\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for(j=0;j horizontal & vertical\r\n // 2 -> horizontal only\r\n // 3 -> vertical only\r\n //\r\n var dimensions = this.filterManager.effectElements[1].p.v;\r\n var sigmaX = (dimensions == 3) ? 0 : sigma;\r\n var sigmaY = (dimensions == 2) ? 0 : sigma;\r\n\r\n this.feGaussianBlur.setAttribute('stdDeviation', sigmaX + \" \" + sigmaY);\r\n\r\n // Repeat edges mapping:\r\n //\r\n // 0 -> off -> duplicate\r\n // 1 -> on -> wrap\r\n var edgeMode = (this.filterManager.effectElements[2].p.v == 1) ? 'wrap' : 'duplicate';\r\n this.feGaussianBlur.setAttribute('edgeMode', edgeMode);\r\n }\r\n}\r\nfunction SVGStrokeEffect(elem, filterManager){\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.elem = elem;\r\n this.paths = [];\r\n}\r\n\r\nSVGStrokeEffect.prototype.initialize = function(){\r\n\r\n var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n var path,groupPath, i, len;\r\n if(this.filterManager.effectElements[1].p.v === 1){\r\n len = this.elem.maskManager.masksProperties.length;\r\n i = 0;\r\n } else {\r\n i = this.filterManager.effectElements[0].p.v - 1;\r\n len = i + 1;\r\n }\r\n groupPath = createNS('g'); \r\n groupPath.setAttribute('fill','none');\r\n groupPath.setAttribute('stroke-linecap','round');\r\n groupPath.setAttribute('stroke-dashoffset',1);\r\n for(i;i= max){\r\n colorValue = inputDelta < 0 ? outputBlack : outputWhite;\r\n } else {\r\n colorValue = (outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma));\r\n }\r\n table[pos++] = colorValue;\r\n cnt += 256/(segments-1);\r\n }\r\n return table.join(' ');\r\n};\r\n\r\nSVGProLevelsFilter.prototype.renderFrame = function(forceRender){\r\n if(forceRender || this.filterManager._mdf){\r\n var val, cnt, perc, bezier;\r\n var effectElements = this.filterManager.effectElements;\r\n if(this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)){\r\n val = this.getTableValue(effectElements[3].p.v,effectElements[4].p.v,effectElements[5].p.v,effectElements[6].p.v,effectElements[7].p.v);\r\n this.feFuncRComposed.setAttribute('tableValues',val);\r\n this.feFuncGComposed.setAttribute('tableValues',val);\r\n this.feFuncBComposed.setAttribute('tableValues',val);\r\n }\r\n\r\n\r\n if(this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)){\r\n val = this.getTableValue(effectElements[10].p.v,effectElements[11].p.v,effectElements[12].p.v,effectElements[13].p.v,effectElements[14].p.v);\r\n this.feFuncR.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)){\r\n val = this.getTableValue(effectElements[17].p.v,effectElements[18].p.v,effectElements[19].p.v,effectElements[20].p.v,effectElements[21].p.v);\r\n this.feFuncG.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)){\r\n val = this.getTableValue(effectElements[24].p.v,effectElements[25].p.v,effectElements[26].p.v,effectElements[27].p.v,effectElements[28].p.v);\r\n this.feFuncB.setAttribute('tableValues',val);\r\n }\r\n\r\n if(this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)){\r\n val = this.getTableValue(effectElements[31].p.v,effectElements[32].p.v,effectElements[33].p.v,effectElements[34].p.v,effectElements[35].p.v);\r\n this.feFuncA.setAttribute('tableValues',val);\r\n }\r\n \r\n }\r\n};\r\nfunction SVGDropShadowEffect(filter, filterManager) {\r\n var filterSize = filterManager.container.globalData.renderConfig.filterSize\r\n filter.setAttribute('x', filterSize.x);\r\n filter.setAttribute('y', filterSize.y);\r\n filter.setAttribute('width', filterSize.width);\r\n filter.setAttribute('height', filterSize.height);\r\n this.filterManager = filterManager;\r\n\r\n var feGaussianBlur = createNS('feGaussianBlur');\r\n feGaussianBlur.setAttribute('in','SourceAlpha');\r\n feGaussianBlur.setAttribute('result','drop_shadow_1');\r\n feGaussianBlur.setAttribute('stdDeviation','0');\r\n this.feGaussianBlur = feGaussianBlur;\r\n filter.appendChild(feGaussianBlur);\r\n\r\n var feOffset = createNS('feOffset');\r\n feOffset.setAttribute('dx','25');\r\n feOffset.setAttribute('dy','0');\r\n feOffset.setAttribute('in','drop_shadow_1');\r\n feOffset.setAttribute('result','drop_shadow_2');\r\n this.feOffset = feOffset;\r\n filter.appendChild(feOffset);\r\n var feFlood = createNS('feFlood');\r\n feFlood.setAttribute('flood-color','#00ff00');\r\n feFlood.setAttribute('flood-opacity','1');\r\n feFlood.setAttribute('result','drop_shadow_3');\r\n this.feFlood = feFlood;\r\n filter.appendChild(feFlood);\r\n\r\n var feComposite = createNS('feComposite');\r\n feComposite.setAttribute('in','drop_shadow_3');\r\n feComposite.setAttribute('in2','drop_shadow_2');\r\n feComposite.setAttribute('operator','in');\r\n feComposite.setAttribute('result','drop_shadow_4');\r\n filter.appendChild(feComposite);\r\n\r\n\r\n var feMerge = createNS('feMerge');\r\n filter.appendChild(feMerge);\r\n var feMergeNode;\r\n feMergeNode = createNS('feMergeNode');\r\n feMerge.appendChild(feMergeNode);\r\n feMergeNode = createNS('feMergeNode');\r\n feMergeNode.setAttribute('in','SourceGraphic');\r\n this.feMergeNode = feMergeNode;\r\n this.feMerge = feMerge;\r\n this.originalNodeAdded = false;\r\n feMerge.appendChild(feMergeNode);\r\n}\r\n\r\nSVGDropShadowEffect.prototype.renderFrame = function(forceRender){\r\n if(forceRender || this.filterManager._mdf){\r\n if(forceRender || this.filterManager.effectElements[4].p._mdf){\r\n this.feGaussianBlur.setAttribute('stdDeviation', this.filterManager.effectElements[4].p.v / 4);\r\n }\r\n if(forceRender || this.filterManager.effectElements[0].p._mdf){\r\n var col = this.filterManager.effectElements[0].p.v;\r\n this.feFlood.setAttribute('flood-color',rgbToHex(Math.round(col[0]*255),Math.round(col[1]*255),Math.round(col[2]*255)));\r\n }\r\n if(forceRender || this.filterManager.effectElements[1].p._mdf){\r\n this.feFlood.setAttribute('flood-opacity',this.filterManager.effectElements[1].p.v/255);\r\n }\r\n if(forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf){\r\n var distance = this.filterManager.effectElements[3].p.v;\r\n var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;\r\n var x = distance * Math.cos(angle);\r\n var y = distance * Math.sin(angle);\r\n this.feOffset.setAttribute('dx', x);\r\n this.feOffset.setAttribute('dy', y);\r\n }\r\n /*if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n this.feMerge.removeChild(this.feMergeNode);\r\n this.originalNodeAdded = false;\r\n } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n this.feMerge.appendChild(this.feMergeNode);\r\n this.originalNodeAdded = true;\r\n }\r\n }*/\r\n }\r\n};\r\nvar _svgMatteSymbols = [];\r\n\r\nfunction SVGMatte3Effect(filterElem, filterManager, elem){\r\n this.initialized = false;\r\n this.filterManager = filterManager;\r\n this.filterElem = filterElem;\r\n this.elem = elem;\r\n elem.matteElement = createNS('g');\r\n elem.matteElement.appendChild(elem.layerElement);\r\n elem.matteElement.appendChild(elem.transformedElement);\r\n elem.baseElement = elem.matteElement;\r\n}\r\n\r\nSVGMatte3Effect.prototype.findSymbol = function(mask) {\r\n var i = 0, len = _svgMatteSymbols.length;\r\n while(i < len) {\r\n if(_svgMatteSymbols[i] === mask) {\r\n return _svgMatteSymbols[i];\r\n }\r\n i += 1;\r\n }\r\n return null;\r\n};\r\n\r\nSVGMatte3Effect.prototype.replaceInParent = function(mask, symbolId) {\r\n var parentNode = mask.layerElement.parentNode;\r\n if(!parentNode) {\r\n return;\r\n }\r\n var children = parentNode.children;\r\n var i = 0, len = children.length;\r\n while (i < len) {\r\n if (children[i] === mask.layerElement) {\r\n break;\r\n }\r\n i += 1;\r\n }\r\n var nextChild;\r\n if (i <= len - 2) {\r\n nextChild = children[i + 1];\r\n }\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n if(nextChild) {\r\n parentNode.insertBefore(useElem, nextChild);\r\n } else {\r\n parentNode.appendChild(useElem);\r\n }\r\n};\r\n\r\nSVGMatte3Effect.prototype.setElementAsMask = function(elem, mask) {\r\n if(!this.findSymbol(mask)) {\r\n var symbolId = createElementID();\r\n var masker = createNS('mask');\r\n masker.setAttribute('id', mask.layerId);\r\n masker.setAttribute('mask-type', 'alpha');\r\n _svgMatteSymbols.push(mask);\r\n var defs = elem.globalData.defs;\r\n defs.appendChild(masker);\r\n var symbol = createNS('symbol');\r\n symbol.setAttribute('id', symbolId);\r\n this.replaceInParent(mask, symbolId);\r\n symbol.appendChild(mask.layerElement);\r\n defs.appendChild(symbol);\r\n var useElem = createNS('use');\r\n useElem.setAttribute('href', '#' + symbolId);\r\n masker.appendChild(useElem);\r\n mask.data.hd = false;\r\n mask.show();\r\n }\r\n elem.setMatte(mask.layerId);\r\n};\r\n\r\nSVGMatte3Effect.prototype.initialize = function() {\r\n var ind = this.filterManager.effectElements[0].p.v;\r\n var elements = this.elem.comp.elements;\r\n var i = 0, len = elements.length;\r\n while (i < len) {\r\n \tif (elements[i] && elements[i].data.ind === ind) {\r\n \t\tthis.setElementAsMask(this.elem, elements[i]);\r\n \t}\r\n \ti += 1;\r\n }\r\n this.initialized = true;\r\n};\r\n\r\nSVGMatte3Effect.prototype.renderFrame = function() {\r\n\tif(!this.initialized) {\r\n\t\tthis.initialize();\r\n\t}\r\n};\r\nfunction SVGEffects(elem){\r\n var i, len = elem.data.ef ? elem.data.ef.length : 0;\r\n var filId = createElementID();\r\n var fil = filtersFactory.createFilter(filId);\r\n var count = 0;\r\n this.filters = [];\r\n var filterManager;\r\n for(i=0;i canvasRel && par === 'xMidYMid slice') || (imgRel < canvasRel && par !== 'xMidYMid slice')) {\r\n heightCrop = imgH;\r\n widthCrop = heightCrop*canvasRel;\r\n } else {\r\n widthCrop = imgW;\r\n heightCrop = widthCrop/canvasRel;\r\n }\r\n ctx.drawImage(this.img,(imgW-widthCrop)/2,(imgH-heightCrop)/2,widthCrop,heightCrop,0,0,this.assetData.w,this.assetData.h);\r\n this.img = canvas;\r\n }\r\n\r\n};\r\n\r\nCVImageElement.prototype.renderInnerContent = function(parentMatrix){\r\n this.canvasContext.drawImage(this.img, 0, 0);\r\n};\r\n\r\nCVImageElement.prototype.destroy = function(){\r\n this.img = null;\r\n};\r\nfunction CVCompElement(data, globalData, comp) {\r\n this.completeLayers = false;\r\n this.layers = data.layers;\r\n this.pendingElements = [];\r\n this.elements = createSizedArray(this.layers.length);\r\n this.initElement(data, globalData, comp);\r\n this.tm = data.tm ? PropertyFactory.getProp(this,data.tm,0,globalData.frameRate, this) : {_placeholder:true};\r\n}\r\n\r\nextendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\r\n\r\nCVCompElement.prototype.renderInnerContent = function() {\r\n var ctx = this.canvasContext;\r\n ctx.beginPath();\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.data.w, 0);\r\n ctx.lineTo(this.data.w, this.data.h);\r\n ctx.lineTo(0, this.data.h);\r\n ctx.lineTo(0, 0);\r\n ctx.clip();\r\n var i,len = this.layers.length;\r\n for( i = len - 1; i >= 0; i -= 1 ){\r\n if(this.completeLayers || this.elements[i]){\r\n this.elements[i].renderFrame();\r\n }\r\n }\r\n};\r\n\r\nCVCompElement.prototype.destroy = function(){\r\n var i,len = this.layers.length;\r\n for( i = len - 1; i >= 0; i -= 1 ){\r\n if(this.elements[i]) {\r\n this.elements[i].destroy();\r\n }\r\n }\r\n this.layers = null;\r\n this.elements = null;\r\n};\r\n\r\nfunction CVMaskElement(data,element){\r\n this.data = data;\r\n this.element = element;\r\n this.masksProperties = this.data.masksProperties || [];\r\n this.viewData = createSizedArray(this.masksProperties.length);\r\n var i, len = this.masksProperties.length, hasMasks = false;\r\n for (i = 0; i < len; i++) {\r\n if(this.masksProperties[i].mode !== 'n'){\r\n hasMasks = true;\r\n }\r\n this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3);\r\n }\r\n this.hasMasks = hasMasks;\r\n if(hasMasks) {\r\n this.element.addRenderableComponent(this);\r\n }\r\n}\r\n\r\nCVMaskElement.prototype.renderFrame = function () {\r\n if(!this.hasMasks){\r\n return;\r\n }\r\n var transform = this.element.finalTransform.mat;\r\n var ctx = this.element.canvasContext;\r\n var i, len = this.masksProperties.length;\r\n var pt,pts,data;\r\n ctx.beginPath();\r\n for (i = 0; i < len; i++) {\r\n if(this.masksProperties[i].mode !== 'n'){\r\n if (this.masksProperties[i].inv) {\r\n ctx.moveTo(0, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, 0);\r\n ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, this.element.globalData.compSize.h);\r\n ctx.lineTo(0, 0);\r\n }\r\n data = this.viewData[i].v;\r\n pt = transform.applyToPointArray(data.v[0][0],data.v[0][1],0);\r\n ctx.moveTo(pt[0], pt[1]);\r\n var j, jLen = data._length;\r\n for (j = 1; j < jLen; j++) {\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\r\n ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\r\n }\r\n }\r\n this.element.globalData.renderer.save(true);\r\n ctx.clip();\r\n};\r\n\r\nCVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\r\n\r\nCVMaskElement.prototype.destroy = function(){\r\n this.element = null;\r\n};\r\nfunction CVShapeElement(data, globalData, comp) {\r\n this.shapes = [];\r\n this.shapesData = data.shapes;\r\n this.stylesList = [];\r\n this.itemsData = [];\r\n this.prevViewData = [];\r\n this.shapeModifiers = [];\r\n this.processedElements = [];\r\n this.transformsManager = new ShapeTransformManager();\r\n this.initElement(data, globalData, comp);\r\n}\r\n\r\nextendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement], CVShapeElement);\r\n\r\nCVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\r\n\r\nCVShapeElement.prototype.transformHelper = {opacity:1,_opMdf:false};\r\n\r\nCVShapeElement.prototype.dashResetter = [];\r\n\r\nCVShapeElement.prototype.createContent = function(){\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);\r\n};\r\n\r\nCVShapeElement.prototype.createStyleElement = function(data, transforms) {\r\n var styleElem = {\r\n data: data,\r\n type: data.ty,\r\n preTransforms: this.transformsManager.addTransformSequence(transforms),\r\n transforms: [],\r\n elements: [],\r\n closed: data.hd === true\r\n };\r\n var elementData = {};\r\n if(data.ty == 'fl' || data.ty == 'st'){\r\n elementData.c = PropertyFactory.getProp(this,data.c,1,255,this);\r\n if(!elementData.c.k){\r\n styleElem.co = 'rgb('+bm_floor(elementData.c.v[0])+','+bm_floor(elementData.c.v[1])+','+bm_floor(elementData.c.v[2])+')';\r\n }\r\n } else if (data.ty === 'gf' || data.ty === 'gs') {\r\n elementData.s = PropertyFactory.getProp(this,data.s,1,null,this);\r\n elementData.e = PropertyFactory.getProp(this,data.e,1,null,this);\r\n elementData.h = PropertyFactory.getProp(this,data.h||{k:0},0,0.01,this);\r\n elementData.a = PropertyFactory.getProp(this,data.a||{k:0},0,degToRads,this);\r\n elementData.g = new GradientProperty(this,data.g,this);\r\n }\r\n elementData.o = PropertyFactory.getProp(this,data.o,0,0.01,this);\r\n if(data.ty == 'st' || data.ty == 'gs') {\r\n styleElem.lc = this.lcEnum[data.lc] || 'round';\r\n styleElem.lj = this.ljEnum[data.lj] || 'round';\r\n if(data.lj == 1) {\r\n styleElem.ml = data.ml;\r\n }\r\n elementData.w = PropertyFactory.getProp(this,data.w,0,null,this);\r\n if(!elementData.w.k){\r\n styleElem.wi = elementData.w.v;\r\n }\r\n if(data.d){\r\n var d = new DashProperty(this,data.d,'canvas', this);\r\n elementData.d = d;\r\n if(!elementData.d.k){\r\n styleElem.da = elementData.d.dashArray;\r\n styleElem.do = elementData.d.dashoffset[0];\r\n }\r\n }\r\n } else {\r\n styleElem.r = data.r === 2 ? 'evenodd' : 'nonzero';\r\n }\r\n this.stylesList.push(styleElem);\r\n elementData.style = styleElem;\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createGroupElement = function(data) {\r\n var elementData = {\r\n it: [],\r\n prevViewData: []\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createTransformElement = function(data) {\r\n var elementData = {\r\n transform : {\r\n opacity: 1,\r\n _opMdf:false,\r\n key: this.transformsManager.getNewKey(),\r\n op: PropertyFactory.getProp(this,data.o,0,0.01,this),\r\n mProps: TransformPropertyFactory.getTransformProperty(this,data,this)\r\n }\r\n };\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.createShapeElement = function(data) {\r\n var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);\r\n \r\n this.shapes.push(elementData);\r\n this.addShapeToModifiers(elementData);\r\n return elementData;\r\n};\r\n\r\nCVShapeElement.prototype.reloadShapes = function() {\r\n this._isFirstFrame = true;\r\n var i, len = this.itemsData.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.prevViewData[i] = this.itemsData[i];\r\n }\r\n this.searchShapes(this.shapesData,this.itemsData,this.prevViewData, true, []);\r\n len = this.dynamicProperties.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.dynamicProperties[i].getValue();\r\n }\r\n this.renderModifiers();\r\n this.transformsManager.processSequences(this._isFirstFrame);\r\n};\r\n\r\nCVShapeElement.prototype.addTransformToStyleList = function(transform) {\r\n var i, len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.push(transform);\r\n }\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.removeTransformFromStyleList = function() {\r\n var i, len = this.stylesList.length;\r\n for (i = 0; i < len; i += 1) {\r\n if(!this.stylesList[i].closed) {\r\n this.stylesList[i].transforms.pop();\r\n }\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.closeStyles = function(styles) {\r\n var i, len = styles.length, j, jLen;\r\n for (i = 0; i < len; i += 1) {\r\n styles[i].closed = true;\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.searchShapes = function(arr,itemsData, prevViewData, shouldRender, transforms){\r\n var i, len = arr.length - 1;\r\n var j, jLen;\r\n var ownStyles = [], ownModifiers = [], processedPos, modifier, currentTransform;\r\n var ownTransforms = [].concat(transforms);\r\n for(i=len;i>=0;i-=1){\r\n processedPos = this.searchProcessedElement(arr[i]);\r\n if(!processedPos){\r\n arr[i]._shouldRender = shouldRender;\r\n } else {\r\n itemsData[i] = prevViewData[processedPos - 1];\r\n }\r\n if(arr[i].ty == 'fl' || arr[i].ty == 'st'|| arr[i].ty == 'gf'|| arr[i].ty == 'gs'){\r\n if(!processedPos){\r\n itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\r\n } else {\r\n itemsData[i].style.closed = false;\r\n }\r\n \r\n ownStyles.push(itemsData[i].style);\r\n }else if(arr[i].ty == 'gr'){\r\n if(!processedPos){\r\n itemsData[i] = this.createGroupElement(arr[i]);\r\n } else {\r\n jLen = itemsData[i].it.length;\r\n for(j=0;j=0;i-=1){\r\n if(items[i].ty == 'tr'){\r\n groupTransform = data[i].transform;\r\n this.renderShapeTransform(parentTransform, groupTransform);\r\n }else if(items[i].ty == 'sh' || items[i].ty == 'el' || items[i].ty == 'rc' || items[i].ty == 'sr'){\r\n this.renderPath(items[i],data[i]);\r\n }else if(items[i].ty == 'fl'){\r\n this.renderFill(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'st'){\r\n this.renderStroke(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'gf' || items[i].ty == 'gs'){\r\n this.renderGradientFill(items[i],data[i],groupTransform);\r\n }else if(items[i].ty == 'gr'){\r\n this.renderShape(groupTransform,items[i].it,data[i].it);\r\n }else if(items[i].ty == 'tm'){\r\n //\r\n }\r\n }\r\n if(isMain){\r\n this.drawLayer();\r\n }\r\n \r\n};\r\n\r\nCVShapeElement.prototype.renderStyledShape = function(styledShape, shape){\r\n if(this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\r\n var shapeNodes = styledShape.trNodes;\r\n var paths = shape.paths;\r\n var i, len, j, jLen = paths._length;\r\n shapeNodes.length = 0;\r\n var groupTransformMat = styledShape.transforms.finalTransform;\r\n for (j = 0; j < jLen; j += 1) {\r\n var pathNodes = paths.shapes[j];\r\n if(pathNodes && pathNodes.v){\r\n len = pathNodes._length;\r\n for (i = 1; i < len; i += 1) {\r\n if (i === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\r\n });\r\n }\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\r\n });\r\n }\r\n if (len === 1) {\r\n shapeNodes.push({\r\n t: 'm',\r\n p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\r\n });\r\n }\r\n if (pathNodes.c && len) {\r\n shapeNodes.push({\r\n t: 'c',\r\n pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\r\n });\r\n shapeNodes.push({\r\n t: 'z'\r\n });\r\n }\r\n }\r\n }\r\n styledShape.trNodes = shapeNodes;\r\n }\r\n}\r\n\r\nCVShapeElement.prototype.renderPath = function(pathData,itemData){\r\n if(pathData.hd !== true && pathData._shouldRender) {\r\n var i, len = itemData.styledShapes.length;\r\n for (i = 0; i < len; i += 1) {\r\n this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\r\n }\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderFill = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n\r\n if (itemData.c._mdf || this._isFirstFrame) {\r\n styleElem.co = 'rgb(' \r\n + bm_floor(itemData.c.v[0]) + ',' \r\n + bm_floor(itemData.c.v[1]) + ',' \r\n + bm_floor(itemData.c.v[2]) + ')';\r\n }\r\n if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) {\r\n styleElem.coOp = itemData.o.v * groupTransform.opacity;\r\n }\r\n};\r\n\r\nCVShapeElement.prototype.renderGradientFill = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n if(!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || (styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf))) {\r\n var ctx = this.globalData.canvasContext;\r\n var grd;\r\n var pt1 = itemData.s.v, pt2 = itemData.e.v;\r\n if (styleData.t === 1) {\r\n grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\r\n } else {\r\n var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\r\n var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\r\n\r\n var percent = itemData.h.v >= 1 ? 0.99 : itemData.h.v <= -1 ? -0.99: itemData.h.v;\r\n var dist = rad * percent;\r\n var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\r\n var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\r\n var grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\r\n }\r\n\r\n var i, len = styleData.g.p;\r\n var cValues = itemData.g.c;\r\n var opacity = 1;\r\n\r\n for (i = 0; i < len; i += 1){\r\n if(itemData.g._hasOpacity && itemData.g._collapsable) {\r\n opacity = itemData.g.o[i*2 + 1];\r\n }\r\n grd.addColorStop(cValues[i * 4] / 100,'rgba('+ cValues[i * 4 + 1] + ',' + cValues[i * 4 + 2] + ','+cValues[i * 4 + 3] + ',' + opacity + ')');\r\n }\r\n styleElem.grd = grd;\r\n }\r\n styleElem.coOp = itemData.o.v*groupTransform.opacity;\r\n \r\n};\r\n\r\nCVShapeElement.prototype.renderStroke = function(styleData,itemData, groupTransform){\r\n var styleElem = itemData.style;\r\n var d = itemData.d;\r\n if(d && (d._mdf || this._isFirstFrame)){\r\n styleElem.da = d.dashArray;\r\n styleElem.do = d.dashoffset[0];\r\n }\r\n if(itemData.c._mdf || this._isFirstFrame){\r\n styleElem.co = 'rgb('+bm_floor(itemData.c.v[0])+','+bm_floor(itemData.c.v[1])+','+bm_floor(itemData.c.v[2])+')';\r\n }\r\n if(itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame){\r\n styleElem.coOp = itemData.o.v*groupTransform.opacity;\r\n }\r\n if(itemData.w._mdf || this._isFirstFrame){\r\n styleElem.wi = itemData.w.v;\r\n }\r\n};\r\n\r\n\r\nCVShapeElement.prototype.destroy = function(){\r\n this.shapesData = null;\r\n this.globalData = null;\r\n this.canvasContext = null;\r\n this.stylesList.length = 0;\r\n this.itemsData.length = 0;\r\n};\r\n\r\n\r\nfunction CVSolidElement(data, globalData, comp) {\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\r\n\r\nCVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\r\nCVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\r\n\r\nCVSolidElement.prototype.renderInnerContent = function() {\r\n var ctx = this.canvasContext;\r\n ctx.fillStyle = this.data.sc;\r\n ctx.fillRect(0, 0, this.data.sw, this.data.sh);\r\n //\r\n};\r\nfunction CVTextElement(data, globalData, comp){\r\n this.textSpans = [];\r\n this.yOffset = 0;\r\n this.fillColorAnim = false;\r\n this.strokeColorAnim = false;\r\n this.strokeWidthAnim = false;\r\n this.stroke = false;\r\n this.fill = false;\r\n this.justifyOffset = 0;\r\n this.currentRender = null;\r\n this.renderType = 'canvas';\r\n this.values = {\r\n fill: 'rgba(0,0,0,0)',\r\n stroke: 'rgba(0,0,0,0)',\r\n sWidth: 0,\r\n fValue: ''\r\n };\r\n this.initElement(data,globalData,comp);\r\n}\r\nextendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement], CVTextElement);\r\n\r\nCVTextElement.prototype.tHelper = createTag('canvas').getContext('2d');\r\n\r\nCVTextElement.prototype.buildNewText = function(){\r\n var documentData = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\r\n\r\n var hasFill = false;\r\n if(documentData.fc) {\r\n hasFill = true;\r\n this.values.fill = this.buildColor(documentData.fc);\r\n }else{\r\n this.values.fill = 'rgba(0,0,0,0)';\r\n }\r\n this.fill = hasFill;\r\n var hasStroke = false;\r\n if(documentData.sc){\r\n hasStroke = true;\r\n this.values.stroke = this.buildColor(documentData.sc);\r\n this.values.sWidth = documentData.sw;\r\n }\r\n var fontData = this.globalData.fontManager.getFontByName(documentData.f);\r\n var i, len;\r\n var letters = documentData.l;\r\n var matrixHelper = this.mHelper;\r\n this.stroke = hasStroke;\r\n this.values.fValue = documentData.finalSize + 'px '+ this.globalData.fontManager.getFontByName(documentData.f).fFamily;\r\n len = documentData.finalText.length;\r\n //this.tHelper.font = this.values.fValue;\r\n var charData, shapeData, k, kLen, shapes, j, jLen, pathNodes, commands, pathArr, singleShape = this.data.singleShape;\r\n var trackingOffset = documentData.tr/1000*documentData.finalSize;\r\n var xPos = 0, yPos = 0, firstLine = true;\r\n var cnt = 0;\r\n for (i = 0; i < len; i += 1) {\r\n charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);\r\n shapeData = charData && charData.data || {};\r\n matrixHelper.reset();\r\n if(singleShape && letters[i].n) {\r\n xPos = -trackingOffset;\r\n yPos += documentData.yOffset;\r\n yPos += firstLine ? 1 : 0;\r\n firstLine = false;\r\n }\r\n\r\n shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\r\n jLen = shapes.length;\r\n matrixHelper.scale(documentData.finalSize/100,documentData.finalSize/100);\r\n if(singleShape){\r\n this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\r\n }\r\n commands = createSizedArray(jLen);\r\n for(j=0;j