// source --> https://theweekendpages.com/wp-content/plugins/interactive-3d-flipbook-powered-physics-engine/assets/js/3d-flip-book.min.js?ver=1.15.4 !function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var installedModules={};__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module.default}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=76)}([function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _$=window.jQuery,_html2canvas=window.html2canvas,_THREE=window.THREE,_React=window.React,_ReactDOM=window.ReactDOM,_PDFJS=window.pdfjsLib,_tr=function(s){return(window.iberezansky||{}).tr&&window.iberezansky.tr(s)||s};exports.$=_$,exports.html2canvas=_html2canvas,exports.THREE=_THREE,exports.React=_React,exports.ReactDOM=_ReactDOM,exports.PDFJS=_PDFJS,exports.tr=_tr},function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i4&&void 0!==arguments[4]?arguments[4]:BaseMathUtils.sum[y.length-1],k1=dy(t,y),k2=dy(t+dt/2,sum(1,y,dt/2,k1)),k3=dy(t+dt/2,sum(1,y,dt/2,k2)),k4=dy(t+dt,sum(1,y,dt,k3));return sum(1,y,dt/6,sum(1,sum(1,k1,2,k2),1,sum(2,k3,1,k4)))},BaseMathUtils.extrapolateLinear=function(x,y,xi){return y[0]+(y[1]-y[0])/(x[1]-x[0])*(xi-x[0])},BaseMathUtils.interpolateLinear=function(x,y,xi){return x[0]>x[1]&&(x=x.reverse(),y=y.reverse()),xix[1]?y[1]:BaseMathUtils.extrapolateLinear(x,y,xi)},BaseMathUtils.calcScale=function(srcW,srcH,dstW,dstH){return dstW/srcW},BaseMathUtils.mulM=function(a,b){for(var r=[],i=0;i=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}s+=_ref}return s/data.length},BaseMathUtils.disp=function(data){for(var M=BaseMathUtils.mat(data),s=0,_iterator2=data,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:_iterator2[Symbol.iterator]();;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++]}else{if(_i2=_iterator2.next(),_i2.done)break;_ref2=_i2.value}var x=_ref2;s+=(x-M)*(x-M)}return s/data.length},BaseMathUtils.predict1=function(data,num){var r=[],l=data.length;if(BaseMathUtils.disp(data)1){for(var am=[],bm=[],i=0;i0;++_i4)cur+=sgns,r.push(cur);return r},BaseMathUtils.getUnique=function(){return Math.ceil(1e9*Math.random())},BaseMathUtils.setSplinePoints=function(spline,ps){spline.points.length!==ps.x.length&&console.warn("setSplinePoints: bad points");for(var i=0;iBaseMathUtils.eps){res={x:BaseMathUtils.det2(b1,a1[1],b2,a2[1])/d,y:BaseMathUtils.det2(a1[0],b1,a2[0],b2)/d}}return res},BaseMathUtils.isInsidePoly=function(ps,p){for(var done=!1,ct=void 0,i=0;iMath.min(p0.x,p1.x)-BaseMathUtils.eps&&ip.xMath.min(p0.y,p1.y)-BaseMathUtils.eps&&ip.y0}}}}return ct%2},BaseMathUtils.isInsideConvPoly=function(ps,p){for(var sg=[0,0],i=0;i]/g,Utils._escapeHTMLclb)},Utils.extends=function(der,base){for(var name in base)der.hasOwnProperty(name)||(der[name]=base[name])},Utils.defaultCmp=function(a,b){return a-b},Utils.lowerBound=function(a,x,cmp){cmp=cmp||Utils.defaultCmp;for(var l=0,h=a.length-1;h-l>1;){var mid=Math.floor((l+h)/2);cmp(x,a[mid])<0?h=mid:l=mid}return cmp(x,a[h])>=0?h:l},Utils}();Utils.MOBILE_DIAG=11,Utils._escapeHTMLchars={"&":"&","<":"<",">":">"},exports.default=Utils},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var GraphUtils=function(){function GraphUtils(){_classCallCheck(this,GraphUtils)}return GraphUtils.createCanvas=function(width,height){var c=document.createElement("canvas");return width&&(c.width=width),height&&(c.height=height),c},GraphUtils.extrapolateLinear=function(x,y,xi){return y[0]+(y[1]-y[0])/(x[1]-x[0])*(xi-x[0])},GraphUtils.interpolate01=function(y1,y2,t){return GraphUtils.extrapolateLinear([0,1],[y1,y2],t)},GraphUtils.getColorBytes=function(color){return[color>>16&255,color>>8&255,255&color]},GraphUtils.inverseColor=function(color){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,bs=GraphUtils.getColorBytes(color),ibs=[255-bs[0],255-bs[1],255-bs[2]],nbs=[Math.round(GraphUtils.interpolate01(bs[0],ibs[0],t)),Math.round(GraphUtils.interpolate01(bs[1],ibs[1],t)),Math.round(GraphUtils.interpolate01(bs[2],ibs[2],t))];return GraphUtils.bytes2Color(nbs)},GraphUtils.color2Rgba=function(color,a){return GraphUtils.bytes2Rgba(GraphUtils.getColorBytes(color),a)},GraphUtils.bytes2Rgba=function(bs,a){return"rgba("+bs.join(",")+","+a+")"},GraphUtils.bytes2Color=function(bs){return bs[2]|bs[1]<<8|bs[0]<<16},GraphUtils}();exports.default=GraphUtils},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}exports.__esModule=!0;var _libs=__webpack_require__(0),_BaseMathUtils2=__webpack_require__(2),_BaseMathUtils3=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_BaseMathUtils2),MathUtils=function(_BaseMathUtils){function MathUtils(){return _classCallCheck(this,MathUtils),_possibleConstructorReturn(this,_BaseMathUtils.apply(this,arguments))}return _inherits(MathUtils,_BaseMathUtils),MathUtils.splitSpline=function(spline,N){for(var o={len:0,ls:[0]},dl=1/N,i=0;i<=N;++i){var p=spline.getPoint(i*dl);if(i){var d=MathUtils.v1.distanceTo(p);o.len+=d,o.ls.push(d)}MathUtils.v1.copy(p)}return o},MathUtils.getLinearIndeces=function(spline,n){for(var ls=[0],l=0,i=0;i<=5e3;++i){var p=spline.getPoint(2e-4*i);if(i){var d=MathUtils.v1.distanceTo(p);l+=d,ls.push(d)}MathUtils.v1.copy(p)}ls.push(1e7);for(var res=[],dl=l/(n-1),_i=0,L=0,_d=ls[0];_i=1&&(this.c.width=Math.ceil(this.resW)),Math.abs(this.resH-this.c.height)>=1&&(this.c.height=Math.ceil(this.resH)),this.ctx.save(),this.ctx.scale(this.c.width/this.width,this.c.height/this.height),this.ctx},ImageBase.prototype.popCtx=function(){this.ctx.restore()},ImageBase.prototype.renderNotFoundPage=function(){this.renderBlankPage()},ImageBase.prototype.finishRender=function(){var canceled=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.onChange&&this.onChange(this.c,canceled)},ImageBase.prototype.finishLoad=function(){this.onLoad?this.onLoad():this.startRender()},ImageBase.prototype.getSimulatedDoc=function(){},ImageBase}();ImageBase.renderCanvas=_GraphUtils2.default.createCanvas(),ImageBase.renderCanvasCtx=ImageBase.renderCanvas.getContext("2d"),exports.default=ImageBase},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i1&&void 0!==arguments[1]?arguments[1]:0,widthTexels=arguments.length>2&&void 0!==arguments[2]?arguments[2]:210,heightTexels=arguments.length>3&&void 0!==arguments[3]?arguments[3]:297,color=arguments.length>4&&void 0!==arguments[4]?arguments[4]:16777215,injector=arguments.length>5&&void 0!==arguments[5]?arguments[5]:void 0,image=void 0;switch(info.type){case"html":image=new _InteractiveImage2.default(this.context,widthTexels,heightTexels,color,info.src,this.cache,injector);break;case"image":image=new _StaticImage2.default(this.context,widthTexels,heightTexels,color,info.src);break;case"pdf":image=new _PdfImage2.default(this.context,widthTexels,heightTexels,color,info.src,n);break;case"blank":default:image=new _BlankImage2.default(this.context,widthTexels,heightTexels,color)}return image},ImageFactory}();exports.default=ImageFactory},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i4&&void 0!==arguments[4]?arguments[4]:0,_this=this,state=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"closed",height=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;_classCallCheck(this,SheetBlock),this.visual=visual,this.p=_extends({},p,{first:first,last:last});var props=this.getProps(),loadedPoints=this.loadPoints();Object.keys(loadedPoints).map(function(k){_this[k]=loadedPoints[k][props.shape]||loadedPoints[k][0]}),this.pSpline=new _libs.THREE.CatmullRomCurve3([]);for(var i=0;i=_iterator.length)break;_ref=_iterator[_i2++]}else{if(_i2=_iterator.next(),_i2.done)break;_ref=_i2.value}var _i3=_ref,marker=_ThreeUtils2.default.createMarker(this.geometry.vertices[_i3],_i3=_iterator2.length)break;_ref2=_iterator2[_i4++]}else{if(_i4=_iterator2.next(),_i4.done)break;_ref2=_i4.value}var m=_ref2;m.map&&(m.map=null,m.needsUpdate=!0),m.dispose()}delete this.materials,this.geometry.dispose()},SheetBlock.prototype.getSize=function(){return this.p.last-this.p.first},SheetBlock.prototype.getProps=function(){return _extends({},this.p.page,{width:this.p.page.width-(this.reducedWidth?.001*this.p.page.width:0),sheets:this.p.sheets})},SheetBlock.prototype.reduceWidth=function(reducedWidth){this.reducedWidth=reducedWidth,this.set(this.angle)},SheetBlock.prototype.getTopCerners=function(){var off=this.angle>Math.PI/2?0:this.geometry.vertices.length/2;return[this.geometry.vertices[off],this.geometry.vertices[_sheetBlock2.default.resX-1+off],this.geometry.vertices[(_sheetBlock2.default.resZ-1)*_sheetBlock2.default.resX+off],this.geometry.vertices[_sheetBlock2.default.resZ*_sheetBlock2.default.resX-1+off]]},SheetBlock.prototype.getTopSize=function(){var vs=this.getTopCerners(),w0=new _libs.THREE.Vector3,w1=new _libs.THREE.Vector3;return w0.copy(vs[0]),this.three.localToWorld(w0),w1.copy(vs[1]),this.three.localToWorld(w1),{width:Math.abs(w1.x-w0.x),height:vs[0].distanceTo(vs[2])}},SheetBlock.prototype.getTopWorldRotation=function(q){return q.x=-Math.PI/2,q},SheetBlock.prototype.getTopWorldPosition=function(v){var vs=this.getTopCerners();v.set(0,-100,0);for(var w=new _libs.THREE.Vector3,_iterator3=vs,_isArray3=Array.isArray(_iterator3),_i5=0,_iterator3=_isArray3?_iterator3:_iterator3[Symbol.iterator]();;){var _ref3;if(_isArray3){if(_i5>=_iterator3.length)break;_ref3=_iterator3[_i5++]}else{if(_i5=_iterator3.next(),_i5.done)break;_ref3=_i5.value}var vi=_ref3;w.copy(vi),this.three.localToWorld(w),v.x+=.25*w.x,v.y=Math.max(w.y,w.y),v.z+=.25*w.z}return v},SheetBlock.prototype.getInterpolationPoints=function(inds,mod){for(var ps={x:[],y:[]},K=this.getProps().wave,_iterator4=inds,_isArray4=Array.isArray(_iterator4),_i6=0,_iterator4=_isArray4?_iterator4:_iterator4[Symbol.iterator]();;){var _ref4;if(_isArray4){if(_i6>=_iterator4.length)break;_ref4=_iterator4[_i6++]}else{if(_i6=_iterator4.next(),_i6.done)break;_ref4=_i6.value}var i=_ref4;ps.x.push([].concat(this.interpolationPoints.x[i])),ps.y.push(~mod.indexOf(i)?this.interpolationPoints.y[i].map(function(n){return K*n}):[].concat(this.interpolationPoints.y[i]))}return ps},SheetBlock.prototype.set=function(angle){var state=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.state,height=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.corner.height,first=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.p.first,last=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.p.last,flipDirection=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"right",PI=Math.PI;this.state=state;var closedAngle=void 0,binderTurn=void 0;"object"===(void 0===angle?"undefined":_typeof(angle))?(this.angle=angle.openedAngle,closedAngle=angle.closedAngle,binderTurn=angle.binderTurn>PI/2?PI-angle.binderTurn:angle.binderTurn):this.angle=angle,this.corner.height=height,this.p.first===first&&this.p.last===last||(this.sideTexture.repeat.set(0,last-first),this.sideTexture.needsUpdate=!0,this.p.first!==first&&this.p.setTexture(this.materials[0],2*first),this.p.last!==last&&this.p.setTexture(this.materials[1],2*last-1)),this.p.first=first,this.p.last=last;var points=void 0,props=this.getProps();if("closed"===this.state)points=this.getInterpolationPoints(this.closedInterpolationIndeces,this.closedInterpolationIndeces);else if("opened"===this.state)if(void 0!==closedAngle&&Math.abs(closedAngle-PI/2)>.01){points=this.getInterpolationPoints(this.flatInterpolationIndeces,[]);var ps=this.getPointsAtAngle(this.getInterpolationPoints(this.closedInterpolationIndeces,this.closedInterpolationIndeces),closedAngle>PI/2?PI-closedAngle:closedAngle);points.x=[ps.x].concat(points.x),points.y=[ps.y].concat(points.y)}else points=this.getInterpolationPoints(this.openedInterpolationIndeces["right"===flipDirection?this.angle>PI/2?"left":"right":this.anglehr?(hr-=dDepth,hl+=dDepth):(hr+=dDepth,hl-=dDepth);var inAngle=this.angle>PI/2?PI-this.angle:this.angle,hAngle="closed"===this.state?inAngle:void 0===binderTurn?PI/2:binderTurn,_getPointsAtAngleAndH=this.getPointsAtAngleAndHs(points,inAngle,hAngle,[hl/props.width,hr/props.width]),left=_getPointsAtAngleAndH[0],right=_getPointsAtAngleAndH[1];this.angle>PI/2&&(this.inverse(left),this.inverse(right),offset=-offset),this.setPoints(left,right,offset)},SheetBlock.prototype.setPoints=function(left,right,offset){for(var _this2=this,p=this.getProps(),i=0,ys=[right,left],y=0;y<_sheetBlock2.default.resY;++y)for(var z=0;z<_sheetBlock2.default.resZ;++z)for(var x=0;x<_sheetBlock2.default.resX;++x)this.geometry.vertices[i++].set(ys[y].x[x]*p.width+offset,ys[y].y[x]*p.width,z*p.height/(_sheetBlock2.default.resZ-1)-.5*p.height);if(i!==this.geometry.vertices.length&&console.warn("setPoints: bad mapping!"),this.corner.use&&!this.corner.points.length){var plane=new _libs.THREE.Plane,normal=plane.normal,planeOffset=(1-this.getProps().flexibleCorner)*Math.min(p.width,p.height),proj=new _libs.THREE.Vector3;plane.setFromNormalAndCoplanarPoint(new _libs.THREE.Vector3(-1,0,-1).normalize(),new _libs.THREE.Vector3(planeOffset+offset,0,.5*p.height));for(var _i7=0,l=this.geometry.vertices.length;_i70){var d=proj.length()/planeOffset;this.corner.maxDistance=Math.max(this.corner.maxDistance,d),this.corner.points.push({vertex:_i7,distance:d})}}if(this.corner.use&&Math.abs(this.corner.height)>.001){this.corner.axis.set(-1,0,1).normalize(),this.corner.axis.applyAxisAngle(this.corner.OZ,this.angle);for(var _iterator5=this.corner.points,_isArray5=Array.isArray(_iterator5),_i8=0,_iterator5=_isArray5?_iterator5:_iterator5[Symbol.iterator]();;){var _ref5;if(_isArray5){if(_i8>=_iterator5.length)break;_ref5=_iterator5[_i8++]}else{if(_i8=_iterator5.next(),_i8.done)break;_ref5=_i8.value}var point=_ref5;this.geometry.vertices[point.vertex].applyAxisAngle(this.corner.axis,function(d){return p.cornerDeviation*_this2.corner.height/(1+Math.exp(-p.bending*(d-.5*_this2.corner.maxDistance)))}(point.distance))}}for(var _iterator6=this.markers,_isArray6=Array.isArray(_iterator6),_i9=0,_iterator6=_isArray6?_iterator6:_iterator6[Symbol.iterator]();;){var _ref6;if(_isArray6){if(_i9>=_iterator6.length)break;_ref6=_iterator6[_i9++]}else{if(_i9=_iterator6.next(),_i9.done)break;_ref6=_i9.value}var m=_ref6;m.marker.position.copy(this.geometry.vertices[m.vertex])}this.geometry.computeVertexNormals(),this.geometry.computeBoundingSphere(),this.geometry.verticesNeedUpdate=!0,this.markup&&this.markup.computeVertices()},SheetBlock.prototype.inverse=function(ps){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:"volume",def={height:.297,width:.21,backgroundColor:"",backgroundImage:"",backgroundStyle:"",highlightLinks:!0,lighting:"mixed",gravity:1,cachedPages:50,renderInactivePages:!0,renderInactivePagesOnMobile:!0,renderWhileFlipping:!1,pagesForPredicting:5,preloadPages:5,autoPlayDuration:5e3,rtl:!1,interactiveCorners:!0,maxDepth:.008,sheet:{startVelocity:1.2,cornerDeviation:.15,flexibility:10,flexibleCorner:.5,bending:11,wave:.3,shape:0,widthTexels:1920,heightTexels:1080,color:16777215,side:"color"},cover:{side:"transparent",binderTexture:"",depth:3e-4,padding:0,mass:.001},page:{depth:1e-4,mass:.001},cssLayerProps:{width:1024}},styles={volume:def,flat:_extends({},def,{lighting:"ambient",sheet:_extends({},def.sheet,{wave:.05,side:"transparent",shape:1}),cover:_extends({},def.cover,{depth:2e-5}),page:_extends({},def.page,{depth:1e-5})}),"volume-paddings":_extends({},def,{cover:_extends({},def.cover,{padding:.0025})})};return styles["volume-unrolling"]=_extends({},styles.volume,{sheet:_extends({},styles.volume.sheet,{shape:1})}),styles["volume-paddings-unrolling"]=_extends({},styles["volume-paddings"],{sheet:_extends({},styles["volume-paddings"].sheet,{shape:1})}),styles[style]||def}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i0&&void 0!==arguments[0]?arguments[0]:void 0;_classCallCheck(this,CSS3DObject);var _this=_possibleConstructorReturn(this,_THREE$Object3D.call(this));return element&&_this.set(element),_this}return _inherits(CSS3DObject,_THREE$Object3D),CSS3DObject.prototype.set=function(element){this.element=element,this.element.style.position="absolute",this.addEventListener("removed",function(){null!==this.element.parentNode&&this.element.parentNode.removeChild(this.element)})},CSS3DObject}(_libs.THREE.Object3D),_libs.THREE.CSS3DSprite=function(_THREE$CSS3DObject){function CSS3DSprite(element){return _classCallCheck(this,CSS3DSprite),_possibleConstructorReturn(this,_THREE$CSS3DObject.call(this,element))}return _inherits(CSS3DSprite,_THREE$CSS3DObject),CSS3DSprite}(_libs.THREE.CSS3DObject),_libs.THREE.CSS3DRenderer=function CSS3DRenderer(){function epsilon(value){return Math.round(1e5*(value+Number.EPSILON))/1e5}function getCameraCSSMatrix(matrix){var elements=matrix.elements;return"matrix3d("+[epsilon(elements[0]),epsilon(-elements[1]),epsilon(elements[2]),epsilon(elements[3]),epsilon(elements[4]),epsilon(-elements[5]),epsilon(elements[6]),epsilon(elements[7]),epsilon(elements[8]),epsilon(-elements[9]),epsilon(elements[10]),epsilon(elements[11]),epsilon(elements[12]),epsilon(-elements[13]),epsilon(elements[14]),epsilon(elements[15])].join(",")+")"}function getObjectCSSMatrix(matrix,cameraCSSMatrix){var elements=matrix.elements,matrix3d="matrix3d("+[epsilon(elements[0]),epsilon(elements[1]),epsilon(elements[2]),epsilon(elements[3]),epsilon(-elements[4]),epsilon(-elements[5]),epsilon(-elements[6]),epsilon(-elements[7]),epsilon(elements[8]),epsilon(elements[9]),epsilon(elements[10]),epsilon(elements[11]),epsilon(elements[12]),epsilon(elements[13]),epsilon(elements[14]),epsilon(elements[15])].join(",")+")";return isIE?"translate(-50%,-50%)translate("+_widthHalf+"px,"+_heightHalf+"px)"+cameraCSSMatrix+matrix3d:"translate(-50%,-50%)"+matrix3d}function renderObject(object,camera,cameraCSSMatrix){if(object instanceof _libs.THREE.CSS3DObject){var style;object instanceof _libs.THREE.CSS3DSprite?(matrix.copy(camera.matrixWorldInverse),matrix.transpose(),matrix.copyPosition(object.matrixWorld),matrix.scale(object.scale),matrix.elements[3]=0,matrix.elements[7]=0,matrix.elements[11]=0,matrix.elements[15]=1,style=getObjectCSSMatrix(matrix,cameraCSSMatrix)):style=getObjectCSSMatrix(object.matrixWorld,cameraCSSMatrix);var element=object.element,cachedStyle=cache.objects[object.id]&&cache.objects[object.id].style;void 0!==cachedStyle&&cachedStyle===style||(element.style.WebkitTransform=style,element.style.MozTransform=style,element.style.transform=style,cache.objects[object.id]={style:style},isIE&&(cache.objects[object.id].distanceToCameraSquared=getDistanceToSquared(camera,object))),element.parentNode!==cameraElement&&cameraElement.appendChild(element)}for(var i=0,l=object.children.length;i'),_this.setSize(width,height),_this.setData(),_this.set(_this.jContainer[0]),_this}return _inherits(CSSLayer,_CSS3DObject),CSSLayer.init=function(doc){var delay=arguments.length>1&&void 0!==arguments[1]?arguments[1]:150;CSSLayer.delay=delay,CSSLayer.style=(0,_libs.$)(("").fb3dQFilter()).appendTo(doc.head)},CSSLayer.dispose=function(){CSSLayer.style.remove()},CSSLayer.prototype.setSize=function(width,height){var widthPxs=this.props.width,heightPxs=height/width*widthPxs;this.jContainer.width(widthPxs).height(heightPxs),this.scale.x=1/(widthPxs/width),this.scale.y=1/(widthPxs/width)},CSSLayer.prototype.callInternal=function(name){if(this.object&&this.object[name])try{this.object[name]()}catch(e){console.error(e)}},CSSLayer.prototype.dispose=function(){this.clearInternals()},CSSLayer.prototype.clearInternals=function(){this.callInternal("dispose"),!this.css||this.css.remove(),!this.html||this.html.remove()},CSSLayer.prototype.setData=function setData(){var css=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",html=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",js=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";this.clearInternals(),this.css=(0,_libs.$)('").appendTo(this.jContainer),this.html=(0,_libs.$)(html).appendTo(this.jContainer);var init=eval(js);init&&(this.object=init(this.jContainer,this.props)||{})},CSSLayer.prototype.pendedCall=function(clb){var _this2=this,timestamp=this.timestamp=Date.now();setTimeout(function(){timestamp===_this2.timestamp&&clb()},.5*CSSLayer.delay)},CSSLayer.prototype.isHidden=function(){return this.jContainer.hasClass("hidden")},CSSLayer.prototype.hide=function(){var _this3=this,res=void 0;return this.isHidden()?res=Promise.resolve():(this.jContainer.addClass("hidden"),this.callInternal("hide"),res=new Promise(function(resolve){_this3.pendedCall(function(){_this3.callInternal("hidden"),resolve()})})),res},CSSLayer.prototype.show=function(){var _this4=this,res=void 0;return this.isHidden()?(this.jContainer.removeClass("hidden"),this.callInternal("show"),res=new Promise(function(resolve){_this4.pendedCall(function(){_this4.callInternal("shown"),resolve()})})):res=Promise.resolve(),res},CSSLayer}(_CSS3DRenderer.CSS3DObject);exports.default=CSSLayer},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var Cache=function(){function Cache(){var maxSize=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0,sizeof=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Cache.countSizeof;_classCallCheck(this,Cache),this.os=new Map,this.sizeof=sizeof,this.maxSize=maxSize,this.size=0}return Cache.prototype.forEach=function(clb){this.os.forEach(function(v,k){return clb([k,v])})},Cache.countSizeof=function(value){return 1},Cache.prototype.remove=function(k){var res=!1,v=this.os.get(k);return v.locked&&v.locked(k)||(this.size-=this.sizeof(v),v.dispose&&v.dispose(),this.os.delete(k),res=!0),res},Cache.prototype.freeSpace=function(){for(var arr=[],_iterator=this.os,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[Symbol.iterator]();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}var p=_ref;arr.push({timestamp:p[1].timestamp,key:p[0]})}arr.sort(function(a,b){return a.timestamp-b.timestamp});for(var i=0;i3*this.maxSize/4;++i)this.remove(arr[i].key)},Cache.prototype.dispose=function(){for(var arr=[],_iterator2=this.os,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:_iterator2[Symbol.iterator]();;){var _ref2;if(_isArray2){if(_i2>=_iterator2.length)break;_ref2=_iterator2[_i2++]}else{if(_i2=_iterator2.next(),_i2.done)break;_ref2=_i2.value}var p=_ref2;arr.push({v:p[1],k:p[0]})}for(var _iterator3=arr,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:_iterator3[Symbol.iterator]();;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++]}else{if(_i3=_iterator3.next(),_i3.done)break;_ref3=_i3.value}var o=_ref3;o.v.dispose&&o.v.dispose(),this.os.delete(o.k)}},Cache.recursionSizeof=function(value){var size=0;if(value){++size;var len=value.length;if(void 0===len)for(var p in value)value.hasOwnProperty(p)&&(size+=Cache.recursionSizeof(value[p]));else size+=len}return size},Cache.prototype.getTimestamp=function(){return Date.now()},Cache.prototype.get=function(key){var value=this.os.get(key);return value&&(value.timestamp=this.getTimestamp()),value},Cache.prototype.put=function(key,value){return value.timestamp=this.getTimestamp(),this.os.set(key,value),this.size+=this.sizeof(value),this.size>this.maxSize&&this.freeSpace(),value},Cache}();exports.default=Cache},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}exports.__esModule=!0;var _libs=__webpack_require__(0),Controller=function(_THREE$EventDispatche){function Controller(){return _classCallCheck(this,Controller),_possibleConstructorReturn(this,_THREE$EventDispatche.apply(this,arguments))}return _inherits(Controller,_THREE$EventDispatche),Controller.prototype.handleDefault=function(id,e,data){},Controller.prototype.dispatchAsync=function(e){var _this2=this;Promise.resolve().then(function(){return _this2.dispatchEvent(e)})},Controller.prototype.dispose=function(){},Controller}(_libs.THREE.EventDispatcher);exports.default=Controller},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}exports.__esModule=!0;var _EventConverter2=__webpack_require__(7),_EventConverter3=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_EventConverter2),CustomEventConverter=function(_EventConverter){function CustomEventConverter(wnd,doc){var customTest=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!1},eDoc=arguments[3];_classCallCheck(this,CustomEventConverter);var _this=_possibleConstructorReturn(this,_EventConverter.call(this,wnd,doc));return _this.eDoc=eDoc,_this.customTest=customTest,_this.customs=[],_this}return _inherits(CustomEventConverter,_EventConverter),CustomEventConverter.prototype.test=function(object1,object2){return!(!object1||!object2)&&this.customTest(object1,object2)},CustomEventConverter.prototype.getCallback=function(object){return object.target.callback},CustomEventConverter.prototype.addCustom=function(custom){this.customs.push(custom)},CustomEventConverter.prototype.getObject=function(e,data){var object=void 0;if(data.doc===this.eDoc)for(var _iterator=this.customs,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[Symbol.iterator]();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}var custom=_ref;if(object=custom.testIntersection(e,data))break}return object},CustomEventConverter}(_EventConverter3.default);exports.default=CustomEventConverter},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i=0;--i)if(Finder.isDelimetr(this.str[i])||0===i){f=0===i?0:i+1,--dels;break}}else for(var _i=l+2;_i\n .'+FullScreenX.classX+" {\n position: fixed !important;\n\t\t\t\tleft: 0 !important;\n top: 0 !important;\n width: 100% !important;\n height: 100% !important;\n\t\t\t\tz-index: 2147483647 !important;\n\t\t\t\tmargin: 0 !important;\n\t\t\t\tbox-sizing: border-box !important;\n background-color: #333;\n }\n \n\t").fb3dQFilter()).appendTo("head"),exports.default=FullScreenX},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i100?100:cur,Promise.resolve().then(function(){_this.loadingProgress(cur)}))}_this.progresData=data},this.task.promise.then(function(handler){handler.numPages>1?Promise.all([handler.getPage(1),handler.getPage(2)]).then(function(pages){_this.init(handler,pages)}):_this.init(handler)}).catch(function(e){console.error(e),_this.errorHandler&&_this.errorHandler(e)})}return Pdf.prototype.init=function(handler,pages){if(this.handler=handler,pages){var p0s=Pdf.getPageSize(pages[0]),p1s=Pdf.getPageSize(pages[1]);this.doubledPages=p0s.width/p0s.height/(p1s.width/p1s.height)<.75}else this.doubledPages=!1;for(var done=Promise.resolve(handler),_iterator=this.handlerQueue.reverse(),_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[Symbol.iterator]();;){var _ref;if("break"===function(){if(_isArray){if(_i>=_iterator.length)return"break";_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)return"break";_ref=_i.value}var clb=_ref;done=done.then(function(handler){return clb(handler),handler})}())break}},Pdf.prototype.getPageType=function(n){return this.doubledPages&&0!==n&&n!==this.getPagesNum()-1?1&n?"left":"right":"full"},Pdf.prototype.getPage=function(n){return this.handler.getPage(this.doubledPages?Math.ceil(n/2)+1:n+1)},Pdf.prototype.getDestination=function(dest){var _this2=this,destPromise=void 0;return destPromise="string"==typeof dest?this.handler.getDestination(dest):Promise.resolve(dest),destPromise=destPromise.then(function(dest){return _this2.handler.getPageIndex(dest[0])}).then(function(number){return _this2.doubledPages?number<1?number:1+2*(number-1):number}).catch(function(){return console.error("Bad bookmark")})},Pdf.prototype.dispose=function(){this.handlerQueue.splice(0,this.handlerQueue.length),delete this.handler},Pdf.prototype.setLoadingProgressClb=function(clb){this.loadingProgress=clb},Pdf.prototype.setErrorHandler=function(eh){this.errorHandler=eh},Pdf.prototype.getPagesNum=function(){return this.handler?this.doubledPages?2*(this.handler.numPages-1):this.handler.numPages:void 0},Pdf.getPageSize=function(page){var x=page.view[2]-page.view[0],y=page.view[3]-page.view[1],a=page.rotate*Math.PI/180;return{width:Math.abs(x*Math.cos(a)-y*Math.sin(a)),height:Math.abs(x*Math.sin(a)+y*Math.cos(a))}},Pdf.prototype.getHandler=function(clb){this.handler?clb(this.handler):this.handlerQueue.push(clb)},Pdf}();exports.default=Pdf},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _libs=__webpack_require__(0),ThreeEventConverterFs=function(){function ThreeEventConverterFs(visualWorld){var test=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ThreeEventConverterFs.objectsAndFacesTest;_classCallCheck(this,ThreeEventConverterFs),this.visual=visualWorld,this.coords=new _libs.THREE.Vector2,this.raycaster=this.visual.raycaster,this.camera=this.visual.camera,this.threes=[],this.test=test}return ThreeEventConverterFs.objectsTest=function(object1,object2){return!(!object1||!object2)&&object1.object===object2.object},ThreeEventConverterFs.objectsAndFacesTest=function(object1,object2){return!(!object1||!object2)&&(object1.object===object2.object&&object1.face.materialIndex===object2.face.materialIndex)},ThreeEventConverterFs.prototype.addThree=function(three){this.threes.push(three)},ThreeEventConverterFs.prototype.removeThree=function(three){var i=this.threes.indexOf(three);~i&&this.threes.splice(i,1)},ThreeEventConverterFs.prototype.getObject=function(e){return this.setCoordsFromEvent(e),this.raycaster.setFromCamera(this.coords,this.camera),this.raycaster.intersectObjects(this.threes)[0]},ThreeEventConverterFs}();exports.default=ThreeEventConverterFs},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _BaseMathUtils=__webpack_require__(2),_BaseMathUtils2=function(obj){return obj&&obj.__esModule?obj:{default:obj}}(_BaseMathUtils),ThreeUtils=function(){function ThreeUtils(){_classCallCheck(this,ThreeUtils)}return ThreeUtils.vertices2UVs=function(vertices,indeces,first,last,converClb){for(var r=[],i=first;i=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}for(var p=_ref,found=!1,i=first;i").appendTo("body");return options.activateFullScreen&&_FullScreenX2.default.request(parentContainer),scene.view=new _BookView2.default(parentContainer,function(){if(_Detector2.default.webgl){scene.loadingCtrl=new _LoadingController2.default(scene.view,!0,function(progress){return 0===progress?(0,_libs.tr)("Please wait... the Application is Loading"):(0,_libs.tr)("PDF is Loading:")+" "+progress+"%"}),scene.userMessageCtrl=new _UserMessageController2.default(scene.view),scene.visual=new _VisualWorld2.default(scene.view.getContainer().ownerDocument.defaultView,scene.view.getContainer().ownerDocument,scene.view.getView()),options.propertiesCallback&&new _ClbBookPropsBuilder2.default(scene.visual,function(){return{type:"blank"}},1,function(props){props=options.propertiesCallback(props);var style=[];""!==props.backgroundColor&&style.push("background-color:#"+new THREE.Color(props.backgroundColor).getHexString()),""!==props.backgroundImage&&style.push("background-image:url('"+props.backgroundImage+"')"),""!==props.backgroundStyle&&style.push(props.backgroundStyle),style.length&&scene.view.getView().attr("style",style.join(";"))}),scene.bookBuilder=function(props,sheets,pageCallback){props.cssLayerProps=_extends({},props.cssLayerProps,{scene:scene}),options.propertiesCallback&&(props=options.propertiesCallback(props)),scene.book=new _Book2.default(scene.visual,sheets,pageCallback,props),scene.bookPrinter=new _BookPrinter2.default(scene.visual,scene.book,(options.template||{}).printStyle),scene.loadingCtrl.dispose(),delete scene.loadingCtrl,scene.ctrl=new _BookController2.default(scene.book,scene.view,options.controlsProps),scene.book.setInjector(function(w){w.jQuery=w.$=_libs.$,w.book=scene.book,w.bookCtrl=scene.ctrl,props.injector&&props.injector(w)}),scene.view.addHandler(scene.ctrl),scene.ctrl.setPrinter(scene.bookPrinter);var test=pageCallback(0);scene.thumbnails=new _Thumbnails2.default(scene.visual,scene.view.getThumbnailsView(),pageCallback,scene.book.getPages(),{kWtoH:props.width/props.height}),scene.tocCtrl=new _TocController2.default(scene.view,scene.ctrl),scene.tocCtrl.setThumbnails(scene.thumbnails),options.outline&&(scene.bookmarks=new _Bookmarks2.default(scene.view.getBookmarksView(),options.outline),scene.tocCtrl.setBookmarks(scene.bookmarks)),scene.ctrl.setTocCtrl(scene.tocCtrl),scene.view.addHandler(scene.tocCtrl),"pdf"===test.type&&(scene.search=new _Search2.default(scene.view.getSearchView(),scene.book.getPages()),scene.search.onQuery=scene.book.setQuery.bind(scene.book),scene.book.addEventListener("searchResults",function(e){scene.search.setResults(e.results,e.lastPage)}),scene.tocCtrl.setSearch(scene.search),scene.ctrl.setTocCtrl(scene.tocCtrl),scene.pdfLinksHandler=new _PdfLinksHandler2.default(test.src,scene.ctrl,scene.visual.element),scene.book.addEventListener("pdfAnnotation",scene.pdfLinksHandler.handleEvent.bind(scene.pdfLinksHandler)),scene.bookmarks||test.src.getHandler(function(handler){handler.getOutline().then(function(outline){outline&&outline.length&&(scene.bookmarks=new _Bookmarks2.default(scene.view.getBookmarksView(),outline),scene.tocCtrl.setBookmarks(scene.bookmarks,test.src),scene.ctrl.setTocCtrl(scene.tocCtrl))})}),options.pdfLinks&&options.pdfLinks.handler&&scene.pdfLinksHandler.setHandler(options.pdfLinks.handler)),scene.sounds=new _SoundsEnviroment2.default(options.template),scene.ctrl.setSounds(scene.sounds),scene.sounds.subscribeFlips(scene.ctrl),scene.ready=!0;var autoNavigator=new _AutoNavigator2.default(scene.visual,scene.ctrl,options.autoNavigation);scene.shareCtrl=new _ShareController2.default(scene.view,scene.ctrl,options.shareLinkBuilder?options.shareLinkBuilder:function(page){return new RegExp("([?&])"+autoNavigator.urlParam+"=[0-9]+").test(location.href)?location.href.replace(new RegExp("([?&])"+autoNavigator.urlParam+"=[0-9]+"),"$1"+autoNavigator.urlParam+"="+page):location.href.split("#")[0]+(~location.href.indexOf("?")?"&":"?")+autoNavigator.urlParam+"="+page+location.hash}),scene.ctrl.setShareCtrl(scene.shareCtrl),scene.view.addHandler(scene.shareCtrl),autoNavigator.dispose(),options.ready&&options.ready(scene),scene.ctrl.ready(scene),scene.pendingDispose&&scene.dispose()};var onError=function(e){!scene.loadingCtrl||scene.loadingCtrl.dispose(),delete scene.loadingCtrl,scene.userMessageCtrl.setError(e.message)};options.pdf?(scene.propsBuilder=new _PdfBookPropsBuilder2.default(options.pdf,scene.bookBuilder,options.bookStyle,options.pdfOpenOptions),scene.propsBuilder.pdf.setLoadingProgressClb(scene.loadingCtrl.setProgress.bind(scene.loadingCtrl)),scene.propsBuilder.pdf.setErrorHandler(options.error||onError)):options.pageCallback?(options.onPageCallbackError&&options.onPageCallbackError.push(options.error||onError),scene.propsBuilder=new _ClbBookPropsBuilder2.default(scene.visual,options.pageCallback,options.pages,scene.bookBuilder,options.bookStyle)):scene.propsBuilder=new _ClbBookPropsBuilder2.default(scene.visual,_Book2.default.pageCallback,6,scene.bookBuilder,options.bookStyle)}else _Detector2.default.addGetWebGLMessage({parent:scene.view.getView()})},options.template),scene},(0,_libs.$)(function(){for(var containers=(0,_libs.$)(".flip-book-container"),i=0;i>>0,start=arguments[1],relativeStart=start>>0,k=relativeStart<0?Math.max(len+relativeStart,0):Math.min(relativeStart,len),end=arguments[2],relativeEnd=void 0===end?len:end>>0,final=relativeEnd<0?Math.max(len+relativeEnd,0):Math.min(relativeEnd,len);k>>0,thisArg=arguments[1],i=0;i>>0,thisArg=arguments[1],i=0;i2&&void 0!==arguments[2]?arguments[2]:{};_classCallCheck(this,AutoNavigator),props=_extends({},props,{urlParam:props.urlParam||"fb3d-page",navigates:void 0===props.navigates?1:props.navigates,pageN:props.pageN||0}),this.props=props,this.context=context,this.bookCtrl=bookCtrl,this.urlParam=props.urlParam,this.pageN=props.pageN,this.wnd=context.wnd,this.wnd.fb3d=_extends({},this.wnd.fb3d),this.wnd.fb3d.navigator=_extends({},this.wnd.fb3d.navigator),this.navigator=this.wnd.fb3d.navigator[this.urlParam]=_extends({},this.wnd.fb3d.navigator[this.urlParam]),this.navigator.instances=(this.navigator.instances||0)+1,this.navigator.instances<=this.props.navigates&&this.bookCtrl.goToPage(this.getPageNumber())}return AutoNavigator.prototype.dispose=function(){},AutoNavigator.prototype.getParameterByName=function(name,url){url||(url=window.location.href),name=name.replace(/[\[\]]/g,"\\$&");var regex=new RegExp("[?&]"+name+"(=([^]*)|&|#|$)"),results=regex.exec(url);return results?results[2]?decodeURIComponent(results[2].replace(/\+/g," ")):"":null},AutoNavigator.prototype.getPageNumber=function(){var number=parseInt(this.pageN);return(isNaN(number)||0===number)&&(number=this.getParameterByName(this.urlParam),number=parseInt(number),isNaN(number)&&(number=1)),number-1},AutoNavigator}();exports.default=AutoNavigator},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i2&&void 0!==arguments[2]&&arguments[2];_classCallCheck(this,Binder),this.visual=visual,this.p=_extends({},p,{backSize:2*p.cover.depth+p.sheets*p.page.depth}),this.OZ=new _libs.THREE.Vector3(0,0,1),this.backG=new _libs.THREE.BoxGeometry(.001,this.p.backSize,p.cover.height);var color={color:p.cover.color},transparent={opacity:0,transparent:!0};this.materials=[new _libs.THREE.MeshPhongMaterial(color),new _libs.THREE.MeshPhongMaterial(color),new _libs.THREE.MeshPhongMaterial(transparent),new _libs.THREE.MeshPhongMaterial(transparent),new _libs.THREE.MeshPhongMaterial(transparent),new _libs.THREE.MeshPhongMaterial(transparent)];var backM=new _libs.THREE.Mesh(this.backG,this.materials);""!==p.cover.binderTexture&&this.visual.textureLoader.load(p.cover.binderTexture,function(texture){_this.materials[1].color.setHex(16777215),_this.materials[1].map=texture,texture.minFilter=_libs.THREE.LinearFilter,texture.needsUpdate=!0,_this.materials[1].needsUpdate=!0}),this.three=new _libs.THREE.Object3D,this.back=new _libs.THREE.Object3D,this.backRT=new _libs.THREE.Object3D,this.backRR=new _libs.THREE.Object3D,this.backLT=new _libs.THREE.Object3D,this.backLR=new _libs.THREE.Object3D,this.leftPivot=new _libs.THREE.Object3D,this.rightPivot=new _libs.THREE.Object3D,hidden||(backM.position.set(.5*(p.cover.depth-.001),0,0),this.back.add(backM)),this.back.add(this.leftPivot),this.back.add(this.rightPivot),this.backRT.add(this.back),this.backRR.add(this.backRT),this.backLT.add(this.backRR),this.backLR.add(this.backLT),this.three.add(this.backLR)}return Binder.prototype.dispose=function(){for(var _iterator=this.materials,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[Symbol.iterator]();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}var m=_ref;m.map&&(m.map=null,m.needsUpdate=!0),m.dispose()}delete this.materials,this.backG.dispose()},Binder.prototype.set=function(angle){var right=void 0,left=void 0;angle>Math.PI/2?(right=Math.PI/2,left=angle-Math.PI/2):(right=angle,left=0);var p=this.p,tr1={x:-.5*p.cover.depth,y:.5*p.backSize-p.cover.depth};this.backRT.position.set(tr1.x,tr1.y,0),this.backRR.position.set(-tr1.x,-tr1.y,0),this.backRR.quaternion.setFromAxisAngle(this.OZ,right);var tr2={x:p.backSize-2*p.cover.depth-.5*p.cover.depth,y:.5*p.backSize-p.cover.depth};this.backLT.position.set(tr2.x,tr2.y,0),this.backLR.position.set(-tr2.x,-tr2.y,0),this.backLR.quaternion.setFromAxisAngle(this.OZ,left)},Binder.prototype.setLeft=function(angle){var PI=Math.PI;this.leftPivot.position.set(_MathUtils2.default.interpolateLinear([-PI,-PI/2],[0,this.p.cover.depth],angle),.5*this.p.backSize-.5*this.p.cover.depth,0),this.leftPivot.quaternion.setFromAxisAngle(this.OZ,angle)},Binder.prototype.setRight=function(angle){var PI=Math.PI;this.rightPivot.position.set(_MathUtils2.default.interpolateLinear([-PI/2,0],[this.p.cover.depth,0],angle),-.5*this.p.backSize+.5*this.p.cover.depth,0),this.rightPivot.quaternion.setFromAxisAngle(this.OZ,angle)},Binder.prototype.joinLeftCover=function(cover){cover.three.position.set(0,-.5*this.p.cover.depth,0),this.leftPivot.add(cover.three)},Binder.prototype.disconnectLeftCover=function(cover){this.leftPivot.remove(cover.three)},Binder.prototype.joinRightCover=function(cover){cover.three.position.set(0,-.5*this.p.cover.depth,0),this.rightPivot.add(cover.three)},Binder.prototype.disconnectRightCover=function(cover){this.rightPivot.remove(cover.three)},Binder}();exports.default=Binder},function(module,exports,__webpack_require__){"use strict";function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}exports.__esModule=!0;var _extends=Object.assign||function(target){for(var i=1;i0&&_this.addSheetBlock(0,new _SheetBlock2.default(visual,_extends({},_this.p,{setTexture:_this.setPageTexture.bind(_this)}),0,sheets,0,"closed")),_this.reducePagesWidth(!0),_this.set(Math.PI/2),_this.openedBox=(new _libs.THREE.Box3).setFromObject(_this.leftCover.three),_this.openedBox.union((new _libs.THREE.Box3).setFromObject(_this.rightCover.three)),_this.angle=_this.p.rtl?Math.PI:0,_this.closedAngle=0,_this.set(_this.angle,0),_this.lastMousePos={t:0},_this.pendingPlayers=[],_this.three.position.set(-.5*_this.p.cover.depth+.5*sheets*_this.p.page.depth,0,0),_this.sheetPhysics=new _SheetPhysics2.default(_this.p.page.width/_this.p.scale,_this.p.gravity,_this.p.page.cornerDeviation),_this.binds={update:_this.update.bind(_this),lastMousePos:function(e){_this.lastMousePos=_extends({},_this.lastMousePos,{pageX:e.pageX,pageY:e.pageY})}},_this.visual.addRenderCallback(_this.binds.update),(0,_libs.$)(_this.visual.element).on("mousemove",_this.binds.lastMousePos),_this.binds.onPickCallback=_this.onPickCallback.bind(_this),_this.visual.drag.onPickCallback=_this.binds.onPickCallback,_this.binds.onDragCallback=_this.onDragCallback.bind(_this),_this.visual.drag.onDragCallback=_this.binds.onDragCallback,_this.binds.onReleaseCallback=_this.onReleaseCallback.bind(_this),_this.visual.drag.onReleaseCallback=_this.binds.onReleaseCallback,_this.dragAngle=.05,_this.tmp={boxs:[new _libs.THREE.Box3,new _libs.THREE.Box3]},_this.visual.addObject(_this.three),_this.tmpBox=new _libs.THREE.Box3,_this.bookShadowMaterial=new _libs.THREE.MeshPhongMaterial({color:0,side:_libs.THREE.DoubleSide,transparent:!0}),_this.bookShadow=new _libs.THREE.Mesh(new _libs.THREE.PlaneGeometry(1,1).rotateX(-Math.PI/2),_this.bookShadowMaterial),_this.visual.addObject(_this.bookShadow),_this.calculateShadow(),_this.visual.addEventListener("resize",_this.pageManager.refreshZoom.bind(_this.pageManager)),setTimeout(function(){_this.isProcessing()||(_this.notifyBeforeAnimation(),_this.notifyAfterAnimation())},100),_this.updateThree(),_this}return _inherits(Book,_THREE$EventDispatche),Book.prototype.calculateShadow=function(){var box=this.tmpBox;box.setFromObject(this.three),this.bookShadow.scale.set(box.max.x-box.min.x,1,box.max.z-box.min.z);this.bookShadow.position.set(.5*(box.max.x+box.min.x)-.015,box.min.y-.0015,.5*(box.max.z+box.min.z)-.015),this.bookShadowMaterial.opacity=.03,this.visual.shadowPlace.position.set(0,box.min.y-.015,0)},Book.prototype.dispose=function(){this.visual.removeObject(this.three),this.sheetPhysics.dispose(),delete this.visual.drag.onPickCallback,delete this.visual.drag.onDragCallback,delete this.visual.drag.onReleaseCallback,(0,_libs.$)(this.visual.element).off("mousemove",this.binds.lastMousePos),this.visual.removeRenderCallback(this.binds.update),this.removeSheetBlocks(0,this.sheetBlocks.length),this.binder.disconnectLeftCover(this.leftCover),this.removeSheetBlock(this.leftCover),this.binder.disconnectRightCover(this.rightCover),this.removeSheetBlock(this.rightCover),this.binder.dispose(),this.layerManager.dispose(),_CSSLayer2.default.dispose(),this.pageManager.dispose()},Book.prototype.hasPendingPlayers=function(){return this.pendingPlayers.length>0},Book.prototype.resolvePendingPlayers=function(){for(var _iterator=this.pendingPlayers,_isArray=Array.isArray(_iterator),_i=0,_iterator=_isArray?_iterator:_iterator[Symbol.iterator]();;){var _ref;if(_isArray){if(_i>=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}_ref.play()}this.pendingPlayers=[],this.dispatchEvent({type:"pendingPlayers"})},Book.prototype.updateThree=function(){this.three.userData.needsUpdate=!0},Book.prototype.setAutoResolution=function(autoResolution){this.p.autoResolution=_extends({},this.p.autoResolution,autoResolution)},Book.prototype.setZoom=function(zoom,singlePage){(Math.abs(this.p.zoom-zoom)>.001||singlePage!==this.p.singlePage)&&(this.p.zoom=zoom,this.p.singlePage=singlePage,this.pageManager.refreshZoom())},Book.prototype.getPageCallback=function(){return this.p.pageCallback},Book.prototype.setQuery=function(query){this.searchEngine.setQuery(query)},Book.prototype.isProcessing=function(){return 0!==this.sheetPhysics.getSize()},Book.prototype.getPages=function(){return this.p.pages},Book.prototype.getBookPages=function(){return 4+2*this.p.sheets},Book.prototype.setFlipProgressClb=function(clb){this.p.flipProgressClb=clb},Book.prototype.setInjector=function(injector){this.p.injector=injector},Book.prototype.isActivePage=function(n){var res=!0;if(n>1&&n=_iterator2.length)break;_ref2=_iterator2[_i2++]}else{if(_i2=_iterator2.next(),_i2.done)break;_ref2=_i2.value}var b=_ref2;if(n-2>2*b.p.first&&n-2<2*b.p.last-1){res=!1;break}}return res},Book.prototype.getBlockByPage=function(n){var block=void 0;if(n<2)block=this.leftCover;else if(n<2*(this.p.sheets+1))for(var _iterator3=this.sheetBlocks,_isArray3=Array.isArray(_iterator3),_i3=0,_iterator3=_isArray3?_iterator3:_iterator3[Symbol.iterator]();;){var _ref3;if(_isArray3){if(_i3>=_iterator3.length)break;_ref3=_iterator3[_i3++]}else{if(_i3=_iterator3.next(),_i3.done)break;_ref3=_i3.value}var b=_ref3;if(n-2>=2*b.p.first&&n-2<2*b.p.last){block=b;break}}else block=this.rightCover;return block},Book.prototype.getBlockPages=function(block){var range=void 0;switch(block){case this.leftCover:range=[0,1];break;case this.rightCover:range=[2*(this.p.sheets+1),2*(this.p.sheets+1)+1];break;default:range=block?[2*(block.p.first+1),2*(block.p.last+1)-1]:void 0}return range},Book.prototype.getPage=function(){var PI=Math.PI,p=void 0;if(this.angle===PI/2||this.angle===3*PI/2){for(var _iterator4=this.sheetBlocks,_isArray4=Array.isArray(_iterator4),_i4=0,_iterator4=_isArray4?_iterator4:_iterator4[Symbol.iterator]();;){var _ref4;if(_isArray4){if(_i4>=_iterator4.length)break;_ref4=_iterator4[_i4++]}else{if(_i4=_iterator4.next(),_i4.done)break;_ref4=_i4.value}var block=_ref4;if(block.angle<=PI/2){p=this.getBlockPages(block)[0]-1;break}}p||(p=this.getBookPages()-3)}else this.angle3*PI/2?p=1:this.angle=PI&&(p=this.getBookPages()-1);return p},Book.prototype.getTopPages=function(){var p=this.getPage();return 0===p||p===this.getBookPages()-1?[p]:[p,p+1]},Book.prototype.getPageState=function(n){return this.pageManager.getPageState(n)},Book.prototype.enableLoadingAnimation=function(enable){this.pageManager.enableLoadingAnimation(enable)},Book.prototype.getLeftFlipping=function(){var block=void 0,left=this.sheetBlocks[0],PI=Math.PI;return this.angle===PI?this.getPages()>1&&(block=this.rightCover):left&&"closed"===left.state&&left.angle>PI/2?block=left:this.angle!==PI/2&&this.angle!==3*PI/2||this.p.rtl&&this.getPages()!==this.getBookPages()||(block=this.leftCover),block},Book.prototype.getRightFlipping=function(){var block=void 0,right=this.sheetBlocks[this.sheetBlocks.length-1],PI=Math.PI;return 0===this.angle?this.getPages()>1&&(block=this.leftCover):right&&"closed"===right.state&&right.angle<=PI/2?block=right:this.angle!==PI/2&&this.angle!==3*PI/2||(this.p.rtl||this.getPages()===this.getBookPages())&&(block=this.rightCover),block},Book.prototype.getClosedBlockAngle=function(angle){var closedAngle=void 0,PI=Math.PI;if(this.leftCover.physicId){var test=void 0;try{test=Math.abs(this.sheetPhysics.getParametr(this.leftCover.physicId,"angle")-angle)}catch(e){test=0}closedAngle=angle>PI/2||test>PI/6?PI/2:this.closedAngle}else if(this.rightCover.physicId){var _test=void 0;try{_test=Math.abs(this.sheetPhysics.getParametr(this.rightCover.physicId,"angle")-angle)}catch(e){_test=0}closedAngle=anglePI/6?PI/2+1e-7:this.closedAngle}else closedAngle=PI/2+1e-7*(0!==angle);return{openedAngle:angle,closedAngle:closedAngle,binderTurn:this.closedAngle}},Book.prototype.flipLeft=function(){var _this2=this,size=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,progressClb=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.p.flipProgressClb;if(!this.flipDisabled){this.sheetPhysics.getSize()||(this.flipDirection="left");var block=void 0,res=void 0;if(this.sheetPhysics.getSize()<25){var left=this.sheetBlocks[0],PI=Math.PI;this.angle===PI?res=this.connectPhysics(block=this.rightCover,this.p.cover.mass,PI,-this.p.cover.startVelocity,this.p.cover.flexibility,0,function(angle,height){return _this2.set(3*PI/2-angle/2,height)},function(angle,height){_this2.set(3*PI/2-angle/2,0),_this2.setSheetBlocks(angle?PI:PI/2+1e-7,"closed")},progressClb):left&&"closed"===left.state&&left.angle>PI/2?(block=sizePI/2&&_this2.setSheetBlocks(angle?PI/2:0,"closed")},function(angle,height){return _this2.set(0===angle?0:2*PI-angle/2,0)},progressClb))}return res}},Book.prototype.flipRight=function(){var _this3=this,size=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,progressClb=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.p.flipProgressClb;if(!this.flipDisabled){this.sheetPhysics.getSize()||(this.flipDirection="right");var block=void 0,res=void 0;if(this.sheetPhysics.getSize()<25){var right=this.sheetBlocks[this.sheetBlocks.length-1],PI=Math.PI;0===this.angle?res=this.connectPhysics(block=this.leftCover,this.p.cover.mass,0,this.p.cover.startVelocity,this.p.cover.flexibility,0,function(angle,height){return _this3.set(angle/2,height)},function(angle,height){_this3.set(angle/2,0),_this3.setSheetBlocks(angle?PI/2:0,"closed")},progressClb):right&&"closed"===right.state&&right.angle<=PI/2?(block=size1&&void 0!==arguments[1]?arguments[1]:1;return i?this.flipLeft(size):this.flipRight(size)},Book.prototype.enableMouse=function(enable){this.mouseController=enable},Book.prototype.cornerCallback=function(e,data){var _this4=this;if(this.mouseController){var _data$data=data.data,i=_data$data.i,n=_data$data.n;if("mouseover"===e.type){if(this.hoverInfo&&void 0!==this.hoverInfo.pendings)++this.hoverInfo.pendings;else if(this.hoverInfo&&(console.warn("Wrong state: element is already hover"),this.hoverInfo.n!==n&&this.clearHoverInfo()),!this.hoverInfo&&!this.dragInfo){var res=Promise.resolve(void 0),hover=this.getBlockByPage(n),possible=this.getFlipping(i);if(n>1&&n<2*(this.p.sheets+1)&&hover.physicId&&(hover.angle<.02||hover.angle>Math.PI-.02))res=Promise.resolve(hover);else if(hover===possible){var sheetBlocks=[this.leftCover].concat(this.sheetBlocks,[this.rightCover]),j=sheetBlocks.indexOf(hover),nextBlock=~j?sheetBlocks[j+2*i-1]:void 0;(!nextBlock||!nextBlock.physicId||nextBlock.angle>.02&&nextBlock.angle=_iterator5.length)break;_ref5=_iterator5[_i5++]}else{if(_i5=_iterator5.next(),_i5.done)break;_ref5=_i5.value}var block=_ref5;this.removeSheetBlock(block)}},Book.prototype.setTexture=function(material,n){this.pageManager.setTexture(material,n)},Book.prototype.setPageTexture=function(material,n){this.setTexture(material,n+2)},Book.prototype.setLeftCoverTexture=function(material,n){this.setTexture(material,n)},Book.prototype.setRightCoverTexture=function(material,n){this.setTexture(material,n+2*(this.p.sheets+1))},Book.finishAnimationClb=function(angle){this.block.set(this.book.getClosedBlockAngle(angle).closedAngle,"closed",0);var i=this.book.sheetBlocks.indexOf(this.block);~i&&(0===angle?this.book.mergeSheetBlocks(i,this.book.sheetBlocks.length-i):this.book.mergeSheetBlocks(0,i+1))},Book.prototype.calcBlockForce=function(block,object,angle,velocity,cornerHeight){return block.force?block.force(object,angle,velocity,cornerHeight):0},Book.prototype.calcBlockCornerForce=function(block,object,angle,velocity,cornerHeight){return block.cornerForce?block.cornerForce(object,angle,velocity,cornerHeight):0},Book.prototype.setVisualMode=function(mode){for(var l=Book.lightModes[this.p.lighting][mode],bs=[this.leftCover].concat(this.sheetBlocks,[this.rightCover]),_iterator6=bs,_isArray6=Array.isArray(_iterator6),_i6=0,_iterator6=_isArray6?_iterator6:_iterator6[Symbol.iterator]();;){var _ref6;if(_isArray6){if(_i6>=_iterator6.length)break;_ref6=_iterator6[_i6++]}else{if(_i6=_iterator6.next(),_i6.done)break;_ref6=_i6.value}var b=_ref6;b.mesh.receiveShadow="live"===mode;for(var _iterator7=b.materials,_isArray7=Array.isArray(_iterator7),_i7=0,_iterator7=_isArray7?_iterator7:_iterator7[Symbol.iterator]();;){var _ref7;if(_isArray7){if(_i7>=_iterator7.length)break;_ref7=_iterator7[_i7++]}else{if(_i7=_iterator7.next(),_i7.done)break;_ref7=_i7.value}_ref7.needsUpdate=!0}}this.visual.setLight(l.ambient,l.directional)},Book.prototype.notifyBeforeAnimation=function(){var _this6=this,res=void 0;return this.animationNotification?res=Promise.reject():(this.animationNotification=!0,this.dispatchEvent({type:"beforeAnimation"}),this.setVisualMode("live"),this.flipDisabled=!0,res=this.layerManager.hide().then(function(){return delete _this6.flipDisabled})),res},Book.prototype.notifyAfterAnimation=function(){if(this.animationNotification){var p=this.getPage();this.userDirection.lastTopPage!==p&&(this.userDirection.direction=Math.sign(p-this.userDirection.lastTopPage),this.userDirection.lastTopPage=p),delete this.animationNotification,this.setVisualMode("static"),this.layerManager.show(),this.dispatchEvent({type:"afterAnimation"})}},Book.prototype.getUserDirection=function(){return this.userDirection},Book.prototype.reducePagesWidth=function(reduceWidth){for(var _iterator8=this.sheetBlocks,_isArray8=Array.isArray(_iterator8),_i8=0,_iterator8=_isArray8?_iterator8:_iterator8[Symbol.iterator]();;){var _ref8;if(_isArray8){if(_i8>=_iterator8.length)break;_ref8=_iterator8[_i8++]}else{if(_i8=_iterator8.next(),_i8.done)break;_ref8=_i8.value}_ref8.reduceWidth(reduceWidth)}},Book.prototype.connectPhysics=function(block,mass,angle,velocity,flexibility,coverHeight,simulateClb,removeClb,progressClb){var _this7=this,type=function(){return _this7.hoverInfo?"hover":_this7.dragInfo?"drag":"free"},res=this.sheetPhysics.getSize()?Promise.resolve():this.notifyBeforeAnimation();return block!==this.leftCover&&block!==this.rightCover||(this.bookShadowMaterial.opacity=0),res.then(function(){return block.physicId=_this7.sheetPhysics.addObject(mass,angle,velocity,flexibility,coverHeight,function(angl,ch){simulateClb(angl,ch),progressClb(block,Math.abs(angle-angl)/Math.PI,"process",type()),_this7.calculateShadow(),_this7.updateThree()},function(angl,ch){if(removeClb(angl,ch),delete block.physicId,progressClb(block,Math.abs(angle-angl)/Math.PI,"finish",type()),!_this7.sheetPhysics.getSize()){var p=_this7.getPage();0!==p&&p!==_this7.getPages()-1||_this7.reducePagesWidth(!0)}Promise.resolve().then(function(){_this7.sheetPhysics.getSize()||(_this7.notifyAfterAnimation(),_this7.calculateShadow())}),_this7.updateThree()},function(object,angle,velocity,cornerHeight){return _this7.calcBlockForce(block,object,angle,velocity,cornerHeight)},function(object,angle,velocity,cornerHeight){return _this7.calcBlockCornerForce(block,object,angle,velocity,cornerHeight)}),progressClb(block,0,"init",type()),1===_this7.sheetPhysics.getSize()&&_this7.reducePagesWidth(!1),block}).catch(function(){})},Book.prototype.update=function(dt){var _this8=this;this.lastMousePos.t+=dt,this.isProcessing()&&void 0!==this.lastMousePos.pageX&&this.lastMousePos.t-(this.lastMousePos.lastT||0)>.25&&!this.hoverInfo&&!this.dragInfo&&(this.lastMousePos.lastT=this.lastMousePos.t,Promise.resolve().then(function(){(0,_libs.$)(_this8.visual.element).trigger(_libs.$.Event("mousemove",_this8.lastMousePos))})),this.sheetPhysics.simulate(dt)},Book.prototype.splitSheetBlock=function(i,leftSize){var block=this.sheetBlocks[i];if(block&&leftSize1&&void 0!==arguments[1]?arguments[1]:0;this.angle=angle;var PI=Math.PI;if(angle=_iterator9.length)break;_ref9=_iterator9[_i9++]}else{if(_i9=_iterator9.next(),_i9.done)break;_ref9=_i9.value}var l=_ref9;nls.push(_extends({},l,{js:_this9.cssLayerJsObject(l)}))}return clb(nls)})}},Book.prototype.cssLayerJsObject=function cssLayerJsObject(l){var _this10=this,clIfEx=function(f){var r=void 0;if(f)try{r=f()}catch(e){console.error(e)}return r};return function(c,p){var o={};try{var init=eval(l.js);o=init?init(c,p)||{}:{}}catch(e){console.error(e)}for(var no=_this10.cssLayerJsObjectInit(c,p),ro={},_arr=["hide","hidden","show","shown","dispose"],_loop=function(){var n=_arr[_i10];ro[n]=function(){clIfEx(no[n]),clIfEx(o[n])}},_i10=0;_i10<_arr.length;_i10++)_loop();return ro}},Book.prototype.cssLayerJsObjectInit=function(c,p){var _this11=this;c.find(".go-to-page").on("click",function(e){for(var n=(0,_libs.$)(e.target);n.length&&!n.hasClass("go-to-page");)n=(0,_libs.$)(n[0].parentNode);n=parseInt(n.attr("data-number")),isNaN(n)||(e.preventDefault(),p.scene.ctrl.goToPage(n-1))});var ys=c.find(".youtube");if(ys.length){ys.html('
');var p01=function(n,nm,d){return void 0===n.attr(nm)?d:"true"===n.attr(nm)?1:0};_YouTubeApi2.default.init().then(function(){for(var i=0;i=_iterator.length)break;_ref=_iterator[_i++]}else{if(_i=_iterator.next(),_i.done)break;_ref=_i.value}var n=_ref,state=this.book.getPageState(n);if(visible="active"!==state)break}visible=visible||this.printer&&this.printer.loading,visible?this.pendingLoadingAnimation||(this.pendingLoadingAnimation=!0,setTimeout(function(){_this3.pendingLoadingAnimation&&_this3.view&&_this3.view.setState("widLoading",{visible:visible})},2e3)):(delete this.pendingLoadingAnimation,this.view.setState("widLoading",{visible:visible}))},BookController.prototype.initLoadingAnimation=function(){var handler=this.loadingAnimationHandler.bind(this);this.book.addEventListener("beforeAnimation",handler),this.book.addEventListener("afterAnimation",handler),this.book.addEventListener("startRendering",handler),this.book.addEventListener("endRendering",handler)},BookController.prototype.enableNavigation=function(enable){this.navigationControls=enable},BookController.prototype.setTocCtrl=function(tocCtrl){this.tocCtrl=tocCtrl,this.tocCtrl.onChange=this.updateView.bind(this),this.tocCtrl.setActiveTab(this.actions.cmdToc.defaultTab),this.actions.cmdToc.active&&!tocCtrl.visible&&tocCtrl.togle()},BookController.prototype.setShareCtrl=function(shareCtrl){this.shareCtrl=shareCtrl,this.shareCtrl.onChange=this.updateView.bind(this),this.updateView()},BookController.prototype.setPrinter=function(printer){this.printer=printer;var handler=this.loadingAnimationHandler.bind(this);this.printer.addEventListener("loading",handler),this.printer.addEventListener("loaded",handler),this.updateView()},BookController.prototype.setSounds=function(sounds){this.sounds=sounds,sounds.setEnabled(this.actions.cmdSounds.active),this.updateView()},BookController.prototype.onScreenModeChanged=function(e){this.updateView()},BookController.prototype.canZoomIn=function(){return!this.state.smartPan||Math.abs(this.bookWatcher.scale-this.p.scale.max)>this.p.eps},BookController.prototype.canZoomOut=function(){return!this.state.smartPan||Math.abs(this.bookWatcher.scale-this.p.scale.min)>this.p.eps},BookController.prototype.canDefaultZoom=function(){return this.state.smartPan},BookController.prototype.setBookZoom=function(scale){this.book.setZoom(scale,this.state.singlePage)},BookController.prototype.cmdAutoPlay=function(){this.state.autoPlay=!this.state.autoPlay,this.state.autoPlay&&this.autoPlay(),this.updateView()},BookController.prototype.autoPlay=function(){var _this4=this,pendingAutoPlay=Date.now();this.pendingAutoPlay=pendingAutoPlay,setTimeout(function(){if(_this4.pendingAutoPlay===pendingAutoPlay&&_this4.state.autoPlay){if(!_this4.book.isProcessing()){var flipped=void 0;_this4.p.rtl?(flipped=_this4.canFlipLeft())&&_this4.cmdBackward():(flipped=_this4.canFlipRight())&&_this4.cmdForward(),flipped||_this4.goToPage(0)}_this4.autoPlay()}},this.book.p.autoPlayDuration)},BookController.prototype.cmdZoomIn=function(){this.state.smartPan?(this.bookWatcher.scale=Math.min(this.p.scale.max,this.bookWatcher.scale+this.p.scale.delta),this.setBookZoom(this.bookWatcher.scale)):this.orbit.zoomIn(6.6*this.p.scale.delta/.32),this.updateView()},BookController.prototype.cmdZoomOut=function(){this.state.smartPan?(this.bookWatcher.scale=Math.max(this.p.scale.min,this.bookWatcher.scale-this.p.scale.delta),this.setBookZoom(this.bookWatcher.scale)):this.orbit.zoomOut(6.6*this.p.scale.delta/.32),this.updateView()},BookController.prototype.setScale=function(scale){this.bookWatcher.scale=Math.min(this.p.scale.max,Math.max(this.p.scale.min,scale)),this.setBookZoom(this.bookWatcher.scale),this.updateView()},BookController.prototype.cmdDefaultZoom=function(){this.state.smartPan&&(this.bookWatcher.scale=this.p.scale.default,this.setBookZoom(this.bookWatcher.scale),this.updateView())},BookController.prototype.cmdToc=function(){this.tocCtrl&&this.tocCtrl.togle()},BookController.prototype.cmdShare=function(){this.shareCtrl&&this.shareCtrl.togle()},BookController.prototype.cmdBackward=function(){var _this5=this;this.canFlipLeft()&&(this.state.singlePage?(this.state.activeSide=(this.getPage()+1)%2,this.state.activeSide?(this.state.activeSide=0,this.updateView()):this.startFlip(this.book.flipLeft(1)).then(function(block){block&&(_this5.state.activeSide=1)})):this.startFlip(this.book.flipLeft(1)))},BookController.prototype.cmdBigBackward=function(){this.cmdBackward()},BookController.prototype.cmdForward=function(){var _this6=this;this.canFlipRight()&&(this.state.singlePage?(this.state.activeSide=(this.getPage()+1)%2,this.state.activeSide?this.startFlip(this.book.flipRight(1)).then(function(block){block&&(_this6.state.activeSide=0)}):(this.state.activeSide=1,this.updateView())):this.startFlip(this.book.flipRight(1)))},BookController.prototype.cmdBigForward=function(){this.cmdForward()},BookController.prototype.cmdSave=function(){var a=(0,_libs.$)('').appendTo(this.view.getContainer());a[0].click(),a.remove()},BookController.prototype.cmdPrint=function(){this.printer.print()},BookController.prototype.cmdFullScreen=function(){_FullScreenX2.default.activated()?_FullScreenX2.default.cancel():_FullScreenX2.default.request(this.view.getParentContainer())},BookController.prototype.cmdSmartPan=function(){this.state.smartPan=!this.state.smartPan,this.state.smartPan?(this.orbit.minAzimuthAngle=0,this.orbit.maxAzimuthAngle=0,this.orbit.minPolarAngle=0,this.orbit.maxPolarAngle=Math.PI/4,this.bookWatcher.enabled=!0):(this.orbit.minAzimuthAngle=-1/0,this.orbit.maxAzimuthAngle=1/0,this.orbit.minPolarAngle=0,this.orbit.maxPolarAngle=Math.PI,this.bookWatcher.enabled=!1),this.updateView()},BookController.prototype.isSinglePageAvailable=function(){return 2!==this.book.getPages()},BookController.prototype.cmdSinglePage=function(){this.isSinglePageAvailable()&&(this.state.singlePage=!this.state.singlePage,this.setBookZoom(this.bookWatcher.scale),this.updateView(),this.dispatchAsync({type:"pageMode",value:this.state.singlePage?"single":"double"}))},BookController.prototype.cmdSounds=function(){this.sounds&&this.sounds.togle(),this.updateView()},BookController.prototype.cmdStats=function(){this.state.stats=!this.state.stats,this.state.stats?((0,_libs.$)(this.view.getContainer()).append(this.Stats.domElement),this.visual.addRenderCallback(this.binds.stats)):((0,_libs.$)(this.view.getContainer()).find(this.Stats.domElement).remove(),this.visual.removeRenderCallback(this.binds.stats)),this.updateView()},BookController.prototype.cmdPendingPlay=function(){this.book.resolvePendingPlayers()},BookController.prototype.cmdGotoFirstPage=function(){this.goToPage(0)},BookController.prototype.cmdGotoLastPage=function(){this.goToPage(this.book.getBookPages()-1)},BookController.prototype.goToPage=function(page){var _this7=this;page=Math.max(Math.min(page,this.book.getPages()-1),0),this.p.rtl&&(page=this.book.getBookPages()-1-page);var pageNum=Math.max(Math.min(page,this.book.getBookPages()-1),0);this.state.activeSide=(pageNum+1)%2;var target=Math.max(Math.min(page-1+page%2,this.book.getBookPages()-1),0),current=this.book.getPage(),flips=[],covs=0;if(target!=current){0===current?(flips.push(1),current+=1,++covs):current===this.book.getBookPages()-1&&(flips.push(-1),current-=2,++covs);var cv=0;0===target?(cv=-1,target+=1,++covs):target===this.book.getBookPages()-1&&(cv=1,target-=2,++covs),target-current&&flips.push(Math.ceil((target-current)/2)),cv&&flips.push(cv)}var setClb=function(fl,time,clb){return new Promise(function(resolve){setTimeout(function(){fl<0?_this7.startFlip(_this7.book.flipLeft(-fl,clb)):_this7.startFlip(_this7.book.flipRight(fl,clb)),resolve()},time)})};if(2===covs)setClb(flips[0],0,function(block,progress,state){"finish"==state&&1==progress&&setClb(flips[flips.length-1],0)}).then(function(){return setClb(flips[1],400)});else for(var next=Promise.resolve(),time=0,_iterator2=flips,_isArray2=Array.isArray(_iterator2),_i2=0,_iterator2=_isArray2?_iterator2:_iterator2[Symbol.iterator]();;){var _ref2,_ret=function(){if(_isArray2){if(_i2>=_iterator2.length)return"break";_ref2=_iterator2[_i2++]}else{if(_i2=_iterator2.next(),_i2.done)return"break";_ref2=_i2.value}var fl=_ref2,t=time;next=next.then(function(){return setClb(fl,t)}),time=400}();if("break"===_ret)break}},BookController.prototype.startFlip=function(flipRes){var _this8=this;return flipRes?flipRes.then(function(block){return block&&_this8.dispatchAsync({type:"startFlip"}),block}):Promise.resolve(void 0)},BookController.prototype.endFlip=function(block){return this.dispatchAsync({type:"endFlip"}),block},BookController.prototype.getPage=function(){return this.book.getPage()?Math.min(this.book.getPage()+this.state.activeSide,this.book.getBookPages()-1):0},BookController.prototype.getPageForGUI=function(){var n=(this.state.singlePage?this.getPage():this.book.getPage())+1;return this.p.rtl&&(n=this.book.getBookPages()-n+1),n>this.book.getPages()&&(n=this.book.getPages()),n},BookController.prototype.inpPage=function(e,data){this.goToPage(data-1)},BookController.prototype.updateViewIfState=function(block,progress,state,type){"init"!==state&&"finish"!==state||setTimeout(this.updateView.bind(this),100),"finish"===state&&this.endFlip(block)},BookController.prototype.isCmdVisible=function(name){return(0,_libs.$)(this.visual.element).width()=_iterator3.length)break;_ref3=_iterator3[_i3++]}else{if(_i3=_iterator3.next(),_i3.done)break;_ref3=_i3.value}var name=_ref3;this.viewState[name]={enable:flippersEnable[name],visible:this.isCmdVisible(name),active:!1}}},BookController.prototype.canFlipLeft=function(){return this.navigationControls&&(!!this.book.getLeftFlipping()||this.state.singlePage&&this.p.rtl&&2===this.getPage())},BookController.prototype.canFlipRight=function(){return this.navigationControls&&(!!this.book.getRightFlipping()||this.state.singlePage&&!this.p.rtl&&this.getPage()===this.book.getPages()-2)},BookController.prototype.updateView=function(){if(this.view){this.updateViewState();for(var _iterator4=Object.keys(this.viewState),_isArray4=Array.isArray(_iterator4),_i4=0,_iterator4=_isArray4?_iterator4:_iterator4[Symbol.iterator]();;){var _ref4;if(_isArray4){if(_i4>=_iterator4.length)break;_ref4=_iterator4[_i4++]}else{if(_i4=_iterator4.next(),_i4.done)break;_ref4=_i4.value}var name=_ref4;this.view.setState(name,this.viewState[name])}}},BookController.prototype.getActions=function(){var _this9=this,isSwipping=function(name){return _this9.actions.touchCmdSwipe.enabled&&_this9.actions.touchCmdSwipe.code===_this9.actions[name].code&&_this9.state.smartPan&&_this9.bookWatcher.scale<=1},cmds={};for(var name in this)!function(name){0===name.indexOf("cmd")&&(cmds[name]={activate:function(){_this9.viewState&&_this9.viewState[name].enable&&_this9[name].apply(_this9,arguments)}})}(name);return _extends({},cmds,{cmdPanLeft:{activate:function(e){return _this9.orbit.actions.pan(e,{state:"move",dx:-_this9.p.pan.speed,dy:0})}},cmdPanRight:{activate:function(e){return _this9.orbit.actions.pan(e,{state:"move",dx:_this9.p.pan.speed,dy:0})}},cmdPanUp:{activate:function(e){return _this9.orbit.actions.pan(e,{state:"move",dx:0,dy:-_this9.p.pan.speed})}},cmdPanDown:{activate:function(e){return _this9.orbit.actions.pan(e,{state:"move",dx:0,dy:_this9.p.pan.speed})}},mouseCmdRotate:{activate:this.orbit.actions.rotate},mouseCmdDragZoom:{activate:function(e,data){data.dy>0?_this9.cmdZoomOut():data.dy<0&&_this9.cmdZoomIn()}},mouseCmdPan:{activate:this.orbit.actions.pan},mouseCmdWheelZoom:{activate:function(e){var scale=_this9.bookWatcher.scale;e.deltaY<0?_this9.cmdZoomOut():e.deltaY>0&&_this9.cmdZoomIn(),(!_this9.state.smartPan||Math.abs(_this9.bookWatcher.scale-scale)>1e-4)&&e.preventDefault()}},touchCmdRotate:{activate:function(e,data){isSwipping("touchCmdRotate")||("move"===data.state&&e.preventDefault(),_this9.orbit.actions.rotate(e,data))}},touchCmdZoom:{activate:function(e,data){if(!isSwipping("touchCmdZoom")){var l=function(v){return Math.sqrt(v.x*v.x+v.y*v.y)};"start"===data.state?_this9.touchZoomData={l:l(data),scale:_this9.bookWatcher.scale}:"move"===data.state&&(e.preventDefault(),_this9.setScale(l(data)/_this9.touchZoomData.l*_this9.touchZoomData.scale))}}},touchCmdPan:{activate:function(e,data){isSwipping("touchCmdPan")||"move"===data.state&&(!_this9.state.smartPan||_this9.bookWatcher.scale>1)&&(e.preventDefault(),_this9.orbit.actions.pan(e,data))}},touchCmdSwipe:{activate:function(e,data){if(isSwipping("touchCmdSwipe"))if("start"===data.state){var touch=(e.touches||e.originalEvent.touches)[_this9.actions.touchCmdSwipe.code-1];_this9.swipeData={handled:!1,x0:touch.pageX,y0:touch.pageY,x:touch.pageX,y:touch.pageY}}else"move"===data.state?_this9.swipeData.handled||(_this9.swipeData=_extends({},_this9.swipeData,{x:_this9.swipeData.x+data.dx,y:_this9.swipeData.y+data.dy}),Math.abs(_this9.swipeData.x0-_this9.swipeData.x)>100&&(_this9.swipeData.x0>_this9.swipeData.x?_this9.cmdForward():_this9.cmdBackward(),_this9.swipeData.handled=!0)):delete _this9.swipeData}},widSettings:{activate:function(){}},widToolbar:{activate:function(){}}})},BookController.prototype.bindActions=function(){var _this10=this;this.eToA=new _EventsToActions2.default((0,_libs.$)(this.visual.element)),this.eToA.addAction(function(e){return e.preventDefault()},"contextmenu",_EventsToActions2.default.mouseButtons.Right,0),this.eToA.addAction(function(e){return(0,_libs.$)(_this10.view.getParentContainer()).trigger(e)},"keydown",27,0),this.actions=this.getActions();for(var _iterator5=Object.keys(this.actions),_isArray5=Array.isArray(_iterator5),_i5=0,_iterator5=_isArray5?_iterator5:_iterator5[Symbol.iterator]();;){var _ref5;if(_isArray5){if(_i5>=_iterator5.length)break;_ref5=_iterator5[_i5++]}else{if(_i5=_iterator5.next(),_i5.done)break;_ref5=_i5.value}var name=_ref5,action=_extends({},this.actions[name],this.p.actions[name]);if(this.actions[name]=action,0!==name.indexOf("mouseCmd")&&0!==name.indexOf("touchCmd")||action.enabled){var flags=action.flags||0;action.type?this.eToA.addAction(action.activate,action.type,action.code,flags):void 0!==action.code&&this.eToA.addAction(action.activate,"keydown",action.code,flags)}}},BookController.prepareProps=function(props){return BookController.calcProps(BookController.mergeProps((0,_bookController.props)(),props))},BookController.setActions=function(props,actions){for(var _iterator6=Object.keys(actions||{}),_isArray6=Array.isArray(_iterator6),_i6=0,_iterator6=_isArray6?_iterator6:_iterator6[Symbol.iterator]();;){var _ref6;if(_isArray6){if(_i6>=_iterator6.length)break;_ref6=_iterator6[_i6++]}else{if(_i6=_iterator6.next(),_i6.done)break;_ref6=_i6.value}var name=_ref6;props.actions[name]=_extends({},props.actions[name],actions[name])}},BookController.mergeProps=function(first,second){function merge(first,second){second=second||{};for(var props=_extends({},first,second),_iterator7=Object.keys(first),_isArray7=Array.isArray(_iterator7),_i7=0,_iterator7=_isArray7?_iterator7:_iterator7[Symbol.iterator]();;){var _ref7;if(_isArray7){if(_i7>=_iterator7.length)break;_ref7=_iterator7[_i7++]}else{if(_i7=_iterator7.next(),_i7.done)break;_ref7=_i7.value}var name=_ref7;"object"===_typeof(first[name])&&(props[name]=merge(first[name],second[name]))}return props}second=second||{};var props=merge(first,second);return BookController.setActions(props,first.actions),BookController.setActions(props,second.actions),props},BookController.calcProps=function(props){return props.scale.delta=(props.scale.max-props.scale.min)/props.scale.levels,props},BookController}(_Controller3.default);exports.default=BookController},function(module,exports,__webpack_require__){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(self,call){if(!self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!call||"object"!=typeof call&&"function"!=typeof call?self:call}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}exports.__esModule=!0;var _libs=__webpack_require__(1),BookPrinter=function(_THREE$EventDispatche){function BookPrinter(context,book,styleSheet){_classCallCheck(this,BookPrinter);var _this=_possibleConstructorReturn(this,_THREE$EventDispatche.call(this));_this.book=book,_this.styleSheet=styleSheet,_this.wnd=context.wnd,_this.doc=context.doc,_this.pageCallback=book.getPageCallback();var test=_this.pageCallback(0);return _this.type=test.type,"pdf"===_this.type&&(_this.pdfSrc=test.src.src),_this}return _inherits(BookPrinter,_THREE$EventDispatche),BookPrinter.prototype.cancel=function(){this.canceled=!0},BookPrinter.prototype.dispose=function(){this.frame&&(this.frame.remove(),delete this.frame)},BookPrinter.prototype.print=function(){var _this2=this;if(!this.loading)if(delete this.canceled,"pdf"===this.type){var printWnd=void 0,callManually=!1;this.useIFrame()?(callManually=!!this.frame,this.frame||(this.frame=(0,_libs.$)('').appendTo(document.body)),printWnd=this.frame[0].contentWindow):printWnd=this.wnd.open(this.pdfSrc),callManually?printWnd.print():(this.loading=!0,this.dispatchEvent({type:"loading"}),(0,_libs.$)(this.frame).on("load",function(){setTimeout(function(){delete _this2.loading,_this2.dispatchEvent({type:"loaded"});try{printWnd.print()}catch(e){console.error(e)}},1e3)}))}else this.renderContent().then(function(content){var printWnd=_this2.wnd.open(),printDoc=printWnd.document,html=('\n \n \n \n \n 3D FlipBook - Printing\n '+content.head+'\n