From ee877d0f1b5fc6041ec246ae52f0c64f7e43b7b4 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Sun, 19 Jul 2015 14:12:08 +0200 Subject: [PATCH] double page mode, sinon.spy instead of spy, pass opts directly to drawImage --- app/comic-book.js | 14 ++++++- app/index.js | 5 ++- app/view/canvas.js | 45 +++++++++------------- dist/comicbook.js | 62 ++++++++++++++++-------------- dist/comicbook.js.map | 8 ++-- dist/comicbook.min.js | 4 +- dist/comicbook.min.js.map | 2 +- npm-shrinkwrap.json | 15 ++++++++ package.json | 1 + test/comic-book.test.js | 80 ++++++++++++++++++++++++++------------- test/view/canvas.test.js | 6 +-- 11 files changed, 145 insertions(+), 97 deletions(-) diff --git a/app/comic-book.js b/app/comic-book.js index f41ae7e..f4a0b46 100644 --- a/app/comic-book.js +++ b/app/comic-book.js @@ -80,10 +80,20 @@ class ComicBook extends EventEmitter { drawPage (pageIndex) { if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex - let page = this.pages.get(pageIndex) + let args = [ this.pages.get(pageIndex) ] + + if (this.options.doublePage) { + args.push(this.pages.get(pageIndex + 1)) + + if (this.options.rtl) { + args.reverse() + } + } + + args.push(this.options) try { - this.canvas.drawImage(page) + this.canvas.drawImage.apply(this.canvas, args) this.currentPageIndex = pageIndex } catch (e) { if (e.message !== 'Invalid image') throw e diff --git a/app/index.js b/app/index.js index 9744f2e..d0ecae8 100644 --- a/app/index.js +++ b/app/index.js @@ -1,5 +1,5 @@ let ComicBook = window.ComicBook = require('./comic-book') -let comic = window.comic = new ComicBook([ +let srcs = [ 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', @@ -11,7 +11,8 @@ let comic = window.comic = new ComicBook([ 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg' -]) +] +let comic = window.comic = new ComicBook(srcs, { doublePage: true }) comic.preload() comic.render() diff --git a/app/view/canvas.js b/app/view/canvas.js index c247679..36bb9e5 100644 --- a/app/view/canvas.js +++ b/app/view/canvas.js @@ -9,24 +9,23 @@ class Canvas extends EventEmitter { constructor (options) { super() - - this.options = Object.assign({ - // fitWidth, fitWindow, manua - zoomMode: 'fitWidth', - // manga mode - rtl: false, - // should two pages be rendered at a time? - doublePage: false - }, options) - this.canvas = document.createElement('canvas') this.context = this.canvas.getContext('2d') } - drawImage (page, page2) { + drawImage (page, page2, opts = {}) { this.emit('draw:start') - if (!(page instanceof window.Image) || (this.options.doublePage && !(page2 instanceof window.Image))) { + if (!(page2 instanceof window.Image)) { + opts = page2 + } + + let options = Object.assign({ + doublePage: false, + zoomMode: 'fitWidth' + }, opts) + + if (!(page instanceof window.Image) || (options.doublePage && !(page2 instanceof window.Image))) { throw new Error('Invalid image') } @@ -35,7 +34,7 @@ class Canvas extends EventEmitter { let offsetH = 0 let width = page.width let height = page.height - let doublePageMode = this.options.doublePage + let doublePageMode = options.doublePage let canvasWidth let canvasHeight let pageWidth @@ -66,7 +65,7 @@ class Canvas extends EventEmitter { } // update the page this.scale if a non manual mode has been chosen - switch (this.options.zoomMode) { + switch (options.zoomMode) { case 'manual': document.body.style.overflowX = 'auto' @@ -101,8 +100,8 @@ class Canvas extends EventEmitter { canvasWidth = page.width * zoomScale canvasHeight = page.height * zoomScale - pageWidth = (this.options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth - pageHeight = (this.options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight + pageWidth = (options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth + pageHeight = (options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight canvasHeight = pageHeight @@ -111,12 +110,12 @@ class Canvas extends EventEmitter { this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight // always keep pages centered - if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') { + if (options.zoomMode === 'manual' || options.zoomMode === 'fitWindow') { // work out a horizontal position if (canvasWidth < windowWidth()) { offsetW = (windowWidth() - pageWidth) / 2 - if (this.options.doublePage) { offsetW = offsetW - pageWidth / 2 } + if (options.doublePage) { offsetW = offsetW - pageWidth / 2 } } // work out a vertical position @@ -125,17 +124,9 @@ class Canvas extends EventEmitter { } } - // in manga double page mode reverse the page(s) - if (this.options.rtl && this.options.doublePage && typeof page2 === 'object') { - let tmpPage = page - let tmpPage2 = page2 - page = tmpPage2 - page2 = tmpPage - } - // draw the page(s) this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight) - if (this.options.doublePage && typeof page2 === 'object') { + if (options.doublePage && typeof page2 === 'object') { this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight) } diff --git a/dist/comicbook.js b/dist/comicbook.js index 9dea8f5..5652968 100644 --- a/dist/comicbook.js +++ b/dist/comicbook.js @@ -108,10 +108,20 @@ var ComicBook = (function (_EventEmitter) { key: 'drawPage', value: function drawPage(pageIndex) { if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex; - var page = this.pages.get(pageIndex); + var args = [this.pages.get(pageIndex)]; + + if (this.options.doublePage) { + args.push(this.pages.get(pageIndex + 1)); + + if (this.options.rtl) { + args.reverse(); + } + } + + args.push(this.options); try { - this.canvas.drawImage(page); + this.canvas.drawImage.apply(this.canvas, args); this.currentPageIndex = pageIndex; } catch (e) { if (e.message !== 'Invalid image') throw e; @@ -146,7 +156,8 @@ module.exports = ComicBook; 'use strict'; var ComicBook = window.ComicBook = require('./comic-book'); -var comic = window.comic = new ComicBook(['https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg']); +var srcs = ['https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg', 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg']; +var comic = window.comic = new ComicBook(srcs, { doublePage: true }); comic.preload(); comic.render(); @@ -182,16 +193,6 @@ var Canvas = (function (_EventEmitter) { _classCallCheck(this, Canvas); _get(Object.getPrototypeOf(Canvas.prototype), 'constructor', this).call(this); - - this.options = _Object$assign({ - // fitWidth, fitWindow, manua - zoomMode: 'fitWidth', - // manga mode - rtl: false, - // should two pages be rendered at a time? - doublePage: false - }, options); - this.canvas = document.createElement('canvas'); this.context = this.canvas.getContext('2d'); } @@ -199,9 +200,20 @@ var Canvas = (function (_EventEmitter) { _createClass(Canvas, [{ key: 'drawImage', value: function drawImage(page, page2) { + var opts = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + this.emit('draw:start'); - if (!(page instanceof window.Image) || this.options.doublePage && !(page2 instanceof window.Image)) { + if (!(page2 instanceof window.Image)) { + opts = page2; + } + + var options = _Object$assign({ + doublePage: false, + zoomMode: 'fitWidth' + }, opts); + + if (!(page instanceof window.Image) || options.doublePage && !(page2 instanceof window.Image)) { throw new Error('Invalid image'); } @@ -210,7 +222,7 @@ var Canvas = (function (_EventEmitter) { var offsetH = 0; var width = page.width; var height = page.height; - var doublePageMode = this.options.doublePage; + var doublePageMode = options.doublePage; var canvasWidth = undefined; var canvasHeight = undefined; var pageWidth = undefined; @@ -238,7 +250,7 @@ var Canvas = (function (_EventEmitter) { } // update the page this.scale if a non manual mode has been chosen - switch (this.options.zoomMode) { + switch (options.zoomMode) { case 'manual': document.body.style.overflowX = 'auto'; @@ -271,8 +283,8 @@ var Canvas = (function (_EventEmitter) { canvasWidth = page.width * zoomScale; canvasHeight = page.height * zoomScale; - pageWidth = this.options.zoomMode === 'manual' ? page.width * this.scale : canvasWidth; - pageHeight = this.options.zoomMode === 'manual' ? page.height * this.scale : canvasHeight; + pageWidth = options.zoomMode === 'manual' ? page.width * this.scale : canvasWidth; + pageHeight = options.zoomMode === 'manual' ? page.height * this.scale : canvasHeight; canvasHeight = pageHeight; @@ -281,12 +293,12 @@ var Canvas = (function (_EventEmitter) { this.canvas.height = canvasHeight < window.innerHeight ? window.innerHeight : canvasHeight; // always keep pages centered - if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') { + if (options.zoomMode === 'manual' || options.zoomMode === 'fitWindow') { // work out a horizontal position if (canvasWidth < windowWidth()) { offsetW = (windowWidth() - pageWidth) / 2; - if (this.options.doublePage) { + if (options.doublePage) { offsetW = offsetW - pageWidth / 2; } } @@ -297,17 +309,9 @@ var Canvas = (function (_EventEmitter) { } } - // in manga double page mode reverse the page(s) - if (this.options.rtl && this.options.doublePage && typeof page2 === 'object') { - var tmpPage = page; - var tmpPage2 = page2; - page = tmpPage2; - page2 = tmpPage; - } - // draw the page(s) this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight); - if (this.options.doublePage && typeof page2 === 'object') { + if (options.doublePage && typeof page2 === 'object') { this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight); } diff --git a/dist/comicbook.js.map b/dist/comicbook.js.map index f59bba8..07b2041 100644 --- a/dist/comicbook.js.map +++ b/dist/comicbook.js.map @@ -65,14 +65,14 @@ "node_modules/handlebars/runtime.js" ], "names": [], - "mappings": "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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", + "mappings": "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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size === this.preloadBuffer) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage (pageIndex) {\n if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex\n let page = this.pages.get(pageIndex)\n\n try {\n this.canvas.drawImage(page)\n this.currentPageIndex = pageIndex\n } catch (e) {\n if (e.message !== 'Invalid image') throw e\n }\n }\n\n drawNextPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex + increment\n if (index >= this.pages.size) {\n index = this.pages.size - 1\n }\n this.drawPage(index)\n }\n\n drawPreviousPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex - increment\n if (index < 0) index = 0\n this.drawPage(index)\n }\n}\n\nmodule.exports = ComicBook\n\n", - "let ComicBook = window.ComicBook = require('./comic-book')\nlet comic = window.comic = new ComicBook([\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n])\n\ncomic.preload()\ncomic.render()\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.el)\n}, false)\n\n", - "let EventEmitter = require('events').EventEmitter\n\n// TODO replace\nfunction windowWidth () {\n return window.innerWidth\n}\n\nclass Canvas extends EventEmitter {\n\n constructor (options) {\n super()\n\n this.options = Object.assign({\n // fitWidth, fitWindow, manua\n zoomMode: 'fitWidth',\n // manga mode\n rtl: false,\n // should two pages be rendered at a time?\n doublePage: false\n }, options)\n\n this.canvas = document.createElement('canvas')\n this.context = this.canvas.getContext('2d')\n }\n\n drawImage (page, page2) {\n this.emit('draw:start')\n\n if (!(page instanceof window.Image) || (this.options.doublePage && !(page2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n let zoomScale\n let offsetW = 0\n let offsetH = 0\n let width = page.width\n let height = page.height\n let doublePageMode = this.options.doublePage\n let canvasWidth\n let canvasHeight\n let pageWidth\n let pageHeight\n\n // reset the canvas to stop duplicate pages showing\n this.canvas.width = 0\n this.canvas.height = 0\n\n // show double page spreads on a single page\n let isDoublePageSpread = (\n page2 &&\n (page.width > page.height || page2.width > page2.height) &&\n doublePageMode\n )\n\n if (isDoublePageSpread) doublePageMode = false\n\n if (doublePageMode) {\n\n // for double page spreads, factor in the width of both pages\n if (typeof page2 === 'object') {\n width += page2.width\n // if this is the last page and there is no page2, still keep the canvas wide\n } else {\n width += width\n }\n }\n\n // update the page this.scale if a non manual mode has been chosen\n switch (this.options.zoomMode) {\n\n case 'manual':\n document.body.style.overflowX = 'auto'\n zoomScale = (doublePageMode) ? this.scale * 2 : this.scale\n break\n\n case 'fitWidth':\n document.body.style.overflowX = 'hidden'\n\n // this.scale up if the window is wider than the page, scale down if the window\n // is narrower than the page\n zoomScale = (windowWidth() > width) ? ((windowWidth() - width) / windowWidth()) + 1 : windowWidth() / width\n this.scale = zoomScale\n break\n\n case 'fitWindow':\n document.body.style.overflowX = 'hidden'\n\n let widthScale = (windowWidth() > width)\n ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page\n : windowWidth() / width // scale down if the window is narrower than the page\n let windowHeight = window.innerHeight\n let heightScale = (windowHeight > height)\n ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page\n : windowHeight / height // scale down if the window is narrower than the page\n\n zoomScale = (widthScale > heightScale) ? heightScale : widthScale\n this.scale = zoomScale\n break\n }\n\n canvasWidth = page.width * zoomScale\n canvasHeight = page.height * zoomScale\n\n pageWidth = (this.options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth\n pageHeight = (this.options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight\n\n canvasHeight = pageHeight\n\n // make sure the canvas is always at least full screen, even if the page is narrower than the screen\n this.canvas.width = (canvasWidth < windowWidth()) ? windowWidth() : canvasWidth\n this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight\n\n // always keep pages centered\n if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') {\n\n // work out a horizontal position\n if (canvasWidth < windowWidth()) {\n offsetW = (windowWidth() - pageWidth) / 2\n if (this.options.doublePage) { offsetW = offsetW - pageWidth / 2 }\n }\n\n // work out a vertical position\n if (canvasHeight < window.innerHeight) {\n offsetH = (window.innerHeight - pageHeight) / 2\n }\n }\n\n // in manga double page mode reverse the page(s)\n if (this.options.rtl && this.options.doublePage && typeof page2 === 'object') {\n let tmpPage = page\n let tmpPage2 = page2\n page = tmpPage2\n page2 = tmpPage\n }\n\n // draw the page(s)\n this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight)\n if (this.options.doublePage && typeof page2 === 'object') {\n this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\n", + "let EventEmitter = require('events').EventEmitter\nlet Canvas = require('./view/canvas')\nlet LoadIndicator = require('./view/load-indicator')\nlet ProgressBar = require('./view/progress-bar')\n\nclass ComicBook extends EventEmitter {\n\n constructor (srcs = [], options) {\n super()\n\n this.options = Object.assign({\n // manga mode\n rtl: false,\n doublePage: false\n }, options)\n\n // requested image srcs\n this.srcs = srcs\n\n // loaded image objects\n this.pages = new Map()\n\n this.preloadBuffer = 4\n\n // TODO move this logic into the router\n this.currentPageIndex = 0\n\n this.canvas = new Canvas()\n this.loadIndicator = new LoadIndicator()\n this.progressBar = new ProgressBar()\n\n this.addEventListeners()\n }\n\n addEventListeners () {\n this.on('preload:start', this.loadIndicator.show.bind(this.loadIndicator))\n this.on('preload:start', this.progressBar.show.bind(this.progressBar))\n this.on('preload:image', this.updateProgressBar.bind(this))\n this.on('preload:ready', this.loadIndicator.hide.bind(this.loadIndicator))\n this.on('preload:ready', this.drawPage.bind(this))\n this.on('preload:finish', this.progressBar.hide.bind(this.progressBar))\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.appendChild(this.canvas.canvas)\n this.el.appendChild(this.progressBar.el)\n this.el.appendChild(this.loadIndicator.el)\n return this\n }\n\n preload () {\n this.emit('preload:start')\n\n this.srcs.forEach((src, pageIndex) => {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size === this.preloadBuffer) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage (pageIndex) {\n if (typeof pageIndex !== 'number') pageIndex = this.currentPageIndex\n let args = [ this.pages.get(pageIndex) ]\n\n if (this.options.doublePage) {\n args.push(this.pages.get(pageIndex + 1))\n\n if (this.options.rtl) {\n args.reverse()\n }\n }\n\n args.push(this.options)\n\n try {\n this.canvas.drawImage.apply(this.canvas, args)\n this.currentPageIndex = pageIndex\n } catch (e) {\n if (e.message !== 'Invalid image') throw e\n }\n }\n\n drawNextPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex + increment\n if (index >= this.pages.size) {\n index = this.pages.size - 1\n }\n this.drawPage(index)\n }\n\n drawPreviousPage () {\n let increment = this.options.doublePage ? 2 : 1\n let index = this.currentPageIndex - increment\n if (index < 0) index = 0\n this.drawPage(index)\n }\n}\n\nmodule.exports = ComicBook\n\n", + "let ComicBook = window.ComicBook = require('./comic-book')\nlet srcs = [\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n]\nlet comic = window.comic = new ComicBook(srcs, { doublePage: true })\n\ncomic.preload()\ncomic.render()\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.el)\n}, false)\n\n", + "let EventEmitter = require('events').EventEmitter\n\n// TODO replace\nfunction windowWidth () {\n return window.innerWidth\n}\n\nclass Canvas extends EventEmitter {\n\n constructor (options) {\n super()\n this.canvas = document.createElement('canvas')\n this.context = this.canvas.getContext('2d')\n }\n\n drawImage (page, page2, opts = {}) {\n this.emit('draw:start')\n\n if (!(page2 instanceof window.Image)) {\n opts = page2\n }\n\n let options = Object.assign({\n doublePage: false,\n zoomMode: 'fitWidth'\n }, opts)\n\n if (!(page instanceof window.Image) || (options.doublePage && !(page2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n let zoomScale\n let offsetW = 0\n let offsetH = 0\n let width = page.width\n let height = page.height\n let doublePageMode = options.doublePage\n let canvasWidth\n let canvasHeight\n let pageWidth\n let pageHeight\n\n // reset the canvas to stop duplicate pages showing\n this.canvas.width = 0\n this.canvas.height = 0\n\n // show double page spreads on a single page\n let isDoublePageSpread = (\n page2 &&\n (page.width > page.height || page2.width > page2.height) &&\n doublePageMode\n )\n\n if (isDoublePageSpread) doublePageMode = false\n\n if (doublePageMode) {\n\n // for double page spreads, factor in the width of both pages\n if (typeof page2 === 'object') {\n width += page2.width\n // if this is the last page and there is no page2, still keep the canvas wide\n } else {\n width += width\n }\n }\n\n // update the page this.scale if a non manual mode has been chosen\n switch (options.zoomMode) {\n\n case 'manual':\n document.body.style.overflowX = 'auto'\n zoomScale = (doublePageMode) ? this.scale * 2 : this.scale\n break\n\n case 'fitWidth':\n document.body.style.overflowX = 'hidden'\n\n // this.scale up if the window is wider than the page, scale down if the window\n // is narrower than the page\n zoomScale = (windowWidth() > width) ? ((windowWidth() - width) / windowWidth()) + 1 : windowWidth() / width\n this.scale = zoomScale\n break\n\n case 'fitWindow':\n document.body.style.overflowX = 'hidden'\n\n let widthScale = (windowWidth() > width)\n ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page\n : windowWidth() / width // scale down if the window is narrower than the page\n let windowHeight = window.innerHeight\n let heightScale = (windowHeight > height)\n ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page\n : windowHeight / height // scale down if the window is narrower than the page\n\n zoomScale = (widthScale > heightScale) ? heightScale : widthScale\n this.scale = zoomScale\n break\n }\n\n canvasWidth = page.width * zoomScale\n canvasHeight = page.height * zoomScale\n\n pageWidth = (options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth\n pageHeight = (options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight\n\n canvasHeight = pageHeight\n\n // make sure the canvas is always at least full screen, even if the page is narrower than the screen\n this.canvas.width = (canvasWidth < windowWidth()) ? windowWidth() : canvasWidth\n this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight\n\n // always keep pages centered\n if (options.zoomMode === 'manual' || options.zoomMode === 'fitWindow') {\n\n // work out a horizontal position\n if (canvasWidth < windowWidth()) {\n offsetW = (windowWidth() - pageWidth) / 2\n if (options.doublePage) { offsetW = offsetW - pageWidth / 2 }\n }\n\n // work out a vertical position\n if (canvasHeight < window.innerHeight) {\n offsetH = (window.innerHeight - pageHeight) / 2\n }\n }\n\n // draw the page(s)\n this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight)\n if (options.doublePage && typeof page2 === 'object') {\n this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\n", "let EventEmitter = require('events').EventEmitter\n\nclass LoadIndicator extends EventEmitter {\n constructor () {\n super()\n this.render().hide()\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.id = 'cb-loading-overlay'\n return this\n }\n\n show () {\n this.el.style.display = 'block'\n this.emit('show', this)\n }\n\n hide () {\n this.el.style.display = 'none'\n this.emit('hide', this)\n }\n}\n\nmodule.exports = LoadIndicator\n\n", "let template = require('./template/progress-bar.handlebars')\n\nclass ProgressBar {\n constructor () {\n this.createElements()\n this.hide()\n }\n\n createElements () {\n let el = document.createElement('div')\n el.innerHTML = template()\n this.el = el.firstChild\n this.progressEl = this.el.querySelector('.progressbar-value')\n }\n\n update (percentage) {\n this.progressEl.style.width = `${percentage}%`\n }\n\n show () {\n this.el.style.display = 'block'\n }\n\n hide () {\n this.el.style.display = 'none'\n }\n}\n\nmodule.exports = ProgressBar\n", "var templater = require(\"handlebars/runtime\")[\"default\"].template;module.exports = templater({\"compiler\":[6,\">= 2.0.0-beta.1\"],\"main\":function(depth0,helpers,partials,data) {\n return \"
\\n\t
\\n\t\t
\\n\t
\\n
\\n\";\n},\"useData\":true});", diff --git a/dist/comicbook.min.js b/dist/comicbook.min.js index 333479b..ed50d64 100644 --- a/dist/comicbook.min.js +++ b/dist/comicbook.min.js @@ -1,3 +1,3 @@ -!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s=this.pages.size&&(t=this.pages.size-1),this.drawPage(t)}},{key:"drawPreviousPage",value:function(){var e=this.options.doublePage?2:1,t=this.currentPageIndex-e;0>t&&(t=0),this.drawPage(t)}}]),t}(c);t.exports=h},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,events:53}],2:[function(e,t,r){"use strict";var n=window.ComicBook=e("./comic-book"),i=window.comic=new n(["https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg"]);i.preload(),i.render(),document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(i.el)},!1)},{"./comic-book":1}],3:[function(e,t,r){"use strict";function n(){return window.innerWidth}var i=e("babel-runtime/helpers/get").default,o=e("babel-runtime/helpers/inherits").default,s=e("babel-runtime/helpers/create-class").default,a=e("babel-runtime/helpers/class-call-check").default,u=e("babel-runtime/core-js/object/assign").default,c=e("events").EventEmitter,l=function(e){function t(e){a(this,t),i(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this.options=u({zoomMode:"fitWidth",rtl:!1,doublePage:!1},e),this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d")}return o(t,e),s(t,[{key:"drawImage",value:function(e,t){if(this.emit("draw:start"),!(e instanceof window.Image)||this.options.doublePage&&!(t instanceof window.Image))throw new Error("Invalid image");var r=void 0,i=0,o=0,s=e.width,a=e.height,u=this.options.doublePage,c=void 0,l=void 0,f=void 0,d=void 0;this.canvas.width=0,this.canvas.height=0;var h=t&&(e.width>e.height||t.width>t.height)&&u;switch(h&&(u=!1),u&&(s+="object"==typeof t?t.width:s),this.options.zoomMode){case"manual":document.body.style.overflowX="auto",r=u?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",r=n()>s?(n()-s)/n()+1:n()/s,this.scale=r;break;case"fitWindow":document.body.style.overflowX="hidden";var p=n()>s?(n()-s)/n()+1:n()/s,m=window.innerHeight,v=m>a?(m-a)/m+1:m/a;r=p>v?v:p,this.scale=r}if(c=e.width*r,l=e.height*r,f="manual"===this.options.zoomMode?e.width*this.scale:c,d="manual"===this.options.zoomMode?e.height*this.scale:l,l=d,this.canvas.width=c= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,v)){if(!m(e))return"F";if(!t)return"E";p(e,v,++x)}return"O"+e[v]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,m=Object.isExtensible||h,v=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",x=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,m=f?"set":"add",v=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&v.forEach&&v.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[m],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in v&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in v&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,m),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,m=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in m||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,m[o]=f,h&&((m.prototype||(m.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,m,v){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,x=$[u]||$[c]||p&&$[p],_=x||g(p);if(x){var j=o.getProto(_.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||v)&&a.set($,_),d[t]=_,d[w]=o.that,p)if(b={keys:m?_:g(l),values:p==f?_:g(f),entries:p!=f?_:g("entries")},v)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?m:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,m=Math.floor,v=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),m=e("./handlebars/no-conflict"),v=i(m),g=n();g.create=n,v.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var v in e)e.hasOwnProperty(v)&&(h&&r(h,s-1),h=v,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,m=u.isFunction,v=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(v.call(e)===g){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]; -},registerPartial:function(e,t){if(v.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b;var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],i=m.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),m=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=m},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); +!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s=this.pages.size&&(t=this.pages.size-1),this.drawPage(t)}},{key:"drawPreviousPage",value:function(){var e=this.options.doublePage?2:1,t=this.currentPageIndex-e;0>t&&(t=0),this.drawPage(t)}}]),t}(c);t.exports=h},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,events:53}],2:[function(e,t,r){"use strict";var n=window.ComicBook=e("./comic-book"),i=["https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg","https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg"],o=window.comic=new n(i,{doublePage:!0});o.preload(),o.render(),document.addEventListener("DOMContentLoaded",function(){document.body.appendChild(o.el)},!1)},{"./comic-book":1}],3:[function(e,t,r){"use strict";function n(){return window.innerWidth}var i=e("babel-runtime/helpers/get").default,o=e("babel-runtime/helpers/inherits").default,s=e("babel-runtime/helpers/create-class").default,a=e("babel-runtime/helpers/class-call-check").default,u=e("babel-runtime/core-js/object/assign").default,c=e("events").EventEmitter,l=function(e){function t(e){a(this,t),i(Object.getPrototypeOf(t.prototype),"constructor",this).call(this),this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d")}return o(t,e),s(t,[{key:"drawImage",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];this.emit("draw:start"),t instanceof window.Image||(r=t);var i=u({doublePage:!1,zoomMode:"fitWidth"},r);if(!(e instanceof window.Image)||i.doublePage&&!(t instanceof window.Image))throw new Error("Invalid image");var o=void 0,s=0,a=0,c=e.width,l=e.height,f=i.doublePage,d=void 0,h=void 0,p=void 0,m=void 0;this.canvas.width=0,this.canvas.height=0;var v=t&&(e.width>e.height||t.width>t.height)&&f;switch(v&&(f=!1),f&&(c+="object"==typeof t?t.width:c),i.zoomMode){case"manual":document.body.style.overflowX="auto",o=f?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",o=n()>c?(n()-c)/n()+1:n()/c,this.scale=o;break;case"fitWindow":document.body.style.overflowX="hidden";var g=n()>c?(n()-c)/n()+1:n()/c,b=window.innerHeight,y=b>l?(b-l)/b+1:b/l;o=g>y?y:g,this.scale=o}d=e.width*o,h=e.height*o,p="manual"===i.zoomMode?e.width*this.scale:d,m="manual"===i.zoomMode?e.height*this.scale:h,h=m,this.canvas.width=d= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,v)){if(!m(e))return"F";if(!t)return"E";p(e,v,++x)}return"O"+e[v]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,m=Object.isExtensible||h,v=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",x=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,m=f?"set":"add",v=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&v.forEach&&v.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[m],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in v&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in v&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,m),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,m=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in m||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,m[o]=f,h&&((m.prototype||(m.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,m,v){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,x=$[u]||$[c]||p&&$[p],_=x||g(p);if(x){var j=o.getProto(_.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||v)&&a.set($,_),d[t]=_,d[w]=o.that,p)if(b={keys:m?_:g(l),values:p==f?_:g(f),entries:p!=f?_:g("entries")},v)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?m:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,m=Math.floor,v=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),m=e("./handlebars/no-conflict"),v=i(m),g=n();g.create=n,v.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var v in e)e.hasOwnProperty(v)&&(h&&r(h,s-1),h=v,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,m=u.isFunction,v=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(v.call(e)===g){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t}, +unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b;var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],i=m.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),m=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=m},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); //# sourceMappingURL=dist/comicbook.min.js.map \ No newline at end of file diff --git a/dist/comicbook.min.js.map b/dist/comicbook.min.js.map index 44c3a72..d626ac2 100644 --- a/dist/comicbook.min.js.map +++ b/dist/comicbook.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Object$assign","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","options","undefined","this","Object","getPrototypeOf","prototype","rtl","doublePage","pages","preloadBuffer","currentPageIndex","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","window","Image","onload","percentage","Math","floor","update","page","get","drawImage","message","increment","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","preload","render","addEventListener","body","./comic-book",3,"windowWidth","innerWidth","zoomMode","context","getContext","page2","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale","tmpPage","tmpPage2",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","arguments","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","has","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","push","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c","apply",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","args","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file +{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Object$assign","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","options","undefined","this","Object","getPrototypeOf","prototype","rtl","doublePage","pages","preloadBuffer","currentPageIndex","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","window","Image","onload","percentage","Math","floor","update","args","get","push","reverse","drawImage","apply","message","increment","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","preload","render","addEventListener","body","./comic-book",3,"windowWidth","innerWidth","context","getContext","page","page2","opts","arguments","zoomMode","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","has","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"CAAA,QAAUA,GAAEC,EAAEC,EAAEC,GAAG,QAASC,GAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,GAAIE,GAAkB,kBAATC,UAAqBA,OAAQ,KAAIF,GAAGC,EAAE,MAAOA,GAAEF,GAAE,EAAI,IAAGI,EAAE,MAAOA,GAAEJ,GAAE,EAAI,IAAIK,GAAE,GAAIC,OAAM,uBAAuBN,EAAE,IAAK,MAAMK,GAAEE,KAAK,mBAAmBF,EAAE,GAAIG,GAAEX,EAAEG,IAAIS,WAAYb,GAAEI,GAAG,GAAGU,KAAKF,EAAEC,QAAQ,SAASd,GAAG,GAAIE,GAAED,EAAEI,GAAG,GAAGL,EAAG,OAAOI,GAAEF,EAAEA,EAAEF,IAAIa,EAAEA,EAAEC,QAAQd,EAAEC,EAAEC,EAAEC,GAAG,MAAOD,GAAEG,GAAGS,QAAkD,IAAI,GAA1CL,GAAkB,kBAATD,UAAqBA,QAAgBH,EAAE,EAAEA,EAAEF,EAAEa,OAAOX,IAAID,EAAED,EAAEE,GAAI,OAAOD,KAAKa,GAAG,SAAST,EAAQU,EAAOJ,GACvd,YAEA,IAAIK,GAAOX,EAAQ,6BAAsC,QAErDY,EAAYZ,EAAQ,kCAA2C,QAE/Da,EAAeb,EAAQ,sCAA+C,QAEtEc,EAAkBd,EAAQ,0CAAmD,QAE7Ee,EAAiBf,EAAQ,uCAAgD,QAEzEgB,EAAOhB,EAAQ,6BAAsC,QAErDiB,EAAejB,EAAQ,UAAUiB,aACjCC,EAASlB,EAAQ,iBACjBmB,EAAgBnB,EAAQ,yBACxBoB,EAAcpB,EAAQ,uBAEtBqB,EAAY,SAAWC,GAGzB,QAASD,GAAUE,EAAMC,GACVC,SAATF,IAAoBA,MAExBT,EAAgBY,KAAML,GAEtBV,EAAKgB,OAAOC,eAAeP,EAAUQ,WAAY,cAAeH,MAAMnB,KAAKmB,MAE3EA,KAAKF,QAAUT,GAEbe,KAAK,EACLC,YAAY,GACXP,GAGHE,KAAKH,KAAOA,EAGZG,KAAKM,MAAQ,GAAIhB,GAEjBU,KAAKO,cAAgB,EAGrBP,KAAKQ,iBAAmB,EAExBR,KAAKS,OAAS,GAAIjB,GAClBQ,KAAKU,cAAgB,GAAIjB,GACzBO,KAAKW,YAAc,GAAIjB,GAEvBM,KAAKY,oBAkGP,MAhIA1B,GAAUS,EAAWC,GAiCrBT,EAAaQ,IACXkB,IAAK,oBACLC,MAAO,WACLd,KAAKe,GAAG,gBAAiBf,KAAKU,cAAcM,KAAKC,KAAKjB,KAAKU,gBAC3DV,KAAKe,GAAG,gBAAiBf,KAAKW,YAAYK,KAAKC,KAAKjB,KAAKW,cACzDX,KAAKe,GAAG,gBAAiBf,KAAKkB,kBAAkBD,KAAKjB,OACrDA,KAAKe,GAAG,gBAAiBf,KAAKU,cAAcS,KAAKF,KAAKjB,KAAKU,gBAC3DV,KAAKe,GAAG,gBAAiBf,KAAKoB,SAASH,KAAKjB,OAC5CA,KAAKe,GAAG,iBAAkBf,KAAKW,YAAYQ,KAAKF,KAAKjB,KAAKW,iBAG5DE,IAAK,SACLC,MAAO,WAKL,MAJAd,MAAKqB,GAAKC,SAASC,cAAc,OACjCvB,KAAKqB,GAAGG,YAAYxB,KAAKS,OAAOA,QAChCT,KAAKqB,GAAGG,YAAYxB,KAAKW,YAAYU,IACrCrB,KAAKqB,GAAGG,YAAYxB,KAAKU,cAAcW,IAChCrB,QAGTa,IAAK,UACLC,MAAO,WACL,GAAIW,GAAQzB,IAEZA,MAAK0B,KAAK,iBAEV1B,KAAKH,KAAK8B,QAAQ,SAAUC,EAAKC,GAM/B,QAASC,GAASC,EAAOC,GACvBhC,KAAKM,MAAM2B,IAAID,EAAOD,GACtB/B,KAAK0B,KAAK,gBAAiBK,GAEvB/B,KAAKM,MAAM4B,OAASlC,KAAKO,eAC3BP,KAAK0B,KAAK,iBAGR1B,KAAKM,MAAM4B,OAASlC,KAAKH,KAAKf,QAChCkB,KAAK0B,KAAK,kBAdd,GAAIK,GAAQ,GAAII,QAAOC,KAEvBL,GAAMH,IAAMA,EACZG,EAAMM,OAASP,EAASb,KAAKQ,EAAOM,EAAOF,QAiB/ChB,IAAK,oBACLC,MAAO,WACL,GAAIwB,GAAaC,KAAKC,MAAMxC,KAAKM,MAAM4B,KAAOlC,KAAKH,KAAKf,OAAS,IACjEkB,MAAKW,YAAY8B,OAAOH,MAG1BzB,IAAK,WACLC,MAAO,SAAkBe,GACE,gBAAdA,KAAwBA,EAAY7B,KAAKQ,iBACpD,IAAIkC,IAAQ1C,KAAKM,MAAMqC,IAAId,GAEvB7B,MAAKF,QAAQO,aACfqC,EAAKE,KAAK5C,KAAKM,MAAMqC,IAAId,EAAY,IAEjC7B,KAAKF,QAAQM,KACfsC,EAAKG,WAITH,EAAKE,KAAK5C,KAAKF,QAEf,KACEE,KAAKS,OAAOqC,UAAUC,MAAM/C,KAAKS,OAAQiC,GACzC1C,KAAKQ,iBAAmBqB,EACxB,MAAO/D,GACP,GAAkB,kBAAdA,EAAEkF,QAA6B,KAAMlF,OAI7C+C,IAAK,eACLC,MAAO,WACL,GAAImC,GAAYjD,KAAKF,QAAQO,WAAa,EAAI,EAC1C2B,EAAQhC,KAAKQ,iBAAmByC,CAChCjB,IAAShC,KAAKM,MAAM4B,OACtBF,EAAQhC,KAAKM,MAAM4B,KAAO,GAE5BlC,KAAKoB,SAASY,MAGhBnB,IAAK,mBACLC,MAAO,WACL,GAAImC,GAAYjD,KAAKF,QAAQO,WAAa,EAAI,EAC1C2B,EAAQhC,KAAKQ,iBAAmByC,CACxB,GAARjB,IAAWA,EAAQ,GACvBhC,KAAKoB,SAASY,OAIXrC,GACNJ,EAEHP,GAAOJ,QAAUe,IAEduD,gBAAgB,EAAEC,wBAAwB,EAAEC,sBAAsB,EAAEC,4BAA4B,EAAEC,sCAAsC,EAAEC,yCAAyC,GAAGC,qCAAqC,GAAGC,4BAA4B,GAAGC,iCAAiC,GAAGC,OAAS,KAAKC,GAAG,SAAStF,EAAQU,EAAOJ,GAC7U,YAEA,IAAIe,GAAYwC,OAAOxC,UAAYrB,EAAQ,gBACvCuB,GAAQ,iHAAkH,iHAAkH,iHAAkH,iHAAkH,iHAAkH,iHAAkH,iHAAkH,iHAAkH,iHAAkH,iHAAkH,kHAC5nCgE,EAAQ1B,OAAO0B,MAAQ,GAAIlE,GAAUE,GAAQQ,YAAY,GAE7DwD,GAAMC,UACND,EAAME,SAENzC,SAAS0C,iBAAiB,mBAAoB,WAC5C1C,SAAS2C,KAAKzC,YAAYqC,EAAMxC,MAC/B,KAEA6C,eAAe,IAAIC,GAAG,SAAS7F,EAAQU,EAAOJ,GACjD,YAeA,SAASwF,KACP,MAAOjC,QAAOkC,WAdhB,GAAIpF,GAAOX,EAAQ,6BAAsC,QAErDY,EAAYZ,EAAQ,kCAA2C,QAE/Da,EAAeb,EAAQ,sCAA+C,QAEtEc,EAAkBd,EAAQ,0CAAmD,QAE7Ee,EAAiBf,EAAQ,uCAAgD,QAEzEiB,EAAejB,EAAQ,UAAUiB,aAOjCC,EAAS,SAAWI,GAGtB,QAASJ,GAAOM,GACdV,EAAgBY,KAAMR,GAEtBP,EAAKgB,OAAOC,eAAeV,EAAOW,WAAY,cAAeH,MAAMnB,KAAKmB,MACxEA,KAAKS,OAASa,SAASC,cAAc,UACrCvB,KAAKsE,QAAUtE,KAAKS,OAAO8D,WAAW,MA6HxC,MApIArF,GAAUM,EAAQI,GAUlBT,EAAaK,IACXqB,IAAK,YACLC,MAAO,SAAmB0D,EAAMC,GAC9B,GAAIC,GAAOC,UAAU7F,QAAU,GAAsBiB,SAAjB4E,UAAU,MAAwBA,UAAU,EAEhF3E,MAAK0B,KAAK,cAEJ+C,YAAiBtC,QAAOC,QAC5BsC,EAAOD,EAGT,IAAI3E,GAAUT,GACZgB,YAAY,EACZuE,SAAU,YACTF,EAEH,MAAMF,YAAgBrC,QAAOC,QAAUtC,EAAQO,cAAgBoE,YAAiBtC,QAAOC,OACrF,KAAM,IAAI3D,OAAM,gBAGlB,IAAIoG,GAAY9E,OACZ+E,EAAU,EACVC,EAAU,EACVC,EAAQR,EAAKQ,MACbC,EAAST,EAAKS,OACdC,EAAiBpF,EAAQO,WACzB8E,EAAcpF,OACdqF,EAAerF,OACfsF,EAAYtF,OACZuF,EAAavF,MAGjBC,MAAKS,OAAOuE,MAAQ,EACpBhF,KAAKS,OAAOwE,OAAS,CAGrB,IAAIM,GAAqBd,IAAUD,EAAKQ,MAAQR,EAAKS,QAAUR,EAAMO,MAAQP,EAAMQ,SAAWC,CAiB9F,QAfIK,IAAoBL,GAAiB,GAErCA,IAIAF,GADmB,gBAAVP,GACAA,EAAMO,MAINA,GAKLlF,EAAQ8E,UAEd,IAAK,SACHtD,SAAS2C,KAAKuB,MAAMC,UAAY,OAChCZ,EAAYK,EAA8B,EAAblF,KAAK0F,MAAY1F,KAAK0F,KACnD,MAEF,KAAK,WACHpE,SAAS2C,KAAKuB,MAAMC,UAAY,SAIhCZ,EAAYT,IAAgBY,GAASZ,IAAgBY,GAASZ,IAAgB,EAAIA,IAAgBY,EAClGhF,KAAK0F,MAAQb,CACb,MAEF,KAAK,YACHvD,SAAS2C,KAAKuB,MAAMC,UAAY,QAEhC,IAAIE,GAAavB,IAAgBY,GAASZ,IAAgBY,GAASZ,IAAgB,EACjFA,IAAgBY,EACdY,EAAezD,OAAO0D,YACtBC,EAAcF,EAAeX,GAAUW,EAAeX,GAAUW,EAAe,EACjFA,EAAeX,CAEjBJ,GAAYc,EAAaG,EAAcA,EAAcH,EACrD3F,KAAK0F,MAAQb,EAIjBM,EAAcX,EAAKQ,MAAQH,EAC3BO,EAAeZ,EAAKS,OAASJ,EAE7BQ,EAAiC,WAArBvF,EAAQ8E,SAAwBJ,EAAKQ,MAAQhF,KAAK0F,MAAQP,EACtEG,EAAkC,WAArBxF,EAAQ8E,SAAwBJ,EAAKS,OAASjF,KAAK0F,MAAQN,EAExEA,EAAeE,EAGftF,KAAKS,OAAOuE,MAAQG,EAAcf,IAAgBA,IAAgBe,EAClEnF,KAAKS,OAAOwE,OAASG,EAAejD,OAAO0D,YAAc1D,OAAO0D,YAAcT,GAGrD,WAArBtF,EAAQ8E,UAA8C,cAArB9E,EAAQ8E,YAGvCO,EAAcf,MAChBU,GAAWV,IAAgBiB,GAAa,EACpCvF,EAAQO,aACVyE,GAAoBO,EAAY,IAKhCD,EAAejD,OAAO0D,cACxBd,GAAW5C,OAAO0D,YAAcP,GAAc,IAKlDtF,KAAKsE,QAAQxB,UAAU0B,EAAMM,EAASC,EAASM,EAAWC,GACtDxF,EAAQO,YAA+B,gBAAVoE,IAC/BzE,KAAKsE,QAAQxB,UAAU2B,EAAOY,EAAYP,EAASC,EAASM,EAAWC,GAGzEtF,KAAK0B,KAAK,mBAIPlC,GACND,EAEHP,GAAOJ,QAAUY,IAEd8D,sCAAsC,EAAEC,yCAAyC,GAAGC,qCAAqC,GAAGC,4BAA4B,GAAGC,iCAAiC,GAAGC,OAAS,KAAKoC,GAAG,SAASzH,EAAQU,EAAOJ,GAC3O,YAEA,IAAIK,GAAOX,EAAQ,6BAAsC,QAErDY,EAAYZ,EAAQ,kCAA2C,QAE/Da,EAAeb,EAAQ,sCAA+C,QAEtEc,EAAkBd,EAAQ,0CAAmD,QAE7EiB,EAAejB,EAAQ,UAAUiB,aAEjCE,EAAgB,SAAWG,GAG7B,QAASH,KACPL,EAAgBY,KAAMP,GAEtBR,EAAKgB,OAAOC,eAAeT,EAAcU,WAAY,cAAeH,MAAMnB,KAAKmB,MAC/EA,KAAK+D,SAAS5C,OAwBhB,MA9BAjC,GAAUO,EAAeG,GASzBT,EAAaM,IACXoB,IAAK,SACLC,MAAO,WAGL,MAFAd,MAAKqB,GAAKC,SAASC,cAAc,OACjCvB,KAAKqB,GAAG2E,GAAK,qBACNhG,QAGTa,IAAK,OACLC,MAAO,WACLd,KAAKqB,GAAGmE,MAAMS,QAAU,QACxBjG,KAAK0B,KAAK,OAAQ1B,SAGpBa,IAAK,OACLC,MAAO,WACLd,KAAKqB,GAAGmE,MAAMS,QAAU,OACxBjG,KAAK0B,KAAK,OAAQ1B,UAIfP,GACNF,EAEHP,GAAOJ,QAAUa,IAEd8D,yCAAyC,GAAGC,qCAAqC,GAAGC,4BAA4B,GAAGC,iCAAiC,GAAGC,OAAS,KAAKuC,GAAG,SAAS5H,EAAQU,EAAOJ,GACnM,YAEA,IAAIO,GAAeb,EAAQ,sCAA+C,QAEtEc,EAAkBd,EAAQ,0CAAmD,QAE7E6H,EAAW7H,EAAQ,sCAEnBoB,EAAc,WAChB,QAASA,KACPN,EAAgBY,KAAMN,GAEtBM,KAAKoG,iBACLpG,KAAKmB,OA4BP,MAzBAhC,GAAaO,IACXmB,IAAK,iBACLC,MAAO,WACL,GAAIO,GAAKC,SAASC,cAAc,MAChCF,GAAGgF,UAAYF,IACfnG,KAAKqB,GAAKA,EAAGiF,WACbtG,KAAKuG,WAAavG,KAAKqB,GAAGmF,cAAc,yBAG1C3F,IAAK,SACLC,MAAO,SAAgBwB,GACrBtC,KAAKuG,WAAWf,MAAMR,MAAQ1C,EAAa,OAG7CzB,IAAK,OACLC,MAAO,WACLd,KAAKqB,GAAGmE,MAAMS,QAAU,WAG1BpF,IAAK,OACLC,MAAO,WACLd,KAAKqB,GAAGmE,MAAMS,QAAU,WAIrBvG,IAGTV,GAAOJ,QAAUc,IAEd+G,qCAAqC,EAAElD,yCAAyC,GAAGC,qCAAqC,KAAKkD,GAAG,SAASpI,EAAQU,EAAOJ,GAC3J,GAAI+H,GAAYrI,EAAQ,sBAA+B,QAAE6H,QAASnH,GAAOJ,QAAU+H,GAAWC,UAAY,EAAE,mBAAmBC,KAAO,SAASC,EAAOC,EAAQC,EAASC,GACnK,MAAO,oIACTC,SAAU,MACTC,qBAAqB,KAAKC,GAAG,SAAS9I,EAAQU,EAAOJ,GACxDI,EAAOJ,SAAYyI,QAAW/I,EAAQ,0BAA2BgJ,YAAY,KAC1EC,yBAAyB,KAAKC,GAAG,SAASlJ,EAAQU,EAAOJ,GAC5DI,EAAOJ,SAAYyI,QAAW/I,EAAQ,oCAAqCgJ,YAAY,KACpFG,mCAAmC,KAAKC,GAAG,SAASpJ,EAAQU,EAAOJ,GACtEI,EAAOJ,SAAYyI,QAAW/I,EAAQ,oCAAqCgJ,YAAY,KACpFK,mCAAmC,KAAKC,IAAI,SAAStJ,EAAQU,EAAOJ,GACvEI,EAAOJ,SAAYyI,QAAW/I,EAAQ,6CAA8CgJ,YAAY,KAC7FO,4CAA4C,KAAKC,IAAI,SAASxJ,EAAQU,EAAOJ,GAChFI,EAAOJ,SAAYyI,QAAW/I,EAAQ,yDAA0DgJ,YAAY,KACzGS,wDAAwD,KAAKC,IAAI,SAAS1J,EAAQU,EAAOJ,GAC5F,YAEAA,GAAiB,QAAI,SAAUqJ,EAAUC,GACvC,KAAMD,YAAoBC,IACxB,KAAM,IAAIC,WAAU,sCAIxBvJ,EAAQ0I,YAAa,OACfc,IAAI,SAAS9J,EAAQU,EAAOJ,GAClC,YAEA,IAAIyJ,GAAyB/J,EAAQ,gDAAyD,OAE9FM,GAAiB,QAAI,WACnB,QAAS0J,GAAiBC,EAAQC,GAChC,IAAK,GAAIjK,GAAI,EAAGA,EAAIiK,EAAM1J,OAAQP,IAAK,CACrC,GAAIkK,GAAaD,EAAMjK,EACvBkK,GAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,SAAWF,KAAYA,EAAWG,UAAW,GAEjDP,EAAuBE,EAAQE,EAAW5H,IAAK4H,IAInD,MAAO,UAAUP,EAAaW,EAAYC,GAGxC,MAFID,IAAYP,EAAiBJ,EAAY/H,UAAW0I,GACpDC,GAAaR,EAAiBJ,EAAaY,GACxCZ,MAIXtJ,EAAQ0I,YAAa,IAClByB,+CAA+C,KAAKC,IAAI,SAAS1K,EAAQU,EAAOJ,GACnF,YAEA,IAAIqK,GAAmC3K,EAAQ,4DAAqE,OAEpHM,GAAiB,QAAI,SAAasK,EAAIC,EAAKC,GAG9B,IAFX,GAAIC,IAAS,EAEKA,GAAQ,CACxB,GAAIC,GAASJ,EACTK,EAAWJ,EACXK,EAAWJ,CACfK,GAAOC,EAASC,EAAS5J,OACzBsJ,GAAS,EACM,OAAXC,IAAiBA,EAASM,SAASzJ,UAEvC,IAAIsJ,GAAOR,EAAiCK,EAAQC,EAEpD,IAAaxJ,SAAT0J,EAAJ,CAYO,GAAI,SAAWA,GACpB,MAAOA,GAAK3I,KAEZ,IAAI6I,GAASF,EAAK9G,GAElB,OAAe5C,UAAX4J,EACK5J,OAGF4J,EAAO9K,KAAK2K,GApBnB,GAAIE,GAASzJ,OAAOC,eAAeoJ,EAEnC,IAAe,OAAXI,EACF,MAAO3J,OAEPmJ,GAAKQ,EACLP,EAAMI,EACNH,EAAMI,EACNH,GAAS,IAiBjBzK,EAAQ0I,YAAa,IAClBuC,2DAA2D,KAAKC,IAAI,SAASxL,EAAQU,EAAOJ,GAC/F,YAEA,IAAImL,GAAiBzL,EAAQ,uCAAgD,OAE7EM,GAAiB,QAAI,SAAUoL,EAAUC,GACvC,GAA0B,kBAAfA,IAA4C,OAAfA,EACtC,KAAM,IAAI9B,WAAU,iEAAoE8B,GAG1FD,GAAS7J,UAAY4J,EAAeE,GAAcA,EAAW9J,WAC3D+J,aACEpJ,MAAOkJ,EACPtB,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdsB,IAAYD,EAASG,UAAYF,IAGvCrL,EAAQ0I,YAAa,IAClB8C,sCAAsC,IAAIC,IAAI,SAAS/L,EAAQU,EAAOJ,GACzEN,EAAQ,mCACRA,EAAQ,kCACRA,EAAQ,+BACRA,EAAQ,sBACRA,EAAQ,8BACRU,EAAOJ,QAAUN,EAAQ,gBAAgBgM,KAAKC,MAC3CC,eAAe,GAAGC,qBAAqB,GAAGC,kCAAkC,GAAGC,iCAAiC,GAAGC,6BAA6B,GAAGC,8BAA8B,KAAKC,IAAI,SAASxM,EAAQU,EAAOJ,GACrNN,EAAQ,mCACRU,EAAOJ,QAAUN,EAAQ,mBAAmBgM,KAAKrK,OAAO8K,SACrDC,kBAAkB,GAAGC,kCAAkC,KAAKC,IAAI,SAAS5M,EAAQU,EAAOJ,GAC3F,GAAIuM,GAAI7M,EAAQ,kBAChBU,GAAOJ,QAAU,SAAgBwM,EAAGC,GAClC,MAAOF,GAAEG,OAAOF,EAAGC,MAElBL,kBAAkB,KAAKO,IAAI,SAASjN,EAAQU,EAAOJ,GACtD,GAAIuM,GAAI7M,EAAQ,kBAChBU,GAAOJ,QAAU,SAAwB4M,EAAI3K,EAAK4I,GAChD,MAAO0B,GAAEM,QAAQD,EAAI3K,EAAK4I,MAEzBuB,kBAAkB,KAAKU,IAAI,SAASpN,EAAQU,EAAOJ,GACtD,GAAIuM,GAAI7M,EAAQ,kBAChBA,GAAQ,sDACRU,EAAOJ,QAAU,SAAkC4M,EAAI3K,GACrD,MAAOsK,GAAEQ,QAAQH,EAAI3K,MAEpBmK,kBAAkB,GAAGY,qDAAqD,KAAKC,IAAI,SAASvN,EAAQU,EAAOJ,GAE9G,QAASkN,GAAOC,EAAWC,EAAMC,GAC/B,IAAIF,EAAU,KAAM5D,WAAU8D,EAAOD,EAAOC,EAAOD,GAFrD,GAAIb,GAAI7M,EAAQ,MAIhBwN,GAAOI,IAAMf,EAAEgB,cACfL,EAAOM,GAAK,SAASZ,GACnB,IAAIL,EAAEkB,WAAWb,GAAI,KAAMrD,WAAUqD,EAAK,sBAC1C,OAAOA,IAETM,EAAOQ,IAAM,SAASd,GACpB,IAAIL,EAAEoB,SAASf,GAAI,KAAMrD,WAAUqD,EAAK,qBACxC,OAAOA,IAETM,EAAOU,KAAO,SAAShB,EAAItD,EAAauE,GACtC,KAAKjB,YAActD,IAAa,KAAMC,WAAUsE,EAAO,4BACvD,OAAOjB,IAETxM,EAAOJ,QAAUkN,IACdY,MAAM,KAAKC,IAAI,SAASrO,EAAQU,EAAOJ,GAC1C,GAAIuM,GAAW7M,EAAQ,OACnBsO,EAAWtO,EAAQ,gBAGvBU,GAAOJ,QAAUqB,OAAO8K,QAAU,SAAgBxC,EAAQsE,GAKxD,IAHA,GAAIC,GAAI7M,OAAOkL,EAAEgB,cAAc5D,IAC3B5J,EAAIgG,UAAU7F,OACdP,EAAI,EACFI,EAAIJ,GAMR,IALA,GAIIsC,GAJAkM,EAAS5B,EAAE6B,UAAUrI,UAAUpG,MAC/B0O,EAASL,EAASG,GAClBjO,EAASmO,EAAKnO,OACdoO,EAAS,EAEPpO,EAASoO,GAAEJ,EAAEjM,EAAMoM,EAAKC,MAAQH,EAAElM,EAE1C,OAAOiM,MAENJ,MAAM,GAAGS,gBAAgB,KAAKC,IAAI,SAAS9O,EAAQU,EAAOJ,GAI7D,QAASyO,GAAI7B,GACX,MAAO8B,GAASzO,KAAK2M,GAAI+B,MAAM,EAAG,IAJpC,GAAIpC,GAAW7M,EAAQ,OACnBkP,EAAWlP,EAAQ,WAAW,eAC9BgP,KAAcA,QAIlBD,GAAII,QAAU,SAASjC,GACrB,GAAIkC,GAAGZ,CACP,OAAa/M,SAANyL,EAAyBzL,SAAPyL,EAAmB,YAAc,OAChB,iBAA9BsB,GAAKY,EAAIzN,OAAOuL,IAAKgC,IAAoBV,EAAIO,EAAIK,IAE/DL,EAAIpL,IAAM,SAASuJ,EAAImC,EAAKC,GACvBpC,IAAOL,EAAE0C,IAAIrC,EAAKoC,EAAOpC,EAAKA,EAAGrL,UAAWqN,IAAKrC,EAAEhK,KAAKqK,EAAIgC,EAAKG,IAEtE3O,EAAOJ,QAAUyO,IACdX,MAAM,GAAGoB,UAAU,KAAKC,IAAI,SAASzP,EAAQU,EAAOJ,GACvD,YAoBA,SAASoP,GAAQxC,EAAIF,GAEnB,IAAIiB,EAASf,GAAI,MAAoB,gBAANA,GAAiBA,GAAmB,gBAANA,GAAiB,IAAM,KAAOA,CAC3F,KAAIyC,EAAKzC,EAAI0C,GAAI,CAEf,IAAIC,EAAa3C,GAAI,MAAO,GAE5B,KAAIF,EAAO,MAAO,GAElBnK,GAAKqK,EAAI0C,IAAMlI,GAEf,MAAO,IAAMwF,EAAG0C,GAGpB,QAASE,GAASC,EAAMxN,GAEtB,GAA0ByN,GAAtBtM,EAAQgM,EAAQnN,EACpB,IAAa,MAAVmB,EAAc,MAAOqM,GAAKE,GAAIvM,EAEjC,KAAIsM,EAAQD,EAAKG,GAAQF,EAAOA,EAAQA,EAAMtQ,EAC5C,GAAGsQ,EAAMG,GAAK5N,EAAI,MAAOyN,GAvC7B,GAAInD,GAAW7M,EAAQ,OACnBoQ,EAAWpQ,EAAQ,WACnBqQ,EAAWrQ,EAAQ,WAAWqQ,KAC9B7C,EAAWxN,EAAQ,cACnBsQ,EAAWtQ,EAAQ,cACnBuQ,EAAWvQ,EAAQ,YAAYuQ,KAC/BZ,EAAW9C,EAAE0C,IACb5L,EAAWkJ,EAAElJ,IACbsK,EAAWpB,EAAEoB,SACbpL,EAAWgK,EAAEhK,KACbgN,EAAelO,OAAOkO,cAAgB5B,EACtC2B,EAAWS,EAAK,MAChBJ,EAAWI,EAAK,MAChBG,EAAWH,EAAK,QAChBH,EAAWG,EAAK,SAChBI,EAAWJ,EAAK,QAChBK,EAAW7D,EAAE8D,KAAON,EAAK,QAAU,OACnC3I,EAAW,CA0BfhH,GAAOJ,SACLsQ,eAAgB,SAASC,EAASC,EAAMC,EAAQC,GAC9C,GAAIC,GAAIJ,EAAQ,SAASd,EAAMmB,GAC7B1D,EAAOU,KAAK6B,EAAMkB,EAAGH,GACrBnN,EAAIoM,EAAME,EAAIpD,EAAEG,OAAO,OACvBrJ,EAAIoM,EAAMW,EAAM,GAChB/M,EAAIoM,EAAMS,EAAM/O,QAChBkC,EAAIoM,EAAMG,EAAOzO,QACFA,QAAZyP,GAAsBZ,EAAMY,EAAUH,EAAQhB,EAAKiB,GAAQjB,IAqDhE,OAnDA/P,GAAQ,WAAWiR,EAAEpP,WAGnBsP,MAAO,WACL,IAAI,GAAIpB,GAAOrO,KAAMiH,EAAOoH,EAAKE,GAAKD,EAAQD,EAAKG,GAAQF,EAAOA,EAAQA,EAAMtQ,EAC9EsQ,EAAMrQ,GAAI,EACPqQ,EAAMoB,IAAEpB,EAAMoB,EAAIpB,EAAMoB,EAAE1R,EAAI+B,cAC1BkH,GAAKqH,EAAM/P,EAEpB8P,GAAKG,GAASH,EAAKS,GAAQ/O,OAC3BsO,EAAKW,GAAQ,GAIfW,OAAU,SAAS9O,GACjB,GAAIwN,GAAQrO,KACRsO,EAAQF,EAASC,EAAMxN,EAC3B,IAAGyN,EAAM,CACP,GAAIsB,GAAOtB,EAAMtQ,EACb6R,EAAOvB,EAAMoB,QACVrB,GAAKE,GAAID,EAAM/P,GACtB+P,EAAMrQ,GAAI,EACP4R,IAAKA,EAAK7R,EAAI4R,GACdA,IAAKA,EAAKF,EAAIG,GACdxB,EAAKG,IAAUF,IAAMD,EAAKG,GAASoB,GACnCvB,EAAKS,IAASR,IAAMD,EAAKS,GAAQe,GACpCxB,EAAKW,KACL,QAASV,GAIb3M,QAAS,SAAiBmO,GAGxB,IAFA,GACIxB,GADA9P,EAAIkQ,EAAIoB,EAAYnL,UAAU,GAAI,GAEhC2J,EAAQA,EAAQA,EAAMtQ,EAAIgC,KAAKwO,IAGnC,IAFAhQ,EAAE8P,EAAMyB,EAAGzB,EAAMG,EAAGzO,MAEdsO,GAASA,EAAMrQ,GAAEqQ,EAAQA,EAAMoB,GAKzC7B,IAAK,SAAahN,GAChB,QAASuN,EAASpO,KAAMa,MAGzBsK,EAAE8D,MAAK9D,EAAEM,QAAQ8D,EAAEpP,UAAW,QAC/BwC,IAAK,WACH,MAAOmJ,GAAOI,IAAIlM,KAAKgP,OAGpBO,GAETrD,IAAK,SAASmC,EAAMxN,EAAKC,GACvB,GACI+O,GAAM7N,EADNsM,EAAQF,EAASC,EAAMxN,EAoBzB,OAjBCyN,GACDA,EAAMyB,EAAIjP,GAGVuN,EAAKS,GAAQR,GACX/P,EAAGyD,EAAQgM,EAAQnN,GAAK,GACxB4N,EAAG5N,EACHkP,EAAGjP,EACH4O,EAAGG,EAAOxB,EAAKS,GACf9Q,EAAG+B,OACH9B,GAAG,GAEDoQ,EAAKG,KAAOH,EAAKG,GAASF,GAC3BuB,IAAKA,EAAK7R,EAAIsQ,GACjBD,EAAKW,KAEQ,MAAVhN,IAAcqM,EAAKE,GAAIvM,GAASsM,IAC5BD,GAEXD,SAAUA,EAGV4B,QAAS,SAAST,EAAGH,EAAMC,GACzB/Q,EAAQ,mBAAmBiR,EAAGH,EAAM,SAASa,EAAUC,GACrDjO,EAAIjC,KAAM+O,GAAO5Q,EAAG8R,EAAUxB,EAAGyB,KAChC,WAKD,IAJA,GAAIC,GAAQnQ,KAAK+O,GACbmB,EAAQC,EAAK1B,EACbH,EAAQ6B,EAAKxR,EAEX2P,GAASA,EAAMrQ,GAAEqQ,EAAQA,EAAMoB,CAErC,OAAIS,GAAKhS,IAAOgS,EAAKxR,EAAI2P,EAAQA,EAAQA,EAAMtQ,EAAImS,EAAKhS,EAAEqQ,IAM/C,QAAR0B,EAAwBrB,EAAK,EAAGP,EAAMG,GAC9B,UAARyB,EAAwBrB,EAAK,EAAGP,EAAMyB,GAClClB,EAAK,GAAIP,EAAMG,EAAGH,EAAMyB,KAN7BI,EAAKhS,EAAI4B,OACF8O,EAAK,KAMbQ,EAAS,UAAY,UAAYA,GAAQ,OAG7C3C,MAAM,GAAG0D,aAAa,GAAGC,UAAU,GAAGC,aAAa,GAAGC,WAAW,GAAGC,kBAAkB,GAAGC,UAAU,GAAGC,UAAU,KAAKC,IAAI,SAASrS,EAAQU,EAAOJ,GAEpJ,GAAIgS,GAAQtS,EAAQ,WAChBsQ,EAAQtQ,EAAQ,aACpBU,GAAOJ,QAAU,SAASwQ,GACxBwB,EAAKA,EAAKxF,EAAGgE,GACXyB,OAAQ,WACN,GAAIC,KAEJ,OADAlC,GAAM5O,MAAM,EAAO8Q,EAAIlO,KAAMkO,GACtBA,QAIVC,UAAU,GAAGT,aAAa,KAAKU,IAAI,SAAS1S,EAAQU,EAAOJ,GAC9D,YACA,IAAIuM,GAAQ7M,EAAQ,OAChBsS,EAAQtS,EAAQ,WAChB2S,EAAQ3S,EAAQ,YAChB4S,EAAQD,EAAMC,MACdtC,EAAQtQ,EAAQ,cAChB6S,EAAiB7S,EAAQ,cAAckO,KACvC4E,EAAW9S,EAAQ,WAAWqQ,KAAK,WAEvC3P,GAAOJ,QAAU,SAASwQ,EAAMD,EAASkC,EAASC,EAAQjC,EAAQkC,GAChE,GAAIC,GAAQrG,EAAEsG,EAAErC,GACZG,EAAQiC,EACRlC,EAAQD,EAAS,MAAQ,MACzBqC,EAAQnC,GAAKA,EAAEpP,UACfuN,IAiCJ,OAhCIvC,GAAE8D,MAAS9D,EAAEkB,WAAWkD,KAAQgC,IAAYL,GAASQ,EAAM/P,SAAW+P,EAAMC,UAK9EpC,EAAIJ,EAAQ,SAAS5G,EAAQiH,GAC3B2B,EAAe5I,EAAQgH,EAAGH,GAC1B7G,EAAO6I,GAAY,GAAII,GACRzR,QAAZyP,GAAsBZ,EAAMY,EAAUH,EAAQ9G,EAAO+G,GAAQ/G,KAElE4C,EAAEyG,KAAK/S,KAAK,2DAA2DgT,MAAM,KAAK,SAASC,GACzF,GAAIC,GAAe,OAAPD,GAAuB,OAAPA,CACzBA,KAAOJ,IAAMvG,EAAEhK,KAAKoO,EAAEpP,UAAW2R,EAAK,SAASzT,EAAG2T,GACnD,GAAIC,GAASjS,KAAKoR,GAAUU,GAAW,IAANzT,EAAU,EAAIA,EAAG2T,EAClD,OAAOD,GAAQ/R,KAAOiS,MAGvB,QAAUP,IAAMvG,EAAEM,QAAQ8D,EAAEpP,UAAW,QACxCwC,IAAK,WACH,MAAO3C,MAAKoR,GAAUlP,UAjB1BqN,EAAI+B,EAAOpC,eAAeC,EAASC,EAAMC,EAAQC,GACjDhR,EAAQ,WAAWiR,EAAEpP,UAAWkR,IAqBlC/S,EAAQ,WAAW2D,IAAIsN,EAAGH,GAE1B1B,EAAE0B,GAAQG,EACVqB,EAAKA,EAAKsB,EAAItB,EAAKuB,EAAIvB,EAAKwB,EAAG1E,GAC/BpP,EAAQ,eAAeiR,GAEnBgC,GAAQD,EAAOtB,QAAQT,EAAGH,EAAMC,GAE7BE,KAEN7C,MAAM,GAAG0D,aAAa,GAAGiC,UAAU,GAAGtB,UAAU,GAAGT,aAAa,GAAGC,WAAW,GAAGE,UAAU,GAAG6B,cAAc,GAAG5B,UAAU,KAAK6B,IAAI,SAASjU,EAAQU,EAAOJ,GAE7J,GAAI4T,GAAiBlU,EAAQ,cAAc8N,EAC3CpN,GAAOJ,QAAU,SAASwN,EAAIiC,EAAMvP,GAElC,GADA0T,EAAepG,IACXtN,GAAmBiB,SAATsO,EAAmB,MAAOjC,EACxC,QAAOtN,GACL,IAAK,GAAG,MAAO,UAAST,GACtB,MAAO+N,GAAGvN,KAAKwP,EAAMhQ,GAEvB,KAAK,GAAG,MAAO,UAASA,EAAG2T,GACzB,MAAO5F,GAAGvN,KAAKwP,EAAMhQ,EAAG2T,GAE1B,KAAK,GAAG,MAAO,UAAS3T,EAAG2T,EAAGS,GAC5B,MAAOrG,GAAGvN,KAAKwP,EAAMhQ,EAAG2T,EAAGS,IAE7B,MAAO,YACL,MAAOrG,GAAGrJ,MAAMsL,EAAM1J,eAGzByL,aAAa,KAAKsC,IAAI,SAASpU,EAAQU,EAAOJ,GAKjD,QAAS8P,GAAItC,EAAIiC,GACf,MAAO,YACL,MAAOjC,GAAGrJ,MAAMsL,EAAM1J,YAU1B,QAASiM,GAAK+B,EAAMlG,EAAMI,GACxB,GAAIhM,GAAK+R,EAAKC,EAAKC,EACfC,EAAWJ,EAAO/B,EAAKsB,EACvBc,EAAWL,EAAO/B,EAAKxF,EACvB7C,EAAWwK,EAAWE,EAASN,EAAO/B,EAAK7D,EACvCkG,EAAOxG,IAASwG,EAAOxG,QAAatM,UACxCvB,EAAWmU,EAAWzI,EAAOA,EAAKmC,KAAUnC,EAAKmC,MAClDsG,KAASlG,EAASJ,EACrB,KAAI5L,IAAOgM,GAET+F,IAAQD,EAAO/B,EAAKwB,IAAM7J,GAAU1H,IAAO0H,GACxCqK,GAAO/R,IAAOjC,KAEjBiU,EAAMD,EAAMrK,EAAO1H,GAAOgM,EAAOhM,GAE9BkS,IAAa1G,EAAW9D,EAAO1H,IAAMiS,EAAMjG,EAAOhM,GAE7C8R,EAAO/B,EAAKsC,GAAKN,EAAIE,EAAMpE,EAAImE,EAAKI,GAEpCN,EAAO/B,EAAKuB,GAAK5J,EAAO1H,IAAQgS,GAAK,SAAStD,GACpDuD,EAAM,SAASK,GACb,MAAOnT,gBAAgBuP,GAAI,GAAIA,GAAE4D,GAAS5D,EAAE4D,IAE9CL,EAAI3S,UAAYoP,EAAEpP,WAClB0S,GACGC,EAAME,GAAW3G,EAAWwG,GAAOnE,EAAI9E,SAAS/K,KAAMgU,GAAOA,EAElEjU,EAAQiC,GAAOiS,EACZE,KAASpU,EAAQuB,YAAcvB,EAAQuB,eAAiBU,GAAOgS,IA5CtE,GAAI1H,GAAa7M,EAAQ,OACrB2U,EAAa9H,EAAEsG,EACfnH,EAAaa,EAAEb,KACf+B,EAAalB,EAAEkB,UAOnBuE,GAAKwB,EAAI,EACTxB,EAAKsB,EAAI,EACTtB,EAAK7D,EAAI,EACT6D,EAAKxF,EAAI,EACTwF,EAAKsC,EAAI,GACTtC,EAAKuB,EAAI,GAgCTnT,EAAOJ,QAAUgS,IACdlE,MAAM,KAAK0G,IAAI,SAAS9U,EAAQU,EAAOJ,GAC1C,GAAIuM,GAAI7M,EAAQ,MAChBU,GAAOJ,QAAU,SAAS4M,GACxB,GAAIyB,GAAa9B,EAAEkI,QAAQ7H,GACvBG,EAAaR,EAAEQ,QACf2H,EAAanI,EAAEmI,UAInB,OAHGA,IAAWnI,EAAEyG,KAAK/S,KAAKyU,EAAW9H,GAAK,SAAS3K,GAC9C8K,EAAQH,EAAI3K,GAAK6H,YAAWuE,EAAKrK,KAAK/B,KAEpCoM,KAENP,MAAM,KAAK6G,IAAI,SAASjV,EAAQU,EAAOJ,GAC1C,GAAI8P,GAAOpQ,EAAQ,WACfqE,EAAOrE,EAAQ,YAAYqE,IAC3B9D,EAAOP,EAAQ,gBACnBU,GAAOJ,QAAU,SAAS4Q,EAAUmC,EAASvF,EAAIiC,GAI/C,IAHA,GAEIQ,GAFA2E,EAAW7Q,EAAI6M,GACfhR,EAAWkQ,EAAItC,EAAIiC,EAAMsD,EAAU,EAAI,KAEnC9C,EAAO2E,EAAS5D,QAAQ6D,MAC9B,GAAG5U,EAAK2U,EAAUhV,EAAGqQ,EAAK/N,MAAO6Q,MAAa,EAC5C,MAAO9S,GAAK6U,MAAMF,MAIrBnD,UAAU,GAAGE,WAAW,GAAGoD,gBAAgB,KAAKC,IAAI,SAAStV,EAAQU,EAAOJ,GAC/EI,EAAOJ,QAAU,SAASuM,GAGxB,MAFAA,GAAE0I,IAAO,EACT1I,EAAE2I,KAAO3I,EAAEb,KACJa,QAEH4I,IAAI,SAASzV,EAAQU,EAAOJ,GASlC,QAASoV,GAAexI,GACtB,IACE,MAAOyI,GAASzI,GAChB,MAAM1N,GACN,MAAOoW,GAAY3G,SAXvB,GAAIpC,GAAI7M,EAAQ,OACZgP,KAAcA,SACd2G,EAAW9I,EAAE8I,SAEbC,EAA+B,gBAAV/R,SAAsBlC,OAAOkU,oBAClDlU,OAAOkU,oBAAoBhS,UAU/BnD,GAAOJ,QAAQ+D,IAAM,SAA6B6I,GAChD,MAAG0I,IAAoC,mBAArB5G,EAASzO,KAAK2M,GAAgCwI,EAAexI,GACxEyI,EAAS9I,EAAEiJ,SAAS5I,OAE1BkB,MAAM,KAAK2H,IAAI,SAAS/V,EAAQU,EAAOJ,GAE1C,QAAS8U,GAAMF,GACb,GAAIc,GAAMd,EAAiB,MAChBzT,UAARuU,GAAkBC,EAAaD,EAAIzV,KAAK2U,IAE7C,QAAS3U,GAAK2U,EAAUpH,EAAItL,EAAO6Q,GACjC,IACE,MAAOA,GAAUvF,EAAGmI,EAAazT,GAAO,GAAIA,EAAM,IAAMsL,EAAGtL,GAC3D,MAAMhD,GAEN,KADA4V,GAAMF,GACA1V,GAVV,GAAIyW,GAAejW,EAAQ,cAAcgO,GAazCzN,GAAK6U,MAAQA,EACb1U,EAAOJ,QAAUC,IACduR,aAAa,KAAKoE,IAAI,SAASlW,EAAQU,EAAOJ,GACjD,GAAIgS,GAAkBtS,EAAQ,WAC1BmW,EAAkBnW,EAAQ,aAC1B6M,EAAkB7M,EAAQ,OAC1B+O,EAAkB/O,EAAQ,WAC1B2S,EAAkB3S,EAAQ,YAC1BoW,EAAkBpW,EAAQ,WAAW,YACrCqW,EAAkB,aAClBC,EAAkB,OAClBC,EAAkB,SAClBC,EAAkB7D,EAAM6D,SAC5B9V,GAAOJ,QAAU,SAAS4S,EAAMpC,EAAMlH,EAAa0H,EAAMmF,EAASC,EAAQC,GAExE,QAASC,GAAahF,GACpB,QAASiF,GAAG9G,GACV,MAAO,IAAInG,GAAYmG,EAAM6B,GAE/B,OAAOA,GACL,IAAK0E,GAAM,MAAO,YAAiB,MAAOO,GAAGnV,MAC7C,KAAK6U,GAAQ,MAAO,YAAmB,MAAOM,GAAGnV,OACjD,MAAO,YAAoB,MAAOmV,GAAGnV,OARzCiR,EAAM3F,OAAOpD,EAAakH,EAAMQ,EAUhC,IAIIyB,GAASxQ,EAJT2M,EAAW4B,EAAO,YAClBsC,EAAWF,EAAKrR,UAChBiV,EAAW1D,EAAMgD,IAAoBhD,EAAMiD,IAAgBI,GAAWrD,EAAMqD,GAC5EM,EAAWD,GAAWF,EAAaH,EAGvC,IAAGK,EAAQ,CACT,GAAIE,GAAoBnK,EAAEoK,SAASF,EAASxW,KAAK,GAAI2S,IAErDnE,GAAIpL,IAAIqT,EAAmB9H,GAAK,GAE7BrC,EAAE0I,IAAM1I,EAAE0C,IAAI6D,EAAOiD,IAAa1D,EAAMhP,IAAIqT,EAAmBnK,EAAEkD,MAOtE,IAJGlD,EAAE0I,IAAMoB,IAAMhE,EAAMhP,IAAIyP,EAAO2D,GAElCP,EAAU1F,GAAQiG,EAClBP,EAAUtH,GAAQrC,EAAEkD,KACjB0G,EAMD,GALA1D,GACEpE,KAAS+H,EAAoBK,EAAWH,EAAaN,GACrDY,OAAST,GAAWF,EAASQ,EAAWH,EAAaL,GACrDlD,QAASoD,GAAWF,EAASQ,EAAWH,EAAa,YAEpDD,EAAM,IAAIpU,IAAOwQ,GACbxQ,IAAO6Q,IAAO+C,EAAO/C,EAAO7Q,EAAKwQ,EAAQxQ,QACzC+P,GAAKA,EAAKxF,EAAIwF,EAAKwB,EAAInB,EAAMC,MAAO9B,EAAMiC,MAGlD3E,MAAM,GAAG2F,UAAU,GAAGtB,UAAU,GAAGR,WAAW,GAAGkF,YAAY,GAAG3H,UAAU,KAAK4H,IAAI,SAASpX,EAAQU,EAAOJ,GAC9G,YAYA,SAAS+W,GAAYjI,EAAG5M,GACtBqK,EAAEhK,KAAKuM,EAAGgH,EAAiB5T,GAExB6T,QAAkBxJ,EAAEhK,KAAKuM,EAAGiH,EAAa7T,GAd9C,GAAIqK,GAAoB7M,EAAQ,OAC5B+O,EAAoB/O,EAAQ,WAC5BmP,EAAoBJ,EAAII,QACxB3B,EAAoBxN,EAAQ,cAC5BiW,EAAoBzI,EAAOQ,IAC3BoI,EAAoBpW,EAAQ,WAAW,YACvCqW,EAAoB,aACpBG,EAAoBxW,EAAQ,cAAc,aAC1CgX,IAEJK,GAAYL,EAAmBnK,EAAEkD,MAOjCrP,EAAOJ,SAELsS,MAAO,cAAkB,WAAajE,QACtC6H,UAAWA,EACXjG,KAAM,SAAS4E,EAAM3S,GACnB,OAAQA,MAAOA,EAAO2S,OAAQA,IAEhCmC,GAAI,SAASpK,GACX,GAAIkC,GAASzN,OAAOuL,GAChBqK,EAAS1K,EAAEsG,EAAEoE,MACjB,QAAQA,GAAUA,EAAOrC,UAAYmB,IAAgBjH,IAChDgH,IAAmBhH,IACnBvC,EAAE0C,IAAIiH,EAAWrH,EAAQC,KAEhC/K,IAAK,SAAS6I,GACZ,GACIsK,GADAD,EAAS1K,EAAEsG,EAAEoE,MAQjB,OANS9V,SAANyL,IACDsK,EAAUtK,EAAGqK,GAAUA,EAAOrC,UAAYmB,IACrCnJ,EAAGkJ,IACHI,EAAUrH,EAAQjC,KAEzBM,EAAOX,EAAEkB,WAAWyJ,GAAUtK,EAAI,qBAC3B+I,EAAauB,EAAQjX,KAAK2M,KAEnCvJ,IAAK0T,EACLrK,OAAQ,SAASpD,EAAakH,EAAMQ,EAAM8B,GACxCxJ,EAAY/H,UAAYgL,EAAEG,OAAOoG,GAAS4D,GAAoB1F,KAAMzE,EAAE1B,KAAK,EAAGmG,KAC9EvC,EAAIpL,IAAIiG,EAAakH,EAAO,iBAG7B1C,MAAM,GAAG0D,aAAa,GAAGiC,UAAU,GAAG0D,aAAa,GAAGjI,UAAU,KAAKkI,IAAI,SAAS1X,EAAQU,EAAOJ,GACpG,YAiBA,SAASqX,GAAUzK,GACjB,MAAO0K,OAAM1K,GAAMA,GAAM,GAAKA,EAAK,EAAIhJ,EAAQ2T,GAAM3K,GAEvD,QAAS/B,GAAK2M,EAAQtV,GACpB,OACE4H,aAAyB,EAAT0N,GAChBzN,eAAyB,EAATyN,GAChBxN,WAAyB,EAATwN,GAChBtV,MAAcA,GAGlB,QAASuV,GAAU/M,EAAQzI,EAAKC,GAE9B,MADAwI,GAAOzI,GAAOC,EACPwI,EAET,QAASgN,GAAcF,GACrB,MAAOnH,GAAO,SAAS3F,EAAQzI,EAAKC,GAClC,MAAOqK,GAAEM,QAAQnC,EAAQzI,EAAK4I,EAAK2M,EAAQtV,KACzCuV,EAGN,QAAS9J,GAASf,GAChB,MAAc,QAAPA,IAA6B,gBAANA,IAA+B,kBAANA,IAEzD,QAASa,GAAWb,GAClB,MAAoB,kBAANA,GAEhB,QAASW,GAAcX,GACrB,GAASzL,QAANyL,EAAgB,KAAMrD,WAAU,yBAA2BqD,EAC9D,OAAOA,GA7CT,GAAIyH,GAAwB,mBAARsD,MAAsBA,KAAO3M,SAAS,iBACtDU,KACAkM,EAAiBvW,OAAOuW,eACxBC,KAAoBA,eACpBN,EAAQ5T,KAAK4T,KACb3T,EAAQD,KAAKC,MACbkU,EAAQnU,KAAKmU,IACbC,EAAQpU,KAAKoU,IAEb1H,IAAS,WACX,IACE,MAAoE,IAA7DuH,KAAmB,KAAM7T,IAAK,WAAY,MAAO,MAAOtE,EAC/D,MAAMP,QAENqD,EAAOmV,EAAc,GAkCrBnL,EAAInM,EAAOJ,QAAUN,EAAQ,WAC/BmT,EAAGwB,EACH3I,KAAMA,EACNsM,KAAM3D,EAAO3R,UAAYA,SAASuV,gBAElCtK,SAAYA,EACZF,WAAYA,EACZgC,KAAM,WACJ,MAAOrO,OAGTiW,UAAWA,EAEXa,SAAU,SAAStL,GACjB,MAAOA,GAAK,EAAImL,EAAIV,EAAUzK,GAAK,kBAAoB,GAEzDuL,QAAS,SAAS/U,EAAOlD,GAEvB,MADAkD,GAAQiU,EAAUjU,GACH,EAARA,EAAY0U,EAAI1U,EAAQlD,EAAQ,GAAK6X,EAAI3U,EAAOlD,IAEzD+O,IAAK,SAASrC,EAAI3K,GAChB,MAAO4V,GAAe5X,KAAK2M,EAAI3K,IAEjCyK,OAAYrL,OAAOqL,OACnBiK,SAAYtV,OAAOC,eACnB+O,KAAYA,EACZxF,KAAYA,EACZkC,QAAY1L,OAAO+W,yBACnBvL,QAAY+K,EACZS,SAAYhX,OAAOqI,iBACnB+K,QAAYpT,OAAOgN,KACnBgH,SAAYhU,OAAOkU,oBACnBb,WAAYrT,OAAOiX,sBACnB/K,cAAeA,EAEfa,UAAW/M,OACXmU,SAAU,SAAS5I,GACjB,MAAOL,GAAE6B,UAAUb,EAAcX,KAEnCrK,KAAMA,EACN+K,IAAKoK,EAAc,GACnBrU,IAAKgR,EAAO4C,OAASQ,EAAYlV,EACjCyQ,QAASjQ,SAGM,oBAAPwV,OAAmBA,IAAM7M,GAClB,mBAAP8M,OAAmBA,IAAMnE,KAChCoE,SAAS,KAAKC,IAAI,SAAShZ,EAAQU,EAAOJ,GAC7C,GAAI6V,GAASnW,EAAQ,YACrBU,GAAOJ,QAAU,SAAS2J,EAAQ3G,GAChC,IAAI,GAAIf,KAAOe,GAAI6S,EAAOlM,EAAQ1H,EAAKe,EAAIf,GAC3C,OAAO0H,MAENkN,YAAY,KAAK8B,IAAI,SAASjZ,EAAQU,EAAOJ,GAChDI,EAAOJ,QAAUN,EAAQ,OAAO6C,OAC7BuL,MAAM,KAAK8K,IAAI,SAASlZ,EAAQU,EAAOJ,GAC1C,GAAIuM,GAAS7M,EAAQ,OACjBmZ,EAAS,qBACTC,EAASvM,EAAEsG,EAAEgG,KAAYtM,EAAEsG,EAAEgG,MACjCzY,GAAOJ,QAAU,SAASiC,GACxB,MAAO6W,GAAM7W,KAAS6W,EAAM7W,UAE3B6L,MAAM,KAAKiL,IAAI,SAASrZ,EAAQU,EAAOJ,GAC1C,GAAIuM,GAAU7M,EAAQ,OAClBsZ,EAAUtZ,EAAQ,WAAW,UACjCU,GAAOJ,QAAU,SAAS2Q,IACrBpE,EAAE8D,MAAU2I,IAAWrI,IAAGpE,EAAEM,QAAQ8D,EAAGqI,GACxCjP,cAAc,EACdhG,IAAKwI,EAAEkD,UAGR3B,MAAM,GAAGoB,UAAU,KAAK+J,IAAI,SAASvZ,EAAQU,EAAOJ,GAGvD,GAAIuM,GAAI7M,EAAQ,MAChBU,GAAOJ,QAAU,SAASkZ,GACxB,MAAO,UAASzJ,EAAM0J,GACpB,GAGI1Z,GAAG2T,EAHH9T,EAAI8Z,OAAO7M,EAAEgB,cAAckC,IAC3B9P,EAAI4M,EAAE8K,UAAU8B,GAChBpZ,EAAIT,EAAEY,MAEV,OAAO,GAAJP,GAASA,GAAKI,EAASmZ,EAAY,GAAK/X,QAC3C1B,EAAIH,EAAE+Z,WAAW1Z,GACN,MAAJF,GAAcA,EAAI,OAAUE,EAAI,IAAMI,IACvCqT,EAAI9T,EAAE+Z,WAAW1Z,EAAI,IAAM,OAAUyT,EAAI,MACzC8F,EAAY5Z,EAAEga,OAAO3Z,GAAKF,EAC1ByZ,EAAY5Z,EAAEqP,MAAMhP,EAAGA,EAAI,IAAMF,EAAI,OAAU,KAAO2T,EAAI,OAAU,WAG3EtF,MAAM,KAAKyL,IAAI,SAAS7Z,EAAQU,EAAOJ,GAE1C,QAASwZ,GAAIvX,GACX,MAAO,UAAUwX,OAAetY,SAARc,EAAoB,GAAKA,EAAK,QAASyX,EAAM/V,KAAKgW,UAAUjL,SAAS,KAF/F,GAAIgL,GAAM,CAIVF,GAAIzJ,KAAOrQ,EAAQ,OAAOmT,EAAEoE,QAAUuC,EACtCpZ,EAAOJ,QAAUwZ,IACd1L,MAAM,KAAK8L,IAAI,SAASla,EAAQU,EAAOJ,GAC1CI,EAAOJ,QAAU,kBACX6Z,IAAI,SAASna,EAAQU,EAAOJ,GAClC,GAAIqU,GAAS3U,EAAQ,OAAOmT,EACxBiG,EAASpZ,EAAQ,cAAc,MACnCU,GAAOJ,QAAU,SAAS6N,GACxB,MAAOiL,GAAMjL,KAAUiL,EAAMjL,GAC3BwG,EAAO4C,QAAU5C,EAAO4C,OAAOpJ,IAASnO,EAAQ,WAAWqQ,KAAK,UAAYlC,OAE7EC,MAAM,GAAGqJ,aAAa,GAAGrF,UAAU,KAAKgI,IAAI,SAASpa,EAAQU,EAAOJ,GACvE,GAAIuM,GAAa7M,EAAQ,OACrBqa,EAAara,EAAQ,eACrByQ,EAAazQ,EAAQ,WAAWqQ,KAAK,QACrCsC,EAAa3S,EAAQ,YACrBuQ,EAAaoC,EAAMpC,KACnBiG,EAAa7D,EAAM6D,SAMvBxW,GAAQ,mBAAmBsa,MAAO,QAAS,SAAS3I,EAAUC,GAC5D/E,EAAElJ,IAAIjC,KAAM+O,GAAO5Q,EAAGgN,EAAEiJ,SAASnE,GAAW1R,EAAG,EAAGkQ,EAAGyB,KAEpD,WACD,GAAIC,GAAQnQ,KAAK+O,GACbrB,EAAQyC,EAAKhS,EACb+R,EAAQC,EAAK1B,EACbzM,EAAQmO,EAAK5R,GACjB,QAAImP,GAAK1L,GAAS0L,EAAE5O,QAClBqR,EAAKhS,EAAI4B,OACF8O,EAAK,IAEH,QAARqB,EAAwBrB,EAAK,EAAG7M,GACxB,UAARkO,EAAwBrB,EAAK,EAAGnB,EAAE1L,IAC9B6M,EAAK,GAAI7M,EAAO0L,EAAE1L,MACxB,UAGH8S,EAAU+D,UAAY/D,EAAU8D,MAEhCD,EAAW,QACXA,EAAW,UACXA,EAAW,aACRjM,MAAM,GAAG6D,WAAW,GAAGC,kBAAkB,GAAGE,UAAU,GAAGoI,cAAc,KAAKC,IAAI,SAASza,EAAQU,EAAOJ,GAC3G,YACA,IAAIoa,GAAS1a,EAAQ,wBAGrBA,GAAQ,kBAAkB,MAAO,SAASqE,GACxC,MAAO,YAAgB,MAAOA,GAAI3C,KAAM2E,UAAU,OAGlDhC,IAAK,SAAa9B,GAChB,GAAIyN,GAAQ0K,EAAO5K,SAASpO,KAAMa,EAClC,OAAOyN,IAASA,EAAMyB,GAGxB9N,IAAK,SAAapB,EAAKC,GACrB,MAAOkY,GAAO9M,IAAIlM,KAAc,IAARa,EAAY,EAAIA,EAAKC,KAE9CkY,GAAQ,KACRC,iBAAiB,GAAGC,wBAAwB,KAAKC,IAAI,SAAS7a,EAAQU,EAAOJ,GAEhF,GAAIgS,GAAOtS,EAAQ,UACnBsS,GAAKA,EAAK7D,EAAG,UAAWhC,OAAQzM,EAAQ,kBACrC8a,aAAa,GAAGrI,UAAU,KAAKsI,IAAI,SAAS/a,EAAQU,EAAOJ,GAC9D,GAAIuM,GAAW7M,EAAQ,OACnBsS,EAAWtS,EAAQ,WACnBiO,EAAWpB,EAAEoB,SACb6H,EAAWjJ,EAAEiJ,QACjBjJ,GAAEyG,KAAK/S,KAAK,gIAC0DgT,MAAM,KAC1E,SAASC,EAAK5D,GACd,GAAI9B,IAAUjB,EAAEb,KAAKrK,YAAc6R,IAAQ7R,OAAO6R,GAC9CwH,EAAS,EACTC,IACJA,GAAOzH,GAAa,GAAN5D,EAAU,SAAgB1C,GACtC,MAAOe,GAASf,GAAMY,EAAGZ,GAAMA,GACvB,GAAN0C,EAAU,SAAc1C,GAC1B,MAAOe,GAASf,GAAMY,EAAGZ,GAAMA,GACvB,GAAN0C,EAAU,SAA2B1C,GACvC,MAAOe,GAASf,GAAMY,EAAGZ,GAAMA,GACvB,GAAN0C,EAAU,SAAkB1C,GAC9B,MAAOe,GAASf,GAAMY,EAAGZ,IAAM,GACvB,GAAN0C,EAAU,SAAkB1C,GAC9B,MAAOe,GAASf,GAAMY,EAAGZ,IAAM,GACvB,GAAN0C,EAAU,SAAsB1C,GAClC,MAAOe,GAASf,GAAMY,EAAGZ,IAAM,GACvB,GAAN0C,EAAU,SAAkC1C,EAAI3K,GAClD,MAAOuL,GAAGgI,EAAS5I,GAAK3K,IAChB,GAANqN,EAAU,SAAwB1C,GACpC,MAAOY,GAAGnM,OAAOkL,EAAEgB,cAAcX,MACzB,GAAN0C,EAAU,SAAc1C,GAC1B,MAAOY,GAAGgI,EAAS5I,KACjBlN,EAAQ,iBAAiBqE,GAC7B,KACEyJ,EAAG,KACH,MAAMtO,GACNwb,EAAS,EAEX1I,EAAKA,EAAK7D,EAAI6D,EAAKwB,EAAIkH,EAAQ,SAAUC,OAExC7M,MAAM,GAAGqE,UAAU,GAAGyI,gBAAgB,KAAKC,IAAI,SAASnb,EAAQU,EAAOJ,GAC1E,YAEA,IAAIyO,GAAM/O,EAAQ,WACdob,IACJA,GAAIpb,EAAQ,WAAW,gBAAkB,IACtCA,EAAQ,OAAOuV,IAAkB,KAAZxG,EAAIqM,IAC1Bpb,EAAQ,aAAa2B,OAAOE,UAAW,WAAY,WACjD,MAAO,WAAakN,EAAII,QAAQzN,MAAQ,MACvC,KAEF0M,MAAM,GAAG2F,UAAU,GAAGoD,YAAY,GAAG3H,UAAU,KAAK6L,IAAI,SAASrb,EAAQU,EAAOJ,GACnF,GAAIqD,GAAQ3D,EAAQ,OAAO2D,IACvB2X,EAAQtb,EAAQ,kBAAiB,GACjCyQ,EAAQzQ,EAAQ,WAAWqQ,KAAK,QAChCsC,EAAQ3S,EAAQ,YAChBuQ,EAAQoC,EAAMpC,IAGlBvQ,GAAQ,mBAAmB0Z,OAAQ,SAAU,SAAS/H,GACpDhO,EAAIjC,KAAM+O,GAAO5Q,EAAG6Z,OAAO/H,GAAW1R,EAAG,KAExC,WACD,GAGIsb,GAHA1J,EAAQnQ,KAAK+O,GACbrB,EAAQyC,EAAKhS,EACb6D,EAAQmO,EAAK5R,CAEjB,OAAGyD,IAAS0L,EAAE5O,OAAc+P,EAAK,IACjCgL,EAAQD,EAAIlM,EAAG1L,GACfmO,EAAK5R,GAAKsb,EAAM/a,OACT+P,EAAK,EAAGgL,QAEdnN,MAAM,GAAG6D,WAAW,GAAGC,kBAAkB,GAAGsJ,gBAAgB,GAAGpJ,UAAU,KAAKqJ,IAAI,SAASzb,EAAQU,EAAOJ,GAE7GN,EAAQ,0BAA0B,SAC/B0b,yBAAyB,KAAKC,IAAI,SAAS3b,EAAQU,EAAOJ,GAC7DN,EAAQ,uBACR,IAAI6M,GAAc7M,EAAQ,OACtBwW,EAAcxW,EAAQ,YAAYwW,UAClCoF,EAAc5b,EAAQ,WAAW,YACjC6b,EAAcrF,EAAU8D,MACxBwB,EAAcjP,EAAEsG,EAAE4I,SAClBC,EAAcnP,EAAEsG,EAAE8I,eAClBC,EAAcJ,GAAMA,EAAGja,UACvBsa,EAAcH,GAAOA,EAAIna,SAC1BgL,GAAE0I,MACAuG,GAAQF,IAAYM,IAASrP,EAAEhK,KAAKqZ,EAASN,EAAUC,IACvDG,GAASJ,IAAYO,IAAUtP,EAAEhK,KAAKsZ,EAAUP,EAAUC,IAE/DrF,EAAUuF,SAAWvF,EAAUyF,eAAiBJ,IAC7CzN,MAAM,GAAG6D,WAAW,GAAGzC,UAAU,GAAG4M,uBAAuB,KAAKC,IAAI,SAASrc,EAAQU,EAAOJ,GAsB/F,QAASW,KACPS,KAAK4a,QAAU5a,KAAK4a,YACpB5a,KAAK6a,cAAgB7a,KAAK6a,eAAiB9a,OAuQ7C,QAASsM,GAAWyO,GAClB,MAAsB,kBAARA,GAGhB,QAASC,GAASD,GAChB,MAAsB,gBAARA,GAGhB,QAASvO,GAASuO,GAChB,MAAsB,gBAARA,IAA4B,OAARA,EAGpC,QAASE,GAAYF,GACnB,MAAe,UAARA,EAlRT9b,EAAOJ,QAAUW,EAGjBA,EAAaA,aAAeA,EAE5BA,EAAaY,UAAUya,QAAU7a,OACjCR,EAAaY,UAAU0a,cAAgB9a,OAIvCR,EAAa0b,oBAAsB,GAInC1b,EAAaY,UAAU+a,gBAAkB,SAASld,GAChD,IAAK+c,EAAS/c,IAAU,EAAJA,GAASkY,MAAMlY,GACjC,KAAMmK,WAAU,8BAElB,OADAnI,MAAK6a,cAAgB7c,EACdgC,MAGTT,EAAaY,UAAUuB,KAAO,SAASiR,GACrC,GAAIwI,GAAIC,EAASC,EAAK3Y,EAAMnE,EAAG+c,CAM/B,IAJKtb,KAAK4a,UACR5a,KAAK4a,YAGM,UAATjI,KACG3S,KAAK4a,QAAQW,OACbhP,EAASvM,KAAK4a,QAAQW,SAAWvb,KAAK4a,QAAQW,MAAMzc,QAAS,CAEhE,GADAqc,EAAKxW,UAAU,GACXwW,YAAc1c,OAChB,KAAM0c,EAER,MAAMhT,WAAU,wCAMpB,GAFAiT,EAAUpb,KAAK4a,QAAQjI,GAEnBqI,EAAYI,GACd,OAAO,CAET,IAAI/O,EAAW+O,GACb,OAAQzW,UAAU7F,QAEhB,IAAK,GACHsc,EAAQvc,KAAKmB,KACb,MACF,KAAK,GACHob,EAAQvc,KAAKmB,KAAM2E,UAAU,GAC7B,MACF,KAAK,GACHyW,EAAQvc,KAAKmB,KAAM2E,UAAU,GAAIA,UAAU,GAC3C,MAEF,SAGE,IAFA0W,EAAM1W,UAAU7F,OAChB4D,EAAO,GAAIkW,OAAMyC,EAAM,GAClB9c,EAAI,EAAO8c,EAAJ9c,EAASA,IACnBmE,EAAKnE,EAAI,GAAKoG,UAAUpG,EAC1B6c,GAAQrY,MAAM/C,KAAM0C,OAEnB,IAAI6J,EAAS6O,GAAU,CAG5B,IAFAC,EAAM1W,UAAU7F,OAChB4D,EAAO,GAAIkW,OAAMyC,EAAM,GAClB9c,EAAI,EAAO8c,EAAJ9c,EAASA,IACnBmE,EAAKnE,EAAI,GAAKoG,UAAUpG,EAI1B,KAFA+c,EAAYF,EAAQ7N,QACpB8N,EAAMC,EAAUxc,OACXP,EAAI,EAAO8c,EAAJ9c,EAASA,IACnB+c,EAAU/c,GAAGwE,MAAM/C,KAAM0C,GAG7B,OAAO,GAGTnD,EAAaY,UAAUqb,YAAc,SAAS7I,EAAM8I,GAClD,GAAIC,EAEJ,KAAKrP,EAAWoP,GACd,KAAMtT,WAAU,8BAuBlB,IArBKnI,KAAK4a,UACR5a,KAAK4a,YAIH5a,KAAK4a,QAAQe,aACf3b,KAAK0B,KAAK,cAAeiR,EACftG,EAAWoP,EAASA,UACpBA,EAASA,SAAWA,GAE3Bzb,KAAK4a,QAAQjI,GAGTpG,EAASvM,KAAK4a,QAAQjI,IAE7B3S,KAAK4a,QAAQjI,GAAM/P,KAAK6Y,GAGxBzb,KAAK4a,QAAQjI,IAAS3S,KAAK4a,QAAQjI,GAAO8I,GAN1Czb,KAAK4a,QAAQjI,GAAQ8I,EASnBlP,EAASvM,KAAK4a,QAAQjI,MAAW3S,KAAK4a,QAAQjI,GAAMiJ,OAAQ,CAC9D,GAAIF,EAIFA,GAHGV,EAAYhb,KAAK6a,eAGhBtb,EAAa0b,oBAFbjb,KAAK6a,cAKPa,GAAKA,EAAI,GAAK1b,KAAK4a,QAAQjI,GAAM7T,OAAS4c,IAC5C1b,KAAK4a,QAAQjI,GAAMiJ,QAAS,EAC5BC,QAAQN,MAAM,mIAGAvb,KAAK4a,QAAQjI,GAAM7T,QACJ,kBAAlB+c,SAAQC,OAEjBD,QAAQC,SAKd,MAAO9b,OAGTT,EAAaY,UAAUY,GAAKxB,EAAaY,UAAUqb,YAEnDjc,EAAaY,UAAU4b,KAAO,SAASpJ,EAAM8I,GAM3C,QAAShK,KACPzR,KAAKgc,eAAerJ,EAAMlB,GAErBwK,IACHA,GAAQ,EACRR,EAAS1Y,MAAM/C,KAAM2E,YAVzB,IAAK0H,EAAWoP,GACd,KAAMtT,WAAU,8BAElB,IAAI8T,IAAQ,CAcZ,OAHAxK,GAAEgK,SAAWA,EACbzb,KAAKe,GAAG4R,EAAMlB,GAEPzR,MAITT,EAAaY,UAAU6b,eAAiB,SAASrJ,EAAM8I,GACrD,GAAIS,GAAMC,EAAUrd,EAAQP,CAE5B,KAAK8N,EAAWoP,GACd,KAAMtT,WAAU,8BAElB,KAAKnI,KAAK4a,UAAY5a,KAAK4a,QAAQjI,GACjC,MAAO3S,KAMT,IAJAkc,EAAOlc,KAAK4a,QAAQjI,GACpB7T,EAASod,EAAKpd,OACdqd,EAAW,GAEPD,IAAST,GACRpP,EAAW6P,EAAKT,WAAaS,EAAKT,WAAaA,QAC3Czb,MAAK4a,QAAQjI,GAChB3S,KAAK4a,QAAQoB,gBACfhc,KAAK0B,KAAK,iBAAkBiR,EAAM8I,OAE/B,IAAIlP,EAAS2P,GAAO,CACzB,IAAK3d,EAAIO,EAAQP,IAAM,GACrB,GAAI2d,EAAK3d,KAAOkd,GACXS,EAAK3d,GAAGkd,UAAYS,EAAK3d,GAAGkd,WAAaA,EAAW,CACvDU,EAAW5d,CACX,OAIJ,GAAe,EAAX4d,EACF,MAAOnc,KAEW,KAAhBkc,EAAKpd,QACPod,EAAKpd,OAAS,QACPkB,MAAK4a,QAAQjI,IAEpBuJ,EAAKE,OAAOD,EAAU,GAGpBnc,KAAK4a,QAAQoB,gBACfhc,KAAK0B,KAAK,iBAAkBiR,EAAM8I,GAGtC,MAAOzb,OAGTT,EAAaY,UAAUkc,mBAAqB,SAAS1J,GACnD,GAAI9R,GAAKya,CAET,KAAKtb,KAAK4a,QACR,MAAO5a,KAGT,KAAKA,KAAK4a,QAAQoB,eAKhB,MAJyB,KAArBrX,UAAU7F,OACZkB,KAAK4a,WACE5a,KAAK4a,QAAQjI,UACb3S,MAAK4a,QAAQjI,GACf3S,IAIT,IAAyB,IAArB2E,UAAU7F,OAAc,CAC1B,IAAK+B,IAAOb,MAAK4a,QACH,mBAAR/Z,GACJb,KAAKqc,mBAAmBxb,EAI1B,OAFAb,MAAKqc,mBAAmB,kBACxBrc,KAAK4a,WACE5a,KAKT,GAFAsb,EAAYtb,KAAK4a,QAAQjI,GAErBtG,EAAWiP,GACbtb,KAAKgc,eAAerJ,EAAM2I,OAG1B,MAAOA,EAAUxc,QACfkB,KAAKgc,eAAerJ,EAAM2I,EAAUA,EAAUxc,OAAS,GAI3D,cAFOkB,MAAK4a,QAAQjI,GAEb3S,MAGTT,EAAaY,UAAUmb,UAAY,SAAS3I,GAC1C,GAAI2B,EAOJ,OAHEA,GAHGtU,KAAK4a,SAAY5a,KAAK4a,QAAQjI,GAE1BtG,EAAWrM,KAAK4a,QAAQjI,KACxB3S,KAAK4a,QAAQjI,IAEd3S,KAAK4a,QAAQjI,GAAMpF,YAI7BhO,EAAa+c,cAAgB,SAASC,EAAS5J,GAC7C,GAAI2B,EAOJ,OAHEA,GAHGiI,EAAQ3B,SAAY2B,EAAQ3B,QAAQjI,GAEhCtG,EAAWkQ,EAAQ3B,QAAQjI,IAC5B,EAEA4J,EAAQ3B,QAAQjI,GAAM7T,OAJtB,QAwBJ0d,IAAI,SAASle,EAAQU,EAAOJ,GAClC,YAkCA,SAAS0M,KACP,GAAImR,GAAK,GAAIC,GAAKC,qBAalB,OAXAC,GAAMC,OAAOJ,EAAIC,GACjBD,EAAGK,WAAaC,EAAsB,QACtCN,EAAGO,UAAYC,EAAqB,QACpCR,EAAGG,MAAQA,EACXH,EAAGS,iBAAmBN,EAAMM,iBAE5BT,EAAGU,GAAKC,EACRX,EAAGtW,SAAW,SAAUkX,GACtB,MAAOD,GAAQjX,SAASkX,EAAMZ,IAGzBA,EA9CT,GAAIa,GAA0B,SAAUhR,GAAO,MAAOA,IAAOA,EAAIhF,WAAagF,GAAQjF,QAAWiF,GAEjG1N,GAAQ0I,YAAa,CAErB,IAAIiW,GAAUjf,EAAQ,qBAElBoe,EAAOY,EAAwBC,GAK/BC,EAAclf,EAAQ,4BAEtBye,EAAeO,EAAwBE,GAEvCC,EAAanf,EAAQ,0BAErB2e,EAAcK,EAAwBG,GAEtCC,EAAWpf,EAAQ,sBAEnBse,EAAQU,EAAwBI,GAEhCC,EAAWrf,EAAQ,wBAEnB8e,EAAUE,EAAwBK,GAElCC,EAActf,EAAQ,4BAEtBuf,EAAeP,EAAwBM,GAoBvCpR,EAAOlB,GACXkB,GAAKlB,OAASA,EAEduS,EAAsB,QAAErR,GAExBA,EAAc,QAAIA,EAElB5N,EAAiB,QAAI4N,EACrBxN,EAAOJ,QAAUA,EAAiB,UAC/Bkf,oBAAoB,GAAGC,yBAAyB,GAAGC,2BAA2B,GAAGC,uBAAuB,GAAGC,2BAA2B,GAAGC,qBAAqB,KAAKC,IAAI,SAAS9f,EAAQU,EAAOJ,GAClM,YAoCA,SAAS+d,GAAsB5V,EAASC,GACtChH,KAAK+G,QAAUA,MACf/G,KAAKgH,SAAWA,MAEhBqX,EAAuBre,MAsCzB,QAASqe,GAAuBpW,GAC9BA,EAASqW,eAAe,gBAAiB,WACvC,GAAyB,IAArB3Z,UAAU7F,OAEZ,MAAOiB,OAGP,MAAM,IAAIkd,GAAqB,QAAE,oBAAsBtY,UAAUA,UAAU7F,OAAS,GAAG2N,KAAO,OAIlGxE,EAASqW,eAAe,qBAAsB,SAAUha,EAASxE,GAC/D,GAAIye,GAAUze,EAAQye,QAClBnS,EAAKtM,EAAQsM,EAEjB,IAAI9H,KAAY,EACd,MAAO8H,GAAGpM,KACL,IAAIsE,KAAY,GAAoB,MAAXA,EAC9B,MAAOia,GAAQve,KACV,IAAIwe,EAAQla,GACjB,MAAIA,GAAQxF,OAAS,GACfgB,EAAQ2e,MACV3e,EAAQ2e,KAAO3e,EAAQ2M,OAGlBxE,EAASlB,QAAQ6K,KAAKtN,EAASxE,IAE/Bye,EAAQve,KAGjB,IAAIF,EAAQmH,MAAQnH,EAAQ2e,IAAK,CAC/B,GAAIxX,GAAOyX,EAAY5e,EAAQmH,KAC/BA,GAAK0X,YAAc/B,EAAMgC,kBAAkB9e,EAAQmH,KAAK0X,YAAa7e,EAAQ2M,MAC7E3M,GAAYmH,KAAMA,GAGpB,MAAOmF,GAAG9H,EAASxE,KAIvBmI,EAASqW,eAAe,OAAQ,SAAUha,EAASxE,GAwBjD,QAAS+e,GAAcC,EAAO9c,EAAO+c,GAC/B9X,IACFA,EAAKpG,IAAMie,EACX7X,EAAKjF,MAAQA,EACbiF,EAAK+X,MAAkB,IAAVhd,EACbiF,EAAK8X,OAASA,EAEVJ,IACF1X,EAAK0X,YAAcA,EAAcG,IAIrCxK,GAAYlI,EAAG9H,EAAQwa,IACrB7X,KAAMA,EACNgY,YAAarC,EAAMqC,aAAa3a,EAAQwa,GAAQA,IAASH,EAAcG,EAAO,SArClF,IAAKhf,EACH,KAAM,IAAImd,GAAqB,QAAE,8BAGnC,IAAI7Q,GAAKtM,EAAQsM,GACbmS,EAAUze,EAAQye,QAClBhgB,EAAI,EACJ+V,EAAM,GACNrN,EAAOlH,OACP4e,EAAc5e,MAgClB,IA9BID,EAAQmH,MAAQnH,EAAQ2e,MAC1BE,EAAc/B,EAAMgC,kBAAkB9e,EAAQmH,KAAK0X,YAAa7e,EAAQ2e,IAAI,IAAM,KAGhFpS,EAAW/H,KACbA,EAAUA,EAAQzF,KAAKmB,OAGrBF,EAAQmH,OACVA,EAAOyX,EAAY5e,EAAQmH,OAqBzB3C,GAA8B,gBAAZA,GACpB,GAAIka,EAAQla,GACV,IAAK,GAAI4I,GAAI5I,EAAQxF,OAAYoO,EAAJ3O,EAAOA,IAClCsgB,EAActgB,EAAGA,EAAGA,IAAM+F,EAAQxF,OAAS,OAExC,CACL,GAAIogB,GAAWnf,MAEf,KAAK,GAAIc,KAAOyD,GACVA,EAAQmS,eAAe5V,KAIrBqe,GACFL,EAAcK,EAAU3gB,EAAI,GAE9B2gB,EAAWre,EACXtC,IAGA2gB,IACFL,EAAcK,EAAU3gB,EAAI,GAAG,GASrC,MAJU,KAANA,IACF+V,EAAMiK,EAAQve,OAGTsU,IAGTrM,EAASqW,eAAe,KAAM,SAAUa,EAAarf,GAQnD,MAPIuM,GAAW8S,KACbA,EAAcA,EAAYtgB,KAAKmB,QAM5BF,EAAQsf,KAAKC,cAAgBF,GAAevC,EAAM0C,QAAQH,GACtDrf,EAAQye,QAAQve,MAEhBF,EAAQsM,GAAGpM,QAItBiI,EAASqW,eAAe,SAAU,SAAUa,EAAarf,GACvD,MAAOmI,GAASlB,QAAY,GAAElI,KAAKmB,KAAMmf,GAAe/S,GAAItM,EAAQye,QAASA,QAASze,EAAQsM,GAAIgT,KAAMtf,EAAQsf,SAGlHnX,EAASqW,eAAe,OAAQ,SAAUha,EAASxE,GAC7CuM,EAAW/H,KACbA,EAAUA,EAAQzF,KAAKmB,MAGzB,IAAIoM,GAAKtM,EAAQsM,EAEjB,IAAKwQ,EAAM0C,QAAQhb,GASjB,MAAOxE,GAAQye,QAAQve,KARvB,IAAIF,EAAQmH,MAAQnH,EAAQ2e,IAAK,CAC/B,GAAIxX,GAAOyX,EAAY5e,EAAQmH,KAC/BA,GAAK0X,YAAc/B,EAAMgC,kBAAkB9e,EAAQmH,KAAK0X,YAAa7e,EAAQ2e,IAAI,IACjF3e,GAAYmH,KAAMA,GAGpB,MAAOmF,GAAG9H,EAASxE,KAMvBmI,EAASqW,eAAe,MAAO,SAAUtb,EAASlD,GAChD,GAAIyf,GAAQzf,EAAQmH,MAA8B,MAAtBnH,EAAQmH,KAAKsY,MAAgBC,SAAS1f,EAAQmH,KAAKsY,MAAO,IAAM,CAC5FtX,GAASwX,IAAIF,EAAOvc,KAGtBiF,EAASqW,eAAe,SAAU,SAAUhS,EAAKwS,GAC/C,MAAOxS,IAAOA,EAAIwS,KA4BtB,QAASJ,GAAYpV,GACnB,GAAIoW,GAAQ9C,EAAMC,UAAWvT,EAE7B,OADAoW,GAAMC,QAAUrW,EACToW,EA3QT,GAAIpC,GAA0B,SAAUhR,GAAO,MAAOA,IAAOA,EAAIhF,WAAagF,GAAQjF,QAAWiF,GAEjG1N,GAAQ0I,YAAa,EACrB1I,EAAQ+d,sBAAwBA,EAChC/d,EAAQ8f,YAAcA,CAEtB,IAAInB,GAAUjf,EAAQ,WAElBse,EAAQU,EAAwBC,GAEhCE,EAAanf,EAAQ,eAErB2e,EAAcK,EAAwBG,GAEtCmC,EAAU,OACdhhB,GAAQghB,QAAUA,CAClB,IAAIC,GAAoB,CAExBjhB,GAAQihB,kBAAoBA,CAC5B,IAAIC,IACF/gB,EAAG,cACH6E,EAAG,gBACHO,EAAG,gBACH4B,EAAG,WACHG,EAAG,mBACHQ,EAAG,kBAGL9H,GAAQkhB,iBAAmBA,CAC3B,IAAItB,GAAU5B,EAAM4B,QAChBnS,EAAauQ,EAAMvQ,WACnBiB,EAAWsP,EAAMtP,SACjByS,EAAa,iBASjBpD,GAAsBxc,WACpB+J,YAAayS,EAEbqD,OAAQA,EACRP,IAAKA,EAELnB,eAAgB,SAAwB7R,EAAML,GAC5C,GAAIkB,EAASzO,KAAK4N,KAAUsT,EAAY,CACtC,GAAI3T,EACF,KAAM,IAAI6Q,GAAqB,QAAE,0CAEnCL,GAAMC,OAAO7c,KAAK+G,QAAS0F,OAE3BzM,MAAK+G,QAAQ0F,GAAQL;AAGzB6T,iBAAkB,SAA0BxT,SACnCzM,MAAK+G,QAAQ0F,IAGtByT,gBAAiB,SAAyBzT,EAAM0T,GAC9C,GAAI7S,EAASzO,KAAK4N,KAAUsT,EAC1BnD,EAAMC,OAAO7c,KAAKgH,SAAUyF,OACvB,CACL,GAAuB,mBAAZ0T,GACT,KAAM,IAAIlD,GAAqB,QAAE,gDAEnCjd,MAAKgH,SAASyF,GAAQ0T,IAG1BC,kBAAmB,SAA2B3T,SACrCzM,MAAKgH,SAASyF,IAwKzB,IAAIuT,IACFK,WAAa,EAAG,QAASthB,EAAG,OAAQ6E,EAAG,OAAQO,EAAG,SAGlDmc,MAAO,EACPC,KAAM,EACNC,KAAM,EACNC,MAAO,EACPlB,MAAO,EAGPE,IAAK,SAAaF,EAAOvc,GACvB,GAAuB,mBAAZ6Y,UAA2BmE,EAAOT,OAASA,EAAO,CAC3D,GAAIhG,GAASyG,EAAOK,UAAUd,IAC7B1D,QAAQtC,IAAWsC,QAAQ4D,KAAK5gB,KAAKgd,QAAS7Y,KAKrDpE,GAAQohB,OAASA,CACjB,IAAIP,GAAMO,EAAOP,GAEjB7gB,GAAQ6gB,IAAMA,IASXiB,cAAc,GAAGC,UAAU,KAAKC,IAAI,SAAStiB,EAAQU,EAAOJ,GAC/D,YAMA,SAASoe,GAAUha,EAAS6d,GAC1B,GAAIC,GAAMD,GAAQA,EAAKC,IACnBC,EAAOhhB,OACPihB,EAASjhB,MACT+gB,KACFC,EAAOD,EAAIG,MAAMF,KACjBC,EAASF,EAAIG,MAAMD,OAEnBhe,GAAW,MAAQ+d,EAAO,IAAMC,EAMlC,KAAK,GAHDtH,GAAMjb,MAAM0B,UAAU+J,YAAYrL,KAAKmB,KAAMgD,GAGxCke,EAAM,EAAGA,EAAMC,EAAWriB,OAAQoiB,IACzClhB,KAAKmhB,EAAWD,IAAQxH,EAAIyH,EAAWD,GAGrCziB,OAAM2iB,mBACR3iB,MAAM2iB,kBAAkBphB,KAAMgd,GAG5B8D,IACF9gB,KAAKqhB,WAAaN,EAClB/gB,KAAKghB,OAASA,GA5BlBpiB,EAAQ0I,YAAa,CAErB,IAAI6Z,IAAc,cAAe,WAAY,aAAc,UAAW,OAAQ,SAAU,QA8BxFnE,GAAU7c,UAAY,GAAI1B,OAE1BG,EAAiB,QAAIoe,EACrBhe,EAAOJ,QAAUA,EAAiB,aAC5B0iB,IAAI,SAAShjB,EAAQU,EAAOJ,IAClC,SAAWqU,GACX,YAEArU,GAAQ0I,YAAa,EAGrB1I,EAAiB,QAAI,SAAU2iB,GAE7B,GAAIC,GAAyB,mBAAXvO,GAAyBA,EAAS9Q,OAChDsf,EAAcD,EAAKD,UAEvBA,GAAWG,WAAa,WAClBF,EAAKD,aAAeA,IACtBC,EAAKD,WAAaE,KAKxBziB,EAAOJ,QAAUA,EAAiB,UAC/BC,KAAKmB,KAAuB,mBAAXiT,QAAyBA,OAAyB,mBAATsD,MAAuBA,KAAyB,mBAAXpU,QAAyBA,gBAErHwf,IAAI,SAASrjB,EAAQU,EAAOJ,GAClC,YAyBA,SAASgjB,GAAcC,GACrB,GAAIC,GAAmBD,GAAgBA,EAAa,IAAM,EACtDE,EAAkBC,EAAgDnC,iBAEtE,IAAIiC,IAAqBC,EAAiB,CACxC,GAAuBA,EAAnBD,EAAoC,CACtC,GAAIG,GAAkBD,EAAgDlC,iBAAiBiC,GACnFG,EAAmBF,EAAgDlC,iBAAiBgC,EACxF,MAAM,IAAI7E,GAAqB,QAAE,6IAAoJgF,EAAkB,oDAAsDC,EAAmB,MAGhR,KAAM,IAAIjF,GAAqB,QAAE,wIAA+I4E,EAAa,GAAK,OAKxM,QAAS1b,GAASgc,EAAcC,GAa9B,QAASC,GAAqBlC,EAAS7b,EAASxE,GAC1CA,EAAQsf,OACV9a,EAAUsY,EAAMC,UAAWvY,EAASxE,EAAQsf,OAG9Ce,EAAUiC,EAAIjF,GAAGmF,eAAezjB,KAAKmB,KAAMmgB,EAAS7b,EAASxE,EAC7D,IAAImS,GAASmQ,EAAIjF,GAAGoF,cAAc1jB,KAAKmB,KAAMmgB,EAAS7b,EAASxE,EAM/D,IAJc,MAAVmS,GAAkBmQ,EAAII,UACxB1iB,EAAQkH,SAASlH,EAAQ2M,MAAQ2V,EAAII,QAAQrC,EAASgC,EAAaM,gBAAiBL,GACpFnQ,EAASnS,EAAQkH,SAASlH,EAAQ2M,MAAMnI,EAASxE,IAErC,MAAVmS,EAAgB,CAClB,GAAInS,EAAQ4iB,OAAQ,CAElB,IAAK,GADDC,GAAQ1Q,EAAOJ,MAAM,MAChBtT,EAAI,EAAGI,EAAIgkB,EAAM7jB,OAAYH,EAAJJ,IAC3BokB,EAAMpkB,IAAMA,EAAI,IAAMI,GADYJ,IAKvCokB,EAAMpkB,GAAKuB,EAAQ4iB,OAASC,EAAMpkB,EAEpC0T,GAAS0Q,EAAMC,KAAK,MAEtB,MAAO3Q,GAEP,KAAM,IAAIgL,GAAqB,QAAE,eAAiBnd,EAAQ2M,KAAO,4DA+DrE,QAAS6H,GAAIhQ,GACX,GAAIxE,GAA2BC,SAAjB4E,UAAU,MAAwBA,UAAU,GAEtDsC,EAAOnH,EAAQmH,IAEnBqN,GAAIuO,OAAO/iB,IACNA,EAAQqgB,SAAWgC,EAAajb,UACnCD,EAAO6b,EAASxe,EAAS2C,GAE3B,IAAI8b,GAAShjB,OACTkf,EAAckD,EAAaa,kBAAsBjjB,MAKrD,OAJIoiB,GAAac,YACfF,EAASjjB,EAAQijB,QAAUze,GAAS+T,OAAOvY,EAAQijB,SAAWze,IAGzD6d,EAAatb,KAAKhI,KAAKqkB,EAAW5e,EAAS4e,EAAUnc,QAASmc,EAAUlc,SAAUC,EAAMgY,EAAa8D,GAnH9G,IAAKX,EACH,KAAM,IAAInF,GAAqB,QAAE,oCAEnC,KAAKkF,IAAiBA,EAAatb,KACjC,KAAM,IAAIoW,GAAqB,QAAE,kCAAqCkF,GAKxEC,GAAIjF,GAAGyE,cAAcO,EAAavb,SAiClC,IAAIsc,IACFC,OAAQ,SAAgB7W,EAAKG,GAC3B,KAAMA,IAAQH,IACZ,KAAM,IAAI2Q,GAAqB,QAAE,IAAMxQ,EAAO,oBAAsBH,EAEtE,OAAOA,GAAIG,IAEb2W,OAAQ,SAAgBL,EAAQtW,GAE9B,IAAK,GADD4O,GAAM0H,EAAOjkB,OACRP,EAAI,EAAO8c,EAAJ9c,EAASA,IACvB,GAAIwkB,EAAOxkB,IAAyB,MAAnBwkB,EAAOxkB,GAAGkO,GACzB,MAAOsW,GAAOxkB,GAAGkO,IAIvB4W,OAAQ,SAAgBC,EAAShf,GAC/B,MAA0B,kBAAZgf,GAAyBA,EAAQzkB,KAAKyF,GAAWgf,GAGjEpG,iBAAkBN,EAAMM,iBACxBqF,cAAeF,EAEfjW,GAAI,SAAY7N,GACd,MAAO4jB,GAAa5jB,IAGtBglB,YACAC,QAAS,SAAiBjlB,EAAG0I,EAAMwc,EAAqBxE,EAAa8D,GACnE,GAAIW,GAAiB1jB,KAAKujB,SAAShlB,GAC/B6N,EAAKpM,KAAKoM,GAAG7N,EAMjB,OALI0I,IAAQ8b,GAAU9D,GAAewE,EACnCC,EAAiBC,EAAY3jB,KAAMzB,EAAG6N,EAAInF,EAAMwc,EAAqBxE,EAAa8D,GACxEW,IACVA,EAAiB1jB,KAAKujB,SAAShlB,GAAKolB,EAAY3jB,KAAMzB,EAAG6N,IAEpDsX,GAGTzc,KAAM,SAAcnG,EAAO8iB,GACzB,KAAO9iB,GAAS8iB,KACd9iB,EAAQA,EAAM6e,OAEhB,OAAO7e,IAET+iB,MAAO,SAAe1Q,EAAO7B,GAC3B,GAAIhF,GAAM6G,GAAS7B,CAMnB,OAJI6B,IAAS7B,GAAU6B,IAAU7B,IAC/BhF,EAAMsQ,EAAMC,UAAWvL,EAAQ6B,IAG1B7G,GAGTwX,KAAM1B,EAAIjF,GAAG2G,KACbjC,aAAcM,EAAavb,SA6C7B,OAzBA0N,GAAIyP,OAAQ,EAEZzP,EAAIuO,OAAS,SAAU/iB,GAChBA,EAAQqgB,SAOX+C,EAAUnc,QAAUjH,EAAQiH,QAC5Bmc,EAAUlc,SAAWlH,EAAQkH,WAP7Bkc,EAAUnc,QAAUmc,EAAUW,MAAM/jB,EAAQiH,QAASqb,EAAIrb,SAErDob,EAAa6B,aACfd,EAAUlc,SAAWkc,EAAUW,MAAM/jB,EAAQkH,SAAUob,EAAIpb,aAQjEsN,EAAI2P,OAAS,SAAU1lB,EAAG0I,EAAMgY,EAAa8D,GAC3C,GAAIZ,EAAaa,iBAAmB/D,EAClC,KAAM,IAAIhC,GAAqB,QAAE,yBAEnC,IAAIkF,EAAac,YAAcF,EAC7B,KAAM,IAAI9F,GAAqB,QAAE,0BAGnC,OAAO0G,GAAYT,EAAW3kB,EAAG4jB,EAAa5jB,GAAI0I,EAAM,EAAGgY,EAAa8D,IAEnEzO,EAGT,QAASqP,GAAYT,EAAW3kB,EAAG6N,EAAInF,EAAMwc,EAAqBxE,EAAa8D,GAC7E,QAASmB,GAAK5f,GACZ,GAAIxE,GAA2BC,SAAjB4E,UAAU,MAAwBA,UAAU,EAE1D,OAAOyH,GAAGvN,KAAKqkB,EAAW5e,EAAS4e,EAAUnc,QAASmc,EAAUlc,SAAUlH,EAAQmH,MAAQA,EAAMgY,IAAgBnf,EAAQmf,aAAa5G,OAAO4G,GAAc8D,IAAWze,GAAS+T,OAAO0K,IAKvL,MAHAmB,GAAKV,QAAUjlB,EACf2lB,EAAKN,MAAQb,EAASA,EAAOjkB,OAAS,EACtColB,EAAKjF,YAAcwE,GAAuB,EACnCS,EAGT,QAAS5B,GAAenC,EAAS7b,EAASxE,GAQxC,MAPKqgB,GAEOA,EAAQthB,MAASiB,EAAQ2M,OAEnC3M,EAAQ2M,KAAO0T,EACfA,EAAUrgB,EAAQkH,SAASmZ,IAJ3BA,EAAUrgB,EAAQkH,SAASlH,EAAQ2M,MAM9B0T,EAGT,QAASoC,GAAcpC,EAAS7b,EAASxE,GAGvC,GAFAA,EAAQqgB,SAAU,EAEFpgB,SAAZogB,EACF,KAAM,IAAIlD,GAAqB,QAAE,eAAiBnd,EAAQ2M,KAAO,sBAC5D,OAAI0T,aAAmBvW,UACrBuW,EAAQ7b,EAASxE,GADnB,OAKT,QAASgkB,KACP,MAAO,GAGT,QAAShB,GAASxe,EAAS2C,GAKzB,MAJKA,IAAU,QAAUA,KACvBA,EAAOA,EAAO+a,EAAgDtD,YAAYzX,MAC1EA,EAAKua,KAAOld,GAEP2C,EApOT,GAAIqW,GAA0B,SAAUhR,GAAO,MAAOA,IAAOA,EAAIhF,WAAagF,GAAQjF,QAAWiF,GAEjG1N,GAAQ0I,YAAa,EACrB1I,EAAQgjB,cAAgBA,EAIxBhjB,EAAQuH,SAAWA,EACnBvH,EAAQ+kB,YAAcA,EACtB/kB,EAAQ0jB,eAAiBA,EACzB1jB,EAAQ2jB,cAAgBA,EACxB3jB,EAAQklB,KAAOA,CAEf,IAAIvG,GAAUjf,EAAQ,WAElBse,EAAQU,EAAwBC,GAEhCE,EAAanf,EAAQ,eAErB2e,EAAcK,EAAwBG,GAEtCuE,EAAkD1jB,EAAQ,YAiN3D6lB,SAAS,GAAGzD,cAAc,GAAGC,UAAU,KAAKyD,IAAI,SAAS9lB,EAAQU,EAAOJ,GAC3E,YAIA,SAASke,GAAWuH,GAClBrkB,KAAKqkB,OAASA,EAHhBzlB,EAAQ0I,YAAa,EAMrBwV,EAAW3c,UAAUmN,SAAWwP,EAAW3c,UAAUmkB,OAAS,WAC5D,MAAO,GAAKtkB,KAAKqkB,QAGnBzlB,EAAiB,QAAIke,EACrB9d,EAAOJ,QAAUA,EAAiB,aAC5B2lB,IAAI,SAASjmB,EAAQU,EAAOJ,GAClC,YAuBA,SAAS4lB,GAAWC,GAClB,MAAOC,GAAOD,GAGhB,QAAS5H,GAAOvQ,GACd,IAAK,GAAI/N,GAAI,EAAGA,EAAIoG,UAAU7F,OAAQP,IACpC,IAAK,GAAIsC,KAAO8D,WAAUpG,GACpB0B,OAAOE,UAAUsW,eAAe5X,KAAK8F,UAAUpG,GAAIsC,KACrDyL,EAAIzL,GAAO8D,UAAUpG,GAAGsC,GAK9B,OAAOyL,GA4BT,QAASqY,GAAQC,EAAO9jB,GACtB,IAAK,GAAIvC,GAAI,EAAG8c,EAAMuJ,EAAM9lB,OAAYuc,EAAJ9c,EAASA,IAC3C,GAAIqmB,EAAMrmB,KAAOuC,EACf,MAAOvC,EAGX,OAAO,GAGT,QAAS2e,GAAiBmH,GACxB,GAAsB,gBAAXA,GAAqB,CAE9B,GAAIA,GAAUA,EAAOC,OACnB,MAAOD,GAAOC,QACT,IAAc,MAAVD,EACT,MAAO,EACF,KAAKA,EACV,MAAOA,GAAS,EAMlBA,GAAS,GAAKA,EAGhB,MAAKQ,GAASC,KAAKT,GAGZA,EAAOU,QAAQC,EAAUR,GAFvBH,EAKX,QAAS/E,GAAQxe,GACf,MAAKA,IAAmB,IAAVA,EAEH0d,EAAQ1d,IAA2B,IAAjBA,EAAMhC,QAC1B,GAEA,GAJA,EAQX,QAASmgB,GAAYgG,EAAQxG,GAE3B,MADAwG,GAAOnR,KAAO2K,EACPwG,EAGT,QAASrG,GAAkBD,EAAa3Y,GACtC,OAAQ2Y,EAAcA,EAAc,IAAM,IAAM3Y,EA9GlDpH,EAAQ0I,YAAa,EACrB1I,EAAQie,OAASA,EAGjBje,EAAQ+lB,QAAUA,EAClB/lB,EAAQse,iBAAmBA,EAC3Bte,EAAQ0gB,QAAUA,EAClB1gB,EAAQqgB,YAAcA,EACtBrgB,EAAQggB,kBAAoBA,CAC5B,IAAI8F,IACFQ,IAAK,QACLC,IAAK,OACLC,IAAK,OACLC,IAAK,SACLC,IAAM,SACNC,IAAK,UAGHP,EAAW,YACXH,EAAW,WAkBXvX,EAAWrN,OAAOE,UAAUmN,QAEhC1O,GAAQ0O,SAAWA,CAInB,IAAIjB,GAAa,SAAoBvL,GACnC,MAAwB,kBAAVA,GAIZuL,GAAW,OACbzN,EAAQyN,WAAaA,EAAa,SAAUvL,GAC1C,MAAwB,kBAAVA,IAAiD,sBAAzBwM,EAASzO,KAAKiC,IAGxD,IAAIuL,EACJzN,GAAQyN,WAAaA,CAIrB,IAAImS,GAAU5F,MAAM4F,SAAW,SAAU1d,GACvC,MAAOA,IAA0B,gBAAVA,GAA8C,mBAAzBwM,EAASzO,KAAKiC,IAA8B,EACxFlC,GAAQ4f,QAAUA,OAoDdgH,IAAI,SAASlnB,EAAQU,EAAOJ,GAGlCI,EAAOJ,QAAUN,EAAQ,iCAA0C,UAEhEmnB,gCAAgC,UAAU","sourceRoot":"./"} \ No newline at end of file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 5e14287..f8770ab 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1019,6 +1019,11 @@ } } }, + "formatio": { + "version": "1.1.1", + "from": "formatio@1.1.1", + "resolved": "http://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz" + }, "fs-extra": { "version": "0.18.4", "from": "fs-extra@>=0.18.0 <0.19.0", @@ -1514,6 +1519,11 @@ "from": "lodash.restparam@>=3.0.0 <4.0.0", "resolved": "http://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" }, + "lolex": { + "version": "1.1.0", + "from": "lolex@1.1.0", + "resolved": "http://registry.npmjs.org/lolex/-/lolex-1.1.0.tgz" + }, "lru-cache": { "version": "2.6.5", "from": "lru-cache@>=2.0.0 <3.0.0", @@ -2162,6 +2172,11 @@ "from": "rx@>=2.4.3 <3.0.0", "resolved": "http://registry.npmjs.org/rx/-/rx-2.5.3.tgz" }, + "samsam": { + "version": "1.1.2", + "from": "samsam@1.1.2", + "resolved": "http://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz" + }, "saucelabs": { "version": "0.1.1", "from": "saucelabs@>=0.1.1 <0.2.0", diff --git a/package.json b/package.json index 572233a..b3824f5 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "imagediff": "^1.0.8", "mochify": "^2.10.0", "phantomjs": "^1.9.17", + "sinon": "^1.15.4", "spy": "^0.1.3", "standard": "^4.5.3", "uglify-js": "^2.4.23", diff --git a/test/comic-book.test.js b/test/comic-book.test.js index 734aefe..052e4ce 100644 --- a/test/comic-book.test.js +++ b/test/comic-book.test.js @@ -1,5 +1,5 @@ let assert = require('assert') -let spy = require('spy') +let sinon = require('sinon') let ComicBook = require('../app/comic-book') let srcs = [ 'data:image/gif;base64,R0lGODlhAQABAPAAAKqqqv///yH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==', @@ -71,16 +71,16 @@ describe('ComicBook', () => { it('should update the progress bar', done => { let comic = new ComicBook(srcs) - comic.progressBar.update = spy() + comic.progressBar.update = sinon.spy() comic.preload() comic.on('preload:finish', () => { assert.equal(comic.progressBar.update.callCount, 5) - assert(comic.progressBar.update.calls[0].calledWith(20)) - assert(comic.progressBar.update.calls[1].calledWith(40)) - assert(comic.progressBar.update.calls[2].calledWith(60)) - assert(comic.progressBar.update.calls[3].calledWith(80)) - assert(comic.progressBar.update.calls[4].calledWith(100)) + assert(comic.progressBar.update.getCall(0).calledWith(20)) + assert(comic.progressBar.update.getCall(1).calledWith(40)) + assert(comic.progressBar.update.getCall(2).calledWith(60)) + assert(comic.progressBar.update.getCall(3).calledWith(80)) + assert(comic.progressBar.update.getCall(4).calledWith(100)) done() }) }) @@ -106,24 +106,24 @@ describe('ComicBook', () => { it('should draw a given page', () => { let comic = new ComicBook(srcs) - comic.canvas.drawImage = spy() + comic.canvas.drawImage = sinon.spy() comic.drawPage(1) assert.equal(comic.canvas.drawImage.callCount, 1) - assert(comic.canvas.drawImage.calls[0].calledWith(comic.pages.get(1))) + assert(comic.canvas.drawImage.getCall(0).calledWith(comic.pages.get(1))) }) it('should default to drawing the current page', () => { let comic = new ComicBook(srcs) - comic.canvas.drawImage = spy() + comic.canvas.drawImage = sinon.spy() comic.currentPageIndex = 2 comic.drawPage() assert.equal(comic.canvas.drawImage.callCount, 1) - assert(comic.canvas.drawImage.calls[0].calledWith(comic.pages.get(2))) + assert(comic.canvas.drawImage.getCall(0).calledWith(comic.pages.get(2))) }) it('should update the current page index after drawing', () => { @@ -154,7 +154,37 @@ describe('ComicBook', () => { assert.throws(comic.drawPage.bind(comic)) }) - it('should draw two pages in double page mode') + it('should draw two pages in double page mode', done => { + let comic = new ComicBook(srcs, { doublePage: true }) + + comic.canvas.drawImage = sinon.spy() + + comic.on('preload:finish', () => { + comic.drawPage(0) + assert(comic.canvas.drawImage.calledWith(comic.pages.get(0), comic.pages.get(1))) + done() + }) + + comic.preload() + }) + + it('should reverse page order in manga double page mode', done => { + let comic = new ComicBook(srcs, { + doublePage: true, + rtl: true + }) + + comic.canvas.drawImage = sinon.spy() + + comic.on('preload:finish', () => { + comic.drawPage(0) + assert(comic.canvas.drawImage.calledWith(comic.pages.get(1), comic.pages.get(0))) + done() + }) + + comic.preload() + }) + }) describe('drawNextPage()', () => { @@ -162,12 +192,12 @@ describe('ComicBook', () => { it('should draw the next page', done => { let comic = new ComicBook(srcs) - comic.drawPage = spy() + comic.drawPage = sinon.spy() comic.currentPageIndex = 1 comic.on('preload:finish', () => { comic.drawNextPage() - assert(comic.drawPage.calls[0].calledWith(2)) + assert(comic.drawPage.getCall(0).calledWith(2)) done() }) @@ -177,13 +207,13 @@ describe('ComicBook', () => { it('should draw the next page in double page mode', done => { let comic = new ComicBook(srcs) - comic.drawPage = spy() + comic.drawPage = sinon.spy() comic.currentPageIndex = 1 comic.options.doublePage = true comic.on('preload:finish', () => { comic.drawNextPage() - assert(comic.drawPage.calls[0].calledWith(3)) + assert(comic.drawPage.getCall(0).calledWith(3)) done() }) @@ -193,13 +223,13 @@ describe('ComicBook', () => { it('should handle the final page of double page mode being a single page', done => { let comic = new ComicBook(srcs) - comic.drawPage = spy() + comic.drawPage = sinon.spy() comic.currentPageIndex = 3 comic.options.doublePage = true comic.on('preload:finish', () => { comic.drawNextPage() - assert(comic.drawPage.calls[0].calledWith(4)) + assert(comic.drawPage.getCall(0).calledWith(4)) done() }) @@ -212,12 +242,12 @@ describe('ComicBook', () => { it('should draw the previous page', done => { let comic = new ComicBook(srcs) - comic.drawPage = spy() + comic.drawPage = sinon.spy() comic.currentPageIndex = 2 comic.on('preload:finish', () => { comic.drawPreviousPage() - assert(comic.drawPage.calls[0].calledWith(1)) + assert(comic.drawPage.getCall(0).calledWith(1)) done() }) @@ -227,13 +257,13 @@ describe('ComicBook', () => { it('should draw the previous page in double page mode', done => { let comic = new ComicBook(srcs) - comic.drawPage = spy() + comic.drawPage = sinon.spy() comic.currentPageIndex = 3 comic.options.doublePage = true comic.on('preload:finish', () => { comic.drawPreviousPage() - assert(comic.drawPage.calls[0].calledWith(1)) + assert(comic.drawPage.getCall(0).calledWith(1)) done() }) @@ -243,20 +273,18 @@ describe('ComicBook', () => { it('should handle navigating back to an uneven first page in double page mode', done => { let comic = new ComicBook(srcs) - comic.drawPage = spy() + comic.drawPage = sinon.spy() comic.currentPageIndex = 1 comic.options.doublePage = true comic.on('preload:finish', () => { comic.drawPreviousPage() - assert(comic.drawPage.calls[0].calledWith(0)) + assert(comic.drawPage.getCall(0).calledWith(0)) done() }) comic.preload() }) - - it('should reverse image order in double page manga mode') }) }) diff --git a/test/view/canvas.test.js b/test/view/canvas.test.js index 0141f12..3ef6578 100644 --- a/test/view/canvas.test.js +++ b/test/view/canvas.test.js @@ -12,10 +12,8 @@ describe('Canvas', function () { assert.throws(canvas.drawImage, 'Invalid image') - canvas.options.doublePage = true - - assert.throws(canvas.drawImage.bind(canvas, image), 'Invalid image') - assert.doesNotThrow(canvas.drawImage.bind(canvas, image, image), 'Invalid image') + assert.throws(canvas.drawImage.bind(canvas, image, { doublePage: true }), 'Invalid image') + assert.doesNotThrow(canvas.drawImage.bind(canvas, image, image, { doublePage: true }), 'Invalid image') }) // TODO fix test