{"version":3,"sources":["webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./src/components/Ebook.vue?1d76","webpack:///./node_modules/rematrix/dist/rematrix.es.js","webpack:///./node_modules/flipbook-vue/dist/flipbook.es.js","webpack:///./node_modules/vue-material-design-icons/ChevronLeftCircle.vue?900e","webpack:///node_modules/vue-material-design-icons/ChevronLeftCircle.vue","webpack:///./node_modules/vue-material-design-icons/ChevronLeftCircle.vue?85b2","webpack:///./node_modules/vue-material-design-icons/ChevronLeftCircle.vue","webpack:///./node_modules/vue-material-design-icons/ChevronRightCircle.vue?2571","webpack:///node_modules/vue-material-design-icons/ChevronRightCircle.vue","webpack:///./node_modules/vue-material-design-icons/ChevronRightCircle.vue?fc07","webpack:///./node_modules/vue-material-design-icons/ChevronRightCircle.vue","webpack:///./node_modules/vue-material-design-icons/PlusCircle.vue?f176","webpack:///node_modules/vue-material-design-icons/PlusCircle.vue","webpack:///./node_modules/vue-material-design-icons/PlusCircle.vue?19f3","webpack:///./node_modules/vue-material-design-icons/PlusCircle.vue","webpack:///./node_modules/vue-material-design-icons/MinusCircle.vue?8232","webpack:///node_modules/vue-material-design-icons/MinusCircle.vue","webpack:///./node_modules/vue-material-design-icons/MinusCircle.vue?6811","webpack:///./node_modules/vue-material-design-icons/MinusCircle.vue","webpack:///src/components/Ebook.vue","webpack:///./src/components/Ebook.vue?a410","webpack:///./src/components/Ebook.vue","webpack:///./src/assets/open-book.mp3","webpack:///./src/components/Ebook.vue?c376","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/modules/es.array.slice.js"],"names":["fails","wellKnownSymbol","V8_VERSION","SPECIES","module","exports","METHOD_NAME","array","constructor","foo","Boolean","requireObjectCoercible","whitespaces","whitespace","ltrim","RegExp","rtrim","createMethod","TYPE","$this","string","String","replace","start","end","trim","isObject","setPrototypeOf","dummy","Wrapper","NewTarget","NewTargetPrototype","prototype","toPrimitive","definePropertyModule","createPropertyDescriptor","object","key","value","propertyKey","f","DESCRIPTORS","global","isForced","redefine","has","classof","inheritIfRequired","create","getOwnPropertyNames","getOwnPropertyDescriptor","defineProperty","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","argument","first","third","radix","maxCode","digits","length","index","code","it","charCodeAt","NaN","slice","parseInt","NumberWrapper","arguments","this","valueOf","call","keys","split","j","render","_vm","_h","$createElement","_c","_self","staticClass","class","hasMouse","hasShadow","on","$event","ref","staticStyle","attrs","pages","pageNum","onFlipLeftStart","onFlipLeftEnd","onFlipRightStart","onFlipRightEnd","onZoomStart","onZoomEnd","scopedSlots","_u","fn","flipbook","disabled","canFlipLeft","flipLeft","canZoomIn","zoomIn","_v","_s","page","numPages","canZoomOut","zoomOut","canFlipRight","flipRight","staticRenderFns","format","source","Array","TypeError","matrix","identity","RangeError","i","push","multiply","m","x","fm","fx","product","row","k","col","result","perspective","distance","rotateY","angle","theta","Math","PI","cos","sin","join","translate","distanceX","distanceY","translate3d","distanceZ","undefined","IE","easeIn","easeInOut","easeOut","Matrix$1","Matrix","arg","concat","clone","d","transformX","y","z","deg","toString","spinner","pow","test","navigator","userAgent","script","props","type","required","pagesHiRes","default","flipDuration","Number","zoomDuration","zooms","nPolygons","ambient","gloss","swipeMin","singlePage","forwardDirection","validator","val","centering","startPage","loadingImage","data","viewWidth","viewHeight","imageWidth","imageHeight","displayedPages","nImageLoad","nImageLoadTrigger","imageLoadCallback","currentPage","firstPage","secondPage","zoomIndex","zoom","zooming","touchStartX","touchStartY","maxMove","activeCursor","hasTouchEvents","hasPointerEvents","minX","maxX","preloadedImages","flip","progress","direction","frontImage","backImage","auto","opacity","currentCenterOffset","animatingCenter","startScrollLeft","startScrollTop","scrollLeft","scrollTop","loadedImages","computed","canGoForward","canGoBack","zooms_","max","pageUrl","leftPage","rightPage","showLeftPage","showRightPage","cursor","pageScale","scale","vw","xScale","yScale","pageWidth","round","pageHeight","xMargin","yMargin","polygonWidth","w","ceil","polygonHeight","polygonBgSize","polygonArray","makePolygonArray","boundingLeft","boundingRight","centerOffset","retval","centerOffsetSmoothed","dragToScroll","scrollLeftMin","scrollLeftMax","scrollTopMin","h","scrollTopMax","scrollLeftLimited","min","scrollTopLimited","mounted","window","addEventListener","onResize","passive","goToPage","beforeDestroy","removeEventListener","methods","viewport","$refs","clientWidth","clientHeight","fixFirstPage","hiRes","url","pageUrlLoading","loadImage","flipStart","face","bgPos","dRadian","dRotate","image","lighting","originRight","pageMatrix","pageRotation","pageX","rad","radian","radius","results","rotate","x0","x1","computeLighting","abs","rot","DEG","POW","blackness","diffuse","gradients","lightingPoints","specular","map","this$1","requestAnimationFrame","flipAuto","ease","animate","duration","startRatio","t0","Date","now","$emit","ratio","t","onImageLoad","flipRevert","trigger","cb","didLoadImage","ev","target","path","naturalWidth","naturalHeight","preloadImages","zoomTo","fixedX","fixedY","containerFixedX","containerFixedY","endX","endY","startX","startY","zoomAt","touch","rect","getBoundingClientRect","left","pageY","top","swipeStart","swipeMove","dragScroll","swipeEnd","onTouchStart","changedTouches","onTouchMove","cancelable","preventDefault","onTouchEnd","onPointerDown","which","setPointerCapture","pointerId","error","onPointerMove","onPointerUp","releasePointerCapture","onMouseDown","onMouseMove","onMouseUp","onWheel","deltaX","deltaY","ref1","ref2","ref3","src","Image","p","img","onload","$set","watch","diff","rate","after","before","normalizeComponent","template","style","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","existing","beforeCreate","HEAD","isOldIE","toLowerCase","id","addStyle","styles","css","group","media","ids","Set","sources","btoa","unescape","encodeURIComponent","JSON","stringify","element","document","createElement","setAttribute","head","getElementsByTagName","appendChild","styleSheet","cssText","filter","size","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","__vue_script__","__vue_render__","_t","transform","width","height","_e","_l","bgImage","blank","backgroundImage","backgroundSize","backgroundPosition","zIndex","directives","name","rawName","expression","__vue_staticRenderFns__","__vue_inject_styles__","inject","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","_g","_b","decorative","title","listeners","fillColor","component","components","images","require","playAudio","audio","play","changePage","setPageFromHash","n","location","hash","isFinite","keyCode","isIOS","setTimeout","isArray","$","toAbsoluteIndex","toLength","toIndexedObject","createProperty","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","nativeSlice","proto","forced","Constructor","O","fin"],"mappings":"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","file":"js/chunk-7b82b388.79e4034b.js","sourcesContent":["var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flipbook-wapper\",class:{ 'has-mouse': _vm.hasMouse, 'has-shadow' : _vm.hasShadow },on:{\"touchstart\":function($event){_vm.hasMouse = false}}},[_c('audio',{ref:\"audio\",staticStyle:{\"display\":\"none\"}},[_c('source',{attrs:{\"src\":require(\"../assets/open-book.mp3\"),\"type\":\"audio/mpeg\"}})]),_c('flipbook',{ref:\"flipbook\",staticClass:\"flipbook\",attrs:{\"pages\":_vm.pages,\"startPage\":_vm.pageNum,\"flipDuration\":1300,\"zooms\":[1, 2]},on:{\"flip-left-start\":_vm.onFlipLeftStart,\"flip-left-end\":_vm.onFlipLeftEnd,\"flip-right-start\":_vm.onFlipRightStart,\"flip-right-end\":_vm.onFlipRightEnd,\"zoom-start\":_vm.onZoomStart,\"zoom-end\":_vm.onZoomEnd},scopedSlots:_vm._u([{key:\"default\",fn:function(flipbook){return [_c('div',{staticClass:\"action-bar\"},[_c('left-icon',{staticClass:\"btn left\",class:{ disabled: !flipbook.canFlipLeft },on:{\"click\":flipbook.flipLeft}}),_c('plus-icon',{staticClass:\"btn plus\",class:{ disabled: !flipbook.canZoomIn },on:{\"click\":flipbook.zoomIn}}),_c('span',{staticClass:\"page-num\"},[_vm._v(\"Page \"+_vm._s(flipbook.page)+\" of \"+_vm._s(flipbook.numPages))]),_c('minus-icon',{staticClass:\"btn minus\",class:{ disabled: !flipbook.canZoomOut },on:{\"click\":flipbook.zoomOut}}),_c('right-icon',{staticClass:\"btn right\",class:{ disabled: !flipbook.canFlipRight },on:{\"click\":flipbook.flipRight}})],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/*! @license Rematrix v0.4.1\n\n\tCopyright 2019 Julian Lloyd.\n\n\tPermission is hereby granted, free of charge, to any person obtaining a copy\n\tof this software and associated documentation files (the \"Software\"), to deal\n\tin the Software without restriction, including without limitation the rights\n\tto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n\tcopies of the Software, and to permit persons to whom the Software is\n\tfurnished to do so, subject to the following conditions:\n\n\tThe above copyright notice and this permission notice shall be included in\n\tall copies or substantial portions of the Software.\n\n\tTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\tIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\tFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\tAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\tLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\tOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\tTHE SOFTWARE.\n*/\n/**\n * @module Rematrix\n */\n\n/**\n * Attempts to return a 4x4 matrix describing the CSS transform\n * matrix passed in, but will return the identity matrix as a\n * fallback.\n *\n * @param {string} source - `matrix` or `matrix3d` CSS Transform value.\n * @return {array}\n */\nfunction fromString(source) {\n if (typeof source === 'string') {\n var match = source.match(/matrix(3d)?\\(([^)]+)\\)/);\n if (match) {\n var raw = match[2].split(', ').map(parseFloat);\n return format(raw)\n }\n }\n return identity()\n}\n\n/**\n * Transformation matrices in the browser come in two flavors:\n *\n * - `matrix` using 6 values (short)\n * - `matrix3d` using 16 values (long)\n *\n * This utility follows this [conversion guide](https://goo.gl/EJlUQ1)\n * to expand short form matrices to their equivalent long form.\n *\n * @param {array} source - Accepts both short and long form matrices.\n * @return {array}\n */\nfunction format(source) {\n if (source.constructor !== Array) {\n throw new TypeError('Expected array.')\n }\n if (source.length === 16) {\n return source\n }\n if (source.length === 6) {\n var matrix = identity();\n matrix[0] = source[0];\n matrix[1] = source[1];\n matrix[4] = source[2];\n matrix[5] = source[3];\n matrix[12] = source[4];\n matrix[13] = source[5];\n return matrix\n }\n throw new RangeError('Expected array with either 6 or 16 values.')\n}\n\n/**\n * Returns a matrix representing no transformation. The product of any matrix\n * multiplied by the identity matrix will be the original matrix.\n *\n * > **Tip:** Similar to how `5 * 1 === 5`, where `1` is the identity.\n *\n * @return {array}\n */\nfunction identity() {\n var matrix = [];\n for (var i = 0; i < 16; i++) {\n i % 5 == 0 ? matrix.push(1) : matrix.push(0);\n }\n return matrix\n}\n\n/**\n * Returns a matrix describing the inverse transformation of the source\n * matrix. The product of any matrix multiplied by its inverse will be the\n * identity matrix.\n *\n * > **Tip:** Similar to how `5 * (1/5) === 1`, where `1/5` is the inverse.\n *\n * @param {array} source - Accepts both short and long form matrices.\n * @return {array}\n */\nfunction inverse(source) {\n var m = format(source);\n\n var s0 = m[0] * m[5] - m[4] * m[1];\n var s1 = m[0] * m[6] - m[4] * m[2];\n var s2 = m[0] * m[7] - m[4] * m[3];\n var s3 = m[1] * m[6] - m[5] * m[2];\n var s4 = m[1] * m[7] - m[5] * m[3];\n var s5 = m[2] * m[7] - m[6] * m[3];\n\n var c5 = m[10] * m[15] - m[14] * m[11];\n var c4 = m[9] * m[15] - m[13] * m[11];\n var c3 = m[9] * m[14] - m[13] * m[10];\n var c2 = m[8] * m[15] - m[12] * m[11];\n var c1 = m[8] * m[14] - m[12] * m[10];\n var c0 = m[8] * m[13] - m[12] * m[9];\n\n var determinant = 1 / (s0 * c5 - s1 * c4 + s2 * c3 + s3 * c2 - s4 * c1 + s5 * c0);\n\n if (isNaN(determinant) || determinant === Infinity) {\n throw new Error('Inverse determinant attempted to divide by zero.')\n }\n\n return [\n (m[5] * c5 - m[6] * c4 + m[7] * c3) * determinant,\n (-m[1] * c5 + m[2] * c4 - m[3] * c3) * determinant,\n (m[13] * s5 - m[14] * s4 + m[15] * s3) * determinant,\n (-m[9] * s5 + m[10] * s4 - m[11] * s3) * determinant,\n\n (-m[4] * c5 + m[6] * c2 - m[7] * c1) * determinant,\n (m[0] * c5 - m[2] * c2 + m[3] * c1) * determinant,\n (-m[12] * s5 + m[14] * s2 - m[15] * s1) * determinant,\n (m[8] * s5 - m[10] * s2 + m[11] * s1) * determinant,\n\n (m[4] * c4 - m[5] * c2 + m[7] * c0) * determinant,\n (-m[0] * c4 + m[1] * c2 - m[3] * c0) * determinant,\n (m[12] * s4 - m[13] * s2 + m[15] * s0) * determinant,\n (-m[8] * s4 + m[9] * s2 - m[11] * s0) * determinant,\n\n (-m[4] * c3 + m[5] * c1 - m[6] * c0) * determinant,\n (m[0] * c3 - m[1] * c1 + m[2] * c0) * determinant,\n (-m[12] * s3 + m[13] * s1 - m[14] * s0) * determinant,\n (m[8] * s3 - m[9] * s1 + m[10] * s0) * determinant ]\n}\n\n/**\n * Returns a 4x4 matrix describing the combined transformations\n * of both arguments.\n *\n * > **Note:** Order is very important. For example, rotating 45°\n * along the Z-axis, followed by translating 500 pixels along the\n * Y-axis... is not the same as translating 500 pixels along the\n * Y-axis, followed by rotating 45° along on the Z-axis.\n *\n * @param {array} m - Accepts both short and long form matrices.\n * @param {array} x - Accepts both short and long form matrices.\n * @return {array}\n */\nfunction multiply(m, x) {\n var fm = format(m);\n var fx = format(x);\n var product = [];\n\n for (var i = 0; i < 4; i++) {\n var row = [fm[i], fm[i + 4], fm[i + 8], fm[i + 12]];\n for (var j = 0; j < 4; j++) {\n var k = j * 4;\n var col = [fx[k], fx[k + 1], fx[k + 2], fx[k + 3]];\n var result = row[0] * col[0] + row[1] * col[1] + row[2] * col[2] + row[3] * col[3];\n\n product[i + k] = result;\n }\n }\n\n return product\n}\n\n/**\n * This method has been deprecated!\n * See `Rematrix.fromString` instead.\n */\nfunction parse(source) {\n console.warn('The `parse` method has been deprecated, please use `fromString`');\n return fromString(source)\n}\n\n/**\n * Returns a 4x4 matrix describing perspective.\n *\n * @param {number} distance - Measured in pixels.\n * @return {array}\n */\nfunction perspective(distance) {\n var matrix = identity();\n matrix[11] = -1 / distance;\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Z-axis rotation.\n *\n * > **Tip:** This is just an alias for `Rematrix.rotateZ` for parity with CSS\n *\n * @param {number} angle - Measured in degrees.\n * @return {array}\n */\nfunction rotate(angle) {\n return rotateZ(angle)\n}\n\n/**\n * Returns a 4x4 matrix describing X-axis rotation.\n *\n * @param {number} angle - Measured in degrees.\n * @return {array}\n */\nfunction rotateX(angle) {\n var theta = (Math.PI / 180) * angle;\n var matrix = identity();\n\n matrix[5] = matrix[10] = Math.cos(theta);\n matrix[6] = matrix[9] = Math.sin(theta);\n matrix[9] *= -1;\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Y-axis rotation.\n *\n * @param {number} angle - Measured in degrees.\n * @return {array}\n */\nfunction rotateY(angle) {\n var theta = (Math.PI / 180) * angle;\n var matrix = identity();\n\n matrix[0] = matrix[10] = Math.cos(theta);\n matrix[2] = matrix[8] = Math.sin(theta);\n matrix[2] *= -1;\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Z-axis rotation.\n *\n * @param {number} angle - Measured in degrees.\n * @return {array}\n */\nfunction rotateZ(angle) {\n var theta = (Math.PI / 180) * angle;\n var matrix = identity();\n\n matrix[0] = matrix[5] = Math.cos(theta);\n matrix[1] = matrix[4] = Math.sin(theta);\n matrix[4] *= -1;\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing 2D scaling. The first argument\n * is used for both X and Y-axis scaling, unless an optional\n * second argument is provided to explicitly define Y-axis scaling.\n *\n * @param {number} scalar - Decimal multiplier.\n * @param {number} [scalarY] - Decimal multiplier.\n * @return {array}\n */\nfunction scale(scalar, scalarY) {\n var matrix = identity();\n\n matrix[0] = scalar;\n matrix[5] = typeof scalarY === 'number' ? scalarY : scalar;\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing X-axis scaling.\n *\n * @param {number} scalar - Decimal multiplier.\n * @return {array}\n */\nfunction scaleX(scalar) {\n var matrix = identity();\n matrix[0] = scalar;\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Y-axis scaling.\n *\n * @param {number} scalar - Decimal multiplier.\n * @return {array}\n */\nfunction scaleY(scalar) {\n var matrix = identity();\n matrix[5] = scalar;\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Z-axis scaling.\n *\n * @param {number} scalar - Decimal multiplier.\n * @return {array}\n */\nfunction scaleZ(scalar) {\n var matrix = identity();\n matrix[10] = scalar;\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing shear. The first argument\n * defines X-axis shearing, and an optional second argument\n * defines Y-axis shearing.\n *\n * @param {number} angleX - Measured in degrees.\n * @param {number} [angleY] - Measured in degrees.\n * @return {array}\n */\nfunction skew(angleX, angleY) {\n var thetaX = (Math.PI / 180) * angleX;\n var matrix = identity();\n\n matrix[4] = Math.tan(thetaX);\n\n if (angleY) {\n var thetaY = (Math.PI / 180) * angleY;\n matrix[1] = Math.tan(thetaY);\n }\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing X-axis shear.\n *\n * @param {number} angle - Measured in degrees.\n * @return {array}\n */\nfunction skewX(angle) {\n var theta = (Math.PI / 180) * angle;\n var matrix = identity();\n\n matrix[4] = Math.tan(theta);\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Y-axis shear.\n *\n * @param {number} angle - Measured in degrees\n * @return {array}\n */\nfunction skewY(angle) {\n var theta = (Math.PI / 180) * angle;\n var matrix = identity();\n\n matrix[1] = Math.tan(theta);\n\n return matrix\n}\n\n/**\n * Returns a CSS Transform property value equivalent to the source matrix.\n *\n * @param {array} source - Accepts both short and long form matrices.\n * @return {string}\n */\nfunction toString(source) {\n return (\"matrix3d(\" + (format(source).join(', ')) + \")\")\n}\n\n/**\n * Returns a 4x4 matrix describing 2D translation. The first\n * argument defines X-axis translation, and an optional second\n * argument defines Y-axis translation.\n *\n * @param {number} distanceX - Measured in pixels.\n * @param {number} [distanceY] - Measured in pixels.\n * @return {array}\n */\nfunction translate(distanceX, distanceY) {\n var matrix = identity();\n matrix[12] = distanceX;\n\n if (distanceY) {\n matrix[13] = distanceY;\n }\n\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing 3D translation. The first\n * argument defines X-axis translation, the second argument defines Y-axis\n * translation, and the third argument defines Z-axis translation.\n *\n * @param {number} distanceX - Measured in pixels.\n * @param {number} distanceY - Measured in pixels.\n * @param {number} distanceZ - Measured in pixels.\n * @return {array}\n */\nfunction translate3d(distanceX, distanceY, distanceZ) {\n var matrix = identity();\n if (distanceX !== undefined && distanceY !== undefined && distanceZ !== undefined) {\n matrix[12] = distanceX;\n matrix[13] = distanceY;\n matrix[14] = distanceZ;\n }\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing X-axis translation.\n *\n * @param {number} distance - Measured in pixels.\n * @return {array}\n */\nfunction translateX(distance) {\n var matrix = identity();\n matrix[12] = distance;\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Y-axis translation.\n *\n * @param {number} distance - Measured in pixels.\n * @return {array}\n */\nfunction translateY(distance) {\n var matrix = identity();\n matrix[13] = distance;\n return matrix\n}\n\n/**\n * Returns a 4x4 matrix describing Z-axis translation.\n *\n * @param {number} distance - Measured in pixels.\n * @return {array}\n */\nfunction translateZ(distance) {\n var matrix = identity();\n matrix[14] = distance;\n return matrix\n}\n\nexport { format, fromString, identity, inverse, multiply, parse, perspective, rotate, rotateX, rotateY, rotateZ, scale, scaleX, scaleY, scaleZ, skew, skewX, skewY, toString, translate, translate3d, translateX, translateY, translateZ };\n","/*!\n * @license\n * flipbook-vue v0.10.2\n * Copyright © 2021 Takeshi Sone.\n * Released under the MIT License.\n */\n\nimport { multiply, perspective, translate, translate3d, rotateY, toString, identity } from 'rematrix';\n\nvar Matrix;\n\nvar Matrix$1 = Matrix = /*@__PURE__*/(function () {\n function Matrix(arg) {\n if (arg) {\n if (arg.m) {\n this.m = [].concat( arg.m );\n } else {\n this.m = [].concat( arg );\n }\n } else {\n this.m = identity();\n }\n }\n\n Matrix.prototype.clone = function clone () {\n return new Matrix(this);\n };\n\n Matrix.prototype.multiply = function multiply$1 (m) {\n return this.m = multiply(this.m, m);\n };\n\n Matrix.prototype.perspective = function perspective$1 (d) {\n return this.multiply(perspective(d));\n };\n\n Matrix.prototype.transformX = function transformX (x) {\n return (x * this.m[0] + this.m[12]) / (x * this.m[3] + this.m[15]);\n };\n\n Matrix.prototype.translate = function translate$1 (x, y) {\n return this.multiply(translate(x, y));\n };\n\n Matrix.prototype.translate3d = function translate3d$1 (x, y, z) {\n return this.multiply(translate3d(x, y, z));\n };\n\n Matrix.prototype.rotateY = function rotateY$1 (deg) {\n return this.multiply(rotateY(deg));\n };\n\n Matrix.prototype.toString = function toString$1 () {\n return toString(this.m);\n };\n\n return Matrix;\n}());\n\nvar spinner = \"data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22500%22%20height%3D%22500%22%20viewBox%3D%220%200%20500%20500%22%20fill%3D%22transparent%22%20style%3D%22background-color%3A%20%23fff%22%3E%20%20%3Ccircle%20%20%20%20cx%3D%22250%22%20%20%20%20cy%3D%22250%22%20%20%20%20r%3D%2248%22%20%20%20%20stroke%3D%22%23333%22%20%20%20%20stroke-width%3D%222%22%20%20%20%20stroke-dasharray%3D%22271%2030%22%20%20%3E%20%20%20%20%3CanimateTransform%20%20%20%20%20%20attributeName%3D%22transform%22%20%20%20%20%20%20attributeType%3D%22XML%22%20%20%20%20%20%20type%3D%22rotate%22%20%20%20%20%20%20from%3D%220%20250%20250%22%20%20%20%20%20%20to%3D%22360%20250%20250%22%20%20%20%20%20%20dur%3D%221s%22%20%20%20%20%20%20repeatCount%3D%22indefinite%22%20%20%20%20%2F%3E%20%20%3C%2Fcircle%3E%3C%2Fsvg%3E\";\n\nvar IE, easeIn, easeInOut, easeOut;\n\neaseIn = function(x) {\n return Math.pow(x, 2);\n};\n\neaseOut = function(x) {\n return 1 - easeIn(1 - x);\n};\n\neaseInOut = function(x) {\n if (x < 0.5) {\n return easeIn(x * 2) / 2;\n } else {\n return 0.5 + easeOut((x - 0.5) * 2) / 2;\n }\n};\n\nIE = /Trident/.test(navigator.userAgent);\n\nvar script = {\n props: {\n pages: {\n type: Array,\n required: true\n },\n pagesHiRes: {\n type: Array,\n default: function() {\n return [];\n }\n },\n flipDuration: {\n type: Number,\n default: 1000\n },\n zoomDuration: {\n type: Number,\n default: 500\n },\n zooms: {\n type: Array,\n default: function() {\n return [1, 2, 4];\n }\n },\n perspective: {\n type: Number,\n default: 2400\n },\n nPolygons: {\n type: Number,\n default: 10\n },\n ambient: {\n type: Number,\n default: 0.4\n },\n gloss: {\n type: Number,\n default: 0.6\n },\n swipeMin: {\n type: Number,\n default: 3\n },\n singlePage: {\n type: Boolean,\n default: false\n },\n forwardDirection: {\n validator: function(val) {\n return val === 'right' || val === 'left';\n },\n default: 'right'\n },\n centering: {\n type: Boolean,\n default: true\n },\n startPage: {\n type: Number,\n default: null\n },\n loadingImage: {\n type: String,\n default: spinner\n }\n },\n data: function() {\n return {\n viewWidth: 0,\n viewHeight: 0,\n imageWidth: null,\n imageHeight: null,\n displayedPages: 1,\n nImageLoad: 0,\n nImageLoadTrigger: 0,\n imageLoadCallback: null,\n currentPage: 0,\n firstPage: 0,\n secondPage: 1,\n zoomIndex: 0,\n zoom: 1,\n zooming: false,\n touchStartX: null,\n touchStartY: null,\n maxMove: 0,\n activeCursor: null,\n hasTouchEvents: false,\n hasPointerEvents: false,\n minX: 2e308,\n maxX: -2e308,\n preloadedImages: {},\n flip: {\n progress: 0,\n direction: null,\n frontImage: null,\n backImage: null,\n auto: false,\n opacity: 1\n },\n currentCenterOffset: null,\n animatingCenter: false,\n startScrollLeft: 0,\n startScrollTop: 0,\n scrollLeft: 0,\n scrollTop: 0,\n loadedImages: {}\n };\n },\n computed: {\n canFlipLeft: function() {\n if (this.forwardDirection === 'left') {\n return this.canGoForward;\n } else {\n return this.canGoBack;\n }\n },\n canFlipRight: function() {\n if (this.forwardDirection === 'right') {\n return this.canGoForward;\n } else {\n return this.canGoBack;\n }\n },\n canZoomIn: function() {\n return !this.zooming && this.zoomIndex < this.zooms_.length - 1;\n },\n canZoomOut: function() {\n return !this.zooming && this.zoomIndex > 0;\n },\n numPages: function() {\n if (this.pages[0] === null) {\n return this.pages.length - 1;\n } else {\n return this.pages.length;\n }\n },\n page: function() {\n if (this.pages[0] !== null) {\n return this.currentPage + 1;\n } else {\n return Math.max(1, this.currentPage);\n }\n },\n zooms_: function() {\n return this.zooms || [1];\n },\n canGoForward: function() {\n return !this.flip.direction && this.currentPage < this.pages.length - this.displayedPages;\n },\n canGoBack: function() {\n return !this.flip.direction && this.currentPage >= this.displayedPages && !(this.displayedPages === 1 && !this.pageUrl(this.firstPage - 1));\n },\n leftPage: function() {\n if (this.forwardDirection === 'right' || this.displayedPages === 1) {\n return this.firstPage;\n } else {\n return this.secondPage;\n }\n },\n rightPage: function() {\n if (this.forwardDirection === 'left') {\n return this.firstPage;\n } else {\n return this.secondPage;\n }\n },\n showLeftPage: function() {\n return this.pageUrl(this.leftPage);\n },\n showRightPage: function() {\n return this.pageUrl(this.rightPage) && this.displayedPages === 2;\n },\n cursor: function() {\n if (this.activeCursor) {\n return this.activeCursor;\n } else if (IE) {\n return 'auto';\n } else if (this.canZoomIn) {\n return 'zoom-in';\n } else if (this.canZoomOut) {\n return 'zoom-out';\n } else {\n return 'grab';\n }\n },\n pageScale: function() {\n var scale, vw, xScale, yScale;\n vw = this.viewWidth / this.displayedPages;\n xScale = vw / this.imageWidth;\n yScale = this.viewHeight / this.imageHeight;\n scale = xScale < yScale ? xScale : yScale;\n if (scale < 1) {\n return scale;\n } else {\n return 1;\n }\n },\n pageWidth: function() {\n return Math.round(this.imageWidth * this.pageScale);\n },\n pageHeight: function() {\n return Math.round(this.imageHeight * this.pageScale);\n },\n xMargin: function() {\n return (this.viewWidth - this.pageWidth * this.displayedPages) / 2;\n },\n yMargin: function() {\n return (this.viewHeight - this.pageHeight) / 2;\n },\n polygonWidth: function() {\n var w;\n w = this.pageWidth / this.nPolygons;\n w = Math.ceil(w + 1 / this.zoom);\n return w + 'px';\n },\n polygonHeight: function() {\n return this.pageHeight + 'px';\n },\n polygonBgSize: function() {\n return ((this.pageWidth) + \"px \" + (this.pageHeight) + \"px\");\n },\n polygonArray: function() {\n return this.makePolygonArray('front').concat(this.makePolygonArray('back'));\n },\n boundingLeft: function() {\n var x;\n if (this.displayedPages === 1) {\n return this.xMargin;\n } else {\n x = this.pageUrl(this.leftPage) ? this.xMargin : this.viewWidth / 2;\n if (x < this.minX) {\n return x;\n } else {\n return this.minX;\n }\n }\n },\n boundingRight: function() {\n var x;\n if (this.displayedPages === 1) {\n return this.viewWidth - this.xMargin;\n } else {\n x = this.pageUrl(this.rightPage) ? this.viewWidth - this.xMargin : this.viewWidth / 2;\n if (x > this.maxX) {\n return x;\n } else {\n return this.maxX;\n }\n }\n },\n centerOffset: function() {\n var retval;\n retval = this.centering ? Math.round(this.viewWidth / 2 - (this.boundingLeft + this.boundingRight) / 2) : 0;\n if (this.currentCenterOffset === null && this.imageWidth !== null) {\n this.currentCenterOffset = retval;\n }\n return retval;\n },\n centerOffsetSmoothed: function() {\n return Math.round(this.currentCenterOffset);\n },\n dragToScroll: function() {\n return !this.hasTouchEvents;\n },\n scrollLeftMin: function() {\n var w;\n w = (this.boundingRight - this.boundingLeft) * this.zoom;\n if (w < this.viewWidth) {\n return (this.boundingLeft + this.centerOffsetSmoothed) * this.zoom - (this.viewWidth - w) / 2;\n } else {\n return (this.boundingLeft + this.centerOffsetSmoothed) * this.zoom;\n }\n },\n scrollLeftMax: function() {\n var w;\n w = (this.boundingRight - this.boundingLeft) * this.zoom;\n if (w < this.viewWidth) {\n return (this.boundingLeft + this.centerOffsetSmoothed) * this.zoom - (this.viewWidth - w) / 2;\n } else {\n return (this.boundingRight + this.centerOffsetSmoothed) * this.zoom - this.viewWidth;\n }\n },\n scrollTopMin: function() {\n var h;\n h = this.pageHeight * this.zoom;\n if (h < this.viewHeight) {\n return this.yMargin * this.zoom - (this.viewHeight - h) / 2;\n } else {\n return this.yMargin * this.zoom;\n }\n },\n scrollTopMax: function() {\n var h;\n h = this.pageHeight * this.zoom;\n if (h < this.viewHeight) {\n return this.yMargin * this.zoom - (this.viewHeight - h) / 2;\n } else {\n return (this.yMargin + this.pageHeight) * this.zoom - this.viewHeight;\n }\n },\n scrollLeftLimited: function() {\n return Math.min(this.scrollLeftMax, Math.max(this.scrollLeftMin, this.scrollLeft));\n },\n scrollTopLimited: function() {\n return Math.min(this.scrollTopMax, Math.max(this.scrollTopMin, this.scrollTop));\n }\n },\n mounted: function() {\n window.addEventListener('resize', this.onResize, {\n passive: true\n });\n this.onResize();\n this.zoom = this.zooms_[0];\n return this.goToPage(this.startPage);\n },\n beforeDestroy: function() {\n return window.removeEventListener('resize', this.onResize, {\n passive: true\n });\n },\n methods: {\n onResize: function() {\n var viewport;\n viewport = this.$refs.viewport;\n if (!viewport) {\n return;\n }\n this.viewWidth = viewport.clientWidth;\n this.viewHeight = viewport.clientHeight;\n this.displayedPages = this.viewWidth > this.viewHeight && !this.singlePage ? 2 : 1;\n if (this.displayedPages === 2) {\n this.currentPage &= ~1;\n }\n this.fixFirstPage();\n this.minX = 2e308;\n return this.maxX = -2e308;\n },\n fixFirstPage: function() {\n if (this.displayedPages === 1 && this.currentPage === 0 && this.pages.length && !this.pageUrl(0)) {\n return this.currentPage++;\n }\n },\n pageUrl: function(page, hiRes) {\n if ( hiRes === void 0 ) hiRes = false;\n\n var url;\n if (hiRes && this.zoom > 1 && !this.zooming) {\n url = this.pagesHiRes[page];\n if (url) {\n return url;\n }\n }\n return this.pages[page] || null;\n },\n pageUrlLoading: function(page, hiRes) {\n if ( hiRes === void 0 ) hiRes = false;\n\n var url;\n url = this.pageUrl(page, hiRes);\n if (hiRes && this.zoom > 1 && !this.zooming) {\n // High-res image doesn't use 'loading'\n return url;\n }\n return url && this.loadImage(url);\n },\n flipLeft: function() {\n if (!this.canFlipLeft) {\n return;\n }\n return this.flipStart('left', true);\n },\n flipRight: function() {\n if (!this.canFlipRight) {\n return;\n }\n return this.flipStart('right', true);\n },\n makePolygonArray: function(face) {\n var bgPos, dRadian, dRotate, direction, i, image, j, lighting, m, originRight, pageMatrix, pageRotation, pageX, polygonWidth, progress, rad, radian, radius, ref, results, rotate, theta, x, x0, x1, z;\n if (!this.flip.direction) {\n return [];\n }\n progress = this.flip.progress;\n direction = this.flip.direction;\n if (this.displayedPages === 1 && direction !== this.forwardDirection) {\n progress = 1 - progress;\n direction = this.forwardDirection;\n }\n this.flip.opacity = this.displayedPages === 1 && progress > .7 ? 1 - (progress - .7) / .3 : 1;\n image = face === 'front' ? this.flip.frontImage : this.flip.backImage;\n polygonWidth = this.pageWidth / this.nPolygons;\n pageX = this.xMargin;\n originRight = false;\n if (this.displayedPages === 1) {\n if (this.forwardDirection === 'right') {\n if (face === 'back') {\n originRight = true;\n pageX = this.xMargin - this.pageWidth;\n }\n } else {\n if (direction === 'left') {\n if (face === 'back') {\n pageX = this.pageWidth - this.xMargin;\n } else {\n originRight = true;\n }\n } else {\n if (face === 'front') {\n pageX = this.pageWidth - this.xMargin;\n } else {\n originRight = true;\n }\n }\n }\n } else {\n if (direction === 'left') {\n if (face === 'back') {\n pageX = this.viewWidth / 2;\n } else {\n originRight = true;\n }\n } else {\n if (face === 'front') {\n pageX = this.viewWidth / 2;\n } else {\n originRight = true;\n }\n }\n }\n pageMatrix = new Matrix$1();\n pageMatrix.translate(this.viewWidth / 2);\n pageMatrix.perspective(this.perspective);\n pageMatrix.translate(-this.viewWidth / 2);\n pageMatrix.translate(pageX, this.yMargin);\n pageRotation = 0;\n if (progress > 0.5) {\n pageRotation = -(progress - 0.5) * 2 * 180;\n }\n if (direction === 'left') {\n pageRotation = -pageRotation;\n }\n if (face === 'back') {\n pageRotation += 180;\n }\n if (pageRotation) {\n if (originRight) {\n pageMatrix.translate(this.pageWidth);\n }\n pageMatrix.rotateY(pageRotation);\n if (originRight) {\n pageMatrix.translate(-this.pageWidth);\n }\n }\n if (progress < 0.5) {\n theta = progress * 2 * Math.PI;\n } else {\n theta = (1 - (progress - 0.5) * 2) * Math.PI;\n }\n if (theta === 0) {\n theta = 1e-9;\n }\n radius = this.pageWidth / theta;\n radian = 0;\n dRadian = theta / this.nPolygons;\n rotate = dRadian / 2 / Math.PI * 180;\n dRotate = dRadian / Math.PI * 180;\n if (originRight) {\n rotate = -theta / Math.PI * 180 + dRotate / 2;\n }\n if (face === 'back') {\n rotate = -rotate;\n dRotate = -dRotate;\n }\n this.minX = 2e308;\n this.maxX = -2e308;\n results = [];\n for (i = j = 0, ref = this.nPolygons; (0 <= ref ? j < ref : j > ref); i = 0 <= ref ? ++j : --j) {\n bgPos = (i / (this.nPolygons - 1) * 100) + \"% 0px\";\n m = pageMatrix.clone();\n rad = originRight ? theta - radian : radian;\n x = Math.sin(rad) * radius;\n if (originRight) {\n x = this.pageWidth - x;\n }\n z = (1 - Math.cos(rad)) * radius;\n if (face === 'back') {\n z = -z;\n }\n m.translate3d(x, 0, z);\n m.rotateY(-rotate);\n x0 = m.transformX(0);\n x1 = m.transformX(polygonWidth);\n this.maxX = Math.max(Math.max(x0, x1), this.maxX);\n this.minX = Math.min(Math.min(x0, x1), this.minX);\n lighting = this.computeLighting(pageRotation - rotate, dRotate);\n radian += dRadian;\n rotate += dRotate;\n results.push([face + i, image, lighting, bgPos, m.toString(), Math.abs(Math.round(z))]);\n }\n return results;\n },\n computeLighting: function(rot, dRotate) {\n var DEG, POW, blackness, diffuse, gradients, lightingPoints, specular;\n gradients = [];\n lightingPoints = [-0.5, -0.25, 0, 0.25, 0.5];\n if (this.ambient < 1) {\n blackness = 1 - this.ambient;\n diffuse = lightingPoints.map(function (d) {\n return (1 - Math.cos((rot - dRotate * d) / 180 * Math.PI)) * blackness;\n });\n gradients.push((\"linear-gradient(to right,\\n rgba(0, 0, 0, \" + (diffuse[0]) + \"),\\n rgba(0, 0, 0, \" + (diffuse[1]) + \") 25%,\\n rgba(0, 0, 0, \" + (diffuse[2]) + \") 50%,\\n rgba(0, 0, 0, \" + (diffuse[3]) + \") 75%,\\n rgba(0, 0, 0, \" + (diffuse[4]) + \"))\"));\n }\n if (this.gloss > 0 && !IE) {\n DEG = 30;\n POW = 200;\n specular = lightingPoints.map(function (d) {\n return Math.max(Math.pow( Math.cos((rot + DEG - dRotate * d) / 180 * Math.PI), POW ), Math.pow( Math.cos((rot - DEG - dRotate * d) / 180 * Math.PI), POW ));\n });\n gradients.push((\"linear-gradient(to right,\\n rgba(255, 255, 255, \" + (specular[0] * this.gloss) + \"),\\n rgba(255, 255, 255, \" + (specular[1] * this.gloss) + \") 25%,\\n rgba(255, 255, 255, \" + (specular[2] * this.gloss) + \") 50%,\\n rgba(255, 255, 255, \" + (specular[3] * this.gloss) + \") 75%,\\n rgba(255, 255, 255, \" + (specular[4] * this.gloss) + \"))\"));\n }\n return gradients.join(',');\n },\n flipStart: function(direction, auto) {\n var this$1 = this;\n\n if (direction !== this.forwardDirection) {\n if (this.displayedPages === 1) {\n this.flip.frontImage = this.pageUrl(this.currentPage - 1);\n this.flip.backImage = null;\n } else {\n this.flip.frontImage = this.pageUrl(this.firstPage);\n this.flip.backImage = this.pageUrl(this.currentPage - this.displayedPages + 1);\n }\n } else {\n if (this.displayedPages === 1) {\n this.flip.frontImage = this.pageUrl(this.currentPage);\n this.flip.backImage = null;\n } else {\n this.flip.frontImage = this.pageUrl(this.secondPage);\n this.flip.backImage = this.pageUrl(this.currentPage + this.displayedPages);\n }\n }\n this.flip.direction = direction;\n this.flip.progress = 0;\n return requestAnimationFrame(function () {\n return requestAnimationFrame(function () {\n if (this$1.flip.direction !== this$1.forwardDirection) {\n if (this$1.displayedPages === 2) {\n this$1.firstPage = this$1.currentPage - this$1.displayedPages;\n }\n } else {\n if (this$1.displayedPages === 1) {\n this$1.firstPage = this$1.currentPage + this$1.displayedPages;\n } else {\n this$1.secondPage = this$1.currentPage + 1 + this$1.displayedPages;\n }\n }\n if (auto) {\n return this$1.flipAuto(true);\n }\n });\n });\n },\n flipAuto: function(ease) {\n var this$1 = this;\n\n var animate, duration, startRatio, t0;\n t0 = Date.now();\n duration = this.flipDuration * (1 - this.flip.progress);\n startRatio = this.flip.progress;\n this.flip.auto = true;\n this.$emit((\"flip-\" + (this.flip.direction) + \"-start\"), this.page);\n animate = function () {\n return requestAnimationFrame(function () {\n var ratio, t;\n t = Date.now() - t0;\n ratio = startRatio + t / duration;\n if (ratio > 1) {\n ratio = 1;\n }\n this$1.flip.progress = ease ? easeInOut(ratio) : ratio;\n if (ratio < 1) {\n return animate();\n } else {\n if (this$1.flip.direction !== this$1.forwardDirection) {\n this$1.currentPage -= this$1.displayedPages;\n } else {\n this$1.currentPage += this$1.displayedPages;\n }\n this$1.$emit((\"flip-\" + (this$1.flip.direction) + \"-end\"), this$1.page);\n if (this$1.displayedPages === 1 && this$1.flip.direction === this$1.forwardDirection) {\n this$1.flip.direction = null;\n } else {\n this$1.onImageLoad(1, function () {\n return this$1.flip.direction = null;\n });\n }\n return this$1.flip.auto = false;\n }\n });\n };\n return animate();\n },\n flipRevert: function() {\n var this$1 = this;\n\n var animate, duration, startRatio, t0;\n t0 = Date.now();\n duration = this.flipDuration * this.flip.progress;\n startRatio = this.flip.progress;\n this.flip.auto = true;\n animate = function () {\n return requestAnimationFrame(function () {\n var ratio, t;\n t = Date.now() - t0;\n ratio = startRatio - startRatio * t / duration;\n if (ratio < 0) {\n ratio = 0;\n }\n this$1.flip.progress = ratio;\n if (ratio > 0) {\n return animate();\n } else {\n this$1.firstPage = this$1.currentPage;\n this$1.secondPage = this$1.currentPage + 1;\n if (this$1.displayedPages === 1 && this$1.flip.direction !== this$1.forwardDirection) {\n this$1.flip.direction = null;\n } else {\n this$1.onImageLoad(1, function () {\n return this$1.flip.direction = null;\n });\n }\n return this$1.flip.auto = false;\n }\n });\n };\n return animate();\n },\n onImageLoad: function(trigger, cb) {\n this.nImageLoad = 0;\n this.nImageLoadTrigger = trigger;\n return this.imageLoadCallback = cb;\n },\n didLoadImage: function(ev) {\n if (this.imageWidth === null) {\n this.imageWidth = (ev.target || ev.path[0]).naturalWidth;\n this.imageHeight = (ev.target || ev.path[0]).naturalHeight;\n this.preloadImages();\n }\n if (!this.imageLoadCallback) {\n return;\n }\n if (++this.nImageLoad >= this.nImageLoadTrigger) {\n this.imageLoadCallback();\n return this.imageLoadCallback = null;\n }\n },\n zoomIn: function() {\n if (!this.canZoomIn) {\n return;\n }\n this.zoomIndex += 1;\n return this.zoomTo(this.zooms_[this.zoomIndex]);\n },\n zoomOut: function() {\n if (!this.canZoomOut) {\n return;\n }\n this.zoomIndex -= 1;\n return this.zoomTo(this.zooms_[this.zoomIndex]);\n },\n zoomTo: function(zoom, fixedX, fixedY) {\n var this$1 = this;\n\n var animate, containerFixedX, containerFixedY, end, endX, endY, start, startX, startY, t0, viewport;\n start = this.zoom;\n end = zoom;\n viewport = this.$refs.viewport;\n startX = viewport.scrollLeft;\n startY = viewport.scrollTop;\n fixedX || (fixedX = viewport.clientWidth / 2);\n fixedY || (fixedY = viewport.clientHeight / 2);\n containerFixedX = fixedX + startX;\n containerFixedY = fixedY + startY;\n endX = containerFixedX / start * end - fixedX;\n endY = containerFixedY / start * end - fixedY;\n t0 = Date.now();\n this.zooming = true;\n this.$emit('zoom-start', zoom);\n animate = function () {\n return requestAnimationFrame(function () {\n var ratio, t;\n t = Date.now() - t0;\n ratio = t / this$1.zoomDuration;\n if (ratio > 1 || IE) {\n ratio = 1;\n }\n ratio = easeInOut(ratio);\n this$1.zoom = start + (end - start) * ratio;\n this$1.scrollLeft = startX + (endX - startX) * ratio;\n this$1.scrollTop = startY + (endY - startY) * ratio;\n if (t < this$1.zoomDuration) {\n return animate();\n } else {\n this$1.$emit('zoom-end', zoom);\n this$1.zooming = false;\n this$1.zoom = zoom;\n this$1.scrollLeft = endX;\n return this$1.scrollTop = endY;\n }\n });\n };\n animate();\n if (end > 1) {\n return this.preloadImages(true);\n }\n },\n zoomAt: function(touch) {\n var rect, x, y;\n rect = this.$refs.viewport.getBoundingClientRect();\n x = touch.pageX - rect.left;\n y = touch.pageY - rect.top;\n this.zoomIndex = (this.zoomIndex + 1) % this.zooms_.length;\n return this.zoomTo(this.zooms_[this.zoomIndex], x, y);\n },\n swipeStart: function(touch) {\n this.touchStartX = touch.pageX;\n this.touchStartY = touch.pageY;\n this.maxMove = 0;\n if (this.zoom <= 1) {\n return this.activeCursor = 'grab';\n } else {\n this.startScrollLeft = this.$refs.viewport.scrollLeft;\n this.startScrollTop = this.$refs.viewport.scrollTop;\n return this.activeCursor = 'all-scroll';\n }\n },\n swipeMove: function(touch) {\n var x, y;\n if (this.touchStartX == null) {\n return;\n }\n x = touch.pageX - this.touchStartX;\n y = touch.pageY - this.touchStartY;\n this.maxMove = Math.max(this.maxMove, Math.abs(x));\n this.maxMove = Math.max(this.maxMove, Math.abs(y));\n if (this.zoom > 1) {\n if (this.dragToScroll) {\n this.dragScroll(x, y);\n }\n return;\n }\n if (Math.abs(y) > Math.abs(x)) {\n return;\n }\n this.activeCursor = 'grabbing';\n if (x > 0) {\n if (this.flip.direction === null && this.canFlipLeft && x >= this.swipeMin) {\n this.flipStart('left', false);\n }\n if (this.flip.direction === 'left') {\n this.flip.progress = x / this.pageWidth;\n if (this.flip.progress > 1) {\n this.flip.progress = 1;\n }\n }\n } else {\n if (this.flip.direction === null && this.canFlipRight && x <= -this.swipeMin) {\n this.flipStart('right', false);\n }\n if (this.flip.direction === 'right') {\n this.flip.progress = -x / this.pageWidth;\n if (this.flip.progress > 1) {\n this.flip.progress = 1;\n }\n }\n }\n return true;\n },\n swipeEnd: function(touch) {\n if (this.touchStartX == null) {\n return;\n }\n if (this.maxMove < this.swipeMin) {\n this.zoomAt(touch);\n }\n if (this.flip.direction !== null && !this.flip.auto) {\n if (this.flip.progress > 1 / 4) {\n this.flipAuto(false);\n } else {\n this.flipRevert();\n }\n }\n this.touchStartX = null;\n return this.activeCursor = null;\n },\n onTouchStart: function(ev) {\n this.hasTouchEvents = true;\n return this.swipeStart(ev.changedTouches[0]);\n },\n onTouchMove: function(ev) {\n if (this.swipeMove(ev.changedTouches[0])) {\n if (ev.cancelable) {\n return ev.preventDefault();\n }\n }\n },\n onTouchEnd: function(ev) {\n return this.swipeEnd(ev.changedTouches[0]);\n },\n onPointerDown: function(ev) {\n this.hasPointerEvents = true;\n if (this.hasTouchEvents) {\n return;\n }\n if (ev.which && ev.which !== 1) { // Ignore right-click\n return;\n }\n this.swipeStart(ev);\n try {\n return ev.target.setPointerCapture(ev.pointerId);\n } catch (error) {\n\n }\n },\n onPointerMove: function(ev) {\n if (!this.hasTouchEvents) {\n return this.swipeMove(ev);\n }\n },\n onPointerUp: function(ev) {\n if (this.hasTouchEvents) {\n return;\n }\n this.swipeEnd(ev);\n try {\n return ev.target.releasePointerCapture(ev.pointerId);\n } catch (error) {\n\n }\n },\n onMouseDown: function(ev) {\n if (this.hasTouchEvents || this.hasPointerEvents) {\n return;\n }\n if (ev.which && ev.which !== 1) { // Ignore right-click\n return;\n }\n return this.swipeStart(ev);\n },\n onMouseMove: function(ev) {\n if (!(this.hasTouchEvents || this.hasPointerEvents)) {\n return this.swipeMove(ev);\n }\n },\n onMouseUp: function(ev) {\n if (!(this.hasTouchEvents || this.hasPointerEvents)) {\n return this.swipeEnd(ev);\n }\n },\n dragScroll: function(x, y) {\n this.scrollLeft = this.startScrollLeft - x;\n return this.scrollTop = this.startScrollTop - y;\n },\n onWheel: function(ev) {\n if (this.zoom > 1 && this.dragToScroll) {\n this.scrollLeft = this.$refs.viewport.scrollLeft + ev.deltaX;\n this.scrollTop = this.$refs.viewport.scrollTop + ev.deltaY;\n if (ev.cancelable) {\n return ev.preventDefault();\n }\n }\n },\n preloadImages: function(hiRes) {\n if ( hiRes === void 0 ) hiRes = false;\n\n var i, j, k, ref, ref1, ref2, ref3, src;\n for (i = j = ref = this.currentPage - 3, ref1 = this.currentPage + 3; (ref <= ref1 ? j <= ref1 : j >= ref1); i = ref <= ref1 ? ++j : --j) {\n this.pageUrlLoading(i); // this preloads image\n }\n if (hiRes) {\n for (i = k = ref2 = this.currentPage, ref3 = this.currentPage + this.displayedPages; (ref2 <= ref3 ? k < ref3 : k > ref3); i = ref2 <= ref3 ? ++k : --k) {\n src = this.pagesHiRes[i];\n if (src) {\n (new Image()).src = src;\n }\n }\n }\n },\n goToPage: function(p) {\n if (p === null || p === this.page) {\n return;\n }\n if (this.pages[0] === null) {\n if (this.displayedPages === 2 && p === 1) {\n this.currentPage = 0;\n } else {\n this.currentPage = p;\n }\n } else {\n this.currentPage = p - 1;\n }\n this.minX = 2e308;\n this.maxX = -2e308;\n return this.currentCenterOffset = this.centerOffset;\n },\n loadImage: function(url) {\n var this$1 = this;\n\n var img;\n if (this.imageWidth === null) {\n // First loaded image defines the image width and height.\n // So it must be true image, not 'loading' image.\n return url;\n } else {\n if (this.loadedImages[url]) {\n return url;\n } else {\n img = new Image();\n img.onload = function () {\n return this$1.$set(this$1.loadedImages, url, true);\n };\n img.src = url;\n return this.loadingImage;\n }\n }\n }\n },\n watch: {\n currentPage: function() {\n this.firstPage = this.currentPage;\n this.secondPage = this.currentPage + 1;\n return this.preloadImages();\n },\n centerOffset: function() {\n var this$1 = this;\n\n var animate;\n if (this.animatingCenter) {\n return;\n }\n animate = function () {\n return requestAnimationFrame(function () {\n var diff, rate;\n rate = 0.1;\n diff = this$1.centerOffset - this$1.currentCenterOffset;\n if (Math.abs(diff) < 0.5) {\n this$1.currentCenterOffset = this$1.centerOffset;\n return this$1.animatingCenter = false;\n } else {\n this$1.currentCenterOffset += diff * rate;\n return animate();\n }\n });\n };\n this.animatingCenter = true;\n return animate();\n },\n scrollLeftLimited: function(val) {\n var this$1 = this;\n\n if (IE) {\n return requestAnimationFrame(function () {\n return this$1.$refs.viewport.scrollLeft = val;\n });\n } else {\n return this.$refs.viewport.scrollLeft = val;\n }\n },\n scrollTopLimited: function(val) {\n var this$1 = this;\n\n if (IE) {\n return requestAnimationFrame(function () {\n return this$1.$refs.viewport.scrollTop = val;\n });\n } else {\n return this.$refs.viewport.scrollTop = val;\n }\n },\n pages: function(after, before) {\n this.fixFirstPage();\n if (!(before != null ? before.length : void 0) && (after != null ? after.length : void 0)) {\n if (this.startPage > 1 && after[0] === null) {\n return this.currentPage++;\n }\n }\n },\n startPage: function(p) {\n return this.goToPage(p);\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return function (id, style) { return addStyle(id, style); };\r\n}\r\nvar HEAD;\r\nvar styles = {};\r\nfunction addStyle(id, css) {\r\n var group = isOldIE ? css.media || 'default' : id;\r\n var style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n var code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n { style.element.setAttribute('media', css.media); }\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n var index = style.ids.size - 1;\r\n var textNode = document.createTextNode(code);\r\n var nodes = style.element.childNodes;\r\n if (nodes[index])\r\n { style.element.removeChild(nodes[index]); }\r\n if (nodes.length)\r\n { style.element.insertBefore(textNode, nodes[index]); }\r\n else\r\n { style.element.appendChild(textNode); }\r\n }\r\n }\r\n}\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\",null,null,{\n canFlipLeft: _vm.canFlipLeft,\n canFlipRight: _vm.canFlipRight,\n canZoomIn: _vm.canZoomIn,\n canZoomOut: _vm.canZoomOut,\n page: _vm.page,\n numPages: _vm.numPages,\n flipLeft: _vm.flipLeft,\n flipRight: _vm.flipRight,\n zoomIn: _vm.zoomIn,\n zoomOut: _vm.zoomOut\n }),_vm._v(\" \"),_c('div',{ref:\"viewport\",staticClass:\"viewport\",class:{\n zoom: _vm.zooming || _vm.zoom > 1,\n 'drag-to-scroll': _vm.dragToScroll\n },style:({ cursor: _vm.cursor == 'grabbing' ? 'grabbing' : 'auto' }),on:{\"touchmove\":_vm.onTouchMove,\"pointermove\":_vm.onPointerMove,\"mousemove\":_vm.onMouseMove,\"touchend\":_vm.onTouchEnd,\"touchcancel\":_vm.onTouchEnd,\"pointerup\":_vm.onPointerUp,\"pointercancel\":_vm.onPointerUp,\"mouseup\":_vm.onMouseUp,\"wheel\":_vm.onWheel}},[_c('div',{staticClass:\"flipbook-container\",style:({ transform: (\"scale(\" + _vm.zoom + \")\") })},[_c('div',{staticClass:\"click-to-flip left\",style:({ cursor: _vm.canFlipLeft ? 'pointer' : 'auto'}),on:{\"click\":_vm.flipLeft}}),_vm._v(\" \"),_c('div',{staticClass:\"click-to-flip right\",style:({ cursor: _vm.canFlipRight ? 'pointer' : 'auto'}),on:{\"click\":_vm.flipRight}}),_vm._v(\" \"),_c('div',{style:({ transform: (\"translateX(\" + _vm.centerOffsetSmoothed + \"px)\") })},[(_vm.showLeftPage)?_c('img',{staticClass:\"page fixed\",style:({\n width: _vm.pageWidth + 'px',\n height: _vm.pageHeight + 'px',\n left: _vm.xMargin + 'px',\n top: _vm.yMargin + 'px'\n }),attrs:{\"src\":_vm.pageUrlLoading(_vm.leftPage, true)},on:{\"load\":function($event){return _vm.didLoadImage($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showRightPage)?_c('img',{staticClass:\"page fixed\",style:({\n width: _vm.pageWidth + 'px',\n height: _vm.pageHeight + 'px',\n left: _vm.viewWidth / 2 + 'px',\n top: _vm.yMargin + 'px'\n }),attrs:{\"src\":_vm.pageUrlLoading(_vm.rightPage, true)},on:{\"load\":function($event){return _vm.didLoadImage($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{style:({ opacity: _vm.flip.opacity })},_vm._l((_vm.polygonArray),function(ref){\n var key = ref[0];\n var bgImage = ref[1];\n var lighting = ref[2];\n var bgPos = ref[3];\n var transform = ref[4];\n var z = ref[5];\nreturn _c('div',{key:key,staticClass:\"polygon\",class:{ blank: !bgImage },style:({\n backgroundImage: bgImage && (\"url(\" + (_vm.loadImage(bgImage)) + \")\"),\n backgroundSize: _vm.polygonBgSize,\n backgroundPosition: bgPos,\n width: _vm.polygonWidth,\n height: _vm.polygonHeight,\n transform: transform,\n zIndex: z,\n })},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(lighting.length),expression:\"lighting.length\"}],staticClass:\"lighting\",style:({ backgroundImage: lighting })})])}),0),_vm._v(\" \"),_c('div',{staticClass:\"bounding-box\",style:({\n left: _vm.boundingLeft + 'px',\n top: _vm.yMargin + 'px',\n width: _vm.boundingRight - _vm.boundingLeft + 'px',\n height: _vm.pageHeight + 'px',\n cursor: _vm.cursor\n }),on:{\"touchstart\":_vm.onTouchStart,\"pointerdown\":_vm.onPointerDown,\"mousedown\":_vm.onMouseDown}})])])])],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = function (inject) {\n if (!inject) { return }\n inject(\"data-v-7a61276e_0\", { source: \".viewport[data-v-7a61276e]{-webkit-overflow-scrolling:touch;width:100%;height:100%}.viewport.zoom[data-v-7a61276e]{overflow:scroll}.viewport.zoom.drag-to-scroll[data-v-7a61276e]{overflow:hidden}.flipbook-container[data-v-7a61276e]{position:relative;width:100%;height:100%;transform-origin:top left;-webkit-user-select:none;-ms-user-select:none;user-select:none}.click-to-flip[data-v-7a61276e]{position:absolute;width:50%;height:100%;top:0;-webkit-user-select:none;-ms-user-select:none;user-select:none}.click-to-flip.left[data-v-7a61276e]{left:0}.click-to-flip.right[data-v-7a61276e]{right:0}.bounding-box[data-v-7a61276e]{position:absolute;-webkit-user-select:none;-ms-user-select:none;user-select:none}.page[data-v-7a61276e]{position:absolute;-webkit-backface-visibility:hidden;backface-visibility:hidden}.polygon[data-v-7a61276e]{position:absolute;top:0;left:0;background-repeat:no-repeat;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:center left}.polygon.blank[data-v-7a61276e]{background-color:#ddd}.polygon .lighting[data-v-7a61276e]{width:100%;height:100%}\", map: undefined, media: undefined });\n\n };\n /* scoped */\n var __vue_scope_id__ = \"data-v-7a61276e\";\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = /*#__PURE__*/normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n createInjector,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon chevron-left-circle-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\"}},[_c('title',[_vm._v(_vm._s(_vm.props.title))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeftCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeftCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronLeftCircle.vue?vue&type=template&id=5dc0032a&functional=true&\"\nimport script from \"./ChevronLeftCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronLeftCircle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon chevron-right-circle-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,18L16,12L10,6L8.6,7.4L13.2,12L8.6,16.6L10,18Z\"}},[_c('title',[_vm._v(_vm._s(_vm.props.title))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./ChevronRightCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./ChevronRightCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronRightCircle.vue?vue&type=template&id=0dee3bc6&functional=true&\"\nimport script from \"./ChevronRightCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronRightCircle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon plus-circle-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,13H13V17H11V13H7V11H11V7H13V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[_c('title',[_vm._v(_vm._s(_vm.props.title))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./PlusCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./PlusCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlusCircle.vue?vue&type=template&id=f7a4df42&functional=true&\"\nimport script from \"./PlusCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./PlusCircle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon minus-circle-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M17,13H7V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\"}},[_c('title',[_vm._v(_vm._s(_vm.props.title))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./MinusCircle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../cache-loader/dist/cjs.js??ref--12-0!../thread-loader/dist/cjs.js!../babel-loader/lib/index.js!../cache-loader/dist/cjs.js??ref--0-0!../vue-loader/lib/index.js??vue-loader-options!./MinusCircle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MinusCircle.vue?vue&type=template&id=6a7f8876&functional=true&\"\nimport script from \"./MinusCircle.vue?vue&type=script&lang=js&\"\nexport * from \"./MinusCircle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ebook.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ebook.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Ebook.vue?vue&type=template&id=7828c752&lang=pug&\"\nimport script from \"./Ebook.vue?vue&type=script&lang=js&\"\nexport * from \"./Ebook.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Ebook.vue?vue&type=style&index=0&lang=scss&\"\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 = __webpack_public_path__ + \"media/open-book.cc537d05.mp3\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Ebook.vue?vue&type=style&index=0&lang=scss&\"","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n"],"sourceRoot":""}